Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: linux-ipsec: Latest snapshot and 2.0.35

From: Michael H. Warfield <mhw(at)alcove.wittsend.com>
Date: Wed Jul 29 1998 - 13:16:45 EDT


Richard Guy Briggs enscribed thusly:

> > Michael H. Warfield enscribed thusly:

> > > RedHat 4.2:

> > > wittsend:/# insmod ipsec
> > > /lib/modules/2.0.35/misc/ipsec.o: unresolved symbol strcpy
> > > wittsend:/# uname -a
> > > Linux wittsend.wittsend.com 2.0.35 #4 Wed Jul 29 11:27:16 EDT 1998 i486 unknown
> > > wittsend:/#
> >
> > > RedHat 5.1:
> >
> > > [root@rebma /root]# insmod ipsec
> > > /lib/modules/2.0.35/misc/ipsec.o: unresolved symbol htonl
> > > /lib/modules/2.0.35/misc/ipsec.o: unresolved symbol strcpy
> > > /lib/modules/2.0.35/misc/ipsec.o: unresolved symbol ntohl
> > > [root@rebma /root]#

> > > Ok... A show stopper on both versions is that reference to strcpy...

> > > On 5.1... Both htonl and ntohl are suppose to be macros (I

> > I've tracked down all three unresolved symbols to the libkernel.a
> > file in the freeswan lib directory and which is included in building the
> > ipsec.o file. Is this library suppose to be referenced from modules in
> > both kernel space and user space? We got a problem there if they are.

> > I understand that some of the recent stuff with address conversion and
> > parsing are at the heart of some of the routines in that directory. The
> > ntohl and htonl problems are probably just a missing or changed header
> > file when moving to glibc 6, and I'm looking into that one now. The reference
> > to strcpy seems more problematical. It's referenced by several of the .c
> > files in that directory but, aparently, is unavailable to a kernel module.
> > This one affects both libc5 and glibc6 systems so I would guess a header
> > file fix is not going to solve this one. Thoughts on a work around?

> The strcpy is under control. I have written short substitutions. As for

Do you need help?X

        Well... I'm glad you've got the strcpy under control. I tracked down the ntohl and htonl stuff... This is a merry $#@#@ mess... The source files in the freeswan lib directory should be including "netinet/in.h" for user space compiles and "linux/in.h" for the kernel space compiles. Aparently the new glibc stuff is using a function in the little endian case and defining the extern. OTOH the linux headers ultimately suck in some inline assembly for byteswaping in the little endian case for the kernel. There are actually four files which reference those two functions: atoaddr.c, addrtoa.c, atoasr.c, and goodmask.c. Hand patching those four files fixed those two unresolved externs but the other source files probably should also be switched to reference <linux/in.h> when compiling for the kernel as well... Probably need to plug in an __kernel__ switch on that header file include...

        Your serve...

> > Mike

> slainte mhath, RGB

        Mike

-- 
 Michael H. Warfield    |  (770) 985-6132   |  mhw@WittsEnd.com
  (The Mad Wizard)      |  (770) 925-8248   |  
http://www.wittsend.com/mhw/
  NIC whois:  MHW9      |  An optimist believes we live in the best of all
 PGP Key: 0xDF1DD471    |  possible worlds.  A pessimist is sure of it!
Received on Wed Jul 29 18:11:36 1998

This archive was generated by hypermail 2.1.8 : Wed Aug 23 2006 - 12:59:25 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library