Fri May 23 22:28:58 1997  Mark Eichin  <eichin@cygnus.com>

	* greeter/greet.c (ReGreetDone): GreetDone using with redone flag
 	instead of done flag.
	(ReGreet): create a temporary regreeter/relogin.  Don't add a new
 	GreetPingServer, the one on the non-destroyed primary will
 	suffice.
	(greeter_prompter): nuke the regreeter within the prompt loop and
 	loop on redone instead.
	(GreetUser): unmap/remap the old toplevel around the VerifyK5
 	call, to allow old "failedlogin" semantics.

Fri May 23 21:05:20 1997  Mark Eichin  <eichin@cygnus.com>

	* greeter/greet.c (ReGreet): use GET_NAME_ONLY state for
	non-hidden queries.
	(struct greeter_xstuff): ditch state field, the model doesn't
	provide ordering.
	(greeter_prompter): ditch state.
	(VerifyK5): pass the initial password directly to
	krb5_get_init_creds_password.

	* greeter/Login.h, greeter/LoginP.h (GET_NAME_ONLY): define
	another state which doesn't prompt for a password.

	* greeter/Login.c (realizeCursor, DeleteBackwardChar,
	DeleteForwardChar, MoveForwardChar, MoveToEnd, EraseToEndOfLine,
	InsertChar): add GET_NAME_ONLY state as synonym for GET_NAME.
	(FinishField): except here, where it matches GET_PASSWD (to avoid
	second prompt.)
	(Initialize): Make widget width depend on prompt width as well as
	greeting, and give more padding room for longer responses.

Fri May 23 13:38:18 1997  Mark Eichin  <eichin@cygnus.com>

	* greeter/Login.c (draw_it): re-enable "R3-compat" branch of code,
	since only part of it was for compatibility, the rest was a real
	feature (grabbing input focus during the initial dialog.)

Thu May 15 17:05:10 1997  Mark Eichin  <eichin@cygnus.com>

	* greeter/greet.c (VerifyK5): use krb5_verify_init_creds to check
	creds against local keytab.
	(VerifyK5): free kcontext in error branch too.

	* session.c (StartClient): copy "extra" creds picked up by verify
 	into user's cache as well (mostly for diagnostics.)

Wed May 14 23:26:49 1997  Mark Eichin  <eichin@cygnus.com>

	* session.c (ManageSession): if the client (Xsession script)
	exits, call CheckSessionProperty to see if this is the SGI case.

	* server.c (CheckSessionProperty): new function, looks for
 	_SGI_SESSION_PROPERTY on root window, and if it finds it, hangs
 	around until it goes away.

Wed Apr 23 16:45:44 1997  Ken Raeburn  <raeburn@cygnus.com>

	* sessreg.c (SYSV, NO_LASTLOG): Define these if setutent is
	present, and struct utmp includes ut_pid and ut_type.
	(WTMP_FILE, UTMP_FILE): Set from _PATH_* versions, then fall back
	to SunOS values.
	(set_utmp): Clear entire structure before filling in fields.
	* configure.in: Use CHECK_UTMP.

	* config/GiveConsole, config/TakeConsole: Replaced by...
	* config/GiveConsole.in, config/TakeConsole.in: New versions.  Run
	sessreg to add/remove utmp and wtmp entries.
	* config/Makefile.in (GiveConsole, TakeConsole): New rules.  Do
	sed substitution for pathname of Xservers file.
	(all): Include them.
	(install): Install them from build tree.

Fri Mar 28 16:07:36 1997  Mark W. Eichin  <eichin@cygnus.com>

	* greeter/greet.c (CloseGreet): don't use toplevel widget after
	destroying it.

Thu Mar 27 16:26:42 1997  Mark W. Eichin  <eichin@cygnus.com>

	* greeter/greet.c (greeter_prompter): strip out dead code.

Wed Mar 26 21:12:24 1997  Mark W. Eichin  <eichin@cygnus.com>

	* greeter/greet.c (ReGreet): new function, handles popups for
	secondary questions more reliably.
	(greeter_prompter): use ReGreet, loop over prompts.  Don't trash
	banner.
	* greeter/Login.c: expose "state" to callers, to let them force
	password-first prompting.  Cleaner approach needed.

Mon Mar 24 16:53:44 1997  Mark Eichin  <eichin@cygnus.com>

	* greeter/greet.c (VerifyK5): make user's principal name global...
	* session.c (StartClient): and use it to initialize the ccache.

Thu Mar 20 16:42:09 1997  Mark Eichin  <eichin@cygnus.com>

	* testgreet.c: manual testing harness for greeter.
	* Makefile.in: build testgreet.
	* session.c (StartClient): stash the creds.
	* greeter/Login.c (draw_it): take out R3-compat code that makes
	debugging hard.
	* greeter/greet.c (InitGreet): don't SecureDisplay if debugLevel
	is 42 (for testgreet.)
	(greeter_prompter): prompter for additional questions.
	(first_prompter): test code.
	(userEnv, groupMember, getGroups): stolen from verify.c to support
	VerifyK5.
	(VerifyK5): hacked version of Verify to get creds.  Should move to
	verify.c.
	(K5Login): old version of Greet().
	(GreetUser): call VerifyK5 instead.

Wed Feb 12 03:17:02 1997  Chris Provenzano  <proven@cygnus.com>
 
        * krb5auth.c: Added Krb5Version() which prints krb5_version and exits.
	* dm.c: Added an option --version which calls Krb5Version().

Sat Dec  7 05:44:12 1996  Chris Provenzano  <proven@cygnus.com>

	* genauth.c, configure.in: Have configure test if gettimeofday()
	has one are or two and DTRT in genauth.c

Wed Nov  6 18:26:14 1996  Mark Eichin  <eichin@cygnus.com>

	* configure.in: don't use AC_FUNC_WAIT3 because it tests that
	rusage actually gets set -- HP/UX 9 doesn't set it, but xdm
	doesn't use it, and without wait3 we can't do xdmcp.

Thu Sep 26 14:43:17 1996  Chris Provenzano  <proven@cygnus.com>

        * Makefile.in: Changes to allow to different packaging
        Currently there is pkg-all, pkg-server, and pkg-client

Tue Sep 17 22:32:27 1996  Ken Raeburn  <raeburn@cygnus.com>

	* greeter/verify.c (Verify): If Kerberos authentication failed,
	but we're logging the user in, log a warning.

	* config/Xsession: If /etc/environment and/or /etc/TIMEZONE are
	found, run them, in the non-failsafe case.

Wed Sep  4 17:28:16 1996  Ken Raeburn  <raeburn@cygnus.com>

	* Makefile.in (KLIB, DEPKLIB): Deleted.
	(xdm): Depend on DEPLIBS instead of DEPKLIB; build without KLIB,
	since it's subsumed by LIBS.

	* config/Makefile.in (Xservers.ws): Use @XSERVER@ for substitution
	instead of @BINDIR@, since the former is more accurate and the
	latter wasn't getting substituted anyways.

Tue Sep  3 22:50:16 1996  Mark Eichin  <eichin@cygnus.com>

	* sessreg.c (WTMP_FILE): set default to match what configure.in
	was supplying.

	* configure.in (UTMP_FILE, WTMP_FILE): don't set here, avoid
	collision with vendor headers.
	(LLOG_FILE): /usr/admin/lastlog could never have been correct.

Fri Aug 30 23:37:56 1996  Ken Raeburn  <raeburn@cygnus.com>

	* Makefile.in (make-krb5-link): Renamed from krb5, now uses a
	stamp file.

Sun Aug 18 01:08:23 1996  Ken Raeburn  <raeburn@cygnus.com>

	* configure.in: Use KRB5_LIBRARIES.
	* Makefile.in (KLIB): Just use $(LIBS).

Tue Aug  6 21:11:30 1996  Ken Raeburn  <raeburn@cygnus.com>

	* configure.in: Cache values from imake separately, not as one big
	value.  Put DEF_AUTH_DIR under $prefix, not $x_libraries.

Mon Jul 15 13:47:43 1996  Ken Raeburn  <raeburn@cygnus.com>

	* configure.in: Don't use "echo -n".

Wed Jul 10 16:06:24 1996   Chris Provenzano   <proven@cygnus.com>

	* configure.in: Just assume there is an X11 library. If it doesn't
	exist other tests are going to fail and xdm won't build, but it's
	the only way to get arround stupid Solaris tricks.

Mon Jul  8 16:41:07 1996  Ken Raeburn  <raeburn@cygnus.com>

	* configure.in: Change test of X compilation environment to warn
	only.  It was too strict for our Solaris environment.  Also fix up
	output in success cases.  Don't set CONN_FLAGS in that test.
	Also, cache results from imake and variable-extraction tests.

Sat Jul  6 13:50:56 1996  Chris Provenzano   <proven@cygnus.com>

	* aclocal.m4 : Ken's fix for AC_XLIB. Use all currently found libraries
	to help resolve any symbols for the new library AC_XLIB is
	checking for.
	* configure.in : Reorder AC_XLIB check to take into account new rule.

Wed Jun 26 22:23:26 1996  Ken Raeburn  <raeburn@cygnus.com>

	* configure.in: Check for "setpcred" in "-ls", for AIX 3.

	* README.conf: New file.

	* configure.in: Delete EXCLIBS stuff.
	* Makefile.in (XTRACLIBS): Delete.
	(xdm, clogin): Don't use XTRACLIBS.

	* Makefile.in (XDMLIBS1): Remove some whitespace.

	* configure.in: If X program can't be compiled, mention the
	compiler in the error message; try both build compiler and
	xmkmf-selected compiler.  Use AC_REQUIRE for AC_C_CONST.  Check
	for AIX "-lodm -ls -lcfg" just as login does.

	* aclocal.m4 (AC_XLIB): New implementation.  Don't bother with
	pathnames, just check for the libraries and produce "-l" options.
	Should eventually replace all uses with AC_CHECK_LIB.

Wed Jun 12 21:09:26 1996  Michael Graff  <explorer@flame.org>

	* include -lcrypt if found, for NetBSD, FreeBSD, etc.

	* Protect ``extern char *sys_errlist[];'' with
	#ifdef NEED_SYS_ERRLIST and use DECLARE_SYS_ERRLIST in configure.in
	to check for and set this.

Sat Mar 30 17:56:03 1996  Ken Raeburn  <raeburn@cygnus.com>

	* dm.c (HaveUnmanagedDisplays, ShuttingDown): New variables.
	(main): Clear HaveUnmanagedDisplays when rescanning config files.
	Continue wait loop if unmanaged displays exist, even if no managed
	displays do, unless shutting down.
	(StopAll): Set ShuttingDown.

Fri Mar 29 03:54:37 1996  Ken Raeburn  <raeburn@cygnus.com>

	* xdm-restart.c: New program.
	* Makefile.in: Build and install it.

Thu Mar 28 18:10:32 1996  Ken Raeburn  <raeburn@cygnus.com>

	* Makefile.in (config.h): Depend on config.h.in.

Wed Mar 27 01:09:26 1996  Ken Raeburn  <raeburn@cygnus.com>

	* Makefile.in (all): Continue building sessreg and xdmshell for
	now.

Mon Mar 25 00:50:00 1996  Ken Raeburn  <raeburn@cygnus.com>

	* file.c (ParseDisplay): Don't crash when debugging if display
	class is null.

	* krb5auth.c (Krb5Init): Set FORWARDABLE option.

	* configure.in: Use AC_PATH_XTRA.  Figure out imake by using xmkmf
	to print $(IMAKE_CMD).  Print messages when running xmkmf/imake.
	Extract DefaultUserPath, DefaultSystemPath, and BINDIR from imake
	configuration and use them in setting xdm config variables; splice
	krb5 bindir into path.  Use AC_PATH_PROG to find X programs.  Warn
	if X BINDIR doesn't yield an xterm, and use the location of xterm
	instead.  Don't substitute krb5_x_libraries, x_includes,
	x_libraries.
	* Makefile.in (LDLIBS): Use @X_LIBS@.
	(XDMLIBS1): Split out from XDMLIBS.
	(CLOGIN_OBJS, clogin): New variable and target; wishful thinking.
	(greeter-all): Fix typo in dependencies.
	(config-all): New target.
	(all): Depend on it.  Don't build sessreg or xdmshell for now.
	(install): Do install in config again.

Sun Mar 24 22:57:23 1996  Ken Raeburn  <raeburn@cygnus.com>

	* krb5auth.c (Krb5Init): Punt preauth stuff for now; pass null
	pointer.

	* session.c (SessionExit): Don't call krb5_cc_close after
	calling krb5_cc_destroy.

Sat Mar 23 14:36:18 1996  CJ Smith  <cj@cujo.cygnus.com>

	* config/Makefile.in (xdm-config): Use XDMDIR make variable
	instead of @XDMDIR@.

Tue Mar 19 21:20:17 1996  Ken Raeburn  <raeburn@cygnus.com>

	* aclocal.m4 (AC_XLIB): If $x_libraries is empty, use /usr/lib.
	* configure.in: Set krb5_x_libraries to $x_libraries or /usr/lib.
	Substitute it in Makefile.in.
	* Makefile.in (LDLIBS): Use it.
	(krb5): New target.  Create a symlink so <krb5/krb5.h> works.
	(greeter-all, XDM_OBJS): Depend on it.

Sun Mar 10 00:35:23 1996  Mark W. Eichin  <eichin@cygnus.com>

	* Makefile.in (install): disable config install until config is
	actually compiled.

Mon Mar  4 16:37:30 1996  Ken Raeburn  <raeburn@cygnus.com>

	* verify.c (Verify) [K5AUTH]: Try getting Kerberos tickets as
	verification mechanism.

	* krb5auth.c (Krb5Init): Reject zero-length passwords, since the
	Kerberos library (as it is currently) will attempt to prompt for
	another password on the controlling terminal(!).

	* configure.in: If getspnam is available, define USESHADOW.

	* krb5auth.c (Krb5CCacheName): Revert to old XC code, choosing a
	name based on display name instead of letting the library pick one
	based solely on uid.
	(Krb5Init): Use Krb5CCacheName and krb5_cc_resolve instead of
	krb5_cc_default.  Fix error messages appropriately.

	* Makefile.in (xdm): Depend on GREETER_OBJS directly.
	(GREETER_OBJS): Depend on new target greeter-all.
	(greeter-all): Build all in greeter subdirectory.
	(greeter-objs): Target removed.
	(install): Make install in subdirectories.

	* krb5auth.c (Krb5InitDone): New variable.
	* session.c (StartClient): If Krb5InitDone is non-negative, use
	its value instead of calling Krb5Init.

	* krb5auth.c (Krb5DisplayCCache): Pass back context pointer.

Tue Feb 27 19:59:38 1996  Ken Raeburn  <raeburn@cygnus.com>

	* xdmshell.c: Include unistd.h if available.
	(BINDIR): Don't default.
	(main): Use KBINDIR for xdm binary.

	* configure.in: Maybe define SignalReturnsInt.  Complain if xmkmf
	doesn't give a Makefile that can be used to compile real code.
	Look for Xext library.  Run imake with HasGcc options to determine
	correct compilation flags wanted by X software.  Build Makefiles
	in subdirectories instead of configuring them separately.
	* Makefile.in (x_cflags, x_defines, x_conn_flags): New variables.
	(CFLAGS): Throw away unused trash.  Include x_cflags and
	x_conn_flags.  Define KBINDIR.
	(XDMLIBS): Include XEXTLIBS.
	* greeter/Makefile.in (x_*, CFLAGS): Same.
	* greeter/configure.in, config/configure.in: Removed.

	* daemon.c: Delete random garbage comment line.

	* defines.h: Delete POSIX stuff; it's never used.  Delete platform
	specific macro settings; the method used didn't work, and
	configure is a better place to determine the values anyways.  Punt
	on SignalReturnsInt.  Always define GREET_USER_STATIC, for now.
	When defining __STDC__ (probably not a good idea anyways...), give
	it a value.

Thu Feb 22 16:33:34 1996  Mark Eichin  <eichin@cygnus.com>

	* genauth.c: define X_GETTIMEOFDAY locally in case we're building
	under X11 release before R6.
	* defines.h: set EXIT to exit for now.
	* daemon.c: don't declare EXIT, bound to be wrong.

Wed Feb 21 22:09:10 1996  Mark Eichin  <eichin@cygnus.com>

	* krb5auth.c (Krb5Init): initialize parts of tgtname directly, to
	avoid automatic aggregate.

Wed Feb 21 21:48:07 1996  Mark Eichin  <eichin@cygnus.com>

	* error.c (trapped_exit): move up above callers to avoid need for
	declaration.
	(LogPanic, Panic): call trapped_exit explicitly.
	* defines.h: remove unportable trapped_exit declaration. Add
	comment about KRB5_DEFAULT_LIFE needing to come from a profile.

Wed Feb 21 17:13:24 1996  Mark Eichin  <eichin@cygnus.com>

	* krb5auth.c (Krb5Init): don't use enctype, the defaults are
	right. krb5_os_localaddr takes a context.

Wed Feb 21 17:09:09 1996  Mark Eichin  <eichin@cygnus.com>

	* configure.in (EXCLIBS): only use if it exists.

