version 1.1, 2002/05/06 22:23:53 |
version 1.2, 2002/07/15 22:54:26 |
|
|
* returns a socket attached to the destination, -1 or krb error on error |
* returns a socket attached to the destination, -1 or krb error on error |
* if fd2p is non-NULL, another socket is filled in for it |
* if fd2p is non-NULL, another socket is filled in for it |
*/ |
*/ |
|
|
int |
int |
krcmd(ahost, rport, remuser, cmd, fd2p, realm) |
krcmd(char **ahost, u_short rport, char *remuser, char *cmd, int *fd2p, |
char **ahost; |
char *realm) |
u_short rport; |
|
char *remuser, *cmd; |
|
int *fd2p; |
|
char *realm; |
|
{ |
{ |
int sock = -1, err = 0; |
int sock = -1, err = 0; |
KTEXT_ST ticket; |
|
long authopts = 0L; |
|
char myrealm[REALM_SZ]; |
char myrealm[REALM_SZ]; |
|
long authopts = 0L; |
|
KTEXT_ST ticket; |
|
|
err = kcmd( |
err = kcmd(&sock, ahost, rport, NULL, remuser, cmd, fd2p, |
&sock, |
&ticket, SERVICE_NAME, realm, (CREDENTIALS *) NULL, |
ahost, |
(void *) NULL, (MSG_DAT *) NULL, (struct sockaddr_in *) NULL, |
rport, |
(struct sockaddr_in *) NULL, authopts); |
NULL, /* locuser not used */ |
|
remuser, |
|
cmd, |
|
fd2p, |
|
&ticket, |
|
SERVICE_NAME, |
|
realm, |
|
(CREDENTIALS *) NULL, /* credentials not used */ |
|
(void *) NULL, /* key schedule not used */ |
|
(MSG_DAT *) NULL, /* MSG_DAT not used */ |
|
(struct sockaddr_in *) NULL, /* local addr not used */ |
|
(struct sockaddr_in *) NULL, /* foreign addr not used */ |
|
authopts |
|
); |
|
|
|
if (err > KSUCCESS && err < MAX_KRB_ERRORS) { |
if (err > KSUCCESS && err < MAX_KRB_ERRORS) { |
if (krb_get_lrealm(myrealm, 0) == KSUCCESS) |
if (krb_get_lrealm(myrealm, 0) == KSUCCESS) |
|
|
} |
} |
|
|
int |
int |
krcmd_mutual(ahost, rport, remuser, cmd, fd2p, realm, cred, sched) |
krcmd_mutual(char **ahost, u_short rport, char *remuser, char *cmd, int *fd2p, |
char **ahost; |
char *realm, CREDENTIALS *cred, Key_schedule sched) |
u_short rport; |
|
char *remuser, *cmd; |
|
int *fd2p; |
|
char *realm; |
|
CREDENTIALS *cred; |
|
Key_schedule sched; |
|
{ |
{ |
int sock, err; |
struct sockaddr_in laddr, faddr; |
KTEXT_ST ticket; |
|
MSG_DAT msg_dat; |
|
struct sockaddr_in laddr, faddr; |
|
long authopts = KOPT_DO_MUTUAL; |
long authopts = KOPT_DO_MUTUAL; |
char myrealm[REALM_SZ]; |
char myrealm[REALM_SZ]; |
|
KTEXT_ST ticket; |
|
MSG_DAT msg_dat; |
|
int sock, err; |
|
|
err = kcmd( |
err = kcmd(&sock, ahost, rport, NULL, remuser, cmd, fd2p, |
&sock, |
&ticket, SERVICE_NAME, realm, cred, sched, &msg_dat, |
ahost, |
&laddr, &faddr, authopts); |
rport, |
|
NULL, /* locuser not used */ |
|
remuser, |
|
cmd, |
|
fd2p, |
|
&ticket, |
|
SERVICE_NAME, |
|
realm, |
|
cred, /* filled in */ |
|
sched, /* filled in */ |
|
&msg_dat, /* filled in */ |
|
&laddr, /* filled in */ |
|
&faddr, /* filled in */ |
|
authopts |
|
); |
|
|
|
if (err > KSUCCESS && err < MAX_KRB_ERRORS) { |
if (err > KSUCCESS && err < MAX_KRB_ERRORS) { |
if (krb_get_lrealm(myrealm, 0) == KSUCCESS) |
if (krb_get_lrealm(myrealm, 0) == KSUCCESS) |