summaryrefslogtreecommitdiffstats
path: root/src/include
Commit message (Collapse)AuthorAgeFilesLines
* Rename krb5int_buf_cstr to krb5int_buf_data, since k5bufs can be usedGreg Hudson2008-11-051-3/+3
| | | | | | | | | | | for binary data as well as C string data. The buffer will always have a null byte at krb5int_buf_len bytes regardless of whether it contains C string data. ticket: 6200 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@21003 dc483132-0cff-0310-8789-dd5450dbe970
* Add _with_password credential acquisition functions to KIM APIAlexandra Ellwood2008-11-032-3/+76
| | | | | | | | Needed for kinit password option. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20963 dc483132-0cff-0310-8789-dd5450dbe970
* In the k5buf module, add a function to append formatted data to aGreg Hudson2008-10-281-0/+8
| | | | | | | | | buffer. ticket: 6200 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20932 dc483132-0cff-0310-8789-dd5450dbe970
* Add the k5buf string module to libkrb5supportGreg Hudson2008-10-282-0/+120
| | | | | | | ticket: 6200 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20929 dc483132-0cff-0310-8789-dd5450dbe970
* Remove empty declaration of struct _krb5_kt_ops after the fully defined ↵Ezra Peisach2008-10-271-1/+0
| | | | | | structure git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20926 dc483132-0cff-0310-8789-dd5450dbe970
* partial rewrite of the ASN.1 encodersKen Raeburn2008-10-251-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of a pile of macros generating code, that have to be threaded together in just the right way to get a valid ASN.1 encoding, we now have a pile of macros for defining data structures describing the objects and the ASN.1 types they should be encoded as, which structures are interpreted by recursive invocations of an encoder engine; there should be somewhat less rope for accidentally creating invalid encodings. The new macros are commented in asn1_k_encode.c. Putting most of the work into the encoder engine also reduces the code size (in one configuration, including LDAP-KDB and PKINIT encoders, code size went from 37K to <16K, though 10K of tables were added, and the PKINIT encoders are still open-coded). Some encoder interfaces have been revised to be more regular -- all now take one pointer to const argument (no two-input encoders, no pointer-to-non-const-pointer-to-const). A few encoders were eliminated or disabled because they were neither used nor exported from the library. The LDAP-KDB encoder has been converted, but the PKINIT encoders have not as there are no regression tests for them currently. There is still plenty of room for improvement; some notes on specific ideas have been added. String encoding primitives have been combined to reduce code size. A primitive for encoding bit strings has been added. Some miscellaneous warnings in the decoders have been cleaned up. A new dejagnu test case is added that ensures that KRB-SAFE messages get exercised. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20923 dc483132-0cff-0310-8789-dd5450dbe970
* More regression tests for ASN.1 encodersKen Raeburn2008-10-251-0/+5
| | | | | | | | | Export encode_krb5_sam_response_2 and encode_krb5_enc_sam_response_enc_2 via accessor. Add encode tests for encode_krb5_sam_key, _enc_sam_response_enc, _predicted_sam_response, _sam_response_2, _enc_sam_response_enc_2. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20922 dc483132-0cff-0310-8789-dd5450dbe970
* krb5_build_principal_va does not allocate krb5_principalAlexandra Ellwood2008-10-242-1/+16
| | | | | | | | | | | | | | | | | krb5_build_principal_va does not allocate the outer krb5_principal, making it useless for generating krb5_principals which can be freed with krb5_free_principal. Added krb5_build_principal_alloc_va which allocates the krb5_principal. Added krb5int_build_principal_alloc_va which is used by KIM to avoid code duplication. KIM's kim_identity_create_from_components takes the first component as an argument because principals with no components cannot be represented with the KIM UI. Modified KIM to use this new API. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20918 dc483132-0cff-0310-8789-dd5450dbe970
* Add build system support for strlcpy and strlcat on platforms which doGreg Hudson2008-10-241-0/+8
| | | | | | | | | not provide it natively. ticket: 6200 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20916 dc483132-0cff-0310-8789-dd5450dbe970
* Use snprintf instead of strcpy/strcat in many placesGreg Hudson2008-10-231-0/+16
| | | | | | | ticket: 6200 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20912 dc483132-0cff-0310-8789-dd5450dbe970
* Merge KerberosIPC into k5_mig supportAlexandra Ellwood2008-10-151-6/+1
| | | | | | | | | Now that there are no servers using only kipc_* calls, merge them into the k5_mig_* calls. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20873 dc483132-0cff-0310-8789-dd5450dbe970
* Now that we have support for conditionally exporting symbols from the supportKen Raeburn2008-10-151-74/+5
| | | | | | library, use that for the [v]asprintf replacement functions when needed. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20871 dc483132-0cff-0310-8789-dd5450dbe970
* preferences should handle KIM_OPTIONS_DEFAULTAlexandra Ellwood2008-10-092-2/+4
| | | | | | ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20854 dc483132-0cff-0310-8789-dd5450dbe970
* KL APIs which take a NULL principal return klParameterErrAlexandra Ellwood2008-10-091-21/+24
| | | | | | | | | Fixed by making kim_ccache_create_from_client_identity take KIM_IDENTITY_ANY (at which point it returns the system default ccache). ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20850 dc483132-0cff-0310-8789-dd5450dbe970
* Change LDAP key-sequence encoder to use a single data structureKen Raeburn2008-10-061-12/+12
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20829 dc483132-0cff-0310-8789-dd5450dbe970
* Support for change password checkbox in enter and selectAlexandra Ellwood2008-10-021-4/+12
| | | | | | | | identity ui elements. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20812 dc483132-0cff-0310-8789-dd5450dbe970
* Updated documentation to reflect new APIs and re-ran DoxygenAlexandra Ellwood2008-10-019-43/+84
| | | | | | ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20806 dc483132-0cff-0310-8789-dd5450dbe970
* Make unset strings in kim_options and kim_selection_hintsAlexandra Ellwood2008-10-011-1/+3
| | | | | | | | | | | | be empty strings rather than NULL. This simplifies the stream code (and makes it easier to read and debug). In order to prevent copying tons of NUL bytes around, special case kim_string functions to use a special constant kim_empty_string. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20804 dc483132-0cff-0310-8789-dd5450dbe970
* Support for passing options back and forth for enter_identity and Alexandra Ellwood2008-10-011-1/+2
| | | | | | | | hints back for select_identity. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20794 dc483132-0cff-0310-8789-dd5450dbe970
* CCAPI should use common ipc and stream codeAlexandra Ellwood2008-09-301-5/+0
| | | | | | | | | KIM and CCAPI should share the same IPC and stream object types. Modified CCAPI to use code in src/util (stream) and src/util/mac (ipc) ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20787 dc483132-0cff-0310-8789-dd5450dbe970
* Added support for disabling password saving, both globallyAlexandra Ellwood2008-09-291-1/+6
| | | | | | | | and also per prompt via the UI. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20781 dc483132-0cff-0310-8789-dd5450dbe970
* Removed useless init and cleanup functions. Alexandra Ellwood2008-09-291-1/+1
| | | | | | | | Fixed request port list handling. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20778 dc483132-0cff-0310-8789-dd5450dbe970
* Create common stream and ipc layer for CCAPI and KIM. Alexandra Ellwood2008-09-283-1/+86
| | | | | | | | | Will switch CCAPI to this new code later though, so as not to destabilize KfM and the Windows builds. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20769 dc483132-0cff-0310-8789-dd5450dbe970
* Renamed kim_identity_get_components to kim_identity_get_components_stringAlexandra Ellwood2008-09-271-2/+2
| | | | | | | | | | | | to better reflect what it does (a string of everything but the realm, not an array of components like the old name might imply). Added private functions which will be used by KLL to shim on top of KIM. Private functions also reduce memory allocations inside of KIM. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20766 dc483132-0cff-0310-8789-dd5450dbe970
* KerberosAgent MachIPC supportAlexandra Ellwood2008-09-271-0/+10
| | | | | | ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20763 dc483132-0cff-0310-8789-dd5450dbe970
* Added kim_credential_get_options and kim_ccache_get_optionsAlexandra Ellwood2008-09-262-0/+34
| | | | | | | | for KerberosAgent to use to create new favorite identities ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20760 dc483132-0cff-0310-8789-dd5450dbe970
* Removed application name setting function from kim_selection_hints headersAlexandra Ellwood2008-09-261-28/+2
| | | | | | ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20758 dc483132-0cff-0310-8789-dd5450dbe970
* Initial checkin of Mac OS X ipc support. Alexandra Ellwood2008-09-261-7/+2
| | | | | | | | | | | | Also moved "set application name" functionality to kim_library_ because most applications do not need to call it and their name doesn't usually change over time or per thread By putting it in a global setting apps that do need to call it only have to call it once instead of every time they want to authenticate. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20757 dc483132-0cff-0310-8789-dd5450dbe970
* Removed prototype with no implementationAlexandra Ellwood2008-09-251-13/+0
| | | | | | ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20750 dc483132-0cff-0310-8789-dd5450dbe970
* Fixed bugs in command line change password support.Alexandra Ellwood2008-09-242-62/+27
| | | | | | | | | | Removed low level change password functions from export list because they require a UI context. Added kim_ccache functions needed by klist to export list. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20749 dc483132-0cff-0310-8789-dd5450dbe970
* Renamed error handling files to reflect what they do now.Alexandra Ellwood2008-09-235-103/+53
| | | | | | | | | | Moved GUI code into OS-specific directory. Fixed bugs in cache collection iterator routines where it was mishandling the magic empty ccache created when the cache collection is empty. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20747 dc483132-0cff-0310-8789-dd5450dbe970
* Added command line UI support.Alexandra Ellwood2008-09-224-654/+573
| | | | | | | | | | | Added change password and acquire credentials UI harness support. API changes to the change password support to reflect these changes. Removed callback prompter interfaces since there is now plugin support. Updated documentation. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20745 dc483132-0cff-0310-8789-dd5450dbe970
* Merge 1.7 work on auxiliary ccache functions necessary for KIM. Adds ↵Justin Anderson2008-09-222-1/+60
| | | | | | | | | | | krb5_cc_lock/unlock, krb5_cccol_lock/unlock, krb5_cc_last_change_time, krb5_cccol_last_change_time, krb5_cc_move, and adds pertype cursor support to some cache types Locking functions work the same as the CCAPI cc_ccache_lock / cc_context_lock functions, though not as read/write locks. ticket: 6124 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20743 dc483132-0cff-0310-8789-dd5450dbe970
* KIM ui plugin support and gui selection harnessAlexandra Ellwood2008-09-192-29/+55
| | | | | | ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20740 dc483132-0cff-0310-8789-dd5450dbe970
* Removed kim_identity_get_gss_name and updated documentationAlexandra Ellwood2008-09-181-12/+0
| | | | | | ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20729 dc483132-0cff-0310-8789-dd5450dbe970
* Added tentative plugin API for KIM UIAlexandra Ellwood2008-09-171-0/+90
| | | | | | ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20728 dc483132-0cff-0310-8789-dd5450dbe970
* Added support for options in favorite identities.Alexandra Ellwood2008-09-171-72/+12
| | | | | | | | | | | | Fixed KLL preference reading support to not read keys from the wrong locations. Updated prompter function prototype. Updated tests to reflect these changes. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20727 dc483132-0cff-0310-8789-dd5450dbe970
* Removed favorite identities object from public API and merged functionalityAlexandra Ellwood2008-09-112-165/+92
| | | | | | | | | | | into the preferences API to reduce function calls. Added options parameter to favorite identities (Mac OS X support still needed for options though). Updated test cases to reflect these changes. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20712 dc483132-0cff-0310-8789-dd5450dbe970
* Use krb5 threading functions.Alexandra Ellwood2008-09-082-0/+41
| | | | | | | | | | | Remove use of ECODE since errors are no longer objects. Fixed bug where bundle error strings were not returned when homedir access was off. Switched to using UTF8 unconditionally. ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20709 dc483132-0cff-0310-8789-dd5450dbe970
* CCAPI should only use one pthread keyAlexandra Ellwood2008-09-041-0/+5
| | | | | | | | | Use k5 thread functions. Also add destructors so if we ever have a way to detect application exit that the pthread key is destroyed. ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20705 dc483132-0cff-0310-8789-dd5450dbe970
* Fix vasprintf signed/unsigned mix; separate out duplicated error paths; pull ↵Ken Raeburn2008-08-291-26/+40
| | | | | | success return path out of guts of loop git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20703 dc483132-0cff-0310-8789-dd5450dbe970
* Based on patch from lxs, with some changes:Ken Raeburn2008-08-273-8/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add several new gcc warning flags, used in the KfM build process. Put declarations before code. Fix a bunch of signed/unsigned type mixes, mostly by changing variable types to unsigned int. Fix constness in handling name of default ccache name. Make sure functions get declared with prototypes: krb5int_pthread_loaded krb5int_gmt_mktime krb5int_aes_encrypt krb5int_aes_decrypt gssint_mecherrmap_init gssint_mecherramp_get. Don't shadow global names: stat accept index open encrypt. Fix variable shadowing in LDAP ASN.1 support. Don't define unused krb5int_local_addresses. Don't export internal krb5_change_set_password. Fix error return indications from gssint_oid_to_mech. Create and use k5-gmt_mktime.h to provide one global declaration of krb5int_gmt_mktime, needed before we've generated krb5.h on some platforms. Not incorporated from initial patch: const changes in function signatures. ticket: 6096 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20697 dc483132-0cff-0310-8789-dd5450dbe970
* r820@NOME-KING: raeburn | 2008-08-26 18:37:41 -0400Ken Raeburn2008-08-271-374/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | x r821@NOME-KING: raeburn | 2008-08-26 18:51:10 -0400 Remove disabled statistics gathering support. r822@NOME-KING: raeburn | 2008-08-26 18:57:20 -0400 Remove source location tracking. r823@NOME-KING: raeburn | 2008-08-26 19:05:35 -0400 Delete DEBUG_THREADS code. r824@NOME-KING: raeburn | 2008-08-26 19:18:59 -0400 Remove now-no-op assertion checks. r825@NOME-KING: raeburn | 2008-08-26 19:29:49 -0400 Simplify some wrappers. r826@NOME-KING: raeburn | 2008-08-26 19:38:23 -0400 Remove redundant comment. r827@NOME-KING: raeburn | 2008-08-26 19:49:20 -0400 When pthreads must be checked for at run time, don't include the no-op _nothread_mutex stuff too. r828@NOME-KING: raeburn | 2008-08-26 19:54:05 -0400 Remove remaining DEBUG_THREADS bits. r829@NOME-KING: raeburn | 2008-08-26 20:00:22 -0400 fix up initializer r830@NOME-KING: raeburn | 2008-08-26 20:10:37 -0400 Flatten a couple of structs wrapping single elements. r831@NOME-KING: raeburn | 2008-08-26 20:14:01 -0400 Remove k5_pthread_mutex_*lock macros. r832@NOME-KING: raeburn | 2008-08-26 20:19:14 -0400 Update comments a bit for lack of debug support. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20696 dc483132-0cff-0310-8789-dd5450dbe970
* Change non-debug version of k5_debug_log to int to silence someKen Raeburn2008-08-261-1/+1
| | | | | | compiler warnings. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20695 dc483132-0cff-0310-8789-dd5450dbe970
* Incorporate Apple's patchKen Raeburn2008-08-252-0/+112
| | | | | | | | | | | | | | | | | | | | | | Add a test authorization data scheme, in both built-in and plugin forms; built-in version is #ifdef'ed out. Update configury to create the build directory for the plugin, but don't build or install it by default. Create the new (and normally empty) authorization data plugin directory at install time. Add some (normally disabled) code to log authz data from rd_req. Fix up some comments that still refer to preauth plugins. Add some details in comments on the API, and why it's private for now. Make the plugin init context support work, by not passing null pointers. ticket: 5565 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20691 dc483132-0cff-0310-8789-dd5450dbe970
* Fix sense of test of lock call preparing to update debug info inKen Raeburn2008-08-251-1/+1
| | | | | | | | | k5_mutex_destroy. Thanks, Ezra. ticket: 6090 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20690 dc483132-0cff-0310-8789-dd5450dbe970
* Updated documentation to be more specific about TLS impactAlexandra Ellwood2008-08-221-5/+8
| | | | git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20683 dc483132-0cff-0310-8789-dd5450dbe970
* Add support to send CFNotifications on ccache and cache collection changesAlexandra Ellwood2008-08-201-0/+10
| | | | | | ticket: new git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20679 dc483132-0cff-0310-8789-dd5450dbe970
* Modified hints APIs to be a single API that takes string keys.Alexandra Ellwood2008-08-1910-344/+246
| | | | | | | | | | | Removed error object. Changed error message API to use thread specific data. Split out debugging API into separate files. ticket: 6055 status: open git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20670 dc483132-0cff-0310-8789-dd5450dbe970
* Move internal cccursor structures/prototypes to the ccache private includeEzra Peisach2008-08-161-20/+0
| | | | | | | file. Functions are not exported from library. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20665 dc483132-0cff-0310-8789-dd5450dbe970