Tom Yu [Wed, 22 Jul 1998 00:47:49 +0000 (00:47 +0000)]
* replay.c (kdc_check_lookaside):
(kdc_insert_lookaside): Add code to originating address of packet,
as krb4 initial ticket requests don't contain an address. This
would cause a subtle problem wherein two simultaneous krb4 initial
ticket requests for the same principal originating from different
addresses would result in both replies containing the same
address.
* kdc_util.h: Modify prototype for lookaside functions.
* dispatch.c (dispatch): Update to new calling conventions of the
lookaside functions.
Geoffrey King [Tue, 21 Jul 1998 21:03:41 +0000 (21:03 +0000)]
Call krb5_klog_reopen in kadm_svc_run upon receiving a SIGHUP. Use
sigaction instead of signal if POSIX_SIGNALS is defined. All of the
calls to signal and sigaction are now in a separate function
setup_signal_handlers, as the kdc code does. Also, since reset_db no
longer does anything, change the name of signal_request_reset to the
more descriptive signal_request_hup, and request_reset_db to
request_hup (paralleling the nomenclature in the kdc code).
Replaced preprocessor symbol _MACINTOSH with macintosh, since macintosh is the standard symbol defined by all Mac compiler (oh, sure, it doesn't have _. but at least it's always there)
* tcl_kadm5.c (parse_tl_data): Change cast from char * to
krb5_octet *.
(tcl_kadm5_free_principal_ent, tcl_kadm5_free_policy_ent): Add
cast to value returned by Tcl_GetHashValue.
* tcl_ovsec_kadm.c (tcl_ovsec_kadm_free_principal_ent): Cast
return of Tcl_GetHashValue.
Tom Yu [Wed, 15 Jul 1998 22:44:32 +0000 (22:44 +0000)]
* configure.in: Add CHECK_SIGNALS so that POSIX_SIGNALS gets
defined.
* main.c (request_hup): Remove call to signal, as this isn't
needed on BSD-ish systems and for sysV-ish systems we use
sigaction anyway.
(setup_signal_handlers): Fix typo.
Geoffrey King [Sat, 11 Jul 1998 05:42:27 +0000 (05:42 +0000)]
Added a call to signal() in request_hup() so that the signal handler
gets reset after each SIGHUP, since this does not happen automatically
in System V's signal handling system.
Tom Yu [Fri, 10 Jul 1998 01:54:05 +0000 (01:54 +0000)]
* kadm_server.c (kadm_ser_cpw): Re-enable "old-style" password
changing. Yes, it's potentially a problem due to lack of quality
checking, but we'll live with that because we can use
key-hash-based checks too.
Matthew Hancher [Thu, 9 Jul 1998 23:42:03 +0000 (23:42 +0000)]
Thu Jul 9 19:35:01 1998 Matthew D Hancher <mdh@mit.edu>
* tf_util.c (tf_init): Fixed a potential race condition in the opening
of v4 ticket files. tf_init() was calling lstat() followed by fopen().
Now it calls fopen() and then calls lstat() and fstat() to check file
ownership and to check that it opened the file it thought it did. I
patched the shared memory code similarly, but since nothing uses it I
don't have a good way to test it properly.
Geoffrey King [Wed, 8 Jul 1998 09:12:05 +0000 (09:12 +0000)]
These additions cause the KDC to react to SIGHUP by closing and
reopening its log files, so that logfile management utilities
may now compress old logs and then kill -HUP the KDC process
to get them to use fresh log files.
Matthew Hancher [Wed, 8 Jul 1998 05:14:27 +0000 (05:14 +0000)]
Wed Jul 8 01:10:44 1998 Matthew D Hancher <mdh@mit.edu>
* aclocal.m4: Allow shared libraries to build properly under Irix
6.x with gcc. (This is actually a fix of a previous fix that
didn't make it into ChangeLog.)
Makefile.in (build_pwfile): Add rule to build the build_pwfile program
kadm_server.c (kadm_ser_cpw): Put the call to the kadm_approve_pw in
the common code, so it's executed even if KADM5 is defined. Add
appropriate syslogs to the change password processing.
kadm_funcs.c (pwstring;): If NDBM_PW_CHECK is defined, then do the
NDBM-based dictionary check. Build kadmind4 using the make option
PW_CHECK=-DNDBM_PW_CHECK if this feature is desired.
accept_sec_context.c (krb5_gss_accept_sec_context): Don't return an
error token if we can't provide the server name to the KRB5 error
structure (because cred isn't initialized).
gssapi_krb5.c, gssapi_krb5.h: Export the oid of static arrays as
krb5_gss_oid_array since it's needed by gss_import_sec_context.
import_sec_context.c: Fix up the OID of the mechanism in the imported
security context so that we use the static OID if at all possible.
This is needed since gss_inquire_context() must return a static OID.
Fix obvious bug where we were returning a pointer to an automatic
variable which should have been a static. Fortunately nothing in the
Mac tree was using inet_ntoa()....
Tom Yu [Wed, 24 Jun 1998 07:16:57 +0000 (07:16 +0000)]
* mk_priv.c (krb_mk_priv): Fix up call to pcbc_encrypt(). By
taking the address of key, the 5th arg to pcbc_encrypt() was
actually a (char **) cast to a (C_Block *). The reason for this
is that a C_Block (actually a des_cblock) is typedef'ed from a
char[8], which by being in the parameters of the definition of
krb_mk_priv() becomes of type (char *). This means that using the
address operator on key resulted in a pointer to a pointer to a
char rather than a pointer to a des_cblock, which would have been
innocuous in this case because pcbc_encrypt() actually takes a
(des_cblock *) as the 5th (ivec) argument. The moral is to never
pass around naked arrays as function arguments; instead, pass
around pointers to arrays to avoid spontaneous conversions to
pointers sneaking up. Note that CNS actually uses a (C_Block *)
everywhere, and maybe we should as well. *whew*
Tom Yu [Wed, 17 Jun 1998 20:38:09 +0000 (20:38 +0000)]
* cnv_tkt_skey.c (krb524_convert_tkt_skey): Handle null address
fields; actually use saddr (the address from the UDP header) to
generate the ticket address rather than just checking against it.
* conv_creds.c (krb524_convert_creds_plain): Punt address checks.
Theodore Tso [Wed, 27 May 1998 19:51:25 +0000 (19:51 +0000)]
Folded in enhancements from Cygnus's Kerbnet-1.2 (plus our changes
made since Cygnus's last snapshot). See ChangeLog from Cygnus
(included in the ChangeLog file) for more details.
Theodore Tso [Wed, 27 May 1998 19:17:58 +0000 (19:17 +0000)]
Makefile.in: include krb5/ccache/memory and windows/lib in the list of
directories built by the Windows build. When building kerbsrc-nt.zip,
put a copy of mkbin.bat in the top-level build directory. Fix bug in
kerbsrc-nt.zip building where it wasn't creating the initial Makefile
(although the dos-zipfiles target did the right thing).
aclocal.m4 (KRB5_LIB_PARAMS): Remove "untested" comment from freebsd.
Add section for openbsd.
Theodore Tso [Wed, 27 May 1998 18:48:16 +0000 (18:48 +0000)]
krb5_32.def: Change the DLL export list to include
krb5_auth_con_setrcache, krb5_get_server_rcache, krb5_cc_default_name,
krb5_change_password, krb5_mcc_ops, and all of the Cygnus
krb5_get_init_creds functions. Remove the old libkadm functions, as
they are no longer available.
Theodore Tso [Mon, 25 May 1998 01:54:34 +0000 (01:54 +0000)]
copy_ccache.c (gss_krb5_copy_ccache): Fix bugs in copy_ccache.c, which
never compiled cleanly (since it wasn't added to the Makefile
correctly originally).
Theodore Tso [Mon, 25 May 1998 01:42:51 +0000 (01:42 +0000)]
Use double backslashes for the path separators to workaround Microsoft
NMAKE brain damaging. Sometimes backslashes are treated as a quoting
characters, and sometimes not, with no rhyme or reason that I can
determine. Fortunatelly double backslashes in pathanmes don't seem to
hurt (for the times when the backslash isn't treated as a quoating
character). Whoever decided Windows should use backslash as a path
separator should be shot.
Theodore Tso [Thu, 14 May 1998 04:57:00 +0000 (04:57 +0000)]
telnetd.c (main):
telnetd-ktd.c (main): POSIX states that getopt returns -1 when it
is done parsing options, not EOF.
configure.in: Rename HAS_* to HAVE_* for the following tests: sac.h,
sys/ptyvar.h, sys/filio.h, sys/stream.h, gettosbyname(), and make
appropriate adjustments in the rest of the .c files. Remove tests
which aren't being used anymore: vhangup, utmpx.h, utmp.h, etc.
defs.h: Use HAVE_SYS_FILIO_H instead of FILIO_H
sys_term.c: Use HAVE_SAC_H and HAVE_SYS_STREAM_H instead of
HAS_SAC and STREAMS.
telnetd.c, telnetd-ktd.c: Use HAVE_GETTOSBYNAME instead of
HAS_GETTOS
telnetd.c: Use HAVE_SYS_PTYVAR_H instead of HAS_PTYVAR.