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
Ken Raeburn [Fri, 23 Apr 2004 00:59:19 +0000 (00:59 +0000)]
* libupdate.sh: Deleted.
* Makefile.in (libupdate, makeshlib): Targets deleted.
(all-recurse): Don't depend on them.
(clean): Don't try to delete them.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16265
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 23 Apr 2004 00:46:26 +0000 (00:46 +0000)]
* makeshlib.conf: Deleted
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16264
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 23 Apr 2004 00:43:15 +0000 (00:43 +0000)]
Use more flexible command substitution for shared library generation, so we can
dump makeshlib.sh. Use the new saved export list files for AIX.
* aclocal.m4 (KRB5_BUILD_LIBRARY_WITH_DEPS): Substitute MAKE_SHLIB_COMMAND, not
LDCOMBINE and LDCOMBINE_TAIL.
* pre.in (DO_MAKE_SHLIB, SHLIB_STATIC_TARGET, LDCOMBINE, LDCOMBINE_TAIL):
Delete unused variables.
(SHLIB_EXPORT_FILE, SHLIB_EXPORT_FILE_DEP, MAKE_SHLIB_COMMAND): New variables.
* config/lib.in (lib$(LIB)$(SHLIBVEXT)): Set objlist to the list of object
files before invoking MAKE_SHLIB_COMMAND, instead of wrapping the list with
LDCOMBINE and LDCOMBINE_TAIL. Depend on SHLIB_EXPORT_FILE_DEP.
* config/shlib.conf: Set MAKE_SHLIB_COMMAND, using LDCOMBINE and LDCOMBINE_TAIL
in the common case.
(case *-*-aix*): Specify new commands, taken from makeshlib.sh, but assume the
export list is provided externally.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16263
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 23 Apr 2004 00:24:05 +0000 (00:24 +0000)]
Delete a couple of symbols that are only defined when krb4 is enabled,
and which are not directly used from outside the library.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16262
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 23 Apr 2004 00:13:12 +0000 (00:13 +0000)]
update dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16261
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 23 Apr 2004 00:08:55 +0000 (00:08 +0000)]
add newline at end of file
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16260
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 22 Apr 2004 23:55:57 +0000 (23:55 +0000)]
Add files containing the export lists used on UNIX, in each directory
where we build a shared library, whether or not it gets installed.
These should match the complete AIX export lists for a full build
including krb4 support, and will eventually be used on other UNIX
platforms, and cut down to just the symbols we actually want to
export.
We'll also have to add additional information, eventually, for
versioning and such, but currently this is just a list of C symbol
names.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16259
dc483132-0cff-0310-8789-
dd5450dbe970
Sam Hartman [Fri, 16 Apr 2004 19:10:24 +0000 (19:10 +0000)]
krb5_get_in_tkt ignores lifetime
John Hascall reports that the emulation of krb5_get_in_tkt is
incomplete and does not handle lifetimes set in the input credentials.
He provided a patch to fix this.
Ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16258
dc483132-0cff-0310-8789-
dd5450dbe970
Sam Hartman [Thu, 15 Apr 2004 17:57:34 +0000 (17:57 +0000)]
Fix memory leak when not sending to master KDC in
get_init_creds_password path.
Ticket: 2534
Tags: pullup
Target_Version: 1.3.4
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16255
dc483132-0cff-0310-8789-
dd5450dbe970
Alexandra Ellwood [Wed, 14 Apr 2004 22:34:02 +0000 (22:34 +0000)]
added krb5-config to targets
ticket: 2348
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16252
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Wed, 14 Apr 2004 14:14:03 +0000 (14:14 +0000)]
Changes to the NSIS installer for Windows to support KFW 2.6.1
Adds kvno.exe, gss-client.exe, and gss-server.exe to the distribution
Increments the version number of the installer
ticket: new
tags: pullup
target_version: 1.3.4
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16249
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Tue, 13 Apr 2004 21:37:33 +0000 (21:37 +0000)]
Since we must reserve the single letter prefixes on all platforms
anyway, make the mapping apply on all platforms
ticket: 2531
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16247
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Tue, 13 Apr 2004 20:08:40 +0000 (20:08 +0000)]
Treat keytab and ccache names without prefixes as type FILE:
on Windows if there is a drive letter found at the beginning
of the name.
ticket: new
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16246
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Tue, 13 Apr 2004 20:04:13 +0000 (20:04 +0000)]
* ccbase.c: the krb5_cc_resolve() function pointer ccresolver
must be of type KRB5_CALLCONV
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16245
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Tue, 13 Apr 2004 20:00:19 +0000 (20:00 +0000)]
* k5unseal.c: gss_krb5int_unseal_token_v3() takes a pointer to
krb5_context
* import_sec_context.c: krb5_gss_ser_init() contains a function
pointer table. this table must use pointers to functions of
type KRB5_CALLCONV.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16244
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 12 Apr 2004 14:50:23 +0000 (14:50 +0000)]
* configure.in: Remove tests for strsave, sys_errlist,
krb5_sigtype, setjmp, dirent, F_SETOWN. These are left over from
the split from appl/bsd.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16242
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Thu, 8 Apr 2004 20:49:27 +0000 (20:49 +0000)]
ktbase.c - restore the thread safety changes which were accidently
removed in revision 5.29
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16241
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Thu, 8 Apr 2004 07:52:27 +0000 (07:52 +0000)]
On Windows, a single letter followed by colon is used to identify
a drive. Therefore, do not assume that finding a colon in a string
indicates that we have found a keytab prefix label unless the length
of the potential prefix is not equal to one.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16240
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Tue, 6 Apr 2004 19:19:27 +0000 (19:19 +0000)]
Install kvno.exe on Windows
ticket: new
target_version: 1.4
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16236
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Tue, 6 Apr 2004 17:36:44 +0000 (17:36 +0000)]
* cc_mslsa.c:
In at least one case on Win2003 it appears that it is possible
for the logon session to be authenticated via NTLM and yet for
there to be Kerberos credentials obtained by the LSA on behalf
of the logged in user. Therefore, we are removing the test
for IsKerberosLogon() within krb5_lcc_resolve()
which was meant to avoid the need to perform GetMSTGT() when
there was no possibility of credentials being found.
ticket: new
tags: pullup
target_version: next
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16235
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:52:46 +0000 (01:52 +0000)]
* network.c (setup_a_tcp_listener): Try to turn the IPV6_V6ONLY socket option
on, not off, and do it before calling bind.
(setup_tcp_listener_ports): Don't do it here any more.
(setup_udp_port): Ignore AF_DLI addresses.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16234
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:45:46 +0000 (01:45 +0000)]
* server.c: Include string.h
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16233
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:43:36 +0000 (01:43 +0000)]
* lib/helpers.exp (expect_kadm_ok): Check for "ERROR" messages and report them
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16232
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:40:27 +0000 (01:40 +0000)]
* svc_auth_gssapi.c (destroy_client): Don't call purify_watch_n even if PURIFY
is defined.
(makes the monitoring much too noisy)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16231
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:37:56 +0000 (01:37 +0000)]
* t_kdb.c (add_principal): Delete unused argument 'rseed'.
(do_testing): Update callers.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16230
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:23:51 +0000 (01:23 +0000)]
* keytab.c (krb5_ktkdb_get_entry): Don't use local variable "context" until
after it's been set.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16229
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:21:07 +0000 (01:21 +0000)]
* btree/bt_seq.c: Include string.h
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16228
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Apr 2004 01:14:39 +0000 (01:14 +0000)]
* string2key.c: Replaced with a new implementation.
(Smaller and faster, at least on gcc for x86.)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16227
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 2 Apr 2004 22:49:06 +0000 (22:49 +0000)]
* k5-int.h (krb5int_prng_cleanup): Declare
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16226
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Wed, 31 Mar 2004 22:43:37 +0000 (22:43 +0000)]
update for krb5-1.3.3-beta2
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16221
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Wed, 31 Mar 2004 21:22:25 +0000 (21:22 +0000)]
Delay load the ADVAPI32.DLL and SECUR32.DLL libraries within KRB5_32.DLL
Then modify the MSLSA implementation to ensure that none of the APIs loaded
from those DLLs are executed on Windows platforms prior to Windows 2000.
This ensures that the DLLs will never be loaded enabling KRB5_32.DLL to
continue to be used on Windows 9x.
ticket: new
target_version: 1.3.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16217
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Wed, 31 Mar 2004 08:32:28 +0000 (08:32 +0000)]
2004-03-31 Jeffrey Altman <jaltman@mit.edu>
Add the KFW 2.6 NSIS installer scripts to the repository
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16216
dc483132-0cff-0310-8789-
dd5450dbe970
Sam Hartman [Fri, 26 Mar 2004 18:28:28 +0000 (18:28 +0000)]
Remove t_file.c as it is mostly redundant, does not build and cannot
be made to build because functions it depends on are now static.
Remove duplication between cc_file.c and fcc.h.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16215
dc483132-0cff-0310-8789-
dd5450dbe970
Sam Hartman [Fri, 26 Mar 2004 18:04:41 +0000 (18:04 +0000)]
krb5_fcc_generate_new should use mkstemp
Change krb5_fcc_generate_new to use mkstemp rather than mktemp.
Ticket: new
Status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16214
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 24 Mar 2004 01:42:54 +0000 (01:42 +0000)]
* aclocal.m4 (KRB5_LIB_AUX): Use default_shared and default_static from
shlib.conf to decide whether to build shared and static libraries by default.
Update messages to indicate shared libraries are the default for most platforms
now. Use AC_MSG_NOTICE and AC_MSG_WARN instead of AC_MSG_RESULT when there's
no "checking" message.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16213
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 24 Mar 2004 01:33:16 +0000 (01:33 +0000)]
* shlib.conf (default_static, default_shared): New variables to set
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16212
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 24 Mar 2004 01:12:15 +0000 (01:12 +0000)]
* aclocal.m4 (KRB5_AC_MAINTAINER_MODE, KRB5_AC_ENABLE_THREADS, KRB5_AC_INET6,
WITH_HESIOD, KRB5_LIB_AUX, KRB5_AC_CHOOSE_SS, KRB5_AC_CHOOSE_DB): Express
defaults more consistently with other configure output. Use AC_HELP_STRING.
Shorten up some messages, drop some options that are defaults and obvious
counterparts to other documented options.
* configure.in: Likewise.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16211
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Tue, 23 Mar 2004 22:29:54 +0000 (22:29 +0000)]
argh. this time for sure.
krb5-1.3.3-beta1
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16207
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Tue, 23 Mar 2004 22:20:17 +0000 (22:20 +0000)]
oops, save file first this time
krb5-1.3.3-beta1
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16206
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Tue, 23 Mar 2004 22:19:40 +0000 (22:19 +0000)]
krb5-1.3.3-beta1
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16205
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 22 Mar 2004 22:07:20 +0000 (22:07 +0000)]
* pbkdf2.c (hmac1): Make a local copy of the supplied keyblock structure, in
case we want to modify it.
ticket: 2453
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16202
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 22 Mar 2004 22:00:02 +0000 (22:00 +0000)]
* network.c (delete_fd): Free pointed-to data after removing it from the
connection set.
(kill_tcp_connection): Move delete_fd call to the end.
(accept_tcp_connection): Decrement connection counter again if we drop the
incoming connection for lack of buffer space.
ticket: 2384
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16201
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 22 Mar 2004 20:28:49 +0000 (20:28 +0000)]
* sendto_kdc.c (get_so_error): New function.
(service_tcp_fd): Call it for write fds as well as exception fds.
ticket: 2426
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16199
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 22 Mar 2004 05:01:43 +0000 (05:01 +0000)]
* sendto_kdc.c (krb5int_sendto): Initialize select_state.end_time
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16198
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 22 Mar 2004 05:00:13 +0000 (05:00 +0000)]
* t_crc.c (timetest): Free 'block' before returning.
(verify): Fix minor type error in call to gethexstr.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16197
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 21 Mar 2004 02:09:21 +0000 (02:09 +0000)]
* rel_cred.c (krb5_gss_release_cred): Create and destroy a local krb5 context.
* rel_name.c (krb5_gss_release_name): Likewise.
* val_cred.c (krb5_gss_validate_cred): Likewise.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16196
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 21 Mar 2004 01:56:39 +0000 (01:56 +0000)]
One less kg_get_context call..
* ovsec_kadmd.c (main): Use any handy krb5 context to register the KDB keytab
type, we don't need to pluck it out of the GSSAPI krb5 mechanism.
(gctx): Variable deleted.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16195
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 19 Mar 2004 23:27:46 +0000 (23:27 +0000)]
log for export/import_name changes I accidentally checked in with another change
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16194
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 19 Mar 2004 23:26:11 +0000 (23:26 +0000)]
back out a change I didn't mean to check in
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16193
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 19 Mar 2004 23:25:17 +0000 (23:25 +0000)]
acquire_cred.c: revert previous change, it breaks the test suite
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16192
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 19 Mar 2004 09:33:57 +0000 (09:33 +0000)]
* acquire_cred.c (krb5_gss_acquire_cred): Create and destroy a local krb5
context.
* add_cred.c (krb5_gss_add_cred): Likewise.
* compare_name.c (krb5_gss_compare_name): Likewise.
* copy_ccache.c (gss_krb5_copy_ccache): Likewise.
* disp_name.c (krb5_gss_display_name): Likewise.
* duplicate_name.c (krb5_gss_duplicate_name): Likewise.
* inq_cred.c (krb5_gss_inquire_cred): Likewise.
* context_time.c (krb5_gss_context_time): Use the krb5 context in the GSS
security context.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16187
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Fri, 19 Mar 2004 07:25:08 +0000 (07:25 +0000)]
Return ERROR_FCC_NOFILE when the principal cannot be determined during
calls to krb5_lcc_resolve()
ticket: 2430
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16186
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Fri, 19 Mar 2004 06:56:43 +0000 (06:56 +0000)]
* cc_mslsa.c:
Add missing return statements in krb5_lcc_start_seq_get()
* cc-int.h:
New file - Add prototypes for cc internal functions
* cc_retr.c - include cc-int.h
ticket: new
target_version: 1.3.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16185
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Thu, 18 Mar 2004 16:49:33 +0000 (16:49 +0000)]
krb5_sendto_kdc passing improper argument to krb5_locate_kdc
* sendto_kdc.c (krb5_sendto_kdc): Change passing pointer to value of
use_master parameter to krb5_locate_kdc.
Error was introduced in 2/26 code change.
ticket: new
tags: pullup
target_version: next
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16184
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 18 Mar 2004 03:07:22 +0000 (03:07 +0000)]
Thread-safe manipulation of registered error-table list
* error_message.c: Include k5-thread.h.
(_et_list): Now always static.
(et_list_lock): New mutex.
(error_message): Lock it while manipulating the table lists.
(add_error_table, remove_error_table): Likewise.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16183
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 18 Mar 2004 02:59:17 +0000 (02:59 +0000)]
* aclocal.m4: Include acx_pthread.m4.
(KRB5_AC_ENABLE_THREADS): New macro.
(CONFIG_RULES): Invoke it. Use AC_REQUIRE to get topdir set early.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16182
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 18 Mar 2004 02:55:48 +0000 (02:55 +0000)]
* ac-archive: New directory.
* ac-archive/README: New file.
* ac-archive/acx_pthread.m4: New file, data taken from autoconf macro archive
at sourceforge.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16181
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 18 Mar 2004 02:16:06 +0000 (02:16 +0000)]
* derive.c (krb5_random2key): Don't compile.
* dk.h (krb5_derive_random): Declare.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16180
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 18 Mar 2004 02:09:40 +0000 (02:09 +0000)]
* prng.c (krb5int_prng_cleanup): Renamed from prng_cleanup.
* crypto_libinit.c: Include k5-int.h.
(cryptoint_cleanup_library): Updated call.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16179
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 18 Mar 2004 02:03:15 +0000 (02:03 +0000)]
* error.c (ss_error): Always use ANSI C form. Don't try to hide the
declaration in the header file.
* ss.h: Always use the prototype forms of declarations.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16178
dc483132-0cff-0310-8789-
dd5450dbe970
Sam Hartman [Mon, 15 Mar 2004 20:06:29 +0000 (20:06 +0000)]
Free unparsed names in SAM response handling
Ticket: 2219
Status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16173
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 15 Mar 2004 17:45:01 +0000 (17:45 +0000)]
* k5seal.c (kg_seal): Extract the krb5 context from the security context
instead of requiring it be passed in as an argument.
* k5unseal.c (kg_unseal): Likewise.
* gssapiP_krb5.h (kg_seal, kg_unseal): Declarations updated.
* delete_sec_context.c, process_context_token.c, seal.c, sign.c, unseal.c,
verify.c: Callers changed.
* inq_context.c (krb5_gss_inquire_context): Use krb5 context contained in
security context instead of calling kg_get_context.
* wrap_size_limit.c (krb5_gss_wrap_size_limit): Likewise.
* import_sec_context.c (krb5_gss_ser_init): New function.
(krb5_gss_import_sec_context): Create a krb5 context locally to use for the
import.
* export_sec_context.c (krb5_gss_export_sec_context): Use the krb5 context in
the security context.
* gssapiP_krb5.h (krb5_gss_ser_init): Declare.
* gssapi_krb5.c (kg_get_context): Don't call krb5 serialization initialization
code here.
* accept_sec_context.c (krb5_gss_accept_sec_context): Free the new krb5 context
in an error case not caught before.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16171
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 15 Mar 2004 02:05:11 +0000 (02:05 +0000)]
* gssapiP_krb5.h (struct _krb5_gss_ctx_id_rec): Add a krb5 context object.
* init_sec_context.c (krb5_gss_init_sec_context): Create a new krb5 context,
and store it in the security context if successful. If there's already a
security context, use the krb5 context in it.
* accept_sec_context.c (krb5_gss_accept_sec_context): Create a new krb5
context, and store it in the security context if successful.
* delete_sec_context.c (krb5_gss_delete_sec_context): If the security context
has a krb5 context, free it.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16170
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 15 Mar 2004 01:36:42 +0000 (01:36 +0000)]
Set new variable portbase to supplied $PORTBASE or a default.
Use it to compute all port numbers.
This should help reduce conflicts between multiple simultaneous test
runs, if they supply different $PORTBASE values.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16169
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 14 Mar 2004 08:14:51 +0000 (08:14 +0000)]
* gssapiP_krb5.h (struct _krb5_gss_ctx_id_rec): Delete fields init_token and
testing_unknown_tokid.
* init_sec_context.c (new_connection): Drop support (already inside "#if 0")
for them.
(krb5_gss_init_sec_context): Drop support for testing_unknown_tokid.
(mutual_auth): Don't let major_status be used uninitialized.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16168
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 14 Mar 2004 07:08:40 +0000 (07:08 +0000)]
Add a mutex to protect the set manipulations
* gssapiP_generic.h: Include k5-thread.h.
(g_set): Add a mutex.
(G_SET_INIT): Initialize it.
* util_validate.c (g_save, g_validate, g_delete): Lock the mutex while working
on the set. (BDB version untested.)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16167
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 14 Mar 2004 06:47:13 +0000 (06:47 +0000)]
Make the set type separate from the set-element (linked list node) type
* generic/gssapiP_generic.h (g_set): New struct type.
(G_SET_INIT): New macro.
* generic/util_validate.c (g_save, g_validate, g_delete): Change first argument
to take a g_set * rather than void **; use the address of the void pointer from
the structure.
(g_save_name, g_save_cred_id, g_save_ctx_id, g_validate_name,
g_validate_cred_id, g_validate_ctx_id, g_delete_name, g_delete_cred_id,
g_delete_ctx_id): Updated first argument type.
* genericgssapiP_generic.h: Declarations updated.
* krb5/gssapi_krb5.c (kg_vdb): Change type to g_set and initialize.
* krb5/gssapiP_krb5.h (kg_vdb): Declaration updated.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16166
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 14 Mar 2004 05:31:43 +0000 (05:31 +0000)]
* gssapiP_generic.h (struct _g_set_elt, g_set_elt): Renamed from non-_elt
versions.
* util_set.c, util_validate.c: Uses updated.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16165
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 14 Mar 2004 05:10:06 +0000 (05:10 +0000)]
Make sure autoconf.h is updated early, since it's needed by the thread support
* Makefile.in (update-autoconf-h): New target. Checks that
include/krb5/autoconf.h is current.
(all-prerecurse): Depend on it.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16164
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 14 Mar 2004 04:27:08 +0000 (04:27 +0000)]
Change profile code over to new thread macros, and enable data sharing always
* prof_int.h: Include k5-thread.h. Don't include sys/types.h and pthread.h.
(SHARE_TREE_DATA): Always define.
(USE_PTHREADS): Don't define.
(prof_mutex_lock, prof_mutex_unlock): Deleted.
(struct global_shared_profile_data): Change mutex to use k5_mutex_t instead of
pthread_mutex_t.
(g_shared_trees_mutex): Don't conditionalize on USE_PTHREADS.
* prof_file.c (krb5int_profile_shared_data): Initialize mutex.
(profile_open_file, profile_dereference_data): Use new mutex macros. Check
return status when locking. Fix a potential memory leak in an error case.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16163
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Hornstein [Tue, 9 Mar 2004 19:21:53 +0000 (19:21 +0000)]
Fix missing case for get_init_creds API change
Fix a case I missed in my original patch for the krb5_get_init_creds API change.
ticket: new
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16162
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 8 Mar 2004 09:00:17 +0000 (09:00 +0000)]
* pre.in (top_srcdir): Define, set by configure
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16161
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 8 Mar 2004 07:58:17 +0000 (07:58 +0000)]
* prof_get.c (profile_parse_boolean): Declare first argument as
const char *.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16160
dc483132-0cff-0310-8789-
dd5450dbe970
Ezra Peisach [Mon, 8 Mar 2004 07:38:35 +0000 (07:38 +0000)]
Missing prototype for gss_krb5int_unseal_token_v3
gssapiP_krb5.h: Add prototype for gss_krb5int_unseal_token_v3.
ticket: new
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16159
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 8 Mar 2004 07:20:55 +0000 (07:20 +0000)]
Change subdir processing so that SUBDIRS will contain the configured
subdirs only for the makefile in the directory with the configure
script, and will have only $(LOCAL_SUBDIRS) elsewhere. Drop the use
of "MY_SUBDIRS=." to override SUBDIRS in favor of this way of keeping
SUBDIRS empty. Drop other uses of MY_SUBDIRS in favor of
LOCAL_SUBDIRS or (in one case, the top level) overriding the SUBDIRS
setting from pre.in.
One less thing to keep tweaking as configure scripts get reorganized
and merged.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16158
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 8 Mar 2004 05:52:51 +0000 (05:52 +0000)]
note, in comments, some per-directory variables autoconf sets
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16157
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Mon, 8 Mar 2004 04:06:32 +0000 (04:06 +0000)]
* aclocal.m4 (AC_KRB5_TCL_FIND_CONFIG): Look for tclConfig.sh in
the specified directory if it's not in a "lib" subdirectory.
(AC_KRB5_TCL): If no pathname is supplied and tclConfig.sh isn't
found in /usr/lib, try running a script under tclsh to see if it
can supply the pathname for tclConfig.sh.
This allows the configure script to find /System/Library/Tcl/8.3/tclConfig.sh
on Jaguar.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16156
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 7 Mar 2004 09:26:48 +0000 (09:26 +0000)]
* configure.in: Move test for setupterm back down below addition of
termcap/curses libraries.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16155
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 6 Mar 2004 03:17:53 +0000 (03:17 +0000)]
make depend
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16154
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 6 Mar 2004 03:16:02 +0000 (03:16 +0000)]
For keytab, ccache, and rcache type registries, use const more, and
use a mutex to protect manipulation of the lists.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16153
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 6 Mar 2004 02:19:35 +0000 (02:19 +0000)]
fix debug initializer and copyright
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16152
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 6 Mar 2004 01:50:12 +0000 (01:50 +0000)]
* reconf: Delete autom4te.cache directories after running autoreconf
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16151
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 6 Mar 2004 00:54:48 +0000 (00:54 +0000)]
* lock_file.c (krb5_lock_file): Initialize flock data on entry, but don't
bother with a static version to copy from.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16150
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 6 Mar 2004 00:45:33 +0000 (00:45 +0000)]
Use more const data in the keytab type registry
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16149
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 6 Mar 2004 00:28:03 +0000 (00:28 +0000)]
* k5-thread.h: New file
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16148
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 5 Mar 2004 21:13:22 +0000 (21:13 +0000)]
Merge configuration of kdc, krb524, and slave directories into top
level configure script.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16147
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 4 Mar 2004 11:21:28 +0000 (11:21 +0000)]
* configure.in: Don't invoke macros for library build support. Don't look for awk
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16146
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 4 Mar 2004 10:55:00 +0000 (10:55 +0000)]
* configure.in: Don't check for --enable-athena and don't define ATHENA_DES3_KLUDGE
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16145
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Thu, 4 Mar 2004 10:25:12 +0000 (10:25 +0000)]
Configure telnet using one script instead of four
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16144
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 3 Mar 2004 08:14:26 +0000 (08:14 +0000)]
fix typo
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16143
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 3 Mar 2004 08:13:20 +0000 (08:13 +0000)]
don't get a krb5_context for the routines that don't need it
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16142
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 3 Mar 2004 05:54:53 +0000 (05:54 +0000)]
minor formatting, mostly whitespace
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16141
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Wed, 3 Mar 2004 05:48:40 +0000 (05:48 +0000)]
* rc_base.c: Delete unused and untested semaphore support
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16140
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 28 Feb 2004 00:35:01 +0000 (00:35 +0000)]
* gic_pwd.c (krb5_get_in_tkt_with_password): Fix a case Jeff missed
ticket: 2296
version_fixed:
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16139
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Fri, 27 Feb 2004 21:48:32 +0000 (21:48 +0000)]
* lib/helpers.exp (expect_kadm_ok): Check for eof and report a specific error
for that case.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16138
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Fri, 27 Feb 2004 05:24:39 +0000 (05:24 +0000)]
As discussed on the krbdev mailing list, krb5_get_init_creds_password()
suffered from a behavior in which it would unintentionally query a master
KDC twice if in fact the KDC queried when krb5int_sendto() was called
with use_master = 0 was in fact the master. This resulted in more than
an additional protocol operation. There were two negative side effects.
First, in the case of an incorrect password there would be two counts
against the max retry attempts. Second, in the case of hardware pre-auth
and an expired password, the user would be asked to enter their expired
password twice before being told it was expired.
This has been fixed by changing the use_master parameter into an in/out
parameter and modifying krb5int_sendto() to indicate which KDC it received
the response from. This allows the use_master parameter to be set to
indicate whether or not the response came from a master KDC regardless
of whether a master KDC was requested.
ticket: new
target_version: next
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16137
dc483132-0cff-0310-8789-
dd5450dbe970
Jeffrey Altman [Fri, 27 Feb 2004 05:04:59 +0000 (05:04 +0000)]
* gss-client.c: change if (this) if (that) => if (this && that)
ticket: new
target_version: next
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16136
dc483132-0cff-0310-8789-
dd5450dbe970