summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* * run.test (getnwords): Rewrite to drop blank lines before counting lines, ↵Ken Raeburn2004-08-152-1/+6
| | | | | | not after git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16665 dc483132-0cff-0310-8789-dd5450dbe970
* * cc_file.c (dereference): Lock mutex around call to krb5_fcc_close_fileKen Raeburn2004-08-152-1/+9
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16664 dc483132-0cff-0310-8789-dd5450dbe970
* Fix Tru64 build:Ken Raeburn2004-08-152-6/+13
| | | | | | | | * 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
* Only open a credential cache file once, even if multiple krb5_ccache objectsKen Raeburn2004-08-134-77/+172
| | | | | | | | | | | | | | | | | | | | | | | | | refer to it. (This does NOT yet take care of the problem of multiple threads wanting to use OS-level advisory locks, which at least on UNIX are per-process and not per-thread.) * cc_file.c (krb5_fcc_close_file): Change first argument to be an fcc-data pointer, not a krb5_ccache. All calls changed. (struct fcc_set): Add a refcount member. (Definition accidentally introduced without comment in an earlier patch.) (krb5int_cc_file_mutex, fccs): New variables, for managing a global list of open credential cache files. (dereference): New function, with most of old close/destroy operations. Decrements reference count and only frees the object and removes it from the global list if the refcount hits zero. (krb5_fcc_close, krb5_fcc_destroy): Call dereference. (krb5_fcc_resolve): If a file cache is already open with the same file name, increment its reference count and don't create a new one. When a new one is created, add it to the global list. * cc-int.h (krb5int_cc_file_mutex): Declare. * ccbase.c (krb5int_cc_initialize): Initialize it. (krb5int_cc_finalize): Destroy it, and krb5int_mcc_mutex. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16662 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h (k5_os_nothread_mutex_finish_init, k5_os_nothread_mutex_init,Ken Raeburn2004-08-132-25/+67
| | | | | | | | | | | | | | 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
* * run.test (getnwords): New function. Uses sed to get N words from $DICT asKen Raeburn2004-08-122-11/+21
| | | | | | | other functions did before, but discards blank lines. (test1, test2, test12, test13, test20): Call getnwords. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16660 dc483132-0cff-0310-8789-dd5450dbe970
* get_in_tkt.c (get_init_creds): Support ticket_lifetime libdefault. Made ↵Alexandra Ellwood2004-08-122-27/+69
| | | | | | | | | | aware of 32 bit min and max for times. Allow renew_until time < expiration time ticket: 2654 ticket: 2655 ticket: 2656 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16656 dc483132-0cff-0310-8789-dd5450dbe970
* ccdefname.c (krb5_cc_set_default_name, krb5_cc_default_name): Look up the ↵Alexandra Ellwood2004-08-122-41/+64
| | | | | | | | default ccache name in krb5_cc_default_name, not krb5_cc_set_default_name so that krb5_init_context doesn't have to do work it might never use ticket: 2657 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16655 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Solaris getpwnam_r returns struct passwd*, notTom Yu2004-08-102-1/+6
| | | | | | struct pwd*. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16654 dc483132-0cff-0310-8789-dd5450dbe970
* * ftpd.c (main): Use socklen_t for the size of the address from acceptKen Raeburn2004-08-092-1/+7
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16653 dc483132-0cff-0310-8789-dd5450dbe970
* * krb524d.c (do_connection): Use socklen_t for the size of the address from ↵Ken Raeburn2004-08-092-1/+7
| | | | | | recvfrom git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16652 dc483132-0cff-0310-8789-dd5450dbe970
* * aclocal.m4 (WITH_CC): Log messages when adding AIX compiler optionsKen Raeburn2004-08-082-3/+10
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16651 dc483132-0cff-0310-8789-dd5450dbe970
* * libkrb5.exports: Remove memory ccache symbols except ops tableKen Raeburn2004-08-082-14/+4
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16650 dc483132-0cff-0310-8789-dd5450dbe970
* * aclocal.m4 (KRB5_AC_ENABLE_THREADS): Clear PTHREAD_CFLAGS and PTHREAD_LIBSKen Raeburn2004-08-082-5/+26
| | | | | | | | | after adding them to CFLAGS and LIBS respectively, to avoid duplicating the options later. (WITH_CC): Add -O on AIX also. Don't add options if similar options are already present. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16649 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (GET_NO_PTHREAD_TSD) [!HAVE_PRAGMA_WEAK_REF]: Macro result typeKen Raeburn2004-08-082-1/+6
| | | | | | should be pointer to tsd_block. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16648 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: If getpwnam_r is available, determine its return typeKen Raeburn2004-08-082-0/+27
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16647 dc483132-0cff-0310-8789-dd5450dbe970
* * aclocal.m4 (KRB5_AC_ENABLE_THREADS): On AIX and OSF/1, always addKen Raeburn2004-08-082-1/+15
| | | | | | | $PTHREAD_CFLAGS to CFLAGS for use in later tests. (WITH_CC): If on AIX and not using gcc, add -qhalt=e to CFLAGS. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16646 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Look for sched.h and sched_yield.Ken Raeburn2004-08-073-4/+17
| | | | | | | | | * 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
* updated for new filesAlexandra Ellwood2004-08-061-48/+96
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16644 dc483132-0cff-0310-8789-dd5450dbe970
* * cc_file.c: Remove USE_STDIO supportKen Raeburn2004-08-052-317/+15
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16643 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h [HAVE_PTHREAD]: Include sched.h if DEBUG_THREADS_SLOW is defined.Ken Raeburn2004-08-052-10/+40
| | | | | | | | | (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
* * srv_rcache.c (krb5_get_server_rcache): Call krb5_rc_recover_or_initializeKen Raeburn2004-08-042-7/+10
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16641 dc483132-0cff-0310-8789-dd5450dbe970
* * rc-int.h (struct _krb5_rc_ops): Add new member, recover_or_init.Ken Raeburn2004-08-047-7/+59
| | | | | | | | | | | | | | * rc_dfl.c (krb5_rc_dfl_init_locked): New function, with most of the content of old krb5_rc_dfl_init. (krb5_rc_dfl_init): Call it. (krb5_rc_dfl_recover_or_init): New function. * rc_dfl.h (krb5_rc_dfl_recover_or_init): Declare. * rcdef.c (krb5_rc_dfl_ops): Initialize new field. * rc_none.c (krb5_rc_none_recover_or_init): New macro. (krb5_rc_none_ops): Initialize new field. * rcfns.c (krb5_rc_recover_or_initialize): New function. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16640 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-int.h (krb5_rc_recover_or_initialize): DeclareKen Raeburn2004-08-042-0/+4
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16639 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Actually check for pthread_mutex_lockKen Raeburn2004-08-042-1/+5
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16638 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Build makefile for new "threads" subdirectoryKen Raeburn2004-08-032-1/+5
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16637 dc483132-0cff-0310-8789-dd5450dbe970
* * Makefile.in, t_rcache.c: New filesKen Raeburn2004-08-033-0/+186
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16636 dc483132-0cff-0310-8789-dd5450dbe970
* * threads.c (krb5int_thread_support_init): Do finish initialization after ↵Ken Raeburn2004-07-312-2/+10
| | | | | | key creation in POSIX case git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16635 dc483132-0cff-0310-8789-dd5450dbe970
* Implement new replay cache type "none"Ken Raeburn2004-07-305-3/+108
| | | | | | | | | | * rc_none.c: New file. * Makefile.in (SRCS, STLIBOBJS, OBJS): Build it. * rc-int.h (krb5_rc_none_ops): Declare. * rc_base.c (none): New variable. (krb5_rc_typelist_dfl): Add it into the linked list. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16634 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Only sanity-check setutent() API if there is noTom Yu2004-07-302-16/+23
| | | | | | | | | utmpx.h, since some setutent() implementations aren't sysV-derived, e.g., NetBSD. ticket: 2432 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16633 dc483132-0cff-0310-8789-dd5450dbe970
* * gssapi_krb5.c (kg_ccache_name): Variable deleted.Ken Raeburn2004-07-302-3/+23
| | | | | | | (kg_sync_ccache_name, kg_get_ccache_name, kg_set_ccache_name): Get and set thread-specific values instead. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16632 dc483132-0cff-0310-8789-dd5450dbe970
* Export lucid context functions and gss_krb5_set_allowable_enctypesSam Hartman2004-07-292-0/+7
| | | | | | Ticket: 2587 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16631 dc483132-0cff-0310-8789-dd5450dbe970
* Add a mutex to the GSSAPI krb5 mechanism credential structure. Lock it whileKen Raeburn2004-07-2911-30/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | frobbing the contents. Also added krb5_gss_validate_cred_1, which is like krb5_gss_validate_cred but for internal use. It lets the caller supply the krb5_context instead of creating yet another one locally, and leaves the new credential mutex locked on a successful return so that the caller doesn't have to reacquire it. More functions should be changed to use this internally, but it's a performance issue; I don't think it's a correctness or thread-safety issue. * gssapiP_krb5.h (struct _krb5_gss_cred_id_rec): Add a mutex. (krb5_gss_validate_cred_1): Declare. * accept_sec_context.c (rd_and_store_for_creds): Initialize mutex. * acquire_cred.c (krb5_gss_acquire_cred): Initialize mutex. * add_cred.c (krb5_gss_add_cred): Create the krb5 context earlier. Call krb5_gss_validate_cred_1. Make sure the mutex is locked. * copy_ccache.c (gss_krb5_copy_ccache): Lock the mutex in the source credential. * init_sec_context.c (get_credentials, new_connection): Check that the mutex is locked. (mutual_auth): Delete unused credential argument. (krb5_gss_init_sec_context): Lock the mutex. * inq_cred.c (krb5_gss_inquire_cred): Lock the mutex. * rel_cred.c (krb5_gss_release_cred): Destroy the mutex. * set_allowable_enctypes.c (gss_krb5_set_allowable_enctypes): Lock the mutex. * val_cred.c (krb5_gss_validate_cred_1): New function. (krb5_gss_validate_cred): Use it. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16630 dc483132-0cff-0310-8789-dd5450dbe970
* * set_ccache.c (gss_krb5_ccache_name): Don't make a copy of the string returnedKen Raeburn2004-07-292-29/+13
| | | | | | | by kg_get_ccache_name. Simplify some calls using a temporary error code variable. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16629 dc483132-0cff-0310-8789-dd5450dbe970
* * gssapi_krb5.c (kg_get_ccache_name): Make the copy always, not justKen Raeburn2004-07-292-16/+22
| | | | | | in the local-context case. Check for errors in making the copy. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16628 dc483132-0cff-0310-8789-dd5450dbe970
* * gssapi_krb5.c (kg_get_ccache_name): Make a copy of the default ccache name,Ken Raeburn2004-07-282-1/+8
| | | | | | because calling krb5_free_context will destroy it. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16627 dc483132-0cff-0310-8789-dd5450dbe970
* * tcl_kadm5.c (parse_flags, parse_keysalts, parse_key_data, parse_tl_data,Ken Raeburn2004-07-283-15/+26
| | | | | | | | | parse_principal_ent, parse_policy_ent): Use Tcl_Free, not free, to release storage allocated by Tcl_SplitList. * tcl_ovsec_kadm.c (parse_flags, parse_principal_ent, parse_policy_ent): Likewise. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16626 dc483132-0cff-0310-8789-dd5450dbe970
* * k5-thread.h [HAVE_PRAGMA_WEAK_REF]: Declare the pthread mutex functions asKen Raeburn2004-07-282-0/+15
| | | | | | | | 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
* cc_mslsa.c: fix is_windows_xp not to return true for windows 2000Jeffrey Altman2004-07-262-1/+6
| | | | | | | ticket: 2645 tags: pullup git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16624 dc483132-0cff-0310-8789-dd5450dbe970
* another krb4 ticket backdating fixTom Yu2004-07-242-6/+11
| | | | | | | | | | | | | * kerberos_v4.c (kerberos_v4): Duplicate backdating fix for APPL_REQUEST as well. Fix comments. ticket: new version_reported: 1.3.3 target_version: 1.3.5 tags: pullup component: krb5-kdc git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16623 dc483132-0cff-0310-8789-dd5450dbe970
* Add a mutex to protect the per-process fake-getaddrinfo data cache.Ken Raeburn2004-07-235-12/+93
| | | | | | | | | | | | | | | | | | | | | | 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
* [needs the include/configure.in checkin of a few minutes ago, too]Ken Raeburn2004-07-222-2/+15
| | | | | | | | | * localaddr.c (get_lifconf): Define only if "struct lifconf" is available. (foreach_localaddr): Use get_lifconf only if "struct lifconf" is available. ticket: 2598 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16621 dc483132-0cff-0310-8789-dd5450dbe970
* * configure.in: Look for "struct lifconf" and maybe define HAVE_STRUCT_LIFCONFKen Raeburn2004-07-222-0/+17
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16620 dc483132-0cff-0310-8789-dd5450dbe970
* * fake-addrinfo.h (struct face, struct fac): Always declare.Ken Raeburn2004-07-192-20/+26
| | | | | | (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
* * fake-addrinfo.c: New file.Ken Raeburn2004-07-193-3/+60
| | | | | | * Makefile.in (STLIBOBJS, LIBOBJS, SRCS): Add it. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16614 dc483132-0cff-0310-8789-dd5450dbe970
* * cc_memory.c (krb5_mcc_store): When allocating krb5_mcc_linkEzra Peisach2004-07-182-1/+6
| | | | | | memory - allocate sizeof() - not sizeof(sizeof()). git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16613 dc483132-0cff-0310-8789-dd5450dbe970
* zap remaining bits of macsock.h supportKen Raeburn2004-07-1719-525/+33
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16612 dc483132-0cff-0310-8789-dd5450dbe970
* update dependenciesKen Raeburn2004-07-163-5/+6
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16611 dc483132-0cff-0310-8789-dd5450dbe970
* update dependenciesKen Raeburn2004-07-161-13/+24
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16610 dc483132-0cff-0310-8789-dd5450dbe970
* * pty-int.h: Include port-sockets.h instead of netdb.h and netinet/in.hKen Raeburn2004-07-162-2/+6
| | | | | | | ticket: 2379 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16609 dc483132-0cff-0310-8789-dd5450dbe970