summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/lib/addipopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/lib/addipopt.c')
-rw-r--r--contrib/ipfilter/lib/addipopt.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/contrib/ipfilter/lib/addipopt.c b/contrib/ipfilter/lib/addipopt.c
index 79155e7..26aff83 100644
--- a/contrib/ipfilter/lib/addipopt.c
+++ b/contrib/ipfilter/lib/addipopt.c
@@ -1,21 +1,21 @@
/* $FreeBSD$ */
/*
- * 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;
@@ -41,6 +41,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);
@@ -53,12 +57,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",
OpenPOWER on IntegriCloud