diff -ruN freeswan-1.5.orig/Makefile freeswan-1.5/Makefile --- freeswan-1.5.orig/Makefile Thu Jun 15 23:14:53 2000 +++ freeswan-1.5/Makefile Thu Feb 22 13:35:38 2001 @@ -40,8 +40,8 @@ # kernel location, and location of kernel patches in the distribution KERNELSRC=/usr/src/linux DIRIN22=$(KERNELSRC)/net/netlink -FILIN23=$(KERNELSRC)/net/khttpd/main.c -KERNELREL=$(shell { test -f $(FILIN23) && echo 2.3; } || { test -d $(DIRIN22) && echo 2.2; } ) +FILIN24=$(KERNELSRC)/net/khttpd/main.c +KERNELREL=$(shell { test -f $(FILIN24) && echo 2.4; } || { test -d $(DIRIN22) && echo 2.2; } ) KCFILE=$(KERNELSRC)/.config VERFILE=$(KERNELSRC)/include/linux/version.h PATCHES=klips/patches$(KERNELREL) @@ -168,6 +168,28 @@ @$(PATCHER) -v $(KERNELSRC) net/core/dev.c @$(PATCHER) -v $(KERNELSRC) net/ipv4/protocol.c @$(PATCHER) -v $(KERNELSRC) drivers/net/Space.c + +# Linux-2.4.x version +PATCHES23=klips/patches2.3 +PATCHES24=klips/patches2.4 +_patches2.4: + ${PATCHER} -v ${KERNELSRC} Documentation/Configure.help \ + 'CONFIG_IPSEC' ${PATCHES22}/Documentation.Configure.help + ${PATCHER} -v ${KERNELSRC} include/linux/netlink.h \ + 'NETLINK_IPSEC' ${PATCHES22}/include.linux.netlink.h + ${PATCHER} -v ${KERNELSRC} net/Config.in \ + 'CONFIG_IPSEC' ${PATCHES24}/net.Config.in + ${PATCHER} -v ${KERNELSRC} net/Makefile \ + 'CONFIG_IPSEC' ${PATCHES24}/net.Makefile + ${PATCHER} -v ${KERNELSRC} net/ipv4/af_inet.c \ + 'CONFIG_IPSEC' ${PATCHES23}/net.ipv4.af_inet.c + ${PATCHER} -v ${KERNELSRC} net/netlink/af_netlink.c \ + 'netlink_open_map' ${PATCHES23}/net.netlink.af_netlink.c + # Removed patches, will unpatch automatically. + ${PATCHER} -v ${KERNELSRC} include/linux/proc_fs.h + ${PATCHER} -v ${KERNELSRC} net/core/dev.c + ${PATCHER} -v ${KERNELSRC} net/ipv4/protocol.c + ${PATCHER} -v ${KERNELSRC} drivers/net/Space.c device: @if test ! -e /dev/ipsec ; \ diff -ruN freeswan-1.5.orig/klips/net/ipsec/Config.in freeswan-1.5/klips/net/ipsec/Config.in --- freeswan-1.5.orig/klips/net/ipsec/Config.in Sun Jun 18 23:47:47 2000 +++ freeswan-1.5/klips/net/ipsec/Config.in Thu Feb 22 13:36:22 2001 @@ -18,7 +18,7 @@ bool ' IPSEC: IP-in-IP encapsulation' CONFIG_IPSEC_IPIP -#bool ' IPSEC: PF_KEYv2 kernel/user interface' CONFIG_IPSEC_PFKEYv2 +bool ' IPSEC: PF_KEYv2 kernel/user interface' CONFIG_IPSEC_PFKEYv2 bool ' IPSEC: Enable ICMP PMTU messages' CONFIG_IPSEC_ICMP diff -ruN freeswan-1.5.orig/klips/net/ipsec/Makefile freeswan-1.5/klips/net/ipsec/Makefile --- freeswan-1.5.orig/klips/net/ipsec/Makefile Thu Jun 15 23:09:16 2000 +++ freeswan-1.5/klips/net/ipsec/Makefile Thu Feb 22 13:36:22 2001 @@ -10,29 +10,18 @@ # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License # for more details. -# -# RCSID $Id: Makefile,v 1.25 2000/06/16 03:09:16 rgb Exp $ -# -# Note! Dependencies are done automagically by 'make dep', which also -# removes any old dependencies. DON'T put your own dependencies here -# unless it's something special (ie not a .c file). -# -# Note 2! The CFLAGS definition is now in the main makefile... -ifndef TOPDIR -TOPDIR := /usr/src/linux -endif +O_TARGET := ipsec.o -SUB_DIRS := -ALL_SUB_DIRS := libfreeswan -MOD_SUB_DIRS := +#export-objs := libfreeswan/libkernel.a -O_TARGET := ipsec.o -O_OBJS := ipsec_init.o ipsec_xform.o ipsec_netlink.o ipsec_radij.o ipsec_tunnel.o ipsec_rcv.o -# sysctl_net_ipsec.o +obj-y := ipsec_init.o ipsec_xform.o ipsec_netlink.o ipsec_radij.o \ + ipsec_tunnel.o ipsec_rcv.o radij.o libfreeswan/libkernel.a -OX_OBJS := radij.o -M_OBJS := $(O_TARGET) + +ifeq ($(CONFIG_IPSEC),m) +obj-m := $(O_TARGET) +endif override CFLAGS += -Ilibfreeswan @@ -40,22 +29,18 @@ override CFLAGS += -g endif -override CFLAGS += -Wall -#override CFLAGS += -Wconversion -#override CFLAGS += -Wmissing-prototypes -override CFLAGS += -Wpointer-arith -#override CFLAGS += -Wcast-qual -#override CFLAGS += -Wmissing-declarations +override CFLAGS += -Wall +#override CFLAGS += -Wconversion +#override CFLAGS += -Wmissing-prototypes +override CFLAGS += -Wpointer-arith +#override CFLAGS += -Wcast-qual +#override CFLAGS += -Wmissing-declarations override CFLAGS += -Wstrict-prototypes #override CFLAGS += -pedantic #override CFLAGS += -O3 #override CFLAGS += -W -#override CFLAGS += -Wwrite-strings -override CFLAGS += -Wbad-function-cast - -#ifeq ($(CONFIG_IPSEC_PFKEYv2),y) -O_OBJS += pfkey_v2.o pfkey_v2_parser.o -#endif +#override CFLAGS += -Wwrite-strings +override CFLAGS += -Wbad-function-cast ifeq ($(CONFIG_IPSEC_ENC_DES),y) INCLUDE_DES = y @@ -65,156 +50,38 @@ INCLUDE_DES = y endif -ifeq ($(CONFIG_IPSEC_AUTH_HMAC_MD5),y) -O_OBJS += ipsec_md5c.o -endif +obj-$(CONFIG_IPSEC_PFKEYv2) += pfkey_v2.o pfkey_v2_parser.o +obj-$(CONFIG_IPSEC_AUTH_HMAC_MD5) += ipsec_md5c.o -ifeq ($(CONFIG_IPSEC_AUTH_HMAC_SHA1),y) -O_OBJS += ipsec_sha1.o -endif +obj-$(CONFIG_IPSEC_AUTH_HMAC_SHA1) += ipsec_sha1.o +obj-$(CONFIG_IPSEC_ENC_3DES) += libdes/libdes.a -ifeq ($(INCLUDE_DES),y) -O_OBJS += libdes/libdes.a -endif +obj-$(CONFIG_IPSEC) += libfreeswan/libkernel.a -O_OBJS += libfreeswan/libkernel.a +# subdir-$(CONFIG_IPSEC_ENC_3DES) += libdes +# subdir-$(CONFIG_IPSEC) += libfreeswan ifeq ($(CONFIG_IPSEC),y) -SUB_DIRS += libfreeswan +#obj-y += libfreeswan else ifeq ($(CONFIG_IPSEC),m) - override MOD_SUB_DIRS += libfreeswan + MOD_TO_LIST += libfreeswan endif endif -include $(TOPDIR)/Rules.make - -$(O_OBJS) $(OX_OBJS): $(TOPDIR)/include/linux/config.h $(TOPDIR)/include/linux/autoconf.h - -libdes/libdes.a: - ( cd libdes && \ - if test " `arch | sed 's/^i[3456]/x/'`" = " x86" ; \ - then $(MAKE) CC='$(CC)' CFLAG='$(CFLAGS)' TESTING='' x86-elf ; \ - else $(MAKE) CC='$(CC)' CFLAG='$(CFLAGS)' libdes.a ; \ - fi ) +fake_rule: libdes/libdes.a libfreeswan/libkernel.a all_targets libfreeswan/libkernel.a: $(MAKE) -C libfreeswan -clean: - -rm -f *.o +libdes/libdes.a: + ( cd libdes && \ + if test " `arch | sed 's/^i[3456]/x/'`" = " x86" ; \ + then $(MAKE) CC='$(CC)' CFLAG='$(CFLAGS)' TESTING='' x86-elf ; \ + else $(MAKE) CC='$(CC)' CFLAG='$(CFLAGS)' libdes.a ; \ + fi ) -tags TAGS: *.c *.h libfreeswan/*.c libfreeswan/*.h - find . -name '*.[ch]' |xargs etags - find . -name '*.[ch]' |xargs ctags +include $(TOPDIR)/Rules.make tar: tar -cvf /dev/f1 . - -# -# $Log: Makefile,v $ -# Revision 1.25 2000/06/16 03:09:16 rgb -# Shut up cast lost warning due to changes in 2.4.0-test1. -# -# Revision 1.24 2000/03/16 06:40:48 rgb -# Hardcode PF_KEYv2 support. -# -# Revision 1.23 2000/02/14 21:10:38 rgb -# Added gcc debug flag when KLIPS_DEBUG is swtiched on. -# -# Revision 1.22 2000/01/21 09:44:29 rgb -# Added compiler switches to be a lot more fussy. -# -# Revision 1.21 1999/11/25 23:35:20 rgb -# Removed quotes to fix Alpha compile issues. -# -# Revision 1.20 1999/11/17 15:49:34 rgb -# Changed all occurrences of ../../../lib in pathnames to libfreeswan, -# which refers to the /usr/src/linux/net/ipsec/lib directory setup by the -# klink target in the top-level Makefile; and libdeslite.o to -# libdes/libdes.a. -# Added SUB_DIRS := lib definition for the kernel libraries. -# -# Revision 1.19 1999/04/27 19:06:47 rgb -# dd libs and dependancies to tags generation. -# -# Revision 1.18 1999/04/16 16:28:12 rgb -# Minor bugfix to avoid including DES if only AH is used. -# -# Revision 1.17 1999/04/15 15:37:23 rgb -# Forward check changes from POST1_00 branch. -# -# Revision 1.14.2.1 1999/03/30 17:29:17 rgb -# Add support for pfkey. -# -# Revision 1.16 1999/04/11 00:28:56 henry -# GPL boilerplate -# -# Revision 1.15 1999/04/06 04:54:25 rgb -# Fix/Add RCSID Id: and Log: bits to make PHMDs happy. This includes -# patch shell fixes. -# -# Revision 1.14 1999/02/18 16:50:45 henry -# update for new DES library -# -# Revision 1.13 1999/02/12 21:11:45 rgb -# Prepare for newer LIBDES (patch from P.Onion). -# -# Revision 1.12 1999/01/26 02:05:08 rgb -# Remove references to INET_GET_PROTOCOL. -# Removed CONFIG_IPSEC_ALGO_SWITCH macro. -# Change from transform switch to algorithm switch. -# -# Revision 1.11 1999/01/22 06:16:09 rgb -# Added algorithm switch code config option. -# -# Revision 1.10 1998/11/08 05:31:21 henry -# be a little fussier -# -# Revision 1.9 1998/11/08 05:29:41 henry -# revisions for new libdes handling -# -# Revision 1.8 1998/08/12 00:05:48 rgb -# Added new xforms to Makefile (moved des-cbc to des-old). -# -# Revision 1.7 1998/07/27 21:48:47 rgb -# Add libkernel. -# -# Revision 1.6 1998/07/14 15:50:47 rgb -# Add dependancies on linux config files. -# -# Revision 1.5 1998/07/09 17:44:06 rgb -# Added 'clean' and 'tags' targets. -# Added TOPDIR macro. -# Change module back from symbol exporting to not. -# -# Revision 1.3 1998/06/25 19:25:04 rgb -# Rearrange to support static linking and objects with exported symbol -# tables. -# -# Revision 1.1 1998/06/18 21:27:42 henry -# move sources from klips/src to klips/net/ipsec, to keep stupid -# kernel-build scripts happier in the presence of symlinks -# -# Revision 1.3 1998/04/15 23:18:43 rgb -# Unfixed the ../../libdes fix to avoid messing up Henry's script. -# -# Revision 1.2 1998/04/14 17:50:47 rgb -# Fixed to find the new location of libdes. -# -# Revision 1.1 1998/04/09 03:05:22 henry -# sources moved up from linux/net/ipsec -# modifications to centralize libdes code -# -# Revision 1.1.1.1 1998/04/08 05:35:02 henry -# RGB's ipsec-0.8pre2.tar.gz ipsec-0.8 -# -# Revision 0.5 1997/06/03 04:24:48 ji -# Added ESP-3DES-MD5-96 -# -# Revision 0.4 1997/01/15 01:32:59 ji -# Added new transforms. -# -# Revision 0.3 1996/11/20 14:22:53 ji -# *** empty log message *** -# diff -ruN freeswan-1.5.orig/klips/net/ipsec/ipsec_radij.c freeswan-1.5/klips/net/ipsec/ipsec_radij.c --- freeswan-1.5.orig/klips/net/ipsec/ipsec_radij.c Thu Mar 16 09:02:50 2000 +++ freeswan-1.5/klips/net/ipsec/ipsec_radij.c Thu Feb 22 13:36:22 2001 @@ -134,7 +134,8 @@ panic ("ipsec_callback RMT_DELEROUTE root or active node\n"); memset((caddr_t)rn, 0, sizeof (struct eroute)); - kfree_s(rn, sizeof(struct eroute)); + // kfree_s(rn, sizeof(struct eroute)); + kfree(rn); return 0; } @@ -298,7 +299,8 @@ "This should never happen!\n"); } memset((caddr_t)rn, 0, sizeof (struct eroute)); - kfree_s(rn, sizeof(struct eroute)); + // kfree_s(rn, sizeof(struct eroute)); + kfree(rn); return 0; } diff -ruN freeswan-1.5.orig/klips/net/ipsec/ipsec_tunnel.c freeswan-1.5/klips/net/ipsec/ipsec_tunnel.c --- freeswan-1.5.orig/klips/net/ipsec/ipsec_tunnel.c Mon May 15 23:03:11 2000 +++ freeswan-1.5/klips/net/ipsec/ipsec_tunnel.c Thu Feb 22 13:36:22 2001 @@ -1687,7 +1687,8 @@ dev->tbusy = 0; #endif if(saved_header) - kfree_s(saved_header, hard_header_len); + // kfree_s(saved_header, hard_header_len); + kfree(saved_header); if(skb) { dev_kfree_skb(skb, FREE_WRITE); } @@ -2390,10 +2391,14 @@ unregister_netdev(&dev_ipsec1); unregister_netdev(&dev_ipsec2); unregister_netdev(&dev_ipsec3); - kfree_s(dev_ipsec0.priv,sizeof(struct ipsecpriv)); - kfree_s(dev_ipsec1.priv,sizeof(struct ipsecpriv)); - kfree_s(dev_ipsec2.priv,sizeof(struct ipsecpriv)); - kfree_s(dev_ipsec3.priv,sizeof(struct ipsecpriv)); + // kfree_s(dev_ipsec0.priv,sizeof(struct ipsecpriv)); + // kfree_s(dev_ipsec1.priv,sizeof(struct ipsecpriv)); + // kfree_s(dev_ipsec2.priv,sizeof(struct ipsecpriv)); + // kfree_s(dev_ipsec3.priv,sizeof(struct ipsecpriv)); + kfree(dev_ipsec0.priv); + kfree(dev_ipsec1.priv); + kfree(dev_ipsec2.priv); + kfree(dev_ipsec3.priv); dev_ipsec0.priv=NULL; dev_ipsec1.priv=NULL; dev_ipsec2.priv=NULL; diff -ruN freeswan-1.5.orig/klips/net/ipsec/ipsec_tunnel.h freeswan-1.5/klips/net/ipsec/ipsec_tunnel.h --- freeswan-1.5.orig/klips/net/ipsec/ipsec_tunnel.h Thu Nov 18 20:12:15 1999 +++ freeswan-1.5/klips/net/ipsec/ipsec_tunnel.h Thu Feb 22 13:36:22 2001 @@ -66,6 +66,10 @@ unsigned short htype, __u32 daddr); #endif /* !NET_21 */ void (*header_cache_update)(struct hh_cache *hh, struct device *dev, unsigned char * haddr); + +#ifdef NET_24 + #define enet_statistics net_device_stats +#endif /* NET_24 */ struct enet_statistics *(*get_stats)(struct device *dev); struct enet_statistics mystats; int mtu; /* What is the desired MTU? */ diff -ruN freeswan-1.5.orig/klips/net/ipsec/ipsec_xform.c freeswan-1.5/klips/net/ipsec/ipsec_xform.c --- freeswan-1.5.orig/klips/net/ipsec/ipsec_xform.c Wed May 10 19:11:09 2000 +++ freeswan-1.5/klips/net/ipsec/ipsec_xform.c Thu Feb 22 13:36:22 2001 @@ -642,7 +642,8 @@ printk("klips_debug:tdb_init: illegal weak des key\n"); if (error) { memset(tdbp->tdb_key_e, 0, sizeof (struct des_eks)); - kfree_s(tdbp->tdb_key_e, sizeof(struct des_eks)); + // kfree_s(tdbp->tdb_key_e, sizeof(struct des_eks)); + kfree(tdbp->tdb_key_e); SENDERR(EINVAL); } break; @@ -685,7 +686,8 @@ printk("klips_debug:tdb_init: illegal weak des key %d/3\n", i + 1); if (error) { memset(tdbp->tdb_key_e, 0, 3 * sizeof(struct des_eks)); - kfree_s(tdbp->tdb_key_e, 3 * sizeof(struct des_eks)); + // kfree_s(tdbp->tdb_key_e, 3 * sizeof(struct des_eks)); + kfree(tdbp->tdb_key_e); SENDERR(EINVAL); } } @@ -960,42 +962,49 @@ if(tdbp->tdb_addr_s) { memset((caddr_t)(tdbp->tdb_addr_s), 0, tdbp->tdb_addr_s_size); - kfree_s(tdbp->tdb_addr_s, tdbp->tdb_addr_s_size); + // kfree_s(tdbp->tdb_addr_s, tdbp->tdb_addr_s_size); + kfree(tdbp->tdb_addr_s); } tdbp->tdb_addr_s = NULL; if(tdbp->tdb_addr_d) { memset((caddr_t)(tdbp->tdb_addr_d), 0, tdbp->tdb_addr_d_size); - kfree_s(tdbp->tdb_addr_d, tdbp->tdb_addr_d_size); + // kfree_s(tdbp->tdb_addr_d, tdbp->tdb_addr_d_size); + kfree(tdbp->tdb_addr_d); } tdbp->tdb_addr_d = NULL; if(tdbp->tdb_addr_p) { memset((caddr_t)(tdbp->tdb_addr_p), 0, tdbp->tdb_addr_p_size); - kfree_s(tdbp->tdb_addr_p, tdbp->tdb_addr_p_size); + // kfree_s(tdbp->tdb_addr_p, tdbp->tdb_addr_p_size); + kfree(tdbp->tdb_addr_p); } tdbp->tdb_addr_p = NULL; if(tdbp->tdb_key_a) { memset((caddr_t)(tdbp->tdb_key_a), 0, tdbp->tdb_key_a_size); - kfree_s(tdbp->tdb_key_a, tdbp->tdb_key_a_size); + // kfree_s(tdbp->tdb_key_a, tdbp->tdb_key_a_size); + kfree(tdbp->tdb_key_a); } tdbp->tdb_key_a = NULL; if(tdbp->tdb_key_e) { memset((caddr_t)(tdbp->tdb_key_e), 0, tdbp->tdb_key_e_size); - kfree_s(tdbp->tdb_key_e, tdbp->tdb_key_e_size); + // kfree_s(tdbp->tdb_key_e, tdbp->tdb_key_e_size); + kfree(tdbp->tdb_key_e); } tdbp->tdb_key_e = NULL; if(tdbp->tdb_iv) { memset((caddr_t)(tdbp->tdb_iv), 0, tdbp->tdb_iv_size); - kfree_s(tdbp->tdb_iv, tdbp->tdb_iv_size); + // kfree_s(tdbp->tdb_iv, tdbp->tdb_iv_size); + kfree(tdbp->tdb_iv); } tdbp->tdb_iv = NULL; memset((caddr_t)tdbp, 0, sizeof(*tdbp)); - kfree_s(tdbp, sizeof(*tdbp)); + // kfree_s(tdbp, sizeof(*tdbp)); + kfree(tdbp); tdbp = NULL; return 0; diff -ruN freeswan-1.5.orig/klips/net/ipsec/pfkey_v2.c freeswan-1.5/klips/net/ipsec/pfkey_v2.c --- freeswan-1.5.orig/klips/net/ipsec/pfkey_v2.c Mon May 15 23:04:00 2000 +++ freeswan-1.5/klips/net/ipsec/pfkey_v2.c Thu Feb 22 13:36:22 2001 @@ -107,7 +107,8 @@ sockets = socket_listp->next; } - kfree_s((void*)socket_listp, sizeof(struct socket_list)); + // kfree_s((void*)socket_listp, sizeof(struct socket_list)); + kfree((void*)socket_listp); break; } @@ -288,7 +289,7 @@ printk(" len:%d", skb->len); printk(" csum:%d", skb->csum); printk(" used:%d", skb->used); - printk(" is_clone:%d", skb->is_clone); +// printk(" is_clone:%d", skb->is_clone); printk(" cloned:%d", skb->cloned); printk(" pkt_type:%d", skb->pkt_type); printk(" ip_summed:%d", skb->ip_summed); @@ -987,7 +988,8 @@ pfkey_upmsg(sockp->socket, pfkey_msg); sockp = sockp->next; } - kfree_s((void*)pfkey_msg, len); + // kfree_s((void*)pfkey_msg, len); + kfree((void*)pfkey_msg); } if(error) { diff -ruN freeswan-1.5.orig/klips/net/ipsec/pfkey_v2_parser.c freeswan-1.5/klips/net/ipsec/pfkey_v2_parser.c --- freeswan-1.5.orig/klips/net/ipsec/pfkey_v2_parser.c Tue May 30 14:36:56 2000 +++ freeswan-1.5/klips/net/ipsec/pfkey_v2_parser.c Thu Feb 22 13:36:22 2001 @@ -1021,7 +1021,8 @@ printk("klips_debug:pfkey_tdb_init: illegal weak des key\n"); if (error) { memset(tdbp->tdb_key_e, 0, sizeof(struct des_eks)); - kfree_s(tdbp->tdb_key_e, sizeof(struct des_eks)); + // kfree_s(tdbp->tdb_key_e, sizeof(struct des_eks)); + kfree(tdbp->tdb_key_e); memset(ekp, 0, DIVUP(tdbp->tdb_key_bits_e, BITS_PER_OCTET)); SENDERR(EINVAL); } @@ -1063,7 +1064,8 @@ printk("klips_debug:pfkey_tdb_init: illegal weak des key %d/3\n", i + 1); if (error) { memset(tdbp->tdb_key_e, 0, 3 * sizeof(struct des_eks)); - kfree_s(tdbp->tdb_key_e, 3 * sizeof(struct des_eks)); + // kfree_s(tdbp->tdb_key_e, 3 * sizeof(struct des_eks)); + kfree(tdbp->tdb_key_e); memset(ekp, 0, DIVUP(tdbp->tdb_key_bits_e, BITS_PER_OCTET)); SENDERR(EINVAL); } diff -ruN freeswan-1.5.orig/klips/net/ipsec/radij.c freeswan-1.5/klips/net/ipsec/radij.c --- freeswan-1.5.orig/klips/net/ipsec/radij.c Wed May 10 19:11:37 2000 +++ freeswan-1.5/klips/net/ipsec/radij.c Thu Feb 22 13:36:22 2001 @@ -917,7 +917,8 @@ { mknp2 = mknp; mknp = mknp->rm_mklist; - kfree_s(mknp2, sizeof(struct radij_mask)); + // kfree_s(mknp2, sizeof(struct radij_mask)); + kfree(mknp2); } } @@ -936,15 +937,18 @@ /* rj_walktree(mask_rjhead, ipsec_rj_walker_delete, NULL); */ if(mask_rjhead) { - kfree_s(mask_rjhead, sizeof(* mask_rjhead)); + // kfree_s(mask_rjhead, sizeof(* mask_rjhead)); + kfree(mask_rjhead); } if(rj_zeroes) { - kfree_s(rj_zeroes, 3 * sizeof(struct sockaddr_encap)); + // kfree_s(rj_zeroes, 3 * sizeof(struct sockaddr_encap)); + kfree(rj_zeroes); } error = radijcleartree(); - kfree_s(rnh, sizeof(* rnh)); + // kfree_s(rnh, sizeof(* rnh)); + kfree(rnh); return error; } diff -ruN freeswan-1.5.orig/klips/patches2.4/net.Config.in freeswan-1.5/klips/patches2.4/net.Config.in --- freeswan-1.5.orig/klips/patches2.4/net.Config.in Wed Dec 31 19:00:00 1969 +++ freeswan-1.5/klips/patches2.4/net.Config.in Thu Feb 22 13:35:48 2001 @@ -0,0 +1,11 @@ +--- net/Config.in.orig Fri Feb 9 14:34:13 2001 ++++ net/Config.in Thu Feb 22 13:32:56 2001 +@@ -88,4 +88,8 @@ + #bool 'Network code profiler' CONFIG_NET_PROFILE + endmenu + ++tristate 'IP Security Protocol (FreeS/WAN IPSEC)' CONFIG_IPSEC ++if [ "$CONFIG_IPSEC" != "n" ]; then ++ source net/ipsec/Config.in ++fi + endmenu diff -ruN freeswan-1.5.orig/klips/patches2.4/net.Makefile freeswan-1.5/klips/patches2.4/net.Makefile --- freeswan-1.5.orig/klips/patches2.4/net.Makefile Wed Dec 31 19:00:00 1969 +++ freeswan-1.5/klips/patches2.4/net.Makefile Thu Feb 22 13:36:22 2001 @@ -0,0 +1,20 @@ +--- ./net/Makefile.orig Fri Dec 29 17:07:24 2000 ++++ ./net/Makefile Tue Feb 13 13:29:07 2001 +@@ -7,7 +7,7 @@ + + O_TARGET := network.o + +-mod-subdirs := ipv4/netfilter ipv6/netfilter ipx irda atm netlink sched ++mod-subdirs := ipv4/netfilter ipv6/netfilter ipx irda atm netlink sched ipsec + export-objs := netsyms.o + + subdir-y := core ethernet +@@ -44,7 +44,7 @@ + subdir-$(CONFIG_ATM) += atm + subdir-$(CONFIG_DECNET) += decnet + subdir-$(CONFIG_ECONET) += econet +- ++subdir-$(CONFIG_IPSEC) += ipsec + + obj-y := socket.o $(join $(subdir-y), $(patsubst %,/%.o,$(notdir $(subdir-y)))) + ifeq ($(CONFIG_NET),y) diff -ruN freeswan-1.5.orig/klips/patches2.4/net.ipv4.af_inet.c freeswan-1.5/klips/patches2.4/net.ipv4.af_inet.c --- freeswan-1.5.orig/klips/patches2.4/net.ipv4.af_inet.c Wed Dec 31 19:00:00 1969 +++ freeswan-1.5/klips/patches2.4/net.ipv4.af_inet.c Thu Feb 22 13:36:22 2001 @@ -0,0 +1,20 @@ +--- ./net/ipv4/af_inet.c.orig Fri Aug 18 13:26:25 2000 ++++ ./net/ipv4/af_inet.c Mon Sep 11 08:00:31 2000 +@@ -1020,6 +1020,17 @@ + ip_mr_init(); + #endif + ++#if defined(CONFIG_IPSEC) ++ { ++ extern /* void */ int ipsec_init(void); ++ /* ++ * Initialise AF_INET ESP and AH protocol support including ++ * e-routing and SA tables ++ */ ++ ipsec_init(); ++ } ++#endif /* CONFIG_IPSEC */ ++ + /* + * Create all the /proc entries. + */ diff -ruN freeswan-1.5.orig/lib/Makefile.kernel freeswan-1.5/lib/Makefile.kernel --- freeswan-1.5.orig/lib/Makefile.kernel Thu Jun 15 23:09:17 2000 +++ freeswan-1.5/lib/Makefile.kernel Thu Feb 22 13:36:22 2001 @@ -13,41 +13,21 @@ # # RCSID $Id: Makefile.kernel,v 1.5 2000/06/16 03:09:17 rgb Exp $ -ifndef TOPDIR -TOPDIR := /usr/src/linux -endif +O_TARGET := libkernel.a +# export-objs := libkernel.a -L_TARGET := libkernel.a - -L_OBJS := ultoa.o addrtoa.o subnettoa.o subnetof.o goodmask.o datatoa.o \ +obj-y := ultoa.o addrtoa.o subnettoa.o subnetof.o goodmask.o datatoa.o \ rangetoa.o satoa.o pfkey_v2_parse.o pfkey_v2_build.o pfkey_v2_ext_bits.o HDRS=freeswan.h internal.h override CFLAGS += -I. -ifeq ($(DEBUG_IPSEC),y) -override CFLAGS += -g -endif - -override CFLAGS += -Wall -#override CFLAGS += -Wconversion -#override CFLAGS += -Wmissing-prototypes -override CFLAGS += -Wpointer-arith -#override CFLAGS += -Wcast-qual -#override CFLAGS += -Wmissing-declarations -override CFLAGS += -Wstrict-prototypes -#override CFLAGS += -pedantic -#override CFLAGS += -O3 -#override CFLAGS += -W -#override CFLAGS += -Wwrite-strings -override CFLAGS += -Wbad-function-cast - include $(TOPDIR)/Rules.make -$(L_OBJS): $(HDRS) +## $(L_OBJS): $(HDRS) -clean: - rm -f $(L_TARGET) *.o try* core *.core - ( cd des && $(MAKE) clean ) +## clean: + ## rm -f $(L_TARGET) *.o try* core *.core + ## ( cd des && $(MAKE) clean ) diff -ruN freeswan-1.5.orig/lib/freeswan.h freeswan-1.5/lib/freeswan.h --- freeswan-1.5.orig/lib/freeswan.h Tue Mar 14 07:27:00 2000 +++ freeswan-1.5/lib/freeswan.h Thu Feb 22 13:36:22 2001 @@ -51,6 +51,10 @@ # endif #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0) +#define NET_24 +#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0) #define NETDEV_23 #endif