=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/auth-krb4.c,v retrieving revision 1.26.2.3 retrieving revision 1.27 diff -u -r1.26.2.3 -r1.27 --- src/usr.bin/ssh/Attic/auth-krb4.c 2003/04/03 22:35:16 1.26.2.3 +++ src/usr.bin/ssh/Attic/auth-krb4.c 2002/06/11 05:46:20 1.27 @@ -23,7 +23,7 @@ */ #include "includes.h" -RCSID("$OpenBSD: auth-krb4.c,v 1.26.2.3 2003/04/03 22:35:16 miod Exp $"); +RCSID("$OpenBSD: auth-krb4.c,v 1.27 2002/06/11 05:46:20 mpech Exp $"); #include "ssh.h" #include "ssh1.h" @@ -210,9 +210,10 @@ } int -auth_krb4(Authctxt *authctxt, KTEXT auth, char **client, KTEXT reply) +auth_krb4(Authctxt *authctxt, KTEXT auth, char **client) { AUTH_DAT adat = {0}; + KTEXT_ST reply; Key_schedule schedule; struct sockaddr_in local, foreign; char instance[INST_SZ]; @@ -262,16 +263,21 @@ /* If we can't successfully encrypt the checksum, we send back an empty message, admitting our failure. */ - if ((r = krb_mk_priv((u_char *) & cksum, reply->dat, sizeof(cksum) + 1, + if ((r = krb_mk_priv((u_char *) & cksum, reply.dat, sizeof(cksum) + 1, schedule, &adat.session, &local, &foreign)) < 0) { debug("Kerberos v4 mk_priv: (%d) %s", r, krb_err_txt[r]); - reply->dat[0] = 0; - reply->length = 0; + reply.dat[0] = 0; + reply.length = 0; } else - reply->length = r; + reply.length = r; /* Clear session key. */ - memset(&adat.session, 0, sizeof(adat.session)); + memset(&adat.session, 0, sizeof(&adat.session)); + + packet_start(SSH_SMSG_AUTH_KERBEROS_RESPONSE); + packet_put_string((char *) reply.dat, reply.length); + packet_send(); + packet_write_wait(); return (1); } #endif /* KRB4 */