diff options
author | Danilo Almeida <dalmeida@mit.edu> | 2000-07-20 00:46:02 +0000 |
---|---|---|
committer | Danilo Almeida <dalmeida@mit.edu> | 2000-07-20 00:46:02 +0000 |
commit | aaa76aad10fa3caac34fabf5231146a36d579471 (patch) | |
tree | 8d710bd96a98fc7607a5058bc95b8c5bb00c6654 /src/krb524/sendmsg.c | |
parent | 3e14565597763891f97322ff9d6843ab109cf830 (diff) | |
download | krb5-aaa76aad10fa3caac34fabf5231146a36d579471.tar.gz krb5-aaa76aad10fa3caac34fabf5231146a36d579471.tar.xz krb5-aaa76aad10fa3caac34fabf5231146a36d579471.zip |
* Makefile.in: Make krb524 library and k524init program build on
Windows.
* krb524.def, libinit.c: Files needed to build on Windows.
* k524init.c: Use public krb_in_tkt() with realm paramter instead of
potentially private in_tkt() w/o realm parameter (which does not
even exist w/o the realm paramter in some krb4 libraries). Use
krb_save_credentials() instead of tf_init() then
tf_save_credentials() then tf_close().
* cnv_tkt_skey.c: Put copy of krb_cr_tkt_krb5() and
krb_create_ticket() as static functions in this file, calling them
krb524int_*(). Call these functions instead of the ones in the
MIT krb4 library included in the krb5 tree.
* conv_princ.c: Remove unused headers.
* k524init.c, cnv_tkt_skey.c, conv_creds.c, encode.c, misc.c,
sendmsg.c, test.c: Do not include Unix headers on Windows.
* sendmsg.c (krb524_sendto_kdc): Fix call to krb5_locate_kdc() to
use right number and types of parameters. Use krb5int_accessor()
to get at internals: krb5_locate_kdc(), krb5_max_dgram_size,
krb5_skdc_timeout_1, and krb5_skdc_timeout_shift. (The latter 3
should probably be #defines...)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@12569 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/krb524/sendmsg.c')
-rw-r--r-- | src/krb524/sendmsg.c | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/krb524/sendmsg.c b/src/krb524/sendmsg.c index 77e8f3bf7..8170891b4 100644 --- a/src/krb524/sendmsg.c +++ b/src/krb524/sendmsg.c @@ -30,12 +30,14 @@ #define NEED_LOWLEVEL_IO #include "k5-int.h" +#ifndef _WIN32 #include <unistd.h> +#include <sys/time.h> +#endif + #include <stdlib.h> #include <string.h> -#include <sys/time.h> - #ifdef _AIX #include <sys/select.h> #endif @@ -43,9 +45,6 @@ #include <krb.h> #include "krb524.h" -/* For krb5_locate_kdc() */ -#include <k5-int.h> - /* * krb524_sendto_kdc: * @@ -61,11 +60,6 @@ * when finished. */ -extern int krb5_max_dgram_size; -extern int krb5_max_skdc_timeout; -extern int krb5_skdc_timeout_shift; -extern int krb5_skdc_timeout_1; - krb5_error_code krb524_sendto_kdc (context, message, realm, reply) krb5_context context; @@ -83,12 +77,15 @@ krb524_sendto_kdc (context, message, realm, reply) fd_set readable; struct timeval waitlen; int cc; + krb5int_access internals; + if (retval = krb5int_accessor(&internals, KRB5INT_ACCESS_VERSION)) + return retval; /* * find KDC location(s) for realm */ - if ((retval = krb5_locate_kdc(context, realm, &addr, &naddr, NULL, NULL))) + if ((retval = internals.krb5_locate_kdc(context, realm, &addr, &naddr, 0))) return retval; if (naddr == 0) return KRB5_REALM_UNKNOWN; @@ -111,12 +108,12 @@ krb524_sendto_kdc (context, message, realm, reply) else ((struct sockaddr_in *)&addr[i])->sin_port = htons(KRB524_PORT); - if (!(reply->data = malloc(krb5_max_dgram_size))) { + if (!(reply->data = malloc(internals.krb5_max_dgram_size))) { free(addr); free(socklist); return ENOMEM; } - reply->length = krb5_max_dgram_size; + reply->length = internals.krb5_max_dgram_size; #if 0 /* @@ -137,8 +134,8 @@ krb524_sendto_kdc (context, message, realm, reply) * do exponential backoff. */ - for (timeout = krb5_skdc_timeout_1; timeout < krb5_max_skdc_timeout; - timeout <<= krb5_skdc_timeout_shift) { + for (timeout = internals.krb5_skdc_timeout_1; timeout < internals.krb5_max_skdc_timeout; + timeout <<= internals.krb5_skdc_timeout_shift) { sent = 0; for (host = 0; host < naddr; host++) { /* send to the host, wait timeout seconds for a response, |