2001-07-19 Ken Raeburn * t_locate_kdc.c: New file. * Makefile.in (t_locate_kdc.o, t_locate_kdc): New targets. * locate_kdc.c: Include fake-addrinfo.h. (FAI_PREFIX, FAI_IMPLEMENTATION): Define macros. (get_port, add_sockaddr_to_list, add_host_to_list): Drop gethostbyname/getservbyname support, always use getnameinfo, which should be thread-safe. (translate_ai_error, set_port_num): Now always defined. (set_port_num): Only check for AF_INET6 if KRB5_USE_INET6. 2001-07-06 Ezra Peisach * sn2princ.c (krb5_sname_to_principal): Cast tolower argument to int. * hst_realm.c (krb5_get_host_realm): Cast argument to toupper and tolower to int. 2001-06-21 Ezra Peisach * t_std_conf.c (test_locate_kdc): Get rid of unused variable. 2001-06-20 Ezra Peisach * t_std_conf.c (test_locate_kdc): Update to new krb5_locate_kdc interface. 2001-06-19 Ken Raeburn * locate_kdc.c (struct addrlist, ADDRLIST_INIT): Moved to k5-int.h. (krb5int_free_addrlist): Renamed from free_list; no longer static. (krb5_locate_srv_conf, krb5_locate_srv_dns, krb5int_locate_server, krb5_locate_kdc): Use addrlist in interface. * sendto_kdc.c (krb5_sendto_kdc): Use new struct addrlist interface. * changepw.c (krb5_locate_kpasswd): Use addrlist structure in interface and implementation. (krb5_change_password): Likewise. * accessor.c (krb5int_accessor): Fill in free_addrlist function pointer field. * os-proto.h (krb5_locate_kdc): Update prototype. 2001-06-12 Ezra Peisach * sn2princ.c, hst_realm.c, an_to_ln.c: Cast argument to isupper()/isspace()/islower() to int. * t_std_conf.c (test_locate_kdc): krb5_locate_kdc expects a struct sockaddr *** as a third argument instead of sockaddr **. 2001-06-07 Ezra Peisach * ktdefname.c (krb5_kt_default_name): Get rid of a variable that was set in a conditional but never used. 2001-05-08 Danilo Almeida * locate_kdc.c (add_host_to_list): Initialize stack variable err which would otherwise get returned without being set in certain circumstances. 2001-05-07 Ken Raeburn * locate_kdc.c (add_sockaddr_to_list) [TEST]: If getnameinfo is available, use it instead of inet_ntoa to get the printable address. (add_host_to_list): Share declaration sections as much as possible. Propagate errors back correctly from gethostbyname path. 2001-04-26 Ken Raeburn * hst_realm.c (T_TXT): Define if not defined by header files. * locate_kdc.c (krb5int_locate_server): New function, replaces functionality of krb5_locate_srv_conf and _dns, including checking whether DNS lookup is desired. (krb5_locate_srv_conf, krb5_locate_srv_dns): Define only if macro TEST is defined. Added another level of indirection in the address pointer argument. (krb5_locate_srv_dns_1, krb5_locate_srv_conf_1, translate_ai_error, get_port, struct addrlist, ADDRLIST_INIT, grow_list, free_list, add_sockaddr_to_list, add_addrinfo_to_list, set_port_num, add_host_to_list): New helper functions. (krb5_locate_kdc): Added another level of indirection in the address pointer argument. Call krb5int_locate_server. (KPASSWD_PORTNAME): Deleted. * os-proto.h (krb5_locate_kdc): Updated prototype. * sendto_kdc.c (krb5_sendto_kdc): Updates for change in krb5_locate_kdc interface. * changepw.c (krb5_locate_kpasswd): Call krb5int_locate_server. Add another level of indirection in address pointer. Now gives preference to _kpasswd info from DNS over admin_server info in config file, if kpasswd_server is not set. (krb5_change_password): Use struct sockaddr_storage for all automatic address variables. Ignore any non-IPv4 addresses returned from krb5_locate_kpasswd; return an error if all addresses are non-IPv4. Update for new krb5_locate_kpasswd interface. * accessor.c (krb5int_accessor): Set krb5_locate_server field. 2001-04-25 Ken Raeburn * localaddr.c (socklen_t, socklen): Deleted; definitions now in k5-int.h instead. (foreach_localaddr): Use SIOCGIFNUM if it's available and SIOCGSIZIFCONF is not (e.g., Solaris 7 and 8). (print_addr) [!HAVE_GETNAMEINFO]: Only declare variable buf if AF_INET6 is defined. 2001-03-31 Ken Raeburn * t_gifconf.c: New file. 2001-03-10 Ezra Peisach * def_realm.c: Move prototype for krb5_try_realm_txt_rr() to os-proto.h. * init_os_ctx.c: Include os-proto.h * changepw.c, locate_kdc.c: Do not shadow sin() with local variable name. * os-proto.h: Add prototypes for krb5_try_realm_txt_rr() and the obsolete krb5_secure_config_files(). 2001-03-05 Ken Raeburn * localaddr.c (krb5_os_localaddr): Don't look for -1 return value from foreach_localaddr. (print_addr): Only process AF_INET6 addresses if AF_INET6 is defined. * gmt_mktime.c (gmt_mktime): Handle years earlier than 1970. (main) [TEST_LEAP]: New routine, driver for testing. * Makefile.in (t_mktime): New target. 2001-03-05 Sam Hartman * kuserok.c: Set max_username to 65 not 10. 65 should be enough for a null terminated string from most current Unixes usernames. The previous limit of 10 was too low. I don't know how the previous limit was chosen nor why this is not a dynamic buffer. 2001-03-05 Tom Yu * init_os_ctx.c: Get sys/ioctl.h for Solaris to get FIONBIO. 2001-03-03 Ken Raeburn * init_os_ctx.c: If not Mac or Windows, define USE_RANDOM_DEVICE and include sys/ioctl.h. (krb5_os_init_context) [USE_RANDOM_DEVICE]: Read some bytes from /dev/urandom or /dev/random and use them to re-seed the PRNG. 2001-02-05 Tom Yu * prompter.c (krb5_prompter_posix): Fix up terminal modes if we're interrupted. [reported by Booker Bense] 2000-12-18 Ken Raeburn * Makefile.in (LCLINT, LCLINTOPTS): New variables. (lclint-localaddr): New target. * localaddr.c (grow_or_free, get_ifconf, make_addr): Split out from foreach_localaddr and friends for simpler lclint analysis. (socklen): New function. (print_addr): Use getnameinfo if available. (struct localaddr_data, count_addrs, allocate, add_addr, make_addr): Define only if not testing. (foreach_addr): Call new functions. Annotate for lclint. 2000-10-17 Ezra Peisach * changepw.c: Cast length argument to recvfrom/sendto to int. * os-proto.h: Moved extern definition of krb5_max_dgram_size, krb5_max_skdc_timeout, krb5_skdc_timeout_shift, krb5_skdc_timeout_1 here. * accessor.c: Definition for krb5_max_dgram_size, krb5_max_skdc_timeout, krb5_skdc_timeout_shift, krb5_skdc_timeout_1 moved to os-proto.h * osconfig.c: Changed definition for krb5_max_dgram_size, krb5_max_skdc_timeout, krb5_skdc_timeout_shift, krb5_skdc_timeout_1 to unsigned int. * get_krbhst.c, init_os_context.c, locate_kdc.c, prompter.c: Unsigned/signed int cleanup. * read_pwd.c (krb5_read_password): Change size_return to unsigned int *. * sendto_kdc.c: Remove definition for krb5_max_dgram_size, krb5_max_skdc_timeout, krb5_skdc_timeout_shift, krb5_skdc_timeout_1. (moved to os-proto.h). Cast arguments to int for send() and recv(). 2000-10-09 Ken Raeburn Support for getifaddrs() interface added in BSD. * localaddr.c (printaddr, printifaddr) [HAVE_IFADDRS_H && DEBUG]: New functions for debugging new ifaddrs code. (addr_eq) [HAVE_IFADDRS_H]: New function, for comparing addresses found with getifaddrs. (foreach_localaddr) [HAVE_IFADDRS_H]: New implementation, relies on C library function to retrieve data. (foreach_localaddr) [!HAVE_IFADDRS_H && TEST]: Print info about each address and why it might not be used. (print_addr, main) [TEST]: Print out the local addresses. * Makefile.in (t_localaddr): New target. 2000-09-26 Ezra Peisach * an_to_ln.c: Unsigned vs signed int fixes. * t_std_conf.c: Declare local functions static, do not shadow sin() with local variable. 2000-08-31 Jeffrey Altman * locate_kdc.c: krb5_locate_srv_dns() Ensure that res_search() is called with a query string that is terminated by a '.' in order to disable the expansion of dns-search lists. 2000-07-22 Tom Yu * accessor.c: Add NEED_SOCKETS in order to get prototype for krb5_locate_kdc(). 2000-07-19 Danilo Almeida * accessor.c (krb5int_accessor): Add krb5int_accessor() to access internal krb5 functions from outside the library (so that we don't have to export them for the krb525 and gssapi libraries). The goal is to make this function eventually do nothing. * Makefile.in: Compile accessor.c. 2000-07-18 Ezra Peisach * locate_kdc.c, hst_realm.c, def_realm.c, changepw.c: Include os-proto.h for internal prototypes. * os-proto.h: Prototypes for _krb5_use_dns_realm(), _krb5_use_dns_kdc(), _krb5_conf_boolean(). * t_std_conf.c: Include k5-int.h for internal function prototypes. 2000-06-30 Ezra Peisach * t_an_to_ln.c: Include for prototypes. * locate_kdc.c (krb5_locate_srv_dns): Remove unused variable. * changepw.c, sendto_kdc.c, sn2princ.c: Add parentheses around assignment used as truth value. * ccdefname.c (get_from_os): Cast return from getuid() to long and indicate use of format in sprintf. 2000-06-28 Ezra Peisach * def_realm.c: Add newline at end of file. * gmt_mktime.c: Define days_in_month as type int. * locate_kdc.c (krb5_locate_srv_dns): Cleanup unused variables. 2000-06-23 Miro Jurisic * init_os_ctx.c (os_get_default_config_files): Return ENOENT when file is not found on MacOS (not ENFILE). Use Kerberos Preferences library to locate the config files on Mac OS. Eliminated some dead code. 2000-06-23 Nalin Dahyabhai * an_to_ln.c (do_replacement): Don't overflow buffers "in" or "out". * hst_realm.c (krb5_try_realm_txt_rr): Don't overfill "host" when malformed DNS responses are received. * ccdefname.c (get_from_os): Don't overflow buffer "name_buf". * kuserok.c (krb5_kuserok): Don't overflow buffer "pbuf". 2000-06-23 Ken Raeburn * localaddr.c: Include stddef.h. (foreach_localaddr): Check each address against previously used addresses, and skip duplicates, in case multiple interfaces have the same address. If called functions fail, drop out of loop and return nonzero. Use SIOCGSIZIFCONF ioctl if available to get the buffer size needed for SIOCGIFCONF, and skip the silly heuristics if it returns a reasonable value. (krb5_os_localaddr): Increment count of addresses to include null pointer terminator. Delete check for zero count. * locate_kdc.c (maybe_use_dns): Renamed from _krb5_use_dns. Now takes an arg to indicate a key to look up in krb5.conf, falling back to "dns_fallback", and an arg indicating the default value if no config file entries match. (_krb5_use_dns_realm): New routine; use "dns_lookup_realm" and KRB5_DNS_LOOKUP_REALM setting. (_krb5_use_dns_kdc): New routine; use "dns_lookup_kdc" and KRB5_DNS_LOOKUP_KDC. (krb5_locate_kdc): Call _krb5_use_dns_kdc. * changepw.c (krb5_locate_kpasswd): Call _krb5_use_dns_kdc. * def_realm.c (krb5_get_default_realm): Call _krb5_use_dns_realm. * hst_realm.c (krb5_get_host_realm): Call _krb5_use_dns_realm. 2000-06-23 Alexandra Ellwood * ccdefname.c: Added support to store a krb5_principal in the os_context along with the default ccache name (if known, this principal is the same as the last time we looked at the ccache. 2000-05-09 Alexandra Ellwood *localaddr.c: Fixed the local_addr_fallback_kludge so that it actually does something. Before that the error code it was handling was blowing it away in cleanup. 2000-04-29 Jeffrey Altman * hst_realm.c (krb5_get_host_realm) remove the searchlist and defaultrealm _kerberos queries 2000-04-18 Danilo Almeida * prompter.c (krb5int_set_prompt_types): Set to actual value intead of 0. 2000-4-13 Alexandra Ellwood * init_os_ctx.c: Added support to store a krb5_principal in the os_context along with the default ccache name (if known, this principal is the same as the last time we looked at the ccache. 2000-03-20 Miro Jurisic * def_realm.c (krb5_free_default_realm): Added, use to free result of krb5_get_default_realm 2000-03-15 Danilo Almeida * prompter.c: Add krb5int_set_prompt_types() and krb5_get_prompt_types(). 2000-03-14 Ken Raeburn * init_os_ctx.c (os_get_default_config_files): Remove unused variable. * def_realm.c: Include netinet/in.h if available. 2000-02-25 Ken Raeburn * localaddr.c (foreach_localaddr): Broken out from old krb5_os_localaddr. Iterates over all active interface addresses, invoking callback functions; knows nothing about Kerberos. (count_addrs, allocate, add_addr): New callback functions. (krb5_os_localaddr): Use the above. (allocate): Make room for NULL value at the end. 2000-02-16 Ken Raeburn * localaddr.c (krb5_os_localaddr): Dynamically grow buffer used for SIOCGIFCONF until it appears to have been big enough. Dynamically grow internal address pointer array as needed. 2000-02-11 Marshall Vale * init_os_ctx.c (os_get_default_config_files.c): Added new file name "Kerberos Preferences" to the of valid configuration file names on Mac OS. The others will be removed at a later date. 2000-02-08 Marshall Vale * init_os_ctx.c (os_get_default_config_files.c): Added Application Support folder to list of locations to look for krb5 configuration file. Only looks at top level which needs to be improved. (GetMacProfileFileSpec): Added a parameter to declare which folder constants to use for file spec creation. Previously it had assumed just the Preferences folder. 2000-02-07 Scott McGuire * changepw.c (krb5_locate_kpasswd): fixed memory trashing caused by incorrect pointer arithmetic when assigning DEFAULT_KPASSWD_PORT in DNS code also. 2000-02-04 Scott McGuire * changepw.c (krb5_locate_kpasswd): fixed memory trashing caused by incorrect pointer arithmetic when assigning DEFAULT_KPASSWD_PORT in non-DNS code. 1999-12-03 Danilo Almeida * changepw.c: Define ETIMEDOUT for Windows. 1999-12-01 Ken Raeburn * init_os_ctx.c (krb5_secure_config_files): Do define; always return an error, but perform old functionality in case the error is ignored. Delete when we can make a major version number change. 1999-11-23 Ken Raeburn * an_to_ln.c (default_an_to_ln): Avoid stomping byte after supplied buffer. Thanks to Matt Crawford. * init_os_ctx.c (os_init_paths): Delete SECURE argument; read the value from the profile structure instead. (krb5_os_init_context, krb5_get_profile): Don't pass SECURE argument. (os_init_paths, krb5_get_profile): Cast first arg to profile_init. (krb5_secure_config_files): Don't define. 1999-11-22 Miro Jurisic * ccdefname.c (get_from_os): Replaced Kerberos5GlobalsLib calls with CCAPI v3 calls 1999-11-02 Ken Raeburn * localaddr.c (krb5_os_localaddr): Conditionalize INET6 support on new KRB5_USE_INET6 macro. 1999-10-26 Wilfredo Sanchez * Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES, LOCAL_INCLUDES such that one can override CFLAGS from the command line without losing CPP search patchs and defines. Some associated Makefile cleanup. 1999-10-22 Ken Raeburn * prompter.c (krb5_prompter_posix): Make ointrfunc, fd, and errcode volatile. * promptusr.c (krb5_os_get_tty_uio): Make ointrfunc and retval volatile. * read_pwd.c (krb5_read_password): Make ointrfunc volatile. Fix volatile decl for readin_string (pointer is volatile, doesn't point to volatile). * changepw.c (krb5_change_password): Wait only two minutes, not indefinitely, for a response from the kpasswd server. 1999-10-18 Ken Raeburn * localaddr.c (krb5_os_localaddr): Don't bother trying to create inet6 socket; any socket type will do. 1999-10-17 Ken Raeburn * localaddr.c (krb5_os_localaddr): Raise buffer size to 10K. Handle INET6 addresses. If INET6 support is built in but the socket creation fails, fall back to INET. 1999-09-28 Ken Raeburn * changepw.c (krb5_locate_kpasswd): Declare local variable i even when DNS code is not in use. (krb5_locate_srv_conf, krb5_locate_srv_dns): Delete declarations. 1999-09-21 Ken Raeburn Changes from Jeffrey Altman to look up kpasswd server using DNS. * changepw.c: (krb5_locate_kpasswd): New function, split out from krb5_change_password. Calls krb5_locate_srv_dns if use of DNS is desired, and krb5_locate_srv_conf to check config file. (krb5_change_password): Call it to find the server. * locate_kdc.c (krb5_locate_srv_conf): No longer static. Choose default port numbers based on service name rather than a single hard-coded value. (krb5_locate_srv_dns): No longer static. 1999-09-17 Tom Yu * def_realm.c: Patch from jaltman@columbia.edu to allow compiling under non-Windows platforms with DNS lookup enabled. 1999-09-01 Danilo Almeida * kuserok.c (krb5_kuserok): Fix improper negation in non-Unix localname check. Also fix calling convention before this function is exported by the Windows DLL. * localaddr.c (krb5_os_localaddr): Fix memset to clear right address list. (Thanks to jaltman@columbia.edu). 1999-09-01 Ken Raeburn * get_krbhst.c (krb5_get_krbhst): Fix double-indirection confusion. Do actually copy string contents to newly allocated storage. 1999-08-21 Danilo Almeida * localaddr.c (krb5_os_localaddr): Use multiple addresses, if present, on Mac and Windows. 1999-08-10 Alexandra Ellwood * changepw.c (krb5_change_password): Reorganized code so that krb5_change_password actually frees everything it allocated on error. Also fixed some memory leaks which happened even without an error occurring. 1999-08-09 Danilo Almeida * prompter.c (krb5_prompter_posix): Provide Win32 implementation so that kinit and such work under Win32. 1999-08-06 Danilo Almeida * def_realm.c (krb5_get_default_realm): * hst_realm.c (krb5_get_host_realm): Make sure we have FQDN in the case where we use gethostname. * def_realm.c (krb5_get_default_realm): Check that we have a realm before trying to copy it (since profile_get_string may return no error but not get anything). * init_os_ctx.c (krb5_get_profile): Fix calling convention. 1999-08-05 Danilo Almeida * t_std_conf.c (test_get_krbhst): Use krb5_free_krbhst to free buffers allocated by krb5_get_krbhst. * locate_kdc.c (_krb5_use_dns): Add _krb_use_dns to abstract away looking up of whether we use DNS or not in the profile. * ktdefname.c (krb5_kt_default_name): Use profile_release_string instead of free to free string allocated by profile_get_string. * get_krbhst.c (krb5_get_krbhst): Copy results from profile_get_values into malloc'ed buffers so we can safely free them later. Also call profile_free_list on the original values. * locate_kdc.c (krb5_locate_kdc): * hst_realm.c (krb5_get_host_realm): * def_realm.c (krb5_get_default_realm): Use _krb5_use_dns to figure out whether to use DNS or not instead of directly reading the profile in this routine. * realm_dom.c (krb5_get_realm_domain): * hst_realm.c (krb5_get_host_realm): * def_realm.c (krb5_get_default_realm): Copy results of profile_get_string into malloc'ed buffer so it can safely be free'd later. * locate_kdc.c (krb5_locate_srv_conf): * def_realm.c (krb5_get_default_realm): * changepw.c (krb5_change_password): * an_to_ln.c (krb5_aname_to_localname): Use profile_free_list to free values allocated by profile_get_values. 1999-08-04 Danilo Almeida * init_os_ctx.c (os_init_paths): Wrap use of ctx->profile_in_memory with KRB5_DNS_LOOKUP. Use pointer value to determine whether to free files by checking the files value rather than depending on the return value. 1999-07-27 Miro Jurisic * init_os_ctx.c (GetMacProfileFileSpec): removed bogus string conversion 1999-07-26 Miro Jurisic * c_ustime.c (krb5_crypto_us_timeofday): Merged in changes from the Mac_V2_0_derivatives branch -- microseconds support and guaranteed monotonically increasing microseconds on MacOS * init_os_ctx.c (os_get_default_config_files): Merged in changes from the Mac_V2_0_derivatives branch -- NRL config file name * init_os_ctx.c (krb5_get_profile): added krb5_get_profile 1999-07-22 Jeffrey Altman * init_os_ctx.c (os_init_paths) If profile_init() is unable to open a profile and returns ENOENT, remember in the context that the profile_in_memory and then call profile_init() with a NULL filespec. * def_realm.c (krb5_get_default_realm) * hst_realm.c (krb5_get_host_realm) * locate_kdc.c (krb5_locate_kdc) Use the profile entry [libdefaults] dns_fallback to determine if DNS SRV and TXT records should be used to find realms and servers if they are not found in the profile. 1999-07-21 Ken Raeburn * init_os_ctx.c (os_get_default_config_files): Fix some typos and missed name changes in the patch Miro just checked in but forgot to mention here, in which Mac filespecs are used instead of filenames. (krb5_free_config_files): Ditto. 1999-06-30 Ken Raeburn * locate_kdc.c (krb5_locate_kdc): Kerberos admin service name is "kerberos-adm", not "kadmin", so look up "_kerberos-adm._tcp" in DNS. 1999-06-21 Ken Raeburn and Jeffrey Altman and Ken Hornstein * def_realm.c (MAXHOSTNAMELEN) [KRB5_DNS_LOOKUP]: Define if not already defined. (MAX_DNS_NAMELEN) [KRB5_DNS_LOOKUP]: New macro. (krb5_get_default_realm): Return an error if an empty realm name is found. (krb5_get_default_realm) [KRB5_DNS_LOOKUP]: Use krb5_try_realm_txt_rr to determine the realm of the local host or domain. * hst_realm.c [KRB5_DNS_LOOKUP]: Pull in some extra header files for resolver functionality. (MAX_DNS_NAMELEN): New macro. (krb5_try_realm_txt_rr) [KRB5_DNS_LOOKUP]: New function; looks up a TXT record. (krb5_get_host_realm): Use MAX_DNS_NAMELEN for buffer size. (krb5_get_host_realm) [KRB5_DNS_LOOKUP]: Use DNS lookup if config file doesn't contain a match. * locate_kdc.c [KRB5_DNS_LOOKUP]: Pull in some extra header files for resolver functionality. (MAXHOSTNAMELEN) [KRB5_DNS_LOOKUP]: Define if not already defined. (MAX_DNS_NAMELEN) [KRB5_DNS_LOOKUP]: New macro. (krb5_locate_srv_conf): Renamed from krb5_locate_kdc; now static; extra char* argument replaces fixed "kdc" in array of names to look up in profile. (krb5_locate_srv_dns) [KRB5_DNS_LOOKUP]: New function; looks up SRV records, and returns addresses sorted by priority. (krb5_locate_kdc): New function, calls above routines. 1999-06-16 Danilo Almeida * ccdefname.c (get_from_registry_indirect, try_dir, get_from_os): Extra robustness to win32 code. * init_os_ctx.c (krb5_get_config_files, krb5_free_config_files): Add function to get config files being used for current context with corresponding free function. 1999-06-16 Danilo Almeida * init_os_ctx.c (os_init_paths): Enhance win32 heuristics to use environment variable (like Unix) and to use the registry too. Will try executable's dir before windows dir if not secure. * ccdefname.c (get_from_os): Enhance win32 heuristics to use registry properly, default to API: properly, and to use temp dirs before the windows dir. 1999-06-11 Miro Jurisic * init_os_ctx.c (os_init_paths): added NRL config file name correctly (thanks dalmeida) 1999-06-09 Miro Jurisic * c_ustime.c (krb5_crypto_us_timeofday): fixed Mac PPC #ifdef 1999-06-09 Miro Jurisic * c_ustime.c (krb5_crypto_us_timeofday): #ifdefed microseconds on Mac to be PPC-only 1999-06-09 Miro Jurisic * c_ustime.c (AbsoluteToSecsNanosecs): Fixed the UInt64 division * c_ustime.c (krb5_crypto_us_timeofday): now returning the correct value 1999-06-09 Miro Jurisic * c_ustime.c (AbsoluteToSecsNanosecs): Fixed the UInt64 comparison 1999-06-09 Miro Jurisic * net_read.c, net_write.c: now setting errno on Mac too 1999-06-09 Miro Jurisic * c_ustime.c (krb5_crypto_us_timeofday, HaveAccurateTime, AbsoluteToSecsNanosecs): Added support for microseconds or better timers on the Mac when available * c_ustime.c (krb5_crypto_us_timeofday): fixed usecs counting bug (From Chas Williams) * init_os_ctx.c (GetMacProfilePathname): removed hardcoded config file name (From Chas Williams) * init_os_ctx.c (os_init_paths): added NRL config file name (From Chas Williams) Tue Jun 8 15:26:21 1999 Alexandra Ellwood * changepw.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO after socket operations to work with new Mac OT SocketsLib. * hst_realm.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO after socket operations to work with new Mac OT SocketsLib. * localaddr.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO after socket operations to work with new Mac OT SocketsLib. * net_read.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO after socket operations to work with new Mac OT SocketsLib. * net_write.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO after socket operations to work with new Mac OT SocketsLib. * sn2princ.c: Changed errno to SOCKET_ERRNO/SOCKET_SET_ERRNO after socket operations to work with new Mac OT SocketsLib. Mon May 10 15:26:20 1999 Danilo Almeida * Makefile.in: Do win32 build in subdir. Fri May 7 18:04:48 1999 Danilo D Almeida * locate_kdc.c (krb5_locate_kdc): Fixed typo. Fri May 7 14:39:08 1999 Theodore Y. Ts'o * locate_kdc.c (krb5_locate_kdc): Return KRB5_REALM_UNKNOWN if profile_get_values returns PROF_NO_RELATION or PROF_NO_SECTION. 1999-04-01 Theodore Ts'o * prompter.c (krb5_prompter_posix): Update to use new prompter prototype which takes an extra argument for the window titlebar name. (From Frank Cusack) [krb5-kdc/662] Thu Mar 25 18:45:48 1999 Tom Yu * promptusr.c (krb5_os_get_tty_uio): getchar() returns int, not char. 1999-03-12 Theodore Ts'o * init_os_ctx.c (krb5_os_init_context, krb5_os_free_context): Sample the ccdefault name at the time when we create the context. Free the ccdefault name when we free the os context. * ccdefname.c (krb5_cc_default_name, krb5_cc_set_default_name): Check to make sure the context is valid and return an error if it isn't. 1999-03-11 Theodore Ts'o * ccdefname.c (get_from_os): Add missing call to get_from_registry under windows. Fri Feb 19 20:49:18 1999 Tom Yu * ccdefname.c (get_from_os): Add missing close-paren; also replace #elif just in case. Fri Feb 5 01:05:43 1999 Theodore Y. Ts'o * ccdefname.c (get_from_os): On the Windows platform, automatically generate the correct default cache name based on what krb5_cc_dfl_ops is set to. * realm_dom.c (krb5_get_realm_domain): Add modifiers so that this function can get exported in a Windows DLL. Tue Feb 2 16:01:58 1999 Tom Yu * read_pwd.c: Remove reference to CPP symbol "unix". 1999-01-29 Theodore Ts'o * ccdefname.c: Add a new function krb5_cc_set_default_name(), which is used set the default ccname stored in the krb5_context. All of the OS-specific functions to determine the default ccname is moved to this function. The krb5_cc_default_name() function now just reads the default ccname from the os_context, and will call krb5_cc_set_default_name() to set the default ccname if necessary. * t_std_conf: Added functions to test krb5_cc_default_name and krb5_cc_set_default_name(). Fixed the call to krb5_locate_kdc to support the new variables added by the Cygnus initial ticket API merge. 1999-01-27 Theodore Ts'o * localaddr.c: On the macintosh, check to see if getmyipaddr returns NULL, and return an error in that case. Tue Jan 5 00:11:49 1999 Theodore Y. Ts'o * sn2princ.c (krb5_sname_to_principal): Windows NT5's broken resolver gratuitously tacks on a trailing period to the hostname (at least it does in Beta2). Deal with this brain-damage. Tue Dec 22 01:22:24 1998 Theodore Y. Ts'o * changepw.c: Add a test for _WIN16 as well as _WIN32 for sockets workaround (in case we do want to build the 16 bit library again someday) Sat Dec 5 01:12:25 1998 Theodore Y. Ts'o * localaddr.c: Added missing KRB5_DLLIMP and KRB5_CALLCONF macros from the function definition. 1998-12-04 Theodore Ts'o * realm_iter.c: New function which iterators over the realms in the krb5.conf file. 1998-11-13 Theodore Ts'o * Makefile.in: Set the myfulldir and mydir variables (which are relative to buildtop and thisconfigdir, respectively.) * lock_file.c (krb5_lock_file): Fix bug where if the fcntl-style lock succeeded, we should return immediately instead of trying to do flock-style locking. Also check for HAVE_FCNTL_H and defined(F_SETLKW) and defined(F_RDLCK) instead of POSIX_FILE_LOCKS (so we can get rid of a non-standard autoconf symbol.) 1998-10-31 Theodore Ts'o * lock_file.c (krb5_lock_file): Move the flock() fallback code from fcc_maybe.c into krb5_lock_file(). This works around the bug that certain lossy operating systems (mainly from our good friends at SunSoft) do not support POSIX_FILE_LOCKS on all filesystems (namely tmpfs) but do support flock on those filesystems. 1998-10-27 Marc Horowitz * c_ustime.c, localaddr.c: moved here from lib/crypto * ktdefname.c (krb5_kt_default_name): there is code in the tree (notably, the admin server code) which uses globals to set the keytab which will be used by gssapi. this is gross, and we need a better answer. However, even that didn't work if there was an env var or krb5.conf variable, since those override krb5_defkeyname. Add a new global, krb5_overridekeyname, which really does override all the other keytab locators. While I'm at it, make the buffer overflow checks sane. Fri Sep 25 22:32:16 1998 Theodore Y. Ts'o * ccdefname.c: We shouldn't try to use the CCache API on Unix systems. (The maze of #ifdef's was confusing.) Tue Sep 1 15:44:11 1998 Theodore Y. Ts'o * ccdefname.c (krb5_cc_default_name): Changed the PC version to use the CCache API by default. Removed the old Macintosh code that had been commented out. (If we need to ressurect it, we'll get it from CVS.) Fri Aug 21 17:37:00 1998 Miro Jurisic * ccdefname.c.c (krb5_cc_default_name): Changed the Mac version to use CCache API by default. Thu Jul 16 09:59:34 1998 Ezra Peisach * changepw.c (krb5_change_password): Changes casts from char * to krb5_octet * to match krb5_address structure elements. Wed Jul 1 17:54:56 1998 Theodore Y. Ts'o * macsock.c(inet_ntoa): Fix obvious bug where we were returning a pointer to an automatic variable which should have been a static. Fortunately nothing in the Mac tree was using inet_ntoa().... 1998-05-06 Theodore Ts'o * t_std_conf.c (main): POSIX states that getopt returns -1 when it is done parsing options, not EOF. Wed Sep 24 12:10:29 1997 Marshall Vale (Checked in 1/13/98) * init_os_ctx.c: Changed all PBGetCatInfo to PBGetCatInfoSync for new Universal Headers. * ccdefname.c: Changed all PBGetCatInfo to PBGetCatInfoSync for new Universal Headers. Fri Feb 27 18:03:33 1998 Theodore Ts'o * Makefile.in: Changed thisconfigdir to point at the lib/krb5 directory, since we've moved the configure.in tests in this directory to the toplevel lib/krb5 configure.in Wed Feb 18 16:24:39 1998 Tom Yu * Makefile.in: Remove trailing slash from thisconfigdir. Fix up BUILDTOP for new conventions. Mon Feb 2 17:02:19 1998 Theodore Ts'o * Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile Fri Jan 30 15:56:15 1998 Tom Yu * changepw.c (krb5_change_password): KRB5_USE_INET -> HAVE_NETINET_IN_H. Fri Jan 2 21:28:56 1998 Tom Yu * locate_kdc.c (krb5_locate_kdc): Check return of malloc. [krb5-libs/518] * changepw.c (krb5_change_password): Check return of malloc. [krb5-libs/518] Tue Dec 16 11:00:18 1997 Ezra Peisach * locate_kdc.c (krb5_locate_kdc): Free hostlist array elements when finished with them. Sat Dec 6 23:12:23 1997 Ezra Peisach * locate_kdc.c (krb5_locate_kdc): Get rid of extra krb5_xfree which caused freeing of memory twice. Sat Dec 6 02:34:50 1997 Tom Yu * Makefile.in: Add changepw.c, prompter.c. * changepw.c: New file; Cygnus password changing protocol. * locate_kdc.c: Add parameter to indicate master KDC. * os-proto.h: Reflect changes to locate_kdc. * prompter.c: New file; Cygnus initial creds. * sendto_kdc.c: Add parameter to indicate master KDC. Mon Oct 6 11:40:11 1997 Ezra Peisach * t_std_conf.c (main): Call krb5_free_context when done. Wed Oct 1 04:58:34 1997 Tom Yu * configure.in: Punt some things that are otherwise gotten from include/krb5/configure.in. * gmt_mktime.c: Get k5-int.h to get some autoconf symbols. Tue Sep 30 19:57:27 1997 Tom Yu * timeofday.c: Replaace erroneously named POSIX_TYPES and timetype with plain old time_t, since we're using AC_CHECK_TYPE now to handle it. Thu Sep 25 21:24:54 1997 Tom Yu * mk_faddr.c: Replace KRB5_USE_INET with something more sane. * port2ip.c: Replace KRB5_USE_INET with something more sane. * os-proto.h: Replace KRB5_USE_INET with something more sane. * locate_kdc.c: Replace KRB5_USE_INET with something more sane. * genaddrs.c (krb5_auth_con_genaddrs): Replace KRB5_USE_INET with something more sane. * gen_port.c (krb5_gen_portaddr): Replace KRB5_USE_INET with something more sane. * full_ipadr.c: Replace KRB5_USE_INET with something more sane. Thu Sep 18 17:56:00 1997 Tom Yu * hst_realm.c: Replace USE_STRING_H with something more sane. Mon Sep 15 15:21:12 1997 Ezra Peisach * ccdefname.c (krb5_cc_default_name): Returns a const char *. Sat Aug 16 10:11:20 1997 Ezra Peisach * gmt_mktime.c (days_in_month): Now const. Originally by raeburn@cygnus.com from the Kerbnet release Tue Feb 25 00:29:33 1997 Richard Basch * read_pwd.c: Define Windows interface for krb5_read_password * win-pwd.rc: Resource file for Windows password dialog box * win-pwd.h: Support definitions for Windows krb5_read_password Sat Feb 22 22:41:02 1997 Richard Basch * Makefile.in: Use some of the new library list build rules in win-post.in Fri Feb 21 20:06:55 1997 Ezra Peisach * def_realm.c: Remove extern declaration of un-used krb5_config_file. Fri Feb 7 11:11:18 1997 Richard Basch * mk_faddr.c (krb5_make_fulladdr): Add FAR declarations (win16) Thu Nov 21 11:55:16 EST 1996 Richard Basch * Makefile.in: win32 build * ccdefname.c, def_realm.c, free_hstrl.c, genaddrs.c, hst_realm.c, init_os_ctx.c, ktdefname.c, localaddr.c, sn2princ.c, timeofday.c, ustime.c DLL export several more common functions (see lib/krb5.def for the full list of functions exported) Thu Feb 6 15:46:24 1997 Tom Yu * Makefile.in: * configure.in: Update to new program build procedure. Thu Jan 2 17:19:11 1997 Tom Yu * configure.in: Update to new library build procedure. Wed Nov 13 02:53:31 1996 Tom Yu * osconfig.c: Add warning re: global variables. * ktdefname.c, osconfig.c: Revert previous kt_default_name changes. * ktdefname.c (krb5_kt_default_name): Fix a few memory-leak type problems in previous changes. Tue Nov 12 22:07:55 1996 Tom Yu * osconfig.c: Remove krb5_defkeyname to catch other things that may break. * ktdefname.c (krb5_kt_default_name): Change logic to no longer use a global variable; also add krb5_kt_set_default_name() to allow for the changing of the default keytab name in the context. Wed Nov 6 16:24:56 1996 Theodore Y. Ts'o * init_os_ctx.c (os_init_paths): Don't ignore errors found from parsing the config file. Currently, we return an error if the profile isn't found. In the future we can maybe do something better with intelligent defaulting if krb5.conf doesn't exist, but we don't have this today. Thu Aug 22 15:19:47 1996 Theodore Ts'o * an_to_ln.c (db_an_to_ln): Remove references to dead BERK_DB_DBM code. Tue Jul 30 19:15:55 1996 Sam Hartman * Makefile.in (check-unix): Comment out an_2_ln tests that use database. * an_to_ln.c (krb5_aname_to_localname): Make the db lookup verison of aname_2_localname optional. Sun Jul 28 22:39:12 1996 Tom Yu * an_to_ln.c (aname_do_match): #elif HAVE_REGEXP_H should have been HAVE_REGEXPR_H Fri Jul 26 15:58:32 1996 Marc Horowitz * configure.in, an_to_ln.c (do_replacement, aname_do_match): use the compile() function in -lgen on solaris. Check for the relevant stuff at configure-time Fri Jul 12 21:38:15 1996 Marc Horowitz * ktdefname.c (krb5_kt_default_name): allow the default keytab name to be specified in the config file. Wed Jun 12 01:12:32 1996 Theodore Ts'o * net_read.c (krb5_net_read): * net_write.c (krb5_net_write): In case of an error, on Windows machines, set errno from SOCKET_ERRNO, since the interface assumes the error is passed back the errno global varaible. This really needs to be fixed sometime... * read_msg.c: If ECONNABORTED is not defined, try using the Winsock version of the error code (WSAECONNABORTED). Mon Jun 10 21:48:45 1996 Theodore Ts'o * read_pwd.c: * promptusr.c: * lock_file.c: * kuserok.c: * ktdefname.c (krb5_kt_default_name): * init_os_ctx.c (os_init_paths): * ccdefname.c: * an_to_ln.c (db_an_to_ln): Change _WINDOWS to _MSDOS, and add check for _WIN32. Thu Apr 18 16:24:44 1996 Theodore Y. Ts'o * macsock.c (getsockname, getpeername): Correctly implement getsockname(), so it does getsockname(), not getpeername(), and add the function getpeername(). Sat May 11 10:08:15 1996 Ezra Peisach * configure.in: Need to include sys/types.h before regexp.h in test to see if regcomp works. Add V5_USE_SHARED_LIB for the tests that are built. Tue Apr 30 17:51:47 1996 Ken Raeburn * configure.in: Test that regcomp actually works. * Makefile.in (check-unix): Use $(RM). * t_an_to_ln.c (main): Print principal name when an error is detected. Thu Apr 11 22:15:44 1996 Theodore Y. Ts'o * ustime.c (krb5_us_timeofday): When doing the time offset adjustments, make sure the microseconds field doesn't go negative. Thu Mar 28 17:20:12 1996 Theodore Y. Ts'o * DNR.c: Replace eight-year-old version of this file with the latest version from the Code Warrior MacTCP files. * macsock.c: Use new MacTCP header files. Wed Mar 27 18:31:44 1996 Theodore Y. Ts'o * macsock.c (gethostbyname, gethostbyaddr): Use universal procedure pointers (UPP), which are required on the Mac Power PC. Mon Mar 18 21:49:39 1996 Ezra Peisach * configure.in: Add KRB5_RUN_FLAGS * Makefile.in: Use runtime flags. Mon Mar 18 17:30:54 1996 Ezra Peisach * sn2princ.c (krb5_sname_to_principal): Add casting to avoid warnings. Mon Mar 18 14:18:58 EST 1996 Richard Basch * sn2princ.c: Do not try to re-assign const variables. Sun Mar 17 20:42:17 1996 Ezra Peisach * configure.in: Add USE_ANAME, KRB5_LIBRARIES * Makefile.in: Properly use libraries as specified by configure Wed Mar 13 13:11:49 1996 Ezra Peisach * t_std_conf.c: Include string.h Thu Feb 29 16:14:46 1996 Theodore Y. Ts'o * sendto_kdc.c (krb5_sendto_kdc): Take out calls to SOCKET_INITIALIZE and SOCKET_CLEANUP. This gets done in win_glue.c, and we only need to do this once. (XXX What about Macintosh?) Tue Feb 27 18:48:03 1996 Theodore Y. Ts'o * hostaddr.c (krb5_os_hostaddr): Use #define NEED_SOCKETS instead of #including (this breaks under windows). Mon Feb 26 17:04:26 1996 Theodore Y. Ts'o * promptusr.c: Don't compile promptusr for Windows or Macintosh. Sat Feb 24 18:57:56 1996 Theodore Y. Ts'o * ktdefname.c (krb5_kt_default_name): Under Windows, assume that the keytab file is located in the Windows directory. Thu Feb 22 13:16:16 1996 Ezra Peisach * Makefile.in (check-unix): Set LD_LIBRARY_PATH for kdb5_anadd. * hostaddr.c (krb5_os_hostaddr): Set magic number in structure. * full_ipadr.c (krb5_make_full_ipaddr): Set magic number in structure. Sat Feb 17 00:05:38 1996 Theodore Y. Ts'o * def_realm.c (krb5_get_default_realm): If the configuration file does not exist (context->profile == NULL) return KRB5_CONFIG_CANTOPEN; if the default realm is not defined in the configuration file, return an error message saying so. These changes just make the diagnostic error messages more clear. Thu Jan 11 18:32:54 1996 Ezra Peisach (epeisach@paris) * Makefile.in (check-unix): Ultrix test does not support -x. Fri Jan 5 09:00:47 1996 Ezra Peisach * locate_kdc.c (krb5_locate_kdc): Add parrentheses for assignment in conditional. (gcc -Wall) * init_os_ctx.c (krb5_os_init_context): Remove unused variables * an_to_ln.c (aname_do_match): Initialize local variable before referenced. Thu Jan 4 22:23:04 1996 Theodore Y. Ts'o * hostaddr.c (krb5_os_hostaddr): New function which takes a hostname and returns a list of krb5 addresses. (This is basically a glue routine that converts the result of gethostbyname() to krb5 addresses.) Thu Dec 21 17:51:58 1995 Theodore Y. Ts'o * Makefile.in (t_an_to_ln): Use $(LD) instead of $(CC) to link final executables, so that we can more easily use purify. * hst_realm.c (krb5_get_host_realm): Eliminate memory leak; realm was already being allocated by the profile library; no reason to reallocate it again. Wed Nov 15 10:53:16 1995 * promptusr.c: New function for doing generic tty input and output. Eventually read_password should use this function. Wed Nov 15 20:40:03 1995 Mark Eichin * lock_file.c (krb5_lock_file): initialize lock_arg to a copy of a static (thus zero) struct flock, to avoid panic'ing sunos 4.1.4. Sun Nov 12 05:31:21 1995 Mark W. Eichin * def_realm.c (krb5_get_default_realm): check for PROF_NO_PROFILE and return KRB5_CONFIG_CANTOPEN instead of BADFORMAT so that the user in the end knows what is going on. Mon Oct 9 19:05:24 1995 Ezra Peisach * ktdefname.c (krb5_kt_default_name): If profile_secure flag is set in the context then do not allow changing the location of the default keytab with an environment variable. Fri Oct 6 22:04:57 1995 Theodore Y. Ts'o * Makefile.in: Remove ##DOS!include of config/windows.in. config/windows.in is now included by wconfig. Thu Oct 5 07:49:26 1995 Ezra Peisach * init_os_ctx.c (krb5_secure_config_files): New function that will set flag and path to prevent user from overriding configuration files with environment variables. Mon Oct 2 17:36:38 1995 Ezra Peisach * init_os_ctx.c (krb5_os_init_context): Put back in the KRB5_CONFIG environment before setting to default. Tue Sep 26 22:46:01 1995 Mark Eichin * init_os_ctx.c (krb5_os_init_context): use profile_init_path for unix, and DEFAULT_PROFILE_PATH. Fri Sep 29 16:31:47 1995 Theodore Y. Ts'o * osconfig.c: Remove krb5_lname_file; it's not used any more. Mon Sep 25 16:58:17 1995 Theodore Y. Ts'o * Makefile.in: Removed "foo:: foo-$(WHAT)" lines from the Makefile. Fri Sep 22 15:57:33 1995 Mark Eichin * write_msg.c (krb5_write_message): check the real length variable, not the net version. Wed Sep 20 12:00:00 1995 James Mattly * macsock.c: Added TCP streams to the emulation package. gethostname now no longer returns true cannonical hostnames. Wed Sep 13 11:01:18 1995 Keith Vetter (keithv@fusion.com) * Makefile.in: had to define away DBFLAGS for the PC. Mon Sep 11 17:46:18 1995 Ezra Peisach * genaddrs.c (krb5_auth_con_genaddrs): Replace function declaration back to int instead of SOCKET due to prototype mismatching. Sun Sep 10 12:00:00 1995 James Mattly * ustime.c: use the version of getTimeZoneOffset in :os:crypto: for _MACINTOSH. Wed Sep 6 12:00:00 1995 James Mattly * localaddr.c changed name to oslocaladdr.c for metrowerks project file management. * ustime.c: changed mac version of krb5_crypto_us_timeofday to compile with contemporary header files for metrowerks * macsock.c: added tcp stream support to suppliment the udp. Added getsockname. Fixed gethostname to stop appending '.' to the end of a connonical hostname. * net_write.c: need to cast file descriptors to SOCKETs * net_read.c: need to cast file descriptors to SOCKETs * krbfileio.c: mac doesn't support fsync, define the usage out * init_os_cxt.c: move the default location of the krb conf file to the preferences folder. Added some routines to take a mac FSSpec and turn it into a mac pathname string. * hst_realm.c: assign a NULL to retrealms to clean up a warning. * genaddrs.c: support getsockname from macsock * ccdefname.c: move the cred cache to the preferneces folder for mac * an_to_ln.c: turn functions off because I don't have a dbm library * timeofday.c: make krb5_timeofday use krb5_crypto_us_timeofday to incorperate the epoch difference between mac and unix. Fri Sep 1 00:47:27 1995 Theodore Y. Ts'o * Makefile.in (check-unix): Add a test case to make sure krb5_get_host_realm does something sane when passed in a hostname which doesn't have a default domain. * hst_realm.c (krb5_get_host_realm): If an hostname does not have a domain, don't try to get a domain default (which results in a strange error being returned). * toffset.c: Added new file which implements the abstract interfaces for manipulating the time offset fields in the os context. * ustime.c (krb5_us_timeofday): Add support for using the time offset fields in the os context. * timeofday.c (krb5_timeofday): Add support for using the time offset fields in the os context. * init_os_ctx.c (krb5_os_init_context): Initialize the time offset and flags fields in the os context. Thu Aug 31 17:24:48 EDT 1995 Paul Park (pjpark@mit.edu) * t_an_to_ln.c - Translate until error and return status. * Makefile.in - Test aname_to_lname under check-unix. Thu Aug 24 18:56:35 1995 Theodore Y. Ts'o * .Sanitize: Update file list. Wed Aug 16 02:45:19 1995 Chris Provenzano * lock_file.c (krb5_lock_file()), unlck_file.c (krb5_unlock_file()): Pass the fd in instead of converting it from FILE *. Fri Aug 4 22:51:15 1995 Tom Yu * kuserok.c (krb5_kuserok): Add parens to shut up gcc -Wall * genaddrs.c (krb5_auth_con_genaddrs): Add parens to shut up gcc -Wall * an_to_ln.c: Include ctype.h to get some prototypes; also add parens to shut up gcc -Wall Fri Jul 28 23:28:11 1995 Sam Hartman * sn2princ.c (krb5_sname_to_principal): GDon't use default realm just because we are on local machine. Instead, go through normal translations. Fri Jul 7 16:32:41 EDT 1995 Paul Park (pjpark@mit.edu) * Makefile.in - Find com_err in TOPLIBD. Thu Jul 6 17:26:03 1995 Tom Yu * localaddr.c: moved to lib/crypto/os; just a stub here. * ustime.c: moved to lib/crypto/os; just a stub here. Thu Jul 6 09:56:56 1995 Ezra Peisach * Makefile.in (clean): Remove t_an_to_ln.o Wed July 5 15:52:31 1995 James Mattly * an_to_ln.c added _MACINTOSH conditions * genaddrs.c added HAS_MACSOCK_H conditions * krbfileio.c added THREEPARAMOPEN * kuserok.c added THREEPARAMOPEN * macsock.c added stub for gethostnameA * mk_faddr.c added HAS_MACSOCK_H conditions * read_pwd.c added _MACINTOSH condition * sys_log.c added _MACINTOSH condition Fri Jun 30 14:44:17 EDT 1995 Paul Park (pjpark@mit.edu) * an_to_ln.c - Add profile logic to aname_to_lname. We can now specify databases, rules and explicit mappings to convert between auth name and local name. * t_an_to_ln.c - Rudimentary test procedure. Needs work to be automatic * configure.in - Add --with-aname-dbm to select between Berkeley and DBM aname database format. * Makefile.in - Add definitions to select aname rules. Tue Jun 27 15:48:41 EDT 1995 Paul Park (pjpark@mit.edu) * read_pwd.c(intr_routine) - Add signal name argument to signal handler to conform to prototype. Sat Jun 10 23:07:27 1995 Tom Yu (tlyu@dragons-lair) * genaddrs.c: krb5_auth_context redefinitions Fri Jun 9 22:08:33 1995 Theodore Y. Ts'o * gmt_mktime.c (gmt_mktime): Change assertion to check to make sure that the day of the month is >= 1, not 0. Fri Jun 9 19:34:29 1995 * configure.in: Remove standardized set of autoconf macros, which are now handled by CONFIG_RULES. Wed Jun 7 14:43:56 1995 * def_realm.c (krb5_get_default_realm), get_krbhst.c (krb5_get_krbhst), hst_realm.c (krb5_get_host_realm), init_os_ctx.c (krb5_os_init_context), osconfig.c, realm_dom.c (krb5_get_realm_domain): Remove old ifdef'ed code which read in krb.conf and krb.realms. * read_pwd.c (krb5_read_password): Remove old #ifdef notdef code. Significantly simplified and cleaned up function. Removed BSD 4.3 compatibility code. (If we ever need to make this work on a non-POSIX system, we'll supply POSIX termios emulation functions in src/lib/krb5/posix.) Fri Jun 2 17:54:12 1995 Keith Vetter (keithv@fusion.com) * net_read.c, net_write.c: made to work with sockets. Fri May 26 20:20:58 1995 Theodore Y. Ts'o (tytso@dcl) * configure.in, Makefile.in: Add support for building shared libraries. Thu May 25 15:33:45 1995 Keith Vetter (keithv@fusion.com) * os-proto.h: moved prototype for krb5_make_fulladdr to los-proto.h since it's needed by the krb directory. * ktdefnam.c: fixed signed/unsigned mismatch. * read_pwd.c: pc stub didn't track changes to the real routines parameter list (const was added). Tue May 23 16:29:24 1995 Theodore Y. Ts'o (tytso@dcl) * t_std_conf.c, timeofday.c, unlck_file.c: Rearrange #include files so that krb5.h gets included first, so that the debugging information can be more efficiently collapsed since the type numbers will be the same. Tue May 16 10:33:03 EDT 1995 Paul Park (pjpark@mit.edu) * gmt_mktime.c - Use the actual year instead of the number of years since 1900 when determining if a year has a leapday. Makes dates after February in the year 2000 correct. Mon May 15 05:08:05 1995 * ktdefname.c (krb5_kt_default_name): Use the KRB5_KTNAME environment variable to override the default location of the keytab. Mon May 8 22:19:23 1995 Ezra Peisach * read_pwd.c (krb5_read_password): use volatile on all systems. Let configure define volatile to nothing on systems without. * configure.in: Add HAS_ANSI_VOLATILE * mk_faddr.c (krb5_make_fulladdr): Allocate enough memory for raddr contents. * read_pwd.c (krb5_read_password): Make arguments prompt and prompt2 const char * for convenience to callers. Mon May 1 17:05:21 1995 Ezra Peisach * init_os_ctx.c (krb5_set_config_files): Added required const to function declaration to be compatbile with call to profile_init. Mon May 01 15:56:32 1995 Chris Provenzano (proven@mit.edu) * genaddrs.c (krb5_auth_con_genaddrs()), * mk_faddr.c (krb5_make_fulladdr()), os-proto.h : Changes to auth_context to better support full addresses. Sun Apr 30 16:03:59 1995 Ezra Peisach * osconfig.c: Global variables krb5_config_file and krb5_trans_file conditionalized on OLD_CONFIG_FILES. Sat Apr 29 07:07:22 1995 Theodore Y. Ts'o * init_os_ctx.c (krb5_set_config_files): New function. Provides a way to set a new set of config files for a particular OS context. * init_os_ctx.c (krb5_os_init_context): Don't return an error if profile_init() returns an error. Fri Apr 28 09:58:31 EDT 1995 Paul Park (pjpark@mit.edu) Move adm_conn.c from libkrb5 to libkadm. Thu Apr 27 17:50:14 1995 Keith Vetter (keithv@fusion.com) * adm_conn.c: added constant to pull in needed PC code, and removed two unused variables. * genaddrs.c: needed casts on getsockname and getpeername calls. * mk_faddr.c: the int->byte code needed explicit casts. * os-proto.h: added missing prototype for krb5_make_fulladdr. Wed Apr 26 16:00:52 EDT 1995 Paul Park (pjpark@mit.edu) * Add adm_conn.c - module to provide a connection to an administrative (kpasswd/kadmin) server. Wed Apr 27 11:30:00 1995 Keith Vetter (keithv@fusion.com) * osconfig.c: krb5_find_config_files only used for OLD_CONFIG_FILES. * init_os_.c: Get config file location via windows ini files. Thu Apr 27 13:04:54 1995 Ezra Peisach * Makefile.in (clean): Remove t_std_conf.o Tue Apr 25 21:58:23 1995 Chris Procenzano (proven@mit.edu) * Makefile.in : Added source files mk_faddr.c and genaddrs.c. * mk_faddr.c (krb5_mk_fulladdr()): Makes a full address from a struct sockaddr_in. * genaddrs.c (krb5_auth_con_genaddrs()) : Generate a full address from the active file descriptor and place it in the auth_context for the calls mk_safe(), mk_priv(), mk_safe(), rd_cred(), rd_priv(), and rd_safe(). * gen_rname.c (krb5_gen_replay_name()) : Fixed to take any type of krb5_address and generate a rcache name. * os-proto.h (krb5_make_full_ipaddr()) : Removed prototype. Tue Apr 25 14:09:26 1995 Theodore Y. Ts'o * t_std_conf.c (main): Add declaration of optarg. Tue Apr 25 04:50:13 1995 Chris Procenzano (proven@mit.edu) * locate_kdc.c (krb5_locate_kdc()): Pass a NUL terminated realm to profile_get_values(). Mon Apr 24 17:20:14 1995 Ezra Peisach * locate_kdc.c (krb5_locate_kdc): Don't deref NULL pointer returned from profile_get_values if profile is not set. Sat Apr 22 00:11:12 1995 Theodore Y. Ts'o (tytso@dcl) * Makefile.in, configure.in, t_std_conf.c: Add test program to test the standard configuration krb5 routines. * osconfig.c: Don't define krb5_kdc_udp_portname and krb5_kdc_sec_portname any more. There's no real point... * hst_realm.c (krb5_get_krbhst): Strip off the trailing dot from the hostname if present. * locate_kdc.c (krb5_locate_kdc): Use the profile code to get the list of Kerberos servers (plus port numbers) for a particular realm from [realms]//kdc Fri Apr 21 11:38:45 1995 Theodore Y. Ts'o * def_realm.c (krb5_get_default_realm): Use the profile code to get the default realm from [libdefaults]/default_realm. * get_krbhst.c (krb5_get_krbhst): Use the profile code to get the list of Kerberos servers for a particular realm from [realms]//kdc * realm_dom.c (krb5_get_realm_domain): Use the profile code to get the default domain postfix for a realm (used only to convert V4 -> V5 principals) from [realms]//default_domain * hst_realm.c (krb5_get_host_realm): Use the profile code to get the default realm given a particular host from [domain_realm]/ * init_os_ctx.c (krb5_os_init_context): When the OS context is initialized, also initialize the profile file. This loads in the /etc/krb5.conf file. Wed Apr 19 13:50:19 1995 Ezra Peisach (epeisach@kangaroo.mit.edu) * def_realm.c: (krb5_get_default_realm) - remove global default realm. Moved into the context. (krb5_set_default_realm) added. Fri Apr 14 22:15:00 1995 Theodore Y. Ts'o * an_to_ln.c (dbm_an_to_ln): Don't compile dbm_an_to_ln() if USE_DBM_LNAME isn't defined. Fri Apr 14 15:15:48 1995 * hst_realm.c (krb5_get_host_realm): Eliminate memory leak in the unlikely case that gethostname fails. If the krb.realms file isn't available, use the default realm of the host. Thu Apr 13 15:49:16 1995 Keith Vetter (keithv@fusion.com) * *.[ch]: removed unneeded INTERFACE from non-api functions. * read_pwd.c: __STDC__ conditional also checks the _WINDOWS define. Fri Apr 7 15:32:04 1995 Keith Vetter (keithv@fusion.com) * ccdefname.c: changed windows stored filename syntax--dropped the 'FILE:' part. changed buffer from malloc to static since we don't want it ever to fail, and nobody checks it for errors. Wed Apr 5 16:32:07 1995 Keith Vetter (keithv@fusion.com) * get_krbh.c: better error handling--old return values were being overwritten. * locate_kdc.c: added new error code KRB5_REALM_CANT_RESOLVE for when we have realm names but can't find their addresses. Also, fixed up indenting of an if clause. * sendto_kdc.c: added winsock init/destroy calls because some PC tcp/ip stacks seem to need it. Fri Mar 31 16:30:03 1995 Theodore Y. Ts'o (tytso@dcl) * realm_dom.c (krb5_get_realm_domain): Don't indent #ifdef's! * hst_realm.c (krb5_get_host_realm): Don't indent #ifdef's! Thu Mar 30 15:54:54 1995 Keith Vetter (keithv@fusion.com) * localaddr.c: in Windows/Mac code, fixed bug due to wrong level of indirection on memcpy call. Tue Mar 28 19:22:28 1995 Keith Vetter (keithv@fusion.com) For Windows, added calls to get the default config, realms and ccache files out of a windows ini file. * ccdefname.c: does this for the credential cache. * osconfig.c: does this for the config and realms files. * get_krbh.c, realm_do.c, hst_real.c, def_real.c: added calls to set the default values. Tue Mar 28 18:35:20 1995 John Gilmore (gnu at toad.com) * DNR.c: Add Apple MacTCP source file for domain name resolution. * macsock.c: Add fake socket support routines for MacTCP. * Makefile.in (OBJS, SRCS): Add DNR and macsock. * ccdefname.c: On Mac, default cred cache is "STDIO:krb5cc" for now. FIXME, this needs to find the Preferences folder and use that. FIXME, shouldn't be conditioned on HAVE_MACSOCK_H. * gmt_mktime.c: Use HAVE_SYS_TYPES_H. * krbfileio.c: Remove . * localaddr.c, sendto_kdc.c: Convert to more generic socket support. Use closesocket instead of close, SOCKET_ERRNO rather than errno, SOCKET rather than int, etc. * localaddr.c: Use getmyipaddr() from macsock.c, if on Mac. Add FIXME for multiple local addresses. * lock_file.c: Provide a dummy version for MacOS. * read_pwd.c (ECHO_PASSWORD): Add #ifdef's to avoid all the ioctls and other stuff that turn off echoing. This is useful for debugging on MacOS. FIXME: ECHO_PASSWORD needs to be added to configure.in. * ustime.c: Bring in Mac-specific time-and-timezone code. It probably isn't hooked up correctly, yet. Mon Mar 27 14:16:39 1995 John Gilmore (gnu at toad.com) * full_ipadr.c, gen_rname.c, port2ip.c, read_msg.c, write_msg.c: Remove explicit includes of socket files. * locate_kdc.c: Remove and "os-proto.h". * macsock.c (connect, send, recv): Add for K5 compatability. (getmyipaddr): Add for use in K5. * macsock.c: Add Mac socket support file, verbatim from K4 release. Fri Mar 24 17:58:15 1995 Theodore Y. Ts'o (tytso@rt-11) * locate_kdc.c: Don't include sys/socket.h, netdb.h, netinet/in.h, since these files are already included by k5-config.h * sendto_kdc.c: Don't include sys/socket.h, since it is already included by k5-config.h * sn2princ.c: Don't include netdb.h, since it is already included by k5-config.h Thu Mar 23 23:11:36 1995 Theodore Y. Ts'o * realm_dom.c (krb5_get_realm_domain): Don't indent preprocessor directives. (Not portable). * hst_realm.c (krb5_get_host_realm): Don't indent preprocessor directives. Removed excess close paren introduced by Keith. Wed Mar 22 18:59:47 1995 Keith Vetter (keithv@fusion.com) * hst_realm.c, realm_dom.c: windows DLL can't use fscanf so had to write a couple of routines to read what we need from the file. Wed Mar 22 13:30:35 1995 Keith Vetter (keithv@fusion.com) * an_to_ln.c, kuserok.c: last two os routines ported to the PC. Fri Mar 17 19:56:39 1995 John Gilmore (gnu at toad.com) * Makefile.in (LDFLAGS): Eliminate, duplicates config/pre.in. * localaddr.c: Remove socket include files now handled in k5-int.h. Wed Mar 15 12:19:47 1995 Keith Vetter (keithv@fusion.com) * sendto_kdc.c: made to work on the PC. Tue Mar 7 22:15:00 1995 Keith Vetter * sendto_kdc.c: stubbed on the PC for now. Tue Mar 7 19:54:17 1995 Mark Eichin * configure.in: take out ISODE_DEFS, ISODE_INCLUDE. Tue Mar 7 13:35:21 1995 Keith Vetter (keithv@fusion.com) * *.c: ported all the c files except an_to_ln, kuserok, and sendto_kdc which have windows stubs. * Makefile.in: reflects above changes. Wed Mar 1 17:30:00 1995 Keith Vetter (keithv@fusion.com) * Makefile.in: made to work on the PC * ustime.c: added section for time on the PC * localaddr.c: added section for the PC--returns local IP address N.B. not sure how we're going to handle different machine dependent code changes. For now it's just added to the end of the file. Later, we have to decide on a solution for all. Tue Feb 28 01:07:37 1995 John Gilmore (gnu at toad.com) * *.c: Avoid includes. Fri Feb 3 08:24:18 1995 Theodore Y. Ts'o (tytso@dcl) * gmt_mktime.c (gmt_mktime): Don't double count the leap day in a leap year. Sun Jan 22 18:23:37 1995 John Gilmore (gnu@cygnus.com) * get_krbhst.c (krb5_get_krbhst): Declare realm argument const, to match prototype. Wed Jan 18 11:08:59 1995 * sendto_kdc.c (krb5_sendto_kdc): Fix use of connected sockets; previously krb5_sendto_kdc only used one socket per address family. This doesn't work; it now uses one socket per address. (krb5-bugs #938) Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu) * Actually move the file init_ctx.c to init_os_ctx.c in the CVS repository and also rename the routine krb5_free_os_context() to krb5_os_free_context(). Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu) * Added krb5_context to all krb5_routines * Moved init_ctx.c to init_os_ctx.c because a library cannot have more than on file with the same name. See krb/init_ctx.c Mon Dec 19 15:20:35 1994 Theodore Y. Ts'o (tytso@dcl) * init_ctx.c: New file. Initializes and frees the krb5_os_context structure. * realm_dom.c (krb5_get_realm_domain): Fixed minor bug where the length of the returned domain was calculated incorrectly. Mon Oct 31 17:04:08 1994 Theodore Y. Ts'o (tytso@dcl) * lock_file.c: Back out POSIX_FILE_LOCKS change. (Should be depending on autoconf.h to supply this #define if necessary.) Thu Oct 13 17:24:31 1994 Theodore Y. Ts'o (tytso@maytag) * configure.in: Add ISODE_DEFS Fri Oct 7 13:23:18 1994 Theodore Y. Ts'o (tytso@dcl) * configure.in: Add test for unistd.h * lock_file.c: Use POSIX_FILE_LOCKS if _POSIX_VERSION is defined in unistd.h Thu Sep 22 20:46:08 1994 Theodore Y. Ts'o (tytso@dcl) * configure.in: Put in correct dependency order of configure.in lines. Wed Jul 6 13:26:59 1994 Mark Eichin (eichin@cygnus.com) * gmt_mktime.c (gmt_mktime): New file, new function. Similar to POSIX mktime, but always works in GMT. configure.in, Makefile.in: build gmt_mktime. Wed Jun 22 15:49:30 1994 Theodore Y. Ts'o (tytso at tsx-11) * locate_kdc.c (krb5_locate_kdc): Fixed default port numbers so they are loaded in network byte order instead of host byte order.