diff options
author | Tom Yu <tlyu@mit.edu> | 2002-12-07 04:14:07 +0000 |
---|---|---|
committer | Tom Yu <tlyu@mit.edu> | 2002-12-07 04:14:07 +0000 |
commit | 65184d3858714e1a326f18053f6509050b069518 (patch) | |
tree | 63514ec49b25e5c6a16a515b2126631ef3f4cd74 /src/include | |
parent | 34da169bae1a1ae416c73a6318298ffc30c65ebb (diff) | |
download | krb5-65184d3858714e1a326f18053f6509050b069518.tar.gz krb5-65184d3858714e1a326f18053f6509050b069518.tar.xz krb5-65184d3858714e1a326f18053f6509050b069518.zip |
Fix some KRB5_CALLCONV botches that were causing trouble for Windows build
Update send_to_kdc() to use various krb5 internals to talk to the krb4
KDC. Add a new internal function to optionally return the local
address used to talk to the KDC. Many changes to lib/krb5/os to
support this. Fix bug in krb5int_sendto() that prevented correct UDP
length from being returned. Update callers of internal locate_* and
sendto_* functions.
ticket: 1189
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@15038 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/ChangeLog | 7 | ||||
-rw-r--r-- | src/include/k5-int.h | 15 |
2 files changed, 18 insertions, 4 deletions
diff --git a/src/include/ChangeLog b/src/include/ChangeLog index 0cf22ca70..06c7f1666 100644 --- a/src/include/ChangeLog +++ b/src/include/ChangeLog @@ -1,3 +1,10 @@ +2002-12-06 Tom Yu <tlyu@mit.edu> + + * k5-int.h: Update prototype of krb5int_locate_server() to take + protocol family argument. Update krb5int_access to current call + signatures of locate_kdc() and locate_server(), as well as to add + add_host_to_list() for use by krb4 library. + 2002-11-26 Tom Yu <tlyu@mit.edu> * port-sockets.h: Add SOCKET_CONNECT, SOCKET_GETSOCKNAME, and diff --git a/src/include/k5-int.h b/src/include/k5-int.h index 90d2c9caa..8b1b683d7 100644 --- a/src/include/k5-int.h +++ b/src/include/k5-int.h @@ -529,6 +529,8 @@ struct addrlist { #define ADDRLIST_INIT { 0, 0, 0 } extern void krb5int_free_addrlist (struct addrlist *); extern int krb5int_grow_addrlist (struct addrlist *, int); +extern int krb5int_add_host_to_list (struct addrlist *, const char *, + int, int, int, int); krb5_error_code krb5int_locate_server (krb5_context, @@ -546,7 +548,8 @@ krb5int_locate_server (krb5_context, itself. Use 0 for dflport2 if there's no secondary port (most common, except kdc case). */ - int dflport1, int dflport2); + int dflport1, int dflport2, + int family); #endif /* KRB5_LIBOS_PROTO__ */ @@ -1637,15 +1640,15 @@ void krb5int_set_prompt_types /* To keep happy libraries which are (for now) accessing internal stuff */ /* Make sure to increment by one when changing the struct */ -#define KRB5INT_ACCESS_STRUCT_VERSION 5 +#define KRB5INT_ACCESS_STRUCT_VERSION 6 typedef struct _krb5int_access { krb5_error_code (*krb5_locate_kdc) (krb5_context, const krb5_data *, - struct addrlist *, int, int); + struct addrlist *, int, int, int); krb5_error_code (*krb5_locate_server) (krb5_context, const krb5_data *, struct addrlist *, int, const char *, const char *, - int, int, int); + int, int, int, int); void (*free_addrlist) (struct addrlist *); unsigned int krb5_max_skdc_timeout; unsigned int krb5_skdc_timeout_shift; @@ -1660,6 +1663,10 @@ typedef struct _krb5int_access { krb5_error_code (*sendto_udp) (krb5_context, const krb5_data *msg, const struct addrlist *, krb5_data *reply, struct sockaddr *, socklen_t *); + krb5_error_code (*add_host_to_list)(struct addrlist *lp, + const char *hostname, + int port, int secport, + int socktype, int family); } krb5int_access; #define KRB5INT_ACCESS_VERSION \ |