2005-01-15 Jeffrey Altman * rc_dfl.c: Move the extraction of the struct dfl_data from the krb5_rcache after obtaining the lock, not before. 2004-08-03 Ken Raeburn * rc-int.h (struct _krb5_rc_ops): Add new member, recover_or_init. * 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. 2004-07-30 Ken Raeburn * 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. 2004-07-16 Ken Raeburn * rc_io.c: Don't check for macsock.h. 2004-06-22 Ken Raeburn * rc_io.c (krb5_rc_io_move, krb5_rc_io_sync): Don't test macintosh. 2004-06-15 Ken Raeburn * rc_io.c (dir, dirlen): Top-level variables deleted. (getdir): Now returns the pointer, doesn't set top-level variables. (GETDIR): Set local variables dir and dirlen using the function's return value. (krb5_rc_io_creat, krb5_rc_io_open_internal): Add the new local variables. 2004-06-02 Ken Raeburn * rc-int.h (struct krb5_rc_st, struct _krb5_rc_ops, krb5_rc_ops): Move type definitions here from k5-int.h. (krb5_rc_register_type, krb5_rc_dfl_ops): Move declarations here from k5-int.h. * rc_dfl.c, rcdef.c, rcfns.c: Include rc-int.h. 2004-05-27 Ezra Peisach * rc_base.c: Include rc-int.h * rc-int.h: Create file with prototypes for krb5int_rc_finish_init and krb5int_rc_terminate. 2004-05-24 Ezra Peisach * rc_io.c (krb5_rc_io_open_internal): If file could not be open, do not invoke close negative argument. 2004-05-03 Kenneth Raeburn * rc_dfl.c (krb5_rc_dfl_expunge_locked): Declare before use. 2004-04-30 Ken Raeburn * 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. 2004-04-24 Ken Raeburn * rc_base.c (rc_typelist_lock): Use new partial initializer. (krb5int_rc_finish_init): New function, finish the mutex initialization. (krb5int_rc_terminate): New function, destroy the mutex and free storage associated with registered types. 2004-03-05 Ken Raeburn * rc_base.c: Include k5-thread.h. (rc_typelist_lock): New mutex var. (krb5_rc_register_type, krb5_rc_resolve_type): Lock it while working with the type list. 2004-03-03 Ken Raeburn * rc_base.c: Delete unused and untested semaphore support. 2003-08-26 Ken Raeburn * rc_dfl.c (alive): Take a timestamp argument instead of the context, and don't check the current time here. All callers changed to pass in the current time. (rc_store): Take a timestamp argument. All callers changed to pass in the current time. 2003-07-17 Ken Raeburn * Makefile.in (LIBNAME) [##WIN16##]: Don't define. 2003-01-10 Ken Raeburn * Makefile.in: Add AC_SUBST_FILE marker for libobj_frag. 2003-01-07 Ken Raeburn * rc_base.c (struct krb5_rc_typelist): Field "ops" now points to const. (krb5_rc_register_type): Likewise for "ops" argument. * rcdef.c (krb5_rc_dfl_ops): Now const. * rc_dfl.h (krb5_rc_dfl_ops): Declaration deleted. 2002-09-05 Ken Raeburn * rc_io.c (krb5_rc_io_move): Missed a variable name change. 2002-09-03 Ken Raeburn * rc_base.c, rc_conv.c, rc_io.c, ser_rc.c: Use prototype style function definitions. * rc_io.c (errno): Don't declare. (krb5_rc_io_move): Avoid variable name "new". * rc_dfl.c (cmp, alive): Avoid variable name "new". 2002-08-29 Ken Raeburn * Makefile.in: Revert $(S)=>/ change, for Windows support. 2002-08-23 Ken Raeburn * Makefile.in: Change $(S)=>/ and $(U)=>.. globally. 2002-06-14 Miro Jurisic * rc_io.c, rc_dfl.c: use "" includes for krb5.h and k5-int.h [pullup from 1-2-2-branch] 2001-10-09 Ken Raeburn * rc_dfl.h, rc_io.h, ser_rc.c: Make prototypes unconditional. 2001-10-05 Ken Raeburn * rc_io.c: Drop _MSDOS support. * rcfns.c: Don't explicitly declare pointers FAR any more. 2001-10-03 Ken Raeburn * ser_rc.c: Don't use KRB5_DLLIMP. 2001-07-24 Ezra Peisach * rc_dfl.c (krb5_rc_io_fetch): Once length element read from cache, and verified to be positive, put into unsigned int variable for passing to other functions that expect such. 2001-07-04 Ezra Peisach * rc_io.c: Declare krb5_rc_io_open_internal static. 2001-06-21 Danilo Almeida * rc_io.c (krb5_rc_io_creat): Make cleanup code easier to read. (krb5_rc_io_open_internal): Include code previously in krb5_rc_open(). Add a new full pathname parameter so that a file can be opened by its full pathname. Make cleanup code easier to read. (krb5_rc_io_open): Call krb5_rc_io_open_internal(). (krb5_rc_io_move): Fix Windows implementation so that it works where it is used (only called by krb5_rc_dfl_expunge()). (krb5_rc_io_sync): Fix function header to comply with coding standard. Add implementation for Windows. (krb5_rc_io_close): Close file descriptor only if it is not -1. Set file descriptor to -1 if it is successfully closed. * rc_dfl.c (krb5_rc_dfl_close_no_free): Leave file descriptor check for krb5_rc_io_close(). (krb5_rc_dfl_expunge): Do better resource cleanup on error. 2001-06-20 Danilo Almeida * rc_dfl.c, rc_io.c: More compliance with coding standards: use ANSI function declarations, use curly braces to fix up #ifdef reindenting under Emacs, reindent code, strip trailing whitespace, wrap lines, fix commans. Not finished: fix indenting of curly braces in control structures. 2001-01-23 Tom Yu * rc_io.c (getdir): Subtract one from dirlen, since sizeof includes the terminating NUL character. Avoid redundant path separators. (krb5_rc_io_move): When renaming OLD to NEW, don't copy the filename. This was causing temporary files to get leaked. (krb5_rc_io_close): Don't FREE if d->fn is NULL. 2001-01-16 Ken Raeburn * rcfns.c: New file, with function versions of former dispatch macros from krb5.h. * Makefile.in (STLIBOBJS, OBJS, SRCS): Add it. 2000-09-21 Ezra Peisach * rc_io.h (struct krb5_rc_iostuff): Internal structure - change position in file from long to off_t (as argument for lseek). * rc_io.c (krb5_rc_io_read, krb5_rc_io_write): Unsigned vs signed warnings cleanup. * rc_dfl.c (alive): Do not shadow time() with variable named for same. * rc_base.c (krb5_rc_resolve_full): Cleanup unsigned vs. signed warnings. 2000-06-29 Ezra Peisach * rc_io.c (krb5_rc_io_creat): Cast getpid() to int. (Use of a long might overflow buffer if pid_t is 64 bits */ 2000-04-28 Nalin Dahyabhai * rc_io.c (getdir): Don't check dirlen again, the call sites always do. Fix dirlen calculation. 1999-10-26 Wilfredo Sanchez * Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES, LOCAL_INCLUDES such that one can override CFLAGS from the command line without losing CPP search patchs and defines. Some associated Makefile cleanup. 1999-09-21 Ken Raeburn * rc_dfl.c (krb5_rc_io_fetch): Set client and server fields to NULL after freeing them in the error case. Mon May 10 15:26:53 1999 Danilo Almeida * Makefile.in: Do win32 build in subdir. Tue Apr 6 16:10:44 1999 Theodore Y. Ts'o * rc_io.c (krb5_rc_io_move): Workaround the fact that Windows has really poor emulation of POSIX functions such as rename. (In fact, it has completely different semantics for this call!) Fix supplied by Tom Sanfilippo (txn# 2184 in krb5dev) 1998-11-13 Theodore Ts'o * Makefile.in: Set the myfulldir and mydir variables (which are relative to buildtop and thisconfigdir, respectively.) Fri Feb 27 18:03:33 1998 Theodore Ts'o * Makefile.in: Changed thisconfigdir to point at the lib/krb5 directory, since we've moved the configure.in tests in this directory to the toplevel lib/krb5 configure.in Wed Feb 18 16:25:34 1998 Tom Yu * Makefile.in: Remove trailing slash from thisconfigdir. Fix up BUILDTOP for new conventions. Mon Feb 2 17:01:50 1998 Theodore Ts'o * Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile Thu Sep 25 21:28:41 1997 Tom Yu * rc_io.c: Replace KRB5_USE_INET with something more sane. Tue Mar 25 01:15:39 1997 Theodore Y. Ts'o * rc_io.c (krb5_rc_io_open): rcache owner should be checked against the effective uid, not the real uid. [krb5-libs/366] Sat Feb 22 22:44:15 1997 Richard Basch * Makefile.in: Use some of the new library list build rules in win-post.in Thu Nov 21 11:55:16 EST 1996 Richard Basch * Makefile.in: win32 build * rc_dfl.c, rc_dfl.h: Win32/DLL calling conventions for rcache functions. (Most rcache routines are still not exported pending an API review). Thu Jan 2 17:21:44 1997 Tom Yu * Makefile.in: * configure.in: Update to new library build procedure. Mon Nov 18 15:25:51 1996 Theodore Y. Ts'o * rc_dfl.c: Apply jik's fix to allow the expunging of the replay cache to happen correctly. [174,132] Mon Jun 10 21:52:38 1996 Theodore Ts'o * rc_io.c: Change _WINDOWS to _MSDOS, and add check for _WIN32. Sat Feb 24 18:53:33 1996 Theodore Y. Ts'o * rc_io.c (krb5_rc_io_creat, krb5_rc_io_open): Use Windows path separator, if appropriate. Under Windows also use the environment variables TEMP and TMP for the replay cache. Fri Dec 1 17:07:24 1995 Theodore Y. Ts'o * rc_io.c (krb5_rc_io_creat): In case of permission problems, don't unlink the old replay cache; make it a hard (repeatable) error. This also reduces the chance we accidentally delete valuable data. Mon Nov 27 14:52:23 1995 Tom Yu * rc_dfl.c (krb5_rc_dfl_init): default lifespan to context->clockskew in case some app can't get at the internals of the context struct. Fri Oct 6 22:05:31 1995 Theodore Y. Ts'o * Makefile.in: Remove ##DOS!include of config/windows.in. config/windows.in is now included by wconfig. Mon Sep 25 16:58:40 1995 Theodore Y. Ts'o * Makefile.in: Removed "foo:: foo-$(WHAT)" lines from the Makefile. Wed Sep 6 12:00:00 1995 James Mattly * rc_io.c: turn off a call to fsync which MACINTOSH doesn't support Thu Aug 31 14:13:21 EDT 1995 Paul Park (pjpark@mit.edu) * rc_base.c - Set magic number in rcache structure after successfully resolving the replay cache. Tue Aug 29 14:19:54 EDT 1995 Paul Park (pjpark@mit.edu) * Makefile.in, .Sanitize, ser_rc.c - Add routines to serialize rcache. Fri Aug 4 22:07:46 1995 Tom Yu * rc_conv.c (krb5_auth_to_rep): Add parens to shut up gcc -Wall * rc_io.c: Add parens to shut up gcc -Wall * rc_dfl.c: Add parens to shut up gcc -Wall * rc_base.c: Add parens to shut up gcc -Wall Thu Jul 20 22:34:47 1995 Mark Eichin * rc_dfl.c (rc_store): rename from store() to avoid conflict with dbm function of same name (and different prototype.) Wed July 5 15:52:31 1995 James Mattly * rc_io.c added HAVE_MACSOCK_H, change open to THREEPARAMOPEN Fri Jun 9 19:34:38 1995 * configure.in: Remove standardized set of autoconf macros, which are now handled by CONFIG_RULES. Fri May 26 20:21:19 1995 Theodore Y. Ts'o (tytso@dcl) * configure.in, Makefile.in: Add support for building shared libraries. Tue May 23 16:30:29 1995 Theodore Y. Ts'o (tytso@dcl) * rc_io.c: Rearrange #include files so that krb5.h gets included first, so that the debugging information can be more efficiently collapsed since the type numbers will be the same. Mon May 1 23:10:26 1995 Theodore Y. Ts'o (tytso@dcl) * rc_dfl.c (krb5_rc_dfl_recover): Fix memory leaks in this function. The krb5_donot_replay structure was not being freed properly. Thu Apr 13 15:49:16 1995 Keith Vetter (keithv@fusion.com) * *.[ch]: removed unneeded INTERFACE from non-api functions. Fri Mar 31 16:44:34 1995 Theodore Y. Ts'o (tytso@dcl) * rc_dfl.c (krb5_rc_dfl_expunage): Close the old, temporary reply cache after we're done expunging it. * rc_io.c (krb5_rc_io_move): Make duplicate copies of the filename and the file descriptor (via malloc/strcpy and dup), so that the old rc_io object can be cleanly closed without affecting the new rc_io object. Fri Mar 17 20:27:41 1995 John Gilmore (gnu at toad.com) * Makefile.in (LDFLAGS): Eliminate duplicate of config/pre.in. Tue Mar 7 21:40:18 1995 Keith Vetter (keithv@fusion.com) * Makefile.in: changed library name for the PC. Tue Mar 7 19:54:32 1995 Mark Eichin * configure.in: take out ISODE_DEFS, ISODE_INCLUDE. Tue Mar 7 12:33:29 1995 Keith Vetter (keithv@fusion.com) * rc_io.c: moved the enabling defines for low-level io, e.g. read, write, lseek, etc., out of here and into k5-config.h. Thu Mar 2 11:55:00 1995 Keith Vetter (keithv@fusion.com) * rc_io.c: changed NEED_WINSOCK_H to NEED_SOCKETS Wed Mar 1 12:03:30 1995 Keith Vetter (keithv@fusion.com) * *.c, *.h Added windows INTERFACE keyword * Makefile.in: made to work on the PC. * rc_dfl.c: Some int/long changes for the PC * rc_io.c: hack to get Microsoft C in std-c mode to allow low-level i/o routines. Probably not a permanent solution but keep until we decide on a better method. * rc_io.h: added 2 missing prototypes * rc_dfl.h: added 2 missing prototypes Tue Feb 28 01:03:34 1995 John Gilmore (gnu at toad.com) * *.c: Avoid includes. Fri Jan 13 15:23:47 1995 Chris Provenzano (proven@mit.edu) * Added krb5_context to all krb5_routines Thu Dec 22 15:44:50 1994 Theodore Y. Ts'o (tytso@dcl) * configure.in: Add test for uid_t. Fri Oct 14 23:12:00 1994 Theodore Y. Ts'o (tytso@dcl) * configure.in: Add ISODE_DEFS rule. Mon Oct 3 19:32:59 1994 Theodore Y. Ts'o (tytso@dcl) * rc_def.c (krb5_rc_dfl_recover): krb5_rc_io_size was being called (still) with the wrong type argument. Should have been &t->d. Fri Sep 30 21:59:08 1994 Theodore Y. Ts'o (tytso@dcl) * rc_def.c (krb5_rc_dfl_ops): Add placeholder for magic number Thu Sep 29 22:11:20 1994 Theodore Y. Ts'o (tytso@dcl) * rc_dfl.c (krb5_rc_dfl_recover): krb5_rc_io_size was being called with the wrong type argument. I have no idea how it was Thu Sep 8 23:34:53 1994 Theodore Y. Ts'o (tytso@pinata) * rc_io.c: The variables dirlen and dir were declared global, and didn't need to be; changed to be static. Sat Aug 20 00:09:37 1994 Theodore Y. Ts'o (tytso at tsx-11) * rc_dfl.c (krb5_rc_dfl_expunge): name (t->name) was getting freed and we tried to use it. Clear t->name to stop it from being freed, and then free it later. Mon Jun 20 19:37:13 1994 Theodore Y. Ts'o (tytso at tsx-11) * rc_base.h: #include so that build works using imake.