From: Emmanuel D. <ma...@us...> - 2005-04-25 21:51:28
|
Update of /cvsroot/ipsec-tools/ipsec-tools/src/racoon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12037/src/racoon Modified Files: ipsec_doi.c Log Message: LP64 fix for lifetime and lifebyte Index: ipsec_doi.c =================================================================== RCS file: /cvsroot/ipsec-tools/ipsec-tools/src/racoon/ipsec_doi.c,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- ipsec_doi.c 21 Apr 2005 09:08:39 -0000 1.33 +++ ipsec_doi.c 25 Apr 2005 21:51:17 -0000 1.34 @@ -2635,17 +2635,19 @@ int attrlen = 0; if (sa->lifetime) { + u_int32_t lifetime = htonl((u_int32_t)sa->lifetime); + attrlen += sizeof(struct isakmp_data) + sizeof(struct isakmp_data); if (sa->lifetime > 0xffff) - attrlen += sizeof(sa->lifetime); + attrlen += sizeof(lifetime); if (buf) { p = isakmp_set_attr_l(p, OAKLEY_ATTR_SA_LD_TYPE, OAKLEY_ATTR_SA_LD_TYPE_SEC); if (sa->lifetime > 0xffff) { - u_int32_t v = htonl((u_int32_t)sa->lifetime); p = isakmp_set_attr_v(p, OAKLEY_ATTR_SA_LD, - (caddr_t)&v, sizeof(v)); + (caddr_t)&lifetime, + sizeof(lifetime)); } else { p = isakmp_set_attr_l(p, OAKLEY_ATTR_SA_LD, sa->lifetime); @@ -2654,17 +2656,19 @@ } if (sa->lifebyte) { + u_int32_t lifebyte = htonl((u_int32_t)sa->lifebyte); + attrlen += sizeof(struct isakmp_data) + sizeof(struct isakmp_data); if (sa->lifebyte > 0xffff) - attrlen += sizeof(sa->lifebyte); + attrlen += sizeof(lifebyte); if (buf) { p = isakmp_set_attr_l(p, OAKLEY_ATTR_SA_LD_TYPE, OAKLEY_ATTR_SA_LD_TYPE_KB); if (sa->lifebyte > 0xffff) { - u_int32_t v = htonl((u_int32_t)sa->lifebyte); p = isakmp_set_attr_v(p, OAKLEY_ATTR_SA_LD, - (caddr_t)&v, sizeof(v)); + (caddr_t)&lifebyte, + sizeof(lifebyte)); } else { p = isakmp_set_attr_l(p, OAKLEY_ATTR_SA_LD, sa->lifebyte); |