Annotation of 43BSD/contrib/xns/examples/authchtest/chlookup.c, revision 1.1

1.1     ! root        1: #include <stdio.h>
        !             2: #include <sys/types.h>
        !             3: #include <netns/ns.h>
        !             4: #include <netns/sp.h>
        !             5: #include "Clearinghouse_defs.h"
        !             6: #include <xnscourier/except.h>
        !             7: 
        !             8: main(argc, argv)
        !             9:        int argc;
        !            10:        char *argv[];
        !            11: {
        !            12:        LookupObjectResults result;
        !            13:        struct ns_addr *destaddr;
        !            14:        CourierConnection *conn;
        !            15:        extern struct ns_addr *getXNSaddr();
        !            16:        ObjectNamePattern name;
        !            17:        ObjectName myname;
        !            18:        char *mypwd;
        !            19:        extern char *getpass();
        !            20:        Authenticator agent;
        !            21: 
        !            22:        if (argc == 1)
        !            23:                /* default to Dandelion 2-272, 2-852-151-014 */
        !            24:                destaddr = getXNSaddr("8E0#00.00.AA.00.7D.E7");
        !            25:        else if (argc != 2 || (destaddr = getXNSaddr(argv[1]))==NULL) {
        !            26:                fprintf(stderr,"Usage: %s machine\n",argv[0]);
        !            27:                exit(1);
        !            28:        }
        !            29:        if ((conn = CourierOpen(destaddr)) == NULL) {
        !            30:                fprintf(stderr,"Can't open connection to %s\n",argv[1]);
        !            31:                exit(1);
        !            32:        }
        !            33:        myname.organization = name.organization = "Berkeley.EECS";
        !            34:        myname.domain = name.domain = "Evans";
        !            35:        name.object = "bill";
        !            36:        myname.object = "sklower";
        !            37:        mypwd = getpass("Password:");
        !            38:        MakeSimpleCredentialsAndVerifier(&myname, mypwd,
        !            39:                &agent.credentials,
        !            40:                &agent.verifier );
        !            41: 
        !            42:        DURING
        !            43:                result = LookupObject(conn,NULL,name,agent);
        !            44:        HANDLER {
        !            45:                switch (Exception.Code) {
        !            46:                case CallError:
        !            47:                        fprintf(stderr,"Call error, %d\n",
        !            48:                                CourierErrArgs(CallErrorArgs,problem));
        !            49:                        break;
        !            50:                case ArgumentError:
        !            51:                        fprintf(stderr,"Argument error (5d,%d)\n",
        !            52:                                CourierErrArgs(ArgumentErrorArgs,problem),
        !            53:                                CourierErrArgs(ArgumentErrorArgs,which) );
        !            54:                        break;
        !            55:                case AuthenticationError:
        !            56:                        fprintf(stderr,"Authentication error, %d\n",
        !            57:                                CourierErrArgs(AuthenticationErrorArgs,problem)
        !            58:                                );
        !            59:                        break;
        !            60:                case WrongServer:
        !            61:                        fprintf(stderr,"Wrong server.  Try %s:%s:%s\n",
        !            62:                            CourierErrArgs(WrongServerArgs,hint.object),
        !            63:                            CourierErrArgs(WrongServerArgs,hint.domain),
        !            64:                            CourierErrArgs(WrongServerArgs,hint.organization)
        !            65:                                );
        !            66:                        break;
        !            67:                default:
        !            68:                        fprintf(stderr,"Some random error, code %d\n",
        !            69:                                Exception.Code);
        !            70:                        break;
        !            71:                }
        !            72:        exit(1);
        !            73:        } END_HANDLER;
        !            74: 
        !            75:        printf("returned %s:%s:%s\n",
        !            76:                result.distinguishedObject.object,
        !            77:                result.distinguishedObject.domain,
        !            78:                result.distinguishedObject.organization );
        !            79: }

unix.superglobalmegacorp.com

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