]> granicus.if.org Git - sudo/commitdiff
Add check for getresuid() declaration, which may be missing on HP-UX.
authorTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 6 Feb 2015 18:33:30 +0000 (11:33 -0700)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Fri, 6 Feb 2015 18:33:30 +0000 (11:33 -0700)
When checking for getdomainname() prototype, look in netdb.h too.

config.h.in
configure
configure.ac
include/sudo_compat.h

index 371c07a4abeceb76519356d01993418d19aeb34b..884030c97245f31fe1ef3c2a369bd1dcd2771220 100644 (file)
    don't. */
 #undef HAVE_DECL_GETDOMAINNAME
 
+/* Define to 1 if you have the declaration of `getresuid', and to 0 if you
+   don't. */
+#undef HAVE_DECL_GETRESUID
+
 /* Define to 1 if you have the declaration of `HOST_NAME_MAX', and to 0 if you
    don't. */
 #undef HAVE_DECL_HOST_NAME_MAX
index d3666f6676a91b507e2d55e730b098540eb2f8f4..fdfe9b847f42dd2b05e9a25f054a07fafea5e167 100755 (executable)
--- a/configure
+++ b/configure
@@ -18630,6 +18630,16 @@ do :
 if test "x$ac_cv_func_getresuid" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_GETRESUID 1
+_ACEOF
+ ac_fn_c_check_decl "$LINENO" "getresuid" "ac_cv_have_decl_getresuid" "$ac_includes_default"
+if test "x$ac_cv_have_decl_getresuid" = xyes; then :
+  ac_have_decl=1
+else
+  ac_have_decl=0
+fi
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_DECL_GETRESUID $ac_have_decl
 _ACEOF
 
 fi
@@ -18763,7 +18773,11 @@ if test "x$ac_cv_func_getdomainname" = xyes; then :
 #define HAVE_GETDOMAINNAME 1
 _ACEOF
 
-    ac_fn_c_check_decl "$LINENO" "getdomainname" "ac_cv_have_decl_getdomainname" "$ac_includes_default"
+    ac_fn_c_check_decl "$LINENO" "getdomainname" "ac_cv_have_decl_getdomainname" "
+$ac_includes_default
+#include <netdb.h>
+
+"
 if test "x$ac_cv_have_decl_getdomainname" = xyes; then :
   ac_have_decl=1
 else
index 48e263b27c3526a606929fed634264d7c8f1364f..38f816043caf61184dae0f38d5e791bb73988513 100644 (file)
@@ -2458,7 +2458,7 @@ if test -z "$SKIP_SETRESUID"; then
     AC_CHECK_FUNCS([setresuid], [
        SKIP_SETREUID=yes
        AC_CHECK_DECLS([setresuid])
-       AC_CHECK_FUNCS([getresuid])
+       AC_CHECK_FUNCS([getresuid], [AC_CHECK_DECLS([getresuid])])
     ])
 fi
 if test -z "$SKIP_SETREUID"; then
@@ -2490,7 +2490,10 @@ AC_INCLUDES_DEFAULT
     ])
 ])
 AC_CHECK_FUNCS([getdomainname], [
-    AC_CHECK_DECLS([getdomainname])
+    AC_CHECK_DECLS([getdomainname], [], [], [
+AC_INCLUDES_DEFAULT
+#include <netdb.h>
+    ])
 ], [
     AC_CHECK_FUNCS([sysinfo], [AC_CHECK_HEADERS([sys/systeminfo.h])])
 ])
index c79777cbe705613189dc8ae7b4acc2d96f83a3f6..f20513dcc14868ef151db572e4520c79f98b0f02 100644 (file)
@@ -343,8 +343,12 @@ extern int errno;
  * Older HP-UX does not declare setresuid() or setresgid().
  */
 #if defined(HAVE_DECL_SETRESUID) && !HAVE_DECL_SETRESUID
-int setresuid(uid_t ruid, uid_t euid, uid_t suid);
-int setresgid(gid_t rgid, gid_t egid, gid_t sgid);
+int setresuid(uid_t, uid_t, uid_t);
+int setresgid(gid_t, gid_t, gid_t);
+#endif
+#if defined(HAVE_DECL_GETRESUID) && !HAVE_DECL_GETRESUID
+int getresuid(uid_t *, uid_t *, uid_t *);
+int getresgid(gid_t *, gid_t *, gid_t *);
 #endif
 
 /*