1: #include "BasicAuthentication2_defs.h"
   2: #include "BasicAuthentication2_support.c"
   3: #include <ctype.h>
   4: 
   5: static Cardinal
   6: hashpass(hpw)
   7:     char *hpw;
   8: {
   9:     unsigned long hash;
  10:     register char c;
  11: 
  12:     hash = 0;
  13:     while ((c = *hpw++) != '\0') {
  14:         hash = (hash<<16) + (isupper(c) ? tolower(c) : c);
  15:         hash %= 65357;
  16:     }
  17:     return((Cardinal) hash);
  18: }
  19: 
  20: 
  21: /*
  22:  * Given an XNS name and password, return the appropriate
  23:  * credentials and verifier associated with that name.
  24:  * Per Authentication Protocol, XSIS ....
  25:  */
  26: MakeSimpleCredentialsAndVerifier(name, pwd, credentials, verifier)
  27:     Clearinghouse_Name *name;   /* the XNS user, in 3 fields */
  28:     char *pwd;          /* password, a UNIX string */
  29:     Credentials *credentials;
  30:     Verifier *verifier;
  31: {
  32:     Cardinal length;
  33:     Unspecified *data, *buf, *seq;
  34: 
  35:     credentials->type = simple;
  36:     length = sizeof_Clearinghouse_Name(name);
  37:     data = Allocate(length);
  38:     (void) externalize_Clearinghouse_Name(name,data);
  39:     seq = credentials->value.sequence = Allocate(length);
  40:     credentials->value.length = length;
  41:     buf = data;
  42:     for ( ; length > 0; length--, seq++)
  43:         buf += internalize_Unspecified(seq, buf);
  44:     free(data);
  45: 
  46:     verifier->length = 1;
  47:     verifier->sequence = Allocate(sizeof_Unspecified(0));
  48:     verifier->sequence[0] = (Unspecified) hashpass(pwd);
  49: }

Defined functions

hashpass defined in line 5; used 1 times
  • in line 48
Last modified: 1986-03-13
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 851
Valid CSS Valid XHTML 1.0 Strict