Annotation of 43BSDTahoe/new/xns/examples/filing_common/MakeSecondaryCreds.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char *rcsid = "$Header: MakeSecondaryCreds.c,v 1.5 87/04/16 15:47:29 ed Exp $";
        !             3: #endif lint
        !             4: 
        !             5: /*
        !             6:  * Copyright (c) 1986, 1987 Xerox Corp.
        !             7:  */
        !             8: 
        !             9: /*
        !            10:  *  $Log:      MakeSecondaryCreds.c,v $
        !            11:  * Revision 1.5  87/04/16  15:47:29  ed
        !            12:  * length becomes a Cardinal.
        !            13:  * 
        !            14:  * Revision 1.4  87/03/31  14:20:31  ed
        !            15:  * Prompt with host name.
        !            16:  * 
        !            17:  * Revision 1.3  87/03/27  15:21:10  ed
        !            18:  * Corrected missing argument on index().
        !            19:  * 
        !            20:  * Revision 1.2  87/03/18  08:42:08  ed
        !            21:  * Minor changes.
        !            22:  * 
        !            23:  * Revision 1.1  86/12/31  11:26:19  ed
        !            24:  * Initial revision
        !            25:  * 
        !            26:  * 
        !            27:  */
        !            28: 
        !            29: #include <stdio.h>
        !            30: #include <sys/time.h>
        !            31: #include <sys/param.h>
        !            32: #include <sys/stat.h>
        !            33: #include <netns/ns.h>
        !            34: #include <netns/sp.h>
        !            35: #include <xnscourier/FilingSubset1.h>
        !            36: #include <xnscourier/CH.h>
        !            37: 
        !            38: MakeSecondaryCreds(host, user, pwd, creds)
        !            39: char *host;
        !            40: char *user;
        !            41: char *pwd;
        !            42: FilingSubset1_SecondaryCredentials *creds;
        !            43: {
        !            44:        Cardinal length;
        !            45:        Unspecified buf[2048], *bp;
        !            46:        static FilingSubset1_SecondaryItem items[2];
        !            47:        FILE *tty;
        !            48:        char *cp, buffer[128], *index(), *getXNSpass();
        !            49:        char *userpwd, *username;
        !            50: 
        !            51:        if ( user == 0 ) {
        !            52:                if ( (tty= fopen("/dev/tty", "r+")) == NULL )
        !            53:                        tty= stdin;
        !            54:                else
        !            55:                        setbuf(tty, (char *)NULL);
        !            56:                fprintf(tty, "Enter %s username: ", host);
        !            57:                fgets(buffer, sizeof(buffer), tty);
        !            58:                if ( (cp= index(buffer, '\n')) ) *cp= '\0';
        !            59:                username= buffer;
        !            60:                fclose(tty);
        !            61:        } else {
        !            62:                username= user;
        !            63:        }
        !            64: 
        !            65:        if ( pwd == 0 ) {
        !            66:                char prompt[100];
        !            67:                sprintf(prompt,"Enter %s password: ", host);
        !            68:                userpwd= getXNSpass(prompt);
        !            69:        } else {
        !            70:                userpwd= pwd;
        !            71:        }
        !            72: 
        !            73:        if ( creds != 0 ) {
        !            74:                creds->designator= FilingSubset1_simple;
        !            75:                items[0].type= FilingSubset1_userName;
        !            76:                items[0].value.sequence= Allocate(sizeof_String(&username));
        !            77:                bp= buf + sizeof_Cardinal(length);
        !            78:                length= externalize_String(&username, bp);
        !            79:                externalize_Cardinal(&length, buf);
        !            80:                internalize_Clearinghouse3_Item(&(items[0].value), buf);
        !            81: 
        !            82:                items[1].type= FilingSubset1_userPassword;
        !            83:                items[1].value.sequence= Allocate(sizeof_String(&userpwd));
        !            84:                bp= buf + sizeof_Cardinal(length);
        !            85:                length= externalize_String(&userpwd, bp);
        !            86:                externalize_Cardinal(&length, buf);
        !            87:                internalize_Clearinghouse3_Item(&(items[1].value), buf);
        !            88: 
        !            89:                creds->designator= FilingSubset1_simple;
        !            90:                creds->FilingSubset1_simple_case.length= 2;
        !            91:                creds->FilingSubset1_simple_case.sequence= items;
        !            92:        }               
        !            93: 
        !            94:        return;
        !            95: }

unix.superglobalmegacorp.com

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