recognize strongSwan VID
This commit is contained in:
+54
-48
@@ -375,57 +375,63 @@ static void handle_known_vendorid (struct msg_digest *md, const char *vidstr,
|
|||||||
bool vid_useful = FALSE;
|
bool vid_useful = FALSE;
|
||||||
size_t i, j;
|
size_t i, j;
|
||||||
|
|
||||||
switch (vid->id) {
|
switch (vid->id)
|
||||||
/* Remote side supports OpenPGP certificates */
|
{
|
||||||
case VID_OPENPGP:
|
/* Remote side is a strongSwan host */
|
||||||
md->openpgp = TRUE;
|
case VID_STRONGSWAN:
|
||||||
vid_useful = TRUE;
|
vid_useful = TRUE;
|
||||||
break;
|
|
||||||
|
|
||||||
/* Remote side is a Windows 2000+ host */
|
|
||||||
case VID_MS_NT5:
|
|
||||||
md->ms_nt5 = TRUE;
|
|
||||||
vid_useful = TRUE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Use most recent supported NAT-Traversal method and ignore the
|
|
||||||
* other ones (implementations will send all supported methods but
|
|
||||||
* only one will be used)
|
|
||||||
*
|
|
||||||
* Note: most recent == higher id in vendor.h
|
|
||||||
*/
|
|
||||||
case VID_NATT_IETF_00:
|
|
||||||
if (!nat_traversal_support_non_ike)
|
|
||||||
break;
|
break;
|
||||||
if ((nat_traversal_enabled) && (!md->nat_traversal_vid))
|
|
||||||
{
|
/* Remote side supports OpenPGP certificates */
|
||||||
md->nat_traversal_vid = vid->id;
|
case VID_OPENPGP:
|
||||||
|
md->openpgp = TRUE;
|
||||||
vid_useful = TRUE;
|
vid_useful = TRUE;
|
||||||
}
|
break;
|
||||||
break;
|
|
||||||
case VID_NATT_IETF_02:
|
|
||||||
case VID_NATT_IETF_02_N:
|
|
||||||
case VID_NATT_IETF_03:
|
|
||||||
case VID_NATT_RFC:
|
|
||||||
if (nat_traversal_support_port_floating
|
|
||||||
&& md->nat_traversal_vid < vid->id)
|
|
||||||
{
|
|
||||||
md->nat_traversal_vid = vid->id;
|
|
||||||
vid_useful = TRUE;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* Remote side would like to do DPD with us on this connection */
|
/* Remote side is a Windows 2000+ host */
|
||||||
case VID_MISC_DPD:
|
case VID_MS_NT5:
|
||||||
md->dpd = TRUE;
|
md->ms_nt5 = TRUE;
|
||||||
vid_useful = TRUE;
|
vid_useful = TRUE;
|
||||||
break;
|
break;
|
||||||
case VID_MISC_XAUTH:
|
|
||||||
vid_useful = TRUE;
|
/*
|
||||||
break;
|
* Use most recent supported NAT-Traversal method and ignore the
|
||||||
default:
|
* other ones (implementations will send all supported methods but
|
||||||
break;
|
* only one will be used)
|
||||||
|
*
|
||||||
|
* Note: most recent == higher id in vendor.h
|
||||||
|
*/
|
||||||
|
case VID_NATT_IETF_00:
|
||||||
|
if (!nat_traversal_support_non_ike)
|
||||||
|
break;
|
||||||
|
if ((nat_traversal_enabled) && (!md->nat_traversal_vid))
|
||||||
|
{
|
||||||
|
md->nat_traversal_vid = vid->id;
|
||||||
|
vid_useful = TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case VID_NATT_IETF_02:
|
||||||
|
case VID_NATT_IETF_02_N:
|
||||||
|
case VID_NATT_IETF_03:
|
||||||
|
case VID_NATT_RFC:
|
||||||
|
if (nat_traversal_support_port_floating
|
||||||
|
&& md->nat_traversal_vid < vid->id)
|
||||||
|
{
|
||||||
|
md->nat_traversal_vid = vid->id;
|
||||||
|
vid_useful = TRUE;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
/* Remote side would like to do DPD with us on this connection */
|
||||||
|
case VID_MISC_DPD:
|
||||||
|
md->dpd = TRUE;
|
||||||
|
vid_useful = TRUE;
|
||||||
|
break;
|
||||||
|
case VID_MISC_XAUTH:
|
||||||
|
vid_useful = TRUE;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vid->flags & VID_SUBSTRING_DUMPHEXA)
|
if (vid->flags & VID_SUBSTRING_DUMPHEXA)
|
||||||
|
|||||||
Reference in New Issue
Block a user