Commit Graph

15670 Commits

Author SHA1 Message Date
Asanka C. Herath
0ae44152b7 Windows: Set error mode before calling LoadLibrary()
Unless SEM_FAILCRITICALERRORS is set, Windows may pop-up a dialog box
if the specified module cannot be loaded.  This is not appropriate for
unattended or batch processes.
2010-11-24 15:33:20 -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
29383b4cd0 Windows: Merge in application manifest when building assemblies 2010-11-24 15:33:17 -05:00
Asanka C. Herath
538c7ce29c More compatibility macros
Undefine SLIST_ENTRY to avoid conflict with WinNT.h

Define AI_NUMERICSERV for platforms that don't define it.
2010-11-24 15:33:15 -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
76cc0a9a67 Windows: Formatting 2010-11-24 15:33:12 -05:00
Asanka C. Herath
ff404ecaae Windows: Support older compilers that don't do parallel builds 2010-11-24 15:33:11 -05:00
Asanka C. Herath
2f8031c1d1 Cast dlsym() returns before use 2010-11-24 15:33:10 -05:00
Asanka C. Herath
42cf8947aa Windows: Avoid importing locally defined ASN1 symbols 2010-11-24 15:33:09 -05:00
Asanka C. Herath
79454a6f62 Block conflicting declarations from Bison
If YYMALLOC and YYFREE aren't defined, Bison can generate
prototypes for them that conflict with the native declarations.
2010-11-24 15:33:08 -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
d11917211b Windows: Older Windows SDKs need <winsock2.h>
Older SDKs need <winsock2.h> to be included before <ws2tcpip.h>
2010-11-24 15:33:06 -05:00
Asanka C. Herath
8432f850ed Windows: Make Heimdal a single assembly 2010-11-24 15:32:59 -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
1e365190d0 Windows: Manage thread local storage manually in dlfcn_w32 2010-11-24 15:32:51 -05:00
Asanka C. Herath
e4a2e9cfe0 Windows: Build and export localtime_r 2010-11-24 15:32:49 -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
f50b9727b2 Windows: Copy GSSAPI header files into the SDK 2010-11-24 15:32:46 -05:00
Asanka C. Herath
f51ded7f34 Export annotations for com_right.h 2010-11-24 15:32:46 -05:00
Asanka C. Herath
70c3a1c209 Move export macros from com_err.h to com_right.h 2010-11-24 15:32:45 -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
3855dd33bd Windows: Catch up with hcrypto changes 2010-11-24 15:32:31 -05:00
Asanka C. Herath
610bd66bbd Windows: Support building using newer flex 2010-11-24 15:32:29 -05:00
Asanka C. Herath
a87b4e23d6 Windows: Implement gettimeofday() using native APIs
We now use GetSystemTimeAsFileTime() for gettimeofday().  This gives
us a better resolution than one second.
2010-11-24 15:32:26 -05:00
Asanka C. Herath
dd99c2054c Windows: Add missing hcrypto dependencies and exports 2010-11-24 15:32:25 -05:00
Asanka C. Herath
6ee40622b1 Embed application manifest in Heimdal assembly .dlls 2010-11-24 15:32:24 -05:00
Asanka C. Herath
ba6c36b0d7 Windows: Fix exports for libkrb5 2010-11-24 15:32:22 -05:00
Asanka C. Herath
e8dd4bfaf3 Windows: Build kadm5 tools in a separate build-step
The application manifests for Heimdal can't be built until the
libraries are built.  Since tools depend on application manifests, we
need to build them separately.
2010-11-24 15:32:21 -05:00
Asanka C. Herath
1b32efe62c Windows: Include manifest dependencies by default when building tools 2010-11-24 15:32:20 -05:00
Asanka C. Herath
034cb905e9 Windows: Rename libheimntlm.dll to heimntlm.dll
For consistency with other .dlls shipped as assemblies.
2010-11-24 15:32:18 -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