Mark Eichin [Mon, 18 Mar 1996 02:39:51 +0000 (02:39 +0000)]
fixes ticket-forwarding crashes on linux..
* copy_addrs.c (krb5_copy_addr): make non-static so we can use it
in mk_cred.
* mk_cred.c (krb5_mk_ncred_basic): copy local_addr and remote_addr
instead of just aliasing them, so we can safely free them ourselves.
Ezra Peisach [Mon, 18 Mar 1996 01:40:52 +0000 (01:40 +0000)]
configure.in: Add USE_ANAME and add proper aclocal.m4 functions to properly
tell the makefile which libraries to link to.
Makefile.in: Get the list of libraries to link from configure. Removes a
dependency on layout of build tree and allows for configure to specify
other libraries (as in aname conversion databases..)
Tom Yu [Thu, 14 Mar 1996 07:14:45 +0000 (07:14 +0000)]
* aclocal.m4 (V5_OUTPUT_MAKEFILE): most seds don't deal with
"s/\(regex\)*/foo/", so use a loop instead to get rid of
extraneous "./" occurences. Do we want srctop and
buildtop to have leading "./"s? They do currently. Is
this a bug?
Mark Eichin [Wed, 13 Mar 1996 21:09:29 +0000 (21:09 +0000)]
replace KRBTEST.COM with $REALMNAME. Now you can change the realm name the
tests use by "runtest --tool krb --srcdir whatever REALMNAME=WHITEHOUSE.GOV"
also added -- to kadmin tests so they work with any getopt
* asn1_k_decode.c (asn1_decode_passwdsequence): Set magic values
in structures.
(asn1_decode_kdc_req_body): Set magic in
authorization_data if not sent OTW.
I believe all magic number fields now being properly initialized in the
asn.1 layer.
Ken Raeburn [Wed, 13 Mar 1996 04:55:41 +0000 (04:55 +0000)]
* aclocal.m4 (V5_MAKE_SHARED_LIB): If the cache variables for
selecting shared v. archive library support haven't been set,
complain, instead of generating a broken Makefile.
(WITH_CC): Default to value from cache, if available. If it
differs from name supplied on command line, complain. When not
using a value from the cache, verify that it's a working compiler
before proceeding. At end, use AC_PROG_CC to see if it's gcc
we're using.
(SubdirLibraryRule): Make DONE depend on Makefile.in, so it
doesn't keep getting regenerated in the case of no object files.
(CHECK_WAIT_TYPE): Make sure that union wait is acceptable to
WEXITSTATUS if that macro is defined.
Permit a single configure.in to build multiple makefiles, e.g., when a
subtree contains a program that must be considered a single package, and might
as well get configured that way. (The Cygnus tree handles xdm this way.)
Should be more efficient.
* aclocal.m4 (V5_SET_TOPDIR): Don't substitute BUILDTOP, SRCTOP.
(CONFIG_RULES): In makefile dependencies, use $(thisconfigdir).
(V5_AC_OUTPUT_MAKEFILE): If arguments are given, treat as
directories and build pre/Makefile/post in each. Set
thisconfigdir, SRCTOP, BUILDTOP separately in each directory.
Tweak Makefile dependencies appropriately.
Permit compilation on hpux, where stdarg.h exists, but the use of "..." in
new-style definitions does not work. (Needs changes to configure.in files.)
* aclocal.m4 (AC_HEADER_STDARG): New macro. Try compiling some
sources with variadic functions; set HAVE_STDARG_H or
HAVE_VARARGS_H, or bomb.
* acconfig.h (HAVE_STDARG_H, HAVE_VARARGS_H): Undef.
Richard Basch [Wed, 6 Mar 1996 21:37:24 +0000 (21:37 +0000)]
* dumpv4.c:
The V4 master key & schedule was never initialized,
so the dump created by dump_v4db was garbage. Read the V4
master key from /.k or prompt for the V4 master key password.
If there is no V4-salt key in the database, but there is a DES
key, include it in the V4 dump, in case it is merely a random
service key for which there is no associated password.
Skip over K/M in the V5 database (use the entered V4 master key).
Both krbtgt and afs keys often have domain-qualifed instances.
Richard Basch [Tue, 5 Mar 1996 17:31:01 +0000 (17:31 +0000)]
* kprop.c: Call krb5_sname_to_principal rather than doing the OS calls.
Removed a trailing ; that caused a spurious message to be printed
even upon success.
* kpropd.c: Call krb5_sname_to_principal rather than doing the OS calls.
Open the lock file read-write, as required by POSIX.
Downgrade the lock to a shared lock prior to the execution
of kdb5_edit (it also tries to place a shared lock on the dump file).
Mark Eichin [Tue, 5 Mar 1996 07:29:29 +0000 (07:29 +0000)]
now the keys actually *work* when you load an old dump (a real one,
not the fake one the test case creates.)
* dump.c (process_k5beta_record): since V4 salt type has no data
either, only set key_data_ver to 1 for data_type 0 with 0-length
salt. Also, don't include alternate key if akey has all-zero type
and length in both fields.
Ezra Peisach [Tue, 5 Mar 1996 01:51:23 +0000 (01:51 +0000)]
* default.exp: Log krb5kdc to stderr so that test can detect
properly when server has started. Change
start_kerberos_daemons to take advantage of this.
Before, every time the server was started, the test would have to wait
for the standard timeout (100 sec) before continuing with the test.
The standalone tests used to take 15.5 min and now take 4.
Theodore Tso [Sat, 2 Mar 1996 08:08:14 +0000 (08:08 +0000)]
gss-server.c (sign_server): Do better import/export security checking.
If the received message to be signed is not printable (at least the
first two characters are not), display the message in hex. Print the
hex values of the incoming and outcoming packets, for your
information.
gss-misc.c (print_token, display_buffer): Two new tokens for
displaying GSSAPI buffers, either has hex or as a printable string.
gss-client.c (call_server): Add option to support reading in the
message to be signed from a file.
Theodore Tso [Sat, 2 Mar 1996 08:02:16 +0000 (08:02 +0000)]
k5mech.c (krb5_gss_get_context): Initialize the serializers here,
instead of in export and import security context. This will speed
things up a little.
export_sec_context.c (krb5_gss_export_sec_context):
import_sec_context.c (krb5_gss_import_sec_context): Don't create
a serialization context just for importing/exporting credentials.
Use the passed-in gssapi context. This speeds things up
significantly. Assume the serializers are initialized in
krb5_gss_get_context.
Theodore Tso [Fri, 1 Mar 1996 05:06:19 +0000 (05:06 +0000)]
g_glue.c (__gss_get_mech_type): Fix code to properly parse token
headers. It was working only by serendipity....
g_accept_sec_context.c (gss_accept_sec_context): Add error checking
and memory cleanup. Make gss_accept_sec_context work for mechanisms
that use multiple token roundtrips.
Theodore Tso [Fri, 1 Mar 1996 00:45:51 +0000 (00:45 +0000)]
Added note: Note that calls to WSAStartup and WSACleanup must be in
matched pairs. If there is a missing WSACleanup call when a program
exits, under Lan Workplace, the name resolver will stop working.
Theodore Tso [Thu, 29 Feb 1996 06:27:31 +0000 (06:27 +0000)]
mglueP.h: For MS-DOS, add #include of malloc.h
g_acquire_cred.c (gss_acquire_cred): Fix so that the call works when
desired_name is NULL (meaning use the default credentials).
g_imp_sec_context.c (gss_import_sec_context):
g_exp_sec_context.c (gss_export_sec_context): Fix to import/export the
framing security context (so that this call actually works!).
Theodore Tso [Wed, 28 Feb 1996 16:44:07 +0000 (16:44 +0000)]
Get the nametype OID from gss_display_name, print it, and then release
the nametype OID. This tests gss_display_name()'s ability to return a
valid nametype, which can then be freed successfully.
Theodore Tso [Wed, 28 Feb 1996 00:26:25 +0000 (00:26 +0000)]
If starttime is not set, then use authtime as a default. (This fixes
the bug where if you try to immediately use a TGT to get a ticket, you
get a time skew error.)
Richard Basch [Tue, 27 Feb 1996 22:37:56 +0000 (22:37 +0000)]
*main.c:
Do not repeat random number generator initializations, as memory
is allocated and never reclaimed. Also fixed the V4 random number
generator initialization (a DES_CBC_CRC random number is generated
and used as a seed for the V4 routine, but the generation function
was being called with the wrong arguments).
* do_as_req.c:
Memory was occassionally being freed twice because the pointer was
not re-initialized to NULL after it was freed.