Ken Raeburn [Mon, 18 Oct 2004 23:14:51 +0000 (23:14 +0000)]
Allow profile library caller to write the modified data to a different
file than was originally read.
* prof_file.c (write_data_to_file): New function, split out from
profile_flush_file_data. Add argument can_create indicating whether the old
file should already exist or not.
(profile_flush_file_data): Call it.
(profile_flush_file_data_to_file): New function.
* prof_int.h (profile_flush_file_data_to_file): Declare it.
(profile_flush_file_to_file): New macro.
* prof_init.c (profile_flush_to_file): New function.
* profile.hin (profile_flush_to_file): Declare.
* profile.swg (profile_flush_to_file): Declare.
* profile_tcl.c: Regenerated.
* prof_test1: Use profile_flush_to_file instead of profile_flush, and reload
from the new filename.
Ken Raeburn [Fri, 15 Oct 2004 23:58:17 +0000 (23:58 +0000)]
* prof_file.c, prof_int.h, prof_set.c: Remove support for non-SHARE_TREE_DATA
case.
* prof_int.h (struct _prf_data_t): Change filespec to a trailing char array.
Add a length field for the filespec.
(profile_make_prf_data): Declare.
(profile_lock_global, profile_unlock_global): Prototypes need argument lists.
* prof_file.c: Include stddef.h.
(scan_shared_trees_locked, scan_shared_trees_unlocked): New functions.
(r_access, rw_access): Now take const_profile_filespec_t arg.
(profile_make_prf_data): New function.
(profile_open_file): Scan trees at beginning and end. Use
profile_make_prf_data to allocate and initialize storage.
(profile_dereference_data, profile_free_file_data): Scan trees.
(profile_ser_size, profile_ser_externalize): Filespec is never null.
* prof_set.c (rw_setup): Use profile_make_prf_data to allocate and initialize
storage.
* prof_file.c (profile_library_initializer, profile_library_finalizer): Added macros to avoid adding error tables on platforms that don't use them (ie: OSX)
krb5_string_to_deltat should default to seconds if no unit is provided. If the format is invalid, it should return a distinct error (KRB5_DELTAT_BADFORMAT, not EINVAL)
Ken Raeburn [Wed, 6 Oct 2004 23:39:12 +0000 (23:39 +0000)]
* localaddr.c (foreach_localaddr): Be more careful not to walk past the end of
the ifreq array.
(get_ifreq_array): Return 0 in success case, not errno.
Ken Raeburn [Wed, 6 Oct 2004 01:10:09 +0000 (01:10 +0000)]
* aclocal.m4 (KRB5_AC_ENABLE_THREADS): On HP-UX, define some preprocessor
symbols that -pthread defines, but don't use -pthread so we can avoid forcing
linking against pthread libraries.
Ken Raeburn [Tue, 5 Oct 2004 21:24:01 +0000 (21:24 +0000)]
* localaddr.c (foreach_localaddr) [HAVE_STRUCT_IF_LADDRCONF && 0]: Fix
if_laddrreq.iflr_name field name not properly adjusted. The iflr_addr field is
an HP-UX specific sockaddr_ext with sa_ field name prefixes.
Ken Raeburn [Fri, 1 Oct 2004 23:44:49 +0000 (23:44 +0000)]
* localaddr.c (get_if_laddrconf, foreach_localaddr): New implementation for
HP-UX 11, based on Solaris support and information from Doug Engert. Disabled
for now, until it can be tested.
Ken Raeburn [Thu, 23 Sep 2004 23:26:25 +0000 (23:26 +0000)]
* prof_tree.c (struct profile_node): Add new bitfield DELETED.
(profile_add_node): Move variable CMP into inner block where it's used. Clear
deleted flag.
(profile_find_node): Skip deleted nodes.
(profile_remove_node): Just set the deleted flag, don't modify the tree.
* Makefile.in (profile_tcl.c): Target should be in srcdir.
(profile_tcl.o): Depend on profile.h.
(DO_TCL): New variable.
(check-unix-tcl-, check-unix-tcl-ok): New targets.
(check-unix): Depend on one of them, based on DO_TCL.
* configure.in: Set and substitute DO_TCL.
* prof_test1: New file.
Ken Raeburn [Thu, 23 Sep 2004 22:16:13 +0000 (22:16 +0000)]
* profile.swg: Only include tclsh.i if building for Tcl.
(Tcl_SetResult, my_tcl_setresult): Compile hack only if building for Tcl.
(%typemap SWIGTYPE *OUTPUT): Initialization is not specific to the scripting
language. Add Python code.
(%typemap errcode_t, errcode_t*): Add placeholders for Python support.
Ken Raeburn [Thu, 23 Sep 2004 00:25:30 +0000 (00:25 +0000)]
* lib.in (binutils.versions, osf1.exports): New file targets.
(clean-libs): Delete them.
* pre.in (SHLIB_EXPORT_FILE_DEP): Use @SHLIB_EXPORT_FILE_DEP@.
* shlib.conf: Set it to $(SHLIB_EXPORT_FILE) by default.
(alpha*-dec-osf*): Use osf1.exports instead of adding commands to generate a
temporary file.
(*-*-linux*, *-*-gnu*, *-*-k*bsd*-gnu): Use binutils.versions.
Ken Raeburn [Thu, 23 Sep 2004 00:21:34 +0000 (00:21 +0000)]
* aclocal.m4 (AC_KRB5_TCL_FIND_CONFIG): If the config info set by tclConfig.sh
doesn't produce a working executable, set TCL_LIBS to be empty explicitly.
(KRB5_BUILD_LIBRARY_WITH_DEPS): Substitute SHLIB_EXPORT_FILE_DEP.
Sam Hartman [Tue, 21 Sep 2004 20:39:19 +0000 (20:39 +0000)]
memory leak in arcfour string_to_key
Derrick Schommer reports that arcfour's string_to_key function leaks
memory. This is true; it copies the password to convert to utf16 and
never frees the copy. It does memset the copy to 0 when done.
Tom Yu [Fri, 17 Sep 2004 17:02:53 +0000 (17:02 +0000)]
* aclocal.m4 (AC_LIBRARY_NET): Look for res_search() prototype,
then for symbol in library, in case there's symbol renaming
happening in the headers. Clean up some style nits.
* kfw-fixed.nsi:
The version of MSIEXEC which ships with Windows 2000 does
not accept the /passive and /promptreboot command line
options. On Windows 2000 only, do not specify them.
Tom Yu [Tue, 14 Sep 2004 22:25:07 +0000 (22:25 +0000)]
* aclocal.m4 (AC_LIBRARY_NET): Require the BIND_8_COMPAT check
prior to looking for prototypes, as BIND 9 (at least on Panther)
turns off some prototypes and typedefs if BIND_8_COMPAT is
defined.
utils.nsi: Fix RestartRequired function to actually determine
if a restart is required
kfw-fixed.nsi:
- Add support for compiler version 1400
- Fix terminal server key deletions
- Delete leash32.exe on uninstall
- Correct the logic of the call of RestartRequired
Tom Yu [Fri, 10 Sep 2004 22:37:07 +0000 (22:37 +0000)]
* port-sockets.h: Remove _XOPEN_SOURCE_EXTENDED hack for netdb.h,
as it can cause inconsistencies between headers. It significantly
broke HP-UX 10.20 anyway.
* cc_mslsa.c: The following functionality is being committed
but commented out because it is not presently
available in public Microsoft SDKs
- support for KerbSubmitTicket which allows a KERB_CRED
message to be forwarded to the LSA. (KERB_SUBMIT_TICKET)
- support for the KerbQueryTicketCacheEx2Message which
adds the Session Key Enctype to the contents of the
response from KerbQueryTicketCacheExMessage.
(HAVE_CACHE_INFO_EX2)
* cc_mslsa.c:
- Fix MITPrincToMSPrinc to prevent writing to the output
buffer if the input won't fit.
- Add internal UnicodeStringToMITPrinc function
- Rename internal MSPrincToMITPrinc to ExternalNameToMITPrinc
- Rename internal PurgeMSTGT to PurgeAllTickets
- Add internal PurgeTicket2000
- Add internal PurgeTicketXP
- Since tickets can only be requested via KDC Opt Flags it is
not possible to specifically request the Initial ticket. If
more than one ticket exists which matching service names,
enctypes, and ticket flags the initial ticket flag may not be
set. If the caller requested the initial ticket, set the flag
manually.
- Add preliminary support for krb5_lcc_set_flags
- Modify krb5_lcc_initialize to return success
- Modify krb5_lcc_get_principal to support an LSA cache
which does not contain a TGT when krb5_lcc_resolve is
called.
- Implement krb5_lcc_remove_cred
Ken Raeburn [Sat, 28 Aug 2004 02:05:39 +0000 (02:05 +0000)]
* prof_parse.c (parse_std_line): Rewrite handling of whitespace in and after
tag, to strip trailing whitespace (per current locale, not just ASCII space
characters), and prohibit any internal space characters in tag names.
(This is not the patch supplied in the bug report; that patch changed the tag
handling to allow spaces in tag names, which we haven't previously allowed. On
the other hand, we haven't specifically disallowed internal tabs or other
whitespace, either, and this patch does so.)