Skip to content

Commit

Permalink
Lots of cleanup. V4/V5 compatibility recvauth moved to separate
Browse files Browse the repository at this point in the history
library function.

Folded in rest of GZA's patches.


git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@3278 dc483132-0cff-0310-8789-dd5450dbe970
  • Loading branch information
tytso committed Dec 24, 1993
1 parent 7f16959 commit 93011e3
Show file tree
Hide file tree
Showing 8 changed files with 967 additions and 1,263 deletions.
4 changes: 2 additions & 2 deletions src/appl/bsd/Imakefile
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,8 @@ Krb5InstallServerProgram(krshd)
NormalProgramTarget(krlogind,krlogind.o logutil.o kcmd.o forward.o,$(DEPLIBS),$(LOCAL_LIBRARIES),$(K4LIB))
Krb5InstallServerProgram(krlogind)

NormalProgramTarget(login.krb,login.o logutil.o setenv.o,,,)
InstallProgram(login.krb,$(SERVER_BINDIR))
NormalProgramTarget(login.krb5,login.o logutil.o setenv.o,$(DEPLIBS),$(LOCAL_LIBRARIES),)
InstallProgram(login.krb5,$(SERVER_BINDIR))
#endif

DependTarget()
37 changes: 24 additions & 13 deletions src/appl/bsd/kcmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm,
krb5_ap_rep_enc_part *rep_ret;
krb5_checksum send_cksum;
char *tmpstr = 0;
krb5_error *error;
krb5_error *error = 0;
int sin_len;
krb5_ccache cc;
krb5_data outbuf;
Expand Down Expand Up @@ -139,14 +139,19 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm,
fprintf(stderr,"kcmd: no memory\n");
return(-1);
}
if ((realm == NULL) || (realm[0] == '\0')) {
krb5_sname_to_principal(host_save,service,KRB5_NT_SRV_HST,
&ret_cred->server);
}
else {
sprintf(tmpstr,"%s/%s@%s",service,host_save,realm);
krb5_parse_name(tmpstr,&ret_cred->server);
}
krb5_sname_to_principal(host_save,service,KRB5_NT_SRV_HST,
&ret_cred->server);
if (realm && *realm) {
char *copyrealm;
krb5_data rdata;

rdata.length = strlen(realm);
rdata.data = (char *) malloc(rdata.length+1);
strcpy(rdata.data, realm);

/* XXX we should free the old realm first */
krb5_princ_set_realm(ret_cred->server, &rdata);
}
#ifdef sgi
oldmask = sigignore(sigmask(SIGURG));
#else
Expand Down Expand Up @@ -312,11 +317,17 @@ kcmd(sock, ahost, rport, locuser, remuser, cmd, fd2p, service, realm,
&error, /* No error return */
&rep_ret);
if (status) {
printf("We have a sendauth error %d\n", error->error);
if (error->text.length) {
fprintf(stderr, "Text: %s\n", error->text.data);
printf("Couldn't authenticate to server: %s\n", error_message(status));
if (error) {
printf("Server returned error code %d (%s)\n", error->error,
error_message(ERROR_TABLE_BASE_krb5 + error->error));
if (error->text.length) {
fprintf(stderr, "Error text sent from server: %s\n",
error->text.data);
}
krb5_free_error(error);
error = 0;
}
krb5_free_error(error);
}
if (status) goto bad3;
if (rep_ret && server_seqno) {
Expand Down
22 changes: 8 additions & 14 deletions src/appl/bsd/krcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ static char sccsid[] = "@(#)rcp.c 5.10 (Berkeley) 9/20/88";
#include <ctype.h>
#include <netdb.h>
#include <errno.h>
#include <string.h>

#ifdef KERBEROS
#include <krb5/krb5.h>
Expand Down Expand Up @@ -102,7 +103,7 @@ int encryptflag = 0;
#endif /* KERBEROS */

int rem;
char *colon(), *index(), *rindex(), *strcpy();
char *colon();
int errs;
krb5_sigtype lostconn();
int errno;
Expand Down Expand Up @@ -273,7 +274,7 @@ main(argc, argv)
/* Target machine is some remote machine */
if (*targ == 0)
targ = ".";
thost = index(argv[argc - 1], '@');
thost = strchr(argv[argc - 1], '@');
if (thost) {
*thost++ = 0;
tuser = argv[argc - 1];
Expand All @@ -291,7 +292,7 @@ main(argc, argv)
*src++ = 0;
if (*src == 0)
src = ".";
host = index(argv[i], '@');
host = strchr(argv[i], '@');
if (host) {
*host++ = 0;
suser = argv[i];
Expand Down Expand Up @@ -401,7 +402,7 @@ main(argc, argv)
*src++ = 0;
if (*src == 0)
src = ".";
host = index(argv[i], '@');
host = strchr(argv[i], '@');
if (host) {
*host++ = 0;
suser = argv[i];
Expand Down Expand Up @@ -576,7 +577,7 @@ source(argc, argv)
error("rcp: %s: not a plain file\n", name);
continue;
}
last = rindex(name, '/');
last = strrchr(name, '/');
if (last == 0)
last = name;
else
Expand Down Expand Up @@ -653,7 +654,7 @@ rsource(name, statp)
error("rcp: %s: %s\n", name, sys_errlist[errno]);
return;
}
last = rindex(name, '/');
last = strrchr(name, '/');
if (last == 0)
last = name;
else
Expand Down Expand Up @@ -1086,7 +1087,6 @@ void send_auth()
char *princ; /* principal in credentials cache */
krb5_ccache cc;
krb5_creds creds;
krb5_principal sprinc; /* principal of server */
krb5_data reply, msg, princ_data;
krb5_tkt_authent *authdat;
krb5_error_code status;
Expand Down Expand Up @@ -1116,7 +1116,7 @@ void send_auth()
krb5_cc_close(cc);
exit(1);
}
if (status = krb5_build_principal_ext(&sprinc,
if (status = krb5_build_principal_ext(&creds.server,
krb5_princ_realm(creds.client)->length,
krb5_princ_realm(creds.client)->data,
6, "krbtgt",
Expand All @@ -1130,8 +1130,6 @@ void send_auth()
exit(1);
}

creds.server = sprinc;

/* Get TGT from credentials cache */
if (status = krb5_get_credentials(KRB5_GC_CACHED, cc, &creds)){
fprintf(stderr,
Expand All @@ -1142,10 +1140,6 @@ void send_auth()
}
krb5_cc_close(cc);

krb5_free_principal(sprinc); /* creds.server is replaced
upon retrieval */


princ_data.data = princ;
princ_data.length = strlen(princ_data.data) + 1; /* include null
terminator for
Expand Down
Loading

0 comments on commit 93011e3

Please sign in to comment.