This was introduced by checking the Kerberos 5 checksum as a
alternative to the 8003 checksum.
Thanks to MIT Kerberos and Shawn Emery for forwarding this issue
We are building both 32-bit and 64-bit binaries. The output directory
is no longer called out32. Instead it's just called 'out'. Also
support deeper directories.
When using WinSock, a socket is not a file descriptor and does not
interoperate with read()/write(). File descriptors do not work with
send()/recv(). However, for net_read() and net_write(), we don't know
whether we are dealing with a socket or a file descriptor. So try
one, and if it fails, try the other.
This is an ugly hack until we clean up the users of this API so it
doesn't use sockets and fds interchangably.
On Windows, some (external) APIs get confused if we mix both back and
forward slashes. When expanding path tokens we use back-slashes for
token expansions because they come from the OS. For consistency, fix
the path so that the remaining path separators are also backslashes.
HAVE_WINDNS is defined when we want to use DNSAPI on Windows which
handles most of the resolver work for us.
NO_LIMIT_FD_SETSIZE is defined if the value of a socket FD does not
imply anything about the number of sockets so far assigned.
I.e. checking if the socket is larger than FD_SETSIZE is incorrect.
Don't explicitly include system headers in hash.h. These get pulled
in anyway through roken.h, and explicitly including them here makes
compiling hcrypto in the kernel much harder.
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
The fortuna PRNG has an statically held internal state. Prevent
concurrent access to this internal state by adding mutexes around
all of the access classes.
Signed-off-by: Love Hornquist Astrand <lha@h5l.org>