On Wed, 17 Feb 1999, Greg Zornetzer wrote:

> The problem is that libwrap.a has a function in it called setenv.  Why
> someone chose to put a function with that name in, I have no clue.

Because it is comparatively new compared to getenv, putenv and
some old systems turned out not to have it.

> Anyway, when diald is compiled, instead of using the setenv command in
> libc, like we should, this other setenv from libwrap gets used.  It goes
> into infinite recursion for some unknown reason, and bam!, a SIG11 when
> the process runs out of stack space.

I guess the glibc boys did the reverse and implement putenv in
terms of setenv. So libwrap maps setenv to putenv and libc then
maps putenv right back to setenv and libwrap maps...

>   So, there are a couple of ways around this problem.  As I mentioned
> above, compile without tcp wrapper support for now.  Or, someone could go
> in and modify all of the setenv calls in diald to call putenv.

No! putenv() means you have to mess about setting up your own
char strings etc.

> Or, someone could fix libwrap so that it doesn't contain braindead-named
> functions.  I may attempt the second option if I get some time (although
> probably not very soon).

This is the easy one: ar d /usr/lib/libwrap.a setenv.o
  
> I'm rather curious why not all of the people running diald with
> tcp-wrapper support are seeing this problem <shrug>

In my case it's because my libwrap.a doesn't have setenv.o in
it to start with. This is strange since it doesn't appear to be
optional anywhere in the build process. Since I built it myself
something over a year ago I can only conclude I was paying
stupid amounts of attention to what was happening at the time :-).

                                Mike

-- 
.----------------------------------------------------------------------.
| Mike Jagdis                   | Internet: [EMAIL PROTECTED]  |
| 280, Silverdale Road, Earley, | Voice:    +44 118 926 6996           |
| Reading RG6 7NU ENGLAND       | Work:     +44 118 989 0403           |
`----------------------------------------------------------------------'


-
To unsubscribe from this list: send the line "unsubscribe linux-diald" in
the body of a message to [EMAIL PROTECTED]

Reply via email to