krb5.git
17 years agoMake case of username in config.xml and presence test match what's passed to GETOPTS!
Kevin Koch [Thu, 12 Apr 2007 15:48:12 +0000 (15:48 +0000)]
Make case of username in config.xml and presence test match what's passed to GETOPTS!

Update doc for new config structure in config xml.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19431 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoKfW build automation:
Kevin Koch [Thu, 12 Apr 2007 14:29:07 +0000 (14:29 +0000)]
KfW build automation:

Consolidate all command line switch info in one section of the config.xml, flatten structure.
Don't prune .../site/... .
Use getopts negate option where possible.
New method of dealing with repository options, driven from config xml.
Adjust code to find switches in new place.

Hardwire default config to bkwconfig.xml.  Makes "bkw.pl" the out-of-the-box command line.
Hardwire unixfind path to C:\tools\cygwin\bin.
Add filver to required programs list.

Update documentation.

Target_Version: 1.6.1
Ticket: 5521
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19430 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoFix some typos and most importantly add Indexing
Jeffrey Altman [Thu, 12 Apr 2007 07:44:55 +0000 (07:44 +0000)]
Fix some typos and most importantly add Indexing

ticket: 5525

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19429 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNIM 1.2 HtmlHelp User Documentation
Jeffrey Altman [Thu, 12 Apr 2007 05:32:20 +0000 (05:32 +0000)]
NIM 1.2 HtmlHelp User Documentation

Update all text for NIM 1.2.

Update most screen images.

Convert all images to PNG format from BMP in order to reduce the
size of the files.

Ensure that all pages are accessible via a path beginning at the
welcome.htm page.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19428 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNIM doxyfile.cfg - update to Doxygen 1.5.2
Jeffrey Altman [Thu, 12 Apr 2007 03:45:02 +0000 (03:45 +0000)]
NIM doxyfile.cfg - update to Doxygen 1.5.2

The doxyfile.cfg file was generated using Doxygen 1.2 which is years
old.  There have been significant improvements in the quality of the
Html output since then.  As of this commit, the current version is 1.5.2.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19427 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoKFW 3.2 Beta 2 commits
Jeffrey Altman [Thu, 12 Apr 2007 03:40:25 +0000 (03:40 +0000)]
KFW 3.2 Beta 2 commits

NetIDMgr 1.2.0.2
================

nidmgr32.dll

- When the root credential set is touched, trigger an identity
  refresh.  This is necessary to ensure that the identity list
  has a complete state of the world when the identity provider
  attempts to initialize an initial default identity when none
  previously existed.  (see krb5cred.dll section)

- Don't set the enabled state for KHUI_ACTION_DESTROY_CRED and
  KHUI_ACTION_RENEW_CRED actions.  They are set elsewhere.

krb5common.obj

- Initialize variables to prevent uninitialized use.

krb4cred.dll

- Re-order controls and use CheckRadioButton() for manipulating the
  radio buttons which select the ticket acquisition method.

- Use symbolic constants instead of numbers.

- If Kerberos 4 is enabled for a specific identity, then that setting
  takes precedence over the global setting.  The global setting is
  merely a default if a per-identity setting is not specified.
  However, a per-identity setting is only read for the default
  identity.

- If the validity of an identity is not known, assume that it is still
  being checked and don't display any credential text.

- When handling WM_COMMAND messages for the new credentials panel,
  only update the data when a BN_CLICKED message is received and only
  update the display if the IDC_NCK4_OBTAIN checkbox is toggled.

- Remove unused symbols from langres.h

krb5cred.dll

- When renewing an identity which was imported, first try to import it
  again.  If that fails to obtain newer tickets, then try initializing
  the MSLSA cache and then importing again.

- Correct spelling: k5_ident_valiate_name() ->
  k5_ident_validate_name().

- Refactor the code for setting an identity as the default so we can
  call it internally.

- When setting the initial default identity, if there is no current
  default ccache and no known last default identity, then look through
  the list of ccaches with credentials and pick one with valid
  tickets.  If all else fails, then pick any of the ccaches.

netidmgr.exe

- Credentials Window

  - Consistently use KHUI_CW_O_RELIDENT as a necessary and sufficient
    indicator that the identity needs to be released when freeing an
    outline node.

  - Properly initialize an outline node.

  - Don't group similar credentials if we aren't sorting/grouping by
    any specific column.

  - Use the KHUI_CW_O_EMPTY flag to indicate that an outline node
    contains no children.

  - Handle the case where we aren't sorting/grouping by any column.

  - Make sure outline nodes have valid idx_start and idx_end values.

  - Use consistent logic when painting and handling mouse hotspots.

  - Don't use WS_EX_TRANSPARENT when creating the notification window.

  - Use a fixed height for the notification window.

  - Update the outline when the default identity changes.

- Hypertext Window

  - Correctly handle the "center" attribute in the "p" element.

  - Use a system brush for painting the background instead of creating
    one of our own.

  - Correct the handling of scroll_left and scroll_top when
    calculating the coordinates for text.

  - Don't check if the rectangle for the text is inside the visible
    area of the window before drawing.

  - Handle WM_ERASEBKGND and use a system color brush to erase the
    background.

  - When the size changes, force the extents to be recomputed.  This
    will also update the scroll bars.

  - Use the proper return value after handling WM_PAINT.

  - The scrollbar messages send the operation code in the low word of
    wParam, not the high word.

  - Use GetScrollInfo() with SIF_POS when the operation is
    SB_ENDSCROLL or SB_THUMBPOSITION.

  - When the hottracked link changes for a transparent window, don't
    invalidate the entire parent window.  Instead use
    MapWindowPoints() to calculate the affected rectangle and
    invalidate that.

- Misc

  - Change the text of the IDS_NO_CREDS message so that it renders
    better on a small window.

  - Initialize COM when starting the GUI.

  - When showing and hiding the main window and the new credentials
    window, add a button to the task bar.  This allows the user to
    switch focus to the window if it's obstructed.

  - Remove unused symbols from resource.h

- New Credentials Window

  - Ignore the validity state of the identity when showing a password
    change dialog.  We don't expect the identity provider to validate
    the identity when changing the password.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19426 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNIM 3.2 documentation update
Jeffrey Altman [Thu, 12 Apr 2007 02:27:10 +0000 (02:27 +0000)]
NIM 3.2 documentation update

        Replace the notification icon action menu image with the latest
        menu structure.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19425 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMove autoconf.h inclusion before tests for HAVE_UNISTD_H and HAVE_SYS_TIME_H
Ezra Peisach [Wed, 11 Apr 2007 04:31:52 +0000 (04:31 +0000)]
Move autoconf.h inclusion before tests for HAVE_UNISTD_H and HAVE_SYS_TIME_H

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19423 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMissed part of last checkin.
Ken Raeburn [Tue, 10 Apr 2007 19:43:50 +0000 (19:43 +0000)]
Missed part of last checkin.
Check for cmsghdr and pktinfo structures.

ticket: 5517

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19411 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoEAI_NODATA deprecated, not always defined
Ken Raeburn [Mon, 9 Apr 2007 20:58:13 +0000 (20:58 +0000)]
EAI_NODATA deprecated, not always defined

Brian Kantor reports (on the kerberos@mit list today) that krb5-1.6
doesn't build on FreeBSD 6.1 because they've done away with
EAI_NODATA, which was removed from the getaddrinfo API in RFC 3943.

This patch conditionalizes two tests for EAI_NODATA on the macro being
defined, and also adds handling for EAI_OVERFLOW, a new error code
added in RFC 3943.

ticket: new
tags: pullup
target_version: 1.6.1

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19410 dc483132-0cff-0310-8789-dd5450dbe970

17 years agouse IP(V6)_PKTINFO in KDC for UDP sockets
Ken Raeburn [Sat, 7 Apr 2007 05:15:31 +0000 (05:15 +0000)]
use IP(V6)_PKTINFO in KDC for UDP sockets

As Denis Vlasenko pointed out in ticket 3306, using IP(V6)_PKTINFO to
get or set the local address in UDP communications instead of
allocating one socket for each address seen at startup will behave
better in environments where the addresses may change while the KDC is
running, or in certain unusual network configurations.

The patch from Denis was specific to Linux (didn't do IPV6_PKTINFO if
IP_PKTINFO wasn't defined).  I've reworked it a fair amount, and
tested the results briefly on Mac OS X (which has IPV6_PKTINFO but not
IP_PKTINFO) and Linux (which has both).

With this change, on systems like Linux supporting both socket
options, the KDC should be able to use just two UDP sockets, one for
IPv4 and one for IPv6.  (And if we turned off IPV6_V6ONLY, we might do
with one.)

Filed as a separate ticket, because Denis's complaint and patch in
3306 cover the RPC code as well.

ticket: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19408 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNIM 1.2.0.1 corrections
Jeffrey Altman [Sat, 7 Apr 2007 01:02:00 +0000 (01:02 +0000)]
NIM 1.2.0.1 corrections

NetIdMgr Version 1.2.0.1

netidmgr.exe:

 - add functionality to implement previously defined "DefaultSticky"
   registry based configuration parameter.  This value is can be added to
   an installer by a transform or pushed by Group Policy.  When set, it
   controls the default setting of the "sticky" flag for new identities.

nidmgr32.dll:

 - fix the version resources: FileVersion, ProductName, and ProductVersion

krb5cred.dll:

 - when importing an identity from the MSLSA, if there has never been a
   default identity, configure the MSLSA identity to be the default.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19407 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoKFW NSIS installer - copyright updates and aklog removal
Jeffrey Altman [Sat, 7 Apr 2007 00:33:15 +0000 (00:33 +0000)]
KFW NSIS installer - copyright updates and aklog removal

        Update copyrights to include 2007

        Removal all references to aklog

        Correct generation of Product Version

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19406 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoAdd some notes on -Bsymbolic on ELF, and why we can't use it
Ken Raeburn [Sat, 7 Apr 2007 00:20:44 +0000 (00:20 +0000)]
Add some notes on -Bsymbolic on ELF, and why we can't use it

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19405 dc483132-0cff-0310-8789-dd5450dbe970

17 years agowix installer - modify file list
Jeffrey Altman [Fri, 6 Apr 2007 19:56:31 +0000 (19:56 +0000)]
wix installer - modify file list

    for build script changes:

        site-local.nsi -> site-local-tagged.nsi
        site-local.wxi -> site-local-tagged.wxi

    add missing file:

        nsi-includes.nsi

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19402 dc483132-0cff-0310-8789-dd5450dbe970

17 years agokrb5int_open_plugin_dirs errors out if directory does not exist
Alexandra Ellwood [Thu, 5 Apr 2007 20:33:40 +0000 (20:33 +0000)]
krb5int_open_plugin_dirs errors out if directory does not exist

If one of the directories in the list doesn't exist and no filenames are
passed in because opendir fails and then the code gets an error.  opendir()
failing should not be a fatal error.  The function should just move on to
the next directory.

ticket: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19400 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoservice location plugin returning no addresses handled incorrectly
Ken Raeburn [Thu, 5 Apr 2007 20:22:28 +0000 (20:22 +0000)]
service location plugin returning no addresses handled incorrectly

If a locate plugin (e.g., the Python sample plugin and script, when
given realm BOBO.MIT.EDU) returns no error but no addresses, the library
won't report an error, but will try to make contact, and eventually
crash with a null pointer dereference.

Fix: If a plugin returns a value other than PLUGIN_NO_HANDLE, including
success, continue into the code that checks for an empty address list.

ticket: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19399 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMITKRB5-SA-2007-001: telnetd allows login as arbitrary user
Tom Yu [Tue, 3 Apr 2007 21:27:25 +0000 (21:27 +0000)]
MITKRB5-SA-2007-001: telnetd allows login as arbitrary user

Fix MITKRB5-SA-2007-001:

* src/appl/telnet/telnetd/sys_term.c (start_login): Add "--"
argument preceding username, in addition to the original patch.
Explicitly check for leading hyphen in username.

* src/appl/telnet/telnetd/state.c (envvarok): Check for leading
hyphen in environment variables.  On advice from Shawn Emery, not
using strchr() as in the original patch.

ticket: new
tags: pullup
target_version: 1.6.1

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19396 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMITKRB5-SA-2007-002: buffer overflow in krb5_klog_syslog
Tom Yu [Tue, 3 Apr 2007 19:23:52 +0000 (19:23 +0000)]
MITKRB5-SA-2007-002: buffer overflow in krb5_klog_syslog

Fix MITKRB5-SA-2007-002: buffer overflow in krb5_klog_syslog.

* src/lib/krb5/krb/get_in_tkt.c (krb5_klog_syslog): Use vsnprintf
if available.

Everything else: use precision fields on "%s" specifiers to truncate
logged strings, in case someone doesn't have vsnprintf.

ticket: new
target_version: 1.6.1
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19395 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoCorrect usage to track implementation
Kevin Koch [Tue, 3 Apr 2007 03:04:52 +0000 (03:04 +0000)]
Correct usage to track implementation

Split repository action into two parts; setting kerveros.ver variables goes in the middle, no longer conditioned on repository access.  This ensures that all substitution variables set correctly, even when the repository action is SKIP.

Avoid 'file not found' msg when deleting temp file.

BETA version not marked as RELEASE.

Create installer sandboxes from the staging area.  Build there and copy results back to staging area.  NSI build no longer picks up WIX build products.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19394 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoAdd svnbranch; change internal names to svntag and svnbranch. Implement cvs tags...
Kevin Koch [Mon, 2 Apr 2007 21:03:36 +0000 (21:03 +0000)]
Add svnbranch; change internal names to svntag and svnbranch.  Implement cvs tags and svn tags and branches.

Move reading of kerberos.ver to after files are fetched.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19389 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMore commits for NIM 1.2 Beta 1
Jeffrey Altman [Mon, 2 Apr 2007 17:49:08 +0000 (17:49 +0000)]
More commits for NIM 1.2 Beta 1

netidmgr.exe

- Credentials display :

  - When picking out the mouse hit rectangles, correctly handle the
    case where a sticky identity doesn't have any outline controls.

  - Move code to check and uncheck view layout action to
    cw_load_view() for consistency.

  - Initialize outlines properly when creating them.

  - cw_select_row_creds() should be called on all rows that are being
    selected or unselected.

- Actions :

  - Remove the 'Contents' item from the 'Help' menu.  The
    KHUI_ACTION_HELP_CTX action already opens the 'Contents' section.

  - Add 'Change password', 'Import', 'Help contents', and 'About' to
    the notification icon context menu.

  - Move the 'Import' action to be between 'Renew' and 'Destroy' for
    consistency.

- Resources :

  - "Run Network Identity Manager in System Tray" -> "Run from taskbar
    notification area"

  - "New Credentials" -> "Obtain new credentials"

- Main window :

  - Don't switch the window mode when handling a
    KHUI_ACTION_LAYOUT_RELOAD.

  - Refresh the action tables after changing the window state actions.

- Main Menu :

  - Call khm_refresh_identity_menus() when initializing the menus so
    that they have a consistent initial state.

  - When refreshing menus, the checked/unchecked state needs to be set
    explicitly by turning off flags that are no longer necessary.

  - Refresh the identities before refreshing the identity menus.

  - If there are no identities with credentials, disable renew/destroy
    menus and actions.

  - Don't bother adding 'renew/destroy all' menu items to the
    per-identity action menus if there is only one identity.

krb5cred.dll

- Resources :

  - Expand the 'Credential flags' control so that it's big enough to
    hold the contents.

source

- ccsv.pl :

  - Handle comment lines before the actual content.

- csvschema.cfg :

  - Don't bother embedding documentation in the data strucutre now.
    We don't use it.

  - Convert '[~]' to '\0' before we send it back to the parser.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19376 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoUncomment w2k files in corebinaries.xml
Kevin Koch [Mon, 2 Apr 2007 16:13:58 +0000 (16:13 +0000)]
Uncomment w2k files in corebinaries.xml

Factor processing of <Prunes> xml into pruneFiles.pl.

Factor processing of <Zips> xml into zipXML.pl.

Move SRC zip XML to <FetchSources> section of config file.

Call zipXML in /REPOSITORY CHECKOUT section of script.

Keep track of cleaning of OUTDIR so SRC zip isn't removed during packaging.

Remove UNIXFIND from config file.  If UNIXFIND isn't present in the config file, set the in-memory UNIXFIND to c:\tools\cygwin\bin.  UNIXFIND is now an implementation detail stored in the in-memory config XML, like the versions read from kerberos.ver.

Prune more temporary files before making SDK zip.

Remove redundant custom files from sdkfiles.xml.  Copy *.* from staging/inc instead of *.h -- one .c file is also required.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19375 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoCorrect some poor grammar in the opening paragraph of the
Jeffrey Altman [Mon, 2 Apr 2007 13:22:03 +0000 (13:22 +0000)]
Correct some poor grammar in the opening paragraph of the
what is NIM section.

ticket: 5504

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19374 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNetwork Identity Manager 1.2 User Manual
Jeffrey Altman [Mon, 2 Apr 2007 02:58:13 +0000 (02:58 +0000)]
Network Identity Manager 1.2 User Manual

The NIM 1.2 User Manual includes a completely re-written
introduction to what is NIM as well as new text describing
the new default "basic" view mode and the revised "new credentials"
dialog.  Updates to the menu structures, the toolbar, and
the modifications to the options pages are all provided.

All images have been updated with the new color scheme.
Image shots were taken on XP SP2 with the Silver XP Theme.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19373 dc483132-0cff-0310-8789-dd5450dbe970

17 years agomsi deployment guide updates for KFW 3.2
Jeffrey Altman [Sun, 1 Apr 2007 22:41:18 +0000 (22:41 +0000)]
msi deployment guide updates for KFW 3.2

        Update the registry value lists for KFW 3.2

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19372 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoBe smarter about cleaning the staging area.
Kevin Koch [Sun, 1 Apr 2007 18:42:18 +0000 (18:42 +0000)]
Be smarter about cleaning the staging area.
Clean output area if packaging.  (Will not clean if -nopackage specified.)

Pull corebinaries from staging area instead of from target area.

Don't sign before making zips.  Build products are only signed in the staging area before any packaging is done.  (Packaging products are signed when copied to the output area.)

Previous change: Add relnotes.html to output area.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19371 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoCorrect directory structure in zip files
Kevin Koch [Sun, 1 Apr 2007 03:28:07 +0000 (03:28 +0000)]
Correct directory structure in zip files

Make main config file match today's usage & implementation wrt /sign.

Clean staging area before using it.
Just clean output area instead of removing it.
Clean ziptemp area after each zip.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19370 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoEliminate getopt abbreviation for vverbose, which collided with the shortcut for...
Kevin Koch [Sat, 31 Mar 2007 23:20:00 +0000 (23:20 +0000)]
Eliminate getopt abbreviation for vverbose, which collided with the shortcut for verbose

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19369 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoAdd signing in staging area before building installers
Kevin Koch [Sat, 31 Mar 2007 22:31:33 +0000 (22:31 +0000)]
Add signing in staging area before building installers

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19368 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMake /OUTDIR absolute instead of relative
Kevin Koch [Sat, 31 Mar 2007 22:09:23 +0000 (22:09 +0000)]
Make /OUTDIR absolute instead of relative

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19367 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoPruning no longer required before make
Kevin Koch [Sat, 31 Mar 2007 03:33:23 +0000 (03:33 +0000)]
Pruning no longer required before make

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19366 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove most pruned directories -- they are no longer checked out
Kevin Koch [Sat, 31 Mar 2007 03:14:08 +0000 (03:14 +0000)]
Remove most pruned directories -- they are no longer checked out

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19365 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoFor the sdk zip, copy *.* and then [the new part] remove *.exe and *.msi. Further...
Kevin Koch [Fri, 30 Mar 2007 21:24:18 +0000 (21:24 +0000)]
For the sdk zip, copy *.* and then [the new part] remove *.exe and *.msi.  Further tweaks should be suggested in the form of mods to sdkfiles.xml

Minor formatting and removing redundant code.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19363 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove tabs. Improve some comments. Regroup files in copylist.pl according to desti...
Kevin Koch [Fri, 30 Mar 2007 20:08:53 +0000 (20:08 +0000)]
Remove tabs.  Improve some comments.  Regroup files in copylist.pl according to destination

Add signing.

Factor zipfiles out of bkw.pl and signing out of makeZip.pl.

Rename MITKerberosForWindows.exe before zipping it into the SDK zipfile.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19344 dc483132-0cff-0310-8789-dd5450dbe970

17 years agomore bug fixes for NIM 1.2 (KFW 3.2)
Jeffrey Altman [Thu, 29 Mar 2007 21:19:43 +0000 (21:19 +0000)]
more bug fixes for NIM 1.2 (KFW 3.2)

netidmgr.exe

- Credentials display :

  - If an outline is marked as KHUI_CW_O_STICKY | KHUI_CW_O_RELIDENT,
    release the identity when deleting the outline node.

  - Correctly determine the location of UI widgets using the column
    specifier of the outline node instead of the column specifier of
    the row.

  - Do not recompute the extents of a row.

  - If there is a default identity and it has no credentials and it is
    not pinned, display it anyway.

krb5common.obj

- Import profile_rename_section()

krb5cred.dll

- In the realm editor:

  - When writing realm data, keep track of whether any updates were
    performed.

  - Reset the dirty bits for each element whose changes were written
    to the profile.

  - Use profile_rename_section() correctly to delete sections.

  - Check if any changes were applied before setting the 'applied' bit
    for the configuration node.

  - Don't assume that the Kerberos 5 General configuration panel has
    received WMCFG_APPLY before the realm editor.  It will not receive
    the notification if it hasn't indicated that there are changes to
    be applied.

- New credentials :

  - If there is no "ExpiresOn" value for a cached prompt set, assume
    that it has already expired.

  - Set the lifetime for a new prompt set to be 7 days longer than
    then maximum renewable lifetime.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19307 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNIM commits for KFW 3.2 Beta 1
Jeffrey Altman [Thu, 29 Mar 2007 17:24:34 +0000 (17:24 +0000)]
NIM commits for KFW 3.2 Beta 1

(NetIDMgr 1.2.0.0)

netidmgr.exe

- Simplify credential window UI element placement calculations.

- Add the Custom_1 view to the UI schema.  This is used to store
  customizations to the basic view.

- Extended styles for toolbars have to be set via TB_SETEXTENDEDSTYLE
  messages instead of the EX_STYLE parameter to CreateWindowEx().
  Also, set the extended style to support detached arrows.

- Support drop down menus in the standard toolbar.

- The per-identity commands that are added to expiration dialogs are
  now flagged for automatic dispatch.

- Remove unnecessary status bar parts and display the status bar icons
  at the correct size.

- The notification alerts now display the info balloon at the correct
  size.

- Increase the height of the height of the dialog button bar to 190
  from 181 dialog units.

- Lock the action tables when refreshing the per-identity actions.
  Perform the necessary notification after refreshing the per-identity
  actions.

- "Initialize <identity>" -> "Obtain new credentials for <identity>"

- Add a button to go back to the Basic view from the Advanced view in
  the new credentials dialog.

- Cache the extents of each row since we now support rows of variable
  heights.

- Selecting a credential row or a header should select all the
  credentials that are represented by the row.

- Update the selection state after loading a new view.

- Display the expiration times in the second line of an expanded
  identity header.

- Checks for expiration flags in the credentials window now take into
  account that the each flag may occupy more than one bit position.

- Calculate the expiration flags for the identity before assigning it
  to a header, so that the header can display accurate expiration
  data.

- Kill unnecessary timers in the credentials view and make sure taht
  the KHUI_CW_ROW_TIMERSET flag is consistent with whether there is an
  active timer for the row.

- In addition to rows that hold credentials, timers can also be
  assigned to headers for identities in the basic view.  This allows
  the headers to display expiration times.

- The credentials view keeps track of the count of credentials, the
  count of identity credentials (credentials which belong to the
  credentials type that the identity belongs to) and the number of
  initial credentials.

- Configuration spaces that hold credential view definitions now
  include an additional value "_AppVersion" which contains the version
  of NIM used to create the data.  If the current version is greater
  than the stated version, NIM will failover to using the schema
  instead of using the saved data.  This is because view definitions
  are version dependent.

- The app_version global variable is now a const.

- The renew and destroy icons in the standard toolbar are now drop
  down buttons.  If the drop down arrow is clicked, they display a
  menu with the list of identities that the operation can target.

- The renew and destroy actions on the credential menu have been
  replaced by submenus that allow the user to select the identity
  which would be the target of the operation.

- Consistently update the 'displayed' field of an alert so that
  plug-ins can keep track of which alerts are being displayed.

- If the currently displayed balloon alert has
  KHUI_ALERT_FLAG_DEFACTION flag, then dispatch the defualt command
  when the user clicks the notification icon, or display the expanded
  alert if necessary.

- Reduce flicker when drawing the credentials display by clipping the
  header control from the device context.

- The state of Advanced mode is now preserved between NIM sessions.

- The credential display layout is kept track of separately for the
  Basic and Advanced views.  Any customization done on either view
  (e.g.: changing sort order) will only affect that view.
  Customizations for the Advanced view will be saved in the Custom_0
  view, while customizations for the Basic view will be saved in
  Custom_1.

- New color scheme.

- Selecting a credential or identity will no longer mask the
  expiration state.  The selection rectangle is now alpha blended.

- In Basic view, the width of the Identity column changes with the
  width of the window so that the credentials display always fills the
  width of the window.

- The colors for the highlight, text color, highlighted text color,
  window background and other elements are now obtained via Windows so
  that NetIDMgr will be more consistent with any themes that have been
  applied.

- Correctly determine whether a column can be dragged or resized based
  on the KHUI_CW_COL_FIXED_WIDTH and KHUI_CW_COL_FIXED_POS flags.

- Correctly update the scroll bars when switching between views.

- The "marker" button for a displayed alert should not perform any
  action and it should not be the default control.  Selecting it
  should no longer cause an assertion to be thrown.

- Don't display the "... Click here for more." message when displaying
  a balloon alert if the operating system involved does not provide a
  reliable means of detecting that the user clicked on a balloon.

- When attempting to display queued alerts, if the alert at the top of
  the queue is of a type that cannot be consolidated, then show it by
  itself.

- If the size of the alert window changes, it should be redrawn
  properly.

krb5creds.dll

- Allow setting an identity as the default even if there are no
  credentials or credential caches associated with it.  We generate
  the name of the ccache we would use if we were getting new
  credentials for the identity and then set that as the default cache.

- Controls in the per-identity configuration panels resized to fit
  their contents.

- Set the credentials type and type name attributes for identities for
  which we have a TGT.

- Use khm_krb5_get_identity_params() when retrieving parameters for
  the identity global configuration panel.

- Add UI elements for setting the global values for forwardable,
  renewable and addressless flags.

- Make the schema default to issue forwardable tickets for identities
  that have no configuration and when krb5.ini does not define
  'forwardable'.

- When updating the identity properties, take all the active
  identities into account, so that we won't orphan any identities with
  Krb5 properties but no credentials associated with them.

- If there is no TGT associated with an identity, then strip it of any
  Krb5 provided properties.

- Associate identities that have a valid TGT with Krb5 by setting
  KCDB_ATTR_TYPE to the Krb5 credentials type.

- Don't attempt to renew an identity if the TGT is not renewable or is
  expired.

- When opening the configuration handle for an identity, if the
  identity does not have any configuration information, failover to
  using the per-realm configuration or the identity global
  configuration.

- When opening the configuration handle, don't return a handle that
  can't safely be closed.

- Add code from get_in_tkt.c that correctly handles per-realm settings
  when obtaining libdefaults settings from the profile.

ticket: new
component: windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19306 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoChange DEBUG and VERBOSE defaults so that omitting them from the command line has...
Kevin Koch [Thu, 29 Mar 2007 15:48:15 +0000 (15:48 +0000)]
Change DEBUG and VERBOSE defaults so that omitting them from the command line has an effect!

Pass NODEBUG=1 to build.pl.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19305 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove obsolete comment
Kevin Koch [Thu, 29 Mar 2007 14:16:16 +0000 (14:16 +0000)]
Remove obsolete comment

Add -nolog switch; always pass build.pl --nolog.  Logging will be done in bkw.pl.log

Create <src>/pismere/CVS if missing so checkout works.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19304 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoAdd %BUILDDIR% for nsi-includes.nsi, which was missed the first time around
Kevin Koch [Wed, 28 Mar 2007 19:56:48 +0000 (19:56 +0000)]
Add %BUILDDIR% for nsi-includes.nsi, which was missed the first time around

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19302 dc483132-0cff-0310-8789-dd5450dbe970

17 years agomake depend
Ken Raeburn [Wed, 28 Mar 2007 19:47:12 +0000 (19:47 +0000)]
make depend

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19301 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoUpdate svn:ignore properties
Ken Raeburn [Wed, 28 Mar 2007 19:31:01 +0000 (19:31 +0000)]
Update svn:ignore properties

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19300 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMissed in previous merges: Check if daemon() function needs to be supplied in
Ken Raeburn [Wed, 28 Mar 2007 19:24:29 +0000 (19:24 +0000)]
Missed in previous merges: Check if daemon() function needs to be supplied in
lib/apputils.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19299 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoAdd more tag substitutions to file copy and the config file, to provide a way to...
Kevin Koch [Wed, 28 Mar 2007 18:47:34 +0000 (18:47 +0000)]
Add more tag substitutions to file copy and the config file, to provide a way to generate names like kfw-3-2-0-DEBUG.exe programatically

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19298 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoPull product version information from kerberos.ver
Kevin Koch [Wed, 28 Mar 2007 18:43:11 +0000 (18:43 +0000)]
Pull product version information from kerberos.ver

Change site-local.wxi/.nsi to site-local-tagged.wxi/.nsi.  Add tags such as %VERSION-MAJOR% which are substituted by the build script.  NB:  to build the installers directly, the build script must be run at least once to generate site-local.wxi/.nsi.

Write DEBUG, RELEASE, BETA defines to site-local.nsi, based on build setting & values from kerberos.ver.

Add more tag substitutions to file copy and the config file, to provide a way to generate names like kfw-3-2-0-DEBUG.exe programatically.

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19297 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoKFW: problems with non-interactive logons
Jeffrey Altman [Wed, 28 Mar 2007 18:03:45 +0000 (18:03 +0000)]
KFW: problems with non-interactive logons

Non-interactive logons cause two problems:

(1) on XP/2003 the logon event handlers do not get triggered and on
    all platforms the LogonScript does not get executed.
    As a result, ccache files are not deleted.
(2) on all platforms, accessing the credential cache causes
    krbcc32s.exe to be spawned.  This process never terminates.

This patch tests for interactive logons.  If the logon is not
interactive, the Network Provider exits immediately.

ticket: new
component: windows
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19296 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoUpdate documentation
Kevin Koch [Tue, 27 Mar 2007 18:42:51 +0000 (18:42 +0000)]
Update documentation

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19294 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoCorrect error message text, add comments, change some command line defaults. Change...
Kevin Koch [Tue, 27 Mar 2007 18:41:34 +0000 (18:41 +0000)]
Correct error message text, add comments, change some command line defaults.  Change plink path

Target_Version: 1.6.1
Ticket: 5490
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19293 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoAll Windows apps were popping MessageBoxes when stderr is redirected. Console apps...
Kevin Koch [Tue, 27 Mar 2007 17:27:41 +0000 (17:27 +0000)]
All Windows apps were popping MessageBoxes when stderr is redirected.  Console apps shouldn't and no longer do that.  Added isGuiApp, which tests gui resource usage

Removed duplicate nested tests for _WIN32.

Ticket: 5446
Status: resolved
Target_Version: 1.6.1
Tags:  pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19292 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoremove unwanted files from kfw build script
Jeffrey Altman [Tue, 27 Mar 2007 13:47:44 +0000 (13:47 +0000)]
remove unwanted files from kfw build script

Remove aklog, khhelp.h, and the .manifest files as they are
not installed by the installer.

ticket: new
component: windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19291 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoWIX installer stores WinLogon event handler under wrong registry value
Jeffrey Altman [Tue, 27 Mar 2007 13:46:13 +0000 (13:46 +0000)]
WIX installer stores WinLogon event handler under wrong registry value

The WinLogon event handler in prior versions of the Wix installer
has been installing the event handler under the registry value "KFWLogon"
which happens to be the name that "OpenAFS" also uses for its Kerberos
logon events.   The KFW NSIS installer has used "MIT_KFW" in order to
avoid the conflict.  The Wix installer is being corrected to match.

When there is a name collision, only one of the event handlers gets
installed.  As a result, Kerberos FILE ccaches get created with SYSTEM
only ACLs and are never destroyed.  This is the same problem that
happens on Windows Vista when integrated logon is used because the
event handler hooks do not exist.

ticket: new
tags: pullup
component: windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19290 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoThis commit addresses several issues:
Jeffrey Altman [Tue, 27 Mar 2007 13:37:30 +0000 (13:37 +0000)]
This commit addresses several issues:

(1) The registry key used for activating event reporting to
    the Windows application log was wrong.  It should be
    "NetworkProvider" not "Network Provider"

(2) Event logging of the state of the "Debug" value has been
    added so that it is possible to debug the use of event
    reporting.

(3) The code no longer performs the pre-kinit operations
    if a password was not provided.

(4) A new function KFW_copy_file_cache_to_api_cache() has
    been added.  This is used instead of
    KFW_copy_file_cache_to_default_cache() permitting the
    default cache to be MSLSA, FILE, or anything else.
    The API cache name will be of the form API:principal
    just as is done by Network Identity Manager.

ticket: 5469

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19289 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoKfW build automation
Kevin Koch [Mon, 26 Mar 2007 13:28:32 +0000 (13:28 +0000)]
KfW build automation

Don't fetch afscompat.
Handle case of checkout into non-existent directory.

Target_Version: 1.6.1
Component: KfW
Tags:  pullup
Ticket: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19288 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove unused scc_default_format field from krb5_context
Ken Raeburn [Mon, 26 Mar 2007 08:58:30 +0000 (08:58 +0000)]
Remove unused scc_default_format field from krb5_context

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19287 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoInitialize 'now' to avoid compiler warning
Ken Raeburn [Sun, 25 Mar 2007 23:10:34 +0000 (23:10 +0000)]
Initialize 'now' to avoid compiler warning

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19285 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoMAX_FORMAT_BUFFER should be type size_t to reduce warnings
Ken Raeburn [Sun, 25 Mar 2007 23:10:24 +0000 (23:10 +0000)]
MAX_FORMAT_BUFFER should be type size_t to reduce warnings

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19284 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoAdjust type of 'stable' in krb5_register_serializer to reduce warnings
Ken Raeburn [Sun, 25 Mar 2007 23:10:15 +0000 (23:10 +0000)]
Adjust type of 'stable' in krb5_register_serializer to reduce warnings

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19283 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoChange strnchr sought value to int to match passed value
Ken Raeburn [Sun, 25 Mar 2007 23:10:07 +0000 (23:10 +0000)]
Change strnchr sought value to int to match passed value

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19282 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoInitialize values to avoid 'possibly uninitialized' compiler warnings
Ken Raeburn [Sun, 25 Mar 2007 23:09:56 +0000 (23:09 +0000)]
Initialize values to avoid 'possibly uninitialized' compiler warnings

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19281 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoConvert keyblock or padata types to krb5_data without compiler warnings.
Ken Raeburn [Sun, 25 Mar 2007 23:09:48 +0000 (23:09 +0000)]
Convert keyblock or padata types to krb5_data without compiler warnings.
(Added inline functions, with appropriate casts, for data conversion.)

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19280 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoUse memset to silence some 'may be used uninitialized' warnings
Ken Raeburn [Sun, 25 Mar 2007 23:09:39 +0000 (23:09 +0000)]
Use memset to silence some 'may be used uninitialized' warnings

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19279 dc483132-0cff-0310-8789-dd5450dbe970

17 years agowhitespace (mostly wrapping long lines produced by protoize)
Ken Raeburn [Sun, 25 Mar 2007 23:09:27 +0000 (23:09 +0000)]
whitespace (mostly wrapping long lines produced by protoize)

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19278 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoConfigure db2 plugin directory at top level
Ken Raeburn [Sun, 25 Mar 2007 23:09:18 +0000 (23:09 +0000)]
Configure db2 plugin directory at top level

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19277 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoPass the extra library dependency on AIX (is this even still needed??) via a new
Ken Raeburn [Sun, 25 Mar 2007 23:09:09 +0000 (23:09 +0000)]
Pass the extra library dependency on AIX (is this even still needed??) via a new
variable instead of by updating LIBS at configure time.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19276 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoDon't test for stuff not used, used unconditionally, or with feature-test macros...
Ken Raeburn [Sun, 25 Mar 2007 23:08:58 +0000 (23:08 +0000)]
Don't test for stuff not used, used unconditionally, or with feature-test macros in k5-int.h available at test time

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19275 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoBuild tests subtree makefiles at top level
Ken Raeburn [Sun, 25 Mar 2007 23:08:46 +0000 (23:08 +0000)]
Build tests subtree makefiles at top level

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19274 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoInclude autoconf.h
Ken Raeburn [Sun, 25 Mar 2007 23:08:38 +0000 (23:08 +0000)]
Include autoconf.h

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19273 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoConfigure appl test programs from top level
Ken Raeburn [Sun, 25 Mar 2007 23:08:25 +0000 (23:08 +0000)]
Configure appl test programs from top level

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19272 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoInclude autoconf.h
Ken Raeburn [Sun, 25 Mar 2007 23:08:15 +0000 (23:08 +0000)]
Include autoconf.h

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19271 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoGenerate makefiles for two static libs plus the python plugin from the top-level...
Ken Raeburn [Sun, 25 Mar 2007 23:08:05 +0000 (23:08 +0000)]
Generate makefiles for two static libs plus the python plugin from the top-level configure script

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19270 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoFix some syntax issues in testing krb5-config output
Ken Raeburn [Sun, 25 Mar 2007 23:07:53 +0000 (23:07 +0000)]
Fix some syntax issues in testing krb5-config output

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19269 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoDepend on support library
Ken Raeburn [Sun, 25 Mar 2007 23:07:43 +0000 (23:07 +0000)]
Depend on support library

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19268 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoInclude autoconf.h before testing macros for Python header location
Ken Raeburn [Sun, 25 Mar 2007 23:07:33 +0000 (23:07 +0000)]
Include autoconf.h before testing macros for Python header location

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19267 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove KRB5_BUILD_LIBRARY_STATIC; always use KRB5_BUILD_LIBRARY
Ken Raeburn [Sun, 25 Mar 2007 23:07:21 +0000 (23:07 +0000)]
Remove KRB5_BUILD_LIBRARY_STATIC; always use KRB5_BUILD_LIBRARY

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19266 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNever set krb5_force_static. Instead, set the defaults for building
Ken Raeburn [Sun, 25 Mar 2007 23:07:09 +0000 (23:07 +0000)]
Never set krb5_force_static.  Instead, set the defaults for building
shared libraries, and allow a Makefile.in to include a new makefile
fragment for building private (static, not installed) libraries.

Created another makefile fragment to be included to indicate the
shared library has no dependencies.  (Currently this is the case only
for the libdb2 library, which we don't install, but do build for
testing.)  The way we construct the library dependency search path
arguments doesn't work for an empty list on some platforms.

Updated Makefile.in to use @libpriv_frag@ and @libnodeps_frag@ as
necessary.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19265 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoStore a little more detail for unknown enctype error
Ken Raeburn [Sun, 25 Mar 2007 23:06:58 +0000 (23:06 +0000)]
Store a little more detail for unknown enctype error

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19264 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoFix PROG_LIBPATH, and use -l instead of an explicit filename to build profile_tcl
Ken Raeburn [Sun, 25 Mar 2007 23:06:44 +0000 (23:06 +0000)]
Fix PROG_LIBPATH, and use -l instead of an explicit filename to build profile_tcl

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19263 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRearrange code so all of the 'krb5_force_static' stuff is done in one place
Ken Raeburn [Sun, 25 Mar 2007 23:06:27 +0000 (23:06 +0000)]
Rearrange code so all of the 'krb5_force_static' stuff is done in one place

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19262 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove traces of enable_shared, enable_static, enable_profiled, and
Ken Raeburn [Sun, 25 Mar 2007 23:06:17 +0000 (23:06 +0000)]
Remove traces of enable_shared, enable_static, enable_profiled, and
build_dynobj.  Hard-code the behavior for shared libraries, no static,
no profiled.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19261 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove separate KRB5_BUILD_LIBRARY_WITH_DEPS macro, just use KRB5_BUILD_LIBRARY
Ken Raeburn [Sun, 25 Mar 2007 23:06:04 +0000 (23:06 +0000)]
Remove separate KRB5_BUILD_LIBRARY_WITH_DEPS macro, just use KRB5_BUILD_LIBRARY

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19260 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove commented-out macro
Ken Raeburn [Sun, 25 Mar 2007 23:05:51 +0000 (23:05 +0000)]
Remove commented-out macro

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19259 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove special support for building a shared library with no dependencies, since...
Ken Raeburn [Sun, 25 Mar 2007 23:05:37 +0000 (23:05 +0000)]
Remove special support for building a shared library with no dependencies, since we only
have one such library, and it's one we don't install.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19258 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoDon't use -Bsymbolic on Linux for now, it seems to break kadmind somehow
Ken Raeburn [Wed, 21 Mar 2007 14:52:37 +0000 (14:52 +0000)]
Don't use -Bsymbolic on Linux for now, it seems to break kadmind somehow

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19241 dc483132-0cff-0310-8789-dd5450dbe970

17 years ago When using the Vista SDK version of NTSecAPI.h it is necessary
Jeffrey Altman [Wed, 21 Mar 2007 04:48:09 +0000 (04:48 +0000)]
When using the Vista SDK version of NTSecAPI.h it is necessary
to ensure the _WIN32_WINNT have a value of 0x0501 or greater.
Otherwise, required LSA type declarations are undeclared.

Provide a registry value that can be set to turn on Application
Event log messages for debugging.

HKLM\System\CurrentControlSet\Services\MIT Kerberos\Network Provider
DWORD "Debug"

Ensure that KFW_obtain_user_temp_directory() returns a value on
error.

Correct the declaration of KFW_copy_cache_to_system_file()
to match the prototype.

ticket: 5469

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19240 dc483132-0cff-0310-8789-dd5450dbe970

17 years agokrb5 library uses kdc.conf when it shouldn't
Ken Raeburn [Wed, 21 Mar 2007 04:14:02 +0000 (04:14 +0000)]
krb5 library uses kdc.conf when it shouldn't

Don't add kdc.conf to the list of config files to use unless it's
actually requested.  Reported by Will Fiveash.

ticket: new

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19239 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoNIM: New Default View and miscellaneous fixes
Jeffrey Altman [Tue, 20 Mar 2007 20:41:52 +0000 (20:41 +0000)]
NIM: New Default View and miscellaneous fixes

================================
KfW 3.1 Alpha (NetIDMgr 1.1.11.0)

-- nidmgr32.dll

- Only one action in a menu is allowed to have KHUI_ACTIONREF_DEFAULT
  flag set.  This marks the action as being the default action for the
  menu and will be rendered as such.

- Newly created identities start off with the KCDB_IDENT_FLAG_EMPTY
  flag set.  Once credentials are associated with the identity and the
  identity is refreshed, the flag will be cleared.

- When creating actions, enforce the name length.

- khm_value_exists() now handles shadowed configuration spaces.

- Add new action KHUI_ACTION_LAYOUT_MINI which toggles between
  'Advanced' and 'Basic' views.

- Add support for F11 and F12 keys in khui_get_cmd_accel_string().

- New option for alerts to indicate that instead of just setting the
  response field in the alert, the UI should dispatch the command
  that the user has selected.

-- krb5common.obj

- khm_krb5_initialize() can return a handle to a krb5_ccache that has
  already been closed.  Now it doesn't.

- Also import 'krb5_string_to_deltat()'.

- Work around conditioned symbol definitions in ntsecapi.h in the
  Vista Platform SDK that affect Win 2000.

-- krb5cred.dll

- Don't clear the prompts when the options for an identity changes.
  The prompter code relies on the prompts being around so that the
  values that the user has entered can be retained if the new set of
  prompts is the same as the old one.

- Use the same code in the new credentials acquisition and the
  identity configuration code to obtain krb5 parameters for an
  identity.

- Reset the 'IMPORTED' flag when we get new credentials using a
  password.

- If the validity of a principal is not known, then we restrict the
  options that can be specified when calling
  krb5_get_init_creds_password() so that we can reliably determine if
  the principal is valid.  If we need to get new credentials for the
  principal, we need to make another call using the correct options.

- The return codes from the prompter need to indicate that the
  password read operation was cancelled instead of arbiraty non-zero
  values.

- When reading identity settings, if a particular setting is not
  defined in the registry, then default to reading the settings out of
  krb5.ini.

- Refer to credentials as 'credentials' or 'tickets' instead of
  'creds'.

- If an identity has imported credentials, don't import for the same
  identity again.

- When importing an identity, create the identity configuration in the
  registry if we don't already have any settings there.

- Work around conditioned symbol definitions in ntsecapi.h in the
  Vista Platform SDK that affect Win 2000.

- Rearrange declarations for clarity.

- Use the correct APIs to parse configuration values from krb5.ini.

-- krb4cred.dll

- The dialog layout was updated to accomodate a localized string that
  no longer fit in its control.

- Remove a spurious inclusion of ntsecapi.h and work around
  conditioned symbol definition in the Vista Platform SDK.

-- netidmgr.exe

- Fix the menu creation code to correctly tag the default action so
  that it will be rendered properly.

- Update the menu enumeration code to use documented functions instead
  of accessing acton lists directly.

- Pool of per-identity actions now include a set of actions for
  obtaining credentials for specific identities.

- The default action performed when the notification icon is clicked
  is now configurable.  When displaying the context menu in the
  notification area, the default action is highlighted.

- Remove unnecessary handlers from the notifcation event handler.

- Only handle NIN_SELECT instead of both NIN_SELECT and WM_LBUTTONUP
  in the notification event handler.  When the user clicks the
  notication icon, both events are generated. NIN_SELECT is canonical.

- When the handling NIN_BALLOONUSERCLICK in the notification event
  handler, reset balloon_alert before displaying any new alerts so
  that we won't overwrite it later.

- Reset the notification alert icon after displaying an alert.

- If a renewal fails, the displayed alert contains a button that the
  user can click to initiate the process of acquiring new credentials
  for the identity.

- Alerts can optionally dispatch the commands that were added to it
  using the KHUI_ALERT_FLAG_DISPATCH_CMD flag.

- Increase the size of the About dialog.

- Correct the action text for the IDS_ACTION_OPEN_APP and
  IDS_ACTION_CLOSE_APP to say 'Show' and 'Hide' instead of 'Open' and
  'Close'.  These actions only control the visible state of the NIM
  window.

- Add additional notification which signals that the commandline has
  finished processing.

- Add an 'acquire' action to the per-identity actions.

- The per identity actions (renew, destroy, acquire) now have useful
  captions, names and tooltips.

- Use WM_NEXTDLGCTL message when changing the focus of dialog
  controls.  SetFocus() is insufficient.

- If we get a request to show a new credential acquisition dialog and
  we are already showing one, bring that one to the foreground instead
  of trying to display a new one or waiting quietly.

- New configuration schema for the UI that include definitions for the
  new default view.

- The alerter window can now show more than one alert at once.

- If we are about to show queued alerts, then check if the alerts that
  are waiting are related and if they can be grouped together.  If so,
  show them in a single alert window instead of multiple ones.

- If new alerts are issued while a set of alerts are being displayed
  and if the new alert is related to the alerts that are being
  displayed, then add the new alert to the list being displayed.

- Make sure we have a lock on the alert when we are manipulating or
  accessing it.

- Set the focus to the correct control when displaying an alert.

- When adding alerts from the alert queue, make sure we iterate
  through the queue properly.

- Allow keyboard navigation inside the alert window and support scroll
  bars.

- Check if we have a valid code pointer before invoking a UI callback.

- Make sure the main window is in the normal configuration before
  switching to a layout that rquires it.

- When moving the main window around, if it comes close to an edge of
  the working area of the display, snap to it.

- Maintain two sets of settings for the main window placement.  One
  for the mini mode and one for the normal mode.

- When processing saved window placement information from the
  configuration, handle docking hints which note which edges of the
  screen the main window should be adjacent to, if any.

- Switching to the 'Basic' view disables the layout and column
  selection menus.

- Position the new credentials dialog above the main window if the
  main window is visible.

- The alert that is displayed to indicate that an identity has
  expired, now contains a command button that can be used to invoke
  the new credentials dialog for that identity.

-- source

- Update the documentation to reflect the change in behavior regarding
  KHUI_ACTIONREF_DEFAULT in khui_menu_insert_action() and
  khui_menu_insert_paction().

- Remove notes about menu access functions being not thread safe.
  This is no longer true.

- Update the documentation for khui_alert_show() to document new
  behavior regarding KHUI_ALERT_FLAG_DISPATCH_CMD.

- Update documentation to indicate which KHUI_ALERT_FLAG_* flags are
  internal and document the new KHUI_ALERT_FLAG_DISPATCH_CMD flag.

- Augment the queue handling macros to support additional operations.
  Also add new tree data structure with an ordered list of children.

- Code reorganization to reuse code for obtaining the caption and
  tooltip for a system defined action in netidmgr.exe.

ticket: new
component: windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19238 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoEnable Vista support for MSLSA
Jeffrey Altman [Tue, 20 Mar 2007 07:13:18 +0000 (07:13 +0000)]
Enable Vista support for MSLSA

The MSLSA: ccache type when used on Windows Vista can take advantage of an ability to write tickets to the LSA credential cache for the current logon session.   This is possible due to the addition of the KERB_SUBMIT_TICKET interface.

Also new to Vista is the CACHE_INFO_EX2 interface which permits a much more efficient method of enumerating the contents of the LSA credential cache.

The code to take advantage of these features has been present for more than a year.  However, due to the lack of a public SDK that included the necessary data structures the functionality has been disabled.  As of this commit, the functionality will be enabled if the version of NTSecAPI.h includes TRUST_ATTRIBUTE_TRUST_USES_AES_KEYS.  This is a preprocessor symbol that is new to the Vista SDK.

In order to build with the new Vista functionality when using the XP SP2 SDK, the NTSecAPI.h file from the Vista SDK must be used in place of the version from the XP SP2 SDK.

This commit also addresses the issues associated with the inability to read session keys from a UAC limited process.   When UAC limitation is detected by examining the process token elevation level all access to the MSLSA contents is disabled.   At some point in the future we can implement an elevated COM service in order to obtain access to the session keys.

ticket: new
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19237 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoZero sockaddrs in fai_add_entry() so we can compare them with memcmp()
Alexandra Ellwood [Mon, 19 Mar 2007 20:21:54 +0000 (20:21 +0000)]
Zero sockaddrs in fai_add_entry() so we can compare them with memcmp()

If we don't zero the struct sockaddrs in fai_add_entry() then any sin_zero
fields will be left as random memory and the memcmp() will return that the
addresses are different even if they aren't.

ticket: new
target_version: 1.6.1
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19235 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoKfW automated build scripts & supporting files
Kevin Koch [Fri, 16 Mar 2007 18:38:28 +0000 (18:38 +0000)]
KfW automated build scripts & supporting files

Updated scripts & additional configuration files.

Ticket: new
Target_Version: 1.6.1
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19234 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoUpdate 3.1.0 to 3.2.0; update location of sample directory
Kevin Koch [Fri, 16 Mar 2007 18:35:59 +0000 (18:35 +0000)]
Update 3.1.0 to 3.2.0; update location of sample directory

Ticket: 5409
Target_Version: 1.6.1
Tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19233 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoUpdate build files for new version and file locations
Kevin Koch [Fri, 16 Mar 2007 03:55:52 +0000 (03:55 +0000)]
Update build files for new version and file locations

Target_Version: 1.6.1
Tags:  pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19232 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoOn Linux, add linker flags -Bsymbolic (makes for smaller libraries, at
Ken Raeburn [Thu, 15 Mar 2007 01:11:40 +0000 (01:11 +0000)]
On Linux, add linker flags -Bsymbolic (makes for smaller libraries, at
the cost of being able to override the symbol names we export) and
--no-undefined (errors out on shared library generation with undefined
symbols).

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19229 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoDepend on kadm5 server library too, now that we use the config_params calls
Ken Raeburn [Thu, 15 Mar 2007 01:10:10 +0000 (01:10 +0000)]
Depend on kadm5 server library too, now that we use the config_params calls

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19228 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoUse "unsigned __int{16,32}" types for Windows in load_{16,32}_n, per Kevin
Ken Raeburn [Wed, 14 Mar 2007 20:25:41 +0000 (20:25 +0000)]
Use "unsigned __int{16,32}" types for Windows in load_{16,32}_n, per Kevin

ticket: 5425

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19227 dc483132-0cff-0310-8789-dd5450dbe970

17 years ago* kadm5_create.c: Include fake-addrinfo.h.
Ken Raeburn [Wed, 14 Mar 2007 01:52:23 +0000 (01:52 +0000)]
* kadm5_create.c: Include fake-addrinfo.h.
(add_admin_princs): Use getaddrinfo instead of gethostbyname.  Report
the correct message on getaddrinfo errors, and return EINVAL to
caller.

ticket: 5257

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19226 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoFix tail portability problem by adding an expression test to the
Ken Raeburn [Wed, 14 Mar 2007 00:52:47 +0000 (00:52 +0000)]
Fix tail portability problem by adding an expression test to the
existing awk invocation instead.  Patch from Robert Basch at MIT.

ticket: 5447

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19225 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoRemove test pass that exercises AES256 over UDP, since we also have
Ken Raeburn [Wed, 14 Mar 2007 00:42:55 +0000 (00:42 +0000)]
Remove test pass that exercises AES256 over UDP, since we also have
one that exercises the same configuration over TCP.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19224 dc483132-0cff-0310-8789-dd5450dbe970

17 years ago* include/k5-platform.h: Add load_{16,32,64}_n for loading values from
Ken Raeburn [Wed, 14 Mar 2007 00:35:06 +0000 (00:35 +0000)]
* include/k5-platform.h: Add load_{16,32,64}_n for loading values from
(possibly unaligned) memory in native order.
* lib/krb5/krb/get_in_tkt.c (krb5_get_init_creds): Fetch four random
bytes from the crypto library and generate a 31-bit (non-negative)
nonce, instead of using the timestamp.

ticket: 5425

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19223 dc483132-0cff-0310-8789-dd5450dbe970

17 years ago* sendto_kdc.c (default_debug_handler): If writing to a log file, keep
Ken Raeburn [Wed, 14 Mar 2007 00:26:57 +0000 (00:26 +0000)]
* sendto_kdc.c (default_debug_handler): If writing to a log file, keep
it open and unbuffered instead of always opening and closing.  When
the format string has characters to be copied literally to the output,
write them all at once instead of individually.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19222 dc483132-0cff-0310-8789-dd5450dbe970

17 years agoKFW: Vista Integrated Logon
Jeffrey Altman [Tue, 13 Mar 2007 06:35:13 +0000 (06:35 +0000)]
KFW: Vista Integrated Logon

        On Windows Vista the GINA architecture was removed.  As a side
        effect the support for the Logon Event Handlers was also removed.
        The KFW Integrated Logon functionality relies on the "Logon"
        event handler to migrate the user's tickets from a secure FILE:
        ccache to an API: ccache so that the tickets will be available
        to NetIDMgr and all other Kerberos applications.

        This functionality is especially important on Vista for
        accounts that are members of the Administrators group because
        the User Account Control (UAC) restricts access to the session
        keys of all tickets in the MSLSA ccache.  The only way for
        tickets to be made available to MIT Kerberos applications is
        by obtaining them within the Network Provider and pushing them
        into the Logon Session.

        This patch replaces the missing Logon Event Handler support
        with a new exported function "LogonEventHandler" which adheres
        to the rundll32.exe specifications.  The "LogonEventHandler"
        function accepts as input the name of a FILE ccache and moves
        the contents into an API: ccache and then deletes the FILE
        ccache.

        In order for this to work the FILE ccache must be owned by
        the account that was used to logon to the current session.
        The NPLogonNotify() function must therefore lookup the SID
        for the active account, assign an appropriate DACL to the
        ccache file, and change the owner.  In addition, when Vista
        is in use a LogonScript must be constructed that will perform
        the call to rundll32.exe.

        Other changes include altering the prototype of
        KFW_copy_ccache_system_file to accept a filename instead of
        the LogonID.  This improves the abstraction and allows the
        filename to be computed once and passed into multiple
        functions from NPLogonNotify().

        Many debugging calls were added to assist with implementation.
        #define DEBUG 1 at the top of kfwcommon.c when you wish to
        build with debugging that generates entries in the Windows
        Application Event Viewer.

It is important to note that Integrated Logon attempts to
logon the username within the default realm within the
krb5.ini file using the provided password.  This is so
a local machine account name matching the default realm
can obtain Kerberos tickets by synchronizing the password.

ticket: new
component: windows

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19221 dc483132-0cff-0310-8789-dd5450dbe970