Description: Get source building on Hurd - Look for before using it. - Define MAXHOSTNAMELEN to 64 if missing. - Bind sockets on Hurd like on Linux. Author: Petter Reinholdtsen Forwarded: not-needed Last-Update: 2022-08-11 --- a/src/auth_unix.c +++ b/src/auth_unix.c @@ -56,6 +56,11 @@ #include #include +/* Workaround for Hurd */ +#ifndef MAXHOSTNAMELEN +# define MAXHOSTNAMELEN 64 +#endif + /* auth_unix.c */ static void authunix_nextverf (AUTH *); static bool_t authunix_marshal (AUTH *, XDR *); --- a/src/bindresvport.c +++ b/src/bindresvport.c @@ -64,7 +64,7 @@ return bindresvport_sa(sd, (struct sockaddr *)sin); } -#ifdef __linux__ +#if defined(__linux__) || defined(__GNU__) #define STARTPORT 600 #define LOWPORT 512 --- a/src/getpeereid.c +++ b/src/getpeereid.c @@ -25,10 +25,14 @@ */ +#include "config.h" + #include #include #include -#include +#ifdef HAVE_SYS_USER_H +# include +#endif /* HAVE_SYS_USER_H */ #include #include @@ -36,6 +40,9 @@ int getpeereid(int s, uid_t *euid, gid_t *egid) { +#ifndef HAVE_SYS_USER_H + return(-1); +#else #ifdef XUCRED_VERSION struct xucred uc; #define uid cr_uid @@ -59,4 +66,5 @@ *euid = uc.uid; *egid = uc.gid; return (0); +#endif /* HAVE_SYS_USER_H */ } --- a/configure.ac +++ b/configure.ac @@ -93,7 +93,7 @@ AC_PROG_LIBTOOL AC_HEADER_DIRENT AC_PREFIX_DEFAULT(/usr) -AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h gssapi/gssapi_ext.h]) +AC_CHECK_HEADERS([arpa/inet.h fcntl.h libintl.h limits.h locale.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h syslog.h unistd.h features.h gssapi/gssapi_ext.h sys/user.h]) AX_PTHREAD AC_CHECK_FUNCS([getrpcbyname getrpcbynumber setrpcent endrpcent getrpcent])