[PATCH app-xdm 6/6] config: use AC_CHECK_FUNCS for mkstemp, getifaddrs and getspnam

Alan Coopersmith alan.coopersmith at oracle.com
Tue Oct 26 13:00:17 PDT 2010


Gaetan Nadon wrote:
> Using AC_CHECK_FUNCS defines HAVE_xxx macro in config.h following
> a consistent naming convention.
> 
> Signed-off-by: Gaetan Nadon <memsize at videotron.ca>
> ---
>  auth.c           |   14 +++++++-------
>  configure.ac     |   15 ++-------------
>  greet.h          |    6 +++---
>  greeter/greet.c  |    4 ++--
>  greeter/verify.c |    8 ++++----
>  session.c        |    4 ++--
>  6 files changed, 20 insertions(+), 31 deletions(-)
> 
> diff --git a/auth.c b/auth.c
> index 1cf03e8..ed3d891 100644
> --- a/auth.c
> +++ b/auth.c
> @@ -318,7 +318,7 @@ MakeServerAuthFile (struct display *d, FILE ** file)
>  #endif
>      char    cleanname[NAMELEN];
>      int r;
> -#ifdef HAS_MKSTEMP
> +#ifdef HAVE_MKSTEMP
>      int fd;
>  #endif
>      struct stat	statb;
> @@ -368,7 +368,7 @@ MakeServerAuthFile (struct display *d, FILE ** file)
>  	    }
>  	    snprintf (d->authFile, len, "%s/%s/%s/A%s-XXXXXX",
>  		      authDir, authdir1, authdir2, cleanname);
> -#ifdef HAS_MKSTEMP
> +#ifdef HAVE_MKSTEMP
>  	    fd = mkstemp (d->authFile);
>  	    if (fd < 0) {
>  		LogError ("cannot make authentication file %s: %s\n",
> @@ -809,7 +809,7 @@ DefineLocal (FILE *file, Xauth *auth)
>  	writeAddr (FamilyLocal, len, displayname, file, auth);
>  }
>  
> -#ifdef HAS_GETIFADDRS
> +#ifdef HAVE_GETIFADDRS
>  # include <ifaddrs.h>
>  
>  static void
> @@ -1209,7 +1209,7 @@ DefineSelf (int fd, int file, int auth)
>  #   endif /* SIOCGIFCONF else */
>  #  endif /* WINTCP else */
>  # endif /* STREAMSCONN && !SYSV_SIOCGIFCONF else */
> -#endif /* HAS_GETIFADDRS */
> +#endif /* HAVE_GETIFADDRS */
>  
>  static void
>  setAuthNumber (Xauth *auth, char *name)
> @@ -1313,7 +1313,7 @@ SetUserAuthorization (struct display *d, struct verify_info *verify)
>      int		i;
>      int		magicCookie;
>      int		data_len;
> -#ifdef HAS_MKSTEMP
> +#ifdef HAVE_MKSTEMP
>      int		fd;
>  #endif
>  
> @@ -1348,7 +1348,7 @@ SetUserAuthorization (struct display *d, struct verify_info *verify)
>  	if (lockStatus != LOCK_SUCCESS) {
>  	    snprintf (backup_name, sizeof(backup_name),
>  		      "%s/.XauthXXXXXX", d->userAuthDir);
> -#ifdef HAS_MKSTEMP
> +#ifdef HAVE_MKSTEMP
>  	    fd = mkstemp (backup_name);
>  	    if (fd >= 0) {
>  		old = fdopen (fd, "r");
> @@ -1378,7 +1378,7 @@ SetUserAuthorization (struct display *d, struct verify_info *verify)
>  			if (new != NULL)
>  			    (void) fclose (new);
>  		    }
> -#ifdef HAS_MKSTEMP
> +#ifdef HAVE_MKSTEMP
>  		} else {
>  		    (void) fclose (old);
>  #endif
> diff --git a/configure.ac b/configure.ac
> index 4c7f04e..058eeed 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -91,7 +91,8 @@ AC_TYPE_SIGNAL
>  #
>  # Required system libraries have been searched for and are listed in $LIBS
>  #------------------------------------------------------------------------------
> -AC_CHECK_FUNCS([daemon sigaction openlog asprintf setproctitle setusercontext])
> +AC_CHECK_FUNCS([daemon sigaction openlog asprintf setproctitle setusercontext \
> +                mkstemp getifaddrs getspnam])
>  
>  #------------------------------------------------------------------------------
>  
> @@ -104,18 +105,6 @@ CHOOSER_CFLAGS="$CHOOSER_CFLAGS"
>  
>  AC_FUNC_FORK
>  
> -dnl If you're looking here because you got a message that said
> -dnl 'error: possibly undefined macro: AC_DEFINE', the source of
> -dnl your problem is not here.   You need to upgrade to pkgconfig 0.18
> -dnl or later to get an updated pkg.m4 with PKG_CHECK_EXISTS defined.
> -dnl See http://www.mail-archive.com/autoconf@gnu.org/msg13413.html
> -AC_CHECK_FUNC(mkstemp, AC_DEFINE(HAS_MKSTEMP,1,
> -	[Define to 1 if you have the 'mkstemp' function.]))
> -AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAS_GETIFADDRS,1,
> -	[Define to 1 if you have the 'getifaddrs' function.]))
> -AC_CHECK_FUNC(getspnam, AC_DEFINE(USESHADOW,1,
> -	[Define to 1 if you have the shadow password functions.]))
> -
>  XTRANS_CONNECTION_FLAGS
>  dnl Sets $SECURE_RPC to "yes" or "no"
>  XTRANS_SECURE_RPC_FLAGS
> diff --git a/greet.h b/greet.h
> index bf3ddd1..6b6689e 100644
> --- a/greet.h
> +++ b/greet.h
> @@ -74,7 +74,7 @@ struct dlfuncs {
>      SETGRENT_TYPE (*_setgrent)(void);		/* no longer used */
>      struct group *(*_getgrent)(void);	/* no longer used */
>      void (*_endgrent)(void);		/* no longer used */
> -#ifdef USESHADOW
> +#ifdef HAVE_GETSPNAM
>      struct spwd *(*_getspnam)(GETSPNAM_ARGS);
>  # ifndef QNX4
>      void (*_endspent)(void);
> @@ -158,7 +158,7 @@ extern	void    (*__xdm_LogOutOfMem)(const char * fmt, ...);
>  extern	void    (*__xdm_setgrent)(void);
>  extern	struct group    *(*__xdm_getgrent)(void);
>  extern	void    (*__xdm_endgrent)(void);
> -# ifdef USESHADOW
> +# ifdef HAVE_GETSPNAM
>  extern	struct spwd   *(*__xdm_getspnam)(GETSPNAM_ARGS);
>  #  ifndef QNX4
>  extern	void    (*__xdm_endspent)(void);
> @@ -200,7 +200,7 @@ extern  pam_handle_t    **(*__xdm_thepamhp)(void);
>  # define	setgrent		(*__xdm_setgrent)
>  # define	getgrent		(*__xdm_getgrent)
>  # define	endgrent		(*__xdm_endgrent)
> -# ifdef USESHADOW
> +# ifdef HAVE_GETSPNAM
>  #  define	getspnam		(*__xdm_getspnam)
>  #  ifndef QNX4
>  #   define	endspent		(*__xdm_endspent)
> diff --git a/greeter/greet.c b/greeter/greet.c
> index 6e29b05..d8ebb41 100644
> --- a/greeter/greet.c
> +++ b/greeter/greet.c
> @@ -119,7 +119,7 @@ void    (*__xdm_LogOutOfMem)(const char * fmt, ...) = NULL;
>  void    (*__xdm_setgrent)(void) = NULL;
>  struct group    *(*__xdm_getgrent)(void) = NULL;
>  void    (*__xdm_endgrent)(void) = NULL;
> -# ifdef USESHADOW
> +# ifdef HAVE_GETSPNAM
>  struct spwd   *(*__xdm_getspnam)(GETSPNAM_ARGS) = NULL;
>  #  ifndef QNX4
>  void   (*__xdm_endspent)(void) = NULL;
> @@ -460,7 +460,7 @@ greet_user_rtn GreetUser(
>      __xdm_setgrent = dlfuncs->_setgrent;
>      __xdm_getgrent = dlfuncs->_getgrent;
>      __xdm_endgrent = dlfuncs->_endgrent;
> -# ifdef USESHADOW
> +# ifdef HAVE_GETSPNAM
>      __xdm_getspnam = dlfuncs->_getspnam;
>  #  ifndef QNX4
>      __xdm_endspent = dlfuncs->_endspent;
> diff --git a/greeter/verify.c b/greeter/verify.c
> index 6e3f14b..dee035a 100644
> --- a/greeter/verify.c
> +++ b/greeter/verify.c
> @@ -43,7 +43,7 @@ from The Open Group.
>  #if defined(USE_PAM)
>  # include	<security/pam_appl.h>
>  # include	<stdlib.h>
> -#elif defined(USESHADOW)
> +#elif defined(HAVE_GETSPNAM)
>  # include	<shadow.h>
>  # include	<errno.h>
>  #elif defined(USE_BSDAUTH)
> @@ -326,7 +326,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
>  {
>  	struct passwd	*p;
>  # ifndef USE_PAM
> -#  ifdef USESHADOW
> +#  ifdef HAVE_GETSPNAM
>  	struct spwd	*sp;
>  #  endif
>  	char		*user_pass = NULL;
> @@ -450,7 +450,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
>  		}
>  	}
>  #  endif
> -#  ifdef USESHADOW
> +#  ifdef HAVE_GETSPNAM
>  	errno = 0;
>  	sp = getspnam(greet->name);
>  	if (sp == NULL) {
> @@ -461,7 +461,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
>  #   ifndef QNX4
>  	endspent();
>  #   endif  /* QNX4 doesn't need endspent() to end shadow passwd ops */
> -#  endif /* USESHADOW */
> +#  endif /* HAVE_GETSPNAM */
>  #  if defined(ultrix) || defined(__ultrix__)
>  	if (authenticate_user(p, greet->password, NULL) < 0)
>  #  else
> diff --git a/session.c b/session.c
> index e0ab4bc..bdafd0b 100644
> --- a/session.c
> +++ b/session.c
> @@ -129,7 +129,7 @@ extern	struct group	*getgrent(void);
>  extern	void	endgrent(void);
>  #endif
>  
> -#ifdef USESHADOW
> +#ifdef HAVE_GETSPNAM
>  # if defined(SVR4)
>  #  include <shadow.h>
>  # else
> @@ -192,7 +192,7 @@ static	struct dlfuncs	dlfuncs = {
>  	setgrent,
>  	getgrent,
>  	endgrent,
> -#ifdef USESHADOW
> +#ifdef HAVE_GETSPNAM
>  	getspnam,
>  # ifndef QNX4
>  	endspent,

Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>

-- 
	-Alan Coopersmith-        alan.coopersmith at oracle.com
	 Oracle Solaris Platform Engineering: X Window System



More information about the xorg-devel mailing list