aboutsummaryrefslogtreecommitdiff
path: root/src/lib/krb5/krb/preauth.c
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>1997-12-06 08:00:17 +0000
committerTom Yu <tlyu@mit.edu>1997-12-06 08:00:17 +0000
commit32ab452e321b0d79d788c41c1b81bc039f9fe7fb (patch)
tree8dfbc45b401efd5e9e8ea5a498793fb7e95f2de4 /src/lib/krb5/krb/preauth.c
parent555d66fca2b801e59618eda5433cf4389eba60f9 (diff)
downloadkrb5-32ab452e321b0d79d788c41c1b81bc039f9fe7fb.zip
krb5-32ab452e321b0d79d788c41c1b81bc039f9fe7fb.tar.gz
krb5-32ab452e321b0d79d788c41c1b81bc039f9fe7fb.tar.bz2
* Makefile.in: Add files chpw.c, gic_*, preauth2.c, vfy_increds.c,
vic_opt.c. * chpw.c: New file; implement Cygnus chpw. * get_in_tkt.c: Implement support for Cygnus initial credentials API. * gic_keytab.c: New file; Cygnus initial creds. * gic_opt.c: New file; Cygnus initial creds. * gic_pwd.c: New file; Cygnus initial creds. * preauth.c: Add more SAM support (from Cygnus). * preauth2.c: New file; additional SAM support from Cygnus. * send_tgs.c: Account for additional parameter to sendto_kdc. * vfy_increds.c: New file; Cygnus initial creds. * vic_opt.c: New file; Cygnus initial creds. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@10321 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/krb5/krb/preauth.c')
-rw-r--r--src/lib/krb5/krb/preauth.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/lib/krb5/krb/preauth.c b/src/lib/krb5/krb/preauth.c
index 586e1b9..910069d 100644
--- a/src/lib/krb5/krb/preauth.c
+++ b/src/lib/krb5/krb/preauth.c
@@ -446,8 +446,13 @@ char *handle_sam_labels(sc)
label = "Challenge for Enigma Logic mechanism";
break;
case PA_SAM_TYPE_DIGI_PATH: /* Digital Pathways */
+ case PA_SAM_TYPE_DIGI_PATH_HEX: /* Digital Pathways */
label = "Challenge for Digital Pathways mechanism";
break;
+ case PA_SAM_TYPE_ACTIVCARD_DEC: /* Digital Pathways */
+ case PA_SAM_TYPE_ACTIVCARD_HEX: /* Digital Pathways */
+ label = "Challenge for Activcard mechanism";
+ break;
case PA_SAM_TYPE_SKEY_K0: /* S/key where KDC has key 0 */
label = "Challenge for Enhanced S/Key mechanism";
break;
@@ -457,6 +462,9 @@ char *handle_sam_labels(sc)
case PA_SAM_TYPE_SECURID: /* Security Dynamics */
label = "Challenge for Security Dynamics mechanism";
break;
+ case PA_SAM_TYPE_SECURID_PREDICT: /* predictive Security Dynamics */
+ label = "Challenge for Security Dynamics mechanism";
+ break;
}
prompt = "Passcode";
label_len = strlen(label);
@@ -470,10 +478,12 @@ char *handle_sam_labels(sc)
p = prompt1 = malloc(label_len + strlen(sep1) +
challenge_len + strlen(sep2) +
prompt_len+ strlen(sep3) + 1);
- strncpy(p, label, label_len); p += label_len;
- strcpy(p, sep1); p += strlen(sep1);
- strncpy(p, challenge, challenge_len); p += challenge_len;
- strcpy(p, sep2); p += strlen(sep2);
+ if (challenge_len) {
+ strncpy(p, label, label_len); p += label_len;
+ strcpy(p, sep1); p += strlen(sep1);
+ strncpy(p, challenge, challenge_len); p += challenge_len;
+ strcpy(p, sep2); p += strlen(sep2);
+ }
strncpy(p, prompt, prompt_len); p += prompt_len;
strcpy(p, sep3); /* p += strlen(sep3); */
return prompt1;