Theodore Tso [Sat, 5 Dec 1998 06:22:37 +0000 (06:22 +0000)]
Makefile.in, ccdefops.c: Temporarily back out the ccapi ccache under
Windows so we can make sure the rest of the krb5 tree builds correctly
under Windows. (Note: I didn't revert lib/krb5/os/ccdefname.c, so
setting KRB5_CC_NAME to FILE:C:\tmp\tkt is required to make things
work.)
Theodore Tso [Sat, 5 Dec 1998 06:10:35 +0000 (06:10 +0000)]
krb5.hin: Add KRB5_DLLIMP and KRB5_CALLCONV to the prototypes of
valid_enctype, valid_cksumtype, is_coll_proof_cksum, and
is_keyed_cksum, which had previously been #defines, but since they are
now functions, they needed to be exported by the DLL interface.
Theodore Tso [Sat, 5 Dec 1998 05:40:45 +0000 (05:40 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.)
fcc_maybe.c (fcc_lock_file): Removed all of the filesystem-dependent
mess for file locking, which has been now properly moved to
krb5_lock_file(), where it belongs.
rd_safe.c (krb_rd_safe): Use krb4_swab32 and krb4_swab16 instead of
swap_u_long and swap_u_short. The new byte swapping routines are
faster and cleaner.
Tom Yu [Sat, 5 Dec 1998 04:12:35 +0000 (04:12 +0000)]
* svr_principal.c (kadm5_create_principal): Modify to call
create_principal_3.
(kadm5_create_principal_3): New function including flag to keep
old keys and optional explicit keysalt_tuples.
(kadm5_chpass_principal): Modify to call chpass_principal_3.
(kadm5_chpass_principal_3): New function including flag to keep
old keys and optional explicit keysalt_tuples.
(kadm5_randkey_principal): Modify to call randkey_principal_3.
(kadm5_randkey_principal_3): New function including flag to keep
old keys and optional explicit keysalt_tuples.
Theodore Tso [Fri, 4 Dec 1998 08:16:22 +0000 (08:16 +0000)]
krb5.hin: Add function prototypes for the new realm iterator
functions. Also add some krb4 function prototypes to make catching
prototype errors easier.
Tom Yu [Fri, 4 Dec 1998 03:28:32 +0000 (03:28 +0000)]
* krb5_decode_test.c (main): Add variant test cases on
enc_tkt_part to test bit string values that aren't exactly 32
bits, including 38, 40, 29, and 24 bits to test boundary
conditions.
Tom Yu [Fri, 4 Dec 1998 00:42:41 +0000 (00:42 +0000)]
* asn1_k_decode.c (asn1_decode_krb5_flags): Modify to deal with
BIT STRING values that are not exactly 32 bits. Throw away bits
beyond number 31 in a bit string for now. Deal with masking out
unused bits.
Theodore Tso [Tue, 1 Dec 1998 20:32:34 +0000 (20:32 +0000)]
Checked in wrong version of post.in previously. Make sure we check
Since if MY_SUBDIRS is defined, it overrides SUBDIRS, we should check
do_subdirs after it has been properly assigned.
Tom Yu [Tue, 17 Nov 1998 23:21:40 +0000 (23:21 +0000)]
* svr_principal.c (kadm5_create_principal):
(kadm5_chpass_principal):
(kadm5_randkey_principal): Fix up for new calling conventions of
dbe_crk and dbe_cpw.
Theodore Tso [Mon, 16 Nov 1998 17:58:42 +0000 (17:58 +0000)]
aclocal.m4: Add support for FreeBSD systems using ELF (and not just
a.out systems). Also remove the definition for the KRB5_POSIX_LOCKS
test, since it is no longer needed. (See ChangeLog for
lib/krb5/os/lock_file.c for more details.)
Geoffrey King [Mon, 16 Nov 1998 12:59:22 +0000 (12:59 +0000)]
* login.c (login_get_kconf): Also test whether *kconf_val is null
rather than just kconf_val before passing *kconf_val to
conf_affirmative (where strcasecmp will choke on it
if it is in fact null).
Theodore Tso [Sat, 14 Nov 1998 03:45:05 +0000 (03:45 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.)
configure.in: Build the test script prtest for doing regression test
suites of the profile library.
prof_err.et (PROF_MAGIC_ITERATOR): Add a new error code for the magic
number for the iterator structure.
prof_file.c (profile_update_file): Increment the update serial number
when the profile file is re-read.
prof_tree.c (profile_make_node_final, profile_is_node_final): Add a
new attribute for a node, which is whether or not the node is "final".
This controls whether or not the next profile file should be searched
when looking up a key which matches the section named by the node.
(profile_node_iterator_create, profile_node_iterator_free,
profile_node_iterator): New functions which take a profile_t and
returns all of the names or values for a particular search key. This
iterator follows the rules of doing multiple profile file lookups
using the "final node" marker to stop searching subsequent profile
files.
prof_parse.c (parse_std_line): Add support for marking top level
sections, subsections, and individual nodes as final, using the '*'
character.
(dump_profile_to_file): Print finalized sections with the '*'
character.
prof_get.c: Update routines to use the iterators provided by
prof_tree.c.
prof_int.c: Add upd_serial member to the prf_file_t structure. Define
the symbolic flags used by the profile node iterator. Add function
declarations for profile_make_node_final, profile_is_node_final,
profile_node_iterator_create, profile_node_iterator_free,
profile_node_iterator, and profile_get_value.
test_profile.c: Add the query1 command which tests profile_get_value.
Theodore Tso [Sat, 14 Nov 1998 02:45:20 +0000 (02:45 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.) Add a MY_SUBDIRS
definition to control the directories which are recursively descended
by the Makefile.
configure.in: Folded tests from krb5 and kerberosIV directories into
this configure.in file.
Theodore Tso [Sat, 14 Nov 1998 02:44:40 +0000 (02:44 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.) Add a MY_SUBDIRS macro
set to '.' to indicate that there are no subdirectories to be
processed by the Makefile.
configure.in: Removed and tests moved to parent directory.
Theodore Tso [Sat, 14 Nov 1998 02:44:30 +0000 (02:44 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.) Add a MY_SUBDIRS macro
set to '.' to indicate that there are no subdirectories to be
processed by the Makefile.
configure.in: Removed and tests moved to parent directory.
Theodore Tso [Fri, 13 Nov 1998 21:10:39 +0000 (21:10 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.) Add a MY_SUBDIRS
definition to control the directories which are recursively descended
by the Makefile.
configure.in: Fold the autoconf tests from the sample, simple,
gss-sample, and user_user directories into this higher-level
configure.in file.
Theodore Tso [Fri, 13 Nov 1998 21:09:42 +0000 (21:09 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.) Add a MY_SUBDIRS macro
set to '.' to indicate that there are no subdirectories to be
processed by the Makefile.
Theodore Tso [Fri, 13 Nov 1998 21:08:45 +0000 (21:08 +0000)]
configure.in: Removed and tests moved up to appl/configure.in
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.) Add a MY_SUBDIRS macro
set to '.' to indicate that there are no subdirectories to be
processed by the Makefile.
Theodore Tso [Fri, 13 Nov 1998 20:47:18 +0000 (20:47 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.)
Also added a note to the ChangeLog indicating that we changed
lock_file.c to check for HAVE_FCNTL_H and defined(F_SETLKW) and
defined(F_RDLCK) instead of POSIX_FILE_LOCKS (so we can get rid of a
non-standard autoconf symbol.)
Theodore Tso [Fri, 13 Nov 1998 20:44:06 +0000 (20:44 +0000)]
Makefile.in: Set the myfulldir and mydir variables (which are relative
to buildtop and thisconfigdir, respectively.)
configure.in: Remove KRB5_POSIX_LOCKS test.
win_store.c (krb__get_srvtabname):
g_cnffile.c: Use krb5__krb4_context instead of init'ing and free'ing a
krb5_context each time we need to read data from the configuration
file. We also define krb5__krb4_context in g_cnnfile.c, since it's a
likely that any use of the krb4 library will pull in that file.
tf_util.c (tf_init): Use krb5_lock_file instead of trying to roll our
own flock emulation.
Theodore Tso [Fri, 13 Nov 1998 19:36:33 +0000 (19:36 +0000)]
If $(MY_SUBDIRS) is non-NULL use it instead of $(SUBDIRS) to control
which directories are iterated over. (This is needed so we can fold a
directory's configure.in scripts into the parent's configure.in
without having to move all of its siblings as well into the parent
directory's configure.in.)
Geoffrey King [Thu, 5 Nov 1998 08:06:53 +0000 (08:06 +0000)]
* prof_init.c (profile_init): Fix a problem whereby if the last
pathname in a list of pathnames was nonexistent, an
error would be returned that they were all nonexistent.
Theodore Tso [Thu, 5 Nov 1998 04:36:48 +0000 (04:36 +0000)]
Make sure filenames are unique across all of the krb5 directories. Renamed
all of the */encrypt.c and */decrypt.c files to {dk,raw,old}_{en,de}crypt.c.
Theodore Tso [Tue, 3 Nov 1998 23:02:29 +0000 (23:02 +0000)]
Ignore kerbsrc.tar, kerbsrc.zip, etc. files which are created in the
source tree as a result of building the snapshots for Windows and Macintosh
development.
Theodore Tso [Tue, 3 Nov 1998 22:49:25 +0000 (22:49 +0000)]
Makefile.in: Added prof_get.c to the list of files to be compiled
profile.hin: Added declarations for profile_free_list(),
profile_get_relation_names(), and profile_get_subsection_names().
(These are new public interfaces to the profile library.)
prof_int.h: Removed the profile_section_t structure, which was used
only by the now-defunct prof_section.c file. Added the internal
interfaces for the new public interfaces. Removed unused declarations
which were never implemented(profile_get, profile_update).
prof_init.c: Moved all of the profile querying functions
(profile_get_values(), profile_get_value(), etc.) to prof_get.c. In
the process, removed the really bletcherous (and badly implemented)
profile_get_first_values(), which did nothing like what the named
implied. Also added to prof_get.c new functions
profile_get_subsection_names() and profile_get_relation_names().
(profile_ser_internalize): Rewrote error handling to be clearer, and
removed a bug where memory was not freed correctly in an error case.
(profile_init): If a list of pathnames is passed in, profile_init will
now try to open all of them, now that we've defined query fallback
semantics in prof_get.c
prof_parse.c: Fix lint warning.
prof_tree.c (profile_find_node_relation,
profile_find_node_subsection): Allow the returned value or subsection
field to be NULL (in case the caller isn't interested in getting the
returned value or subsection, and only cares about getting the name).
(profile_delete_node_relation, profile_delete_interior_node_relation):
Removed these functions and replaced it with profile_remove_node(),
which takes a boolean argument section_flag.
(profile_find_node_name): Removed this function. (This was a
Cygnus/Fusion special used by the now removed
profile_find_first_values() function.)
test_profile.c: Added commands to test the new
profile_get_subsection_names() and profile_get_relation_names()
interfaces.
Theodore Tso [Tue, 3 Nov 1998 21:27:35 +0000 (21:27 +0000)]
lock_file.c (krb5_lock_file): Move the flock() fallback code from
fcc_maybe.c into krb5_lock_file(). This works around the bug that
certain lossy operating systems (mainly from our good friends at
SunSoft) do not support POSIX_FILE_LOCKS on all filesystems (namely
tmpfs) but do support flock on those filesystems.
Dan Winship [Mon, 26 Oct 1998 19:00:46 +0000 (19:00 +0000)]
Add -A (require authentication but not necessarily authorization) and
-C (user wants local credentials) flags to ftpd.
If -C is set, write out forwarded credentials to disk and use krb524 to
get krb4 tickets as well. If user doesn't forward credentials, require
a password even if auth was successful and use that to get credentials.
Geoffrey King [Mon, 26 Oct 1998 11:46:30 +0000 (11:46 +0000)]
* ftp.M: Add documentation for new ccc and cprotect commands.
Also, add previously omitted command line options -u and -t and
"passive" command to the man page.
* main.c (main): Print out a usage message instead of just
"unknown option."
Theodore Tso [Sat, 24 Oct 1998 00:25:41 +0000 (00:25 +0000)]
ftpd.c (pass): Wait 5 seconds before returning "password
incorrect", and only allow three bad passwords. Then
return an 421 reply code before closing the connection and
going away.
ftpcmd.y (cmd): Don't allow the PORT command to accept a port
number lower than 1024; this prevents some nasty ftp
"bounce attacks" to SMTP ports, etc.
Geoffrey King [Sat, 10 Oct 1998 10:32:34 +0000 (10:32 +0000)]
* telnet.c (telnet): Cosmetic change: Put a newline after "Waiting
for encryption to be negotiated..." so that the response
"[ Kerberos V5 accepts you as ``gjking@ATHENA.MIT.EDU'' ]" doesn't
run off the end of the line.
Theodore Tso [Thu, 8 Oct 1998 05:51:33 +0000 (05:51 +0000)]
krshd.c (doit): Apply ghudson's patch so that rshd passes the port
numbers for the local and foreign addresses so that the V4 encrypted
RCP will work correctly. [krb5-appl/638]
v4rcp.c (answer_auth): Apply ghudson's patch so that if KRB5LOCALPORT
and KRB5REMOTEPORT are set, use them to set the foreign and
local ports so that encrypted rcp for the same machine.
[krb5-appl/638]
Geoffrey King [Thu, 8 Oct 1998 05:21:56 +0000 (05:21 +0000)]
* ftpd.c: Add support for restricted users, as requested in
[krb5-appl/481]. Users that appear in /etc/ftpusers, followed
by the keyword "restrict" will be granted access, but a chroot()
will be done to their home directory.