]> git.ipfire.org Git - thirdparty/krb5.git/log
thirdparty/krb5.git
12 years agoMake kinit smarter about using keytabs
Ben Kaduk [Thu, 27 Sep 2012 16:46:26 +0000 (12:46 -0400)] 
Make kinit smarter about using keytabs

Previously, we would happily accept -i or -t name and do nothing
with it, if -k was not given.  If the user is passing -i or -t, they
clearly want to use a keytab, so do so (but print a warning).

While here, enforce that only one of -t and -i is given.

ticket: 7218
tags: pullup
target_version: 1.11

12 years agoAdd Doxygen markup for Camellia enctype constants
Greg Hudson [Fri, 16 Nov 2012 15:45:27 +0000 (10:45 -0500)] 
Add Doxygen markup for Camellia enctype constants

An RFC number has been assigned for the Camellia draft.  Add Doxygen
markup to the enctype and cksumtype constants pointing to the
informational RFC.

12 years agoAvoid using grep -q in configure.in
Greg Hudson [Thu, 15 Nov 2012 19:26:23 +0000 (14:26 -0500)] 
Avoid using grep -q in configure.in

grep -q isn't as portable as we would like, so don't use it.

12 years agoAdd automated tests for LDAP KDB module
Greg Hudson [Sun, 11 Nov 2012 03:08:39 +0000 (22:08 -0500)] 
Add automated tests for LDAP KDB module

Add new tests kdbtest.c and t_kdb.py.  Together these exercise most of
the code in the LDAP back end.  kdbtest is also run against the DB2
module, which is mostly redundant with other tests, but does exercise
the lockout logic a little more thoroughly than t_lockout.py can.

To test the LDAP back end, we look for slapd and ldapadd binaries in
the path.  The system slapd is sometimes constrained by AppArmor or
the like, which we can typically work around by making a copy of the
binary.  slapd detaches before listening on its server socket (this
got better in 2.4.27 but still isn't perfect), so we unfortunately
have to use a one-second sleep in the slapd setup.

12 years agoFix typo disabling static-linked LDAP back end
Greg Hudson [Mon, 5 Nov 2012 15:30:11 +0000 (10:30 -0500)] 
Fix typo disabling static-linked LDAP back end

12 years agoRebuild krb5.conf.man for default enctypes
Ben Kaduk [Wed, 14 Nov 2012 22:09:23 +0000 (17:09 -0500)] 
Rebuild krb5.conf.man for default enctypes

Now that the Camellia enctypes are in the default lists for
permitted_enctypes, default_tkt_enctypes, and default_tgs_enctypes,
regenerate the man page to reflect that change.

ticket: 7446
target_version: 1.11
tags: pullup

12 years agoAdd Camellia enctypes to default enctype lists
Greg Hudson [Wed, 14 Nov 2012 21:49:33 +0000 (16:49 -0500)] 
Add Camellia enctypes to default enctype lists

Add camellia256-cts-cmas and camellia128-cts-cmac to the default
permitted_enctypes, default_tkt_enctypes, and default_tgs_enctypes
lists, to simplify deployment of Camellia.  The new enctypes still
aren't on supported_enctypes, so won't be in the set of long-term keys
for principals without administrator intervention.

ticket: 7446 (new)
target_version: 1.11
tags: pullup

12 years agoReplace UTF-8 with ASCII
Ben Kaduk [Tue, 6 Nov 2012 00:22:07 +0000 (19:22 -0500)] 
Replace UTF-8 with ASCII

We try to restrict non-ASCII to names.

Python does not accept U+2013 EN DASH as indicating a command-line
argument; U+2D HYPHEN-MINUS is required.

Replace U+201C LEFT DOUBLE QUOTATION MARK and U+201D RIGHT
DOUBLE QUOTATION MARK with ordinary ASCII quotes.

ticket: 7433
tags: pullup

12 years agoRename doc subdirectories
Ben Kaduk [Wed, 7 Nov 2012 03:15:50 +0000 (22:15 -0500)] 
Rename doc subdirectories

We like these names better, and they match the PDF document filenames.

admins -> admin
appldev -> appdev
users -> user

and catch up where the names are used elsewhere.

The relay/ directory has been removed, with its contents moved to the
top level in build_this.rst and a new about.rst.

The section headers for kadmind, krb5kdc, sserver, kpasswd, kswitch,
and sclient are misdetected as conflict markers.
bigredbutton: whitespace

ticket: 7433
tags: pullup

12 years agoRemove trailing whitespace
Ben Kaduk [Wed, 14 Nov 2012 20:30:12 +0000 (15:30 -0500)] 
Remove trailing whitespace

ticket: 7433
tags: pullup

12 years agoUse release, not version, for HTML index
Ben Kaduk [Fri, 26 Oct 2012 21:50:57 +0000 (17:50 -0400)] 
Use release, not version, for HTML index

The full release string includes RELTAIL from patchlevel.h; it
is useful to know whether we are on a pre- or post-release branch.

ticket: 7433
tags: pullup

12 years agoMake glue for building PDFs
Ben Kaduk [Wed, 17 Oct 2012 00:11:14 +0000 (20:11 -0400)] 
Make glue for building PDFs

sphinx-build's latex output engine creates a subdirectory with
various latex files, and a Makefile.  The generated Makefile assumes
gmake, which we do not.  The logic needed in this makefile is rather
simple, so we just include it in src/doc/Makefile.in, even if we
do need a rather complicated shell expression to work in the subdirectory.

ticket: 7433
tags: pullup

12 years agoUpdate conf.py for latex output
Ben Kaduk [Wed, 17 Oct 2012 00:09:17 +0000 (20:09 -0400)] 
Update conf.py for latex output

We do not want one giant PDF document; we want separate PDFs for
our various components.

The features document cannot be included in the list because the
generated LaTeX for tables with empty cells does not compile.

ticket: 7433
tags: pullup

12 years agoUse main conf.py for NOTICE
Tom Yu [Fri, 19 Oct 2012 20:03:57 +0000 (16:03 -0400)] 
Use main conf.py for NOTICE

Generate the NOTICE file using the main conf.py, by using a special
tag when invoking sphinx-build.

While here, add notice.txt to the list of files removed by make clean.

ticket: 7433
tags: pullup

12 years agoGenerate and use version.py for Sphinx
Tom Yu [Wed, 17 Oct 2012 22:12:52 +0000 (18:12 -0400)] 
Generate and use version.py for Sphinx

Sphinx's idea of the version number appears in the man pages and
compiled PDF documents, and shows up as metadata in the generated
HTML sources.

Extract the version information from the master source (patchlevel.h)
into a form usable by Sphinx.

ticket: 7433
tags: pullup

12 years agoRegenerate kdc.conf.man to pick up Camellia
Ben Kaduk [Wed, 14 Nov 2012 19:01:30 +0000 (14:01 -0500)] 
Regenerate kdc.conf.man to pick up Camellia

We recently added documentation of the Camellia enctypes; rebuild
the in-tree man page to pick them up.

ticket: 7439
tags: pullup

12 years agoMake kdb5_util dump work with LDAP again
Greg Hudson [Tue, 13 Nov 2012 03:08:05 +0000 (22:08 -0500)] 
Make kdb5_util dump work with LDAP again

The LDAP module doesn't support locking.  There's code to ignore this
in load but not in dump.  dump used to only lock for iprop dumps, but
now locks all the time after e65a16d898f3a686525e83661f4fd86c76e27bbf
(#7384), causing it to fail with LDAP.

ticket: 7445 (new)
target_version: 1.11
tags: pullup

12 years agoAdd Camellia to enctype table in documentation
Greg Hudson [Fri, 2 Nov 2012 15:12:38 +0000 (11:12 -0400)] 
Add Camellia to enctype table in documentation

ticket: 7439 (new)
target_version: 1.11
tags: pullup

12 years agoFix a typo in pkinit.rst
Greg Hudson [Fri, 2 Nov 2012 14:53:15 +0000 (10:53 -0400)] 
Fix a typo in pkinit.rst

12 years agoUpdate Camellia feature description
Tom Yu [Thu, 1 Nov 2012 21:47:06 +0000 (17:47 -0400)] 
Update Camellia feature description

Remove the potentially misleading "experimental" annotation on the
description of the Camellia encryption feature.  Also update the I-D
version to match the IESG-approved version.

ticket: 7437 (new)
target_version: 1.11
tags: pullup

12 years agoDocument PKINIT and anonymos PKINIT configuration
Greg Hudson [Thu, 1 Nov 2012 18:04:02 +0000 (14:04 -0400)] 
Document PKINIT and anonymos PKINIT configuration

ticket: 7436 (new)
target_version: 1.11
tags: pullup

12 years agoCorrectly document krb5_unparse_name_ext
Greg Hudson [Thu, 25 Oct 2012 19:50:06 +0000 (15:50 -0400)] 
Correctly document krb5_unparse_name_ext

ticket: 7431
target_version: 1.11
tags: pullup

12 years agoAlways rebuild rst_composite in src/doc
Greg Hudson [Thu, 25 Oct 2012 16:51:17 +0000 (12:51 -0400)] 
Always rebuild rst_composite in src/doc

Avoid using "rst_composite" as the target name for building the
rst_composite directory, since we can't give it proper dependencies.
Instead use the target name "composite", which (like "html", "clean",
etc.) doesn't correspond to the name of a file or directory created by
the build rules.

12 years agoDocument GSSAPI loadable module interface
Greg Hudson [Thu, 25 Oct 2012 15:46:16 +0000 (11:46 -0400)] 
Document GSSAPI loadable module interface

ticket: 7429 (new)
target_version: 1.11
tags: pullup

12 years agoDon't leak new fields of krb5_init_creds_context
Greg Hudson [Wed, 24 Oct 2012 16:16:20 +0000 (12:16 -0400)] 
Don't leak new fields of krb5_init_creds_context

Release the cc_config_in and cc_config_out fields of a
krb5_init_creds_context when freeing the context.

ticket: 7428 (new)
target_version: 1.11
tags: pullup

12 years agoDon't save empty cc_config_out in ccache
Greg Hudson [Wed, 24 Oct 2012 16:06:01 +0000 (12:06 -0400)] 
Don't save empty cc_config_out in ccache

Add an internal json function to make it easier to detect if an object
is empty, and use it to avoid creating a ccache config entry for
preauth module config data if there isn't any to save.

ticket: 7427 (new)
target_version: 1.11
tags: pullup

12 years agoQuiet down two noisy test programs
Greg Hudson [Wed, 24 Oct 2012 03:57:20 +0000 (23:57 -0400)] 
Quiet down two noisy test programs

12 years agoRevert last trace.c change
Greg Hudson [Wed, 24 Oct 2012 02:39:27 +0000 (22:39 -0400)] 
Revert last trace.c change

The fencepost error was illusory.

12 years agoAdd loop() kdcpreauth method
Nathaniel McCallum [Tue, 23 Oct 2012 19:08:26 +0000 (15:08 -0400)] 
Add loop() kdcpreauth method

[ghudson@mit.edu: avoid verto.h header dependency; minor fixes]

ticket: 7426 (new)
target_version: 1.11
tags: pullup

12 years agoFix verto_ctx declaration in preauth_plugin.h
Greg Hudson [Wed, 24 Oct 2012 02:09:25 +0000 (22:09 -0400)] 
Fix verto_ctx declaration in preauth_plugin.h

ticket: 7425 (new)
target_version: 1.11
tags: pullup

12 years agoAdd missing macro and type index.rst entries
Greg Hudson [Wed, 24 Oct 2012 02:00:24 +0000 (22:00 -0400)] 
Add missing macro and type index.rst entries

ticket: 7424 (new)
target_version: 1.11
tags: pullup

12 years agoOnly record real selected preauth type
Greg Hudson [Wed, 24 Oct 2012 01:25:38 +0000 (21:25 -0400)] 
Only record real selected preauth type

Move where we record the selected preauth type so that we never record
an informational preauth type, only a real one.

ticket: 7422 (new)
target_version: 1.11
tags: pullup

12 years agoCorrect typo in krb5_rd_req documentation
Greg Hudson [Wed, 24 Oct 2012 01:08:54 +0000 (21:08 -0400)] 
Correct typo in krb5_rd_req documentation

ticket: 7421

12 years agoPrint tilde characters as-is in trace output
Greg Hudson [Tue, 23 Oct 2012 23:07:27 +0000 (19:07 -0400)] 
Print tilde characters as-is in trace output

ticket: 7420 (new)
target_version: 1.11
tags: pullup

12 years agoAlter responder function signature for consistency
Greg Hudson [Tue, 23 Oct 2012 17:16:44 +0000 (13:16 -0400)] 
Alter responder function signature for consistency

For the responder callback signature, put the closure argument just
after the context, and use KRB5_CALLCONV.  These changes make the
signature consistent with most other libkrb5 callbacks.

ticket: 7419 (new)
target_version: 1.11
tags: pullup

12 years agoDocument prompter and responder callbacks
Greg Hudson [Mon, 22 Oct 2012 19:58:02 +0000 (15:58 -0400)] 
Document prompter and responder callbacks

12 years agoDon't use PA_PSEUDO in pkinit client code
Greg Hudson [Mon, 22 Oct 2012 05:56:33 +0000 (01:56 -0400)] 
Don't use PA_PSEUDO in pkinit client code

PA_PSEUDO only has meaning for kdcpreauth modules.  Don't use it in
the flags method of the pkinit clpreauth module.

12 years agoAdd dependencies for some test programs
Greg Hudson [Sun, 21 Oct 2012 23:46:16 +0000 (19:46 -0400)] 
Add dependencies for some test programs

Some recently added test programs under lib/krb5 didn't have their
source files added to the appropriate Makefile.in variables, and
weren't getting dependencies as a result.

ticket: 7418 (new)
target_version: 1.11
tags: pullup

12 years agoImprove C style checking
Greg Hudson [Fri, 19 Oct 2012 16:39:04 +0000 (12:39 -0400)] 
Improve C style checking

* Avoid space-before-paren false positives on some function pointer
  declarations by checking the identifier for simple type names.
* Check for space before close parenthesis.
* Check (carefully) for asymmetric spaces around binary operators.
* Handle nesting when checking for 2+ line flow control bodies.
* Check for asymmetric bracing around else statements.

12 years agoDon't expose binary format in preauth otp
Nathaniel McCallum [Fri, 19 Oct 2012 16:00:27 +0000 (12:00 -0400)] 
Don't expose binary format in preauth otp

ticket: 7417 (new)
target_version: 1.11
tags: pullup

12 years agoUse config storage for client OTP token selection
Nalin Dahyabhai [Thu, 27 Sep 2012 21:20:31 +0000 (17:20 -0400)] 
Use config storage for client OTP token selection

* Save the vendor name of the token we used to create the challenge.
* If we saved the name of a token vendor previously, prune out any
  tokeninfos which contain different vendor names.

ticket: 7416 (new)
target_version: 1.11
tags: pullup

12 years agoFix sam2 client preauth after salt changes
Greg Hudson [Thu, 18 Oct 2012 17:11:28 +0000 (13:11 -0400)] 
Fix sam2 client preauth after salt changes

Commit bc096a77ffdab283d77c2e0fc1fdd15b9f77eb41 altered the internal
contracts relating to salts, but neglected to adjust the sam2 preauth
code to match.  Do that now.

ticket: 7415 (new)
target_version: 1.11
tags: pullup

12 years agoUpdate versioning for krb5-1.12-prerelease
Tom Yu [Wed, 17 Oct 2012 22:46:30 +0000 (18:46 -0400)] 
Update versioning for krb5-1.12-prerelease

Now that krb5-1.11 is branched, the master branch is
krb5-1.12-prerelease.

12 years agomake depend
Greg Hudson [Wed, 17 Oct 2012 20:58:13 +0000 (16:58 -0400)] 
make depend

12 years agoRegenerate mit-krb5.pot
Greg Hudson [Wed, 17 Oct 2012 20:56:56 +0000 (16:56 -0400)] 
Regenerate mit-krb5.pot

12 years agoRegen kswitch.1 from RST sources
Ben Kaduk [Wed, 17 Oct 2012 18:37:50 +0000 (14:37 -0400)] 
Regen kswitch.1 from RST sources

To pick up the section/subsection correction for SYNOPSIS.

12 years agoFix kswitch section heading markup
Ben Kaduk [Wed, 17 Oct 2012 18:35:28 +0000 (14:35 -0400)] 
Fix kswitch section heading markup

SYNOPSIS is a first-level section, and should use '-' like the other
sections.

12 years agoUse config storage for client identity selection
Nalin Dahyabhai [Tue, 24 Jul 2012 21:49:05 +0000 (17:49 -0400)] 
Use config storage for client identity selection

* Keep track of the names of client identities when we load them.
* Store the client identity we just used when we create or retry a
  client request.
* If we read a client identity from the configuration, treat it like the
  KDC does: pick the "this is it, there is no other" logic branch.

12 years agoAdd "pa_config_data" configuration to ccaches
Nalin Dahyabhai [Mon, 17 Sep 2012 22:16:51 +0000 (18:16 -0400)] 
Add "pa_config_data" configuration to ccaches

* Read a "pa_config_data" item from an in_ccache, if provided, and add a
  callback which client preauth plugins can use to retrieve a string
  value from it that's keyed by a string.
* Add a callback which client preauth plugins can use to provide string
  key/value pairs to be stored in the ccache.
* Moves the definition of (struct krb5_clpreauth_rock_st) from k5-int.h
  to init_creds_ctx.h to try to reduce the number of files that will
  need to include k5-json.h to understand k5_json_value.

12 years agoRegen kinit.man from RST sources
Ben Kaduk [Wed, 17 Oct 2012 17:14:02 +0000 (13:14 -0400)] 
Regen kinit.man from RST sources

To pick up the -I option.

12 years agoAdd docs for kinit's -I option
Nalin Dahyabhai [Wed, 17 Oct 2012 15:12:27 +0000 (11:12 -0400)] 
Add docs for kinit's -I option

12 years agoMake rules for missing man/catpages
Ben Kaduk [Wed, 17 Oct 2012 16:41:40 +0000 (12:41 -0400)] 
Make rules for missing man/catpages

Add the make rules to install the subfiles as man and cat pages,
missed in the previous commit.

Also correct the omission of catpages for the server binaries.

12 years agoInstall missing man pages
Ben Kaduk [Wed, 17 Oct 2012 16:11:10 +0000 (12:11 -0400)] 
Install missing man pages

Add kadm5.acl, sserver, and sclient to MANSUBS so that we will install
them in the normal build process.

12 years agoRemove install-oldman
Ben Kaduk [Wed, 17 Oct 2012 15:37:01 +0000 (11:37 -0400)] 
Remove install-oldman

The old man pages are gone, so we can't install them anymore.
Also clean up install and install-unix targets that were installing
the old man pages by hand.

12 years agoRegenerate NOTICE from RST sources
Ben Kaduk [Wed, 17 Oct 2012 00:08:32 +0000 (20:08 -0400)] 
Regenerate NOTICE from RST sources

With manual postprocessing to compensate for the sphinx text output
engine mishandling line blocks.

12 years agoUse bulleted instead of ordinal lists as needed
Ben Kaduk [Tue, 16 Oct 2012 23:46:43 +0000 (19:46 -0400)] 
Use bulleted instead of ordinal lists as needed

The texinfo-generated NOTICE used bullets for some of the lists;
make the RST source consistent with that.

12 years agoRemove KRB5_DB_LOCKMODE_DONTBLOCK from kdb.h
Greg Hudson [Wed, 17 Oct 2012 00:26:04 +0000 (20:26 -0400)] 
Remove KRB5_DB_LOCKMODE_DONTBLOCK from kdb.h

It's wasn't used and wasn't implemented.

12 years agoUse blocking locks for policy DB
Greg Hudson [Wed, 17 Oct 2012 00:09:51 +0000 (20:09 -0400)] 
Use blocking locks for policy DB

In the db2 kdb module, use blocking locks for the policy DB as well as
the principal DB.

ticket: 7359

12 years agoTest in_ccache and pa_types functionality
Nalin Dahyabhai [Mon, 1 Oct 2012 22:51:06 +0000 (18:51 -0400)] 
Test in_ccache and pa_types functionality

* Add a krb5int_build_conf_principals() function to allow our get/set
  code to directly prune out duplicate config entries.
* Verify that when we specify a pa_type, it affects whether or not we
  will use a particular preauth plugin.
* Verify that we correctly save the KDC's preauth type number, that we
  tried to answer, to the out_ccache.

12 years agoAdd "pa_type" configuration to ccaches
Nalin Dahyabhai [Mon, 23 Jul 2012 22:18:58 +0000 (18:18 -0400)] 
Add "pa_type" configuration to ccaches

* When producing preauth data, keep track of the type of padata in the
  KDC's list of acceptable types which prompted the module to produce
  padata.
* After obtaining credentials, store that value as a "pa_type"
  configuration item in the out_ccache.
* Read that allowed preauth type from an in_ccache, if possible.
* If we have an allowed preauth type, only call "real" modules that
  handle that value when filling in responder items and producing a
  client request.

ticket: 7414 (new)

12 years agoAdd an input ccache get_init_creds option
Nalin Dahyabhai [Mon, 23 Jul 2012 19:02:37 +0000 (15:02 -0400)] 
Add an input ccache get_init_creds option

Add a krb5_get_init_creds_opt_set_in_ccache() function.  An input
ccache may hold configuration data which the client libraries can
use to influence their decisions.

ticket: 7413 (new)

12 years agoRegenerate man pages
Ben Kaduk [Tue, 16 Oct 2012 20:40:20 +0000 (16:40 -0400)] 
Regenerate man pages

Catch up to the RST content updates.

Lots of .sp vertical space macros are removed, and the output engine
spelles "restructuredText" correctly, now.

12 years agoCheck in kadm5.acl.man
Ben Kaduk [Tue, 16 Oct 2012 20:07:16 +0000 (16:07 -0400)] 
Check in kadm5.acl.man

Somehow this man page was overlooked, previously.

12 years agoRemove nroff man pages
Ben Kaduk [Tue, 16 Oct 2012 20:03:10 +0000 (16:03 -0400)] 
Remove nroff man pages

We generate man pages from RST sources now; they are checked into
the tree in src/man/.

The gen-manpages directory is no longer needed.

12 years agoMore RST rename follow-up
Ben Kaduk [Tue, 16 Oct 2012 18:05:07 +0000 (14:05 -0400)] 
More RST rename follow-up

Update conf.py for paths to man page sources and update make rules
for building the man pages.
Correct README files for the location of the sources.

12 years agoAvoid bit shifting in krb5.h constants
Greg Hudson [Tue, 16 Oct 2012 20:23:49 +0000 (16:23 -0400)] 
Avoid bit shifting in krb5.h constants

Our traditional practice is to use hex integer literals for flag bits.
Bit shifting can be dangerous because shifting into the sign bit is
undefined.  Convert existing bit shift expressions to hex literals.

12 years agoBetter doc the accepted values for kdc_timesync
Zhanna Tsitkov [Tue, 16 Oct 2012 17:47:03 +0000 (13:47 -0400)] 
Better doc the accepted values for kdc_timesync

12 years agoModify MIT Kerberos Features document
Zhanna Tsitkov [Tue, 16 Oct 2012 17:05:43 +0000 (13:05 -0400)] 
Modify MIT Kerberos Features document

12 years agoHandle concat OTP responder case
Nathaniel McCallum [Tue, 16 Oct 2012 16:40:15 +0000 (12:40 -0400)] 
Handle concat OTP responder case

12 years agomake depend
Tom Yu [Tue, 16 Oct 2012 00:26:10 +0000 (20:26 -0400)] 
make depend

12 years agoDon't unparse principal names in process_tgs_req()
Tom Yu [Sat, 6 Oct 2012 01:28:40 +0000 (21:28 -0400)] 
Don't unparse principal names in process_tgs_req()

12 years agoRefactor process_tgs_req() 2nd-ticket handling
Tom Yu [Wed, 3 Oct 2012 19:49:24 +0000 (15:49 -0400)] 
Refactor process_tgs_req() 2nd-ticket handling

Refactor some of the second-ticket handling and session key
generation out of process_tgs_req().

12 years agoClean up domain->realm referrals
Tom Yu [Sat, 22 Sep 2012 00:49:29 +0000 (20:49 -0400)] 
Clean up domain->realm referrals

Clean up domain->realm referrals by breaking prep_reprocess_tgs_req()
into smaller functions.  Give the resulting functions more descriptive
names.  Also delete an unnecessary and almost exact copy of
krb5_get_host_realm().

12 years agoRefactor process_tgs_req() service princ search
Tom Yu [Fri, 21 Sep 2012 19:32:20 +0000 (15:32 -0400)] 
Refactor process_tgs_req() service princ search

The service principal database entry search logic in process_tgs_req()
was excessively complex, containing questionable uses of "goto", along
with deeply nested control flow.  Refactor it into smaller functions.

12 years agoMove validate_tgs_request() to a separate file
Tom Yu [Thu, 20 Sep 2012 18:13:44 +0000 (14:13 -0400)] 
Move validate_tgs_request() to a separate file

12 years agoRefactor validate_tgs_request()
Tom Yu [Fri, 14 Sep 2012 00:19:59 +0000 (20:19 -0400)] 
Refactor validate_tgs_request()

Break validate_tgs_request() into smaller functions.  Collect related
checks into helper functions.  As a result, some invalid requests with
multiple problems can produce different error messages.  This is
probably not a problem for most situations.

12 years agoMove add_to_transited to a separate file
Tom Yu [Wed, 12 Sep 2012 21:19:24 +0000 (17:19 -0400)] 
Move add_to_transited to a separate file

add_to_transited() is fairly large, and also fairly independent of the
other contents of kdc_util.c.  Move it into kdc_transit.c.  Also
simplifies the building of rtest by removing dependencies that
kdc_util.c previously needed to satisfy undefined symbols.

12 years agoMove KDC PRNG reseed logic to a helper function
Tom Yu [Wed, 12 Sep 2012 02:59:35 +0000 (22:59 -0400)] 
Move KDC PRNG reseed logic to a helper function

12 years agoEliminate some KDC globals
Tom Yu [Sat, 8 Sep 2012 00:18:41 +0000 (20:18 -0400)] 
Eliminate some KDC globals

Make kdc_active_realm a local variable in every function that needs
it.  Pass it around in various state structures as needed.  Keep the
macros that reference its members remain for now.

12 years agoDon't use kdc_active_realm in kdc/rtest.c
Tom Yu [Wed, 18 Jul 2012 18:54:29 +0000 (14:54 -0400)] 
Don't use kdc_active_realm in kdc/rtest.c

Too many parts of the KDC rely on the global variable
kdc_active_realm.  rtest.c doesn't actually need any of the
KDC-specific information that's avaiable through kdc_active_realm, so
delete references to it.

12 years agoEnforce TGS principals having 2 components
Tom Yu [Thu, 20 Sep 2012 19:35:56 +0000 (15:35 -0400)] 
Enforce TGS principals having 2 components

RFC 4120 section 7.3 says that TGS principal names have two
components.  Make krb5_is_tgs_principal() and is_cross_tgs_principal()
enforce this constraint.  Code elsewhere in the KDC already checks for
two components anyway.

12 years agoCatch up to RST move/rename
Ben Kaduk [Mon, 15 Oct 2012 22:17:50 +0000 (18:17 -0400)] 
Catch up to RST move/rename

Change the make rules for the directory structure.
Update the RST sources which include other RST sources for the
loss of the krb_ prefix.

ticket: 7409

12 years agoMassive reST content rename
Ben Kaduk [Mon, 15 Oct 2012 18:39:15 +0000 (14:39 -0400)] 
Massive reST content rename

All of rst_source/ is now just in doc/.
The krb_ prefix is stripped from the document sub-directories.
rst_tools are now just tools.

The section headers of kadmind, krb5kdc, and sserver match as conflict markers.
bigredbutton: whitespace

ticket: 7409

12 years agoWhitespace cleanup
Ben Kaduk [Mon, 15 Oct 2012 23:04:47 +0000 (19:04 -0400)] 
Whitespace cleanup

Prior to a mass rename of the RST sources and utilities.

12 years agoRemove stale implement document
Ben Kaduk [Mon, 15 Oct 2012 17:50:58 +0000 (13:50 -0400)] 
Remove stale implement document

As with the texinfo implementor's guide, it is sufficiently stale
so as to be untrustworthy without verification.
Content of this nature should live on k5wiki.kerberos.org.

ticket: 7408

12 years agoRemove the last vestiges of the texinfo docs
Ben Kaduk [Mon, 15 Oct 2012 17:38:05 +0000 (13:38 -0400)] 
Remove the last vestiges of the texinfo docs

We needed these last stragglers to build the NOTICE file at the
root of the tree, but we now generate a notice.txt from reST.

Man pages have been generated from reST for some time now, we no
longer need scripts to turn them into HTML and ps, as those can
be generated directly from the reST source.

The Makefile only existed to serve the texinfo builds, so it goes
away, too.  (The tgz target appears to have been broken since 1996.)

ticket: 7408

12 years agoMake rules for building NOTICE from RST
Ben Kaduk [Mon, 15 Oct 2012 21:47:33 +0000 (17:47 -0400)] 
Make rules for building NOTICE from RST

Sphinx-build wants to scan over all the sources in the source dir,
and its text output engine does not handle the spanning row cells
used in some of our fancy tables, so it will crash if we attempt
to generate text output from our full suite of documents.
We could work around this by attempting to just compile the one
source file as an additional argument to sphinx-build, but this
seems to insist on producing an index.txt as well as a notice.txt.
Furthermore, we cannot use the same conf.py as in rst_composite because
the paths substitutions are not available with just the minimal
contents of rst_notice.  Make a copy and remove the irrelevant parts,
for now, changing only the master_doc field as appropriate.

For the HTML build, we use the standard |copy| macro from isonum.txt
to get the unicode copyright symbol glyph, but for ASCII output we
prefer to just use the literal "(C)".

ticket: 7407

12 years agoAdd notice.rst
Ben Kaduk [Fri, 12 Oct 2012 21:12:55 +0000 (17:12 -0400)] 
Add notice.rst

To replace the texinfo sources previously used to generate NOTICE.

When compiled to HTML, compares well against the original NOTICE;
use notice.rst in mitK5license.rst instead of using a literal
include of the old NOTICE file.

ticket: 7407

12 years agoRemove texinfo implementors guide
Ben Kaduk [Fri, 12 Oct 2012 16:42:10 +0000 (12:42 -0400)] 
Remove texinfo implementors guide

It is sufficiently old and unloved that nothing in it should be
taken as truth without independent verification.
Content of this nature should live on k5wiki.kerberos.org
in the future.

ticket: 7408

12 years agoRemove unused texinfo sources
Ben Kaduk [Fri, 12 Oct 2012 16:05:30 +0000 (12:05 -0400)] 
Remove unused texinfo sources

Now that the users guide make rules are removed, some of the texinfo
sources are not referenced from anywhere and can be safely removed.

ticket: 7408

12 years agoRemove make glue for texinfo users guide
Ben Kaduk [Fri, 12 Oct 2012 15:58:07 +0000 (11:58 -0400)] 
Remove make glue for texinfo users guide

Towards removing the texinfo docs entirely.

ticket: 7408

12 years agoDisconnect the texinfo users guide from the build
Ben Kaduk [Fri, 12 Oct 2012 15:36:38 +0000 (11:36 -0400)] 
Disconnect the texinfo users guide from the build

Its content has been migrated to or superseded by the krb_users
reST documentation.

The texinfo document attempted to have a general introduction to
Kerberos, but it is not quite suitable for the target audience
of the user's guide and will be rewritten.

A few portions of the texinfo document are simply no longer relevant
and do not need to be migrated.  In particular:
The krb5-appl utilities are out of scope for this document, as they
have been moved to a separate repository.  Coverage of ksu may be
brought back at a later time, though.
The Kerberos Glossary will be expanded and handled separately.

ticket: 7408

12 years agoSet pointers to NULL after freeing them
Zhanna Tsitkov [Mon, 15 Oct 2012 20:14:24 +0000 (16:14 -0400)] 
Set pointers to NULL after freeing them

12 years agoBump libkdb5 API and DAL versions
Greg Hudson [Mon, 15 Oct 2012 18:07:09 +0000 (14:07 -0400)] 
Bump libkdb5 API and DAL versions

We made two sets of incompatible changes to the DAL and libkdb5 API
during development for 1.11 (master key list simplification and policy
extensions), so increment the appropriate version numbers.

12 years agoWait for correct message in t_iprop.py
Greg Hudson [Mon, 15 Oct 2012 17:11:18 +0000 (13:11 -0400)] 
Wait for correct message in t_iprop.py

The message "Got incremental updates from the master" precedes
actually replaying the updates on the slave.  Instead look for
"Incremental updates:" (the statistics message), which happens just
after the updates are replayed.

Also, we don't need to import time now that we're not sleeping.

12 years agoAdd a -C flag to klist to also show config entries
Nalin Dahyabhai [Tue, 24 Jul 2012 00:35:02 +0000 (20:35 -0400)] 
Add a -C flag to klist to also show config entries

12 years agoUse hex escaping for non-printable trace data
Nalin Dahyabhai [Tue, 24 Jul 2012 00:36:07 +0000 (20:36 -0400)] 
Use hex escaping for non-printable trace data

When adding {str}, {lenstr}, or {data} to trace output, scan for
bytes which might be non-printable, and add them as hex-escaped
versions of themselves if any are found.

12 years agoExport krb5_cc_move()
Nalin Dahyabhai [Wed, 10 Oct 2012 22:41:13 +0000 (18:41 -0400)] 
Export krb5_cc_move()

12 years agoCorrect type mismatches for get_as_key callbacks
Nalin Dahyabhai [Fri, 12 Oct 2012 17:03:24 +0000 (13:03 -0400)] 
Correct type mismatches for get_as_key callbacks

12 years agoHandle anonymous-as-signed-data-with-no-signers
Nalin Dahyabhai [Tue, 9 Oct 2012 18:47:08 +0000 (14:47 -0400)] 
Handle anonymous-as-signed-data-with-no-signers

Update to generate and consume signed-data with no signer-info, which we
need for anonymous PKINIT.