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

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

?? ipcp.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
	    ciaddr2 = htonl(tl);	    IPCPDEBUG((LOG_INFO, "%s)", ip_ntoa(ciaddr2)));	    if (ciaddr2 != wo->ouraddr) {                if (ciaddr2 == 0 || !wo->accept_local) {                    orc = CONFNAK;                    if (!reject_if_disagree) {                        DECPTR(sizeof (long), p);                        tl = ntohl(wo->ouraddr);                        PUTLONG(tl, p);                    }                } else {                    go->ouraddr = ciaddr2;      /* accept peer's idea */                }            }	    ho->neg_addr = 1;	    ho->old_addrs = 1;	    ho->hisaddr = ciaddr1;	    ho->ouraddr = ciaddr2;	    break;	case CI_ADDR:	    IPCPDEBUG((LOG_INFO, "ipcp: received ADDR "));	    if (!ao->neg_addr ||		cilen != CILEN_ADDR) {	/* Check CI length */		orc = CONFREJ;		/* Reject CI */		break;	    }	    /*	     * If he has no address, or if we both have his address but	     * disagree about it, then NAK it with our idea.	     * In particular, if we don't know his address, but he does,	     * then accept it.	     */	    GETLONG(tl, p);	/* Parse source address (his) */	    ciaddr1 = htonl(tl);	    IPCPDEBUG((LOG_INFO, "(%s)", ip_ntoa(ciaddr1)));            if (ciaddr1 != wo->hisaddr                && (ciaddr1 == 0 || !wo->accept_remote)) {                orc = CONFNAK;                if (!reject_if_disagree) {                    DECPTR(sizeof (long), p);                    tl = ntohl(wo->hisaddr);                    PUTLONG(tl, p);                }            }	    ho->neg_addr = 1;	    ho->hisaddr = ciaddr1;	    break;		case CI_COMPRESSTYPE:	    IPCPDEBUG((LOG_INFO, "ipcp: received COMPRESSTYPE "));	    if (!ao->neg_vj ||		(cilen != CILEN_VJ && cilen != CILEN_COMPRESS)) {		orc = CONFREJ;		break;	    }	    GETSHORT(cishort, p);	    IPCPDEBUG((LOG_INFO, "(%d)", cishort));	    if (!(cishort == IPCP_VJ_COMP ||		  (cishort == IPCP_VJ_COMP_OLD && cilen == CILEN_COMPRESS))) {		orc = CONFREJ;		break;	    }	    ho->neg_vj = 1;	    ho->vj_protocol = cishort;	    if (cilen == CILEN_VJ) {		GETCHAR(maxslotindex, p);		if (maxslotindex > ao->maxslotindex) { 		    orc = CONFNAK;		    if (!reject_if_disagree){			DECPTR(1, p);			PUTCHAR(ao->maxslotindex, p);		    }		}		GETCHAR(cflag, p);		if (cflag && !ao->cflag) {		    orc = CONFNAK;		    if (!reject_if_disagree){			DECPTR(1, p);			PUTCHAR(wo->cflag, p);		    }		}                ho->maxslotindex = maxslotindex;                ho->cflag = wo->cflag;            } else {                ho->old_vj = 1;                ho->maxslotindex = MAX_STATES - 1;                ho->cflag = 1;            }            break;	default:	    orc = CONFREJ;	    break;	}endswitch:	IPCPDEBUG((LOG_INFO, " (%s)", CODENAME(orc)));	if (orc == CONFACK &&		/* Good CI */	    rc != CONFACK)		/*  but prior CI wasnt? */	    continue;			/* Don't send this one */	if (orc == CONFNAK) {		/* Nak this CI? */	    if (reject_if_disagree)	/* Getting fed up with sending NAKs? */		orc = CONFREJ;		/* Get tough if so */	    else {		if (rc == CONFREJ)	/* Rejecting prior CI? */		    continue;		/* Don't send this one */		if (rc == CONFACK) {	/* Ack'd all prior CIs? */		    rc = CONFNAK;	/* Not anymore... */		    ucp = inp;		/* Backup */		}	    }	}	if (orc == CONFREJ &&		/* Reject this CI */	    rc != CONFREJ) {		/*  but no prior ones? */	    rc = CONFREJ;	    ucp = inp;			/* Backup */	}	/* Need to move CI? */	if (ucp != cip)	    BCOPY((char *)cip, (char *)ucp, cilen);	/* Move it */	/* Update output pointer */	INCPTR(cilen, ucp);    }    /*     * If we aren't rejecting this packet, and we want to negotiate     * their address, and they didn't send their address, then we     * send a NAK with a CI_ADDR option appended.  We assume the     * input buffer is long enough that we can append the extra     * option safely.     */    if (rc != CONFREJ && !ho->neg_addr &&	wo->req_addr && !reject_if_disagree) {	if (rc == CONFACK) {	    rc = CONFNAK;	    ucp = inp;			/* reset pointer */	    wo->req_addr = 0;		/* don't ask again */	}	PUTCHAR(CI_ADDR, ucp);	PUTCHAR(CILEN_ADDR, ucp);	tl = ntohl(wo->hisaddr);	PUTLONG(tl, ucp);    }    *len = ucp - inp;			/* Compute output length */    IPCPDEBUG((LOG_INFO, "ipcp: returning Configure-%s", CODENAME(rc)));    return (rc);			/* Return final code */}/* * ipcp_up - IPCP has come UP. * * Configure the IP network interface appropriately and bring it up. */static voidipcp_up(f)    fsm *f;{    u_long mask;    ipcp_options *ho = &ppp_if[f->unit]->ipcp_hisoptions;    ipcp_options *go = &ppp_if[f->unit]->ipcp_gotoptions;    IPCPDEBUG((LOG_INFO, "ipcp: up"));    go->default_route = 0;    go->proxy_arp = 0;    /*     * We must have a non-zero IP address for both ends of the link.     */    if (!ho->neg_addr)	ho->hisaddr = ppp_if[f->unit]->ipcp_wantoptions.hisaddr;    if (ho->hisaddr == 0) {	syslog(LOG_ERR, "Could not determine remote IP address");	ipcp_close(f->unit);	return;    }    if (go->ouraddr == 0) {	syslog(LOG_ERR, "Could not determine local IP address");	ipcp_close(f->unit);	return;    }    /*     * Check that the peer is allowed to use the IP address it wants.     */    if (!auth_ip_addr(f->unit, ho->hisaddr)) {	syslog(LOG_ERR, "Peer is not authorized to use remote address %s",	       ip_ntoa(ho->hisaddr));	ipcp_close(f->unit);	return;    }    syslog (LOG_NOTICE, "local  IP address %s", ip_ntoa(go->ouraddr));    syslog (LOG_NOTICE, "remote IP address %s", ip_ntoa(ho->hisaddr));    /*     * Set IP addresses and (if specified) netmask.     */    mask = GetMask(go->ouraddr);    if (!sifaddr(f->unit, go->ouraddr, ho->hisaddr, mask)) {	IPCPDEBUG((LOG_WARNING, "sifaddr failed"));	ipcp_close(f->unit);	return;    }    /* set tcp compression */    sifvjcomp(f->unit, ho->neg_vj, ho->cflag, ho->maxslotindex);    /* bring the interface up for IP */    if (!sifup(f->unit)) {	IPCPDEBUG((LOG_WARNING, "sifup failed"));	ipcp_close(f->unit);	return;    }    /* assign a default route through the interface if required */    if (ppp_if[f->unit]->ipcp_wantoptions.default_route) 	if (sifdefaultroute(f->unit, ho->hisaddr))	    go->default_route = 1;    /* Make a proxy ARP entry if requested. */    if (ppp_if[f->unit]->ipcp_wantoptions.proxy_arp)	if (sifproxyarp(f->unit, ho->hisaddr))	    go->proxy_arp = 1;}/* * ipcp_down - IPCP has gone DOWN. * * Take the IP network interface down, clear its addresses * and delete routes through it. */static voidipcp_down(f)    fsm *f;{    u_long ouraddr, hisaddr;    IPCPDEBUG((LOG_INFO, "ipcp: down"));    ouraddr = ppp_if[f->unit]->ipcp_gotoptions.ouraddr;    hisaddr = ppp_if[f->unit]->ipcp_hisoptions.hisaddr;    if (ppp_if[f->unit]->ipcp_gotoptions.proxy_arp)	cifproxyarp(f->unit, hisaddr);    if (ppp_if[f->unit]->ipcp_gotoptions.default_route) 	cifdefaultroute(f->unit, hisaddr);    sifdown(f->unit);    cifaddr(f->unit, ouraddr, hisaddr);}#ifdef	notyet/* * ipcp_script - Execute a script with arguments * interface-name tty-name speed local-IP remote-IP. */static voidipcp_script(f, script)    fsm *f;    char *script;{    char strspeed[32], strlocal[32], strremote[32];    char *argv[8];    sprintf(strspeed, "%d", ppp_if[f->unit]->baud_rate);    strcpy(strlocal, ip_ntoa(ppp_if[f->unit]->ipcp_gotoptions.ouraddr));    strcpy(strremote, ip_ntoa(ppp_if[f->unit]->ipcp_hisoptions.hisaddr));    argv[0] = script;    argv[1] = ppp_if[f->unit]->ifname;    argv[2] = ppp_if[f->unit]->devname;    argv[3] = strspeed;    argv[4] = strlocal;    argv[5] = strremote;    argv[6] = NULL;    run_program(script, argv, 0);}#endif	/* notyet *//* * ipcp_printpkt - print the contents of an IPCP packet. */char *ipcp_codenames[] = {    "ConfReq", "ConfAck", "ConfNak", "ConfRej",    "TermReq", "TermAck", "CodeRej"};intipcp_printpkt(p, plen, printer, arg)    u_char *p;    int plen;    void (*printer)();    void *arg;{    int code, id, len, olen;    u_char *pstart, *optend;    u_short cishort;    u_long cilong;    if (plen < HEADERLEN)        return 0;    pstart = p;    GETCHAR(code, p);    GETCHAR(id, p);    GETSHORT(len, p);    if (len < HEADERLEN || len > plen)        return 0;    if (code >= 1 && code <= sizeof(ipcp_codenames) / sizeof(char *))        printer(arg, " %s", ipcp_codenames[code-1]);    else        printer(arg, " code=0x%x", code);    printer(arg, " id=0x%x", id);    len -= HEADERLEN;    switch (code) {    case CONFREQ:    case CONFACK:    case CONFNAK:    case CONFREJ:        /* print option list */        while (len >= 2) {            GETCHAR(code, p);            GETCHAR(olen, p);            p -= 2;            if (olen < 2 || olen > len) {                break;            }            printer(arg, " <");            len -= olen;            optend = p + olen;            switch (code) {            case CI_ADDRS:                if (olen == CILEN_ADDRS) {                    p += 2;                    GETLONG(cilong, p);                    printer(arg, "addrs %s", ip_ntoa(htonl(cilong)));                    GETLONG(cilong, p);                    printer(arg, " %s", ip_ntoa(htonl(cilong)));                }                break;            case CI_COMPRESSTYPE:                if (olen >= CILEN_COMPRESS) {                    p += 2;                    GETSHORT(cishort, p);                    printer(arg, "compress ");                    switch (cishort) {                    case IPCP_VJ_COMP:                        printer(arg, "VJ");                        break;                    case IPCP_VJ_COMP_OLD:                        printer(arg, "old-VJ");                        break;                    default:                        printer(arg, "0x%x", cishort);                    }                }                break;            case CI_ADDR:                if (olen == CILEN_ADDR) {                    p += 2;                    GETLONG(cilong, p);                    printer(arg, "addr %s", ip_ntoa(htonl(cilong)));                }                break;            }            while (p < optend) {                GETCHAR(code, p);                printer(arg, " %.2x", code);            }            printer(arg, ">");        }        break;    }    /* print the rest of the bytes in the packet */    for (; len > 0; --len) {        GETCHAR(code, p);        printer(arg, " %.2x", code);    }    return p - pstart;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区免费视频| av一二三不卡影片| 国产视频一区在线播放| 日本韩国精品一区二区在线观看| 日产国产高清一区二区三区| 中文字幕av资源一区| 欧美日韩电影在线| 高清国产一区二区| 国产自产视频一区二区三区| 亚洲国产欧美在线| 亚洲三级在线观看| 久久婷婷色综合| 欧美一三区三区四区免费在线看| 不卡的av电影| 国产精品 欧美精品| 日本不卡1234视频| 亚洲永久精品大片| 中文字幕不卡一区| 久久久久久夜精品精品免费| 欧美一区二区三区电影| 欧美亚洲国产一区二区三区va | 亚洲成人免费视频| ●精品国产综合乱码久久久久| 欧美成人精精品一区二区频| 国产亚洲精品久| 欧美日韩国产电影| 91久久一区二区| 成人黄色777网| 国产成人h网站| 国产成人aaa| 国产精品综合网| 精品制服美女丁香| 欧美bbbbb| 奇米在线7777在线精品| 日韩和欧美一区二区| 亚洲成年人网站在线观看| 亚洲男人的天堂在线aⅴ视频| 国产三级一区二区| 国产女主播视频一区二区| www国产精品av| 精品国产伦理网| 精品久久久网站| 亚洲精品一区二区三区蜜桃下载 | 国产欧美精品区一区二区三区| 精品国产乱码久久久久久蜜臀| 日韩一区二区三区视频| 欧美一区二区在线看| 欧美一区二区三区在| 日韩免费性生活视频播放| 日韩色视频在线观看| 日韩免费视频一区二区| 精品动漫一区二区三区在线观看| 日韩欧美亚洲一区二区| 精品国产乱码久久久久久老虎| 久久综合久色欧美综合狠狠| 久久精品一区二区三区不卡| 国产欧美日韩视频在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品免费免费| 中文字幕亚洲综合久久菠萝蜜| 成人欧美一区二区三区白人| 亚洲视频在线观看三级| 亚洲综合在线免费观看| 日本免费在线视频不卡一不卡二| 日本怡春院一区二区| 国产综合色在线| 成人黄页毛片网站| 在线一区二区三区四区五区| 在线电影国产精品| 欧美成人猛片aaaaaaa| 国产精品天天摸av网| 亚洲人成小说网站色在线| 亚洲国产婷婷综合在线精品| 免费在线看一区| 成人av在线资源网站| 欧美色窝79yyyycom| 日韩欧美国产电影| 国产精品蜜臀在线观看| 亚洲激情中文1区| 免费高清在线视频一区·| 国产乱码精品1区2区3区| 97久久精品人人做人人爽50路 | 中文字幕精品—区二区四季| 亚洲精品写真福利| 久久精品国产在热久久| 99久久精品国产观看| 欧美欧美午夜aⅴ在线观看| 久久在线观看免费| 性做久久久久久免费观看 | 欧美色图免费看| 2023国产精华国产精品| 亚洲综合视频在线观看| 久久99国产精品成人| 一本到不卡免费一区二区| 欧美变态tickling挠脚心| 国产精品初高中害羞小美女文| 亚洲图片欧美视频| 成人一道本在线| 91精品一区二区三区在线观看| 国产精品乱码一区二三区小蝌蚪| 日日骚欧美日韩| 91视频在线看| 国产欧美日韩视频一区二区| 日韩avvvv在线播放| 色久优优欧美色久优优| 蜜桃视频一区二区三区在线观看| 成人午夜激情影院| 欧美v亚洲v综合ⅴ国产v| 亚洲精品美国一| 成人晚上爱看视频| 欧美大片免费久久精品三p| 亚洲裸体xxx| 成人国产精品免费网站| 欧美不卡在线视频| 蜜臀av一级做a爰片久久| 91色.com| 中文字幕在线不卡| 国产盗摄视频一区二区三区| 欧美一级一区二区| 亚洲国产成人av网| 欧美综合久久久| 亚洲三级久久久| 91在线看国产| 中文字幕一区免费在线观看| 国产传媒久久文化传媒| 精品国产凹凸成av人导航| 免费xxxx性欧美18vr| 91精品国产91热久久久做人人 | 老司机精品视频导航| 欧美日韩国产大片| 亚洲第一激情av| jlzzjlzz亚洲女人18| 国产亚洲一区二区三区在线观看| 韩国精品免费视频| 26uuuu精品一区二区| 黄网站免费久久| 欧美精品一区二区三区蜜桃| 久久av资源网| 久久综合色之久久综合| 国产91在线观看| 日本一区二区免费在线| 国产91精品一区二区| 国产精品美女久久久久久久久久久| 岛国精品一区二区| 成人免费在线播放视频| 99久久久国产精品| 亚洲免费高清视频在线| 欧美视频三区在线播放| 五月激情综合色| 日韩欧美国产电影| 国产一区二区精品久久99| 久久久久青草大香线综合精品| 国产精品77777| 中文字幕一区二区不卡| 欧美怡红院视频| 日本亚洲三级在线| 2017欧美狠狠色| 成人精品在线视频观看| 亚洲伦理在线免费看| 91麻豆精品国产91久久久使用方法| 久久精品噜噜噜成人88aⅴ| 久久久91精品国产一区二区精品 | 国产精品久久看| 色欧美乱欧美15图片| 手机精品视频在线观看| 精品处破学生在线二十三| 成人av网在线| 天堂va蜜桃一区二区三区| 精品国产乱码久久久久久久 | 欧美三级电影在线观看| 日日欢夜夜爽一区| 久久久久久免费毛片精品| 99久久婷婷国产综合精品电影| 亚洲一区二区三区国产| 欧美成人午夜电影| 91蜜桃在线免费视频| 日本三级亚洲精品| 国产精品久久久久久久久免费相片 | 97se亚洲国产综合自在线| 亚洲va在线va天堂| 国产欧美精品一区二区三区四区 | 欧美日韩国产成人在线免费| 国产麻豆视频精品| 亚洲小少妇裸体bbw| 久久久精品综合| 欧美精品久久99久久在免费线| 国产精品综合在线视频| 亚洲成a人片在线观看中文| 久久日韩粉嫩一区二区三区| 日本丰满少妇一区二区三区| 韩国女主播一区| 亚洲国产一区二区视频| 国产精品理论片在线观看| 欧美老肥妇做.爰bbww| 成人午夜免费视频| 美女被吸乳得到大胸91| 亚洲福利一区二区三区| 国产精品三级电影| 精品99久久久久久| 欧美精品久久99|