]> git.ipfire.org Git - thirdparty/krb5.git/log
thirdparty/krb5.git
12 years agoRemove unused functions in the LDAP KDB module
Greg Hudson [Sun, 18 Nov 2012 01:19:43 +0000 (20:19 -0500)] 
Remove unused functions in the LDAP KDB module

12 years agoDon't output trailing whitespace in depfix.pl
Greg Hudson [Thu, 20 Dec 2012 16:27:49 +0000 (11:27 -0500)] 
Don't output trailing whitespace in depfix.pl

All of our deps files have a trailing space in the first line,
originating from depfix.pl.  This space triggers the whitespace
checker when generating a new deps file.  Get rid of the trailing
whitespace in the script; the change will be reflected in the deps
files the next time they are regenerated.

12 years agoPass through module errors when preauthenticating
Greg Hudson [Sun, 28 Oct 2012 15:31:37 +0000 (11:31 -0400)] 
Pass through module errors when preauthenticating

If we are responding to a KDC_ERR_PREAUTH_REQUIRED and cannot
preauthenticate, report the error from the first real preauth type we
tried.

k5_preauth() now accepts a boolean input indicating that it must
succeed on a real preauth type, instead of returning a boolean saying
whether or not it did.

ticket: 7517 (new)

12 years agoRename internal preauth functions
Greg Hudson [Sat, 27 Oct 2012 19:29:48 +0000 (15:29 -0400)] 
Rename internal preauth functions

The preauth functions are internal to libkrb5, so use the k5_ prefix,
don't use KRB5_CALLCONV, and prototype them in int-proto.h.  Also
remove krb5_do_preauth from the Unix libkrb5 export list.

Reorder the k5_preauth() and k5_preauth_tryagain() arguments for more
consistency with the clpreauth interface, and put the output padata
arguments at the end.

Rename any remaining uses of "kcontext" to "context" in preauth2.c.

12 years agoMake clpreauth flags function optional
Greg Hudson [Sat, 27 Oct 2012 15:55:36 +0000 (11:55 -0400)] 
Make clpreauth flags function optional

With one exception (KRB5_PADATA_PKINIT_KX), every padata type
processed by a clpreauth module is now a real preauthentication type.
Reduce the amount of boilerplate required for a clpreauth module by
making the flags method optional if all of the preauth types
advertised by the module are real.

12 years agoUse a proper consumer interface for clpreauth
Greg Hudson [Tue, 23 Oct 2012 17:02:12 +0000 (13:02 -0400)] 
Use a proper consumer interface for clpreauth

In preauth2.c, use wrapper functions for calls to clpreauth functions.
Get rid of the expanded-out module table, instead using a helper
function to find the handle for a preauth type.  Replace use counts
with a list of previously processed pa types.  Check for pa type
conflicts when loading clpreauth modules.

12 years agoSeparate clpreauth and kdcpreauth interfaces
Greg Hudson [Sun, 21 Oct 2012 23:37:14 +0000 (19:37 -0400)] 
Separate clpreauth and kdcpreauth interfaces

Since there is no overlap between the clpreauth and kdcpreauth
interface declarations, there's no particular reason to combine them
into one header.  For backward compatibility and convenience, leave
behind a preauth_plugin.h which includes both.

12 years agoSave extended messages across fallback to master
Greg Hudson [Sun, 21 Oct 2012 20:14:59 +0000 (16:14 -0400)] 
Save extended messages across fallback to master

In krb5_get_init_creds_password and krb5_get_init_creds_keytab, save
the extended error before retrying against the master KDC, and restore
that state if returning the error from the original request.

12 years agoAdd functions to save and restore error state
Greg Hudson [Sun, 21 Oct 2012 04:49:05 +0000 (00:49 -0400)] 
Add functions to save and restore error state

12 years agoSimplify error message retrieval
Greg Hudson [Sun, 21 Oct 2012 00:16:19 +0000 (20:16 -0400)] 
Simplify error message retrieval

Eliminate the scratch_buf field of struct error_info and just return a
non-localized constant error message if we can't allocate a copy of
the real one.  Also rely on a conformant strerror().

12 years agoStyle cleanup for internal error handling
Greg Hudson [Sat, 20 Oct 2012 20:52:29 +0000 (16:52 -0400)] 
Style cleanup for internal error handling

Fix style issues in kerrs.c and errors.c.  Rename error handling
functions to use shorter k5_ prefix.  Eliminate an inoperable
krb5int_set_error() call in gic_opte_alloc and convert the other
call to use krb5_set_error_message().

12 years agoAdd release string to index.rst page heading
Tom Yu [Tue, 18 Dec 2012 01:56:05 +0000 (20:56 -0500)] 
Add release string to index.rst page heading

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

12 years agoUpdate acknowledgments
Tom Yu [Mon, 17 Dec 2012 23:59:20 +0000 (18:59 -0500)] 
Update acknowledgments

12 years agoRegenerate manpages
Tom Yu [Tue, 18 Dec 2012 00:43:35 +0000 (19:43 -0500)] 
Regenerate manpages

12 years agoClarify enctype settings in krb5_conf.rst
Tom Yu [Tue, 18 Dec 2012 00:22:52 +0000 (19:22 -0500)] 
Clarify enctype settings in krb5_conf.rst

Clarify the krb5.conf settings default_tkt_enctypes and
default_tgs_enctypes in krb5_conf.rst.

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

12 years agoAdd web pages to resources.rst
Tom Yu [Tue, 18 Dec 2012 00:04:59 +0000 (19:04 -0500)] 
Add web pages to resources.rst

In resources.rst, add links to the MIT Kerberos software and MIT
Kerberos Consortium web pages.

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

12 years agoUpdate retiring-des with real-world experience
Ben Kaduk [Thu, 13 Dec 2012 20:26:38 +0000 (15:26 -0500)] 
Update retiring-des with real-world experience

We took notes when upgrading the ZONE.MIT.EDU realm to reduce
its usage of single-DES.  Use these to give examples for the upgrade
procedure, and flesh out some parts of it that were missing or
under-specified.

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

12 years agoDocument enctypes
Tom Yu [Mon, 17 Dec 2012 02:13:10 +0000 (21:13 -0500)] 
Document enctypes

Add enctypes.rst to document Kerberos enctypes, including some
considerations about configuring and choosing enctypes.

[kaduk@mit.edu: normalize formatting and describe reply keys a bit more.]

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

12 years agoAdd copyright footer to HTML docs
Tom Yu [Mon, 17 Dec 2012 20:44:27 +0000 (15:44 -0500)] 
Add copyright footer to HTML docs

The technique we use for inserting the feedback link in the footer
overrides the Sphinx basic/layout.html and agogo/layout.html footers
in a way that prevents us from getting the copyright link footer.
Copy the relevant part of the Sphinx basic/layout.html for now.

Add a copyright.rst that links to mitK5license.rst.

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

12 years agoUpdate README for Sphinx documentation
Tom Yu [Mon, 17 Dec 2012 19:45:57 +0000 (14:45 -0500)] 
Update README for Sphinx documentation

The README pointed at the obsolete Texinfo documentation.  Update it
to point at the Sphinx documentation.

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

12 years agoPKINIT (draft9) null ptr deref [CVE-2012-1016]
Nalin Dahyabhai [Thu, 13 Dec 2012 19:26:07 +0000 (14:26 -0500)] 
PKINIT (draft9) null ptr deref [CVE-2012-1016]

Don't check for an agility KDF identifier in the non-draft9 reply
structure when we're building a draft9 reply, because it'll be NULL.

The KDC plugin for PKINIT can dereference a null pointer when handling
a draft9 request, leading to a crash of the KDC process.  An attacker
would need to have a valid PKINIT certificate, or an unauthenticated
attacker could execute the attack if anonymous PKINIT is enabled.

CVSSv2 vector: AV:N/AC:M/Au:N/C:N/I:N/A:P/E:P/RL:O/RC:C

[tlyu@mit.edu: reformat comment and edit log message]

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

12 years agoConditionally include MITKC logo in HTML doc
Tom Yu [Thu, 13 Dec 2012 23:07:51 +0000 (18:07 -0500)] 
Conditionally include MITKC logo in HTML doc

Conditionally include the MITKC logo in the HTML output from Sphinx if
the environment variable HTML_LOGO is set.  During official builds for
the web site, that environment variable will point to an appropriately
scaled copy of the MITKC logo.

Adjust HTML document colors to match logo.

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

12 years agoFix documentation browser resizing behavior
Tom Yu [Thu, 13 Dec 2012 14:53:23 +0000 (09:53 -0500)] 
Fix documentation browser resizing behavior

Remove hardcoded dimensions from a few CSS parameters to prevent
layout problems when readers resize their browsers to have a narrower
window.

Set a max-width: 60em on the main content so that text remains
readable on wide browser windows.

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

12 years agoBetter names for doxygen-Sphinx bridge functions
Ben Kaduk [Wed, 12 Dec 2012 18:23:03 +0000 (13:23 -0500)] 
Better names for doxygen-Sphinx bridge functions

It is confusing when the codepath for the production doc build
involves calling functions with names like "test".  Rename things
which are in active use so that routines which are actually only
used for testing are more discernable as such.

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

12 years agoMake the doc build quieter
Ben Kaduk [Wed, 12 Dec 2012 15:36:18 +0000 (10:36 -0500)] 
Make the doc build quieter

Don't print out every node processed (or not processed) in the
doxygen-Sphinx bridge, nor print out a summary of how many types
or functions were processed.

While here, tell doxygen to be quiet in its output as well, and
not print out each file that is generated.  It still outputs
warnings, though.

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

12 years agoAdd examples to init_creds.rst
Greg Hudson [Thu, 13 Dec 2012 20:53:43 +0000 (15:53 -0500)] 
Add examples to init_creds.rst

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

12 years agoUse an empty challenge for the password question
Greg Hudson [Thu, 13 Dec 2012 19:53:58 +0000 (14:53 -0500)] 
Use an empty challenge for the password question

If a question's challenge is NULL, it is unnecessarily difficult for a
responder callback to detect whether it was asked.  So it's better to
use an empty challenge when there is no challenge data to communicate.
Do this for the "password" question.

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

12 years agoDocument principal name interactions with DNS
Tom Yu [Mon, 10 Dec 2012 05:21:15 +0000 (00:21 -0500)] 
Document principal name interactions with DNS

Add princ_dns.rst to document the interactions of host-based Keberos
service principal names and DNS.

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

12 years agoUpdate mkrel for SPHINX_ARGS
Tom Yu [Thu, 13 Dec 2012 01:19:17 +0000 (20:19 -0500)] 
Update mkrel for SPHINX_ARGS

Update mkrel so that it will explicitly set SPHINX_ARGS=-W to make
warnings fatal and so that it will work in an unconfigured tree.

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

12 years agoDocument API for getting anonymous tickets
Greg Hudson [Wed, 12 Dec 2012 20:46:41 +0000 (15:46 -0500)] 
Document API for getting anonymous tickets

In init_creds.rst, document how to get anonymous credentials from an
application.

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

12 years agoDon't finalize libraries in static build
Greg Hudson [Tue, 11 Dec 2012 19:36:06 +0000 (14:36 -0500)] 
Don't finalize libraries in static build

In a build with static libraries, functions tagged with
__attribute__((destructor)) may be executed in any order, not in a
topologically sorted order as they are in shared libraries.  This
could result in libcom_err functions being invoked (from another
library's finalizer) after libcom_err has been finalized, which would
(at minimum) result in using a mutex after it is destroyed.  To
prevent this kind of problem, disable finalizers in the static build
regardless of whether we have compiler or linker support for them.
Reported by Mihai Serban <mihai.serban@gmail.com>.

12 years agoRegenerate checked-in man pages
Ben Kaduk [Tue, 11 Dec 2012 22:19:44 +0000 (17:19 -0500)] 
Regenerate checked-in man pages

Pick up changes to kadmin.rst and krb5_conf.rst adding cross-references
for account lockout and detailing parameter expansion for keytab
and credentials cache names in krb5.conf

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

12 years agoUpdate manpage version on master
Ben Kaduk [Mon, 3 Dec 2012 20:41:04 +0000 (15:41 -0500)] 
Update manpage version on master

Now that version.py is in place to update Sphinx's idea of the
version number in accordance reality, update the version in the
man pages that we check in; the master branch is currently a 1.12 prerelease.

12 years agoMake sphinx warnings fatal for doc build
Ben Kaduk [Tue, 27 Nov 2012 23:45:59 +0000 (18:45 -0500)] 
Make sphinx warnings fatal for doc build

We currently do not have any warnings.  Let us keep it that way by
making warnings fatal in maintainer-mode (and configurable on the
buildslaves).  Using sphinx-build -W also causes errors to be reported
in the exit status and picked up by make, which is quite useful.

In order to allow the build bot to use -W but end-users to not use it,
SPHINX_ARGS must be passed on the command line; it cannot be set by
the convenience target 'htmlsrc'.  Document this.

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

12 years agoMake building docs easier in an unconfigured tree
Ben Kaduk [Tue, 11 Dec 2012 05:13:30 +0000 (00:13 -0500)] 
Make building docs easier in an unconfigured tree

Instead of requiring the user to specify srcdir, top_srcdir, PYTHON,
and possibly more in the future, make an 'htmlsrc' target that does so
for them.

This also lets us do the clean in the same step, so that only one
command is required of the user.

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

12 years agoUpdate comments for RFC 3244 kpasswd extensions
Ben Kaduk [Mon, 10 Dec 2012 20:51:06 +0000 (15:51 -0500)] 
Update comments for RFC 3244 kpasswd extensions

Remove the inaccurate comments "unused" and replace them with
more useful representations of what they mean.

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

12 years agoDo not document unused symbols
Ben Kaduk [Mon, 10 Dec 2012 20:02:14 +0000 (15:02 -0500)] 
Do not document unused symbols

The macro KRB5_KEYUSAGE_PA_REFERRAL was defined in an early revision
of draft-ietf-krb-wg-kerberos-referrals but did not make it into
RFC 6806.  We retain the definition so as to not break code implementing
the early draft, but need not document it.

Likewise, the krb5_octet_data structure and krb5_free_octet_data routine
are marked as having been originally introduced for PKINIT and "Do not
use this."  They are in fact unused, and should not be documented, but
the actual definitions must remain for compatibility.

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

12 years agoDon't use $(RM) in src/doc/Makefile.in
Ben Kaduk [Mon, 10 Dec 2012 23:13:52 +0000 (18:13 -0500)] 
Don't use $(RM) in src/doc/Makefile.in

We allow these rules to be used in an unconfigured tree, and some
makes do not supply a value for RM by default.

ticket: 7492 (new)
subject: Doc build in unconfigured tree broken on some platforms
tags: pullup
target_version: 1.11

12 years agoFix various integer issues
Greg Hudson [Mon, 10 Dec 2012 19:18:30 +0000 (14:18 -0500)] 
Fix various integer issues

In kdc_util.c and spnego_mech.c, error returns from ASN.1 length
functions could be ignored because they were assigned to unsigned
values.  In spnego_mech.c, two buffer size checks could be rewritten
to reduce the likelihood of pointer overflow.  In dump.c and
kdc_preauth.c, calloc() could be used to simplify the code and avoid
multiplication overflow.  In pkinit_clnt.c, the wrong value was
checked for a null result from malloc(), and the code could be
simplified.

Reported by Nickolai Zeldovich <nickolai@csail.mit.edu>.

ticket: 7488

12 years agoFix typo
Ben Kaduk [Thu, 29 Nov 2012 00:15:05 +0000 (19:15 -0500)] 
Fix typo

We do not have any files with extension "rxt".

ticket: 7471 (new)
title: typo in exclude_patterns for notice build
tags: pullup
target_version: 1.11

12 years agoNote notice.txt's dependency on version.py
Ben Kaduk [Thu, 29 Nov 2012 00:06:44 +0000 (19:06 -0500)] 
Note notice.txt's dependency on version.py

This dependency has been in effect since the notice build was changed
to use the main conf.py, due to its unconditional execfile('version.py').
Adding another conditional in conf.py seems to add needless complication,
it is easier to just note the dependency in the Makefile and carry on.

ticket: 7470 (new)
title: NOTICE build has unnoted dependency on version.py
tags: pullup
target_version: 1.11

12 years agoDo not include hidden files in the sidebar
Ben Kaduk [Wed, 28 Nov 2012 18:33:20 +0000 (13:33 -0500)] 
Do not include hidden files in the sidebar

We play games with hidden toctrees in the RST source to avoid
Sphinx warnings; make sure that they do not affect the rendered
output.

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

12 years agoDo not generate unused parts of toctree
Ben Kaduk [Tue, 27 Nov 2012 18:31:34 +0000 (13:31 -0500)] 
Do not generate unused parts of toctree

Our css only displays up to depth 3 of the toctree, partially
because the API reference content explodes at depth 4 and that would
not be pretty to see in the sidebar.  However, we would previously
always generate HTML for the full toctree and hide parts with CSS.
For the apiref, this proved to be about 65k per html file, and we
have one html file per function/type/macro.

Limit the depth of the toctree that gets generated to save on space
in the release tarball.

Unfortunately, there seems to be a Sphinx bug wherein the toctree
will only be generated to depth 1 for a document at a depth greater
than the maxdepth of the toctree, so the sidebar table of contents
on individual apiref pages will just be the toplevel toctree.
This issue is being tracked at
https://bitbucket.org/birkenfeld/sphinx/issue/1046/

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

12 years agoReformat RST to avoid sphinx warnings
Ben Kaduk [Wed, 28 Nov 2012 19:19:43 +0000 (14:19 -0500)] 
Reformat RST to avoid sphinx warnings

Old versions of docutils will see inline markup (e.g., :ref:`foo`)
at the beginning of a line in the content of a directive block
and attempt to interpret that markup as options or arguments
to the directive.  RST intended as inline markup (as opposed to
modifying the behavior of the directive) will not be interpretable
in this context, and causes Sphinx to emit a warning.

Work around this behavior by always leaving a blank line before
the content of a directive block, forcing it to be interpreted
as content and not options or arguments.

The buggy behavior was only encountered in note environments, but
for consistency of style, also reformat warning and error blocks.

Note the new style constraint in doc/README.

ticket: 7469 (new)
title: doc buildslave generates sphinx warnings
tags: pullup
target_version: 1.11

12 years agoMake resources.rst more useful to non-devs
Tom Yu [Thu, 6 Dec 2012 23:35:59 +0000 (18:35 -0500)] 
Make resources.rst more useful to non-devs

Reorder the IRC channel listing so #kerberos is first.  (Developers
form a smaller part of our audience for this documentation set.)
Remove some details that are available on the wiki and not of interest
to non-developers.

Add a pointer to the wiki.

Fix minor grammar errors in Archives.

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

12 years agoDon't return a host referral to the service realm
Greg Hudson [Fri, 7 Dec 2012 02:40:05 +0000 (21:40 -0500)] 
Don't return a host referral to the service realm

A host referral to the same realm we just looked up the principal in
is useless at best and confusing to the client at worst.  Don't
respond with one in the KDC.

ticket: 7483
target_version: 1.11
tags: pullup

12 years agoFix typo for windows versions
Ben Kaduk [Wed, 5 Dec 2012 23:21:53 +0000 (18:21 -0500)] 
Fix typo for windows versions

We omit the patchlevel if it is zero, but the check whether
the patchlevel was zero was checking the wrong variable, and thus
always succeeding.

ticket: 7481 (new)
queue: kfw
tags: pullup
target_version: 1.10.4

12 years agoAccess keys for the KfW ribbon interface
Ben Kaduk [Mon, 3 Dec 2012 19:21:55 +0000 (14:21 -0500)] 
Access keys for the KfW ribbon interface

Improve accessibility by actually enabling access keys for ribbon
elements (tap alt and follow the onscreen hints for keys to press),
instead of just underlining a letter in the name of each element.

Supply an underlined letter in the text of each element, corresponding
to this access key, even if there is not a shortcut key bound to that
element.  While here, fix conflicting assignment to 'R' on the 'options'
tab (between "Renewable Until" and "Automatic Ticket Renewal") by
making "Automatic Ticket Renewal" use 'T'.  Microsoft's UI recommendations
seem to say that access keys should be easy to locate when searching
through the menu, and thus using the first letter of the first or
second word is advisable.

The Ribbon XML Reference seems to indicate that these elements should
be "keytip" elements, but MSVS creates "keys" elements, which seem
to work, whereas "keytip" does not.  Apparently 'F' is standard for
the application button menu (which contains exit).  Access keys work
somewhat poorly for us in this menu, as they appear on top of the text
of the menu items, since we have no icons here.

ticket: 7441
tags: pullup
target_version: 1.10.4

12 years agoRewrap the Leash ribbon conf file
Ben Kaduk [Tue, 4 Dec 2012 16:19:39 +0000 (11:19 -0500)] 
Rewrap the Leash ribbon conf file

A big pile of XML on one line is not very readable.
Use 'xmllint --format' to make things more sane.

ticket: 7478 (new)
queue: kfw
tags: pullup
target_version: 1.10.4

12 years agoLeave 'OK' button visible in Leash AboutBox
Ben Kaduk [Mon, 3 Dec 2012 17:25:07 +0000 (12:25 -0500)] 
Leave 'OK' button visible in Leash AboutBox

The AboutBox dialog as specified in the resource file is larger than
the one we display; the dialog init routine marks several things as
non-visible, moves the 'OK' button up to where the now-invisible items
were, and shrinks the dialog's bounding rectangle.

However, the edit boxes containing copyright and version information
seem to always present as being on top of the 'OK' button, and their
background causes the button to appear almost invisible with the current
repositioning.

To keep the 'OK' button visible, reduce the amount that it is moved
(and the amount the dialog is shrunk) so that the button does not overlap
with the edit box.

ticket: 7443
tags: pullup
target_version: 1.10.4

12 years agoBuild fixes for windows
Ben Kaduk [Tue, 4 Dec 2012 20:51:20 +0000 (15:51 -0500)] 
Build fixes for windows

Add entries to OBJS and SRCS as well as STLIBOBJS.

Use KRB5_CALLCONV at function definition as well as declaration.

Declare missing variable in _WIN32-conditional code.

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

12 years agoCross-reference account lockout documentation
Greg Hudson [Wed, 5 Dec 2012 16:42:55 +0000 (11:42 -0500)] 
Cross-reference account lockout documentation

Link to the database.rst description of policy objects when talking
about them.  Briefly mention the "default" policy.  Link to the
kadmin_local.rst description of policy fields when referencing them.
Describe policy fields more briefly, and expand the kadmin_local.rst
descriptions where appropriate.

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

12 years agoDocument account lockout configuration
Greg Hudson [Mon, 3 Dec 2012 18:24:36 +0000 (13:24 -0500)] 
Document account lockout configuration

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

12 years agoDocument key usage assigned number conflict
Zhanna Tsitkov [Fri, 30 Nov 2012 21:54:42 +0000 (16:54 -0500)] 
Document key usage assigned number conflict

Document the fact that the key usage type 26 is used by both
KBKRB5_KEYUSAGE_PA_S4U_X509_USER_REQUEST and
KRB5_KEYUSAGE_PA_S4U_X509_USER_REQUEST, while 27 - by
KRB5_KEYUSAGE_PA_S4U_X509_USER_REPLY and KRB5_KEYUSAGE_PA_SAM_RESPONSE.

Also, since KRB5_KEYUSAGE_PA_REFERRAL is not actually used in MIT Kerberos
code and is not defined in the latest referrals draft
(http://tools.ietf.org/html/draft-ietf-krb-wg-kerberos-referrals-15)
mark it as "unused".

ticket: 7474
tags: pullup
target_version: 1.11

12 years agoDocument param expansion for keytab/ccache names
Zhanna Tsitkov [Thu, 29 Nov 2012 19:01:00 +0000 (14:01 -0500)] 
Document param expansion for keytab/ccache names

The DEFCCNAME, DEFCKTNAME and DEFKTNAME configuration options are
subjects to parameter expansion.  Also note that this feature
was first introduced in release 1.11.

ticket: 7472
tags: pullup
target_version: 1.11

12 years agoUpdate documentation Feature list with 1.11 items
Zhanna Tsitkov [Thu, 29 Nov 2012 16:51:42 +0000 (11:51 -0500)] 
Update documentation Feature list with 1.11 items

Also, change the reference for Camellia enc type to rfc6803 and
do minor table re-formatting.

ticket: 7456
tags: pullup
target_version: 1.11

12 years agoAvoid redundant socket cleanup in sendto_kdc.c
Greg Hudson [Thu, 29 Nov 2012 01:19:37 +0000 (20:19 -0500)] 
Avoid redundant socket cleanup in sendto_kdc.c

Since r25120, kill_conn() has been responsible for closing and
invalidating conn->fd.  In the unlikely event that the KDC sends a TCP
response to us before we send a TCP request, we were cleaning up the
socket again, which is useless (though also harmless).  Get rid of
that code.

12 years agoFix spin-loop bug in k5_sendto_kdc
Greg Hudson [Thu, 29 Nov 2012 06:58:13 +0000 (01:58 -0500)] 
Fix spin-loop bug in k5_sendto_kdc

In the second part of the first pass over the server list, we passed
the wrong list pointer to service_fds, causing it to see only a subset
of the server entries corresponding to sel_state.  This could cause
service_fds to spin if an event is reported on an fd not in the
subset.

ticket: 7454
target_version: 1.10.4
tags: pullup

12 years agoAdd camellia_key_cleanup
Ben Kaduk [Thu, 22 Nov 2012 02:57:40 +0000 (21:57 -0500)] 
Add camellia_key_cleanup

Fix memory leak.

ticket: 7457
tags: pullup
target_version: 1.11

12 years agoRemove last "document not in toctree" warnings
Ben Kaduk [Tue, 20 Nov 2012 23:06:22 +0000 (18:06 -0500)] 
Remove last "document not in toctree" warnings

There were two of them, for notice.rst and mitK5license.rst.
The former is included in the latter, which is linked to from
the mitK5features document but not listed in a table of contents
otherwise.  Includes are processed unconditionally, so we can
add notice.rst to the exclude_patterns array (formerly unused_docs)
and its content will still be included.

If we attempt to do the same for mitK5license.rst, it is not processed
at all, and the attempt to link to it will fail.  Instead, put a dummy
table of contents in the mitK5features document (which links to the
license document), with the "hidden" attribute.  This satisfies the
Sphinx need to know where all the input documents are without changing
the displayed table of contents.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoRender macros as literals
Ben Kaduk [Sat, 17 Nov 2012 00:48:55 +0000 (19:48 -0500)] 
Render macros as literals

Some convenience macros are referring to and dereferencing pointers,
and Sphinx will get a bit confused trying to interpret this as markup.
There should never be any markup intended to be interpreted in the
value of a macro definition, so we can silence this class of
warnings by treating them as literals.  (In some sense, they actually
are literals, too.)

This will cause a warning for macros that only cause a
symbol to be defined, that is, a literal "#define MACRO" with no
initializer, due to the lack of body in the inline-literal markup.
Such macros should probably be added to the exclude list for conversion
to reStructuredText in the Doxygen-Sphinx bridge, as was already
done for KRB5_OLD_CRYPTO.  Support code to programmatically omit
macros of this sort is deliberately *not* included, so that explicit
action must be taken when a new macro is to be undocumented.

Also, strip leading and trailing whitespace from the macro name,
since this causes problems with the markup.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoHandle multiline macro definitions
Ben Kaduk [Mon, 19 Nov 2012 20:48:37 +0000 (15:48 -0500)] 
Handle multiline macro definitions

Compress them onto one line for printing in the generated table.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoExclude lists for doxygen API docs
Ben Kaduk [Wed, 21 Nov 2012 16:31:06 +0000 (11:31 -0500)] 
Exclude lists for doxygen API docs

Doxygen will pick up every function, macro, and typedef defined
in krb5.h; some of these may not actually be part of the public
API for one reason or another.  Provide hardcoded exclude lists
for macro/function/type names for which we do not want to emit
reStructuredText documentation, and check these lists when processing
the Doxygen XML output.

Seed these lists with the macros TRUE, FALSE, KRB5_OLD_CRYPTO,
KRB5_GENERAL__, KRB5_CALLCONV, KRB5_CALLCONV_C, KRB5_CALLCONV_WRONG,
KRB5INT_BEGIN_DECLS, KRB5INT_END_DECLS, and KRB5_ATTR_DEPRECATED,
and typedefs krb5_cc_ops and krb5_responder_context. The booleans
are compatibility cruft that we do not want to advertise, and the other
macros are for internal use for signalling and platform compatibility.
The typedefs are functioning just as forward declarations.

For consistency, remove KRB5_OLD_CRYPTO.rst from the macros index; it
had no content even when we did generate it.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoHandle adjacent notes from doxygen more correctly
Ben Kaduk [Thu, 15 Nov 2012 21:27:57 +0000 (16:27 -0500)] 
Handle adjacent notes from doxygen more correctly

The Doxygen documentation seems to claim that adjacent @note entries
will be collapsed into a single "note" element, as separate paragraphs.
This seems to be reflected in the XML output: multiple <para> entries
in a single <simplesec kind="note"> with a <simplesecsep/> element
between them.

Our XML-to-RST converter gets the entire contents of the simplesec
element, parsed into a unicode string with a single newline between
paragraphs.  Paragraphs seem to always start with two spaces, though
I have not tracked down the origin of this behavior.  Prior to this
commit, we would just output this entire unicode string directly.
Since our template puts a tab character before the note string, this
means that the first paragraph is indented by a tab and two spaces,
and the second paragraph by just two spaces.  Sphinx warns about this,
as "block did not end with blank line; unexpected whitespace", and
the paragraphs are indented differently within the note.

Fix the warning by checking for newlines in the interior of the
parsed unicode string, and introducing the appropriate whitespace
for the Sphinx parser.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoFix overflowing cell in HTML table
Ben Kaduk [Wed, 14 Nov 2012 18:44:08 +0000 (13:44 -0500)] 
Fix overflowing cell in HTML table

sphinx-build defaults to the 'tabulary' environment for tables,
but uses regular 'tabular' for those involving literal blocks,
since tabulary does not handle them properly.  It seems that this
deficiency of tabulary also applies to inline literals, which
are rendered as \code{} sections by the latex builder.
Fortunately, sphinx provides a workaround to force a particular
column specification for the table.

The requirement for a table:: statement after the tabularcolumns::
statement is very poorly documented.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoUpdate doxygen markup in krb5.hin
Ben Kaduk [Tue, 20 Nov 2012 18:13:12 +0000 (13:13 -0500)] 
Update doxygen markup in krb5.hin

A few places were using the standard C /* comment */ form, but
this is rendered poorly by doxygen through to our Sphinx bridge.
Use the special /**< comment */ form to get doxygen-specific behavior.
If the standard C comment form is used, the full comment (including
start and end markers) is included in the value of the macro, and
Sphinx then tries to treat the end of the comment as the start of
inline markup with no corresponding end-string, which is a warning.
Using the doxygen form of the comment, the contents of the comment
are put in a separate paragraph block, which is inserted in the
body of the generated RST document.

The markup for krb5_rd_priv() had a line that ended with an @c
markup statement without a symbol following it.  This confused
doxygen into not parsing any more of the comment.  The beginning
of the next line is a macro identifier with markup to auto-linkify it.
In RST, it is not possible to have a link and a terminal font on the
same text, so removing the @c is the appropriate fix.

There are also eleven deprecated functions which are replaced by
the krb5_c_* family of functions.  However, referring to this class
of functions as the "krb5_c_" class of functions results in Sphinx
attempting to interpret this statement as a link to a label elsewhere
in the document, and no such label exists.  To avoid this warning, use
"krb5_c_*" to refer to the class of functions, which is arguably
more correct anyways.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoMake krb5_trace_info a typedef
Ben Kaduk [Mon, 19 Nov 2012 21:36:56 +0000 (16:36 -0500)] 
Make krb5_trace_info a typedef

Our doxygen-to-sphinx documentation bridge only processes typedefs
and not structure definitions, since we almost universally use
typedefs for our data structures.  krb5_trace_info is the sole
exception, so bring it into the fold.

While here, flesh out the comment a bit more.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoUse en dash instead of hyphen
Ben Kaduk [Tue, 20 Nov 2012 17:47:12 +0000 (12:47 -0500)] 
Use en dash instead of hyphen

It should not be bracketed in whitespace.

ticket: 7447
tags: pullup
target_version: 1.11

12 years agoRemove Test Coverage topic from documentation
Zhanna Tsitkov [Mon, 26 Nov 2012 22:32:44 +0000 (17:32 -0500)] 
Remove Test Coverage topic from documentation

ticket: 7464

12 years agoMove Release tag into footer for Sphinx HTML
Zhanna Tsitkov [Mon, 26 Nov 2012 21:45:08 +0000 (16:45 -0500)] 
Move Release tag into footer for Sphinx HTML

The current position of the Release tag is in the body of the main page
of the Sphinx html.  Move it to the footer.  This way the release number
can be viewed from every page.

ticket: 7462

12 years agoRemove .doctrees when cleaning src/doc
Tom Yu [Mon, 26 Nov 2012 21:01:23 +0000 (16:01 -0500)] 
Remove .doctrees when cleaning src/doc

Sphinx produces .doctree pickles that can be over 17MB with the
current documentation.  Remove them when running "make clean" in
src/doc so that they don't pollute distribution tar files.

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

12 years agoDocument krb5_get_init_creds_opt_set_in_ccache
Zhanna Tsitkov [Mon, 26 Nov 2012 18:44:16 +0000 (13:44 -0500)] 
Document krb5_get_init_creds_opt_set_in_ccache

More specifically, document that this new API was first
introduced in 1.11

ticket: 7460

12 years agoUpdate feature list in the documentation
Zhanna Tsitkov [Wed, 21 Nov 2012 19:45:44 +0000 (14:45 -0500)] 
Update feature list in the documentation

In Quick facts section:
 - restructure the Supported platforms section;
 - do not tie KfW to 1.11 release;
 - move references to GSS-API extensions to Feature list table.
In Feature list section:
 - reformat the table;
 - move PRNG and Pre-auth mechanisms into their own tables;
 - clarify GS2 feature description;
 - reference rfc6680 for GSS-API naming extensions.
Lowercase the words in the title of the document.

ticket: 7455

12 years agoRemove broken clean_hostname trace messages
Greg Hudson [Sun, 25 Nov 2012 22:53:02 +0000 (17:53 -0500)] 
Remove broken clean_hostname trace messages

The trace messages in krb5int_clean_hostname were outputting the
entire contents of the output buffer (mostly uninitialized garbage)
into the trace log.  Since these messages were essentially redundant
with messages in the callers, and were arguably at too low of a level
to begin with, simply remove them.

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

12 years agoUpdate acknowledgments
Tom Yu [Wed, 21 Nov 2012 19:31:02 +0000 (14:31 -0500)] 
Update acknowledgments

12 years agoUpdate sponsor list
Tom Yu [Wed, 21 Nov 2012 19:12:04 +0000 (14:12 -0500)] 
Update sponsor list

12 years agoUpdate mkrel for new doc build process
Tom Yu [Wed, 21 Nov 2012 00:41:56 +0000 (19:41 -0500)] 
Update mkrel for new doc build process

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

12 years agoReword krb5_unparse_name_ext doxygen markup
Greg Hudson [Tue, 20 Nov 2012 17:33:14 +0000 (12:33 -0500)] 
Reword krb5_unparse_name_ext doxygen markup

Avoid using asterix characters in the documentation for
krb5_unparse_ext_name, since they get intepreted as markdown
punctuation when translated to RST.

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

12 years agoAdd "Kerberos" to PDF titles
Tom Yu [Mon, 19 Nov 2012 21:34:42 +0000 (16:34 -0500)] 
Add "Kerberos" to PDF titles

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

12 years agoFix quoting issues in LDAP KDB module
Greg Hudson [Sat, 17 Nov 2012 20:30:32 +0000 (15:30 -0500)] 
Fix quoting issues in LDAP KDB module

Modify ldap_filter_correct() to quote special characters for DN
strings as well as filters, since it is already used to quote a DN
string in krb5_ldap_name_to_policydn() and there's no harm in
over-quoting.  In krb5_ldap_put_principal(), quote the unparsed
principal name for use in DNs we choose.  In
krb5_ldap_create_password_policy(), use the policy name for the CN of
the policy entry instead of the (possibly quoted) first element of the
DN.

Adapted from a patch by Jim Shi <hanmao_shi@apple.com>.

ticket: 7296

12 years agoTests for kinit's detection of a keytab request
Ben Kaduk [Wed, 14 Nov 2012 20:20:16 +0000 (15:20 -0500)] 
Tests for kinit's detection of a keytab request

We must check that 'kinit -t keytab' and 'kinit -i' successfully
produce tickets, and have the specified warning output.

ticket: 7218
tags: pullup
target_version: 1.11

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