[Bug 146] OpenSSH 3.1p1 will not build on BSD/OS 4.2/4.1/4.01
bugzilla-daemon at mindrot.org
bugzilla-daemon at mindrot.org
Fri Mar 8 11:38:29 EST 2002
http://bugzilla.mindrot.org/show_bug.cgi?id=146
------- Additional Comments From spike at indra.com 2002-03-08 11:38 -------
> I just went through someone with this problem. And HAVE_BOGUS_SYS_QUEUE_H
> worked for them. However you must have BOTH HAVE_SYS_QUEUE_H and
> HAVE_BOGUS_SYS_QUEUE_H set.
I tried this, and had no luck. As a test I even removed the #ifdefs
in ssh-agent.c to force fake-queue.h to be included. If I'm reading
gcc -E right, and it's been a long time since I have, the problem lies
in <sys/queue.h> getting included before fake-queue.h. The include
path looks like:
includes.h -> config.h -> defines.h -> <netinet/in.h> ->
<netinet6/in6.h> -> <sys/queue.h>
Then <sys/queue.h> defines _SYS_QUEUE_H_ so that when fake-queue.h,
it's all ifdef'ed out (and of course it would explode if both were
included).
I pasted the define for TAILQ_FOREACH into ssh-agent.c and it compiles
fine. So it's probably just a case of finding a more graceful way of
doing that.
> As for INADDR_LOOPBACK. I'd like to know where on BSD/OS that is defined
> so we can check and include it correctly.
It's defined in <rpc/types.h>:
#ifndef INADDR_LOOPBACK
#define INADDR_LOOPBACK (u_long)0x7F000001
#endif
I included that in defines.h and it compiled as well.
Having done that I installed 3.1p1. The server works fine, but the
clients all failed with:
(rand child) setuid: Operation not permitted
ssh-rand-helper child produced insufficient data
Removing the setuid bit from "ssh" solved this problem. Digging a
little deeper it looks like original_uid and original_euid are never
initialized.
->Spike
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the openssh-unix-dev
mailing list