summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix spin-loop bug in k5_sendto_kdcGreg Hudson2012-11-291-1/+1
| | | | | | | | | | | | 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
* Add camellia_key_cleanupBen Kaduk2012-11-281-1/+9
| | | | | | | | Fix memory leak. ticket: 7457 tags: pullup target_version: 1.11
* Remove last "document not in toctree" warningsBen Kaduk2012-11-272-0/+6
| | | | | | | | | | | | | | | | | | | | 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
* Render macros as literalsBen Kaduk2012-11-272-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | 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
* Handle multiline macro definitionsBen Kaduk2012-11-271-0/+2
| | | | | | | | Compress them onto one line for printing in the generated table. ticket: 7447 tags: pullup target_version: 1.11
* Exclude lists for doxygen API docsBen Kaduk2012-11-273-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Handle adjacent notes from doxygen more correctlyBen Kaduk2012-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix overflowing cell in HTML tableBen Kaduk2012-11-271-0/+3
| | | | | | | | | | | | | | | | | 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
* Update doxygen markup in krb5.hinBen Kaduk2012-11-271-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Make krb5_trace_info a typedefBen Kaduk2012-11-272-7/+13
| | | | | | | | | | | | | 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
* Use en dash instead of hyphenBen Kaduk2012-11-271-1/+1
| | | | | | | | It should not be bracketed in whitespace. ticket: 7447 tags: pullup target_version: 1.11
* Remove Test Coverage topic from documentationZhanna Tsitkov2012-11-262-32/+0
| | | | ticket: 7464
* Move Release tag into footer for Sphinx HTMLZhanna Tsitkov2012-11-262-6/+2
| | | | | | | | 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
* Remove .doctrees when cleaning src/docTom Yu2012-11-261-1/+2
| | | | | | | | | | 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
* Document krb5_get_init_creds_opt_set_in_ccacheZhanna Tsitkov2012-11-261-0/+2
| | | | | | | More specifically, document that this new API was first introduced in 1.11 ticket: 7460
* Update feature list in the documentationZhanna Tsitkov2012-11-261-77/+83
| | | | | | | | | | | | | | | 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
* Remove broken clean_hostname trace messagesGreg Hudson2012-11-252-9/+0
| | | | | | | | | | | | 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
* Update acknowledgmentsTom Yu2012-11-211-0/+32
|
* Update sponsor listTom Yu2012-11-211-0/+1
|
* Update mkrel for new doc build processTom Yu2012-11-201-1/+4
| | | | | | ticket: 7453 (new) target_version: 1.11 tags: pullup
* Reword krb5_unparse_name_ext doxygen markupGreg Hudson2012-11-201-5/+6
| | | | | | | | | | 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
* Add "Kerberos" to PDF titlesTom Yu2012-11-191-4/+4
| | | | | | ticket: 7451 (new) tags: pullup target_version: 1.11
* Fix quoting issues in LDAP KDB moduleGreg Hudson2012-11-175-99/+48
| | | | | | | | | | | | | | | 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
* Tests for kinit's detection of a keytab requestBen Kaduk2012-11-161-0/+12
| | | | | | | | | 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
* Make kinit smarter about using keytabsBen Kaduk2012-11-161-0/+11
| | | | | | | | | | | | 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
* Add Doxygen markup for Camellia enctype constantsGreg Hudson2012-11-161-4/+4
| | | | | | An RFC number has been assigned for the Camellia draft. Add Doxygen markup to the enctype and cksumtype constants pointing to the informational RFC.
* Avoid using grep -q in configure.inGreg Hudson2012-11-151-1/+1
| | | | grep -q isn't as portable as we would like, so don't use it.
* Add automated tests for LDAP KDB moduleGreg Hudson2012-11-155-2/+697
| | | | | | | | | | | | | | 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.
* Fix typo disabling static-linked LDAP back endGreg Hudson2012-11-151-1/+1
|
* Rebuild krb5.conf.man for default enctypesBen Kaduk2012-11-141-3/+3
| | | | | | | | | | 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
* Add Camellia enctypes to default enctype listsGreg Hudson2012-11-142-1/+2
| | | | | | | | | | | | 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
* Replace UTF-8 with ASCIIBen Kaduk2012-11-141-6/+6
| | | | | | | | | | | | | 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
* Rename doc subdirectoriesBen Kaduk2012-11-1468-84/+82
| | | | | | | | | | | | | | | | | | | | 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
* Remove trailing whitespaceBen Kaduk2012-11-144-5/+0
| | | | | ticket: 7433 tags: pullup
* Use release, not version, for HTML indexBen Kaduk2012-11-141-1/+1
| | | | | | | | 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
* Make glue for building PDFsBen Kaduk2012-11-142-0/+27
| | | | | | | | | | | 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
* Update conf.py for latex outputBen Kaduk2012-11-141-1/+8
| | | | | | | | | | | 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
* Use main conf.py for NOTICETom Yu2012-11-144-115/+25
| | | | | | | | | | 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
* Generate and use version.py for SphinxTom Yu2012-11-145-7/+47
| | | | | | | | | | | | 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
* Regenerate kdc.conf.man to pick up CamelliaBen Kaduk2012-11-141-0/+18
| | | | | | | | We recently added documentation of the Camellia enctypes; rebuild the in-tree man page to pick them up. ticket: 7439 tags: pullup
* Make kdb5_util dump work with LDAP againGreg Hudson2012-11-121-1/+2
| | | | | | | | | | | 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
* Add Camellia to enctype table in documentationGreg Hudson2012-11-021-0/+3
| | | | | | ticket: 7439 (new) target_version: 1.11 tags: pullup
* Fix a typo in pkinit.rstGreg Hudson2012-11-021-1/+1
|
* Update Camellia feature descriptionTom Yu2012-11-011-1/+1
| | | | | | | | | | 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
* Document PKINIT and anonymos PKINIT configurationGreg Hudson2012-11-012-0/+220
| | | | | | ticket: 7436 (new) target_version: 1.11 tags: pullup
* Correctly document krb5_unparse_name_extGreg Hudson2012-10-251-7/+13
| | | | | | ticket: 7431 target_version: 1.11 tags: pullup
* Always rebuild rst_composite in src/docGreg Hudson2012-10-251-3/+3
| | | | | | | | 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.
* Document GSSAPI loadable module interfaceGreg Hudson2012-10-253-5/+112
| | | | | | ticket: 7429 (new) target_version: 1.11 tags: pullup
* Don't leak new fields of krb5_init_creds_contextGreg Hudson2012-10-241-0/+2
| | | | | | | | | 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
* Don't save empty cc_config_out in ccacheGreg Hudson2012-10-244-1/+11
| | | | | | | | | | 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