summaryrefslogtreecommitdiff
path: root/app/xdm/greet.h
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2011-11-15 20:53:46 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2011-11-15 20:53:46 +0000
commite2b9e6a531074d39884bbfb9fceea5452477e6e1 (patch)
tree93d4e50881a61fc7863419ba72c5fb77a21c7f43 /app/xdm/greet.h
parent94d97c4f735232b43d7c8cb8fb1b1262e25850a0 (diff)
Update to xdm 1.1.11 plus a few patches from git master.
patched to restore static greeter. Tested by shadchin@, jasper@
Diffstat (limited to 'app/xdm/greet.h')
-rw-r--r--app/xdm/greet.h218
1 files changed, 0 insertions, 218 deletions
diff --git a/app/xdm/greet.h b/app/xdm/greet.h
deleted file mode 100644
index bf3ddd104..000000000
--- a/app/xdm/greet.h
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
-
-Copyright 1994, 1998 The Open Group
-
-Permission to use, copy, modify, distribute, and sell this software and its
-documentation for any purpose is hereby granted without fee, provided that
-the above copyright notice appear in all copies and that both that
-copyright notice and this permission notice appear in supporting
-documentation.
-
-The above copyright notice and this permission notice shall be included
-in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR
-OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
-
-Except as contained in this notice, the name of The Open Group shall
-not be used in advertising or otherwise to promote the sale, use or
-other dealings in this Software without prior written authorization
-from The Open Group.
-
-*/
-
-/*
- * greet.h - interface to xdm's dynamically-loadable modular greeter
- */
-#include <pwd.h>
-#include <X11/Xlib.h>
-
-/*
- * Do this rather than break a build over a const-mismatch
- */
-#if defined(__linux__) || defined(CSRG_BASED) || (defined(sun) && defined(SVR4))
-# define CRYPT_ARGS const char *s1, const char *s2
-# define GETSPNAM_ARGS const char *name
-# define GETPWNAM_ARGS const char *name
-#else
-# define CRYPT_ARGS /*unknown*/
-# define GETSPNAM_ARGS /*unknown*/
-# define GETPWNAM_ARGS /*unknown*/
-#endif
-
-#if defined(__FreeBSD__) || defined(__bsdi__) || defined(__osf__)
-# define SETGRENT_TYPE int
-#else
-# define SETGRENT_TYPE void
-#endif
-
-struct dlfuncs {
- int (*_PingServer)(struct display *d, Display *alternateDpy);
- void (*_SessionPingFailed)(struct display *d);
- void (*_Debug)(const char * fmt, ...);
- void (*_RegisterCloseOnFork)(int fd);
- void (*_SecureDisplay)(struct display *d, Display *dpy);
- void (*_UnsecureDisplay)(struct display *d, Display *dpy);
- void (*_ClearCloseOnFork)(int fd);
- void (*_SetupDisplay)(struct display *d);
- void (*_LogError)(const char * fmt, ...);
- void (*_SessionExit)(struct display *d, int status, int removeAuth);
- void (*_DeleteXloginResources)(struct display *d, Display *dpy);
- int (*_source)(char **environ, char *file);
- char **(*_defaultEnv)(void);
- char **(*_setEnv)(char **e, char *name, char *value);
- char **(*_putEnv)(const char *string, char **env);
- char **(*_parseArgs)(char **argv, char *string);
- void (*_printEnv)(char **e);
- char **(*_systemEnv)(struct display *d, char *user, char *home);
- void (*_LogOutOfMem)(const char * fmt, ...);
- SETGRENT_TYPE (*_setgrent)(void); /* no longer used */
- struct group *(*_getgrent)(void); /* no longer used */
- void (*_endgrent)(void); /* no longer used */
-#ifdef USESHADOW
- struct spwd *(*_getspnam)(GETSPNAM_ARGS);
-# ifndef QNX4
- void (*_endspent)(void);
-# endif /* QNX4 doesn't use endspent */
-#endif
- struct passwd *(*_getpwnam)(GETPWNAM_ARGS);
-#if defined(linux) || defined(__GLIBC__)
- void (*_endpwent)(void);
-#endif
- char *(*_crypt)(CRYPT_ARGS);
-#ifdef USE_PAM
- pam_handle_t **(*_thepamhp)(void);
-#endif
-};
-
-/*
- * Return values for GreetUser();
- * Values must be explictly defined because the greet library
- * may come from a different vendor.
- * Negative values indicate an error.
- */
-typedef enum {
- Greet_Session_Over = 0, /* session managed and over */
- Greet_Success = 1, /* greet succeeded, session not managed */
- Greet_Failure = -1 /* greet failed */
-} greet_user_rtn;
-
-/*
- * GreetUser can either handle the user's session or allow xdm to do it.
- * The return or exit status of GreetUser indicates to xdm whether it
- * should start a session.
- *
- * GreetUser is passed the xdm struct display pointer, a pointer to a
- * Display, and pointers to greet and verify structs. If it expectes xdm
- * to run the session, it fills in the Display pointer and the fields
- * of the greet and verify structs.
- *
- * The verify struct includes the uid, gid, arguments to run the session,
- * environment for the session, and environment for startup/reset.
- *
- * The greet struct includes the user's name and password but these are
- * really only needed if xdm is compiled with a user-based authorization
- * option such as SECURE_RPC or K5AUTH.
- */
-
-extern greet_user_rtn GreetUser(struct display *, Display **,
- struct verify_info *, struct greet_info *, struct dlfuncs *);
-
-typedef greet_user_rtn (*GreetUserProc)(struct display *, Display **,
- struct verify_info *, struct greet_info *, struct dlfuncs *dlfcns);
-
-#ifdef GREET_LIB
-/*
- * The greeter uses some symbols from the main xdm executable. Since some
- * dynamic linkers are broken, we need to fix things up so that the symbols
- * are referenced indirectly through function pointers. The definitions
- * here, are used to hold the pointers to the functions in the main xdm
- * executable. The pointers are filled in when the GreetUser function is
- * called, with the pointer values passed as a paramter.
- */
-
-extern int (*__xdm_PingServer)(struct display *d, Display *alternateDpy);
-extern void (*__xdm_SessionPingFailed)(struct display *d);
-extern void (*__xdm_Debug)(const char * fmt, ...);
-extern void (*__xdm_RegisterCloseOnFork)(int fd);
-extern void (*__xdm_SecureDisplay)(struct display *d, Display *dpy);
-extern void (*__xdm_UnsecureDisplay)(struct display *d, Display *dpy);
-extern void (*__xdm_ClearCloseOnFork)(int fd);
-extern void (*__xdm_SetupDisplay)(struct display *d);
-extern void (*__xdm_LogError)(const char * fmt, ...);
-extern void (*__xdm_SessionExit)(struct display *d, int status, int removeAuth);
-extern void (*__xdm_DeleteXloginResources)(struct display *d, Display *dpy);
-extern int (*__xdm_source)(char **environ, char *file);
-extern char **(*__xdm_defaultEnv)(void);
-extern char **(*__xdm_setEnv)(char **e, char *name, char *value);
-extern char **(*__xdm_putEnv)(const char *string, char **env);
-extern char **(*__xdm_parseArgs)(char **argv, char *string);
-extern void (*__xdm_printEnv)(char **e);
-extern char **(*__xdm_systemEnv)(struct display *d, char *user, char *home);
-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
-extern struct spwd *(*__xdm_getspnam)(GETSPNAM_ARGS);
-# ifndef QNX4
-extern void (*__xdm_endspent)(void);
-# endif /* QNX4 doesn't use endspent */
-# endif
-extern struct passwd *(*__xdm_getpwnam)(GETPWNAM_ARGS);
-# if defined(linux) || defined(__GLIBC__)
-extern void (*__xdm_endpwent)(void);
-# endif
-extern char *(*__xdm_crypt)(CRYPT_ARGS);
-# ifdef USE_PAM
-extern pam_handle_t **(*__xdm_thepamhp)(void);
-# endif
-
-/*
- * Force the shared library to call through the function pointer
- * initialized during the initial call into the library.
- */
-
-# define PingServer (*__xdm_PingServer)
-# define SessionPingFailed (*__xdm_SessionPingFailed)
-# define Debug (*__xdm_Debug)
-# define RegisterCloseOnFork (*__xdm_RegisterCloseOnFork)
-# define SecureDisplay (*__xdm_SecureDisplay)
-# define UnsecureDisplay (*__xdm_UnsecureDisplay)
-# define ClearCloseOnFork (*__xdm_ClearCloseOnFork)
-# define SetupDisplay (*__xdm_SetupDisplay)
-# define LogError (*__xdm_LogError)
-# define SessionExit (*__xdm_SessionExit)
-# define DeleteXloginResources (*__xdm_DeleteXloginResources)
-# define source (*__xdm_source)
-# define defaultEnv (*__xdm_defaultEnv)
-# define setEnv (*__xdm_setEnv)
-# define putEnv (*__xdm_putEnv)
-# define parseArgs (*__xdm_parseArgs)
-# define printEnv (*__xdm_printEnv)
-# define systemEnv (*__xdm_systemEnv)
-# define LogOutOfMem (*__xdm_LogOutOfMem)
-# define setgrent (*__xdm_setgrent)
-# define getgrent (*__xdm_getgrent)
-# define endgrent (*__xdm_endgrent)
-# ifdef USESHADOW
-# define getspnam (*__xdm_getspnam)
-# ifndef QNX4
-# define endspent (*__xdm_endspent)
-# endif /* QNX4 doesn't use endspent */
-# endif
-# define getpwnam (*__xdm_getpwnam)
-# if defined(linux) || defined(__GLIBC__)
-# define endpwent (*__xdm_endpwent)
-# endif
-# define crypt (*__xdm_crypt)
-# ifdef USE_PAM
-# define thepamhp (*__xdm_thepamhp)
-# endif
-
-#endif /* GREET_LIB */