summaryrefslogtreecommitdiffstats
path: root/src/util/support/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* Remove ChangeLog files from the source tree. From now on, theSam Hartman2006-04-111-294/+0
| | | | | | | subversion commit log entry needs to include information that would have been in the changelog. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17893 dc483132-0cff-0310-8789-dd5450dbe970
* more DEFS=Ken Raeburn2006-04-041-0/+4
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17839 dc483132-0cff-0310-8789-dd5450dbe970
* Initial enhanced error message support, similar to what I sent toKen Raeburn2006-03-261-0/+8
| | | | | | | | | | | | | | | | krbdev except for some function renaming (krb5_free_error was already in use, so added _message to everything), and the context is allowed to be NULL (in which case we fall back to error_message() and storing no strings) to simplify some code. Low-level routines in the support library, using a private data structure; higher-level routines in libkrb5, using a krb5_context. Added error info strings to the KRB_ERR_GENERIC case in gc_via_tkt.c and the python sample service location plugin. Added code to kinit and kvno to look up and display the strings. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17776 dc483132-0cff-0310-8789-dd5450dbe970
* * plugins.c (krb5int_get_plugin_dir_data): If dirhandle is null or theKen Raeburn2006-03-131-0/+6
| | | | | | file pointer is null, return a one-element list containing just NULL. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17738 dc483132-0cff-0310-8789-dd5450dbe970
* Instead of arbitrary division of headers into include and include/krb5, withKen Raeburn2006-03-111-0/+4
| | | | | | | | | | | | include directives sometimes using krb5/foo.h and sometimes using foo.h, and -I options always given for both directories in both source and build trees, push include/krb5/* up a level and drop the krb5 directory (except, for the moment, the change log). Updated #include directives, -I options, and dependencies accordingly, and deleted one or two bits of old, unused code that was noticed in the process. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17730 dc483132-0cff-0310-8789-dd5450dbe970
* Oops. This should come closer to building on Windows..Ken Raeburn2006-03-081-0/+13
| | | | | | | | | | | | | * 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. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17713 dc483132-0cff-0310-8789-dd5450dbe970
* krb5.h, which is built after util/et, which is built after the supportKen Raeburn2006-03-081-0/+10
| | | | | | | | | | | | | code. Fix: Put service location decls in k5-locate.h, pull plugin support decls out of k5-int.h into k5-plugin.h, and make it stand on its own, which includes changing the return type from krb5_error_code to int32_t. Oops: The plugin support code included k5-int.h, which includes git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17707 dc483132-0cff-0310-8789-dd5450dbe970
* Merge from plugin branchKen Raeburn2006-03-071-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Add plugin support: - plugin routines in support library (may break windows build!) - plugin support in KDC location code - sample Python-based plugin for KDC location, not built without tweaking sources - changed service location interface to use an enum instead of passing profile string and DNS strings and port numbers - changed pathnames for plugin locations, including kdb back end - remove locate_service from accessor API Also, do build shared libraries for Darwin just like any other UNIX box. Not present yet: - use new plugin interface for kdb back end - Windows support - Mac bundle support (but dlopen support works) - search path for libkrb5 plugins (only one hard-coded directory for now) - sorting of plugin collections for predictable ordering See the various ChangeLogs for specifics. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17706 dc483132-0cff-0310-8789-dd5450dbe970
* Qing Dong <dongq@mit.edu> provided a set of changes to allowJeffrey Altman2006-02-271-0/+4
| | | | | | | | | | | | | krb5 to build under the Microsoft Visual Studio 8 compiler in 64-bit mode and produce file names that do not conflict with the names produced by the 32-bit build. That patch was modified to work on Unix and also include processor dependent pre-processor definitions to remove warnings. ticket: 3415 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17680 dc483132-0cff-0310-8789-dd5450dbe970
* * fake-addrinfo.c (krb5int_in6addr_any): Always defineKen Raeburn2006-01-251-0/+2
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17608 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (krb5int_mutex_alloc, krb5int_mutex_free, krb5int_mutex_lock,Ken Raeburn2006-01-251-0/+9
| | | | | | | | | | | | 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. ticket: 3417 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17607 dc483132-0cff-0310-8789-dd5450dbe970
* * fake_addrinfo.c (getaddrinfo): AI_NUMERICSERV fix for AIXKen Raeburn2005-09-091-0/+9
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17380 dc483132-0cff-0310-8789-dd5450dbe970
* Add stub for krb5int_pthread_loaded() for WindowsJeffrey Altman2005-07-281-0/+5
| | | | | | ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17323 dc483132-0cff-0310-8789-dd5450dbe970
* Add run-time determination of whether thread support is available in theKen Raeburn2005-06-011-0/+11
| | | | | | | | | | | | | | | | | support library. Check lots of weak references, and call pthread_once a couple of times, to distinguish a broken stub from the real thing. * 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. ticket: 3084 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17223 dc483132-0cff-0310-8789-dd5450dbe970
* * fake-addrinfo.c (fai_add_hosts_by_name): Pass null pointer instead of telnetKen Raeburn2005-05-181-0/+5
| | | | | | as service name. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17218 dc483132-0cff-0310-8789-dd5450dbe970
* threads.c (thread_termination): Free array of pointers to thread-specific ↵Alexandra Ellwood2005-03-201-0/+8
| | | | | | | | 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) ticket: 2971 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17129 dc483132-0cff-0310-8789-dd5450dbe970
* There is a memory leak here, if a thread has registered some per-thread dataKen Raeburn2005-02-091-0/+7
| | | | | | | | | | | | | | | | when we delete the key. Fixing it will require walking through the per-thread data of every thread and freeing the objects... and watching for deadlocks in the case where a thread is exiting at the same time. * 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. ticket: 2916 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17092 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (k5_key_delete) [ENABLE_THREADS && !_WIN32]: Don't abort,Ken Raeburn2005-01-181-0/+5
| | | | | | | | just leak resources for now. ticket: 2888 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17052 dc483132-0cff-0310-8789-dd5450dbe970
* Some applications such as Eudora on Windows load and unload the KerberosJeffrey Altman2005-01-171-0/+5
| | | | | | | | | | | libraries as part of a plug-in. Plugins are often loaded for a specific purpose and then unregistered. In order to support this model, the libraries must restore the library state to the uninitialized state when the library is unloaded. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17050 dc483132-0cff-0310-8789-dd5450dbe970
* fix calling convention for thread support fnsKen Raeburn2005-01-141-0/+9
| | | | | | | | | | | | | | | | This depends on a change to k5-thread.h that was included with a checkin I did earlier for 2878. * 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. ticket: new target_version: 1.4 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17037 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (krb5int_mutex_lock_update_stats,Ken Raeburn2005-01-051-0/+7
| | | | | | | krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats) [_WIN32 && !DEBUG_THREADS_STATS]: Define empty versions for Windows. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16997 dc483132-0cff-0310-8789-dd5450dbe970
* 2004-12-15 Jeffrey Altman <jaltman@mit.edu>Jeffrey Altman2004-12-151-0/+4
| | | | | | | | rename krb5support_32.dll to k5sprt32.dll ticket: 2804 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16934 dc483132-0cff-0310-8789-dd5450dbe970
* * libkrb5support.exports: Add krb5int_in6addr_anyKen Raeburn2004-12-061-0/+2
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16914 dc483132-0cff-0310-8789-dd5450dbe970
* hooks for recording statistics on locking behaviorKen Raeburn2004-12-061-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finish the hooks (left disabled by default) for logging somewhere the recorded timing behavior relating to the use of locks in the krb5 code. Currently, "reporting" means writing to /dev/tty or stderr, and the data is the number of times a mutex is locked, file and line where it was created, min/avg/max/stddev wait times to acquire the lock and hold times, and stats are only written out for locks that were locked a certain minimum number of times and with a minimum average wait time. The criteria are all controlled in threads.c, and k5-thread.h just has the hooks for gathering data. So turning on/off the data gathering requires a full rebuild, but tweaking the reporting is mostly just a relinking pass. (May also require adding a dependence on the math library to the support library; for a static build that may impact a lot of makefiles.) * include/k5-thread.h [DEBUG_THREADS_STATS]: Include string.h and inttypes.h. (get_current_time) [DEBUG_THREADS_STATS]: Define as inline. (k5_mutex_init_stats) [DEBUG_THREADS_STATS]: Save away current time as creation time. (k5_mutex_stats_tmp): New typedef, k5_debug_time_t if recording stats, dummy int otherwise. (k5_mutex_stats_start): New macro, get current time if recording, zero otherwise. (krb5int_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats) [DEBUG_THREADS_STATS]: Declare. (krb5int_mutex_report_stats) [! DEBUG_THREADS_STATS]: New macro, does nothing. (k5_mutex_lock_update_stats, k5_mutex_unlock_update_stats): New macros, map to krb5int_ functions if recording, dummy statements otherwise. (k5_mutex_destroy): Call krb5int_mutex_report_stats. (k5_mutex_lock, k5_mutex_lock_1): Call k5_mutex_stats_start and k5_mutex_lock_update_stats. (k5_mutex_unlock_1): Call k5_mutex_unlock_update_stats. * util/support/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. * util/support/libkrb5support.exports: Add krb5int_mutex_*_stats. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16913 dc483132-0cff-0310-8789-dd5450dbe970
* * fake-addrinfo.c (HAVE_GETADDRINFO, HAVE_GETNAMEINFO)[_WIN32]: Don't defineKen Raeburn2004-11-191-0/+8
| | | | | | | | | here. (protoname): Handle IPPROTO_IGMP. (debug_dump_addrinfo_args): Update for current interfaces to socktypename and familyname. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16893 dc483132-0cff-0310-8789-dd5450dbe970
* Make static linking not require -lsocket, -lnsl, etc.Ken Raeburn2004-11-151-0/+14
| | | | | | | | | | | | | | | | | | | | | Don't duplicate macro definitions. Header files and comments still need some cleanup. * 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. ticket: 2761 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16867 dc483132-0cff-0310-8789-dd5450dbe970
* move getaddrinfo hacks into support lib for easier maintenanceKen Raeburn2004-11-031-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the cache on Mac OS X, and likely to be enabled eventually on other platforms, this is going to wind up being a non-trivial amount of code on most platforms, and updating the cache code to work on other configurations is likely to take a few rounds. Rather than recompile the world and add a bunch of code to each object file doing name lookups, moving the code into the support library that already defines the static data (list head, mutex) should make things simpler. (TODO: Fix calling conventions for Windows?) * include/fake-addrinfo.h: Move most of code content into util/support/fake-addrinfo.c. (krb5int_getaddrinfo, krb5int_freeaddrinfo, krb5int_getnameinfo, krb5int_gai_strerror): Declare. (getaddrinfo, freeaddrinfo, getnameinfo, gai_strerror): Define as macros mapping to the krb5int_ function names. * util/support/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. * util/support/libkrb5support.exports: Export the new functions, not the old _fac symbols. ticket: new status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16854 dc483132-0cff-0310-8789-dd5450dbe970
* * libkrb5support.exports: Export krb5int_fac, _lock_fac, _unlock_facKen Raeburn2004-10-251-0/+5
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16835 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (GET_NO_PTHREAD_TSD) [!HAVE_PRAGMA_WEAK_REF]: Macro result typeKen Raeburn2004-08-081-0/+5
| | | | | | should be pointer to tsd_block. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16648 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (krb5int_thread_support_init): Do finish initialization after ↵Ken Raeburn2004-07-311-0/+5
| | | | | | key creation in POSIX case git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16635 dc483132-0cff-0310-8789-dd5450dbe970
* Add a mutex to protect the per-process fake-getaddrinfo data cache.Ken Raeburn2004-07-231-0/+13
| | | | | | | | | | | | | | | | | | | | | | Currently it gets locked while a name lookup is in progress, which is not very efficient. That should be changed, after the code is fixed up so that the cache works on other platforms. * include/fake-addrinfo.h: Include k5-thread.h. (struct fac): Add a mutex. (plant_face, find_face): Check that mutex is already locked. (krb5int_lock_fac, krb5int_unlock_fac): Declare. (fai_add_hosts_by_name): Use them to lock and unlock the mutex. * util/support/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. * util/support/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. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16622 dc483132-0cff-0310-8789-dd5450dbe970
* * fake-addrinfo.c: New file.Ken Raeburn2004-07-191-0/+5
| | | | | | * Makefile.in (STLIBOBJS, LIBOBJS, SRCS): Add it. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16614 dc483132-0cff-0310-8789-dd5450dbe970
* Make thread-specific data support build under Windows (but don't enable it yet)Ken Raeburn2004-07-071-0/+6
| | | | | | | | * threads.c (struct tsd_block) [_WIN32]: Define. (k5_setspecific) [_WIN32]: Don't fill in a 'next' field. Fix variable reference for TSD key. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16551 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c: Reorganize code: One definition of each function, withKen Raeburn2004-06-241-0/+7
| | | | | | | per-platform conditional tests inside, instead of per-platform definitions for each function. Combine common aspects of each function across platforms. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16511 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (key_lock): Change to a k5_mutex_t.Ken Raeburn2004-06-211-0/+14
| | | | | | | | | | | | | | | (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. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16502 dc483132-0cff-0310-8789-dd5450dbe970
* * Makefile.in (BUILDTOP, LIBNAME, XTRA, OBJFILE): Define for Windows.Ken Raeburn2004-06-181-0/+14
| | | | | | | | | | | | | (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. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16482 dc483132-0cff-0310-8789-dd5450dbe970
* * libkrb5support.exports: Drop krb5int_foreach_localaddrKen Raeburn2004-06-141-0/+4
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16444 dc483132-0cff-0310-8789-dd5450dbe970
* Change all uses of LIB in UNIX makefiles to LIBBASE, for better WindowsKen Raeburn2004-06-041-0/+4
| | | | | | | | | compatibility. (Windows nmake exports make variables into the environment, and LIB is treated by the Windows linker as a search path for libraries, thus breaking the linking on Windows of anything needing libraries from the search path in directories where we build libraries on UNIX.) git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16411 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (krb5int_thread_support_fini) [!ENABLE_THREADS]: Provide a dummyKen Raeburn2004-05-061-0/+3
| | | | | | function for now. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16320 dc483132-0cff-0310-8789-dd5450dbe970
* * fake-addrinfo.c: DeletedKen Raeburn2004-05-061-0/+1
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16319 dc483132-0cff-0310-8789-dd5450dbe970
* * foreachaddr.c: Deleted. Code moved to lib/krb5/os/localaddr.c.Ken Raeburn2004-05-051-0/+5
| | | | | | * Makefile.in (SRCS, STLIBOBJS): Updated. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16309 dc483132-0cff-0310-8789-dd5450dbe970
* * Makefile.in (SHLIB_EXPLIBS): Include $(LIBS).Ken Raeburn2004-05-051-0/+2
| | | | | | (SHLIB_RDIRS): Use $(KRB5_LIBDIR), for lack of anything better. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16307 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (k5_key_register, destructors, k5_setspecific) [!ENABLE_THREADS]:Ken Raeburn2004-05-051-0/+3
| | | | | | Update to fit declarations. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16305 dc483132-0cff-0310-8789-dd5450dbe970
* exports listKen Raeburn2004-05-051-0/+1
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16302 dc483132-0cff-0310-8789-dd5450dbe970
* * foreachaddr.c: New file, based on include/foreachaddr.cKen Raeburn2004-05-051-0/+1
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16301 dc483132-0cff-0310-8789-dd5450dbe970
* * New directory.Ken Raeburn2004-05-041-0/+7
* Makefile.in: New file. * threads.c: New file. Thread-specific data support. * fake-addrinfo.c: New file. Placeholder. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16299 dc483132-0cff-0310-8789-dd5450dbe970