diff options
author | Cy Schubert <cy@FreeBSD.org> | 2013-08-11 14:28:45 +0000 |
---|---|---|
committer | Cy Schubert <cy@FreeBSD.org> | 2013-08-11 14:28:45 +0000 |
commit | 05ddbb8d93073fe6263bb3fff26e1c4c8651352e (patch) | |
tree | 1edb84380ee8d48a5e93a53f33d1b6373e330d5e /lib/addipopt.c | |
parent | c63520fcdd8c7ba7a737717520fa3896db69342f (diff) |
Notes
Diffstat (limited to 'lib/addipopt.c')
-rw-r--r-- | lib/addipopt.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/lib/addipopt.c b/lib/addipopt.c index 17fac0dc2c8ea..cb06da996c70b 100644 --- a/lib/addipopt.c +++ b/lib/addipopt.c @@ -1,19 +1,19 @@ /* - * Copyright (C) 2000-2002 by Darren Reed. + * Copyright (C) 2012 by Darren Reed. * * See the IPFILTER.LICENCE file for details on licencing. * - * $Id: addipopt.c,v 1.7.4.1 2006/06/16 17:20:56 darrenr Exp $ + * $Id$ */ #include "ipf.h" int addipopt(op, io, len, class) -char *op; -struct ipopt_names *io; -int len; -char *class; + char *op; + struct ipopt_names *io; + int len; + char *class; { int olen = len; struct in_addr ipadr; @@ -39,6 +39,10 @@ char *class; lvl = seclevel(class); *(op - 1) = lvl; break; + case IPOPT_RR : + case IPOPT_TS : + s[IPOPT_OLEN] = IPOPT_MINOFF - 1 + 4; + break; case IPOPT_LSRR : case IPOPT_SSRR : ipadr.s_addr = inet_addr(class); @@ -51,12 +55,6 @@ char *class; break; } } - - op += io->on_siz - 3; - if (len & 3) { - *op++ = IPOPT_NOP; - len++; - } } if (opts & OPT_DEBUG) fprintf(stderr, "bo: %s %d %#x: %d\n", |