summaryrefslogtreecommitdiffstats
path: root/src/include/ChangeLog
Commit message (Collapse)AuthorAgeFilesLines
* Remove ChangeLog files from the source tree. From now on, theSam Hartman2006-04-111-4487/+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
* get proper KRB5_CALLCONV definitionKen Raeburn2006-03-271-0/+5
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17783 dc483132-0cff-0310-8789-dd5450dbe970
* Initial enhanced error message support, similar to what I sent toKen Raeburn2006-03-261-0/+9
| | | | | | | | | | | | | | | | 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
* merge krb5 subdir change log dataKen Raeburn2006-03-111-2/+1183
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17732 dc483132-0cff-0310-8789-dd5450dbe970
* Instead of arbitrary division of headers into include and include/krb5, withKen Raeburn2006-03-111-0/+9
| | | | | | | | | | | | 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
* Add a new recursive target "generated-files-mac", for producing theKen Raeburn2006-03-111-0/+4
| | | | | | | generated files that lxs wants to feed into the Mac build system. (First approximation, may want some fine tuning later.) git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17728 dc483132-0cff-0310-8789-dd5450dbe970
* Enable compilation of little-endian unaligned load/store helperKen Raeburn2006-03-081-0/+3
| | | | | | | functions in k5-platform.h, and use them in kdb encoding/decoding macros. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17710 dc483132-0cff-0310-8789-dd5450dbe970
* krb5.h, which is built after util/et, which is built after the supportKen Raeburn2006-03-081-0/+8
| | | | | | | | | | | | | 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/+21
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* * k5-thread.h (krb5int_mutex_alloc, krb5int_mutex_free, krb5int_mutex_lock,Ken Raeburn2006-01-251-0/+7
| | | | | | | | | | | krb5int_mutex_unlock): Declare. (k5_mutex_lock, k5_mutex_unlock) [PLUGIN]: Redefine to call krb5int_ function versions. ticket: 3417 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17610 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h (USE_PTHREAD_LOCK_ONLY_IF_LOADED): Define any timeKen Raeburn2005-12-171-0/+5
| | | | | | | | | HAVE_PRAGMA_WEAK_REF is defined. ticket: 3293 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17563 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h (k5_mutex_lock_update_stats) [__GNUC__]: Use an inline function,Ken Raeburn2005-12-071-0/+5
| | | | | | to avoid "statement with no effect" warnings. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17554 dc483132-0cff-0310-8789-dd5450dbe970
* * Correct function prototypes that should have been using Jeffrey Altman2005-11-151-0/+19
| | | | | | | | | | | | | | krb5_timestamp in order to prevent type conflicts if krb5_timestamp ever becomes a 64-bit value * Force the use of 32-bit time_t with Microsoft's VS 2005 compiler on 32-bit platforms * Test for inclusion of krb5.h before k5-int.h ticket: 2883 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17488 dc483132-0cff-0310-8789-dd5450dbe970
* win-mac.h: Add definitions for int32_t and uint32_tJeffrey Altman2005-10-201-0/+4
| | | | | | | ticket:new tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17441 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h (k5_key_t): Add K5_KEY_KDB_ERR_HANDLER and ↵Ken Raeburn2005-07-021-0/+5
| | | | | | K5_KEY_KADM_CLNT_ERR_HANDLER git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17287 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-platform.h: Include endian.h if it's available, or machine/endian.h ifKen Raeburn2005-06-151-0/+13
| | | | | | | | | | | it's available. Include byteswap.h if available. (K5_LE, K5_BE): Define based on endianness macros from header files, if available. Only do the architecture tests if this fails. (SWAP16, SWAP32, SWAP64): Define if byteswap.h and bswap_16 are available. ({load,store}_{16,32,64}_le): Disable building of little-endian versions, which aren't currently used. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17239 dc483132-0cff-0310-8789-dd5450dbe970
* Use GCC's packed-structure support to try to optimize unaligned loads andKen Raeburn2005-06-091-0/+13
| | | | | | | | | | | | | | | | | | | stores of values. (E.g., on x86, gcc will emit a word load or store regardless of alignment; on sparc or alpha, it will do aligned word accesses. The old C code does byte operations and arithmetic, always.) Tested in crypto code on x86, sparc, and amd64. * k5-platform.h (load_*): Change argument type to point to const. (K5_BE, K5_LE): New macros, defined based on architecture macros for certain big-endian and little-endian platforms, respectively. (PUT, GET) [__GNUC__]: New macros. Use GCC's packed-structure support to do unaligned loads and stores. (PUTSWAPPED, GETSWAPPED) [__GNUC__]: Similar, but invoke a SWAP<size> macro (not defined yet) to swap the bytes of the value. (store_*, load_*): Use these macros when using GCC, depending on endianness and availability of the SWAP<size> macros. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17232 dc483132-0cff-0310-8789-dd5450dbe970
* don't always require support library when building with sun ccKen Raeburn2005-06-071-0/+8
| | | | | | | | | | | | | | | | | | | By default, a non-GCC configuration will not optimize during the build. The Solaris C compiler will always output functions defined as "inline", at least when not optimizing, even if they're never used. With recent changes on the trunk, k5_call_init_function will cause the support library to be required on Solaris by every program that includes k5-platform.h. This patch should fix that. * k5-platform.h (MAYBE_DEFINE_CALLINIT_FUNCTION) [DELAY_INITIALIZER]: New macro. If not __GNUC__, define k5_call_init_function in the expansion; otherwise, do nothing. (MAKE_INIT_FUNCTION) [DELAY_INITIALIZER]: Use it. (k5_call_init_function): Don't define function form at top level. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17230 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h (krb5int_pthread_loaded) [HAVE_PRAGMA_WEAK_REF]: Declare.Ken Raeburn2005-06-011-0/+6
| | | | | | | | | (K5_PTHREADS_LOADED) [HAVE_PRAGMA_WEAK_REF]: Use it. ticket: 3084 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17224 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-int.h (encode_krb5_sam_challenge, encode_krb5_sam_key,Ken Raeburn2005-05-281-0/+8
| | | | | | | | | encode_krb5_enc_sam_response_enc, encode_krb5_sam_response, decode_krb5_sam_challenge, decode_krb5_enc_sam_response_enc, decode_krb5_sam_response, decode_krb5_predicted_sam_response, krb5_validate_times): Delete duplicate declarations. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17221 dc483132-0cff-0310-8789-dd5450dbe970
* Implement RFC 3961 PRFSam Hartman2005-05-201-0/+18
| | | | | | | | | | | | | | Add krb5_c_prf, a function that implements the RFC 3961 PRF. As part of this change, the krb5_init_keyblock and krb5 free routines move to libk5crypto. Public stubs remain in libkrb5, but the actual implementation is an internal interface in libk5crypto ticket: new Tags: enhancement git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17219 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Merged content from include/configure.in. Don't configureKen Raeburn2005-05-131-0/+8
| | | | | | | | | | | | | | | include directory any more; build its makefiles and autoconf.h directly. Provide comment template when defining C macros. * include/configure.in: Deleted, content merged into ../configure.in. * include/Makefile.in (thisconfigdir, mydir): Updated for configure change. ($(srcdir)/krb5/autoconf.stmp): Use $(thisconfigdir) when locating configure.in and autom4te.cache. * include/kerberosIV/Makefile.in (thisconfigdir, mydir): Updated for configure change. * include/krb5/Makefile.in (thisconfigdir, mydir): Updated for configure change. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17217 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-int.h: Include fcntl.h only if HAVE_FCNTL_H is defined.Ken Raeburn2005-04-281-0/+4
| | | | | | | (krb5int_zap_data): For PalmOS without gcc, call memset but without the volatile cast. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17203 dc483132-0cff-0310-8789-dd5450dbe970
* * port-sockets.h: On PalmOS, include autoconf.h and netdb.h, and defineKen Raeburn2005-04-281-0/+8
| | | | | | | | | socklen_t. * socket-utils.h: Include k5-platform.h. (sa2sin, sa2sin6, ss2sa, ss2sin, ss2sin6): Always use inline function form, and use "inline" instead of "__inline__". git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17202 dc483132-0cff-0310-8789-dd5450dbe970
* Delete definitions of unused macros NEED_SOCKETS and NEED_LOWLEVEL_IOKen Raeburn2005-04-131-0/+5
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17177 dc483132-0cff-0310-8789-dd5450dbe970
* This patch tightens up our determination of whether we can useKen Raeburn2005-03-261-0/+7
| | | | | | | | | | | | | | | | getpw{nam,uid}_r, and using the set flags, creates macros providing a consistent API, and if possible thread safety. * configure.in: Don't check for getpwnam_r and getpwuid_r with AC_CHECK_FUNCS; use AC_CHECK_FUNC, and only set shell variables. Run stricter tests on return types and numbers of arguments, and only define the C macros if these parameters can actually be determined. * k5-platform.h (k5_getpwnam_r, k5_getpwuid_r): New macros. ticket: 2982 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17155 dc483132-0cff-0310-8789-dd5450dbe970
* * Makefile.in ($(srcdir)/krb5/autoconf.stmp): Nuke autom4te.cache directoryKen Raeburn2005-03-261-0/+3
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17154 dc483132-0cff-0310-8789-dd5450dbe970
* shared library support for HP-UX 10Ken Raeburn2005-03-251-0/+7
| | | | | | | | | | | | | | | | | | | | | | | Our somewhat outdated HP-UX support (which was targeted at HP-UX 10, not 11) does not have support for shared library initialization and finalization functions, nor for shared library export lists. The former was causing compilation failures unless shared library support was disabled. * include/k5-platform.h: Expand on init/fini comments some more. (MAKE_FINI_FUNCTION): Add an HP-UX specific variant that defines an auxiliary function fitting the signature of HP-UX 10 library combined initializer/finalizer functions. * config/lib.in (hpux10.exports): New target, constructed similar to osf1.exports but with HP-UX 10.x linker options, no initializers, and "errno" explicitly added to the export list. * shlib.conf (*-*-hpux*): Combine PICFLAGS setting with SHLIB_EXPFLAGS and LDCOMBINE setting. Add linker option "-c hpux10.exports" to LDCOMBINE. Set SHLIB_EXPORT_FILE_DEP to hpux10.exports. Set use_linker_fini_option. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17153 dc483132-0cff-0310-8789-dd5450dbe970
* hpux10 has gmtime_r with wrong return type, breaking asn.1 encoderKen Raeburn2005-03-041-0/+6
| | | | | | | | | | | | | | The hpux10 gmtime_r returns int (0 means success), whereas the POSIX gmtime_r returns a pointer (NULL means failure). * configure.in: Check return type of gmtime_r, and define GMTIME_R_RETURNS_INT if it returns int. If the return type can't be determined, pretend the function isn't there. ticket: new status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17117 dc483132-0cff-0310-8789-dd5450dbe970
* Fix build problem found testing certain combinations of optionsKen Raeburn2005-02-091-0/+5
| | | | | | | | | | * k5-platform.h (PROGRAM_EXITING) [__GNUC__ && !_WIN32 && CONSTRUCTOR_ATTR_WORKS && !DELAY_INITIALIZER]: Define as zero. ticket: 2916 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17089 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Put #ifndef/#define/#endif wrapper into autoconf.h to protectKen Raeburn2005-02-031-0/+6
| | | | | | against multiple inclusions. Don't look for xom.h. Check for dlopen. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17079 dc483132-0cff-0310-8789-dd5450dbe970
* Irix k5_os_mutex_lock calls k5_pthread_mutex_lock w/ wrong argEzra Peisach2005-01-221-0/+8
| | | | | | | | | | | | | | | | * k5-thread.h (k5_os_mutex_lock): Under Irix, invoke k5_pthread_mutex_lock() with the k5_os_mutex, not the pthread_mutex_t. (k5_pthread_assert_locked,unlocked): If DEBUG_THREADS not used, provide correct prototype. Add missing close paren. Test programs show that under irix, the mutex locking/unlocking code was working - even with the wrong memory use... I do not understand why. ticket: new tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17062 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h [HAVE_PTHREAD && HAVE_PRAGMA_WEAK_REF]: Mark pthread_self andKen Raeburn2005-01-141-0/+5
| | | | | | | | | pthread_equal as weak references. ticket: 2878 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17041 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h (k5_pthread_assert_locked): Only call pthread_equal ifKen Raeburn2005-01-141-1/+1
| | | | | | | | | | | thread support is loaded. (k5_pthread_mutex_unlock): Use k5_pthread_assert_locked instead of duplicating it. ticket: 2878 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17036 dc483132-0cff-0310-8789-dd5450dbe970
* More paranoid checking...Ken Raeburn2005-01-141-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | * k5-thread.h (k5_os_mutex) [pthread case]: Add new field "owner" if DEBUG_THREADS. (k5_pthread_mutex_lock, k5_pthread_mutex_unlock, k5_pthread_assert_locked): New macros/functions; if DEBUG_THREADS, set or check the owner field. (K5_OS_MUTEX_PARTIAL_INITIALIZER) [pthread case && DEBUG_THREADS]: Set the owner field. If PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP is defined, use it. (k5_os_mutex_lock, k5_os_mutex_unlock, k5_os_mutex_assert_locked) [pthread case]: Use k5_pthread_ versions. (k5_mutex_destroy): Update the location data with the mutex locked, before destroying it. (k5_mutex_unlock): Update the location data while the mutex is still locked, and check the assertion that the mutex really is locked. Convert inline function to macro. * k5-thread.h (krb5int_mutex_lock_update_stats, krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats) [!DEBUG_THREADS_STATS]: Declare KRB5_CALLCONV. ticket: 2878 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17031 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-int.h (krb5int_zap_data): Fix preprocessor test for WindowsKen Raeburn2005-01-091-0/+4
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17013 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h (KRB5_CALLCONV, KRB5_CALLCONV_C): Define if not defined.Ken Raeburn2005-01-091-0/+10
| | | | | | | | | (krb5int_mutx_lock_update_stats, krb5int_mutex_unlock_update_stats, krb5int_mutex_report_stats) [!DEBUG_THREADS_STATS]: Declare, with KRB5_CALLCONV. (k5_debug_make_loc): Change "lineno" to type int. (k5_debug_make_loc): Likewise for argument "line". git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17012 dc483132-0cff-0310-8789-dd5450dbe970
* Add new function krb5_boolean krb5_is_thread_safe(void) to library.Jeffrey Altman2005-01-051-0/+4
| | | | | | | | | | | | | This function simply reports whether or not ENABLE_THREADS was specified at compile time. It is meant to be used by applications which need to know whether or not multithread libraries must be initialized OR whether or not calls to Kerberos library functions from multi-threaded applications must be protected by an application global mutex. ticket: new tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17003 dc483132-0cff-0310-8789-dd5450dbe970
* * win-mac.h: define NEED_INSIXADDR_ANY for ipv6 symbolJeffrey Altman2005-01-051-0/+4
| | | | | | ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17002 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Check for uint32_t and int32_t in system headersKen Raeburn2005-01-051-0/+2
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16999 dc483132-0cff-0310-8789-dd5450dbe970
* * Makefile.in (krb5.h): Don't pull in autoconf SIZEOF macrosKen Raeburn2005-01-051-0/+4
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16998 dc483132-0cff-0310-8789-dd5450dbe970
* * krb5.hin: Flag krb5_principal2salt as KRB5_CALLCONV_WRONGTom Yu2004-12-211-0/+4
| | | | | | ticket: 2840 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16975 dc483132-0cff-0310-8789-dd5450dbe970
* * include/k5-int.h (struct _krb5int_access): Add function pointer fieldKen Raeburn2004-12-081-0/+1
| | | | | | | | | | | use_dns_kdc. * lib/krb5/os/accessor.c (krb5int_accessor): Set new field use_dns_kdc. * lib/krb4/RealmsConfig-glue.c (krb_get_krbhst): Check if DNS should be used for getting KDC names before actually using it. ticket: 2772 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16920 dc483132-0cff-0310-8789-dd5450dbe970
* bump accessor struct version number for 1.4Ken Raeburn2004-12-081-0/+4
| | | | | | | | | | | | | The interface has changed from 1.3 (if nothing else, sendto_udp has a new argument), so we need to have a new version number for 1.4. * k5-int.h (KRB5INT_ACCESS_STRUCT_VERSION): Bump to 9. ticket: new target_version: 1.4 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16919 dc483132-0cff-0310-8789-dd5450dbe970
* hooks for recording statistics on locking behaviorKen Raeburn2004-12-061-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* * win-mac.h (HAVE_GETADDRINFO, HAVE_GETNAMEINFO): DefineKen Raeburn2004-11-191-0/+4
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16892 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-int.h (struct _krb5_cc_ops): Add new function pointer field get_flagsKen Raeburn2004-11-161-0/+3
| | | | | | | ticket: 2763 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16874 dc483132-0cff-0310-8789-dd5450dbe970
* * krb5.hin (krb5_cc_get_flags): DeclareKen Raeburn2004-11-161-0/+4
| | | | | | | ticket: 2763 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16872 dc483132-0cff-0310-8789-dd5450dbe970
* move getaddrinfo hacks into support lib for easier maintenanceKen Raeburn2004-11-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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