Ken Raeburn [Wed, 2 Jun 2004 22:29:18 +0000 (22:29 +0000)]
* srv_rcache.c (krb5_get_server_rcache): Use krb5_rc_resolve_full instead of
constructing an rcache object locally.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16387
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 2 Jun 2004 22:25:37 +0000 (22:25 +0000)]
Move definitions of struct krb5_rc_st, struct _krb5_rc_ops, krb5_rc_ops, and
declarations of krb5_rc_register_type, krb5_rc_dfl_ops from k5-int.h to
rc-int.h. Include rc-int.h in the krb5/rcache files that need it.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16386
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Wed, 2 Jun 2004 21:56:02 +0000 (21:56 +0000)]
fix missing braces in an_to_ln.c security patch
* an_to_ln.c (do_replacement): Patch from Bill Dodd to fix missing
braces in previous security patch.
ticket: new
tags: pullup
target_version: 1.3.4
version_reported: 1.3.4
component: krb5-libs
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16384
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Tue, 1 Jun 2004 20:16:38 +0000 (20:16 +0000)]
fix buffer overflow in an_to_ln.c
* an_to_ln.c (rule_an_to_ln): Fix buffer overflow when parsing
principal names into components.
(do_replacement): likewise
(aname_replacer): Support error return from do_replacement
ticket: new
version_reported: 1.3.3
target_version: 1.3.4
tags: pullup
component: krb5-libs
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16381
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 31 May 2004 12:39:16 +0000 (12:39 +0000)]
* kadmin.h, keytab.c: Remove inclusion of k5-int.h
Nothing internal is referenced - krb5.h is sufficient.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16380
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 31 May 2004 04:10:18 +0000 (04:10 +0000)]
* error_message.c (terminated): New variable.
(com_err_terminate): Set it.
(remove_error_table): Check it, warn and abort if set.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16379
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 30 May 2004 20:06:15 +0000 (20:06 +0000)]
* aclocal.m4 (KRB5_AC_GCC_ATTRS): On AIX 4, mark the destructor attribute as
always not working, until we can construct a good test for the order of
destructors in the multiple shared library case.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16378
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 30 May 2004 20:04:04 +0000 (20:04 +0000)]
* shlib.conf (*-*-aix*): Use linker options for library finalization
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16377
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 30 May 2004 07:27:32 +0000 (07:27 +0000)]
* getdate.y: Include krb5.h and kadmin.h.
(get_date): Drop second argument; always use NULL.
* kadmin.h: Include time.h and/or sys/time.h.
(get_date): Declare.
* kadmin.c (get_date): Don't declare.
(kadmin_parse_princ_args, kadmin_parse_policy_args): Drop second argument to
get_date.
* Makefile.in (LOCALINCLUDES): Define.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16376
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 30 May 2004 06:05:54 +0000 (06:05 +0000)]
Silence some gcc compilation warnings:
* ksetpwd.c (verify_creds, get_init_creds_opt_init, userinitcontext,
init_creds): Now static.
(main): Remove one of two variables named "ccache".
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16375
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 30 May 2004 05:59:46 +0000 (05:59 +0000)]
* clnt_tcp.c: Include string.h
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16374
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 30 May 2004 05:57:29 +0000 (05:57 +0000)]
* k5-int.h (krb5int_crypto_init, krb5int_prng_init): Declare
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16373
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 30 May 2004 05:44:10 +0000 (05:44 +0000)]
* setenv.c: Include string.h
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16372
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Fri, 28 May 2004 03:44:33 +0000 (03:44 +0000)]
Add prototypes for library init and fini functions. Makefile dependencies
updated.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16371
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 27 May 2004 23:07:50 +0000 (23:07 +0000)]
* win-pre.in (CP): Copy nul: plus the file, to avoid carrying over the original
modification time, since some of our makefiles depend on $(CP) updating the
timestamp. Use binary mode for the copy, because default/ASCII seems to cause
a ^Z to be added to the file.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16369
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Wed, 26 May 2004 18:17:35 +0000 (18:17 +0000)]
* yarrow.c (krb5int_yarrow_final): Call
krb5int_yarrow_cipher_final before zeroing out reference to
memory.
* ycipher.[ch] (krb5int_yarrow_cipher_final): Free CIPHER_CTX memory
allocated by krb5int_yarrpw_cipher_init().
These cleanup handlers are now invoked in the library "fini" handlers.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16368
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Wed, 26 May 2004 13:10:49 +0000 (13:10 +0000)]
* cc_mslsa.c: GetMSTGT(). Add krb5_context
parameter to allow krb5_get_permitted_enctype() to be called
instead of using a hardcoded list of enctypes which may change
in the future.
krb5_lcc_get_name(): fix return value if Kerberos is not supported.
ticket: 2574
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16364
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Wed, 26 May 2004 04:36:44 +0000 (04:36 +0000)]
* cc_mslsa.c: GetMSTGT() Initialize pTicketRequest to NULL to prevent
inadvertant deallocation.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16363
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Tue, 25 May 2004 21:48:02 +0000 (21:48 +0000)]
* aesopt.h (PLATFORM_BYTE_ORDER): Treat _WIN32 as always
little-endian. Default to little-endian if there's no other
compile-time way to detect endianness, noting it as a guess.
(SAFE_IO): Error out if SAFE_IO is not set and endianness was
guessed.
ticket: 2564
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16362
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Tue, 25 May 2004 18:09:45 +0000 (18:09 +0000)]
* keytab.c (krb5_ktkdb_get_entry): Change local variable rom int
to krb5_boolean to match prototype for as argument to
krb5_c_enctype_compare.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16361
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Tue, 25 May 2004 18:07:49 +0000 (18:07 +0000)]
* conv_creds.c (krb5int_encode_v4tkt): Unsigned vs signed warning fix
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16360
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Tue, 25 May 2004 18:06:13 +0000 (18:06 +0000)]
* aes.c (krb5int_aes_encrypt): Signed/unsigned warning fix
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16359
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 24 May 2004 21:04:34 +0000 (21:04 +0000)]
* t_encrypt.c (compare_results): Declare static.
(main): Free allocated memory before exit.
* t_nfold.c (fold_kerberos): Change nbytes argument to unsigned.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16358
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 24 May 2004 20:41:23 +0000 (20:41 +0000)]
krb5_rc_io_open_internal might try to invoke with negative argument
* rc_io.c (krb5_rc_io_open_internal): If file could not be open,
do not invoke close negative argument.
Ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16357
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 24 May 2004 20:24:23 +0000 (20:24 +0000)]
* t_ser.c (ser_keytab_test): Cleanup memory leak of forgetting to
close keytab.
* chpw.c: Add parenthesis around assignments in conditionals.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16356
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 24 May 2004 19:53:16 +0000 (19:53 +0000)]
* t_cc.c (cc_test): Clean up memory leaks in tests
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16355
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 24 May 2004 19:45:01 +0000 (19:45 +0000)]
* configure.in: When generating prtest, use AC_CONFIG_FILES
instead of K5_GEN_FILE so that a chmod may be added to make the
script executable.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16354
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 24 May 2004 19:43:17 +0000 (19:43 +0000)]
(main): Invoke krb5_free_context at exit to allow
checking for memory leaks.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16353
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 24 May 2004 19:33:33 +0000 (19:33 +0000)]
* kdb5_mkdums.c (main): Fix memory leak of master principal at exit
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16352
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 23 May 2004 17:20:09 +0000 (17:20 +0000)]
Use compile-time tests using system headers to determine byte order on AIX.
(cf ticket 2551, already pulled up and marked resolved)
* configure.in: Check for sys/param.h too.
* include/db-int.h: Include sys/param.h if available.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16351
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Mon, 17 May 2004 14:48:14 +0000 (14:48 +0000)]
* kfw.nsi, kfw-fixed.nsi, utils.nsi:
- replace the UpdateDLL macro with the ReplaceDLL macro
- use ReplaceDLL to install all .exe and .dll files
this will allow the installer to work even when some files
are loaded by modules which cannot be terminated such as
Network Providers (afslogon.dll for example)
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16340
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Sat, 15 May 2004 12:57:05 +0000 (12:57 +0000)]
The memory allocated by ConstructTicketRequest is not LSA memory
and must be freed with LocalFree().
ticket: 2561
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16339
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Sat, 15 May 2004 04:08:08 +0000 (04:08 +0000)]
2004-05-15 Jeffrey Altman <jaltman@mit.edu>
* cc_mslsa.c:
Do not use the FAILED() macro to test the result of ConstructTicketRequest().
ConstructTicketRequest() returns positive errors and FAILED() only considers
negative values to be a failure condition.
Also, close potential memory leak of LSA allocated memory.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16338
dc483132-0cff-0310-8789-
dd5450dbe970
Alexandra Ellwood [Fri, 14 May 2004 21:14:22 +0000 (21:14 +0000)]
Pass architecture environment to krb5 build system
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16336
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 13 May 2004 08:11:35 +0000 (08:11 +0000)]
* libgssapi_krb5.exports: Remove et_*, generic_*, gssint_*, initialize_*, kg_* symbols
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16333
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 13 May 2004 04:38:58 +0000 (04:38 +0000)]
Link test programs against thread support library
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16332
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Thu, 13 May 2004 03:16:24 +0000 (03:16 +0000)]
* send_tgs.c: krb5_send_tgs() was broken in the case of a KRB_ERROR
message. The krb5_response message_type field was never set
resulting in stack garbage being used instead. This would
break code which used transitive cross-realm to obtain service
tickets.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16331
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 13 May 2004 02:25:22 +0000 (02:25 +0000)]
* k5-thread.h: On IRIX, with threads enabled, reject gcc older than v3
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16330
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 13 May 2004 02:24:29 +0000 (02:24 +0000)]
* k5-thread.h: On IRIX, if gcc is older than v3, tell the user to get a newer
one, and error out.
(We need weak reference support for pthread_once, gcc 2.95 doesn't
support them, but gcc 3, which has been out for nearly 3 years, does.)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16329
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 13 May 2004 00:57:34 +0000 (00:57 +0000)]
* shlib.conf (*-*-linux*): Use GNU linker's --retain-symbols-file option to
implement export list.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16328
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 13 May 2004 00:50:15 +0000 (00:50 +0000)]
* Makefile.in (DEPLIBS, MLIBS, SHLIB_EXPDEPS, SHLIB_EXPLIBS): Add the new support library
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16327
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 13 May 2004 00:49:11 +0000 (00:49 +0000)]
* libk5crypto.exports: Add the DES tables back in; libdes425 uses them directly
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16326
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 7 May 2004 23:29:38 +0000 (23:29 +0000)]
* configure.in: Check for endian.h and machine/endian.h.
* aes/aesopt.h (PLATFORM_BYTE_ORDER): Check for _MIPSEB, _MIPSEL. If endian.h
or machine/endian.h is available, include it instead of sys/param.h. Don't
mess around with multibyte character constants.
ticket: 2551
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16323
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 7 May 2004 23:26:43 +0000 (23:26 +0000)]
* configure.in: Check for machine/endian.h too.
* include/db-int.h: Include machine/endian.h if available. Check for
__LITTLE_ENDIAN__ and __BIG_ENDIAN__, _MIPSEB and _MIPSEL.
ticket: 2551
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16322
dc483132-0cff-0310-8789-
dd5450dbe970
Sam Hartman [Fri, 7 May 2004 19:18:17 +0000 (19:18 +0000)]
Patch from Matt Crawford to allow matching on realm in cross-realm
authentication for krb5_aname_to_lname.
Ticket: 957
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16321
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 6 May 2004 03:15:37 +0000 (03:15 +0000)]
* threads.c (krb5int_thread_support_fini) [!ENABLE_THREADS]: Provide a dummy
function for now.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16320
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 6 May 2004 03:13:56 +0000 (03:13 +0000)]
* fake-addrinfo.c: Deleted
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16319
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 6 May 2004 02:28:25 +0000 (02:28 +0000)]
Start using our first bit of per-thread storage
* error_message.c (buffer): Static variable deleted.
(com_err_initialize): Register cleanup support for com_err thread-specific data
key.
(error_message): Use a per-thread dynamically-allocated buffer instead of
static storage, for the case where an unknown error code is given. If any
errors occur allocating or tracking the buffer, return a fixed message.
* t_com_err.c: Include stdlib.h. If TEST_THREADS is defined, include
pthread.h.
(run): Renamed from main, changed signature.
(main): New function. Just call run, or if TEST_THREADS is defined, create a
thread to call it.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16318
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 6 May 2004 01:33:56 +0000 (01:33 +0000)]
Since the AES code builds, and doesn't do any configure-time byte order checks
that I noticed, something similar ought to work for the DB code. This is the
first cut; nightly testing builds should tell us if it's sufficient on most of
the platforms we work on.
* include/db-int.h: Include stdlib.h, and endian.h if available.
(LITTLE_ENDIAN, BIG_ENDIAN, BYTE_ORDER): If not defined, and if versions with
one or two leading underscores are defined, define the no-underscore form in
terms of the with-underscore one.
(DB_BYTE_ORDER): Define by checking LITTLE_ENDIAN, BIG_ENDIAN, and BYTE_ORDER;
report an error if that doesn't work. Don't check WORDS_BIGENDIAN.
* Makefile.in (all-prerecurse): Make sure headers generated by config.status
are up to date.
(include/config.h, $(srcdir)/include/config.h.in, include/db-config.h): New
rules.
* configure.in: Don't check byte order here. Check for endian.h.
ticket: 2551
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16317
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 6 May 2004 00:12:52 +0000 (00:12 +0000)]
* libkrb5.exports: Export krb5int_foreach_localaddr for now
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16316
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 22:50:42 +0000 (22:50 +0000)]
* libobj.in (OBJS.ST, OBJS.SH, OBJS.PF): Depend on Makefile
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16315
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 22:44:46 +0000 (22:44 +0000)]
Rename header file foreachaddr.c to foreachaddr.h, now that it isn't
mostly static functions to be compiled in.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16314
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 22:37:38 +0000 (22:37 +0000)]
build dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16313
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 22:33:23 +0000 (22:33 +0000)]
* pre.in (SUPPORT_LIBNAME, SUPPORT_DEPLIB, SUPPORT_LIB): New variables.
(KRB5_BASE_LIBS): Add $(SUPPORT_LIB).
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16312
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 22:21:35 +0000 (22:21 +0000)]
* localaddr.c: Incorporate foreach_localaddr implementation. Export it as
krb5int_foreach_localaddr.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16311
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 22:18:01 +0000 (22:18 +0000)]
* foreachaddr.c: Implementation moved to lib/krb5/os/localaddr.c.
(krb5int_foreach_localaddr): Declare.
(foreach_localaddr): New macro.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16310
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 22:10:39 +0000 (22:10 +0000)]
* foreachaddr.c: Deleted. Code moved to lib/krb5/os/localaddr.c.
* Makefile.in (SRCS, STLIBOBJS): Updated.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16309
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 01:19:43 +0000 (01:19 +0000)]
* configure.in: Enable dependency support for shared lib.
* Makefile.in (test_et, t_com_err): Depend on, and link against, the new
support library.
(SHLIB_EXPDEPS, SHLIB_EXPLIBS, SHLIB_RDIRS, SHLIB_DIRS): New variables.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16308
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 01:16:27 +0000 (01:16 +0000)]
* Makefile.in (SHLIB_EXPLIBS): Include $(LIBS).
(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
Ken Raeburn [Wed, 5 May 2004 01:14:53 +0000 (01:14 +0000)]
* configure.in: Include dependency support for shared library build
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16306
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 00:47:59 +0000 (00:47 +0000)]
* threads.c (k5_key_register, destructors, k5_setspecific) [!ENABLE_THREADS]:
Update to fit declarations.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16305
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 00:31:38 +0000 (00:31 +0000)]
* Makefile.in (LOCAL_SUBDIRS): Build support library
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16304
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 00:26:37 +0000 (00:26 +0000)]
* configure.in: Generate a makefile in util/support
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16303
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 00:21:22 +0000 (00:21 +0000)]
exports list
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16302
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 5 May 2004 00:19:13 +0000 (00:19 +0000)]
* foreachaddr.c: New file, based on include/foreachaddr.c
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16301
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Tue, 4 May 2004 23:35:35 +0000 (23:35 +0000)]
fix lib name; add fini func
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16300
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Tue, 4 May 2004 22:40:07 +0000 (22:40 +0000)]
* New directory.
* 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
Ken Raeburn [Tue, 4 May 2004 19:38:18 +0000 (19:38 +0000)]
Make com_err tests exercise the shared-library support
* configure.in: Invoke KRB5_BUILD_PROGRAM and KRB5_RUN_FLAGS.
* Makefile.in (PROG_RPATH, PROG_LIBPATH, RUN_SETUP): New variables.
(test_et, t_com_err): Use the built library, even if shared.
(check-unix): Set up the environment properly to load shared libraries when
running the test programs.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16298
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Tue, 4 May 2004 19:22:53 +0000 (19:22 +0000)]
* shlib.conf (alpha*-dec-osf*): Do remember to set use_linker_init_option and
use_linker_fini_option.
(mips-sgi-irix*): Set LDCOMBINE_TAIL only if not using gcc.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16297
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 3 May 2004 05:57:37 +0000 (05:57 +0000)]
* rc_dfl.c (krb5_rc_dfl_expunge_locked): Declare before use
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16296
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 1 May 2004 01:43:15 +0000 (01:43 +0000)]
Use the new mutex in the replay cache structure
Rather coarse at the moment: While one thread is blocking waiting for data to
be flushed to disk, another thread is unnecessarily prevented from scanning the
in-memory data.
* rc_base.c (krb5_rc_resolve_type): Initialize the mutex in the replay cache
structure.
(krb5_rc_default, krb5_rc_resolve_full): Destroy it if creation of the replay
cache fails.
* rc_dfl.c (krb5_rc_dfl_get_span, krb5_rc_dfl_init): Lock the mutex while
operating on the replay cache object.
(krb5_rc_dfl_expunge_locked): Renamed from krb5_rc_dfl_expunge and made static.
Call krb5_rc_dfl_recover_locked.
(krb5_rc_dfl_expunge): New wrapper function, locks the mutex.
(krb5_rc_dfl_recover_locked): Renamed from krb5_rc_dfl_recover and made static.
Call krb5_rc_dfl_expunge_locked.
(krb5_rc_dfl_recover): New wrapper function, locks the mutex.
(krb5_rc_dfl_store): Lock the mutex. Call _expunge_locked.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16295
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 1 May 2004 01:31:14 +0000 (01:31 +0000)]
* prng.c (krb5int_prng_cleanup): Destroy the mutex
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16294
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 1 May 2004 01:29:44 +0000 (01:29 +0000)]
Update mutex debug code to be somewhat compatible with multi-threaded
execution. It won't be as useful in single-threaded programs for detecting
bugs in the mutex handling for now, though.
* k5-thread.h (k5_mutex_debug_check_init, k5_mutex_debug_update_loc): New
macros.
(k5_mutex_debug_lock, k5_mutex_debug_unlock): Use them.
(k5_mutex_lock, k5_mutex_unlock) [ENABLE_THREADS && DEBUG_THREADS]: Use them
instead of k5_mutex_debug_lock and k5_mutex_debug_unlock.
(enum k5_mutex_debug_states): New enum.
(K5_MUTEX_DEBUG_LOCKED, K5_MUTEX_DEBUG_UNLOCKED): Change to enumerator values.
(k5_mutex_debug_info): Use the enum type. Reorder fields.
(K5_MUTEX_DEBUG_INITIALIZER): Update for new field order.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16293
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 1 May 2004 00:05:55 +0000 (00:05 +0000)]
* Makefile.in (LIBINITFUNC, LIBFINIFUNC): New variables
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16292
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 1 May 2004 00:00:45 +0000 (00:00 +0000)]
update dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16291
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 1 May 2004 00:00:02 +0000 (00:00 +0000)]
Add a mutex for the shared static storage used by Yarrow
* crypto_libinit.c (initialized): Variable deleted.
(cryptoint_initialize_library, cryptoint_cleanup_library): Use new macros for
automatic shared library init/fini functions.
(prng_cleanup): Declaration deleted.
(krb5int_prng_init, krb5int_prng_cleanup): Declare.
(cryptoint_initialize_library): Call krb5int_prng_init.
(krb5int_crypto_init): New function, checks that cryptoint_initialize_library
was called successfully.
(cryptoint_cleanup_library): Call krb5int_prng_cleanup only if the initializer
ran.
* crypto_libinit.h: Deleted.
* prng.c: Include k5-thread.h.
(init_once, init_error, yarrow_lock): New variables.
(krb5int_prng_init): New function; finish initializing the mutex lock.
(do_yarrow_init): New function.
(krb5_c_random_add_entropy): Call it once only. Lock the mutex before
processing the input.
(krb5_c_random_make_octets): Lock the mutex before extracting random bytes.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16290
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 30 Apr 2004 22:53:38 +0000 (22:53 +0000)]
* k5-int.h: Include k5-thread.h.
(struct krb5_rc_st): Add a mutex.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16289
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 30 Apr 2004 07:12:56 +0000 (07:12 +0000)]
* libk5crypto.exports: Drop the library init/fini functions and the DES tables
from the export list.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16288
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 30 Apr 2004 00:59:37 +0000 (00:59 +0000)]
* shlib.conf (alpha*-dec-osf*): Add support for export list, using a temporary
file, and init/fini functions.
(mips-sgi-irix*): Previous support should not be used with gcc.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16287
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 30 Apr 2004 00:57:01 +0000 (00:57 +0000)]
* aclocal.m4 (CONFIG_RULES): Substitute EXTRA_FILES into pre.in
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16286
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 30 Apr 2004 00:55:54 +0000 (00:55 +0000)]
* pre.in (EXTRA_FILES): New variable.
* post.in (clean-unix): Delete extra files.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16285
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 29 Apr 2004 22:51:10 +0000 (22:51 +0000)]
updated dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16284
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 29 Apr 2004 22:47:28 +0000 (22:47 +0000)]
* debug.h (test): Macro renamed from "assert".
* krb5_decode_test.c, krb5_encode_test.c: Callers updated.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16283
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 29 Apr 2004 06:54:23 +0000 (06:54 +0000)]
* k5-platform.h (DELAY_INITIALIZER): Don't define.
(CONSTRUCTOR_ATTR_WORKS, DESTRUCTOR_ATTR_WORKS): Don't define.
(USE_LINKER_FINI_OPTION): Don't define.
(MAYBE_DUMMY_INIT): New macro, to optionally produce a dummy initializer for
the linker to reference in the case where other options indicate we don't want
to use it.
(MAKE_INIT_FUNCTION): Use it in some versions. Set the exported function name
to have a __auxinit suffix.
(MAKE_FINI_FUNCTION) [!SHARED]: Declare the function static, and do nothing to
try to cause it to get invoked.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16282
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 29 Apr 2004 06:50:17 +0000 (06:50 +0000)]
* shlib.conf: Initialize use_linker_init_option and use_linker_fini_option to
no.
(mips-sgi-irix*): Add link-time support for library initialization and
finalization.
(*-*-solaris*): Likewise, for native compiler. Change "pic" mode to "PIC",
libkrb5 seems to need it now.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16281
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 29 Apr 2004 06:46:00 +0000 (06:46 +0000)]
* aclocal.m4 (CONFIG_RULES): Invoke KRB5_LIB_PARAMS and KRB5_AC_INITFINI.
(KRB5_AC_INITFINI): New macro. Define delayed-initialization config option,
test for gcc constructor/destructor attribute support, and test whether
shlib.conf indicates support for link-time options.
(KRB5_AC_GCC_ATTRS): Implement.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16280
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 29 Apr 2004 06:29:47 +0000 (06:29 +0000)]
* error_message.c (com_err_terminate): Free heap storage in et_list_dynamic
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16279
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 29 Apr 2004 06:21:55 +0000 (06:21 +0000)]
* Makefile.in (LIBINITFUNC, LIBFINIFUNC): New variables
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16278
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 28 Apr 2004 22:03:46 +0000 (22:03 +0000)]
* libobj.in (.c.so): Add -DSHARED to compile options
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16277
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 26 Apr 2004 19:28:43 +0000 (19:28 +0000)]
* aclocal.m4 (KRB5_BUILD_LIBRARY_WITH_DEPS): Report an error if perl cannot be found
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16276
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 26 Apr 2004 19:20:45 +0000 (19:20 +0000)]
* lib.in (PARSE_OBJLISTS): New variable.
(lib$(LIB)$(STLIBEXT), lib$(LIB)$(SHLIBVEXT), lib$(LIB)$(PFLIBEXT)): Use it.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16275
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 26 Apr 2004 05:36:49 +0000 (05:36 +0000)]
* shlib.conf (INIT_FINI_PREP): New variable. Default to a no-op, but let each
platform set setup routines to process initialization and finalization options
for the default MAKE_SHLIB_COMMAND value.
(case mips-sgi-irix*): Define LDCOMBINE_TAIL to use the library's export list.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16274
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 22:39:54 +0000 (22:39 +0000)]
update dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16273
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 22:38:30 +0000 (22:38 +0000)]
Handle the somewhat common fixed case of time value 0 more efficiently
* asn1_decode.c (asn1_decode_generaltime): If the input string is the magic
UNIX time zero, bypass all the arithmetic and return 0.
* asn1_encode.c (asn1_encode_generaltime): If the input time value is the UNIX
epoch, use a hardcoded string instead of doing the math.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16272
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 22:27:47 +0000 (22:27 +0000)]
* conv_creds.c (krb524_init_ets, krb524_convert_creds_kdc): Add forward declarations to silence gcc warnings
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16271
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 22:23:24 +0000 (22:23 +0000)]
update dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16270
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 22:20:55 +0000 (22:20 +0000)]
updated dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16269
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 21:09:44 +0000 (21:09 +0000)]
Added support for library initialization and finalization, and verification
that the initializer completed successfully. Delay initialization on POSIX
until the first "verification" call. Currently specific to a few platforms,
but should still build on others without thread support enabled.
Use it to finish creating (if necessary) and destroy mutexes, and free some
other storage "permanently" allocated by libraries (currently, libkrb5
cache/keytab type registries only). Change initialization of static mutexes to
a two-step operation, a static "partial" initializer and a "finish_init"
routine called from a thread-safe environment like library initialization is
assumed to be. POSIX will use the former, Windows will use the latter, and the
debug support will check that *both* have been used.
Added init/fini functions to com_err, profile, krb5, and gssapi libraries.
(The profile library one may need to be removed later.) The existing ones, not
thread-safe, are still around.
Use weak symbol support if available to figure out if the pthread library has
been linked in, and avoid calling certain routines if the C library stubs are
known not to exist or work.
Stub declarations for thread-specific data.
Minor bugfixes, whitespace changes.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16268
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 20:22:31 +0000 (20:22 +0000)]
* gssapi_krb5.c (kg_get_ccache_name): Don't test err while it's still known to
be 0.
(kg_set_ccache_name): Likewise. Return after an error rather than continuing.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16267
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 24 Apr 2004 04:44:02 +0000 (04:44 +0000)]
Start depending on perl for builds
* aclocal.m4 (KRB5_BUILD_LIBRARY_WITH_DEPS): Look for perl.
* config/pre.in (PERL): New variable.
* config/lib.in (lib$(LIB)$(SHLIBVEXT)): Use one perl invocation rather than
n+1 sed invocations.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16266
dc483132-0cff-0310-8789-
dd5450dbe970