亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? nnrpd.c

?? 早期freebsd實現
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  $Revision: 1.18 $****  NNTP server for readers (NNRP) for InterNetNews.**  This server doesn't do any real load-limiting, except for what has**  proven empirically necesary (i.e., look at GRPscandir).*/#define MAINLINE#include <signal.h>#include "nnrpd.h"#include <sys/time.h>#include <netdb.h>#if	defined(HPUX)#include <sys/pstat.h>#endif	/* defined(HPUX) */#define CMDany		-1typedef struct _CMDENT {    STRING	Name;    FUNCPTR	Function;    BOOL	Needauth;    int		Minac;    int		Maxac;    STRING	Help;} CMDENT;char	NOACCESS[] = NNTP_ACCESS;char	ACTIVE[] = _PATH_ACTIVE;char	ACTIVETIMES[] = _PATH_ACTIVETIMES;char	HISTORY[] = _PATH_HISTORY;char	NEWSGROUPS[] = _PATH_NEWSGROUPS;    /* Default permission -- change with adb. */BOOL	PERMdefault = FALSE;STATIC double	STATstart;STATIC double	STATfinish;#if	!defined(HPUX)STATIC char	*TITLEstart;STATIC char	*TITLEend;#endif	/* !defined(HPUX) */STATIC SIGVAR	ChangeTrace;extern FUNCTYPE	CMDauthinfo();extern FUNCTYPE	CMDdate();extern FUNCTYPE	CMDfetch();extern FUNCTYPE	CMDgroup();STATIC FUNCTYPE	CMDhelp();extern FUNCTYPE	CMDlist();extern FUNCTYPE	CMDmode();extern FUNCTYPE	CMDnewgroups();extern FUNCTYPE	CMDnewnews();extern FUNCTYPE	CMDnextlast();extern FUNCTYPE	CMDpost();extern FUNCTYPE	CMDxgtitle();extern FUNCTYPE	CMDxhdr();extern FUNCTYPE	CMDxover();extern FUNCTYPE	CMDxpat();extern FUNCTYPE	CMDxpath();extern FUNCTYPE	CMD_unimp();#if	defined(DO_DO_XTHREAD)extern FUNCTYPE	CMDxthread();#endif	/* defined(DO_DO_XTHREAD) */STATIC char	CMDfetchhelp[] = "[MessageID|Number]";STATIC CMDENT	CMDtable[] = {    {	"authinfo",	CMDauthinfo,	FALSE,	3,	3,	"user Name|pass Password" },    {	"article",	CMDfetch,	FALSE,	1,	2,	CMDfetchhelp },    {	"body",		CMDfetch,	FALSE,	1,	2,	CMDfetchhelp },    {	"date",		CMDdate,	FALSE,	1,	1,	NULL },    {	"group",	CMDgroup,	FALSE,	2,	2,	"newsgroup" },    {	"head",		CMDfetch,	FALSE,	1,	2,	CMDfetchhelp },    {	"help",		CMDhelp,	FALSE,	1,	CMDany,	NULL },    {	"ihave",	CMD_unimp,	TRUE,	1,	2,	NULL },    {	"last",		CMDnextlast,	FALSE,	1,	1,	NULL },    {	"list",		CMDlist,	FALSE,	1,	2,	"[active|newsgroups|distributions|schema]" },    {	"listgroup",	CMDgroup,	FALSE,	1,	2,	"newsgroup" },    {	"mode",		CMDmode,	FALSE,	2,	2,	"reader" },    {	"newgroups",	CMDnewgroups,	FALSE,	3,	5,	"yymmdd hhmmss [\"GMT\"] [<distributions>]" },    {	"newnews",	CMDnewnews,	FALSE,	4,	6,	"newsgroups yymmdd hhmmss [\"GMT\"] [<distributions>]" },    {	"next",		CMDnextlast,	FALSE,	1,	1,	NULL },    {	"post",		CMDpost,	TRUE,	1,	1,	NULL },    {	"slave",	CMD_unimp,	FALSE,	1,	1,	NULL },    {	"stat",		CMDfetch,	FALSE,	1,	2,	CMDfetchhelp },    {	"xgtitle",	CMDxgtitle,	FALSE,	1,	2,	"[group_pattern]" },    {	"xhdr",		CMDxhdr,	FALSE,	2,	3,	"header [range|MessageID]" },    {	"xover",	CMDxover,	FALSE,	1,	2,	"[range]" },    {	"xpat",		CMDxpat,	FALSE,	4,	CMDany,	"header range|MessageID pat [morepat...]" },    {	"xpath",	CMDxpath,	FALSE,	2,	2,	"xpath MessageID" },#if	defined(DO_DO_XTHREAD)    {	"xthread",	CMDxthread,	FALSE,	1,	2,	"[dbinit|thread]" },#endif	/* defined(DO_DO_XTHREAD) */    {	NULL }};/***  Log a summary status message and exit.*/NORETURNExitWithStats(x)    int			x;{    TIMEINFO		Now;    double		usertime;    double		systime;    (void)fflush(stdout);    (void)GetTimeInfo(&Now);    STATfinish = TIMEINFOasDOUBLE(Now);    if (GetResourceUsage(&usertime, &systime) < 0) {	usertime = 0;	systime = 0;    }    GRPreport();    syslog(L_NOTICE, "%s exit articles %ld groups %ld",	   ClientHost, ARTcount, GRPcount);    if (POSTreceived ||  POSTrejected)	syslog(L_NOTICE, "%s posts received %ld rejected %ld",	   ClientHost, POSTreceived, POSTrejected);    syslog(L_NOTICE, "%s times user %.3f system %.3f elapsed %.3f",	ClientHost, usertime, systime, STATfinish - STATstart);    exit(x);}/***  The "help" command.*//* ARGSUSED0 */STATIC FUNCTYPECMDhelp(ac, av)    int		ac;    char	*av[];{    CMDENT	*cp;    Reply("%s\r\n", NNTP_HELP_FOLLOWS);    for (cp = CMDtable; cp->Name; cp++)	if (cp->Help == NULL)	    Printf("  %s\r\n", cp->Name);	else	    Printf("  %s %s\r\n", cp->Name, cp->Help);    Printf("Report problems to <%s@%s>\r\n",	NEWSMASTER, GetConfigValue(_CONF_FROMHOST));    Reply(".\r\n");}/***  Unimplemented catch-all.*//* ARGSUSED0 */FUNCTYPECMD_unimp(ac, av)    int		ac;    char	*av[];{    if (caseEQ(av[0], "ihave"))	Reply("%d Transfer permission denied\r\n", NNTP_AUTH_NEEDED_VAL);    else if (caseEQ(av[0], "slave"))	/* Somebody sends us this?  I don't believe it! */	Reply("%d Unsupported\r\n", NNTP_SLAVEOK_VAL);    else	Reply("%d %s not implemented; try help\r\n",	    NNTP_BAD_COMMAND_VAL, av[0]);}/***  Overwrite the original argv so that ps will show what's going on.*/STATIC voidTITLEset(what)    char		*what;{#if	!defined(HPUX)    register char	*p;    register int	i;    char		buff[BUFSIZ];    /* Make ps think we're swapped out so we get "(nnrpd)" in the output. */    p = TITLEstart;    *p++ = '-';    (void)sprintf(buff, "%s %s", ClientHost, what);    i = strlen(buff);    if (i > TITLEend - p - 2) {	i = TITLEend - p - 2;	buff[i] = '\0';    }    (void)strcpy(p, buff);    for (p += i; p < TITLEend; )	*p++ = ' ';#else    char		buff[BUFSIZ];    (void)sprintf(buff, "(nnrpd) %s %s", ClientHost, what);    (void)pstat(PSTAT_SETCMD, buff, 0, 0, 0);#endif	/* defined(HPUX) */}#if	defined(DO_NNRP_GETHOSTBYADDR)/***  Convert an IP address to a hostname.  Don't trust the reverse lookup,**  since anyone can fake .in-addr.arpa entries.*/STATIC BOOLAddress2Name(ap, hostname, i)    register INADDR		*ap;    register char		*hostname;    register int		i;{    register char		*p;    register struct hostent	*hp;#if	defined(h_addr)    register char		**pp;#endif    /* Get the official hostname, store it away. */    if ((hp = gethostbyaddr((char *)ap, sizeof *ap, AF_INET)) == NULL)	return FALSE;    (void)strncpy(hostname, hp->h_name, i);    hostname[i - 1] = '\0';    /* Get addresses for this host. */    if ((hp = gethostbyname(hostname)) == NULL)	return FALSE;    /* Make sure one of those addresses is the address we got. */#if	defined(h_addr)    /* We have many addresses */    for (pp = hp->h_addr_list; *pp; pp++)	if (memcmp((POINTER)&ap->s_addr, (POINTER)*pp,		(SIZE_T)hp->h_length) == 0)	    break;    if (*pp == NULL)	return FALSE;#else    /* We have one address. */    if (memcmp((POINTER)&ap->s_addr, (POINTER)hp->h_addr,	    (SIZE_T)hp->h_length) != 0)	return FALSE;#endif    /* Only needed for misconfigured YP/NIS systems. */    if (strchr(hostname, '.') == NULL     && (p = GetConfigValue(_CONF_DOMAIN)) != NULL) {	(void)strcat(hostname, ".");	(void)strcat(hostname, p);    }    /* Make all lowercase, for wildmat. */    for (p = hostname; *p; p++)	if (CTYPE(isupper, *p))	    *p = tolower(*p);    return TRUE;}#endif	/* defined(DO_NNRP_GETHOSTBYADDR) */BOOLPERMinfile(hp, ip, user, pass, accesslist)    char		*hp;    char		*ip;    char		*user;    char		*pass;    char		*accesslist;{    static char		ACCESS[] = _PATH_NNRPACCESS;    register FILE	*F;    register char	*p;    register BOOL	found;    register int	i;    char		buff[BIG_BUFFER];    char		*fields[5];    if ((F = fopen(ACCESS, "r")) == NULL) {	syslog(L_ERROR, "%s cant fopen %s %m", ClientHost, ACCESS);	return FALSE;    }    PERMcanread = FALSE;    PERMcanpost = FALSE;    found = FALSE;    accesslist[0] = '\0';    while (fgets(buff, sizeof buff, F) != NULL) {	if ((p = strchr(buff, '\n')) != NULL)	    *p = '\0';	if ((p = strchr(buff, COMMENT_CHAR)) != NULL)	    *p = '\0';	if (buff[0] == '\0')	    continue;	/* Split "host:permissions:user:pass:groups" into fields. */	for (fields[0] = buff, i = 0, p = buff; *p; p++)	    if (*p == ':') {		*p = '\0';		fields[++i] = p + 1;	    }	if (i != 4)	    /* Malformed line. */	    continue;	if (hp)	    /* Got an address; try to match either the IP address or as	     * a text hostname. */	    if (!(ip && wildmat(ip, fields[0])) && !wildmat(hp, fields[0]))		continue;	/* Matching for a specific user or just the host? */	if (user && (!EQ(user, fields[2]) || !EQ(pass, fields[3])))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品精品国产高清a毛片牛牛| 秋霞av亚洲一区二区三| 在线视频综合导航| 蜜臀久久99精品久久久久宅男| 欧美极品另类videosde| 欧美三级电影在线看| 成人丝袜高跟foot| 日本欧美一区二区三区| 亚洲日韩欧美一区二区在线| 精品久久久影院| 欧美三区免费完整视频在线观看| 国产一区二区三区免费播放 | 日韩免费高清视频| 91蜜桃网址入口| 国产伦精品一区二区三区视频青涩 | 欧美男女性生活在线直播观看| 99精品偷自拍| 91日韩一区二区三区| 麻豆一区二区在线| 亚洲一区二区四区蜜桃| 国产午夜一区二区三区| 7777精品伊人久久久大香线蕉经典版下载 | 日韩精品一区二区三区在线观看| 91麻豆.com| av在线不卡观看免费观看| 极品少妇xxxx精品少妇| 肉肉av福利一精品导航| 一区二区在线电影| 69堂国产成人免费视频| 天堂影院一区二区| 亚洲精品你懂的| 中文字幕欧美区| 久久久久久久久久电影| 日韩精品中文字幕一区二区三区| 欧美日韩国产另类不卡| 欧美日韩一区在线| 色妹子一区二区| 91丝袜国产在线播放| 国产不卡一区视频| 国产精品影视网| 国产一区二区三区四区在线观看| 久久精品国产澳门| 麻豆91在线播放| 蜜桃av噜噜一区| 韩国三级在线一区| 国产九色精品成人porny | 粉嫩av一区二区三区| 国产精品夜夜嗨| 国产成人免费9x9x人网站视频| 国产露脸91国语对白| 韩国一区二区视频| 69堂亚洲精品首页| 99久久99久久综合| 捆绑调教美女网站视频一区| 性感美女极品91精品| 天天影视涩香欲综合网| 日欧美一区二区| 麻豆精品久久精品色综合| 久久99九九99精品| 国产成人精品免费| 99久久婷婷国产综合精品| 色偷偷久久人人79超碰人人澡| 在线观看欧美精品| 宅男噜噜噜66一区二区66| 日韩免费视频线观看| 国产欧美精品在线观看| 中文字幕在线一区免费| 亚洲国产一区二区三区青草影视 | 欧美一二三区在线观看| 欧美大片日本大片免费观看| 亚洲国产精品传媒在线观看| 一区二区久久久久| 免费高清视频精品| 国产v日产∨综合v精品视频| 国产一区二区三区美女| 972aa.com艺术欧美| 欧美三级视频在线观看| 亚洲精品在线观| 最近日韩中文字幕| 日韩av电影天堂| 成人性生交大片免费看中文网站| 在线视频你懂得一区二区三区| 欧美一区二区视频网站| 国产精品视频yy9299一区| 亚洲一区二区五区| 国产精品538一区二区在线| 色美美综合视频| 亚洲精品一区二区精华| 亚洲激情在线激情| 精品一区二区三区欧美| 日本精品视频一区二区| 欧美电视剧在线看免费| ●精品国产综合乱码久久久久| 强制捆绑调教一区二区| 99久久国产免费看| 欧美精品一区二区三区一线天视频 | 国产很黄免费观看久久| 91美女在线看| 97se亚洲国产综合自在线| 色欧美88888久久久久久影院| 日韩三级高清在线| 综合网在线视频| 韩日欧美一区二区三区| 在线精品国精品国产尤物884a| 精品国产乱子伦一区| 亚洲国产精品久久久久婷婷884| 国产一区二区三区在线观看精品| 欧美日韩日日骚| 中文字幕在线不卡一区| 国产又黄又大久久| 欧美肥妇bbw| 亚洲精品欧美激情| heyzo一本久久综合| 精品剧情在线观看| 石原莉奈在线亚洲三区| 色综合一区二区| 国产欧美日韩精品在线| 久草中文综合在线| 51久久夜色精品国产麻豆| 亚洲乱码日产精品bd| www.欧美色图| 日韩精品久久理论片| 日韩欧美一区中文| 国产精品免费aⅴ片在线观看| 美国三级日本三级久久99| 欧美亚洲国产bt| **欧美大码日韩| 成人avav影音| 国产日韩欧美在线一区| 国产一区二区三区精品视频| 日韩亚洲欧美成人一区| 日韩av电影免费观看高清完整版| 在线亚洲人成电影网站色www| 最新热久久免费视频| 成人av在线观| 中文字幕一区三区| 91丝袜美腿高跟国产极品老师| 最新热久久免费视频| 91影视在线播放| 亚洲日本va午夜在线影院| 99久久久免费精品国产一区二区| 国产精品无码永久免费888| 成人小视频免费观看| 国产日韩欧美精品在线| 成人av影视在线观看| 亚洲欧美在线aaa| 色婷婷久久久久swag精品| 一区二区三区欧美日| 欧美性色aⅴ视频一区日韩精品| 亚洲一区二区三区四区不卡| 欧美色偷偷大香| 丝袜a∨在线一区二区三区不卡| 欧美日韩一区高清| 日本欧美一区二区在线观看| 精品日韩av一区二区| 国产精品91一区二区| 国产精品盗摄一区二区三区| 一本到高清视频免费精品| 亚洲一卡二卡三卡四卡五卡| 91精品黄色片免费大全| 狠狠狠色丁香婷婷综合久久五月| 久久久另类综合| 91污片在线观看| 性做久久久久久免费观看欧美| 日韩一级完整毛片| 亚洲精品在线网站| 国内成人精品2018免费看| 亚洲国产精品国自产拍av| 男男gaygay亚洲| 国产日韩精品视频一区| 91免费国产视频网站| 免费高清成人在线| 中文乱码免费一区二区| 欧美视频一区在线观看| 精品亚洲免费视频| 国产精品久久久久久久久搜平片| 欧美在线免费播放| 理论电影国产精品| 亚洲欧洲精品一区二区精品久久久 | 波多野结衣视频一区| 亚洲福利视频一区二区| 2020国产成人综合网| 色域天天综合网| 久久精品国产77777蜜臀| 中文字幕亚洲不卡| 欧美一个色资源| 91在线视频免费观看| 美女一区二区三区| 亚洲色图在线播放| 欧美va亚洲va| 欧美亚一区二区| 国产99精品视频| 日本少妇一区二区| 1024精品合集| 欧美精品一区在线观看| 五月婷婷欧美视频| 日韩欧美的一区二区| www.在线欧美| 久久精品免费观看| 国产成人高清视频|