Annotation of 43BSDTahoe/new/xns/morexnslib/auth/getXNSuser.c, revision 1.1.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.