Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2
vpnc
vpnc-nortel-attributes.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File vpnc-nortel-attributes.diff of Package vpnc
Index: b/isakmp-pkt.c =================================================================== --- a/isakmp-pkt.c +++ b/isakmp-pkt.c @@ -637,10 +637,24 @@ static struct isakmp_attribute *parse_is hex_dump("t.attributes.u.acl.mask", &r->u.acl.acl_ent[i].mask.s_addr, 4, NULL); hex_dump("t.attributes.u.acl.protocol", &r->u.acl.acl_ent[i].protocol, DUMP_UINT16, NULL); hex_dump("t.attributes.u.acl.sport", &r->u.acl.acl_ent[i].sport, DUMP_UINT16, NULL); hex_dump("t.attributes.u.acl.dport", &r->u.acl.acl_ent[i].dport, DUMP_UINT16, NULL); } + } else if (r->type == ISAKMP_MODECFG_ATTRIB_NORTEL_SPLIT_INC) { + r->af = isakmp_attr_acl; + r->u.acl.count = length / (4 + 4); + if (r->u.acl.count * (4 + 4) != length) { + *reject = ISAKMP_N_PAYLOAD_MALFORMED; + return r; + } + r->u.acl.acl_ent = xallocc(r->u.acl.count * sizeof(struct acl_ent_s)); + for (i = 0; i < r->u.acl.count; i++) { + fetchn(&r->u.acl.acl_ent[i].addr.s_addr, 4); + fetchn(&r->u.acl.acl_ent[i].mask.s_addr, 4); + hex_dump("t.attributes.u.acl.addr", &r->u.acl.acl_ent[i].addr.s_addr, 4, NULL); + hex_dump("t.attributes.u.acl.mask", &r->u.acl.acl_ent[i].mask.s_addr, 4, NULL); + } } else { r->u.lots.data = xallocc(length); fetchn(r->u.lots.data, length); if ((((ISAKMP_XAUTH_06_ATTRIB_TYPE < type) && (type <= ISAKMP_XAUTH_06_ATTRIB_ANSWER) Index: b/isakmp.h =================================================================== --- a/isakmp.h +++ b/isakmp.h @@ -456,10 +456,11 @@ enum isakmp_modecfg_attrib_enum { ISAKMP_XAUTH_02_ATTRIB_DOMAIN, ISAKMP_XAUTH_02_ATTRIB_STATUS, ISAKMP_XAUTH_02_ATTRIB_NEXT_PIN, ISAKMP_XAUTH_02_ATTRIB_ANSWER, /* TYPE .. ANSWER is excluded from dump */ + ISAKMP_MODECFG_ATTRIB_NORTEL_SPLIT_INC = 0x4000, ISAKMP_MODECFG_ATTRIB_NORTEL_UNKNOWN_4011 = 0x4011, ISAKMP_MODECFG_ATTRIB_NORTEL_CLIENT_ID = 0x4012, ISAKMP_XAUTH_06_ATTRIB_TYPE = 0x4088, ISAKMP_XAUTH_06_ATTRIB_USER_NAME, Index: b/vpnc.c =================================================================== --- a/vpnc.c +++ b/vpnc.c @@ -992,10 +992,11 @@ static int do_config_to_env(struct sa_bl DEBUG(2, printf("got peer udp encapsulation port: %hu\n", s->ipsec.peer_udpencap_port)); } break; case ISAKMP_MODECFG_ATTRIB_CISCO_SPLIT_INC: + case ISAKMP_MODECFG_ATTRIB_NORTEL_SPLIT_INC: if (a->af != isakmp_attr_acl) { reject = ISAKMP_N_ATTRIBUTES_NOT_SUPPORTED; break; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor