| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17013 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
| |
(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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17002 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16999 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16998 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
ticket: 2840
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16975 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16892 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
ticket: 2763
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16874 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
ticket: 2763
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16872 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
ticket: 2761
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16856 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16845 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
versions so debugging line numbers will be useful.
(DEBUG_THREADS_SLOW): Don't define.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16842 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16805 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
completely faking getaddrinfo, define them as zero.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16803 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16800 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
because there's no corresponding AC_MSG_CHECKING.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16787 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
ticket: 2710
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16769 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
| |
* port-sockets.h: Explicitly declare h_errno if it's missing.
ticket: 1044
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16758 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
| |
as it can cause inconsistencies between headers. It significantly
broke HP-UX 10.20 anyway.
ticket: 2379
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16740 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
| |
when set, a krb5_ccache does not have to return a ticket
within the returned credential
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16734 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
ai_canonname is null
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16682 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
| |
* k5-thread.h (k5_os_nothread_mutex_assert_locked,
k5_os_nothread_mutex_assert_unlocked, k5_os_mutex_assert_locked,
k5_os_mutex_assert_unlocked): Assertion macros should always have type void.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16663 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
k5_os_nothread_mutex_destroy, k5_os_nothread_mutex_lock,
k5_os_nothread_mutex_unlock) [!DEBUG_THREADS]: Replace macros with inline
functions, to gain type checking and eliminate gratuitous compiler warnings.
(k5_pthread_assert_unlocked, k5_pthread_assert_locked): Likewise.
(k5_os_mutex_finish_init) [HAVE_PTHREAD && !USE_PTHREAD_LOCK_ONLY_IF_LOADED]:
Likewise.
(return_after_yield): New inline function.
(k5_os_mutex_lock) [HAVE_PTHREAD]: Change back to a macro, calling
return_after_yield.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16661 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
struct pwd*.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16654 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16647 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
| |
* k5-thread.h: Only include sched.h if it's available.
(MAYBE_SCHED_YIELD): Only use sched_yield if sched.h and sched_yield are
available; if weak references are supported and sched_yield isn't available by
default, check for it at run time.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16645 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
| |
(MAYBE_SCHED_YIELD) [HAVE_PTHREAD]: Define, to call sched_yield or not,
depending on DEBUG_THREADS_SLOW.
(k5_os_mutex_lock, k5_os_mutex_unlock) [HAVE_PTHREAD]: Use MAYBE_SCHED_YIELD.
(DEBUG_THREADS_SLOW): Define.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16642 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16639 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16638 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
| |
weak.
(USE_PTHREAD_LOCK_ONLY_IF_LOADED): Define if pthread_mutex_lock isn't available
by default.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16625 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16620 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
(krb5int_fac): Renamed from fac, and made extern. Always declare.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16615 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
| |
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16612 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
|
|
| |
* port-sockets.h: Define _XOPEN_SOURCE_EXTENDED around inclusion of netdb.h if
it's not defined and not Windows, as fake-addrinfo.h used to do; otherwise just
include it normally.
ticket: 2379
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16608 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
ticket: 2592
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16604 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
| |
default principal from v4 CCAPI glue code
ticket: 2634
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16602 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
ticket: 2637
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16601 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
|
|
|
|
| |
utilize the Win32 API SecureZeroMemory which is guaranteed
by Microsoft not to be optimized out by the compiler.
Both memset and ZeroMemory will be optimized out by the
compiler when possible.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16600 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
statement expression so any line number info printed by assertion failures is
useful.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16589 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
manipulation
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16588 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
USE_PTHREAD_LOCK_ONLY_IF_LOADED is defined, use pthread_mutex_init and _destroy
only if pthread support is loaded.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16587 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
k5_os_mutex_assert_unlocked) [USE_PTHREAD_LOCK_ONLY_IF_LOADED]: Fix typo in
accessing non-pthread versions.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16580 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
| |
with a macro first.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16579 dc483132-0cff-0310-8789-dd5450dbe970
|
|
|
|
|
|
|
| |
deciding whether to test for in6addr_any. If gcc is in use, suppress pedantic
warnings about "inline".
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16578 dc483132-0cff-0310-8789-dd5450dbe970
|