Mercurial > dovecot > core-2.2
changeset 3237:2f57438d9542 HEAD
Added setegid() emulation for HP-UX.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 27 Mar 2005 17:42:20 +0300 |
parents | f6eb50f0d2c0 |
children | 889a584bd953 |
files | configure.in src/lib/compat.c src/lib/compat.h |
diffstat | 3 files changed, 19 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/configure.in Sun Mar 27 17:36:56 2005 +0300 +++ b/configure.in Sun Mar 27 17:42:20 2005 +0300 @@ -277,8 +277,8 @@ dnl * after -lsocket and -lnsl tests, inet_aton() may be in them AC_CHECK_FUNCS(fcntl flock lockf inet_aton sigaction getpagesize madvise \ strcasecmp stricmp vsnprintf vsyslog writev pread \ - setrlimit setproctitle seteuid setreuid strtoull strtouq \ - setpriority) + setrlimit setproctitle seteuid setreuid setegid setresgid \ + strtoull strtouq setpriority) dnl * I/O loop function have_ioloop=no
--- a/src/lib/compat.c Sun Mar 27 17:36:56 2005 +0300 +++ b/src/lib/compat.c Sun Mar 27 17:42:20 2005 +0300 @@ -174,6 +174,18 @@ } #endif +#ifndef HAVE_SETEGID +int my_setegid(gid_t egid) +{ +#ifdef HAVE_SETRESGID + /* HP-UX at least doesn't have setegid() but has setresgid() */ + return setresgid(-1, egid, -1); +#else +# error Missing setegid functionality +#endif +} +#endif + #ifndef HAVE_LIBGEN_H char *my_basename(char *path) {
--- a/src/lib/compat.h Sun Mar 27 17:36:56 2005 +0300 +++ b/src/lib/compat.h Sun Mar 27 17:42:20 2005 +0300 @@ -113,6 +113,11 @@ int my_seteuid(uid_t euid); #endif +#ifndef HAVE_SETEGID +# define setegid my_setegid +int my_setegid(gid_t egid); +#endif + #ifndef HAVE_LIBGEN_H # define basename my_basename char *my_basename(char *path);