2006-03-11 Ken Raeburn * Makefile.in (autoconf.h): Note location change. 2006-03-08 Ken Raeburn * plugins.c: Only include dlfcn.h if USE_DLOPEN. (struct plugin_file_handle): Only include a pointer if USE_DLOPEN. (krb5int_open_plugin, krb5int_get_plugin_data, krb5int_close_plugin, krb5int_open_plugin_dir, krb5int_close_plugin_dir): Only use the dlopen interface if USE_DLOPEN is defined. (krb5int_get_plugin_dir_data, krb5int_get_plugin_dir_func): Use krb5int_get_plugin_data/func instead of dlsym. Drop some debugging code. 2006-03-07 Ken Raeburn * plugins.c: Don't include k5-int.h, it depends on krb5.h which hasn't been built yet. Instead, include k5-plugin.h and a bunch of system headers. (krb5int_open_plugin, krb5int_get_plugin_data, krb5int_get_plugin_func, krb5int_open_plugin_dir, krb5int_get_plugin_dir_data, krb5int_get_plugin_dir_func): Change return types from krb5_error_code to int32_t. 2006-03-06 Ken Raeburn * plugins.c: New file. * Makefile.in (LIBMAJOR): Update to 1. (STLIBOBJS, LIBOBJS): Add new file. (SHLIB_EXPLIBS): Add $(DL_LIB). * libkrb5support.exports: Add new functions. 2006-02-24 Jeffrey Altman * Makefile.in: support for 64-bit Windows builds 2006-01-25 Ken Raeburn * threads.c (krb5int_mutex_alloc, krb5int_mutex_free, krb5int_mutex_lock, krb5int_mutex_unlock): New functions. (krb5int_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats): Always define, even if not doing anything. * libkrb5support.exports: Export the new functions. * fake-addrinfo.c (krb5int_in6addr_any): Always define. 2005-09-09 Ken Raeburn * fake_addrinfo.c (getaddrinfo): Conditionalize last change on AI_NUMERICSERV being defined. 2005-09-01 Marc Aurele La France * fake_addrinfo.c (getaddrinfo): AI_NUMERICSERV fix for AIX. 2005-07-28 Jeffrey Altman * threads.c: Stub krb5int_pthread_loaded added for Windows to prevent export errors. 2005-05-31 Ken Raeburn * threads.c [HAVE_PRAGMA_WEAK_REF]: Declare pthread_{g,s}etspecific, pthread_key_{create,delete}, pthread_{create,join} as weak references. (krb5int_pthread_loaded, loaded_test_aux) [HAVE_PRAGMA_WEAK_REF]: New functions. (flag_pthread_loaded, loaded_test_once) [HAVE_PRAGMA_WEAK_REF]: New variables. * libkrb5support.exports: Add krb5int_pthread_loaded. 2005-05-17 Ken Raeburn * fake-addrinfo.c (fai_add_hosts_by_name): Pass null pointer instead of telnet as service name. 2005-03-20 Alexandra Ellwood * threads.c (thread_termination): Free array of pointers to thread-specific data (t) on thread termination. Use existing mutex to prevent the deletion of the array from interfering with the global list of thread specific data (used for library termination). 2005-02-08 Ken Raeburn * threads.c (k5_key_delete) [pthread case]: Reset flags and destructor function pointer to unset state. (krb5int_thread_support_init, krb5int_thread_support_fini): If SHOW_INITFINI_FUNCS is defined, print some tracing messages. 2005-01-18 Ken Raeburn * threads.c (k5_key_delete) [ENABLE_THREADS && !_WIN32]: Don't abort, just leak resources for now. 2005-01-17 Jeffrey Altman * threads.c: implement cleanup of static vars on library unload (for Windows) 2005-01-14 Ken Raeburn * threads.c (k5_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats): Define as KRB5_CALLCONV. (krb5int_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats) [_WIN32]: Undef macros before defining functions. 2005-01-04 Ken Raeburn * threads.c (krb5int_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats) [_WIN32 && !DEBUG_THREADS_STATS]: Define empty versions for Windows. 2004-12-15 Jeffrey Altman * Makefile.in: rename krb5support_32.dll to k5sprt32.dll 2004-12-06 Ken Raeburn * threads.c [DEBUG_THREADS_STATS]: Include stdio.h. (stats_logfile) [DEBUG_THREADS_STATS]: New variable. (krb5int_thread_support_init) [DEBUG_THREADS_STATS]: Set it to point to a file on /dev/tty or stderr. (krb5int_thread_support_fini) [DEBUG_THREADS_STATS]: Flush it. (k5_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, get_stddev, krb5int_mutex_report_stats) [DEBUG_THREADS_STATS]: New functions. * libkrb5support.exports: Add krb5int_mutex_*_stats. * libkrb5support.exports: Add krb5int_in6addr_any. 2004-11-19 Ken Raeburn * fake-addrinfo.c (HAVE_GETADDRINFO, HAVE_GETNAMEINFO)[_WIN32]: Don't define here. (protoname): Handle IPPROTO_IGMP. (debug_dump_addrinfo_args): Update for current interfaces to socktypename and familyname. 2004-11-15 Ken Raeburn * cache-addrinfo.h, init-addrinfo.c: New files, split out from fake-addrinfo.c. * fake-addrinfo.c: Include cache-addrinfo.h. (FAI_CACHE, struct face, struct fac): Moved to cache-addrinfo.h. (krb5int_fac, krb5int_init_fac, krb5int_fini_fac): Moved to init-addrinfo.c. (addrinfo, struct addrinfo): Don't define. (AI_* and NI_* and EAI_* macros): Don't define. * threads.c: Include cache-addrinfo.h. (krb5int_init_fac, krb5int_fini_fac): Don't declare. * Makefile.in (SRCS, STLIBOBJS, LIBOBJS): Updated. 2004-11-03 Ken Raeburn * fake-addrinfo.c: Import most of the contents of include/fake-addrinfo.h, so we only compile it once. (krb5int_getaddrinfo, krb5int_freeaddrinfo, krb5int_getnameinfo, krb5int_gai_strerror): New functions, always defined and exported. * libkrb5support.exports: Export the new functions, not the old _fac symbols. 2004-10-25 Ken Raeburn * libkrb5support.exports: Export krb5int_fac, _lock_fac, _unlock_fac. 2004-08-08 Ken Raeburn * threads.c (GET_NO_PTHREAD_TSD) [!HAVE_PRAGMA_WEAK_REF]: Macro result type should be pointer to tsd_block. 2004-07-31 Ken Raeburn * threads.c (krb5int_thread_support_init): Do finish initialization after key creation in POSIX case. 2004-07-23 Ken Raeburn * fake-addrinfo.c (krb5int_fac): Initialize the mutex. (krb5int_init_fac, krb5int_fini_fac): New functions; finish initializing or destroy the mutex. (krb5int_lock_fac, krb5int_unlock_fac): New functions; lock the mutex after calling krb5int_call_thread_support_init, or unlock it. * threads.c (krb5int_call_thread_support_init): New function. (krb5int_init_fac, krb5int_fini_fac): Declare. (krb5int_thread_support_init, krb5int_thread_support_fini): Call them. 2004-07-19 Ken Raeburn * fake-addrinfo.c: New file. * Makefile.in (STLIBOBJS, LIBOBJS, SRCS): Add it. 2004-07-06 Ken Raeburn * threads.c (struct tsd_block) [_WIN32]: Define. (k5_setspecific) [_WIN32]: Don't fill in a 'next' field. Fix variable reference for TSD key. 2004-06-24 Ken Raeburn * threads.c: Reorganize code: One definition of each function, with per-platform conditional tests inside, instead of per-platform definitions for each function. Combine common aspects of each function across platforms. 2004-06-21 Ken Raeburn * threads.c (key_lock): Change to a k5_mutex_t. (k5_key_register): Use k5_ lock routines. (pthread_getspecific, pthread_setspecific, pthread_key_create, pthread_key_delete) [HAVE_PRAGMA_WEAK_REF]: Declare weak. (tsd_if_single) [HAVE_PRAGMA_WEAK_REF]: New variable. (krb5int_thread_support_init): Do pthread key creation only if pthread code is loaded. (krb5int_thread_support_fini): Do pthread key deletion only if pthread code is loaded. (k5_key_register, k5_getspecific, k5_setspecific): Use tsd_if_single when pthread code is not loaded. 2004-06-17 Ken Raeburn * Makefile.in (BUILDTOP, LIBNAME, XTRA, OBJFILE): Define for Windows. (LIBOBJS): Define. ($(BUILDTOP)/include/krb5/autoconf.h): Disable rule on Windows. * threads.c (tls_idx, key_lock, destructors, destructors_set): New variables for Windows. (krb5int_thread_support_init, krb5int_thread_support_fini, k5_key_register, k5_getspecific, k5_setspecific, k5_key_delete, krb5int_thread_detach_hook): New functions for Windows. Some are just placeholders. 2004-06-14 Ken Raeburn * libkrb5support.exports: Drop krb5int_foreach_localaddr. 2004-06-04 Ken Raeburn * Makefile.in (LIBBASE): Renamed from LIB. 2004-05-05 Ken Raeburn * threads.c (krb5int_thread_support_fini) [!ENABLE_THREADS]: Provide a dummy function for now. * foreachaddr.c: Deleted. Code moved to lib/krb5/os/localaddr.c. * fake-addrinfo.c: Deleted. * Makefile.in (SRCS, STLIBOBJS): Updated. 2004-05-04 Ken Raeburn * New directory. * Makefile.in: New file. * threads.c: New file. Thread-specific data support. * fake-addrinfo.c: New file. Placeholder. * foreachaddr.c: New file, based on include/foreachaddr.c. * libkrb5support.exports: New file. * threads.c (k5_key_register, destructors, k5_setspecific) [!ENABLE_THREADS]: Update to fit declarations. * Makefile.in (SHLIB_EXPLIBS): Include $(LIBS). (SHLIB_RDIRS): Use $(KRB5_LIBDIR), for lack of anything better.