Annotation of 43BSDTahoe/new/xns/morexnslib/auth/getXNSuser.c, revision 1.1

1.1     ! root        1: /* $Header: getXNSuser.c,v 1.2 87/07/28 08:39:23 ed Exp $ */
        !             2: 
        !             3: /*
        !             4:  * Copyright (c) 1986, 1987 Xerox Corporation.
        !             5:  */
        !             6: 
        !             7: /* $Log:       getXNSuser.c,v $
        !             8:  * Revision 1.2  87/07/28  08:39:23  ed
        !             9:  * fprintf to stderr instead of stdin (how did it work?).
        !            10:  * 
        !            11:  * Revision 1.1  87/03/23  10:26:08  ed
        !            12:  * Initial revision
        !            13:  * 
        !            14:  */
        !            15: 
        !            16: #include <stdio.h>
        !            17: #include <xnscourier/Authentication2.h>
        !            18: #include <xnscourier/Clearinghouse2.h>
        !            19: #include <ctype.h>
        !            20: 
        !            21:                        /* This should be constant somewhere ?? */
        !            22: static char name[85];  /* 80 is max three part name + 3 for separators(:) */
        !            23: static Cardinal passwd;
        !            24: 
        !            25: getXNSuser(xnsname, xnspwd)
        !            26: char **xnsname;
        !            27: Cardinal **xnspwd;
        !            28: {
        !            29:        char *pwd, *cp, *username;
        !            30:        char *getXNSpass(), *getenv(), *index();
        !            31:        FILE *tty, *fopen();
        !            32: 
        !            33:        if ( ((username= getenv("XNSNAME")) == NULL) || (username[0] == '\0') ) {
        !            34:                if ( (tty= fopen("/dev/tty", "r+")) == NULL ) {
        !            35:                        tty= stdin;
        !            36:                } else {
        !            37:                        setbuf(tty, (char *)NULL);
        !            38:                }
        !            39:                fprintf(stderr, "Enter XNS name: ");
        !            40:                fgets(name, sizeof(name), tty);
        !            41:                if ( (cp= index(name, '\n')) )
        !            42:                        *cp= '\0';
        !            43:                if ( name[0] == '\0' )
        !            44:                        *xnsname= "Unknown";
        !            45:                else
        !            46:                        *xnsname= name;
        !            47:                fclose(tty);
        !            48:        } else {
        !            49:                *xnsname= username;
        !            50:        }
        !            51: 
        !            52:        if ( ((pwd= getenv("XNSPASSWD")) == NULL) || (*pwd == '\0') ) {
        !            53:                pwd= getXNSpass("Enter XNS password: ");
        !            54:                passwd= hashpass(pwd);
        !            55:        } else {
        !            56:                passwd= atoi(pwd);
        !            57:        }
        !            58: 
        !            59:        *xnspwd= &passwd;
        !            60: }
        !            61: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.