reindent-20030715
[openafs.git] / src / login / login.c
index d58a1bd..cbf9b8a 100644 (file)
@@ -39,7 +39,8 @@
 #include <afsconfig.h>
 #include <afs/param.h>
 
-RCSID("$Header$");
+RCSID
+    ("$Header$");
 
 #include <unistd.h>
 #include <stdlib.h>
@@ -112,7 +113,7 @@ RCSID("$Header$");
 #include <string.h>
 #include <time.h>
 
-#define        TTYGRPNAME      "tty"           /* name of group to own ttys */
+#define        TTYGRPNAME      "tty"   /* name of group to own ttys */
 
 #define        MOTDFILE        "/etc/motd"
 
@@ -139,58 +140,58 @@ static char mail[30];
  * This bounds the time given to login.  Not a define so it can
  * be patched on machines where it's too small.
  */
-int    timeout = 300;
+int timeout = 300;
 
-struct passwd *pwd, *getpwnam();
-int    failures;
-char   term[64], *hostname, *username, *tty;
+struct passwd *pwd, *getpwnam();
+int failures;
+char term[64], *hostname, *username, *tty;
 #ifdef AFS_OSF_ENV
-char   ousername[256];
+char ousername[256];
 #endif
-struct sgttyb sgttyb;
+struct sgttyb sgttyb;
 
 #ifdef AFS_SUN5_ENV
 #include <deflt.h>
 extern char *defread(), *strdup();
-static void    defaults();
-static char    *Pndefault      = "/etc/default/login";
-static char    *Altshell       = NULL;
-static char    *Console        = NULL;
-static int     Idleweeks       = -1;
-static char    *Passreq        = NULL;
+static void defaults();
+static char *Pndefault = "/etc/default/login";
+static char *Altshell = NULL;
+static char *Console = NULL;
+static int Idleweeks = -1;
+static char *Passreq = NULL;
 #define        DEFUMASK        022
-static mode_t  Umask           = DEFUMASK;
-static char    *Def_tz         = NULL;
-static char    *tmp_tz         = NULL;
-static char    *Def_hertz      = NULL;
-#define        SET_FSIZ        2                       /* ulimit() command arg */
-static long    Def_ulimit      = 0;
+static mode_t Umask = DEFUMASK;
+static char *Def_tz = NULL;
+static char *tmp_tz = NULL;
+static char *Def_hertz = NULL;
+#define        SET_FSIZ        2       /* ulimit() command arg */
+static long Def_ulimit = 0;
 #define        MAX_TIMEOUT     (15 * 60)
 #define        DEF_TIMEOUT     5*60
-static unsigned Def_timeout    = DEF_TIMEOUT;
-static char    *Def_path       = NULL;
-static char    *Def_supath     = NULL;
-#define        DEF_PATH        "/usr/bin:"     /* same as PATH */
-#define        DEF_SUPATH      "/usr/sbin:/usr/bin" /* same as ROOTPATH */
+static unsigned Def_timeout = DEF_TIMEOUT;
+static char *Def_path = NULL;
+static char *Def_supath = NULL;
+#define        DEF_PATH        "/usr/bin:"     /* same as PATH */
+#define        DEF_SUPATH      "/usr/sbin:/usr/bin"    /* same as ROOTPATH */
 /*
  * Intervals to sleep after failed login
  */
 #ifndef        SLEEPTIME
 #      define  SLEEPTIME 4     /* sleeptime before login incorrect msg */
 #endif
-static int     Sleeptime = SLEEPTIME;
+static int Sleeptime = SLEEPTIME;
 
 #include <shadow.h>
 /* This is for Solaris's shadow pass struc */
 static struct spwd *spwd;
-char   *ttypmt = NULL;
-char    *d_tz = NULL;
-char   *d_dev= NULL;
+char *ttypmt = NULL;
+char *d_tz = NULL;
+char *d_dev = NULL;
 static int authenticated_remote_user = 0;
 static char rhost[64], rusername[10], lusername[10];
 #endif
 #ifdef AFS_SUN_ENV
-int    usererr = -1;
+int usererr = -1;
 #endif
 
 /* For setting of TZ environment on HPUX */
@@ -204,20 +205,20 @@ extern char *ktc_tkt_string();
 #endif
 
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-struct tchars tc = {
+struct tchars tc = {
 /*     CINTR, CQUIT, CSTART, CSTOP, 000, 000 */
-       CINTR, CQUIT, CSTART, CSTOP, CEOT, CBRK
+    CINTR, CQUIT, CSTART, CSTOP, CEOT, CBRK
 };
 
-struct ltchars ltc = {
-       CSUSP, CDSUSP, CRPRNT, CFLUSH, CWERASE, CLNEXT
+struct ltchars ltc = {
+    CSUSP, CDSUSP, CRPRNT, CFLUSH, CWERASE, CLNEXT
 };
 #endif
 
 #ifdef AFS_OSF_ENV
 #include <sia.h>
 #include <paths.h>
-SIAENTITY *entity=NULL;
+SIAENTITY *entity = NULL;
 
 #ifdef AFS_OSF20_ENV
 #include <sys/security.h>
@@ -230,26 +231,27 @@ SIAENTITY *entity=NULL;
 #endif
 
 /* For avoiding making an osi_audit call when non-root */
-osi_audit() 
+osi_audit()
 {
-return 0;
+    return 0;
 }
 
 static void
 timedout(x)
 {
-       fprintf(stderr, "Login timed out after %d seconds\n", timeout);
-       exit(0);
+    fprintf(stderr, "Login timed out after %d seconds\n", timeout);
+    exit(0);
 }
 
-char *cv2string(ttp, aval)
-    register char *ttp;
-    register unsigned long aval;
+char *
+cv2string(ttp, aval)
+     register char *ttp;
+     register unsigned long aval;
 {
     register char *tp = ttp;
-    register int  i;
+    register int i;
     int any = 0;
-    
+
     *(--tp) = 0;
     while (aval != 0) {
        i = aval % 10;
@@ -278,280 +280,280 @@ char *ttyntail;
 #define SUBLOGIN       "<!sublogin>"
 int sublogin;
 main(argc, argv, renvp)
-char **renvp;
+     char **renvp;
 #else
 main(argc, argv)
 #endif
-       int argc;
-       char **argv;
+     int argc;
+     char **argv;
 {
-       extern int errno, optind;
-       extern char *optarg, **environ;
-       struct group *gr, *getgrnam();
-       register int ch;
-       register char *p;
-       int ask, fflag, hflag, rflag, pflag, cnt, locl, zero = 0, dflag=0, rlog=0;
-       int quietlog, passwd_req, ioctlval;
-       char *domain, *salt, *envinit[2], *ttyn=0, *pp;
-       char tbuf[MAXPATHLEN + 2];
-       char *ttyname(), *stypeof(), *crypt(), *getpass();
-       extern off_t lseek();
-       int local, code = 0;
-       char *lcell;                    /* local cellname */
-       char  realm[MAXKTCREALMLEN];
-       char buf1[256], **envp;
-       afs_int32 j, pagval = NOPAG, ngroups, groups[NGROUPS_MAX];
-       long password_expires = -1;
-       extern  char*   AFSVersion;     /* generated version */
-       int afsLoginFail=0;
-       char *reason;
+    extern int errno, optind;
+    extern char *optarg, **environ;
+    struct group *gr, *getgrnam();
+    register int ch;
+    register char *p;
+    int ask, fflag, hflag, rflag, pflag, cnt, locl, zero = 0, dflag =
+       0, rlog = 0;
+    int quietlog, passwd_req, ioctlval;
+    char *domain, *salt, *envinit[2], *ttyn = 0, *pp;
+    char tbuf[MAXPATHLEN + 2];
+    char *ttyname(), *stypeof(), *crypt(), *getpass();
+    extern off_t lseek();
+    int local, code = 0;
+    char *lcell;               /* local cellname */
+    char realm[MAXKTCREALMLEN];
+    char buf1[256], **envp;
+    afs_int32 j, pagval = NOPAG, ngroups, groups[NGROUPS_MAX];
+    long password_expires = -1;
+    extern char *AFSVersion;   /* generated version */
+    int afsLoginFail = 0;
+    char *reason;
 
 #if defined(AFS_SUN5_ENV) || defined(AFS_HPUX_ENV)
-        char retry_chdir = 0;
+    char retry_chdir = 0;
 #endif /* AFS_SUN5_ENV || AFS_HPUX_ENV */
 
 #ifdef AFS_OSF_ENV
-       char tname[sizeof(_PATH_TTY) + 10], *loginname=NULL;
-       int oargc = argc;
-       char **oargv = argv;
+    char tname[sizeof(_PATH_TTY) + 10], *loginname = NULL;
+    int oargc = argc;
+    char **oargv = argv;
 
 #else
 #ifdef AFS_SUN5_ENV
 
-       defaults();                                     /* Set up Defaults and flags */
-       if (Umask < 0 || ((mode_t) 0777) < Umask)       /* Set up default umask */
-           Umask = DEFUMASK;
-       (void) umask(Umask);
+    defaults();                        /* Set up Defaults and flags */
+    if (Umask < 0 || ((mode_t) 0777) < Umask)  /* Set up default umask */
+       Umask = DEFUMASK;
+    (void)umask(Umask);
 
-       if (Def_timeout > MAX_TIMEOUT)                  /* Set up default timeouts and delays */
-           Def_timeout = MAX_TIMEOUT;
-       if (Sleeptime < 0 || Sleeptime > 5)
-           Sleeptime = SLEEPTIME;
-       (void) alarm(Def_timeout);
+    if (Def_timeout > MAX_TIMEOUT)     /* Set up default timeouts and delays */
+       Def_timeout = MAX_TIMEOUT;
+    if (Sleeptime < 0 || Sleeptime > 5)
+       Sleeptime = SLEEPTIME;
+    (void)alarm(Def_timeout);
 #else
-       (void)alarm((u_int)timeout);
+    (void)alarm((u_int) timeout);
 #endif
-       (void)signal(SIGALRM, timedout);
+    (void)signal(SIGALRM, timedout);
 #endif
-       (void)signal(SIGQUIT, SIG_IGN);
-       (void)signal(SIGINT, SIG_IGN);
+    (void)signal(SIGQUIT, SIG_IGN);
+    (void)signal(SIGINT, SIG_IGN);
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-       (void)setpriority(PRIO_PROCESS, 0, 0);
+    (void)setpriority(PRIO_PROCESS, 0, 0);
 #endif
 #ifdef Q_SETUID
-       (void)quota(Q_SETUID, 0, 0, 0);
+    (void)quota(Q_SETUID, 0, 0, 0);
 #endif /* Q_SETUID */
-       
-       /*
-        * -p is used by getty to tell login not to destroy the environment
-        * -f is used to skip a second login authentication 
-        * -h is used by other servers to pass the name of the remote
-        *    host to login so that it may be placed in utmp and wtmp
-        */
-       (void)gethostname(tbuf, sizeof(tbuf));
-       domain = strchr(tbuf, '.');
+
+    /*
+     * -p is used by getty to tell login not to destroy the environment
+     * -f is used to skip a second login authentication 
+     * -h is used by other servers to pass the name of the remote
+     *    host to login so that it may be placed in utmp and wtmp
+     */
+    (void)gethostname(tbuf, sizeof(tbuf));
+    domain = strchr(tbuf, '.');
 
 #ifdef AFS_HPUX_ENV
-        /*
-        * Set flag to disable the pid check if you find that you are
-        * a subsystem login.
-        */
-       sublogin = 0;
-       if (*renvp && strcmp(*renvp,SUBLOGIN) == 0)
-               sublogin = 1;
+    /*
+     * Set flag to disable the pid check if you find that you are
+     * a subsystem login.
+     */
+    sublogin = 0;
+    if (*renvp && strcmp(*renvp, SUBLOGIN) == 0)
+       sublogin = 1;
 #endif
-       fflag = hflag = pflag = rflag = 0;
-       memset(&utmp, '\0', sizeof(utmp));
-       passwd_req = 1;
+    fflag = hflag = pflag = rflag = 0;
+    memset(&utmp, '\0', sizeof(utmp));
+    passwd_req = 1;
 #ifdef AFS_SUN_ENV
 #ifdef AFS_SUN5_ENV
-       while ((ch = getopt(argc, argv, "fh:prd")) != -1) {
+    while ((ch = getopt(argc, argv, "fh:prd")) != -1) {
 #else
-       while ((ch = getopt(argc, argv, "fh:pr")) != -1) {
+    while ((ch = getopt(argc, argv, "fh:pr")) != -1) {
 #endif
 #else
-       while ((ch = getopt(argc, argv, "fh:p")) != EOF) {
+    while ((ch = getopt(argc, argv, "fh:p")) != EOF) {
 #endif
 /*printf("ch='%c'\n", ch);*/
-               switch (ch) {
-               case 'f':
-                       fflag = 1;
-                       break;
-               case 'h':
+       switch (ch) {
+       case 'f':
+           fflag = 1;
+           break;
+       case 'h':
 #ifdef AFS_SUN_ENV
-                       if (hflag || rflag) {
-                           fprintf(stderr,"Only one of -r and -h allowed\n");
-                           exit(1);
-                       }
+           if (hflag || rflag) {
+               fprintf(stderr, "Only one of -r and -h allowed\n");
+               exit(1);
+           }
 #endif
-                       if (getuid()) {
-                               fprintf(stderr,
-                                   "login: -h for super-user only.\n");
+           if (getuid()) {
+               fprintf(stderr, "login: -h for super-user only.\n");
 
-                               exit(1);
-                       }
-                       rlog = 1;
-                       hflag = 1;
-                       if (domain && (p = strchr(optarg, '.')) &&
-                           strcasecmp(p, domain) == 0)
-                               *p = 0;
-                       hostname = optarg;
-                       break;
+               exit(1);
+           }
+           rlog = 1;
+           hflag = 1;
+           if (domain && (p = strchr(optarg, '.'))
+               && strcasecmp(p, domain) == 0)
+               *p = 0;
+           hostname = optarg;
+           break;
 #ifdef AFS_SUN_ENV
-               case 'r':
-                       if (hflag || rflag) {
-                           fprintf(stderr,"Only one of -r and -h allowed\n");
-                           exit(1);
-                       }
-                       if (argv[2] == 0)
-                               exit(1);
+       case 'r':
+           if (hflag || rflag) {
+               fprintf(stderr, "Only one of -r and -h allowed\n");
+               exit(1);
+           }
+           if (argv[2] == 0)
+               exit(1);
 #ifndef        AFS_SUN5_ENV
 /*                     fflag = 1;*/
 #endif
-                       rflag = 1;
+           rflag = 1;
 #ifndef        AFS_SUN5_ENV
-                       usererr = doremotelogin(argv[2]);
-                       strncpy(utmp.ut_host, argv[2], sizeof(utmp.ut_host));
-                       argc -= 2;
-                       argv += 2;
+           usererr = doremotelogin(argv[2]);
+           strncpy(utmp.ut_host, argv[2], sizeof(utmp.ut_host));
+           argc -= 2;
+           argv += 2;
 #endif
-                       continue;
+           continue;
 
-                       break;
+           break;
 #ifdef AFS_SUN5_ENV
-               case 'd':       /* Ignode the '-d device' option for now!!! */
-                       dflag = 0;      /* XXX */
-                       d_dev = *++argv;
-                       argc--;
-                       break;
+       case 'd':               /* Ignode the '-d device' option for now!!! */
+           dflag = 0;          /* XXX */
+           d_dev = *++argv;
+           argc--;
+           break;
 #endif
 #endif
-               case 'p':
-                       pflag = 1;
-                       break;
-               case '?':
-               default:
-                       fprintf(stderr, "usage: login [-fp] [username]\n");
-                       exit(1);
-               }
-           }
-       argc -= optind;
-       argv += optind;
+       case 'p':
+           pflag = 1;
+           break;
+       case '?':
+       default:
+           fprintf(stderr, "usage: login [-fp] [username]\n");
+           exit(1);
+       }
+    }
+    argc -= optind;
+    argv += optind;
 #ifdef AFS_SUN5_ENV
-       if (rflag)
-           strcpy(rhost, *argv++);
-       if (hflag) {
-           if ( argv[0] && (*argv[0] != '-')) {
-               if ((!strncmp(*argv, "TERM=", strlen("TERM=")))) {
-                   strncpy(term, &((*argv)[strlen("TERM=")]), sizeof(term));
-               }
+    if (rflag)
+       strcpy(rhost, *argv++);
+    if (hflag) {
+       if (argv[0] && (*argv[0] != '-')) {
+           if ((!strncmp(*argv, "TERM=", strlen("TERM=")))) {
+               strncpy(term, &((*argv)[strlen("TERM=")]), sizeof(term));
            }
-           ask = 1;
-       } else
+       }
+       ask = 1;
+    } else
 #endif
 #if    defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV)
-       if (!rflag && *argv) {
+    if (!rflag && *argv) {
 #else
-       if (*argv) {
+    if (*argv) {
 #endif
 #ifdef AFS_OSF_ENV
-               memset(ousername,'\0',sizeof(ousername));
-               strcpy(ousername,*argv);
-               loginname=ousername;
+       memset(ousername, '\0', sizeof(ousername));
+       strcpy(ousername, *argv);
+       loginname = ousername;
 #else
-               username = *argv;
+       username = *argv;
 #endif
-               ask = 0;
-       } else {
+       ask = 0;
+    } else {
 #ifdef AFS_SUN5_ENV
-           ttypmt = getenv("TTYPROMPT");
-           if (ttypmt && (*ttypmt != '\0')) {
-               extern char **getargs();
-               /*
-                * if ttyprompt is set, there should be data on the stream already. 
-                */
-               if ((envp = getargs(buf1)) != (char**)NULL) {
-                   username =  *envp;
-               }
+       ttypmt = getenv("TTYPROMPT");
+       if (ttypmt && (*ttypmt != '\0')) {
+           extern char **getargs();
+           /*
+            * if ttyprompt is set, there should be data on the stream already. 
+            */
+           if ((envp = getargs(buf1)) != (char **)NULL) {
+               username = *envp;
            }
-           ask = 0;
+       }
+       ask = 0;
 #else
 #ifdef AFS_SUN_ENV
-           if (rflag)
-               ask = 0;
-           else
+       if (rflag)
+           ask = 0;
+       else
 #endif
            ask = 1;
 #endif
-       }
-       ioctlval = 0;
+    }
+    ioctlval = 0;
 #if !defined(AIX) && !defined(AFS_HPUX_ENV) && !defined(AFS_OSF_ENV)
-       (void)ioctl(0, TIOCLSET, &ioctlval);
+    (void)ioctl(0, TIOCLSET, &ioctlval);
 
-       (void)ioctl(0, TIOCNXCL, 0);
+    (void)ioctl(0, TIOCNXCL, 0);
 
-       (void)fcntl(0, F_SETFL, ioctlval);
-       (void)ioctl(0, TIOCGETP, &sgttyb);
+    (void)fcntl(0, F_SETFL, ioctlval);
+    (void)ioctl(0, TIOCGETP, &sgttyb);
 #ifdef AFS_SUN_ENV
-       (void)ioctl(0, FIONBIO, &zero);
-       (void)ioctl(0, FIOASYNC, &zero);
-       (void)ioctl(0, TIOCLGET, &locl);
-       /*
-        * If talking to an rlogin process,
-        * propagate the terminal type and
-        * baud rate across the network.
-        */
+    (void)ioctl(0, FIONBIO, &zero);
+    (void)ioctl(0, FIOASYNC, &zero);
+    (void)ioctl(0, TIOCLGET, &locl);
+    /*
+     * If talking to an rlogin process,
+     * propagate the terminal type and
+     * baud rate across the network.
+     */
 #ifdef AFS_SUN5_ENV
-       if (rflag) {
-           doremotelogin();
+    if (rflag) {
+       doremotelogin();
 #else
-       if (rflag || rlog) {
-               doremoteterm(term, &sgttyb);
+    if (rflag || rlog) {
+       doremoteterm(term, &sgttyb);
 #endif
-           }
-       locl &= LPASS8;
-       locl |= LCRTBS|LCTLECH|LDECCTQ;
-       if (sgttyb.sg_ospeed >= B1200)
-               locl |= LCRTERA|LCRTKIL;
-       (void)ioctl(0, TIOCLSET, &locl);
-#endif
-       sgttyb.sg_erase = CERASE;
-       sgttyb.sg_kill = CKILL;
-       (void)ioctl(0, TIOCSLTC, &ltc);
-       (void)ioctl(0, TIOCSETC, &tc);
+    }
+    locl &= LPASS8;
+    locl |= LCRTBS | LCTLECH | LDECCTQ;
+    if (sgttyb.sg_ospeed >= B1200)
+       locl |= LCRTERA | LCRTKIL;
+    (void)ioctl(0, TIOCLSET, &locl);
+#endif
+    sgttyb.sg_erase = CERASE;
+    sgttyb.sg_kill = CKILL;
+    (void)ioctl(0, TIOCSLTC, &ltc);
+    (void)ioctl(0, TIOCSETC, &tc);
 #ifdef AFS_SUN5_ENV
-       if (!rflag)
+    if (!rflag)
 #endif
        (void)ioctl(0, TIOCSETP, &sgttyb);
 #endif /* AIX  */
-       for (cnt = getdtablesize(); cnt > 2; cnt--)
-               close(cnt);
+    for (cnt = getdtablesize(); cnt > 2; cnt--)
+       close(cnt);
 #ifdef AFS_SUN52_ENV
-       if (dflag) {
-           ttyn = d_dev;
-       } else
+    if (dflag) {
+       ttyn = d_dev;
+    } else
 #endif
-       if (ttyn == NULL) {
+    if (ttyn == NULL) {
        ttyn = ttyname(0);
        if (ttyn == NULL || *ttyn == '\0') {
 #ifdef AFS_OSF_ENV
-               (void)sprintf(tname, "%s??", _PATH_TTY);
-               ttyn = tname;
+           (void)sprintf(tname, "%s??", _PATH_TTY);
+           ttyn = tname;
 #else
-               ttyn = "/dev/tty??";
+           ttyn = "/dev/tty??";
 #endif
 
        }
-        }
+    }
 #ifdef AFS_HPUX_ENV
-       ttyntail = ttyn + sizeof("/dev/") - 1;
+    ttyntail = ttyn + sizeof("/dev/") - 1;
 #endif
-       if (tty = strrchr(ttyn, '/'))
-               ++tty;
-       else
-               tty = ttyn;
+    if (tty = strrchr(ttyn, '/'))
+       ++tty;
+    else
+       tty = ttyn;
 
-       openlog("login", LOG_ODELAY, LOG_AUTH);
+    openlog("login", LOG_ODELAY, LOG_AUTH);
 
 #ifdef AFS_OSF_ENV
 #define _PATH_HUSHLOGIN ".hushlogin"
@@ -561,21 +563,23 @@ main(argc, argv)
 #endif
     {
        int cnt;
-       int authret=0, doafs=0;
-       char    shell[PATH_MAX+1] = _PATH_BSHELL, *pass, user[40], ouser[40];
-       int (*sia_collect)()=sia_collect_trm;
+       int authret = 0, doafs = 0;
+       char shell[PATH_MAX + 1] = _PATH_BSHELL, *pass, user[40], ouser[40];
+       int (*sia_collect) () = sia_collect_trm;
        int getloginp(), uid;
        struct passwd *pwd;
 
 /*printf("loginname=%s,  ttyn=%s, fflag=%d\n", loginname, ttyn, fflag);*/
-       quietlog=0;
-       if((sia_ses_init(&entity, oargc, oargv, hostname, loginname, ttyn, 1, NULL)) == SIASUCCESS) {
+       quietlog = 0;
+       if ((sia_ses_init
+            (&entity, oargc, oargv, hostname, loginname, ttyn, 1,
+             NULL)) == SIASUCCESS) {
            static int useGetPass = 0;
-           int cnt1 = 0, first=0;
+           int cnt1 = 0, first = 0;
            char *prompt, *reason, pword[BUFSIZ];
            /***** SIA SESSION AUTHENTICATION *****/
-           if(!fflag) {
-               for(cnt=5; cnt; cnt--) {
+           if (!fflag) {
+               for (cnt = 5; cnt; cnt--) {
                    doafs = 0;
                    if (first++ || !entity->name) {
                        clean_entity_pwd(entity);
@@ -585,7 +589,7 @@ main(argc, argv)
                            break;
                        }
                    }
-                    strcpy(user, entity->name);
+                   strcpy(user, entity->name);
                    prompt = "Password:";
                    if ((pwd = getpwnam(user))) {
                        if (!strcmp(pwd->pw_passwd, "X")) {
@@ -595,64 +599,74 @@ main(argc, argv)
                    if (useGetPass) {
                        pass = getpass(prompt);
                    } else {
-                       code = ka_UserReadPassword(prompt, pword, sizeof(pword), &reason);
-                        pass = pword;
+                       code =
+                           ka_UserReadPassword(prompt, pword, sizeof(pword),
+                                               &reason);
+                       pass = pword;
                        if (code) {
                            if (code != KANULLPASSWORD) {
                                if (++cnt1 > 3)
                                    useGetPass = 1;
                            }
-                           fprintf(stderr, "Unable to read password because %s\n", reason);
+                           fprintf(stderr,
+                                   "Unable to read password because %s\n",
+                                   reason);
                            continue;
                        }
                    }
 
                    if (!pwd) {
-                      printf("Login incorrect\n"); fflush(stdout);
-                      continue;
+                       printf("Login incorrect\n");
+                       fflush(stdout);
+                       continue;
                    }
 
-                   if (doafs || ((authret=sia_ses_authent(sia_collect,pass,entity)) == SIASUCCESS)) {
+                   if (doafs
+                       ||
+                       ((authret =
+                         sia_ses_authent(sia_collect, pass,
+                                         entity)) == SIASUCCESS)) {
                        if (doafs) {
                            uid = pwd->pw_uid;
                            sia_make_entity_pwd(pwd, entity);
                        } else {
                            uid = entity->pwd->pw_uid;
-                           pwd = entity->pwd;          
+                           pwd = entity->pwd;
+                       }
+                     doafs:
+                       authret = do_afs_auth(pwd, pass, doafs);
+                       if (!authret) {
+                           strcpy(ouser, user);
+                           printf("Login incorrect\n");
+                           fflush(stdout);
+                           continue;
                        }
-doafs:
-                           authret = do_afs_auth(pwd, pass, doafs);
-                           if (!authret) {
-                               strcpy(ouser, user);                            
-                               printf("Login incorrect\n"); fflush(stdout);
-                               continue;
-                           }
 
                        printf("AFS (R) %s Login\n", AFSVersion);
 
                        if (uid) {
                            groups[0] = groups[1] = 0;
                            ngroups = getgroups(NGROUPS, groups);
-                           pagval = get_pag_from_groups(groups[0], groups[1]);
+                           pagval =
+                               get_pag_from_groups(groups[0], groups[1]);
                        }
                        break;
                    } else if (authret & SIASTOP) {
                        break;
-                   }
-                   else if ( authret == SIAFAIL ) {
-                                                       /* why did it fail ? */
+                   } else if (authret == SIAFAIL) {
+                       /* why did it fail ? */
                        struct ttyent *ptr;
                        setttyent();
                        /* 
-                       ** if the "ptys" command does not exist in the
-                       ** /etc/securettys file, then root login's are
-                       ** allowed only from the console
-                       */
-                       if ( !pwd->pw_uid )             /* for root */
-                           if (((ptr=getttynam("ptys"))==NULL) || 
-                               !( ptr->ty_status & TTY_SECURE))
-                           {
-                               printf("root login refused on this terminal\n");
+                        ** if the "ptys" command does not exist in the
+                        ** /etc/securettys file, then root login's are
+                        ** allowed only from the console
+                        */
+                       if (!pwd->pw_uid)       /* for root */
+                           if (((ptr = getttynam("ptys")) == NULL)
+                               || !(ptr->ty_status & TTY_SECURE)) {
+                               printf
+                                   ("root login refused on this terminal\n");
                                continue;
                            }
                    }
@@ -663,19 +677,20 @@ doafs:
                    }
                    printf("login incorrect\n");
                }
-               if(cnt <= 0 || (doafs == -1)) {
+               if (cnt <= 0 || (doafs == -1)) {
                    sia_ses_release(&entity);
                    exit(1);
                }
            }
            /***** SIA SESSION ESTABLISHMENT *****/
-           if(sia_ses_estab(sia_collect,entity) == SIASUCCESS) {
+           if (sia_ses_estab(sia_collect, entity) == SIASUCCESS) {
                /*
                 * Display and update lastlog file entry.  -DAL003
                 */
                quietlog = access(_PATH_HUSHLOGIN, F_OK) == 0;
-               if(!quietlog)
-                   quietlog = !*entity->pwd->pw_passwd && !usershell(entity->pwd->pw_shell);
+               if (!quietlog)
+                   quietlog = !*entity->pwd->pw_passwd
+                       && !usershell(entity->pwd->pw_shell);
                if (!entity->tty)
                    dolastlog(quietlog);
                /* END DAL003 */
@@ -683,44 +698,46 @@ doafs:
                (void)chown(ktc_tkt_string(), pwd->pw_uid, pwd->pw_gid);
 #endif /* AFS_KERBEROS_ENV */
                /***** SIA LAUNCHING SESSION *****/
-               if(sia_ses_launch(sia_collect,entity) == SIASUCCESS) {
+               if (sia_ses_launch(sia_collect, entity) == SIASUCCESS) {
                    ngroups = getgroups(NGROUPS, groups);
-                   if ((pagval != NOPAG) && 
-                       (afs_get_pag_from_groups(groups[0], groups[1])) == NOPAG) {
+                   if ((pagval != NOPAG)
+                       && (afs_get_pag_from_groups(groups[0], groups[1])) ==
+                       NOPAG) {
                        /* we will have to shift grouplist to make room for pag */
                        if (ngroups + 2 > NGROUPS) {
-                           perror("Too many groups");          /* XXX */
-                           exit (3);
+                           perror("Too many groups");  /* XXX */
+                           exit(3);
                        }
                        for (j = ngroups - 1; j >= 0; j--) {
                            groups[j + 2] = groups[j];
                        }
                        ngroups += 2;
                        get_groups_from_pag(pagval, &groups[0], &groups[1]);
-                        seteuid(0);    /* Since the seteuid was set the user already */
+                       seteuid(0);     /* Since the seteuid was set the user already */
                        if (setgroups(ngroups, groups) == -1) {
                            perror("setgroups");
                            exit(3);
                        }
-                        seteuid(entity->pwd->pw_uid);  /* Set euid back */
+                       seteuid(entity->pwd->pw_uid);   /* Set euid back */
                    }
                    /****** Nothing left to fail *******/
-                   if(setreuid(geteuid(),geteuid()) < 0) {
+                   if (setreuid(geteuid(), geteuid()) < 0) {
                        perror("setreuid()");
                        exit(3);
                    }
                    /****** set up environment   *******/
                    /* destroy environment unless user has requested preservation */
                    envinit[0] = envinit[1] = 0;
-                   if (environ) for (cnt = 0; environ[cnt] != NULL; cnt++)
-                       if (!strncmp(environ[cnt], "TERM=", 5)) {
-                           envinit[0] = environ[cnt];
-                           break;
-                       }
+                   if (environ)
+                       for (cnt = 0; environ[cnt] != NULL; cnt++)
+                           if (!strncmp(environ[cnt], "TERM=", 5)) {
+                               envinit[0] = environ[cnt];
+                               break;
+                           }
                    if (!pflag)
                        environ = envinit;
                    (void)setenv("HOME", entity->pwd->pw_dir, 1);
-                   if(entity->pwd->pw_shell && *entity->pwd->pw_shell)
+                   if (entity->pwd->pw_shell && *entity->pwd->pw_shell)
                        strncpy(shell, entity->pwd->pw_shell, sizeof shell);
                    (void)setenv("SHELL", shell, 1);
                    if (term[0] == '\0')
@@ -734,20 +751,24 @@ doafs:
 #endif /* AFS_KERBEROS_ENV */
                    if (!quietlog) {
                        struct stat st;
-                               
+
                        motd();
-                       (void)sprintf(tbuf, "%s/%s", _PATH_MAILDIR, entity->pwd->pw_name);
+                       (void)sprintf(tbuf, "%s/%s", _PATH_MAILDIR,
+                                     entity->pwd->pw_name);
                        if (stat(tbuf, &st) == 0 && st.st_size != 0)
-                           (void)printf("You have %smail.\n", (st.st_mtime > st.st_atime) ?  "new " : "");
+                           (void)printf("You have %smail.\n",
+                                        (st.st_mtime >
+                                         st.st_atime) ? "new " : "");
                    }
                    /******* Setup default signals **********/
                    (void)signal(SIGALRM, SIG_DFL);
                    (void)signal(SIGQUIT, SIG_DFL);
                    (void)signal(SIGINT, SIG_DFL);
                    (void)signal(SIGTSTP, SIG_IGN);
-                   
+
                    tbuf[0] = '-';
-                   (void)strcpy(tbuf + 1, (p = strrchr(shell, '/')) ? p + 1 : shell);
+                   (void)strcpy(tbuf + 1,
+                                (p = strrchr(shell, '/')) ? p + 1 : shell);
                    sia_ses_release(&entity);
                    execlp(shell, tbuf, 0);
                    (void)printf("login: no shell: %s.\n", strerror(errno));
@@ -765,699 +786,696 @@ doafs:
     }
 #else /* AFS_OSF_ENV */
 #ifdef AFS_HPUX_ENV
-        {   /* This block sets TZ environment on HPUX */
-            /* First set TZ environment here, so that
-               LOGIN FAILURE will get correct time stamp.
-               For logins from console, -p flag is not set,
-               the TZ environment set here will be cleared later.
-               We're gonna set it once again later after it's cleared.
-            */ 
-            FILE *fp;
-            char buf[MAX_TZ_LEN];
-            char *env_p=NULL;
-            int tz_incorrect=0;
-
-            /* set TZ only if tz_incorrect
-               (*env_p==0 or env_p==0 ) and there is a correct /etc/TIMEZONE
-               otherwise, just let it be default (US eastern on HP)
-            */
-            env_p = getenv("TZ");
-            if (!env_p)
-                tz_incorrect = 1;
-            else if (!(*env_p)) 
-                tz_incorrect = 1;
-            
-            if (tz_incorrect) {
-                /* HP UX 10.0 or later has different file format */
+    {                          /* This block sets TZ environment on HPUX */
+       /* First set TZ environment here, so that
+        * LOGIN FAILURE will get correct time stamp.
+        * For logins from console, -p flag is not set,
+        * the TZ environment set here will be cleared later.
+        * We're gonna set it once again later after it's cleared.
+        */
+       FILE *fp;
+       char buf[MAX_TZ_LEN];
+       char *env_p = NULL;
+       int tz_incorrect = 0;
+
+       /* set TZ only if tz_incorrect
+        * (*env_p==0 or env_p==0 ) and there is a correct /etc/TIMEZONE
+        * otherwise, just let it be default (US eastern on HP)
+        */
+       env_p = getenv("TZ");
+       if (!env_p)
+           tz_incorrect = 1;
+       else if (!(*env_p))
+           tz_incorrect = 1;
+
+       if (tz_incorrect) {
+           /* HP UX 10.0 or later has different file format */
 #ifdef AFS_HPUX100_ENV
-                /* /etc/TIMEZONE file example (HP-UX 10 or later)
-                   TZ=EST5EDT
-                   export TZ
-                */
-                fp = fopen ("/etc/TIMEZONE","r");
-                if (fp) {
-                    if ( (fgets (buf, sizeof(buf), fp)) != NULL ) {
-                        buf[strlen(buf)-1] = 0;
-                        if (!strncmp (buf, "TZ=", 3)) {
-                            strncpy (TZ, buf, MAX_TZ_LEN);
-                            putenv (TZ);
-                        }
-                    }
-                    fclose(fp);
-                }
+           /* /etc/TIMEZONE file example (HP-UX 10 or later)
+            * TZ=EST5EDT
+            * export TZ
+            */
+           fp = fopen("/etc/TIMEZONE", "r");
+           if (fp) {
+               if ((fgets(buf, sizeof(buf), fp)) != NULL) {
+                   buf[strlen(buf) - 1] = 0;
+                   if (!strncmp(buf, "TZ=", 3)) {
+                       strncpy(TZ, buf, MAX_TZ_LEN);
+                       putenv(TZ);
+                   }
+               }
+               fclose(fp);
+           }
 #else /* AFS_HPUX100_ENV */
-                /* /etc/src.sh file example (HP-UX 9 or earlier)
-                   SYSTEM_NAME=myname; export SYSTEM_NAME
-                   TZ=EST5EDT; export TZ
-                */
-                fp = fopen ("/etc/src.sh","r");
-                if (fp) {
-                    while ( (fgets (buf, sizeof(buf), fp)) != NULL ) {
-                        buf[strlen(buf)-1] = 0;
-                        if (!strncmp (buf, "TZ=", 3)) {
-                            char *p = strchr (buf, ';');
-                            if (p) *p = 0;
-                            strncpy (TZ, buf, MAX_TZ_LEN);
-                            putenv (TZ);
-                        }
-                    }
-                    fclose(fp);
-                }
+           /* /etc/src.sh file example (HP-UX 9 or earlier)
+            * SYSTEM_NAME=myname; export SYSTEM_NAME
+            * TZ=EST5EDT; export TZ
+            */
+           fp = fopen("/etc/src.sh", "r");
+           if (fp) {
+               while ((fgets(buf, sizeof(buf), fp)) != NULL) {
+                   buf[strlen(buf) - 1] = 0;
+                   if (!strncmp(buf, "TZ=", 3)) {
+                       char *p = strchr(buf, ';');
+                       if (p)
+                           *p = 0;
+                       strncpy(TZ, buf, MAX_TZ_LEN);
+                       putenv(TZ);
+                   }
+               }
+               fclose(fp);
+           }
 #endif /* AFS_HPUX100_ENV */
-            }
-            else {
-                *TZ = 0;
-            }
-        }
+       } else {
+           *TZ = 0;
+       }
+    }
 #endif /* AFS_HPUX_ENV */
-       for (cnt = 0;; ask = 1) {
-               ioctlval = 0;
+    for (cnt = 0;; ask = 1) {
+       ioctlval = 0;
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-               (void)ioctl(0, TIOCSETD, &ioctlval);
+       (void)ioctl(0, TIOCSETD, &ioctlval);
 #endif /* !AIX and !hpux */
 
-               if (ask | !username) {
-                       fflag = 0;
-                       getloginname(1);
-               }
-               /*
-                * Note if trying multiple user names;
-                * log failures for previous user name,
-                * but don't bother logging one failure
-                * for nonexistent name (mistyped username).
-                */
-               if (failures && strcmp(tbuf, username)) {
-                       if (failures > (pwd ? 0 : 1))
-                               badlogin(tbuf);
-                       failures = 0;
-               }
-               (void)strcpy(tbuf, username);
-               salt = "xx";
+       if (ask | !username) {
+           fflag = 0;
+           getloginname(1);
+       }
+       /*
+        * Note if trying multiple user names;
+        * log failures for previous user name,
+        * but don't bother logging one failure
+        * for nonexistent name (mistyped username).
+        */
+       if (failures && strcmp(tbuf, username)) {
+           if (failures > (pwd ? 0 : 1))
+               badlogin(tbuf);
+           failures = 0;
+       }
+       (void)strcpy(tbuf, username);
+       salt = "xx";
 #ifdef AFS_SUN5_ENV
-               if ((pwd = getpwnam(username)) && (spwd = getspnam(username))) {
-                   initgroups(username, pwd->pw_gid);  /* XXX */
-                   salt = spwd->sp_pwdp;
-               }
+       if ((pwd = getpwnam(username)) && (spwd = getspnam(username))) {
+           initgroups(username, pwd->pw_gid);  /* XXX */
+           salt = spwd->sp_pwdp;
+       }
 #else /* if !SUN5 */
-               if (pwd = getpwnam(username))
-                       salt = pwd->pw_passwd;
+       if (pwd = getpwnam(username))
+           salt = pwd->pw_passwd;
 #endif /* else !SUN5 */
 
-               /* if user not super-user, check for disabled logins */
-               if (pwd == NULL || pwd->pw_uid) {
-                       checknologin();
-                   }
-
-               /*
-                * Disallow automatic login to root; if not invoked by
-                * root, disallow if the uid's differ.
-                */
-               if (fflag && pwd) {
-                       uid_t uid = getuid();
+       /* if user not super-user, check for disabled logins */
+       if (pwd == NULL || pwd->pw_uid) {
+           checknologin();
+       }
 
-                       /*
-                        *  allow f flag only if user running login is
-                        *  same as target user or superuser
-                        */
-                       fflag = (uid == 0) || (uid == pwd->pw_uid);
-                       if (fflag) passwd_req = 0;
+       /*
+        * Disallow automatic login to root; if not invoked by
+        * root, disallow if the uid's differ.
+        */
+       if (fflag && pwd) {
+           uid_t uid = getuid();
+
+           /*
+            *  allow f flag only if user running login is
+            *  same as target user or superuser
+            */
+           fflag = (uid == 0) || (uid == pwd->pw_uid);
+           if (fflag)
+               passwd_req = 0;
 /*                     passwd_req = pwd->pw_uid == 0 || (uid && uid != pwd->pw_uid);*/
-               }
+       }
 
-               /*
-                * If no pre-authentication and a password exists
-                * for this user, prompt for one and verify it.
-                */
-               if (!passwd_req || (pwd && !*pwd->pw_passwd)) {
-                       break;
-                   }
+       /*
+        * If no pre-authentication and a password exists
+        * for this user, prompt for one and verify it.
+        */
+       if (!passwd_req || (pwd && !*pwd->pw_passwd)) {
+           break;
+       }
 #if    defined(AFS_SUN_ENV) && !defined(AFS_SUN5_ENV)
-               if (!usererr) 
-                   break;
+       if (!usererr)
+           break;
 #endif
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-               setpriority(PRIO_PROCESS, 0, -4);
+       setpriority(PRIO_PROCESS, 0, -4);
 #endif
 
-               /*
-                * The basic model for logging in now, is that *if* there
-                * is a kerberos record for this individual user we will
-                * trust kerberos (provided the user really has an account
-                * locally.)  If there is no kerberos record (or the password
-                * were typed incorrectly.) we would attempt to authenticate
-                * against the local password file entry.  Naturally, if
-                * both fail we use existing failure code.
-                */
-               if(pwd)
-                 {
-                   char pword[BUFSIZ];
-                   int cnt1 =0;
-                   static int useGetPass = 0;
-
-                   if(useGetPass) {
-                       pp = getpass("Password:");
-                       memcpy(pword, pp, 8);
-                   } else {
-                       code = ka_UserReadPassword("Password:",
-                                                       pword,
-                                                       sizeof(pword),
-                                                       &reason);
-                       
-                       if(code) {
-                           if (code != KANULLPASSWORD) {
-                               if (++cnt1 > 5)
-                                   useGetPass = 1;
-                           }
-                           fprintf(stderr,
-                                   "Unable to read password because %s\n",
-                                   reason);
-                           goto loginfailed;
-                       }
+       /*
+        * The basic model for logging in now, is that *if* there
+        * is a kerberos record for this individual user we will
+        * trust kerberos (provided the user really has an account
+        * locally.)  If there is no kerberos record (or the password
+        * were typed incorrectly.) we would attempt to authenticate
+        * against the local password file entry.  Naturally, if
+        * both fail we use existing failure code.
+        */
+       if (pwd) {
+           char pword[BUFSIZ];
+           int cnt1 = 0;
+           static int useGetPass = 0;
+
+           if (useGetPass) {
+               pp = getpass("Password:");
+               memcpy(pword, pp, 8);
+           } else {
+               code =
+                   ka_UserReadPassword("Password:", pword, sizeof(pword),
+                                       &reason);
+
+               if (code) {
+                   if (code != KANULLPASSWORD) {
+                       if (++cnt1 > 5)
+                           useGetPass = 1;
                    }
-                   pp = pword;
-                   if(ka_UserAuthenticateGeneral(
-                          KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG,
-                          pwd->pw_name, /* kerberos name */
-                          NULL, /* instance */
-                          NULL, /* realm */
-                           pp, /* password */
-                           0, /* default lifetime */
-                           &password_expires,
-                           0, /* spare 2 */
-                           &reason /* error string */
-                           )) {
-
-                       afsLoginFail = 1;
-                       pword[8] = '\0';
-                   } else {
-                       if(strcmp(pwd->pw_passwd,"*"))
-                           break; /* out of for loop */
+                   fprintf(stderr, "Unable to read password because %s\n",
+                           reason);
+                   goto loginfailed;
+               }
+           }
+           pp = pword;
+           if (ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, pwd->pw_name,    /* kerberos name */
+                                          NULL,        /* instance */
+                                          NULL,        /* realm */
+                                          pp,  /* password */
+                                          0,   /* default lifetime */
+                                          &password_expires, 0,        /* spare 2 */
+                                          &reason      /* error string */
+               )) {
+
+               afsLoginFail = 1;
+               pword[8] = '\0';
+           } else {
+               if (strcmp(pwd->pw_passwd, "*"))
+                   break;      /* out of for loop */
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-                       (void)ioctl(0, TIOCHPCL, (struct sgttyb *)NULL);
+               (void)ioctl(0, TIOCHPCL, (struct sgttyb *)NULL);
 #endif /* AIX */
-                       goto loginfailed;
-                     }
-               } else {
-                   pp = getpass("Password:");
-               }
+               goto loginfailed;
+           }
+       } else {
+           pp = getpass("Password:");
+       }
 
-               p = crypt(pp, salt);
-               (void) memset(pp, '\0', strlen(pp));
+       p = crypt(pp, salt);
+       (void)memset(pp, '\0', strlen(pp));
 #ifdef AFS_SUN5_ENV
-               if (spwd && !strcmp(p, spwd->sp_pwdp))
+       if (spwd && !strcmp(p, spwd->sp_pwdp))
 #else
-               if (pwd && !strcmp(p, pwd->pw_passwd))
-#endif
-               {
-                  /* Only print this if local authentication is successful */
-                  if (afsLoginFail) {
-                     printf("Unable to authenticate to AFS because %s\n", reason);
-                     printf("proceeding with local authentication...\n");
-                  }
-                  afsLoginFail = 0;
-                  break;
-               }
-               afsLoginFail = 0;
-
-             loginfailed:
-               printf("Login incorrect\n");
-               failures++;
-               /* we allow 10 tries, but after 3 we start backing off */
-               if (++cnt > 3) {
-                       if (cnt >= 6) {
-                               badlogin(username);
+       if (pwd && !strcmp(p, pwd->pw_passwd))
+#endif
+       {
+           /* Only print this if local authentication is successful */
+           if (afsLoginFail) {
+               printf("Unable to authenticate to AFS because %s\n", reason);
+               printf("proceeding with local authentication...\n");
+           }
+           afsLoginFail = 0;
+           break;
+       }
+       afsLoginFail = 0;
+
+      loginfailed:
+       printf("Login incorrect\n");
+       failures++;
+       /* we allow 10 tries, but after 3 we start backing off */
+       if (++cnt > 3) {
+           if (cnt >= 6) {
+               badlogin(username);
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-                               (void)ioctl(0, TIOCHPCL, (struct sgttyb *)NULL);
+               (void)ioctl(0, TIOCHPCL, (struct sgttyb *)NULL);
 #endif /* AIX */
-                               (void)close(0);
-                               (void)close(1);
-                               (void)close(2);
-                               sleep(10);
-                               exit(1);
-                       }
-                       sleep((u_int)((cnt - 3) * 5));
-               }
+               (void)close(0);
+               (void)close(1);
+               (void)close(2);
+               sleep(10);
+               exit(1);
            }
+           sleep((u_int) ((cnt - 3) * 5));
+       }
+    }
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-       setpriority(PRIO_PROCESS, 0, 0);
+    setpriority(PRIO_PROCESS, 0, 0);
 #endif /* AIX */
 #ifdef AFS_SUN5_ENV
-       /*  Exits if root login not on system console. */
-       if (pwd->pw_uid == 0) {
-           if ((Console != NULL) && (strcmp(ttyn, Console) != 0)) {
-               (void) printf("Not on system console\n");
-               exit(10);
-           }
-           if (Def_supath != NULL)
-               Def_path = Def_supath;
-           else
-               Def_path = DEF_SUPATH;
+    /*  Exits if root login not on system console. */
+    if (pwd->pw_uid == 0) {
+       if ((Console != NULL) && (strcmp(ttyn, Console) != 0)) {
+           (void)printf("Not on system console\n");
+           exit(10);
        }
+       if (Def_supath != NULL)
+           Def_path = Def_supath;
+       else
+           Def_path = DEF_SUPATH;
+    }
 #endif /* AFS_SUN5_ENV */
 
-       printf("AFS (R) %s Login\n", AFSVersion); /* generated version */
+    printf("AFS (R) %s Login\n", AFSVersion);  /* generated version */
 
-       /* committed to login -- turn off timeout */
-       (void)alarm((u_int)0);
+    /* committed to login -- turn off timeout */
+    (void)alarm((u_int) 0);
 
-       /*
-        * If valid so far and root is logging in, see if root logins on
-        * this terminal are permitted.
-        */
+    /*
+     * If valid so far and root is logging in, see if root logins on
+     * this terminal are permitted.
+     */
 #if !defined(AIX) && !defined(AFS_SUN5_ENV)
 #ifdef AFS_HPUX_ENV
-        /* This is the /etc/securetty feature.  We wanted to 1st prompt for a
-        * password even if we know that this is not a securetty because
-        * we don't want to give any clue if the potential intruder guesses
-        * the correct password.
-        */
-       if ((pwd->pw_uid == 0) && !rootterm(ttyn+sizeof("/dev/")-1)) {
+    /* This is the /etc/securetty feature.  We wanted to 1st prompt for a
+     * password even if we know that this is not a securetty because
+     * we don't want to give any clue if the potential intruder guesses
+     * the correct password.
+     */
+    if ((pwd->pw_uid == 0) && !rootterm(ttyn + sizeof("/dev/") - 1)) {
 #else
-       if (pwd->pw_uid == 0 && !rootterm(tty)) {
+    if (pwd->pw_uid == 0 && !rootterm(tty)) {
 #endif
-               if (hostname)
-                       syslog(LOG_NOTICE, "ROOT LOGIN REFUSED FROM %s",
-                           hostname);
-               else
-                       syslog(LOG_NOTICE, "ROOT LOGIN REFUSED ON %s", tty);
-               printf("Login incorrect\n");
+       if (hostname)
+           syslog(LOG_NOTICE, "ROOT LOGIN REFUSED FROM %s", hostname);
+       else
+           syslog(LOG_NOTICE, "ROOT LOGIN REFUSED ON %s", tty);
+       printf("Login incorrect\n");
 
-               /*
-               Reset tty line.
-               */
+       /*
+        * Reset tty line.
+        */
 
-               (void)chmod(ttyn,0666);
+       (void)chmod(ttyn, 0666);
 
-               sleepexit(1);
-       }
+       sleepexit(1);
+    }
 #endif /* !AIX & !SUN5 */
 #ifdef Q_SETUID
-       if (quota(Q_SETUID, pwd->pw_uid, 0, 0) < 0 && errno != EINVAL) {
-               switch(errno) {
-               case EUSERS:
-                       fprintf(stderr,
-               "Too many users logged on already.\nTry again later.\n");
-                       break;
-               case EPROCLIM:
-                       fprintf(stderr,
-                           "You have too many processes running.\n");
-                       break;
-               default:
-                       perror("quota (Q_SETUID)");
-               }
+    if (quota(Q_SETUID, pwd->pw_uid, 0, 0) < 0 && errno != EINVAL) {
+       switch (errno) {
+       case EUSERS:
+           fprintf(stderr,
+                   "Too many users logged on already.\nTry again later.\n");
+           break;
+       case EPROCLIM:
+           fprintf(stderr, "You have too many processes running.\n");
+           break;
+       default:
+           perror("quota (Q_SETUID)");
+       }
 
-               /*
-               Reset tty line.
-               */
+       /*
+        * Reset tty line.
+        */
 
-               (void)chmod(ttyn,0666);
+       (void)chmod(ttyn, 0666);
 
-               sleepexit(0);
-       }
+       sleepexit(0);
+    }
 #endif /* Q_SETUID */
 
-        /* For Solaris and HP, we might want to chdir later for remotely 
-           mounted home directory because home direcotry may be
-           protected now
-        */
-       if (chdir(pwd->pw_dir) < 0) {
+    /* For Solaris and HP, we might want to chdir later for remotely 
+     * mounted home directory because home direcotry may be
+     * protected now
+     */
+    if (chdir(pwd->pw_dir) < 0) {
 #if !defined(AFS_SUN5_ENV) && !defined(AFS_HPUX_ENV)
-               printf("No directory %s!\n", pwd->pw_dir);
+       printf("No directory %s!\n", pwd->pw_dir);
 #endif /* !defined(AFS_SUN5_ENV) && !defined(AFS_HPUX_ENV) */
-               if (chdir("/"))
-               {
-
-                       /*
-                       Reset tty line.
-                       */
+       if (chdir("/")) {
 
-                       (void)chmod(ttyn,0666);
+           /*
+            * Reset tty line.
+            */
 
-                       exit(0);
-               }
+           (void)chmod(ttyn, 0666);
 
+           exit(0);
+       }
 #if !defined(AFS_SUN5_ENV) && !defined(AFS_HPUX_ENV)
-               pwd->pw_dir = "/";
-               printf("Logging in with home = \"/\".\n");
+       pwd->pw_dir = "/";
+       printf("Logging in with home = \"/\".\n");
 #else /* !defined(AFS_SUN5_ENV) && !defined(AFS_HPUX_ENV) */
-                retry_chdir = 1;
+       retry_chdir = 1;
 #endif /* !defined(AFS_SUN5_ENV) && !defined(AFS_HPUX_ENV) */
-       }
+    }
 
-       /* nothing else left to fail -- really log in */
-       {
+    /* nothing else left to fail -- really log in */
+    {
 #ifdef AFS_SUN5_ENV
-               long tlen;
-               struct utmpx *utx, *getutxent(), *pututxline();
+       long tlen;
+       struct utmpx *utx, *getutxent(), *pututxline();
 #endif
 #if defined(AFS_HPUX_ENV)
-               register struct utmp *u = NULL;
-               extern pid_t getpid();
+       register struct utmp *u = NULL;
+       extern pid_t getpid();
 #endif
 
 #ifdef AFS_SUN5_ENV
-               (void)time(&utmp.ut_tv.tv_sec);
+       (void)time(&utmp.ut_tv.tv_sec);
 #else
-               (void)time(&utmp.ut_time);
+       (void)time(&utmp.ut_time);
 #endif
-               strncpy(utmp.ut_name, username, sizeof(utmp.ut_name));
-#if !defined(AIX) /*&& !defined(AFS_SUN5_ENV)*/
-               if (hostname)
-                       strncpy(utmp.ut_host, hostname, sizeof(utmp.ut_host));
+       strncpy(utmp.ut_name, username, sizeof(utmp.ut_name));
+#if !defined(AIX)              /*&& !defined(AFS_SUN5_ENV) */
+       if (hostname)
+           strncpy(utmp.ut_host, hostname, sizeof(utmp.ut_host));
 #endif
-               strncpy(utmp.ut_line, tty, sizeof(utmp.ut_line));
+       strncpy(utmp.ut_line, tty, sizeof(utmp.ut_line));
 #if defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV)
-               utmp.ut_type = USER_PROCESS;
-               if (!strncmp(ttyn, "/dev/", strlen("/dev/"))) {
-                 strncpy(utmp.ut_line, &(ttyn[strlen("/dev/")]), sizeof(utmp.ut_line));
-               }
+       utmp.ut_type = USER_PROCESS;
+       if (!strncmp(ttyn, "/dev/", strlen("/dev/"))) {
+           strncpy(utmp.ut_line, &(ttyn[strlen("/dev/")]),
+                   sizeof(utmp.ut_line));
+       }
 
-               utmp.ut_pid = getpid();
-               if ((!strncmp(tty, "tty", strlen("tty"))) ||
-                   (!strncmp(tty, "pty", strlen("pty"))) ) {
-                 strncpy(utmp.ut_id, &(tty[strlen("tty")]), sizeof(utmp.ut_id));
-               }
+       utmp.ut_pid = getpid();
+       if ((!strncmp(tty, "tty", strlen("tty")))
+           || (!strncmp(tty, "pty", strlen("pty")))) {
+           strncpy(utmp.ut_id, &(tty[strlen("tty")]), sizeof(utmp.ut_id));
+       }
 #endif /* AFS_HPUX_ENV */
 #ifdef AFS_HPUX_ENV
+       /*
+        * Find the entry for this pid (or line if we are a sublogin)
+        * in the utmp file.
+        */
+       while ((u = getutent()) != NULL) {
+           if ((u->ut_type == INIT_PROCESS || u->ut_type == LOGIN_PROCESS
+                || u->ut_type == USER_PROCESS)
+               &&
+               ((sublogin
+                 && strncmp(u->ut_line, ttyntail, sizeof(u->ut_line)) == 0)
+                || u->ut_pid == utmp.ut_pid)) {
+
                /*
-                * Find the entry for this pid (or line if we are a sublogin)
-                * in the utmp file.
+                * Copy in the name of the tty minus the
+                * "/dev/", the id, and set the type of entry
+                * to USER_PROCESS.
                 */
-               while ((u = getutent()) != NULL) {
-                   if ( (u->ut_type == INIT_PROCESS ||
-                         u->ut_type == LOGIN_PROCESS ||
-                         u->ut_type == USER_PROCESS)
-                       && ( (sublogin &&
-                             strncmp(u->ut_line,ttyntail,sizeof(u->ut_line))==0) ||
-                           u->ut_pid == utmp.ut_pid) ) {
-
-                       /*
-                        * Copy in the name of the tty minus the
-                        * "/dev/", the id, and set the type of entry
-                        * to USER_PROCESS.
-                        */
-                       (void) strncpy(utmp.ut_line, ttyntail, sizeof(utmp.ut_line));
-                       utmp.ut_id[0] = u->ut_id[0];
-                       utmp.ut_id[1] = u->ut_id[1];
-                       utmp.ut_id[2] = u->ut_id[2];
-                       utmp.ut_id[3] = u->ut_id[3];
-                       utmp.ut_type = USER_PROCESS;
-                       utmp.how_to_count = add_count();
-
-                       /*
-                        * Copy remote host information
-                        */
-                       strncpy(utmp.ut_host, u->ut_host, sizeof(utmp.ut_host));
-                       utmp.ut_addr = u->ut_addr;
+               (void)strncpy(utmp.ut_line, ttyntail, sizeof(utmp.ut_line));
+               utmp.ut_id[0] = u->ut_id[0];
+               utmp.ut_id[1] = u->ut_id[1];
+               utmp.ut_id[2] = u->ut_id[2];
+               utmp.ut_id[3] = u->ut_id[3];
+               utmp.ut_type = USER_PROCESS;
+               utmp.how_to_count = add_count();
 
-                       /* Return the new updated utmp file entry. */
-                       pututline(&utmp);
-                       break;
-               }
+               /*
+                * Copy remote host information
+                */
+               strncpy(utmp.ut_host, u->ut_host, sizeof(utmp.ut_host));
+               utmp.ut_addr = u->ut_addr;
+
+               /* Return the new updated utmp file entry. */
+               pututline(&utmp);
+               break;
+           }
        }
        endutent();             /* Close utmp file */
 #endif
 #ifdef AFS_SUN5_ENV
-               utmp.ut_syslen = (tlen = strlen(utmp.ut_host)) ? min(tlen+1, sizeof(utmp.ut_host)) : 0;
-               strncpy(utmp.ut_user, username, sizeof(utmp.ut_user));
-               while ((utx = getutxent()) != NULL) {
-                   if ((utx->ut_type == INIT_PROCESS || utx->ut_type == LOGIN_PROCESS ||
-                        utx->ut_type == USER_PROCESS) && (utx->ut_pid == utmp.ut_pid)) {
-                       strncpy(utmp.ut_line,(ttyn+sizeof("/dev/")-1), sizeof(utmp.ut_line));
-                       utmp.ut_id[0] = utx->ut_id[0];
-                       utmp.ut_id[1] = utx->ut_id[1];
-                       utmp.ut_id[2] = utx->ut_id[2];
-                       utmp.ut_id[3] = utx->ut_id[3];
-                       utmp.ut_type = USER_PROCESS;
-                       pututxline(&utmp);
-                       break;
-                   }
-               }
-               endutxent();            /* Close utmp file */
-               if (!utx) {
-                   printf("No utmpx entry.  You must exec 'login' from the lowest level 'sh'\n");
-                   exit(1);
-               } else 
-                   updwtmpx(WTMPX_FILE, &utmp);
+       utmp.ut_syslen = (tlen =
+                         strlen(utmp.ut_host)) ? min(tlen + 1,
+                                                     sizeof(utmp.
+                                                            ut_host)) : 0;
+       strncpy(utmp.ut_user, username, sizeof(utmp.ut_user));
+       while ((utx = getutxent()) != NULL) {
+           if ((utx->ut_type == INIT_PROCESS || utx->ut_type == LOGIN_PROCESS
+                || utx->ut_type == USER_PROCESS)
+               && (utx->ut_pid == utmp.ut_pid)) {
+               strncpy(utmp.ut_line, (ttyn + sizeof("/dev/") - 1),
+                       sizeof(utmp.ut_line));
+               utmp.ut_id[0] = utx->ut_id[0];
+               utmp.ut_id[1] = utx->ut_id[1];
+               utmp.ut_id[2] = utx->ut_id[2];
+               utmp.ut_id[3] = utx->ut_id[3];
+               utmp.ut_type = USER_PROCESS;
+               pututxline(&utmp);
+               break;
+           }
+       }
+       endutxent();            /* Close utmp file */
+       if (!utx) {
+           printf
+               ("No utmpx entry.  You must exec 'login' from the lowest level 'sh'\n");
+           exit(1);
+       } else
+           updwtmpx(WTMPX_FILE, &utmp);
 #else
-               login(&utmp);
+       login(&utmp);
 #endif
-       }
+    }
 
-       quietlog = access(HUSHLOGIN, F_OK) == 0;
-       dolastlog(quietlog);
+    quietlog = access(HUSHLOGIN, F_OK) == 0;
+    dolastlog(quietlog);
 
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
 #ifdef AFS_SUN_ENV
-       if (!hflag && !rflag) {                                 /* XXX */
+    if (!hflag && !rflag) {    /* XXX */
 #else
-       if (!hflag) {                                   /* XXX */
+    if (!hflag) {              /* XXX */
 #endif
-               static struct winsize win = { 0, 0, 0, 0 };
+       static struct winsize win = { 0, 0, 0, 0 };
 
-               (void)ioctl(0, TIOCSWINSZ, &win);
-       }
+       (void)ioctl(0, TIOCSWINSZ, &win);
+    }
 #endif /* !AIX and !hpux */
 
 #ifdef AFS_SUN5_ENV
-       /*
-        * Set the user's ulimit
-        */
-       if (Def_ulimit > 0L && ulimit(SET_FSIZ, Def_ulimit) < 0L)
-           (void) printf("Could not set ULIMIT to %ld\n", Def_ulimit);
+    /*
+     * Set the user's ulimit
+     */
+    if (Def_ulimit > 0L && ulimit(SET_FSIZ, Def_ulimit) < 0L)
+       (void)printf("Could not set ULIMIT to %ld\n", Def_ulimit);
 
 #endif
 #if    defined(AFS_SUN_ENV)
-       /*
-        * Set owner/group/permissions of framebuffer devices
-        */
-       (void) set_fb_attrs(ttyn, pwd->pw_uid, pwd->pw_gid);
+    /*
+     * Set owner/group/permissions of framebuffer devices
+     */
+    (void)set_fb_attrs(ttyn, pwd->pw_uid, pwd->pw_gid);
 #endif
 
-       (void)chown(ttyn, pwd->pw_uid,
-           (gr = getgrnam(TTYGRPNAME)) ? gr->gr_gid : pwd->pw_gid);
+    (void)chown(ttyn, pwd->pw_uid,
+               (gr = getgrnam(TTYGRPNAME)) ? gr->gr_gid : pwd->pw_gid);
 
 
-       (void)chmod(ttyn, 0620);
-       (void)setgid(pwd->pw_gid);
+    (void)chmod(ttyn, 0620);
+    (void)setgid(pwd->pw_gid);
 
 #ifdef AFS_HPUX_ENV
-       if ((pwd->pw_gid < 0) || (pwd->pw_gid > MAXUID)) {
-           printf("Bad group id.\n");
-           exit(1);
-       }
-       if ((pwd->pw_uid < 0) || (pwd->pw_uid > MAXUID)) {
-           printf("Bad user id.\n");
-           exit(1);
-       }
+    if ((pwd->pw_gid < 0) || (pwd->pw_gid > MAXUID)) {
+       printf("Bad group id.\n");
+       exit(1);
+    }
+    if ((pwd->pw_uid < 0) || (pwd->pw_uid > MAXUID)) {
+       printf("Bad user id.\n");
+       exit(1);
+    }
 #endif
 
 #ifdef AFS_KERBEROS_ENV
-       (void)chown(ktc_tkt_string(), pwd->pw_uid, pwd->pw_gid);
-
-#endif
-
-       groups[0] = groups[1] = 0;
-       ngroups = getgroups(NGROUPS_MAX, groups);
-       pagval = get_pag_from_groups(groups[0], groups[1]);
-       initgroups(username, pwd->pw_gid);
-       ngroups = getgroups(NGROUPS_MAX, groups);
-       if ((pagval != NOPAG) && 
-           (afs_get_pag_from_groups(groups[0], groups[1])) == NOPAG) {
-            /* we will have to shift grouplist to make room for pag */
-           if (ngroups + 2 > NGROUPS_MAX) 
-               return E2BIG;           /* XXX */
-           for (j = ngroups - 1; j >= 0; j--) {
-               groups[j + 2] = groups[j];
-           }
-           ngroups += 2;
-           get_groups_from_pag(pagval, &groups[0], &groups[1]);
-           if (setgroups(ngroups, groups) == -1) {
-               perror("setgroups");
-               return -1;
-           }
+    (void)chown(ktc_tkt_string(), pwd->pw_uid, pwd->pw_gid);
+
+#endif
+
+    groups[0] = groups[1] = 0;
+    ngroups = getgroups(NGROUPS_MAX, groups);
+    pagval = get_pag_from_groups(groups[0], groups[1]);
+    initgroups(username, pwd->pw_gid);
+    ngroups = getgroups(NGROUPS_MAX, groups);
+    if ((pagval != NOPAG)
+       && (afs_get_pag_from_groups(groups[0], groups[1])) == NOPAG) {
+       /* we will have to shift grouplist to make room for pag */
+       if (ngroups + 2 > NGROUPS_MAX)
+           return E2BIG;       /* XXX */
+       for (j = ngroups - 1; j >= 0; j--) {
+           groups[j + 2] = groups[j];
        }
-
+       ngroups += 2;
+       get_groups_from_pag(pagval, &groups[0], &groups[1]);
+       if (setgroups(ngroups, groups) == -1) {
+           perror("setgroups");
+           return -1;
+       }
+    }
 #ifdef Q_DOWARN
-       quota(Q_DOWARN, pwd->pw_uid, (dev_t)-1, 0);
+    quota(Q_DOWARN, pwd->pw_uid, (dev_t) - 1, 0);
 #endif /* Q_DOWARN */
 
-       /* destroy environment unless user has requested preservation */
-       if (!pflag) {
-           envinit[0] = NULL;
-           envinit[1] = NULL;
-           environ = envinit;
-       }
-       (void)setuid(pwd->pw_uid);
+    /* destroy environment unless user has requested preservation */
+    if (!pflag) {
+       envinit[0] = NULL;
+       envinit[1] = NULL;
+       environ = envinit;
+    }
+    (void)setuid(pwd->pw_uid);
 
 #if defined(AFS_SUN5_ENV) || defined(AFS_HPUX_ENV)
-        /* This is the time to retry chdir for Solaris and HP
-        */
-        if (retry_chdir && chdir(pwd->pw_dir)<0) {
-            printf ("No directory %s!\n", pwd->pw_dir);
-            if (chdir("/")<0) {
-                /* reset tty line and exit */
-                (void)chmod(ttyn, 0666);
-                exit(0);
-            }
-            pwd->pw_dir = "/";
-            printf ("Logging with home = \"/\".\n");
-        }
+    /* This is the time to retry chdir for Solaris and HP
+     */
+    if (retry_chdir && chdir(pwd->pw_dir) < 0) {
+       printf("No directory %s!\n", pwd->pw_dir);
+       if (chdir("/") < 0) {
+           /* reset tty line and exit */
+           (void)chmod(ttyn, 0666);
+           exit(0);
+       }
+       pwd->pw_dir = "/";
+       printf("Logging with home = \"/\".\n");
+    }
 #endif /* AFS_SUN5_ENV || AFS_HPUX_ENV */
 
-       if (*pwd->pw_shell == '\0')
-               pwd->pw_shell = BSHELL;
-#if !defined(AIX) && !defined(AFS_HPUX_ENV) 
-       /* turn on new line discipline for the csh */
-       else if (!strcmp(pwd->pw_shell, "/bin/csh")) {
-               ioctlval = NTTYDISC;
-               (void)ioctl(0, TIOCSETD, &ioctlval);
-       }
+    if (*pwd->pw_shell == '\0')
+       pwd->pw_shell = BSHELL;
+#if !defined(AIX) && !defined(AFS_HPUX_ENV)
+    /* turn on new line discipline for the csh */
+    else if (!strcmp(pwd->pw_shell, "/bin/csh")) {
+       ioctlval = NTTYDISC;
+       (void)ioctl(0, TIOCSETD, &ioctlval);
+    }
 #endif /* AIX */
 #ifdef AFS_SUN5_ENV
-        else {
-           if (Altshell != NULL && strcmp(Altshell, "YES") == 0) {
-               (void)setenv("SHELL", pwd->pw_shell, 1);
-           }
-       }
-       if (Def_tz != NULL) {
-           tmp_tz = Def_tz;
+    else {
+       if (Altshell != NULL && strcmp(Altshell, "YES") == 0) {
+           (void)setenv("SHELL", pwd->pw_shell, 1);
        }
-       Def_tz = getenv("TZ");
-       if (Def_tz) {
+    }
+    if (Def_tz != NULL) {
+       tmp_tz = Def_tz;
+    }
+    Def_tz = getenv("TZ");
+    if (Def_tz) {
+       setenv("TZ", Def_tz, 1);
+    } else {
+       if (tmp_tz) {
+           Def_tz = tmp_tz;
            setenv("TZ", Def_tz, 1);
-       } else {
-           if (tmp_tz) {
-               Def_tz = tmp_tz;
-               setenv("TZ", Def_tz, 1);
-           }
        }
-       if (Def_hertz == NULL)
-           (void)setenv("HZ", HZ, 1);
-       else
-           (void)setenv("HZ", Def_hertz, 1);
+    }
+    if (Def_hertz == NULL)
+       (void)setenv("HZ", HZ, 1);
+    else
+       (void)setenv("HZ", Def_hertz, 1);
 
 #endif
 
 #ifdef AFS_HPUX_ENV
-        /* if pflag is not set
-           the TZ environment was cleared moments ago */
-        if (*TZ && !pflag) {
-            setenv ("TZ", &TZ[3], 1); 
-        }
+    /* if pflag is not set
+     * the TZ environment was cleared moments ago */
+    if (*TZ && !pflag) {
+       setenv("TZ", &TZ[3], 1);
+    }
 #endif /* AFS_HPUX_ENV */
 
-       (void)setenv("HOME", pwd->pw_dir, 1);
-       (void)setenv("SHELL", pwd->pw_shell, 1);
-       if (term[0] == '\0')
-               strncpy(term, stypeof(tty), sizeof(term));
-       (void)setenv("TERM", term, 0);
-       (void)setenv("USER", pwd->pw_name, 1);
-       (void)setenv("LOGNAME", pwd->pw_name, 1);
+    (void)setenv("HOME", pwd->pw_dir, 1);
+    (void)setenv("SHELL", pwd->pw_shell, 1);
+    if (term[0] == '\0')
+       strncpy(term, stypeof(tty), sizeof(term));
+    (void)setenv("TERM", term, 0);
+    (void)setenv("USER", pwd->pw_name, 1);
+    (void)setenv("LOGNAME", pwd->pw_name, 1);
 #ifdef AFS_SUN5_ENV
-       if (Def_path == NULL)
-           (void)setenv("PATH", DEF_PATH, 0);
-       else
-           (void)setenv("PATH", Def_path, 0);
+    if (Def_path == NULL)
+       (void)setenv("PATH", DEF_PATH, 0);
+    else
+       (void)setenv("PATH", Def_path, 0);
 #else
-       (void)setenv("PATH", "/usr/ucb:/bin:/usr/bin:", 0);
+    (void)setenv("PATH", "/usr/ucb:/bin:/usr/bin:", 0);
 #endif
 
 #if     defined(AFS_SUN5_ENV) || defined(AFS_HPUX100_ENV)
 #ifndef NO_MAIL
-        /* Sol, HP: set MAIL only if NO_MAIL is not set */
-        sprintf (mail, "%s%s", MAILDIR, pwd->pw_name);
-        (void)setenv("MAIL", mail, 0);
+    /* Sol, HP: set MAIL only if NO_MAIL is not set */
+    sprintf(mail, "%s%s", MAILDIR, pwd->pw_name);
+    (void)setenv("MAIL", mail, 0);
 #endif /* NO_MAIL */
 #endif /* AFS_SUN5_ENV || AFS_HPUX100_ENV */
 
 #ifdef AFS_KERBEROS_ENV
-       (void)setenv("KRBTKFILE", ktc_tkt_string(), 0);
+    (void)setenv("KRBTKFILE", ktc_tkt_string(), 0);
 #endif
 
-       if (password_expires >= 0) {
-           char sbuffer[100];
-         (void)setenv("PASSWORD_EXPIRES", cv2string(&sbuffer[100], password_expires), 1);
-       }
+    if (password_expires >= 0) {
+       char sbuffer[100];
+       (void)setenv("PASSWORD_EXPIRES",
+                    cv2string(&sbuffer[100], password_expires), 1);
+    }
 
-       if (tty[sizeof("tty")-1] == 'd')
-               syslog(LOG_INFO, "DIALUP %s, %s", tty, pwd->pw_name);
-       if (pwd->pw_uid == 0)
-               if (hostname)
-                       syslog(LOG_NOTICE, "ROOT LOGIN ON %s FROM %s",
-                           tty, hostname);
-               else
-                       syslog(LOG_NOTICE, "ROOT LOGIN ON %s", tty);
+    if (tty[sizeof("tty") - 1] == 'd')
+       syslog(LOG_INFO, "DIALUP %s, %s", tty, pwd->pw_name);
+    if (pwd->pw_uid == 0)
+       if (hostname)
+           syslog(LOG_NOTICE, "ROOT LOGIN ON %s FROM %s", tty, hostname);
+       else
+           syslog(LOG_NOTICE, "ROOT LOGIN ON %s", tty);
 
-       if (!quietlog) {
-               struct stat st;
+    if (!quietlog) {
+       struct stat st;
 
 #if    ! defined(AFS_SUN5_ENV) && (! defined(AFS_HPUX_ENV))
-               /* In Solaris the shell displays motd */
-               /* On hp700s /etc/profile also does it so it's redundant here too */
-               motd();
-                /* Don't check email either, should be done in shell */
-               (void)sprintf(tbuf, "%s/%s", MAILDIR, pwd->pw_name);
-               if (stat(tbuf, &st) == 0 && st.st_size != 0)
-                       printf("You have %smail.\n",
-                           (st.st_mtime > st.st_atime) ? "new " : "");
+       /* In Solaris the shell displays motd */
+       /* On hp700s /etc/profile also does it so it's redundant here too */
+       motd();
+       /* Don't check email either, should be done in shell */
+       (void)sprintf(tbuf, "%s/%s", MAILDIR, pwd->pw_name);
+       if (stat(tbuf, &st) == 0 && st.st_size != 0)
+           printf("You have %smail.\n",
+                  (st.st_mtime > st.st_atime) ? "new " : "");
 #endif
-       }
+    }
 
-       (void)signal(SIGALRM, SIG_DFL);
-       (void)signal(SIGQUIT, SIG_DFL);
-       (void)signal(SIGINT, SIG_DFL);
+    (void)signal(SIGALRM, SIG_DFL);
+    (void)signal(SIGQUIT, SIG_DFL);
+    (void)signal(SIGINT, SIG_DFL);
 #if !defined(AIX) && !defined(AFS_HPUX_ENV)
-       (void)signal(SIGTSTP, SIG_IGN);
+    (void)signal(SIGTSTP, SIG_IGN);
 #endif /* AIX */
 
-       tbuf[0] = '-';
-       strcpy(tbuf + 1, (p = strrchr(pwd->pw_shell, '/')) ?
-           p + 1 : pwd->pw_shell);
-       execlp(pwd->pw_shell, tbuf, 0);
-       fprintf(stderr, "login: no shell: ");
-       perror(pwd->pw_shell);
-       exit(0);
+    tbuf[0] = '-';
+    strcpy(tbuf + 1,
+          (p = strrchr(pwd->pw_shell, '/')) ? p + 1 : pwd->pw_shell);
+    execlp(pwd->pw_shell, tbuf, 0);
+    fprintf(stderr, "login: no shell: ");
+    perror(pwd->pw_shell);
+    exit(0);
 #endif /* else AFS_OSF_ENV */
 }
 
 getloginname(prompt)
-int prompt;
+     int prompt;
 {
-       register int ch;
-       register char *p;
-       static char nbuf[UT_NAMESIZE + 1];
-
-       for (;;) {
-               if (prompt) {
-                   printf("login: ");
-                   prompt = 0;
-               }
-               for (p = nbuf; (ch = getchar()) != '\n'; ) {
-                       if (ch == EOF) {
-                               badlogin(username);
-                               exit(0);
-                       }
-                       if (p < nbuf + UT_NAMESIZE)
-                               *p++ = (char) ch;
-               }
-               if (p > nbuf) {
-                       if (nbuf[0] == '-')
-                               fprintf(stderr,
-                                   "login names may not start with '-'.\n");
-                       else {
-                               *p = '\0';
-                               username = nbuf;
-                               break;
-                       }
-                   } else prompt = 1;
+    register int ch;
+    register char *p;
+    static char nbuf[UT_NAMESIZE + 1];
+
+    for (;;) {
+       if (prompt) {
+           printf("login: ");
+           prompt = 0;
+       }
+       for (p = nbuf; (ch = getchar()) != '\n';) {
+           if (ch == EOF) {
+               badlogin(username);
+               exit(0);
+           }
+           if (p < nbuf + UT_NAMESIZE)
+               *p++ = (char)ch;
        }
+       if (p > nbuf) {
+           if (nbuf[0] == '-')
+               fprintf(stderr, "login names may not start with '-'.\n");
+           else {
+               *p = '\0';
+               username = nbuf;
+               break;
+           }
+       } else
+           prompt = 1;
+    }
 }
 
 
 #ifdef AFS_HPUX_ENV
 rootterm(tty)
-char *tty;
+     char *tty;
 {
     register FILE *fd;
     char buf[100];
@@ -1467,75 +1485,75 @@ char *tty;
      * file to see if passwd tty is in the file.  Return 1 if it is, 0 if not.
      */
     if ((fd = fopen(SECURETTY_FILE, "r")) == NULL)
-       return(1);
+       return (1);
     while (fgets(buf, sizeof buf, fd) != NULL) {
-       buf[strlen(buf)-1] = '\0';
+       buf[strlen(buf) - 1] = '\0';
        if (strcmp(tty, buf) == 0) {
            fclose(fd);
-           return(1);
+           return (1);
        }
     }
     fclose(fd);
-    return(0);
+    return (0);
 }
 #endif
 #if !defined(AIX) && !defined(AFS_HPUX_ENV) && !defined(AFS_SUN5_ENV)
 rootterm(ttyn)
-       char *ttyn;
+     char *ttyn;
 {
-       struct ttyent *t;
+    struct ttyent *t;
 
-       return((t = getttynam(ttyn)) && t->ty_status&TTY_SECURE);
+    return ((t = getttynam(ttyn)) && t->ty_status & TTY_SECURE);
 }
-#endif 
+#endif
 
 jmp_buf motdinterrupt;
 
 motd()
 {
-       register int fd, nchars;
-       void (*oldint)();
-       void sigint();
-       char tbuf[8192];
-
-       if ((fd = open(MOTDFILE, O_RDONLY, 0)) < 0)
-               return;
-       oldint = signal(SIGINT, sigint);
-       if (setjmp(motdinterrupt) == 0)
-               while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
-                       (void)write(fileno(stdout), tbuf, nchars);
-       (void)signal(SIGINT, oldint);
-       (void)close(fd);
+    register int fd, nchars;
+    void (*oldint) ();
+    void sigint();
+    char tbuf[8192];
+
+    if ((fd = open(MOTDFILE, O_RDONLY, 0)) < 0)
+       return;
+    oldint = signal(SIGINT, sigint);
+    if (setjmp(motdinterrupt) == 0)
+       while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
+           (void)write(fileno(stdout), tbuf, nchars);
+    (void)signal(SIGINT, oldint);
+    (void)close(fd);
 }
 
 void
 sigint()
 {
-       longjmp(motdinterrupt, 1);
+    longjmp(motdinterrupt, 1);
 }
 
 checknologin()
 {
-       register int fd, nchars;
-       char tbuf[8192];
+    register int fd, nchars;
+    char tbuf[8192];
 
-       if ((fd = open(NOLOGIN, O_RDONLY, 0)) >= 0) {
-               while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
-                       (void)write(fileno(stdout), tbuf, nchars);
-               sleepexit(0);
-       }
+    if ((fd = open(NOLOGIN, O_RDONLY, 0)) >= 0) {
+       while ((nchars = read(fd, tbuf, sizeof(tbuf))) > 0)
+           (void)write(fileno(stdout), tbuf, nchars);
+       sleepexit(0);
+    }
 }
 
 #if defined(AIX) || defined(AFS_HPUX_ENV) || defined(AFS_AIX32_ENV)
 dolastlog(quiet)
-       int quiet;
+     int quiet;
 {
-  return 0;
+    return 0;
 }
 #else
 #ifdef AFS_OSF_ENV
 dolastlog(quiet)
-    int quiet;
+     int quiet;
 {
 #define _PATH_LASTLOG   "/var/adm/lastlog"
     struct lastlog ll;
@@ -1543,15 +1561,18 @@ dolastlog(quiet)
     struct passwd *pwd;
 
     pwd = entity->pwd;
-    if ((fd = open(_PATH_LASTLOG, (O_RDWR|O_CREAT), 0666)) < 0)
+    if ((fd = open(_PATH_LASTLOG, (O_RDWR | O_CREAT), 0666)) < 0)
        fprintf(stderr, "Can't open %s", _PATH_LASTLOG);
     else {
-       (void)lseek(fd, (off_t)pwd->pw_uid * sizeof(ll), L_SET);
+       (void)lseek(fd, (off_t) pwd->pw_uid * sizeof(ll), L_SET);
        if (!quiet) {
-           if (read(fd, (char *)&ll, sizeof(ll)) == sizeof(ll) && ll.ll_time != 0) {
-               (void)printf("Last login: %.*s ", 24-5, (char *)ctime(&ll.ll_time));
+           if (read(fd, (char *)&ll, sizeof(ll)) == sizeof(ll)
+               && ll.ll_time != 0) {
+               (void)printf("Last login: %.*s ", 24 - 5,
+                            (char *)ctime(&ll.ll_time));
                if (*ll.ll_host != '\0')
-                   (void)printf("from %.*s\n", sizeof(ll.ll_host), ll.ll_host);
+                   (void)printf("from %.*s\n", sizeof(ll.ll_host),
+                                ll.ll_host);
                else
                    (void)printf("on %.*s\n", sizeof(ll.ll_line), ll.ll_line);
            }
@@ -1561,50 +1582,48 @@ dolastlog(quiet)
 }
 #else
 dolastlog(quiet)
-       int quiet;
+     int quiet;
 {
-       struct lastlog ll;
-       int fd;
-
-       if ((fd = open(LASTLOG, O_RDWR, 0)) >= 0) {
-               (void)lseek(fd, (off_t)pwd->pw_uid * sizeof(ll), L_SET);
-               if (!quiet) {
-                       if (read(fd, (char *)&ll, sizeof(ll)) == sizeof(ll) &&
-                           ll.ll_time != 0) {
-                               printf("Last login: %.*s ",
-                                   24-5, (char *)ctime(&ll.ll_time));
-                               if (*ll.ll_host != '\0')
-                                       printf("from %.*s\n",
-                                           sizeof(ll.ll_host), ll.ll_host);
-                               else
-                                       printf("on %.*s\n",
-                                           sizeof(ll.ll_line), ll.ll_line);
-                       }
-                       (void)lseek(fd, (off_t)pwd->pw_uid * sizeof(ll), L_SET);
-               }
-               memset(&ll, '\0', sizeof(ll));
-               (void)time(&ll.ll_time);
-               strncpy(ll.ll_line, tty, sizeof(ll.ll_line));
-               if (hostname)
-                       strncpy(ll.ll_host, hostname, sizeof(ll.ll_host));
-               (void)write(fd, (char *)&ll, sizeof(ll));
-               (void)close(fd);
+    struct lastlog ll;
+    int fd;
+
+    if ((fd = open(LASTLOG, O_RDWR, 0)) >= 0) {
+       (void)lseek(fd, (off_t) pwd->pw_uid * sizeof(ll), L_SET);
+       if (!quiet) {
+           if (read(fd, (char *)&ll, sizeof(ll)) == sizeof(ll)
+               && ll.ll_time != 0) {
+               printf("Last login: %.*s ", 24 - 5,
+                      (char *)ctime(&ll.ll_time));
+               if (*ll.ll_host != '\0')
+                   printf("from %.*s\n", sizeof(ll.ll_host), ll.ll_host);
+               else
+                   printf("on %.*s\n", sizeof(ll.ll_line), ll.ll_line);
+           }
+           (void)lseek(fd, (off_t) pwd->pw_uid * sizeof(ll), L_SET);
        }
+       memset(&ll, '\0', sizeof(ll));
+       (void)time(&ll.ll_time);
+       strncpy(ll.ll_line, tty, sizeof(ll.ll_line));
+       if (hostname)
+           strncpy(ll.ll_host, hostname, sizeof(ll.ll_host));
+       (void)write(fd, (char *)&ll, sizeof(ll));
+       (void)close(fd);
+    }
 }
 #endif
 #endif /* AIX */
 
 badlogin(name)
-       char *name;
+     char *name;
 {
-       if (failures == 0)
-               return;
-       if (hostname)
-               syslog(LOG_NOTICE, "%d LOGIN FAILURE%s FROM %s, %s",
-                   failures, failures > 1 ? "S" : "", hostname, name);
-       else
-               syslog(LOG_NOTICE, "%d LOGIN FAILURE%s ON %s, %s",
-                   failures, failures > 1 ? "S" : "", tty, name);
+    if (failures == 0)
+       return;
+    if (hostname)
+       syslog(LOG_NOTICE, "%d LOGIN FAILURE%s FROM %s, %s", failures,
+              failures > 1 ? "S" : "", hostname, name);
+    else
+       syslog(LOG_NOTICE, "%d LOGIN FAILURE%s ON %s, %s", failures,
+              failures > 1 ? "S" : "", tty, name);
 }
 
 #undef UNKNOWN
@@ -1617,81 +1636,82 @@ badlogin(name)
 #if defined(AIX) || defined(AFS_HPUX_ENV) || defined(AFS_SUN5_ENV)
 char *
 stypeof(ttyid)
-       char *ttyid;
+     char *ttyid;
 {
-       return(UNKNOWN);
+    return (UNKNOWN);
 }
 #else
 char *
 stypeof(ttyid)
-       char *ttyid;
+     char *ttyid;
 {
-       struct ttyent *t;
+    struct ttyent *t;
 
-       return(ttyid && (t = getttynam(ttyid)) ? t->ty_type : UNKNOWN);
+    return (ttyid && (t = getttynam(ttyid)) ? t->ty_type : UNKNOWN);
 }
 #endif
 
 getstr(buf, cnt, err)
-       char *buf, *err;
-       int cnt;
+     char *buf, *err;
+     int cnt;
 {
-       char ch;
-
-       do {
-               if (read(0, &ch, sizeof(ch)) != sizeof(ch))
-                       exit(1);
-               if (--cnt < 0) {
-                       fprintf(stderr, "%s too long\r\n", err);
-                       sleepexit(1);
-               }
-               *buf++ = ch;
-       } while (ch);
+    char ch;
+
+    do {
+       if (read(0, &ch, sizeof(ch)) != sizeof(ch))
+           exit(1);
+       if (--cnt < 0) {
+           fprintf(stderr, "%s too long\r\n", err);
+           sleepexit(1);
+       }
+       *buf++ = ch;
+    } while (ch);
 }
 
 sleepexit(eval)
-       int eval;
+     int eval;
 {
-       sleep((u_int)5);
-       exit(eval);
+    sleep((u_int) 5);
+    exit(eval);
 }
 
-    
-int get_pag_from_groups(g0, g1)
-afs_uint32 g0, g1;
+
+int
+get_pag_from_groups(g0, g1)
+     afs_uint32 g0, g1;
 {
-       afs_uint32 h, l, result;
-
-       g0 -= 0x3f00;
-       g1 -= 0x3f00;
-       if (g0 < 0xc000 && g1 < 0xc000) {
-               l = ((g0 & 0x3fff) << 14) | (g1 & 0x3fff);
-               h = (g0 >> 14);
-               h = (g1 >> 14) + h + h + h;
-               result =  ((h << 28) | l);
-               /* Additional testing */        
-               if (((result >> 24) & 0xff) == 'A')
-                       return result;
-               else
-                       return NOPAG;
-       }
-       return NOPAG;
+    afs_uint32 h, l, result;
+
+    g0 -= 0x3f00;
+    g1 -= 0x3f00;
+    if (g0 < 0xc000 && g1 < 0xc000) {
+       l = ((g0 & 0x3fff) << 14) | (g1 & 0x3fff);
+       h = (g0 >> 14);
+       h = (g1 >> 14) + h + h + h;
+       result = ((h << 28) | l);
+       /* Additional testing */
+       if (((result >> 24) & 0xff) == 'A')
+           return result;
+       else
+           return NOPAG;
+    }
+    return NOPAG;
 }
 
 
 get_groups_from_pag(pag, g0p, g1p)
-afs_uint32 pag;
-afs_uint32 *g0p, *g1p;
+     afs_uint32 pag;
+     afs_uint32 *g0p, *g1p;
 {
-       unsigned short g0, g1;
-
-       pag &= 0x7fffffff;
-       g0 = 0x3fff & (pag >> 14);
-       g1 = 0x3fff & pag;
-       g0 |= ((pag >> 28) / 3) << 14;
-       g1 |= ((pag >> 28) % 3) << 14;
-       *g0p = g0 + 0x3f00;
-       *g1p = g1 + 0x3f00;
+    unsigned short g0, g1;
+
+    pag &= 0x7fffffff;
+    g0 = 0x3fff & (pag >> 14);
+    g1 = 0x3fff & pag;
+    g0 |= ((pag >> 28) / 3) << 14;
+    g1 |= ((pag >> 28) % 3) << 14;
+    *g0p = g0 + 0x3f00;
+    *g1p = g1 + 0x3f00;
 }
 
 
@@ -1731,184 +1751,189 @@ afs_uint32 *g0p, *g1p;
 
 
 set_fb_attrs(ttyn, uid, gid)
-       char *ttyn;
-       int uid;
-       int gid;
+     char *ttyn;
+     int uid;
+     int gid;
 {
-       char line[MAX_LINELEN];
-       char *console;
-       char *mode_str;
-       char *dev_list;
-       char *device;
-       char *ptr;
-       int  mode;
-       long strtol();
-       FILE *fp;
-
-       if ((fp = fopen(FBTAB, "r")) == NULL)
-               return;
-       while (fgets(line, MAX_LINELEN, fp)) {
-               if (ptr = strchr(line, '#'))
-                       *ptr = '\0';    /* handle comments */
-               if ((console = strtok(line, FIELD_DELIMS)) == NULL)
-                       continue;       /* ignore blank lines */
-               if (strcmp(console, ttyn) != 0)
-                       continue;       /* ignore non-consoles */
-               mode_str = strtok((char *)NULL, FIELD_DELIMS);
-               if (mode_str == NULL) {
-                       (void) fprintf(stderr, "%s: invalid entry -- %s\n",
-                               FBTAB, line);
-                       continue;
-               }
-               /* convert string to octal value */
-               mode = (int) strtol(mode_str, (char **)NULL, 8);
-               if (mode < 0 || mode > 0777) {
-                       (void) fprintf(stderr, "%s: invalid mode -- %s\n",
-                               FBTAB, mode_str);
-                       continue;
-               }
-               dev_list = strtok((char *)NULL, FIELD_DELIMS);
-               if (dev_list == NULL) {
-                       (void) fprintf(stderr, "%s: %s -- empty device list\n",
-                               FBTAB, console);
-                       continue;
-               }
+    char line[MAX_LINELEN];
+    char *console;
+    char *mode_str;
+    char *dev_list;
+    char *device;
+    char *ptr;
+    int mode;
+    long strtol();
+    FILE *fp;
+
+    if ((fp = fopen(FBTAB, "r")) == NULL)
+       return;
+    while (fgets(line, MAX_LINELEN, fp)) {
+       if (ptr = strchr(line, '#'))
+           *ptr = '\0';        /* handle comments */
+       if ((console = strtok(line, FIELD_DELIMS)) == NULL)
+           continue;           /* ignore blank lines */
+       if (strcmp(console, ttyn) != 0)
+           continue;           /* ignore non-consoles */
+       mode_str = strtok((char *)NULL, FIELD_DELIMS);
+       if (mode_str == NULL) {
+           (void)fprintf(stderr, "%s: invalid entry -- %s\n", FBTAB, line);
+           continue;
+       }
+       /* convert string to octal value */
+       mode = (int)strtol(mode_str, (char **)NULL, 8);
+       if (mode < 0 || mode > 0777) {
+           (void)fprintf(stderr, "%s: invalid mode -- %s\n", FBTAB,
+                         mode_str);
+           continue;
+       }
+       dev_list = strtok((char *)NULL, FIELD_DELIMS);
+       if (dev_list == NULL) {
+           (void)fprintf(stderr, "%s: %s -- empty device list\n", FBTAB,
+                         console);
+           continue;
+       }
 #ifdef AFS_SUN5_ENV
-               device = strtok(dev_list, COLON);
-               while (device) {
-                   ptr = strstr(device, WILDCARD);
-                   if (ptr && 
-                       (strlen(device) - (ptr - &device[0])) == WILDCARD_LEN){
-                       /* The device was a (legally-specified) directory. */
-                       DIR           *dev_dir;
-                       struct dirent *dir_e;
-                       char dev_file[MAXPATHLEN];
-                       
-                       *ptr = '\0'; /* Remove the wildcard from the dir name. */
-                       if ((dev_dir = opendir(device)) == (DIR *) NULL) {
-                           syslog(LOG_ERR, "bad device %s%s in %s, ignored",
-                                  device, WILDCARD, FBTAB);
-                           continue;
-                       }
-                       
-                       /* Directory is open; alter its files. */
-                       /* Must link with /usr/lib/libc.a before 
-                          /usr/ucblib/libucb.a or the d_name structs
-                          miss the first two characters of the filename */
-                       while (dir_e = readdir(dev_dir)) {
-                           if (strcmp(dir_e->d_name, "..") &&
-                               strcmp(dir_e->d_name, ".")) {
-                               strcpy(dev_file, device);
-                               strcat(dev_file, "/");
-                               strcat(dev_file, dir_e->d_name);
-                               (void) chown(dev_file, uid, gid);
-                               (void) chmod(dev_file, mode);
-                           }
-                       }
-                       (void) closedir(dev_dir);
-                   } else {
-                       /* 'device' was not a directory, so we can just do it. */
-                       (void) chown(device, uid, gid);
-                       (void) chmod(device, mode);
+       device = strtok(dev_list, COLON);
+       while (device) {
+           ptr = strstr(device, WILDCARD);
+           if (ptr && (strlen(device) - (ptr - &device[0])) == WILDCARD_LEN) {
+               /* The device was a (legally-specified) directory. */
+               DIR *dev_dir;
+               struct dirent *dir_e;
+               char dev_file[MAXPATHLEN];
+
+               *ptr = '\0';    /* Remove the wildcard from the dir name. */
+               if ((dev_dir = opendir(device)) == (DIR *) NULL) {
+                   syslog(LOG_ERR, "bad device %s%s in %s, ignored", device,
+                          WILDCARD, FBTAB);
+                   continue;
+               }
+
+               /* Directory is open; alter its files. */
+               /* Must link with /usr/lib/libc.a before 
+                * /usr/ucblib/libucb.a or the d_name structs
+                * miss the first two characters of the filename */
+               while (dir_e = readdir(dev_dir)) {
+                   if (strcmp(dir_e->d_name, "..")
+                       && strcmp(dir_e->d_name, ".")) {
+                       strcpy(dev_file, device);
+                       strcat(dev_file, "/");
+                       strcat(dev_file, dir_e->d_name);
+                       (void)chown(dev_file, uid, gid);
+                       (void)chmod(dev_file, mode);
                    }
-                   device = strtok((char *)NULL, COLON); /* Move thru list. */
+               }
+               (void)closedir(dev_dir);
+           } else {
+               /* 'device' was not a directory, so we can just do it. */
+               (void)chown(device, uid, gid);
+               (void)chmod(device, mode);
+           }
+           device = strtok((char *)NULL, COLON);       /* Move thru list. */
 #else
-               device = strtok(dev_list, COLON);
-               while (device) {
-                       (void) chown(device, uid, gid);
-                       (void) chmod(device, mode);
-                       device = strtok((char *)NULL, COLON);
+       device = strtok(dev_list, COLON);
+       while (device) {
+           (void)chown(device, uid, gid);
+           (void)chmod(device, mode);
+           device = strtok((char *)NULL, COLON);
 #endif
-               }
        }
-       (void) fclose(fp);
+    }
+    (void)fclose(fp);
 }
 #endif
 
 
 #ifdef AFS_SUN5_ENV
-static int quotec()
+static int
+quotec()
 {
-       register int c, i, num;
-
-       switch( c = getc(stdin)) {
-       case 'n':
-               c = '\n';
-               break;
-       case 'r':
-               c = '\r';
-               break;
-       case 'v':
-               c = '\013';
-               break;
-       case 'b':
-               c = '\b';
-               break;
-       case 't':
-               c = '\t';
-               break;
-       case 'f':
-               c = '\f';
-               break;
-       case '0':
-       case '1':
-       case '2':
-       case '3':
-       case '4':
-       case '5':
-       case '6':
-       case '7':
-               for( num=0,i=0; i<3; i++ ) {
-                   num = num * 8 + (c - '0');
-                   if ((c = getc(stdin)) < '0' || c > '7')
-                       break;
-               }
-               ungetc(c,stdin);
-               c = num & 0377;
-               break;
-       default:
+    register int c, i, num;
+
+    switch (c = getc(stdin)) {
+    case 'n':
+       c = '\n';
+       break;
+    case 'r':
+       c = '\r';
+       break;
+    case 'v':
+       c = '\013';
+       break;
+    case 'b':
+       c = '\b';
+       break;
+    case 't':
+       c = '\t';
+       break;
+    case 'f':
+       c = '\f';
+       break;
+    case '0':
+    case '1':
+    case '2':
+    case '3':
+    case '4':
+    case '5':
+    case '6':
+    case '7':
+       for (num = 0, i = 0; i < 3; i++) {
+           num = num * 8 + (c - '0');
+           if ((c = getc(stdin)) < '0' || c > '7')
                break;
        }
-       return(c);
+       ungetc(c, stdin);
+       c = num & 0377;
+       break;
+    default:
+       break;
+    }
+    return (c);
 }
 
-static char **getargs(inline)
-    char *inline;
+static char **
+getargs(inline)
+     char *inline;
 {
     static char envbuf[256];
     static char *args[63];
-    register char *ptr,**answer;
+    register char *ptr, **answer;
     register int c;
     int state;
     extern int quotec();
 
-    for (ptr= envbuf; ptr < &envbuf[sizeof(envbuf)];) *ptr++ = '\0';
-    for (answer= args; answer < &args[63];) *answer++ = (char *)NULL;
-    for (ptr= envbuf,answer= &args[0],state = 0; (c = getc(stdin)) != EOF;) {
+    for (ptr = envbuf; ptr < &envbuf[sizeof(envbuf)];)
+       *ptr++ = '\0';
+    for (answer = args; answer < &args[63];)
+       *answer++ = (char *)NULL;
+    for (ptr = envbuf, answer = &args[0], state = 0;
+        (c = getc(stdin)) != EOF;) {
        *(inline++) = c;
        switch (c) {
-         case '\n':
-           if (ptr == &envbuf[0]) return((char **)NULL);
-           else return(&args[0]);
-         case ' ':
-         case '\t':
+       case '\n':
+           if (ptr == &envbuf[0])
+               return ((char **)NULL);
+           else
+               return (&args[0]);
+       case ' ':
+       case '\t':
            if (state == 1) {
                *ptr++ = '\0';
                state = 0;
            }
            break;
-         case '\\':
+       case '\\':
            c = quotec();
-         default:
+       default:
            if (state == 0) {
                *answer++ = ptr;
                state = 1;
            }
            *ptr++ = c;
        }
-       if (ptr == &envbuf[sizeof(envbuf)-1]) {
-           ungetc('\n',stdin);
-           putc('\n',stdout);
+       if (ptr == &envbuf[sizeof(envbuf) - 1]) {
+           ungetc('\n', stdin);
+           putc('\n', stdout);
        }
     }
     exit(0);
@@ -1921,10 +1946,11 @@ doremotelogin()
 {
     static struct passwd nouser = { "", "no:password", ~0 };
 
-    getstr(rusername, sizeof (rusername), "remuser");
-    getstr(lusername, sizeof (lusername), "locuser");
-    if (!username) username = lusername;
-    getstr(term, sizeof (term), "Terminal type");
+    getstr(rusername, sizeof(rusername), "remuser");
+    getstr(lusername, sizeof(lusername), "locuser");
+    if (!username)
+       username = lusername;
+    getstr(term, sizeof(term), "Terminal type");
     if (getuid()) {
        pwd = &nouser;
        goto out;
@@ -1935,22 +1961,23 @@ doremotelogin()
        pwd = &nouser;
        goto out;
     }
- out:
+  out:
     doremoteterm(term);
     return;
 }
 #else
 doremotelogin(host)
-    char *host;
+     char *host;
 {
     int code;
-    static char  rusername[100], lusername[100];
+    static char rusername[100], lusername[100];
     static struct passwd nouser = { "", "no:password", ~0 };
 
-    getstr(rusername, sizeof (rusername), "remuser");
-    getstr(lusername, sizeof (lusername), "locuser");
-    if (!username) username = lusername;
-    getstr(term, sizeof (term), "Terminal type");
+    getstr(rusername, sizeof(rusername), "remuser");
+    getstr(lusername, sizeof(lusername), "locuser");
+    if (!username)
+       username = lusername;
+    getstr(term, sizeof(term), "Terminal type");
     if (getuid()) {
        pwd = &nouser;
        return -1;
@@ -1966,18 +1993,19 @@ doremotelogin(host)
 }
 #endif
 
-char   *speeds[] =
-       { "0", "50", "75", "110", "134", "150", "200", "300",
-       "600", "1200", "1800", "2400", "4800", "9600", "19200", "38400" };
+char *speeds[] = { "0", "50", "75", "110", "134", "150", "200", "300",
+    "600", "1200", "1800", "2400", "4800", "9600", "19200", "38400"
+};
+
 #define        NSPEEDS (sizeof (speeds) / sizeof (speeds[0]))
 
 #ifdef AFS_SUN5_ENV
 doremoteterm(terminal)
 #else
 doremoteterm(terminal, tp)
-    struct sgttyb *tp;
+     struct sgttyb *tp;
 #endif
-    char *terminal;
+     char *terminal;
 {
 #ifdef AFS_SUN5_ENV
     struct termios tp;
@@ -1986,7 +2014,7 @@ doremoteterm(terminal, tp)
     char *speed;
 
 #ifdef AFS_SUN5_ENV
-    (void) ioctl(0, TCGETS, &tp);
+    (void)ioctl(0, TCGETS, &tp);
 #endif
     if (cp) {
        *cp++ = '\0';
@@ -1997,18 +2025,19 @@ doremoteterm(terminal, tp)
        for (cpp = speeds; cpp < &speeds[NSPEEDS]; cpp++)
            if (strcmp(*cpp, speed) == 0) {
 #ifdef AFS_SUN5_ENV
-               tp.c_cflag = ((tp.c_cflag & ~CBAUD) | ((cpp-speeds) & CBAUD));
+               tp.c_cflag =
+                   ((tp.c_cflag & ~CBAUD) | ((cpp - speeds) & CBAUD));
 #else
-               tp->sg_ispeed = tp->sg_ospeed = cpp-speeds;
+               tp->sg_ispeed = tp->sg_ospeed = cpp - speeds;
 #endif
                break;
            }
     }
 #ifdef AFS_SUN5_ENV
-    tp.c_lflag = ECHO|ICANON|IGNPAR|ICRNL;
-    (void) ioctl(0, TCSETS, &tp);
+    tp.c_lflag = ECHO | ICANON | IGNPAR | ICRNL;
+    (void)ioctl(0, TCSETS, &tp);
 #else
-    tp->sg_flags = ECHO|CRMOD|ANYP|XTABS;
+    tp->sg_flags = ECHO | CRMOD | ANYP | XTABS;
 #endif
 }
 #endif
@@ -2018,37 +2047,37 @@ doremoteterm(terminal, tp)
  *  Check if the specified program is really a shell (e.g. "sh" or "csh").
  */
 usershell(shell)
-       char *shell;
+     char *shell;
 {
-       register char *p;
-       char *getusershell();
+    register char *p;
+    char *getusershell();
 
-       setusershell();
-       while ((p = getusershell()) != NULL)
-               if (strcmp(p, shell) == 0)
-                       break;
-       endusershell();
-       return(!!p);
+    setusershell();
+    while ((p = getusershell()) != NULL)
+       if (strcmp(p, shell) == 0)
+           break;
+    endusershell();
+    return (!!p);
 }
 
-static char *getlinep(const char *string, int size, FILE *stream) {
+static char *
+getlinep(const char *string, int size, FILE * stream)
+{
     extern int errno;
     int c;
     char *cp;
 
     errno = 0;
-    if(!fgets(string, size, stream) || ferror(stream) || errno == EINTR)
+    if (!fgets(string, size, stream) || ferror(stream) || errno == EINTR)
        return NULL;
+    else if (cp = strchr(string, '\n'))
+       *cp = '\0';
     else
-       if(cp=strchr(string, '\n'))
-           *cp = '\0';
-       else
-           while((c=getc(stdin)) != '\n' && c != EOF && errno != EINTR)
-               ;
+       while ((c = getc(stdin)) != '\n' && c != EOF && errno != EINTR);
     return string;
 }
 
-clean_entity_pwd(SIAENTITY *entity) 
+clean_entity_pwd(SIAENTITY * entity)
 {
     if (entity->acctname != NULL) {
        free(entity->acctname);
@@ -2056,32 +2085,36 @@ clean_entity_pwd(SIAENTITY *entity)
     }
     if (entity->pwd != NULL) {
        if (entity->pwd->pw_name) {
-           memset(entity->pwd->pw_name,'\0',strlen(entity->pwd->pw_name));
+           memset(entity->pwd->pw_name, '\0', strlen(entity->pwd->pw_name));
            free(entity->pwd->pw_name);
            entity->pwd->pw_name = NULL;
        }
        if (entity->pwd->pw_passwd) {
-           memset(entity->pwd->pw_passwd,'\0',strlen(entity->pwd->pw_passwd));
+           memset(entity->pwd->pw_passwd, '\0',
+                  strlen(entity->pwd->pw_passwd));
            free(entity->pwd->pw_passwd);
            entity->pwd->pw_passwd = NULL;
        }
        if (entity->pwd->pw_comment) {
-           memset(entity->pwd->pw_comment,'\0',strlen(entity->pwd->pw_comment));
+           memset(entity->pwd->pw_comment, '\0',
+                  strlen(entity->pwd->pw_comment));
            free(entity->pwd->pw_comment);
            entity->pwd->pw_comment = NULL;
        }
        if (entity->pwd->pw_gecos) {
-           memset(entity->pwd->pw_gecos,'\0',strlen(entity->pwd->pw_gecos));
+           memset(entity->pwd->pw_gecos, '\0',
+                  strlen(entity->pwd->pw_gecos));
            free(entity->pwd->pw_gecos);
            entity->pwd->pw_gecos = NULL;
        }
        if (entity->pwd->pw_dir) {
-           memset(entity->pwd->pw_dir,'\0',strlen(entity->pwd->pw_dir));
+           memset(entity->pwd->pw_dir, '\0', strlen(entity->pwd->pw_dir));
            free(entity->pwd->pw_dir);
            entity->pwd->pw_dir = NULL;
        }
        if (entity->pwd->pw_shell) {
-           memset(entity->pwd->pw_shell,'\0',strlen(entity->pwd->pw_shell));
+           memset(entity->pwd->pw_shell, '\0',
+                  strlen(entity->pwd->pw_shell));
            free(entity->pwd->pw_shell);
            entity->pwd->pw_shell = NULL;
        }
@@ -2090,71 +2123,77 @@ clean_entity_pwd(SIAENTITY *entity)
     }
 }
 
-int getloginp(entity)
-    SIAENTITY *entity;
+int
+getloginp(entity)
+     SIAENTITY *entity;
 {
     char result[100];
 
     fputs("login: ", stdout);
-    if (getlinep(result,sizeof result,stdin) == (char *) NULL) {
+    if (getlinep(result, sizeof result, stdin) == (char *)NULL) {
        return (-1);
     }
-    entity->name = (char *)malloc(SIANAMEMIN+1);       
+    entity->name = (char *)malloc(SIANAMEMIN + 1);
     if (entity->name == NULL)
        return (-1);
-    strcpy((unsigned char *)entity->name, result); 
-    return(1);
+    strcpy((unsigned char *)entity->name, result);
+    return (1);
 }
 
 #ifdef AFS_KERBEROS_ENV
 extern char *ktc_tkt_string();
 #endif
 
-int do_afs_auth(pwd, pass, doafs) 
-struct passwd *pwd;
-char *pass;
-int doafs; {
+int
+do_afs_auth(pwd, pass, doafs)
+     struct passwd *pwd;
+     char *pass;
+     int doafs;
+{
     char *namep;
-    int code, afsLoginFail=0;
+    int code, afsLoginFail = 0;
     char *lcell, realm[MAXKTCREALMLEN], *pword, prompt[256];
     char *shell, *reason;
 
-loop:
+  loop:
     if (pass) {
        pword = pass;
     } else {
        sprintf(prompt, "Enter AFS password: ");
        pword = getpass(prompt);
        if (strlen(pword) == 0) {
-           printf("Unable to read password because zero length password is illegal\n");
-           printf("Login incorrect\n"); fflush(stdout);
+           printf
+               ("Unable to read password because zero length password is illegal\n");
+           printf("Login incorrect\n");
+           fflush(stdout);
            goto loop;
        }
     }
 
-    if (ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG,
-                                  pwd->pw_name, /* kerberos name */
-                                  NULL, /* instance */
-                                  NULL, /* realm */
-                                  pword, /* password */
-                                  0, /* default lifetime */
-                                  0, /* spare 1 */
-                                  0, /* spare 2 */
-                                  &reason /* error string */)) {
-        afsLoginFail = 1;
-       if (doafs) return 0;
+    if (ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION + KA_USERAUTH_DOSETPAG, pwd->pw_name,   /* kerberos name */
+                                  NULL,        /* instance */
+                                  NULL,        /* realm */
+                                  pword,       /* password */
+                                  0,   /* default lifetime */
+                                  0,   /* spare 1 */
+                                  0,   /* spare 2 */
+                                  &reason /* error string */ )) {
+       afsLoginFail = 1;
+       if (doafs)
+           return 0;
     } else {
-       if (pwd->pw_passwd && strcmp(pwd->pw_passwd,"*")) 
-           return 1;   /* Success */
+       if (pwd->pw_passwd && strcmp(pwd->pw_passwd, "*"))
+           return 1;           /* Success */
     }
 
-    if (!pwd->pw_passwd) return 0;
+    if (!pwd->pw_passwd)
+       return 0;
     namep = crypt(pword, pwd->pw_passwd);
-    code = strcmp(namep, pwd->pw_passwd) == 0 ? 1 : 0 ;
+    code = strcmp(namep, pwd->pw_passwd) == 0 ? 1 : 0;
     if ((code == 1) && afsLoginFail) {
-       /* Only print this if local authentication is successful */
-       printf("Unable to authenticate to AFS because %s\n", reason);
-       printf("proceeding with local authentication...\n");
+       /* Only print this if local authentication is successful */
+       printf("Unable to authenticate to AFS because %s\n", reason);
+       printf("proceeding with local authentication...\n");
     }
     return code;
 }
@@ -2163,10 +2202,11 @@ loop:
 #endif
 
 #ifdef AFS_SUN5_ENV
-static void defaults()
+static void
+defaults()
 {
     extern int defopen(), defcntl();
-    register int  flags;
+    register int flags;
     register char *ptr;
 
     if (defopen(Pndefault) == 0) {
@@ -2187,14 +2227,14 @@ static void defaults()
            Def_tz = strdup(Def_tz);
        if ((Def_hertz = defread("HZ=")) != NULL)
            Def_hertz = strdup(Def_hertz);
-       if ((Def_path   = defread("PATH=")) != NULL)
+       if ((Def_path = defread("PATH=")) != NULL)
            Def_path = strdup(Def_path);
        if ((Def_supath = defread("SUPATH=")) != NULL)
            Def_supath = strdup(Def_supath);
        if ((ptr = defread("ULIMIT=")) != NULL)
            Def_ulimit = atol(ptr);
        if ((ptr = defread("TIMEOUT=")) != NULL)
-           Def_timeout = (unsigned) atoi(ptr);
+           Def_timeout = (unsigned)atoi(ptr);
        if ((ptr = defread("UMASK=")) != NULL)
            if (sscanf(ptr, "%lo", &Umask) != 1)
                Umask = DEFUMASK;
@@ -2202,7 +2242,7 @@ static void defaults()
            Idleweeks = atoi(ptr);
        if ((ptr = defread("SLEEPTIME=")) != NULL)
            Sleeptime = atoi(ptr);
-       (void) defopen(NULL);
+       (void)defopen(NULL);
     }
     return;
 }
@@ -2219,19 +2259,19 @@ add_count()
 {
     if (isapty()) {
        if (is_nlio())
-           return(1);
+           return (1);
        else
-           return(3);
+           return (3);
     } else
-       return(1);
+       return (1);
 }
 
 /*
  * returns 1 if user is a pty, 0 otherwise
  */
-#define SSTRPTYMAJOR 157        /* major number for Streams slave pty's */
-#define SPTYMAJOR 17            /* major number for slave  pty's */
-#define PTYSC     0x00          /* select code for pty's         */
+#define SSTRPTYMAJOR 157       /* major number for Streams slave pty's */
+#define SPTYMAJOR 17           /* major number for slave  pty's */
+#define PTYSC     0x00         /* select code for pty's         */
 #define select_code(x) (((x) & 0xff0000) >> 16)
 isapty()
 {
@@ -2241,29 +2281,28 @@ isapty()
 
     if (firsttime) {
        firsttime = 0;
-       if (fstat(0, &sbuf) != 0 ||                /* can't stat */
-           (sbuf.st_mode & S_IFMT) != S_IFCHR ||  /* not char special */
-           major(sbuf.st_rdev) != SPTYMAJOR ||    /* not pty major num */
-           select_code(sbuf.st_rdev) != PTYSC) {  /* not pty minor num */
-                /* Check to see if it is a Streams PTY */
-                if (major(sbuf.st_rdev) == SSTRPTYMAJOR) {
-                        retval = 1;
-                }
-                else
-                        retval = 0;     /* neither a BSD nor a Streams PTY */
+       if (fstat(0, &sbuf) != 0 ||     /* can't stat */
+           (sbuf.st_mode & S_IFMT) != S_IFCHR ||       /* not char special */
+           major(sbuf.st_rdev) != SPTYMAJOR || /* not pty major num */
+           select_code(sbuf.st_rdev) != PTYSC) {       /* not pty minor num */
+           /* Check to see if it is a Streams PTY */
+           if (major(sbuf.st_rdev) == SSTRPTYMAJOR) {
+               retval = 1;
+           } else
+               retval = 0;     /* neither a BSD nor a Streams PTY */
        } else {
            retval = 1;
 #ifdef TRUX
-            if (ISB1 && !remote_login)
-                retval=0;               /* local pty for td tty simulation */
+           if (ISB1 && !remote_login)
+               retval = 0;     /* local pty for td tty simulation */
 #endif /* TRUX */
        }
     }
-    return(retval);
+    return (retval);
 }
 
 #define NLIOUCOUNT     _IO('K',28)     /* _IO(K, 28) */
-#define NLIOSERV       0x4b33          /* (('K' << 8) + 51 */
+#define NLIOSERV       0x4b33  /* (('K' << 8) + 51 */
 
 /*
  * returns 1 if user is an NL server, else returns 0
@@ -2271,8 +2310,8 @@ isapty()
 is_nlio()
 {
     if (ioctl(0, NLIOUCOUNT) == NLIOSERV)
-       return(1);
+       return (1);
     else
-       return(0);
+       return (0);
 }
 #endif