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

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

?? xauth.c

?? ipsec vpn
?? C
?? 第 1 頁 / 共 4 頁
字號:
		{		    openswan_log("Attribute was too short: %d", len);		    return STF_FAIL;		}		attrs->cur += len;		continue;	    }	    if (attr.isaat_af_type & 0x8000)	    {		len = 4;		val = attr.isaat_lv;	    } else {		len = attr.isaat_lv;		val = ntohs(*(u_int16_t *)strattr.cur);	    }	    switch(attr.isaat_af_type)	    {	    case XAUTH_TYPE:		if(val != 0)		    return NO_PROPOSAL_CHOSEN;		break;	    case XAUTH_USER_NAME:		clonetochunk(name,strattr.cur,attr.isaat_lv+1,"username");		name.ptr[name.len-1] = 0;	/* Pass NULL terminated strings */		gotname = TRUE;		break;			    case XAUTH_USER_PASSWORD:		clonetochunk(password,strattr.cur,attr.isaat_lv+1,"password");		password.ptr[password.len-1] = 0;		gotpassword = TRUE;		break;			    default:		openswan_log("XAUTH:  Unsupported XAUTH parameter %s received."		     , enum_show(&modecfg_attr_names, attr.isaat_af_type));		break;	    }	}    }    /** we must get a username and a password value */    if(!gotname || !gotpassword) {      openswan_log("Expected MODE_CFG_REPLY did not contain %s%s%s attribute"	   , (!gotname ? "username" : "")	   , ((!gotname && !gotpassword) ? " or " : "")	   , (!gotpassword ? "password" : ""));      if(st->hidden_variables.st_xauth_client_attempt++ < XAUTH_PROMPT_TRIES)      {	  stf_status stat = xauth_send_request(st);	  openswan_log("XAUTH: User %s: Authentication Failed (retry %d)"	       , (!gotname ? "<unknown>" : (char *)name.ptr)	       , st->hidden_variables.st_xauth_client_attempt);	  /**	   * STF_OK means that we transmitted again okay, but actually	   * the state transition failed, as we are prompting again.	   */	  if(stat == STF_OK)	  {	      return STF_IGNORE;	  } else {	      return stat;	  }      } else {	  stf_status stat = xauth_send_status(st, FALSE);	  openswan_log("XAUTH: User %s: Authentication Failed (Retried %d times)"	       , (!gotname ? "<unknown>" : (char *)name.ptr)	       , st->hidden_variables.st_xauth_client_attempt);	  if(stat == STF_OK)	  {	      return STF_FAIL;	  } else {	      return stat;	  }      }    } else {	clonetochunk(connname		     , st->st_connection->name		     , strlen(st->st_connection->name)+1		     ,"connname");		connname.ptr[connname.len-1] = 0; /* Pass NULL terminated strings */		xauth_launch_authent(st,name,password,connname);    }    return STF_IGNORE;}/** STATE_XAUTH_R1: *  STATUS sent, expect for ACK *  HDR*, ATTR(STATUS), HASH --> Done * * @param md Message Digest * @return stf_status */stf_statusxauth_inR1(struct msg_digest *md){    struct state *const st = md->st;    openswan_log("XAUTH: xauth_inR1(STF_OK)");    /* Back to where we were */     st->st_oakley.xauth = 0;    if(!st->st_connection->spd.this.modecfg_server) {	DBG(DBG_CONTROL	    , DBG_log("Not server, starting new exchange"));	st->st_msgid_phase15 = 0;    }    if(st->st_connection->spd.this.modecfg_server        && st->hidden_variables.st_modecfg_vars_set) {	DBG(DBG_CONTROL	    , DBG_log("modecfg server, vars are set. Starting new exchange."));	st->st_msgid_phase15 = 0;    }    if(st->st_connection->spd.this.modecfg_server        && st->st_connection->policy & POLICY_MODECFG_PULL) {	DBG(DBG_CONTROL	    , DBG_log("modecfg server, pull mode. Starting new exchange."));	st->st_msgid_phase15 = 0;    }    return STF_OK;}/* * * STATE_MODE_CFG_R0: *  HDR*, HASH, ATTR(REQ=IP) --> HDR*, HASH, ATTR(REPLY=IP) * * This state occurs both in the responder and in the initiator. * * In the responding server, it occurs when the client *asks* for an IP * address or other information.  * * Otherwise, it occurs in the initiator when the server sends a challenge * a set, or has a reply to our request. * * @param md Message Digest * @return stf_status */stf_statusmodecfg_inR0(struct msg_digest *md){    struct state *const st = md->st;    struct payload_digest *p;    pb_stream *attrs;    stf_status stat;    DBG(DBG_CONTROLMORE, DBG_log("arrived in modecfg_inR0"));    st->st_msgid_phase15 = md->hdr.isa_msgid;    CHECK_QUICK_HASH(md		     ,xauth_mode_cfg_hash(hash_val					  ,hash_pbs->roof					  , md->message_pbs.roof, st)		     , "MODECFG-HASH", "MODE R0");    /* process the MODECFG payloads therein */    for(p = md->chain[ISAKMP_NEXT_ATTR]; p != NULL; p = p->next)    {        struct isakmp_attribute attr;        pb_stream strattr;	unsigned int resp = LEMPTY;	attrs = &p->pbs;	switch(p->payload.attribute.isama_type)	{	default:	    openswan_log("Expecting ISAKMP_CFG_REQUEST, got %s instead (ignored)."			 , enum_name(&attr_msg_type_names				     , p->payload.attribute.isama_type));	    while(pbs_left(attrs) > sizeof(struct isakmp_attribute))	    {		if (!in_struct(&attr, &isakmp_xauth_attribute_desc, attrs, &strattr))		{		    /* Skip unknown */		    int len;		    if (attr.isaat_af_type & 0x8000)			len = 4;		    else			len = attr.isaat_lv;		    		    if(len < 4)		    {			openswan_log("Attribute was too short: %d", len);			return STF_FAIL;		    }		    		    attrs->cur += len;		}				openswan_log("ignored mode cfg attribute %s."		     , enum_show(&modecfg_attr_names				 , (attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )));	    }	    break;	case ISAKMP_CFG_REQUEST:	    while(pbs_left(attrs) > sizeof(struct isakmp_attribute))	    {		if (!in_struct(&attr, &isakmp_xauth_attribute_desc, attrs, &strattr))		{		    /* Skip unknown */		    int len;		    if (attr.isaat_af_type & 0x8000)			len = 4;		    else			len = attr.isaat_lv;		    		    if(len < 4)		    {			openswan_log("Attribute was too short: %d", len);			return STF_FAIL;		    }		    		    attrs->cur += len;		}		switch(attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )		{		case INTERNAL_IP4_ADDRESS:		case INTERNAL_IP4_NETMASK:		case INTERNAL_IP4_DNS:		case INTERNAL_IP4_SUBNET:		case INTERNAL_IP4_NBNS:		    resp |= LELEM(attr.isaat_af_type);		    break;		default:		    openswan_log("unsupported mode cfg attribute %s received."			 , enum_show(&modecfg_attr_names				     , (attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )));		    break;		}	    }	    	    stat = modecfg_resp(st, resp				,&md->rbody				,ISAKMP_CFG_REPLY				,TRUE				,p->payload.attribute.isama_identifier);	    	    if(stat != STF_OK) {		/* notification payload - not exactly the right choice, but okay */		md->note = CERTIFICATE_UNAVAILABLE;		return stat;	    }	    /* they asked us, we reponsed, msgid is done */	    st->st_msgid_phase15 = 0;	}    }    openswan_log("modecfg_inR0(STF_OK)");    return STF_OK;}/** STATE_MODE_CFG_R2: *  HDR*, HASH, ATTR(SET=IP) --> HDR*, HASH, ATTR(ACK,OK) * * used in server push mode, on the client (initiator). *	     * @param md Message Digest * @return stf_status */static stf_statusmodecfg_inI2(struct msg_digest *md){    struct state *const st = md->st;    pb_stream *attrs = &md->chain[ISAKMP_NEXT_ATTR]->pbs;    int resp = LEMPTY;    stf_status stat;    struct payload_digest *p;    u_int16_t isama_id = 0;    DBG(DBG_CONTROL, DBG_log("modecfg_inI2"));    st->st_msgid_phase15 = md->hdr.isa_msgid;    CHECK_QUICK_HASH(md		     , xauth_mode_cfg_hash(hash_val					  ,hash_pbs->roof					  , md->message_pbs.roof					  , st)		     , "MODECFG-HASH", "MODE R1");    for(p = md->chain[ISAKMP_NEXT_ATTR]; p != NULL; p = p->next)    {        struct isakmp_attribute attr;        pb_stream strattr;	isama_id = p->payload.attribute.isama_identifier;	if (p->payload.attribute.isama_type != ISAKMP_CFG_SET)	{	    openswan_log("Expecting MODE_CFG_SET, got %x instead."			 ,md->chain[ISAKMP_NEXT_ATTR]->payload.attribute.isama_type);	    return STF_IGNORE;	}	/* CHECK that SET has been received. */	while(pbs_left(attrs) > sizeof(struct isakmp_attribute))	{            if (!in_struct(&attr, &isakmp_xauth_attribute_desc			   , attrs, &strattr))	    {		/* Skip unknown */		int len;		if (attr.isaat_af_type & 0x8000)		    len = 4;		else		    len = attr.isaat_lv;		if(len < 4)		{		    openswan_log("Attribute was too short: %d", len);		    return STF_FAIL;		}		attrs->cur += len;	    }	    switch(attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )	    {		case INTERNAL_IP4_ADDRESS:		    {			struct connection *c = st->st_connection;			ip_address a;			char caddr[SUBNETTOT_BUF];			u_int32_t *ap = (u_int32_t *)(strattr.cur);			a.u.v4.sin_family = AF_INET;			memcpy(&a.u.v4.sin_addr.s_addr, ap			       , sizeof(a.u.v4.sin_addr.s_addr));			addrtosubnet(&a, &c->spd.this.client);			/* make sure that the port info is zeroed */			setportof(0, &c->spd.this.client.addr);			c->spd.this.has_client = TRUE;			subnettot(&c->spd.this.client, 0				  , caddr, sizeof(caddr));			openswan_log("setting client address to %s", caddr);						if(addrbytesptr(&c->spd.this.host_srcip, NULL) == 0			   || isanyaddr(&c->spd.this.host_srcip)) {			  openswan_log("setting ip source address to %s"				       , caddr);			  c->spd.this.host_srcip = a;			}		    }		    resp |= LELEM(attr.isaat_af_type);		    break;		case INTERNAL_IP4_NETMASK:		case INTERNAL_IP4_DNS:		case INTERNAL_IP4_SUBNET:		case INTERNAL_IP4_NBNS:		    resp |= LELEM(attr.isaat_af_type);		    break;		default:		    openswan_log("unsupported mode cfg attribute %s received."				 , enum_show(&modecfg_attr_names, (attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )));		    break;	    }	}	/* loglog(LOG_DEBUG,"ModeCfg ACK: %x",resp); */    }    /* ack things */    stat = modecfg_resp(st, resp			,&md->rbody			,ISAKMP_CFG_ACK			,FALSE			,isama_id);    if(stat != STF_OK) {	/* notification payload - not exactly the right choice, but okay */	md->note = CERTIFICATE_UNAVAILABLE;	return stat;    }    /*     * we are done with this exchange, clear things so     * that we can start phase 2 properly     */    st->st_msgid_phase15 = 0;    if(resp) {	st->hidden_variables.st_modecfg_vars_set = TRUE;    }    DBG(DBG_CONTROL, DBG_log("modecfg_inI2(STF_OK)"));    return STF_OK;}/** STATE_MODE_CFG_R1: *  HDR*, HASH, ATTR(SET=IP) --> HDR*, HASH, ATTR(ACK,OK) *	     * @param md Message Digest * @return stf_status */stf_statusmodecfg_inR1(struct msg_digest *md){    struct state *const st = md->st;    pb_stream *attrs = &md->chain[ISAKMP_NEXT_ATTR]->pbs;    int resp = LEMPTY;    struct payload_digest *p;    DBG(DBG_CONTROL, DBG_log("modecfg_inR1"));    openswan_log("received mode cfg reply");    st->st_msgid_phase15 = md->hdr.isa_msgid;    CHECK_QUICK_HASH(md,xauth_mode_cfg_hash(hash_val,hash_pbs->roof, md->message_pbs.roof, st)	, "MODECFG-HASH", "MODE R1");    /* process the MODECFG payloads therein */    for(p = md->chain[ISAKMP_NEXT_ATTR]; p != NULL; p = p->next)    {        struct isakmp_attribute attr;        pb_stream strattr;		attrs = &p->pbs;		switch(p->payload.attribute.isama_type)	{	default:	{	    openswan_log("Expecting MODE_CFG_ACK, got %x instead.",md->chain[ISAKMP_NEXT_ATTR]->payload.attribute.isama_type);	    return STF_IGNORE;	}	break;		case ISAKMP_CFG_ACK:	    	    /* CHECK that ACK has been received. */	    while(pbs_left(attrs) > sizeof(struct isakmp_attribute))	    {		if (!in_struct(&attr, &isakmp_xauth_attribute_desc			       , attrs, &strattr))		{		    /* Skip unknown */		    int len;		    if (attr.isaat_af_type & 0x8000)			len = 4;		    else			len = attr.isaat_lv;		    		    if(len < 4)		    {			openswan_log("Attribute was too short: %d", len);			return STF_FAIL;		    }		    		    attrs->cur += len;		}				switch(attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )		{		case INTERNAL_IP4_ADDRESS:		case INTERNAL_IP4_NETMASK:		case INTERNAL_IP4_DNS:		case INTERNAL_IP4_SUBNET:		case INTERNAL_IP4_NBNS:		    resp |= LELEM(attr.isaat_af_type);		    break;		default:		    openswan_log("unsupported mode cfg attribute %s received."				 , enum_show(&modecfg_attr_names, (attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )));		    break;		}	    }	    break;	    	case ISAKMP_CFG_REPLY:	    while(pbs_left(attrs) > sizeof(struct isakmp_attribute))	    {		if (!in_struct(&attr, &isakmp_xauth_attribute_desc			       , attrs, &strattr))		{		    /* Skip unknown */		    int len;		    if (attr.isaat_af_type & 0x8000)			len = 4;		    else			len = attr.isaat_lv;		    		    if(len < 4)		    {			openswan_log("Attribute was too short: %d", len);			return STF_FAIL;		    }		    		    attrs->cur += len;		}				switch(attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )		{		case INTERNAL_IP4_ADDRESS:		{		    struct connection *c = st->st_connection;		    ip_address a;		    char caddr[SUBNETTOT_BUF];		    		    u_int32_t *ap = (u_int32_t *)(strattr.cur);		    a.u.v4.sin_family = AF_INET;		    memcpy(&a.u.v4.sin_addr.s_addr, ap			   , sizeof(a.u.v4.sin_addr.s_addr));		    addrtosubnet(&a, &c->spd.this.client);		    /* make sure that the port info is zeroed */		    setportof(0, &c->spd.this.client.addr);		    c->spd.this.has_client = TRUE;		    subnettot(&c->spd.this.client, 0			      , caddr, sizeof(caddr));		    openswan_log("setting client address to %s"				 , caddr);		    		    if(addrbytesptr(&c->spd.this.host_srcip, NULL) == 0		       || isanyaddr(&c->spd.this.host_srcip)) {			openswan_log("setting ip source address to %s"				     , caddr);			c->spd.this.host_srcip = a;		    }		}		resp |= LELEM(attr.isaat_af_type);		break;				case INTERNAL_IP4_NETMASK:		case INTERNAL_IP4_DNS:		case INTERNAL_IP4_SUBNET:		case INTERNAL_IP4_NBNS:		    resp |= LELEM(attr.isaat_af_type);		    break;		default:		    openswan_log("unsupported mode cfg attribute %s received."				 , enum_show(&modecfg_attr_names, (attr.isaat_af_type & ISAKMP_ATTR_RTYPE_MASK )));		    break;		}	    }	    /* loglog(LOG_DEBUG,"ModeCfg ACK: %x",resp); */	    break;	    /* loglog(LOG_DEBUG,"ModeCfg ACK: %x",resp); */	}    }    /* we are done with this exchange, clear things so that we can start phase 2 properly */    st->st_msgid_phase15 = 0;    if(resp) {	st->hidden_variables.st_modecfg_vars_set = TRUE;    }    DBG(DBG_CONTROL, DBG_log("modecfg_inR1(STF_OK)"));    return STF_OK;}/** XAUTH client code - response to challenge.  May open filehandle to console * in order to prompt user for password * * @param st State * @param xauth_resp XAUTH Reponse * @param rbody Reply Body * @param ap_id * @return stf_status */stf_status xauth_client_resp(struct state *st			     ,unsigned int xauth_resp

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷av一区二区三区之一色屋| 国产传媒日韩欧美成人| 久久久久久久久久看片| 欧美亚洲一区二区在线观看| 国产高清久久久| 日韩高清在线不卡| 亚洲欧美经典视频| 欧美国产在线观看| 日韩一级免费观看| 欧美性一级生活| 99在线精品一区二区三区| 麻豆91精品91久久久的内涵| 亚洲综合视频在线| 亚洲色图制服诱惑| 国产欧美一区二区三区在线老狼| 在线播放91灌醉迷j高跟美女| 色悠悠亚洲一区二区| 国产不卡免费视频| 国产美女主播视频一区| 男女男精品视频| 天天色综合天天| 亚洲国产一区二区三区青草影视| 国产精品国产三级国产普通话蜜臀| 欧美一二三四在线| 69久久99精品久久久久婷婷| 日本精品视频一区二区| av电影天堂一区二区在线观看| 麻豆精品一区二区| 免费不卡在线观看| 蜜桃一区二区三区在线| 奇米色777欧美一区二区| 午夜在线成人av| 午夜欧美在线一二页| 亚洲国产乱码最新视频| 一二三四区精品视频| 亚洲精品综合在线| 亚洲一区二区在线播放相泽| 亚洲欧美日韩在线播放| 亚洲欧美激情小说另类| 成人欧美一区二区三区小说| 国产精品免费观看视频| 国产精品成人一区二区艾草| 国产精品久久久一本精品 | 蜜臀久久99精品久久久久久9| 一区二区高清免费观看影视大全| 亚洲免费av高清| 亚洲图片欧美视频| 奇米影视在线99精品| 久久精品国产精品青草| 精品在线你懂的| 国产麻豆成人传媒免费观看| 国产精品综合久久| 成人激情文学综合网| 91一区在线观看| 欧美亚洲动漫精品| 日韩视频免费观看高清完整版| 日韩欧美黄色影院| 国产精品五月天| 亚洲乱码中文字幕| 日日嗨av一区二区三区四区| 人人精品人人爱| 国产不卡视频一区| 在线观看日韩毛片| 欧美一区二区视频网站| 精品国产乱码久久| 亚洲欧洲日韩女同| 午夜精品久久久久久久蜜桃app| 男女男精品网站| 成人av电影在线| 欧美视频中文一区二区三区在线观看| 正在播放一区二区| 国产精品少妇自拍| 亚洲电影在线播放| 国产精品99久久久久| 91成人免费在线| 久久丝袜美腿综合| 亚洲乱码一区二区三区在线观看| 天堂影院一区二区| 国产一区二区三区四| 97se亚洲国产综合自在线| 欧美美女一区二区在线观看| 26uuuu精品一区二区| 亚洲黄色小视频| 国产精品一区二区无线| 欧美亚洲图片小说| 欧美激情一区二区三区不卡 | 91在线观看视频| 欧美精品免费视频| 国产精品不卡在线观看| 日韩精品亚洲专区| 白白色 亚洲乱淫| 欧美大片一区二区| 亚洲一区影音先锋| 处破女av一区二区| 欧美成人video| 亚洲国产欧美在线| 91在线porny国产在线看| 日韩欧美国产三级| 亚洲va韩国va欧美va精品 | k8久久久一区二区三区| 欧美一区二区三区播放老司机| 国产精品国产精品国产专区不蜜| 免费高清不卡av| 91片在线免费观看| 国产婷婷色一区二区三区四区| 天天色天天操综合| 色综合久久久久网| 中文字幕中文在线不卡住| 久久精品久久99精品久久| 欧美日韩视频不卡| 一区二区三区中文在线观看| 懂色av一区二区三区蜜臀| 日韩片之四级片| 亚洲1区2区3区4区| 欧美亚洲国产一区二区三区va | 婷婷夜色潮精品综合在线| 99天天综合性| 亚洲国产电影在线观看| 国内欧美视频一区二区| 日韩三级免费观看| 日本欧美大码aⅴ在线播放| 欧洲视频一区二区| 亚洲欧美另类久久久精品| 成人av在线观| 国产精品黄色在线观看| 高清久久久久久| 国产精品久久久久久户外露出| 国产精品亚洲人在线观看| 精品国产区一区| 久久av资源站| 2023国产精品视频| 狠狠网亚洲精品| 久久久一区二区三区捆绑**| 看电视剧不卡顿的网站| 精品久久一区二区| 精品一区二区三区久久久| 精品国产乱码久久| 国产精品一区在线| 国产精品久久久一本精品| av电影在线观看不卡 | 国产一区欧美日韩| 26uuu精品一区二区三区四区在线| 麻豆成人久久精品二区三区红| 欧美成人一区二区| 国产精品 日产精品 欧美精品| 久久久久成人黄色影片| 成人激情视频网站| 亚洲精品国产成人久久av盗摄| 日本高清免费不卡视频| 亚洲最大的成人av| 欧美日韩一区 二区 三区 久久精品| 亚洲成人免费视频| 日韩美女主播在线视频一区二区三区 | 丰满放荡岳乱妇91ww| 国产精品国产精品国产专区不蜜| 色先锋资源久久综合| 亚洲成人av福利| 欧美mv日韩mv亚洲| av电影在线观看一区| 亚洲午夜激情网站| 精品国产乱码91久久久久久网站| 国产成人精品一区二区三区网站观看| 中文字幕第一区第二区| 91麻豆国产香蕉久久精品| 午夜欧美在线一二页| 欧美va亚洲va在线观看蝴蝶网| 成人免费视频caoporn| 亚洲精品欧美激情| 91精品国产乱| 国产91精品一区二区麻豆网站| 亚洲欧美日韩久久精品| 欧美一级黄色录像| 91香蕉视频mp4| 日本麻豆一区二区三区视频| 国产午夜精品一区二区三区嫩草| 99精品视频一区| 蜜桃在线一区二区三区| 亚洲天堂a在线| 日韩精品一区二区三区蜜臀| 91影院在线观看| 久99久精品视频免费观看| 亚洲人成伊人成综合网小说| 日韩欧美一区二区免费| caoporn国产精品| 麻豆中文一区二区| 亚洲欧美日韩一区| 久久久久久一二三区| 欧美日韩你懂得| 99热在这里有精品免费| 另类小说视频一区二区| 亚洲视频免费在线| 亚洲综合自拍偷拍| 欧美国产日产图区| 91精品国产综合久久久蜜臀粉嫩 | 成人免费视频网站在线观看| 日一区二区三区| 亚洲天堂成人网| 国产欧美日韩在线观看| 欧美电视剧在线看免费| 欧美日韩一区二区三区高清|