Pontus Skoeld wrote:
after my initial problems with compiling lsh-1.5.3 are solved now, I thought I'll give tcpwrappers a try. Actually, I want to run lsh thru Dan Bernsteins tcpserver [1], and my assumption is that enabling tcpwrappers support for lsh will allow me to do this. If I'm completely wrong here - how can I do it anyway? :)
No, it won't, (at least for you to be able to use tcpserver, lshd would have to accept to handle one session from stdin/stdout and then exit, which it doesn't).
Ok, I wasn't sure about what the tcpwrappers support exactly means. I thought it would be similar to compiling in an inetd compatibility mode, but thats obviously wrong.
If you just want to use the wrapper functionality of tcpserver (and don't want to use tcpwrappers instead), you could let your lshd listen on a local interface and have tcpserver run a program that just sets up a tcp connection to lshd and copy data from/to stdin/out to/from the network (tcpcat seems to be suitable, netcat and tcpconnect are other alternatives).
Hmm ok, maybe I'll give this one a try.
make[4]: Entering directory `/usr/local/src/lsh-1.5.3/src' gcc -O2 -march=i386 -mcpu=i686 -fPIC -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast -Wnested-externs -Wl,-rpath,/usr/local/lib -L/usr/X11R6/lib -o lsh lsh.o liblsh.a spki/libspki.a nettle/libnettle.a -lpam -lutil -lcrypt -lXau -lwrap -lz -loop -lgmp /usr/lib/gcc-lib/i386-redhat-linux/2.96/../../../libwrap.a(hosts_access.o): In function `host_match': hosts_access.o(.text+0x616): undefined reference to `yp_get_default_domain' collect2: ld returned 1 exit status make[4]: *** [lsh] Error 1 make[4]: Leaving directory `/usr/local/src/lsh-1.5.3/src' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/usr/local/src/lsh-1.5.3/src' make[2]: *** [all] Error 2 make[2]: Leaving directory `/usr/local/src/lsh-1.5.3/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/lsh-1.5.3' make: *** [all] Error 2
What's the problem here?
This seems rather strange, considering that it's lsh (not lshd) you're building, and it shouldn't really have need anything from libwrap, but most likely linking with libnsl (i.e. adding -lnsl to LDFLAGS) will help (possibly throwing in -lsocket if -lnsl alone doesn't help).
Setting LDFLAGS="-lnsl" before configuring lsh with tcpwrappers support works. So thats a problem with the configure script? Shouldn't it work out all the libraries needed?
Thanks a lot for the help and suggestions, Pontus!
Best regards Jochen