1 /* 2 * Copyright (c) 1989 The Regents of the University of California. 3 * All rights reserved. 4 * 5 * %sccs.include.redist.c% 6 */ 7 8 #ifndef lint 9 static char sccsid[] = "@(#)krcmd.c 1.6.1.1 (Berkeley) 10/21/90"; 10 #endif /* not lint */ 11 12 /* 13 * $Source: /mit/kerberos/ucb/mit/kcmd/RCS/krcmd.c,v $ 14 * $Header: /mit/kerberos/ucb/mit/kcmd/RCS/krcmd.c,v 5.1 15 * 89/07/25 15:38:44 kfall Exp Locker: kfall $ 16 * static char *rcsid_kcmd_c = 17 * "$Header: /mit/kerberos/ucb/mit/kcmd/RCS/krcmd.c,v 5.1 89/07/25 15:38:44 18 * kfall Exp Locker: kfall $"; 19 */ 20 21 #ifdef KERBEROS 22 #include <sys/types.h> 23 #include <stdio.h> 24 #include <kerberosIV/des.h> 25 #include <kerberosIV/krb.h> 26 27 #define SERVICE_NAME "rcmd" 28 29 /* 30 * krcmd: simplified version of Athena's "kcmd" 31 * returns a socket attached to the destination, -1 or krb error on error 32 * if fd2p is non-NULL, another socket is filled in for it 33 */ 34 35 int 36 krcmd(ahost, rport, remuser, cmd, fd2p, realm) 37 char **ahost; 38 u_short rport; 39 char *remuser, *cmd; 40 int *fd2p; 41 char *realm; 42 { 43 int sock = -1, err = 0; 44 KTEXT_ST ticket; 45 long authopts = 0L; 46 47 err = kcmd( 48 &sock, 49 ahost, 50 rport, 51 NULL, /* locuser not used */ 52 remuser, 53 cmd, 54 fd2p, 55 &ticket, 56 SERVICE_NAME, 57 realm, 58 (CREDENTIALS *) NULL, /* credentials not used */ 59 (bit_64 *) NULL, /* key schedule not used */ 60 (MSG_DAT *) NULL, /* MSG_DAT not used */ 61 (struct sockaddr_in *) NULL, /* local addr not used */ 62 (struct sockaddr_in *) NULL, /* foreign addr not used */ 63 authopts 64 ); 65 66 if (err > KSUCCESS && err < MAX_KRB_ERRORS) { 67 fprintf(stderr, "krcmd: %s\n", krb_err_txt[err]); 68 return(-1); 69 } 70 if (err < 0) 71 return(-1); 72 return(sock); 73 } 74 75 #endif /* KERBEROS */ 76