Commit Graph

4768 Commits

Author SHA1 Message Date
Asanka C. Herath aa9be97d0d Windows: Always initialize buffers in config_reg 2010-11-24 15:33:31 -05:00
Asanka C. Herath 6e4e28c7bb Windows: Catch up with libkrb5 changes 2010-11-24 15:33:30 -05:00
Asanka C. Herath 5b91a397f8 Increase KBR5_BUFSIZ to 2048 and use it in config_file.c 2010-11-24 15:33:19 -05:00
Asanka C. Herath 35ac353f73 Add forward declaration of get_cred_kdc_capth() 2010-11-24 15:33:14 -05:00
Asanka C. Herath 158b107005 Remove unused variable 2010-11-24 15:33:13 -05:00
Asanka C. Herath ca114a3323 Change function pointer types to match their use 2010-11-24 15:33:12 -05:00
Asanka C. Herath 59542f4298 Unreachable code to silence older compilers 2010-11-24 15:33:07 -05:00
Asanka C. Herath 880d728e02 Un-const as necessary to silence compiler warnings 2010-11-24 15:33:07 -05:00
Asanka C. Herath 809eccb682 Windows: Add an API for reading a multistring from registry
The _krb5_parse_reg_value_as_string() used to concatenate
multi-strings using a space to be compatible with
krb5_config_get_strings() and friends.  Add a new function that can
read a multi-string with an arbitrary delimiter character
_krb5_parse_reg_value_as_multi_string().
2010-11-24 15:32:56 -05:00
Asanka C. Herath d3582b56c6 Define and use a path separator string
A colon can't be used to separate paths on Windows since they are used
in drive sepecification.  Define a macro that can be used as a path
separator string.  On Windows, this is defined as ";".  It is a ":"
everywhere else.
2010-11-24 15:32:56 -05:00
Asanka C. Herath 0f853405fe Add missing export and calling convention annotations 2010-11-24 15:32:49 -05:00
Asanka C. Herath 9f37626a33 Windows: Proper cleanup on failure 2010-11-24 15:32:48 -05:00
Asanka C. Herath 9d7227d1c1 Windows: Fix missing exports 2010-11-24 15:32:47 -05:00
Asanka C. Herath fe3e119691 Windows: Use SOFTWARE\Kerberos for storing configuration 2010-11-24 15:32:44 -05:00
Asanka C. Herath c0b62e3204 Windows: Configuration file locations can be set in the registry 2010-11-24 15:32:42 -05:00
Asanka C. Herath dd74713e22 Windows: _krb5_load_config_from_registry() is an internal API 2010-11-24 15:32:41 -05:00
Asanka C. Herath 7569337e9f Windows: Move cache specific code out of mit_glue.c
Move code for checking backwards compatible configuration file location into cache.c.  Also use registry handling code from config_reg.c.
2010-11-24 15:32:41 -05:00
Asanka C. Herath f190a65aed Windows: Refactor and fix config_reg.c
We want to be able to reuse registry handling code here from elsewhere.
2010-11-24 15:32:40 -05:00
Asanka C. Herath c3ecf0c372 Windows: Lookup configuration file %{WINDOWS}/krb5.ini
For backwards compatibility.
2010-11-24 15:32:36 -05:00
Asanka C. Herath 6e6468ab98 Windows: Search for config files in %{COMMON_APPDATA}/Kerberos
In addition to the Heimdal directory, also search in the
generic Kerberos configuration file directory.
2010-11-24 15:32:36 -05:00
Asanka C. Herath 2f2dca748d Don't dereference a possible NULL pointer 2010-11-24 15:32:35 -05:00
Asanka C. Herath 00ba841893 Windows: Use backwards compatible registry key for default cache
On Windows, existing applications determine and change the default
credentials cache using the Kerberos for Windows registry key
(\Software\MIT\Kerberos5, ccname).  Use it for backwards
compatibility.
2010-11-24 15:32:34 -05:00
Asanka C. Herath 45002e092c Use rk_socket_t in lib/krb5/changepw.c 2010-11-24 15:32:33 -05:00
Asanka C. Herath ba6c36b0d7 Windows: Fix exports for libkrb5 2010-11-24 15:32:22 -05:00
Asanka C. Herath f40fe926ad Windows: Comprehensive clean target 2010-11-24 15:32:13 -05:00
Asanka C. Herath f44925e8a6 Deal with quoted strings when reading lists of config strings 2010-11-24 15:32:12 -05:00
Asanka C. Herath 03694f3505 Trim trailing slashes of plug-in paths 2010-11-24 15:32:11 -05:00
Asanka C. Herath f159cef78a Rename get_entry() -> _krb5_config_get_entry() 2010-11-24 15:32:11 -05:00
Asanka C. Herath d247242f63 Windows: Registry based configuration
Load configuration data in the registry into a krb5_config_section.
Each registry key corresponds to a krb5_config_section and each
registry value becomes a bound string value.

The set of values contained in the root Heimdal registry key is
treated as if they were defined in the [libdefaults] section.

E.g. the configuration file:

[libdefaults]
foo = bar

[Foo]
x = y
y = {
  baz = quux
}

is equivalent to the registry keys:

[HKEY_CURRENT_USER\Software\Heimdal]
"foo"="bar"

[HKEY_CURRENT_USER\Software\Heimdal\Foo]
"x"="y"

[HKEY_CURRENT_USER\Software\Heimdal\Foo\y]
"baz"="quux"
2010-11-24 15:32:08 -05:00
Asanka C. Herath 392f9541f1 Override existing plug-ins by default when loading cache plug-ins 2010-11-24 15:32:08 -05:00
Asanka C. Herath 6abe08a0a3 Validate plug-in names before loading
On Windows, we only want to load .dll files are plug-ins, even though
there might be other support files present in the plug-in directory.
2010-11-24 15:32:06 -05:00
Asanka C. Herath 7fea5ff69a Use expanded path names when loading plug-ins 2010-11-24 15:32:05 -05:00
Love Hornquist Astrand 6920fbbef1 remove krb5 support 2010-11-20 14:39:20 -08:00
Love Hornquist Astrand fae3d127a2 remove krb4 support 2010-11-20 14:38:21 -08:00
Love Hornquist Astrand 8f2e0a7010 export internal functions so we dont need private headers 2010-11-20 14:05:54 -08:00
Andrew Tridgell 157d60a0eb heimdal: fixed a shadowed variable warning for error_message
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2010-11-08 22:27:32 -08:00
Love Hornquist Astrand 457c2d6d2c use md4 to verify md4 2010-11-08 14:39:26 -08:00
Love Hornquist Astrand f178458310 use krb5_data_ct_cmp 2010-11-06 20:53:04 +01:00
Love Hornquist Astrand 5a801c8f4a use krb5_data_ct_cmp 2010-11-06 20:52:53 +01:00
Love Hornquist Astrand 2d1ca83efa use krb5_data_ct_cmp 2010-11-06 20:52:33 +01:00
Love Hornquist Astrand 15f0adad02 add krb5_data_ct_cmp 2010-11-06 20:36:12 +01:00
Love Hornquist Astrand 0be50bf118 add krb5_data_ct_cmp 2010-11-06 20:36:08 +01:00
Love Hornquist Astrand 55c4979df2 Now pac from christian passes since we make hmac checksums always use the raw key 2010-11-06 20:23:49 +01:00
Love Hornquist Astrand d6b93cec1e internal function _krb5_HMAC_MD5_checksum 2010-11-06 20:11:19 +01:00
Love Hornquist Astrand 55ccd5ff9c use _krb5_enomem and indent 2010-11-06 20:10:26 +01:00
Love Hornquist Astrand a1f749f4af add _krb5_enomem 2010-11-06 20:09:07 +01:00
Love Hornquist Astrand 5ab43b8520 plug memory leak 2010-11-06 20:01:02 +01:00
Andrew Bartlett a42b77fb22 heimdal Add handling for PAC signatures over all encryption types
There are exceptions from the expected behaviour of 'checksum type
matches key type' that we must deal with here, or else we can't serve
DES-only servers.

Andrew Bartlett

Signed-off-by: Love Hornquist Astrand <lha@h5l.org>
2010-11-06 19:56:48 +01:00
Simon Wilkinson 1d9072f026 krb5: reorganise crypto.c
lib/krb5/crypto.c was a large, monolithic block of code which made
it very difficult to selectively enable and disable particular
alogrithms.

Reorganise crypto.c into individual files for each encryption and
salt time, and place the structures which tie everything together
into their own file (crypto-algs.c)

Add a non-installed library (librfc3961) and test program
(test_rfc3961) which builds a minimal rfc3961 crypto library, and
checks that it is usable.
2010-11-03 11:12:24 +00:00
Love Hornquist Astrand 6184422fef compare the value of the client realm now that it might not be the same pointer
fixes the check-delegate test that the new direct hop patch broke
2010-11-01 13:46:56 -07:00