[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Heimdal on ULTRIX
Brian A May <bmay@dgs.monash.edu.au> writes:
> Several days ago, I started compiling Heimdal 0.1l on my MIP Ultrix 4.4
> workstation (no - it is not very fast). So far, I have routinely
> encountered two problems (ie Ultrix brokenness) with include files -
We used to say that if your code built and worked on both Ultrix and
Unicos you could be pretty sure it would work on any Unix. :-)
> 1. <sys/socket.h> and <netdb.h> cannot be included multiple times
> without generating errors. However, these include files are included
> multiple times, in roken.h + other file. As all system dependant include
> files are included in roken.h, and as roken.h seems to be included almost
> everywhere, I think the duplicates can be removed. (other include
> files are also duplicated, these two are the only ones that cause
> problems).
Yes, we worked around the broken <sys/socket.h> in krb4. We can steal
the same kludge for heimdal.
> 2. <syslog.h> only includes some definitions. <sys/syslog.h> is required
> for other definitions. Actually, the two files overlap and produce
> a lot of warnings, but at least these aren't errors.
Hm, I don't remember having seen this before.
> Other problems:
> [554] [dec16:bmay] ~/heimdal/build/appl/rsh >./rsh snoopy.apana.org.au -x -lbam date
> socket: Permission denied
> socket: Permission denied
> rsh: kshell/tcp unknown service, using default port 544
> Thu Aug 5 12:21:16 EST 1999
>
> !!!!!! What is going on here ???? The best I have found (quick glance) is
> s = socket (AF_INET, SOCK_STREAM, 0);
> if (s < 0)
> err (1, "socket");
> [...]
> errsock = socket (AF_INET, SOCK_STREAM, 0);
> if (errsock < 0)
> err (1, "socket");
>
> In which case, nothing should work???? Also, my shutdown fix doesn't
> appear to work on this platform (connections that use STDIN do not shutdown).
> Don't ask me why...
I think what you're seeing here is the two calls to `rresvport' at the
begin of main(). To be able to handle `bsd-style' privledged port
"authentication" in rsh, it always tries to allocate two ports at then
does setuid().
> Also: linking kadmin fails because strptime is undefined.
Hm, another function to implement in roken.
> What does work: kinit, klist, telnet. I think I had better stop after this
> next one and get `real' work done ;-). Probably due to roken.h
> being included *after* common.h
Ok, socket stuff has moved in roken so I don't think this should occur
any longer.
/assar