aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-12-19Make clpreauth flags function optionalGreg Hudson6-31/+7
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.
2012-12-19Use a proper consumer interface for clpreauthGreg Hudson2-422/+365
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.
2012-12-19Separate clpreauth and kdcpreauth interfacesGreg Hudson69-2060/+2047
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.
2012-12-19Save extended messages across fallback to masterGreg Hudson2-33/+28
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.
2012-12-19Add functions to save and restore error stateGreg Hudson3-0/+38
2012-12-19Simplify error message retrievalGreg Hudson2-86/+37
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().
2012-12-19Style cleanup for internal error handlingGreg Hudson10-145/+147
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().
2012-12-17Add release string to index.rst page headingTom Yu1-2/+2
ticket: 7515 (new) target_version: 1.11 tags: pullup
2012-12-17Update acknowledgmentsTom Yu1-0/+4
2012-12-17Regenerate manpagesTom Yu1-5/+15
2012-12-17Clarify enctype settings in krb5_conf.rstTom Yu1-5/+15
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
2012-12-17Add web pages to resources.rstTom Yu1-0/+7
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
2012-12-17Update retiring-des with real-world experienceBen Kaduk1-66/+337
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
2012-12-17Document enctypesTom Yu2-0/+146
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
2012-12-17Add copyright footer to HTML docsTom Yu4-1/+22
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
2012-12-17Update README for Sphinx documentationTom Yu1-12/+32
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
2012-12-14PKINIT (draft9) null ptr deref [CVE-2012-1016]Nalin Dahyabhai1-2/+3
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
2012-12-14Conditionally include MITKC logo in HTML docTom Yu3-5/+6
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
2012-12-14Fix documentation browser resizing behaviorTom Yu2-2/+9
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
2012-12-14Better names for doxygen-Sphinx bridge functionsBen Kaduk3-25/+22
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
2012-12-14Make the doc build quieterBen Kaduk3-9/+1
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
2012-12-13Add examples to init_creds.rstGreg Hudson1-4/+134
ticket: 7500 (new) target_version: 1.11 tags: pullup
2012-12-13Use an empty challenge for the password questionGreg Hudson1-1/+1
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
2012-12-12Document principal name interactions with DNSTom Yu2-0/+114
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
2012-12-12Update mkrel for SPHINX_ARGSTom Yu1-2/+2
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
2012-12-12Document API for getting anonymous ticketsGreg Hudson2-0/+28
In init_creds.rst, document how to get anonymous credentials from an application. ticket: 7496 (new) target_version: 1.11 tags: pullup
2012-12-12Don't finalize libraries in static buildGreg Hudson1-11/+13
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>.
2012-12-11Regenerate checked-in man pagesBen Kaduk2-7/+19
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
2012-12-11Update manpage version on masterBen Kaduk24-24/+24
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.
2012-12-11Make sphinx warnings fatal for doc buildBen Kaduk2-3/+4
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
2012-12-11Make building docs easier in an unconfigured treeBen Kaduk2-5/+7
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
2012-12-11Update comments for RFC 3244 kpasswd extensionsBen Kaduk1-3/+4
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
2012-12-11Do not document unused symbolsBen Kaduk5-6/+4
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
2012-12-11Don't use $(RM) in src/doc/Makefile.inBen Kaduk1-1/+1
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
2012-12-10Fix various integer issuesGreg Hudson5-39/+19
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
2012-12-10Fix typoBen Kaduk1-1/+1
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
2012-12-10Note notice.txt's dependency on version.pyBen Kaduk1-1/+1
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
2012-12-10Do not include hidden files in the sidebarBen Kaduk1-1/+1
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
2012-12-10Do not generate unused parts of toctreeBen Kaduk1-1/+1
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
2012-12-10Reformat RST to avoid sphinx warningsBen Kaduk16-32/+108
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
2012-12-09Make resources.rst more useful to non-devsTom Yu1-17/+15
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
2012-12-06Don't return a host referral to the service realmGreg Hudson3-1/+25
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
2012-12-05Fix typo for windows versionsBen Kaduk1-1/+1
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
2012-12-05Access keys for the KfW ribbon interfaceBen Kaduk1-3/+23
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
2012-12-05Rewrap the Leash ribbon conf fileBen Kaduk1-1/+331
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
2012-12-05Leave 'OK' button visible in Leash AboutBoxBen Kaduk1-1/+1
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
2012-12-05Build fixes for windowsBen Kaduk3-4/+6
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
2012-12-05Cross-reference account lockout documentationGreg Hudson3-26/+33
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
2012-12-03Document account lockout configurationGreg Hudson2-0/+141
ticket: 7477 (new) target_version: 1.11 tags: pullup
2012-11-30Document key usage assigned number conflictZhanna Tsitkov1-11/+10
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