Theodore Tso [Tue, 20 Dec 1994 00:42:41 +0000 (00:42 +0000)]
Work around yet another really horrible Ultrix sh bug. The values of
variables read in using the ${var='bar'} construction are displayed
using the "set" command with the high bit set. (Someone should just
haul off the Ultrix sh and have it shot). Fixed using tr.
Theodore Tso [Tue, 13 Dec 1994 20:39:00 +0000 (20:39 +0000)]
do_tgs_req.c (prepare_error_tgs): Don't free the passed in ticket; it
will be freed as part of other structures.
do_tgs_req.c (process_tgs_req): Set the encryption type in the reply
structure, and set the eblock type accordingly.
do_as_req.c (process_as_req): Set the encryption type in the
reply_encpart structure.
kdc_util.c (validate_as_request):
policy.c (against_local_policy_as): Move requirement that an AS
request must include the addresses field to the local policy routine.
(Not required by RFC).
main.c (setup_com_err): Initialize the kdc5 error table (the kdb5
error table is already initialized)
Theodore Tso [Thu, 1 Dec 1994 01:37:13 +0000 (01:37 +0000)]
Makefile.in: Build the new test driver (t_walk_rtree.c) for
krb5_walk_realm_tree.
walk_realm_tree.c (krb5_walk_realm_tree): Fix bug which occured when
the client or the server is a subdomain of the other; walk_realm_tree
would return the wrong answer, and suffer from memory access errors.
unparse.c (krb5_unparse_name_ext): Quote the '/' and '@' characters properly.
Theodore Tso [Mon, 21 Nov 1994 22:26:52 +0000 (22:26 +0000)]
Use the list of encryption types passed as part of the KDC request to
determine which encryption to use for encrypting the ticket. The
encryption must be one that is supported by the KDC, as well as being
one which is marked as being supported by the server of the ticket.
In a AS request, also use this encryption for encrypting the KDC
response. In a TGS request, use the encryption type of the TGT
authenticator to determine how to encrypt the KDC response.
Theodore Tso [Mon, 21 Nov 1994 20:33:53 +0000 (20:33 +0000)]
encode_kdc.c (krb5_encode_kdc_rep): Now requires that the
caller pass in the encryption block to be used for
encrpyting the ticket. That way, this routine doesn't
need to create its own encryption block.
encrypt_tk.c (krb5_encrypt_tkt_part): Now requires that the
caller pass in the encryption block to be used for
encrpyting the ticket. That way, this routine doesn't
need to create its own encryption block.
Theodore Tso [Mon, 21 Nov 1994 19:25:57 +0000 (19:25 +0000)]
library.tex (internalfunc): Define \internalfunc, which prints a
disclaimer in front of "internal functions". We should
move them somewhere else, but for now, let's start marking
those functions which we believe are internal.
krb5.tex: Documented changed interfaces to krb5_encode_kdc_rep
and krb5_encrypt_tkt_part. Document krb5_encode_kdc_rep,
krb5_decode_kdc_rep, krb5_encrypt_tkt_part,
krb5_decrypt_tkt_part, and krb5_send_tgs as all internal
functions.
Mark Eichin [Fri, 18 Nov 1994 20:44:12 +0000 (20:44 +0000)]
* aclocal.m4 (CHECK_WAIT_TYPE, CHECK_SIGNALS, CHECK_SETJMP,
KRB5_UTPID, KRB5_UTTYPE, KRB5_UTHOST, KRB5_UTEXIT): use
AC_TRY_COMPILE instead of AC_TRY_LINK.
(CHECK_FCNTL): check for 1+O_RDONLY so we aren't fooled into
declaring it as a local variable.
(DECLARE_SYS_ERRLIST): same thing for 1+sys_nerr.
Theodore Tso [Fri, 18 Nov 1994 19:56:41 +0000 (19:56 +0000)]
All files:
Changes to implement SCC format version #3, which is architecture
independent, and includes the key encryption type information.
scc_gennew.c (krb5_scc_generate_new): Generate new ccaches using
whatever version is marked as the default.
scc_read.c (krb5_scc_read_keyblock): Insert keyblock magic
number and initialize etype value. Also add magic numbers
for the krb5_principal, krb5_data, krb5_address, and
krb5_authdata structures.
Mark Eichin [Fri, 18 Nov 1994 19:21:44 +0000 (19:21 +0000)]
* configure.in: use KRB5_POSIX_LOCKS, AC_EGREP_HEADER. (from
epeisach).
[from 0961]
(ET_HEADERS): new variable for the names of the headers that
lib/krb5/error_tables builds and installs here (so that they get
pushed out to the installed include directory.)
(BUILT_HEADERS): locally built headers, for all, install, and
clean.
(clean): delete built and et headers.
[inspired by 0937, but done more thoroughly.]
Mark Eichin [Fri, 18 Nov 1994 19:21:08 +0000 (19:21 +0000)]
* Makefile.in (install): use $(INSTALL_DATA) instead of cp. Elide
dependency in install rule so $(srcdir) works.
* configure.in: use AC_PROG_INSTALL.
[part from 0937, part by inspection]
Mark Eichin [Fri, 18 Nov 1994 19:17:18 +0000 (19:17 +0000)]
* configure.in (LIBS): use WITH_KRB4, CHECK_SIGNALS, and cache
cc_t in termio.h check. (from epeisach)
* Makefile.in (K4LIB): set to @K4LIB@ instead of explicit setting.
(telnet): link with $(K4LIB). (from epeisach).
[from 0955]
* Makefile.in (install): install telnet man page.
(from Ted Lemon <mellon@ipd.wellsfargo.com>).
[from 0937]
Mark Eichin [Fri, 18 Nov 1994 19:12:09 +0000 (19:12 +0000)]
* pop_send.c (pop_send): Only update last_msg if executing a RETR.
From John Brezak <brezak@apollo.hp.com>.
[from 0927]
* configure.in: use KRB5_POSIX_LOCKS (from epeisach).
[from 0961]
Mark Eichin [Fri, 18 Nov 1994 19:11:13 +0000 (19:11 +0000)]
* configure.in: use new macros KRB5_UTPID, KRB5_UTTYPE, and
KRB5_UTHOST (from epeisach).
[from 0959]
* Makefile.in (install): add install rules for krlogind.M,
krshd.M, rlogin.M, rcp.M, rsh.M. (Section numbers are explicit,
and this should probably be changed.)
(from Ted Lemon <mellon@ipd.wellsfargo.com>
[from 0937]
Mark Eichin [Fri, 18 Nov 1994 00:13:39 +0000 (00:13 +0000)]
* kprop.c: Use NPROTOTYPE for declarations.
(close_database): New function. Cleans up locks properly.
(main): call it.
(open_database): Use krb5_lock_file instead of POSIX_FILE_LOCKS.
* kpropd.c (doit): Use krb5_lock_file.
(changes from jtkohl@mit.edu.)
Mark Eichin [Wed, 16 Nov 1994 06:16:40 +0000 (06:16 +0000)]
* dumpv4.c: new file. New command dump_v4db which creates a v4
slave dump out of a v5 database, leaving out any keys which aren't
using v4 salt, and any keys that aren't for the current
realm. Reencrypts using v4 master key, synthesizes arbitrary
master key version number.
* configure.in: use WITH_KRB4 for dump support.
* kdb5_ed_ct.ct: add new dump_v4 command.
* Makefile.in: link in dumpv4.
I've successfully used this to convert a full database and compared it with
the original by hand -- the only differences were
1) leading zeros on the new database
2) k.m date didn't match
3) mkvno's didn't match (but were consistent)
Theodore Tso [Mon, 14 Nov 1994 21:35:28 +0000 (21:35 +0000)]
get_in_tkt (krb5_get_in_tkt): Set the encryption type of the session
keyblock to be the type used to encrypt the ticket.
mk_cred.c, rd_cred.c: New routines for forwarding credentials --- note that
the API is still subject to change! (Moved from telnet and bsd
directories)
Theodore Tso [Fri, 11 Nov 1994 05:53:38 +0000 (05:53 +0000)]
Defining setpgrp(a,b) to setpgrp() if SETPGRP_TWOARG is not set can
cause infinite macro recursion on some C preprocessors. Fix by
putting the #ifdef for SETPGRP_TWOARG where setpgrp is actually
called, instead of trying to redefine setpgrp().
Theodore Tso [Fri, 11 Nov 1994 05:33:17 +0000 (05:33 +0000)]
Set the encryption type in the keyblock information in the decrypted
ticket/authenticator/rd_rep message to be the encryption type used to
encrypt said message.