diff --git a/appl/login/login.c b/appl/login/login.c index ba0ee0ec3..95de659de 100644 --- a/appl/login/login.c +++ b/appl/login/login.c @@ -475,6 +475,8 @@ do_login(const struct passwd *pwd, char *tty, char *ttyn) exit(1); } #endif + if(do_osfc2_magic(pwd->pw_uid)) + exit(1); if(setgid(pwd->pw_gid)){ warn("setgid(%u)", (unsigned)pwd->pw_gid); if(rootlogin == 0) @@ -491,8 +493,6 @@ do_login(const struct passwd *pwd, char *tty, char *ttyn) check_shadow(pwd, sp); #endif - if(do_osfc2_magic(pwd->pw_uid)) - exit(1); #if defined(HAVE_GETUDBNAM) && defined(HAVE_SETLIM) { struct udb *udb; diff --git a/appl/login/login_locl.h b/appl/login/login_locl.h index 665056b63..94646de63 100644 --- a/appl/login/login_locl.h +++ b/appl/login/login_locl.h @@ -90,6 +90,12 @@ #include #endif +#ifdef HAVE_OSFC2 +#define getargs OSFgetargs +#include +#undef getargs +#endif + #ifndef _PATH_BSHELL #define _PATH_BSHELL "/bin/sh" #endif