summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add responder feature for initial cred exchangesNathaniel McCallum2012-09-1113-6/+594
| | | | | | | | | | | | | | | | | | | | | | | Add new APIs: * krb5_get_init_creds_opt_set_responder * krb5_responder_get_challenge * krb5_responder_list_questions * krb5_responder_set_answer If a caller sets a responder, it will be invoked after preauth modules have had a chance to review their incoming padata but before they produce outgoing padata. The responder will be presented a set of questions with optional challenges. The responder should then answer all questions it knows how to handle. Both the answers and the challenges are printable UTF-8 and may contain encoded, structured data specific to the question asked. Add two new callbacks and one optional method to the clpreauth interface. The new method (prep_questions) allows modules to ask questions by setting them in the responder context using one of the new callbacks (ask_responder_question). The other new callback (get_responder_answer) is used by the process method to read the answers to the questions asked. ticket: 7355 (new)
* Add cred store functions to gssapi32.defGreg Hudson2012-09-101-0/+4
| | | | | | | 25ee704e83c2c63d4b5ecd12ea31c1979239041e added three new public GSSAPI functions; add them to the DLL export file. ticket: 7217
* Add zapfreestr() helper to k5-int.hGreg Hudson2012-09-101-0/+10
| | | | | | Since zapfree(str, strlen(str)) won't work for possibly-null values of str, add a helper zapfreestr() which only calls strlen() if the string value is non-null.
* Removed unused leash help fileGreg Hudson2012-09-091-0/+0
| | | | | | | | | | | The file 'checkbox blank.png' is unneeded and contains a space in the name, unnecessarily interfering with running find | xargs over the source tree. Remove it. ticket: 7352 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Define SED in util/verto/Makefile.inGreg Hudson2012-09-061-0/+1
| | | | | | | When the rules from util/k5ev/Makefile.in were moved to util/verto/Makefile.in, the rule to make rename.h was broken on non-gmake makes because the definition of SED wasn't carried over. Define it now.
* Add asn1c test vectors for alg-agility typesGreg Hudson2012-09-064-2/+404
| | | | | | | | | For the test-vectors target in tests/asn.1, add ASN.1 modules from RFC 4556 and draft-ietf-krb-wg-pkinit-alg-agility-06.txt, and output test encodings for PrincipalName, KRB5PrincipalName, OtherInfo, and PkinitSuppPubInfo. In the alg-agility module, AuthPack and DHRepInfo are renamed, as asn1c otherwise rejects them as conflicting with the RFC 4556 definitions.
* Avoid libdl dependencies in bundled libvertoGreg Hudson2012-09-0425-340/+68
| | | | | | | | | | | | | | The upstream libverto depends on dynamic loading and in particular on dladdr(), which is not universal. To avoid this dependency, stub out support for module loading (by replacing module.c) and instead integrate the k5ev module directly into the bundled verto library. This change removes the need to link, include, and invoke libverto differently depending on whether we're using the bundled library; we can always just link with -lverto and call verto_default(). bigredbutton: whitespace ticket: 7351 (new)
* Update bundled libverto to 0.2.5Greg Hudson2012-09-037-63/+363
|
* Try harder not to use clock_gettime in verto-k5evGreg Hudson2012-09-031-1/+2
| | | | | | | | | | | | We already define EV_USE_REALTIME to 0 to avoid the use of clock_gettime() (to avoid depending on librt). But in some build environments libev can detect support for a monotonic clock, which also results in using clock_gettime(). Define EV_USE_MONOTONIC to 0 as well to prevent this. ticket: 7350 (new) target_version: 1.10.4 tags: pullup
* Use separate components for shortcutsBen Kaduk2012-08-312-9/+23
| | | | | | | | | | | | | | | | | Since the Start Menu and Desktop are different folders, we should use different components for the shortcuts in those folders, given that components operate at directory granularity. Take the opportunity to use the newer style for installing shortcuts and registry keys, and make the names more descriptive. Increment the buildlevel to ensure new files are installed. ticket: 7348 (new) subject: Use more meaningfully named registry keys for shortcuts queue: kfw target_version: 1.10.4 tags: pullup
* Add support for GSS_C_NT_COMPOSITE_EXPORTLuke Howard2012-08-317-62/+78
| | | | ticket: 7347 (new)
* Support kdc_timesync offsets in memory ccacheNate Rosenblum2012-08-311-0/+22
| | | | | | | | | | | | | When using v4 file credentials caches, client clock skew offsets obtained when running with the kdc_timesync option set are persisted in the ccache. This allows the offsets to be used across separate contexts, e.g. when obtaining credentials using krb5 interfaces and subsequently importing those credentials for use in gssapi. This patch adds similar support for memory credentials caches. [ghudson@mit.edu: Minor style corrections.] ticket: 7346 (new)
* Fix memory leak in gss_add_credGreg Hudson2012-08-301-0/+3
| | | | | The most recent commit to g_acquire_cred.c allocates an OID set to pass to the mech, but never releases it. Fix that.
* Do not emit debug printfs under NODEBUGBen Kaduk2012-08-291-0/+2
| | | | | | | | | | | | | | These printfs spew to the console when command-line utilities such as 'klist' and 'aklog' are run, reducing usability. These printfs can also cause application hangs. On a multiprocessor machine, when PuTTY and the ccapiserver are running on different CPUs, PuTTY appears to deadlock with three concurrent threads inside cci_debug_printf(). ticket: 7342 (new) target_version: 1.10.4 tags: pullup
* Fix KfW startup shortcut installationKevin Wasserman2012-08-292-8/+5
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7341 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Clean out dead code from ccapiKevin Wasserman2012-08-292-39/+0
| | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7237 target_version: 1.10.4 tags: pullup
* Fix KfW thread-local storage allocation issuesKevin Wasserman2012-08-292-12/+23
| | | | | | | | | | | | Allocate thread-local storage on demand; don't rely on the DLL_THREAD_ATTACH case in DllMain() since pre-existing threads will never execute that code. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7340 (new) target_version: 1.10.4 tags: pullup
* Improve error translation for CCAPIv3 routinesBen Kaduk2012-08-291-8/+9
| | | | | | | | | We can't mix the KRB5 and CC error constants; standardize on the CC ones and translate appropriately. ticket: 7339 (new) target_version: 1.10.4 tags: pullup
* Replace NIM with "MIT Kerberos" in installer textKevin Wasserman2012-08-291-3/+3
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7338 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Kill running processes on upgrades/uninstallsBen Kaduk2012-08-291-2/+18
| | | | | | | | | | | | | | | | | | The InstallValidate action of the windows installer will bring up a dialog informing us that some currently running processes must be terminated before installation may proceed, and offers to do so, but does not actually kill the processes. We have our own code to kill running processes which did not execute, for two reasons: it was sequenced after InstallValidate, and we did not have a current list of processes to look for. Add the right processes to look for and kill, and use our own process-killing code since it actually works. ticket: 7343 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Make finding 32-bit libs easierBen Kaduk2012-08-292-1/+16
| | | | | | | | | | | | | | Our 64-bit installer provides 32-bit libraries as well as 64-bit libraries, but not all 32-bit applications (e.g., PuTTY, Pidgin) are able to locate them in C:\Program Files\MIT\Kerberos . Including an InstallDir key under the Wow6432Node tree lets them work out-of-the-box; while here set all the registry keys in this component in the compatibility tree, for consistency. ticket: 7337 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Add version info for ccapi dllKevin Wasserman2012-08-292-2/+18
| | | | | | | | | | | | | | | | Without version info, this library would not get installed during an upgrade scenario, causing the MIT Kerberos application to crash on startup. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> [kaduk@mit.edu: add motivation to commit message] ticket: 7336 (new) subject: Fix KfW crash on startup after upgrade queue: kfw target_version: 1.10.4 tags: pullup
* Upgrade 64-bit KfW installationsBen Kaduk2012-08-291-2/+7
| | | | | | | | | | | We use separate UpgradeCodes for 32- and 64-bit installers, so we must check for both of them when seeing if we are upgrading an old/existing installation. ticket: 7335 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Upgrade from KfW betas, tooBen Kaduk2012-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | Instead of using 3.9.9 as a conditional for the maximum version to upgrade from, just use the current version. This seems to pick up beta tags properly (so we can upgrade from, e.g., beta 6 to beta 7 using the installer's upgrade tools), and is future-proof. Note that a 64-bit installer will not pick up an existing 32-bit install (or vice versa), but there does not seem to be infrastructure to deal with this situation easily. Also, "downgrading" by running an older installer with a newer version already installed will cause both versions to be simultaneously installed; only do this if you know what you're doing. ticket: 7334 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Fix kfw message box titlesKevin Wasserman2012-08-292-2/+2
| | | | | | | | | | | "MIT Kerberos", not "Leash32" Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7333 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Fix window close issuesKevin Wasserman2012-08-291-5/+1
| | | | | | | | | | | | Stop filtering out SC_CLOSE. 'X' button works more reliably, also alt-F4. Remove minimize box from style. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7332 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Refresh ticket display immediately after renewKevin Wasserman2012-08-291-0/+2
| | | | | | | | | | | | Set the CLeashApp::m_bUpdateDisplay flag to cause the display to update on the next WM_IDLE message to the main thread. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7331 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Update KfW installer graphicsKevin Wasserman2012-08-292-0/+0
| | | | | | | | | | | Replace dogheads with the new 'K'. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7330 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Avoid a crash when attempting to change passwordBenjamin Kaduk2012-08-291-1/+1
| | | | | | | | | | | | | In some cases we could keep stack garbage in a local pointer variable until the cleanup at the end of the function wherein krb5_free_context() would choke on the invalid non-NULL value. Initialize to zero to avoid the issue (should be written as NULL but stick to the prevailing style). ticket: 7329 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Rename old krb5.ini files awayBenjamin Kaduk2012-08-292-1/+15
| | | | | | | | | | | | | | | | | We want to always use a new krb5.ini (and our search order guarantees that we will), but users might be confused if there is still a file named krb5.ini in the old location which is now non-functional. However, it is rude to unconditionally delete the old file which may potentially be the only copy a user has of their local changes. Instead, rename the old file to a non-functioning name that indicates it is no longer being used, so that it may be consulted if needed. Only attempt the rename if we found an existing krb5.ini, and ignore errors since this is not a critical part of the installation. ticket: 7328 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Add domain_realm mappings to the athena krb5.iniKevin Wasserman2012-08-291-0/+8
| | | | | | | | | | | | | | These seem to be the only bits from the krb5.ini shipped with older versions of KfW that remain useful. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> [kaduk@mit.edu: add motivation to commit message] ticket: 7327 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Fix renew_until check for auto-renewalKevin Wasserman2012-08-291-1/+1
| | | | | | | | | | | | | | | | This was completely wrong, but only caused a severe problem on 64 bit builds. On 32 bit builds the result was effectively always 'success', so it would always attempt to renew even if there was not sufficient time left in the renewable lifetime. This did not have much observable adverse effect. But on 64 bit builds it always failed and so never attempted renewal. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7326 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Fix warning caption "Leash"->"MIT Kerberos"Kevin Wasserman2012-08-291-1/+1
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7325 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Always install krb5.ini in KfW 4.0 installerKevin Wasserman2012-08-291-1/+0
| | | | | | | | | | | | | | Pre-existing krb5.ini files from old kfw versions will be overridden due to the new search path, but not removed. This is the desired behavior since old krb5.ini files are far more likely to cause problems than to contain useful data. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7324 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Put athena-specific krb5.ini in athena subdirKevin Wasserman2012-08-294-16/+9
| | | | | | | | | | | | | The installer only picks it up if MIT_INTERNAL is defined in the environment; otherwise it uses the now-empty krb5.ini in the base directory. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7323 (new) queue: kfw target_version: 1.10.4 tags: pullup
* CCAPI client rpc fixesKevin Wasserman2012-08-294-24/+24
| | | | | | | | | | | | | | | | On Windows XP, cci_os_ipc_thread_init() causes additional threads to be spawned immediately, which results in a vicious cycle until Windows resources are exhausted. Instead, defer thread_init() until it is really needed. Also, use the MSDN-recommended defaults for RPC calls instead of random constants. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7322 (new) target_version: 1.10.4 tags: pullup
* Handle missing autocomplete object gracefullyKevin Wasserman2012-08-291-14/+15
| | | | | | | | | | | Don't crash if we can't create a CLSID_AutoComplete instance. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7321 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Add both x86 and x64 msm's to x64 installerKevin Wasserman2012-08-292-15/+30
| | | | | | | | | | | Since we have x86 dlls, we need the x86 msm's. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7320 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Use env to determine config in installer buildKevin Wasserman2012-08-292-5/+8
| | | | | | | | | | | | Use NODEBUG and DEBUG_SYMBOL from the environment to determine whether or not to define Debug and DebugSyms for the installer build. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7319 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Use release MFC lib for NODEBUG buildsKevin Wasserman2012-08-291-0/+4
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7318 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Don't require pdbs for make installKevin Wasserman2012-08-291-20/+20
| | | | | | | | | | | | When NODEBUG is defined and DEBUG_SYMBOL is not, no pdbs are generated. This should not cause make install to fail. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7316 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Add MIT krb5.ini to wix install directoryKevin Wasserman2012-08-291-0/+3
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7315 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Fix installer UI field sizesKevin Wasserman2012-08-291-12/+12
| | | | | | | | | | | | Increase title control height to make all text visible. Adjust position of description controls accordingly. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7314 (new) queue: kfw target_version: 1.10.4 tags:pullup
* Fix ribbon label hotkeysKevin Wasserman2012-08-291-1/+1
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7311 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Fix menu text change breakageKevin Wasserman2012-08-291-5/+0
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7310 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Help -- remove principal drop-down refsKevin Wasserman2012-08-288-21/+18
| | | | | | | | | | | Also a couple of minor fixups. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7309 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Disable import/export buttons and checkboxKevin Wasserman2012-08-281-1/+1
| | | | | | | | | Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7308 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Update kfw installer OS version checksKevin Wasserman2012-08-282-2/+6
| | | | | | | | | | | Require XP SP3 or Vista SP2 or Windows 7 or Server 2003 or Server 2008 Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7307 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Call CWinAppEx::InitInstance()Kevin Wasserman2012-08-281-0/+3
| | | | | | | | | | | | | Without this, AfxGlobalsAddRef() is never called, so AfxGlobalsRelease() does nothing, causing many leaks and a crash on exit in GdiplusShutdown() on Vista. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> ticket: 7306 (new) queue: kfw target_version: 1.10.4 tags: pullup
* Remove unused leashdll functionsKevin Wasserman2012-08-282-433/+0
| | | | | | | | | | | | | | | -not_an_API_LeashKRB5GetTickets -not_an_API_LeashKRB5FreeTickets and supporting routines. Also remove the unused support routine one_addr. Signed-off-by: Kevin Wasserman <kevin.wasserman@painless-security.com> [kaduk@mit.edu: adjust commit message] ticket: 7305 (new) queue: kfw target_version: 1.10.4 tags: pullup