Greg Hudson [Tue, 20 Jul 2010 08:52:41 +0000 (08:52 +0000)]
Get the kdb_hdb module to compile again. Probably still buggy,
particularly around the master key logic.
ticket: 6749
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24193
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 19 Jul 2010 10:05:13 +0000 (10:05 +0000)]
In kdb5_util's kdb5_ldap_create(), add back the assignment of
rblock.key which was erroneously removed in r24162.
ticket: 6749
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24192
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 19 Jul 2010 05:01:45 +0000 (05:01 +0000)]
Allow Microsoft HMAC-MD5 checksum types to use non-RC4 keys
In PAC signatures, the hmac-md5 checksum type can be used with AES
keys. Make this work by removing the enc field from the hmac-md5 and
md5-hmac checksum types, and adding a check in
krb5int_hmacmd5_checksum() for a null key or a key which is longer
than the hash block size (64 bytes for MD5). The checksum algorithm
only uses the key bits; it does invoke the cipher.
The checksum type names are kind of wrong, but we'll leave them alone
for compatibility. The descriptions are updated.
ticket: 6751
target_version: 1.8.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24191
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 19 Jul 2010 04:30:47 +0000 (04:30 +0000)]
In the DAL documentation, describe how a module can supply referral
encrypted padata.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24190
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 15 Jul 2010 04:18:00 +0000 (04:18 +0000)]
Add check_allowed_to_delegate to the DAL with a corresponding libkdb5
API, replacing the last method (CHECK_ALLOWED_TO_DELEGATE) of
db_invoke. Remove db_invoke since it no longer has any methods.
ticket: 6749
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24189
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 15 Jul 2010 03:17:08 +0000 (03:17 +0000)]
Addendum to r24182: Fix a comment referencing the db_invoke
SIGN_DB_AUTHDATA method.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24188
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 15 Jul 2010 03:12:57 +0000 (03:12 +0000)]
Add refresh_config to the DAL with a corresponding libkdb5 API,
replacing the REFRESH_POLICY method of db_invoke.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24187
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 13 Jul 2010 16:09:01 +0000 (16:09 +0000)]
Addendum to r24185: make audit_as_req return void, since it's an
informational method and we're not going to do anything with the
result.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24186
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 13 Jul 2010 15:53:23 +0000 (15:53 +0000)]
Add audit_as_req to the DAL with a corresponding libkdb5 API,
replacing the AUDIT_AS_REQ method of db_invoke. Remove the
AUDIT_TGS_REQ method of db_invoke without adding a replacement, as
there was no KDC support for it. (It can be added at a later time if
necessary.)
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24185
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 13 Jul 2010 00:53:46 +0000 (00:53 +0000)]
Add check_policy_as and check_policy_tgs to the DAL table with
corresponding libkdb5 APIs, replacing the CHECK_POLICY_AS and
CHECK_POLICY_TGS methods of db_invoke.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24184
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 12 Jul 2010 18:53:54 +0000 (18:53 +0000)]
Add check_transited_realms to the DAL table with a corresponding
libkdb5 API, replacing the CHECK_TRANSITED_REALMS method of db_invoke.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24183
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 12 Jul 2010 18:33:05 +0000 (18:33 +0000)]
Add sign_authdata to the DAL table with a corresponding libkdb5 API,
replacing the SIGN_AUTH_DATA method of db_invoke.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24182
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 9 Jul 2010 12:25:50 +0000 (12:25 +0000)]
Addendum to r24180: make sure osa_adb_get_policy sets its output
parameter in all cases, per coding standards.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24181
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 9 Jul 2010 01:22:38 +0000 (01:22 +0000)]
Improve output variable handling of osa_adb_get_policy() in the db2
KDB module, and close some unlikely memory leaks.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24180
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 8 Jul 2010 23:51:24 +0000 (23:51 +0000)]
Fix a memory leak in libkadm5clnt's get_init_creds()
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24179
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 8 Jul 2010 23:34:35 +0000 (23:34 +0000)]
Create a KRB5_KDB_FLAG_ALIAS_OK to control whether plugin modules
should return in-realm aliases. Set it where appropriate, and use it
in the LDAP module instead of intuiting the result based on other
flags.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24178
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Wed, 7 Jul 2010 20:52:06 +0000 (20:52 +0000)]
Add a missing break in the parsing of krb5kdc's -P option. Reported
by nalin@redhat.com.
ticket: 6750
target_version: 1.8.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24176
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 6 Jul 2010 21:53:23 +0000 (21:53 +0000)]
Remove count parameters from get_principal, put_principal,
free_principal, delete_principal, and get_policy. Make get_principal
allocate the DB entry container. Fold krb5_db_get_principal_ext into
krb5_db_get_principal.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24175
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sun, 4 Jul 2010 18:34:04 +0000 (18:34 +0000)]
Follow-on to r24168: in kdb5_ldap_util, indirect through
krb5_db_store_master_key instead of using the (now removed) default
implementation directly.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24174
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sat, 3 Jul 2010 19:56:17 +0000 (19:56 +0000)]
In kdb5.c, simplify the code for getting the profile config section
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24173
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sat, 3 Jul 2010 19:25:00 +0000 (19:25 +0000)]
Remove assertions for non-nullity of init_module and fini_module in
kdb5.c for consistency with other uses of mandatory vtable functions.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24172
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sat, 3 Jul 2010 19:22:08 +0000 (19:22 +0000)]
Make the APIs for iterate, get_master_key_list, set_master_key_list,
and promote_db return KRB5_PLUGIN_OP_NOTSUPP if the KDB module does
not implement them, avoiding the need for stub default
implementations.
ticket: 6749
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24171
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sat, 3 Jul 2010 19:02:41 +0000 (19:02 +0000)]
Use KRB5_PLUGIN_OP_NOTSUPP uniformly as the error code for operations
not supported by a KDB module. (Previously KRB5_KDB_DBTYPE_NOSUP was
used in some cases and KRB5_PLUGIN_OP_NOTSUPP in others.)
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24170
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sat, 3 Jul 2010 15:23:45 +0000 (15:23 +0000)]
Remove return value from void function
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24169
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 20:16:21 +0000 (20:16 +0000)]
Remove store_master_key from the DAL table, and implement
krb5_store_master_key in terms of krb5_store_master_key_list.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24168
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 19:18:12 +0000 (19:18 +0000)]
Make krb5_db_free_principal and krb5_db_free_mkey_list return void.
Remove the stale prototype for krb5_db_free_master_key.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24167
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 19:09:20 +0000 (19:09 +0000)]
Remove verify_master_key from the DAL table, as well as its associated
libkdb5 interface. Callers can (and mostly already do) use
krb5_fetch_mkey_list to verify master keyblocks. Adjust tests/create,
tests/verify, and kdb5_util dump to do so.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24166
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 17:58:41 +0000 (17:58 +0000)]
Remove db_ and similar prefixes from DAL function names, for
consistency. Follow suit inside the DB2 and LDAP modules. (No change
to the caller-facing libkdb5 APIs.)
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24165
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 17:33:44 +0000 (17:33 +0000)]
Rename krb5_dbekd_encrypt_key_data and krb5_dbekd_decrypt_key_data to
just use the krb5_dbe prefix.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24164
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 17:18:46 +0000 (17:18 +0000)]
Remove setup_master_key_name from the DAL table as it was not used
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24163
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 17:13:40 +0000 (17:13 +0000)]
Remove the set_master_key and get_master_key DAL interfaces and their
corresponding libkdb5 APIs, as they were not productively used. In
kdb5_ldap_util, stop using the realm data's mkey field as a container
to communicate the master key to static helper functions, since the
field no longer exists.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24162
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 16:59:33 +0000 (16:59 +0000)]
Follow-up to r24157: return correctly from krb5_ldap_lib_init() if
there is no version mismatch.
ticket: 6749
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24161
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 14:41:26 +0000 (14:41 +0000)]
Follow-on to r24157: pass KRB5_KDB_DAL_VERSION to krb5_ldap_lib_init()
in kdb5_ldap_util.c.
ticket: 6749
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24160
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 14:19:39 +0000 (14:19 +0000)]
Remove errcode_2_string and release_errcode_string from the DAL table,
and stop using them in kdb5.c. Modules can simply set error messages
in the krb5 context on error.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24159
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 14:08:20 +0000 (14:08 +0000)]
Remove db_supported_realms and db_free_supported_realms from the DAL
table, and remove the corresponding libkdb5 interfaces (which don't
seem to have been in the library export table).
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24158
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 2 Jul 2010 03:23:21 +0000 (03:23 +0000)]
DAL improvements
Add KRB5_KDB_API_VERSION to allow callers to adjust to incompatible
changes in libkdb; to be kept in sync with the libkdb major version,
which is bumped to 5 in anticipation of other changes.
Add KRB5_KDB_DAL_VERSION to allow database modules to detect when they
are mismatched with the KDB version. Since KDB modules are often
developed concurrently with trunk code, this is defined to be the date
of the last incompatible DAL change. The DAL version is passed to the
init_library DAL function; the module should check it against the value
of KRB5_KDB_DAL_VERSION it was compiled with and return
KRB5_KDB_DBTYPE_MISMATCH if it doesn't match.
ticket: 6749
status: open
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24157
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 1 Jul 2010 16:56:22 +0000 (16:56 +0000)]
In kpropd, when getting a wildcard address to listen on, try IPv6
explicitly (with AI_ADDRCONFIG specified where available, to avoid
IPv6 on hosts with no IPv6 interface) and then fall back to IPv4.
Only set IPV6_V6ONLY on the listener socket if the resulting address
is IPv6.
Note: we have mostly confirmed that OpenBSD does not have dual-stack
support, meaning that it would be better to open separate IPv4 and
IPv6 listener sockets, as we do in krb5kdc and kadmind.
Unfortunately, the complicated iprop retry-and-backoff logic makes
this less than straightforward.
ticket: 6686
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24156
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Wed, 30 Jun 2010 16:45:47 +0000 (16:45 +0000)]
Factor out a common socket creation sequence in net-server.c, which
happens to coincide with what setup_a_rpc_listener does.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24153
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Wed, 30 Jun 2010 16:11:33 +0000 (16:11 +0000)]
Eliminate warnings in net-server.c
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24152
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Wed, 30 Jun 2010 16:03:22 +0000 (16:03 +0000)]
Improve coding style conformance in net-server.c
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24151
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sat, 26 Jun 2010 17:37:20 +0000 (17:37 +0000)]
Fix a bug in r24147 where svctcp_create() was passing the wrong length
argument to bind(), causing it to fail on Solaris.
ticket: 6746
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24148
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sat, 26 Jun 2010 03:32:55 +0000 (03:32 +0000)]
Make kadmin work over IPv6
Make gssrpc work over IPv6 TCP sockets provided that the client
creates and connects/binds the sockets and doesn't query their
addresses or use bindresvport(). Make kadmin work within those
constraints and handle IPv6. Specific changes:
* Make svctcp_create() able to extract the port from an IPv6 socket,
using a new helper function getport().
* Make clnttcp_create() handle a null raddr value if *sockp is set.
* Make kadm5_get_service_name() use getaddrinfo() to canonicalize the
admin server name.
* Make libkadm5clnt's init_any() responsible for connecting its socket
using a new helper function connect_to_server(), which uses
getaddrinfo instead of gethostbyname. Pass a null address to
clnttcp_create().
* Make libapputil's net-server.c set up IPv6 as well as IPv4 listener
ports for RPC connections.
* Adjust the error code expected in a libkadm5 unit test.
ticket: 6746
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24147
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 25 Jun 2010 22:26:04 +0000 (22:26 +0000)]
Adjust function names and declarations in libkadm5's client_init.c; in
particular, avoid the use of library namespace prefixes for static
helper functions.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24146
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 25 Jun 2010 22:14:53 +0000 (22:14 +0000)]
Simplify the iprop conditionalization of _kadm5_init_any()
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24145
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 22 Jun 2010 13:09:58 +0000 (13:09 +0000)]
Remove some dead code in kdb5_stash() left behind by r24142
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24144
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 22 Jun 2010 12:52:03 +0000 (12:52 +0000)]
In kprop's sockaddr2krbaddr(), fill in addr.magic to avoid copying
around uninitialized values.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24143
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 21 Jun 2010 20:29:12 +0000 (20:29 +0000)]
Eliminate a bunch of duplicated code in kdb5_stash() by using
util_context.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24142
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 21 Jun 2010 19:56:29 +0000 (19:56 +0000)]
kdb5_stash() contains its own kdb5_db_open() call (because it doesn't
use util_context for some reason), which didn't work with the LDAP
back end because LDAP doesn't recognize KRB5_KDB_SRV_TYPE_OTHER. As a
minimal fix, change that to KRB5_KDB_SRV_TYPE_ADMIN to be consistent
with open_db_and_mkey()--see also r18736.
ticket: 6345
target_version: 1.8.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24141
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Mon, 21 Jun 2010 15:25:38 +0000 (15:25 +0000)]
Make OFFLINE!=no work again
ticket: 6744
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24140
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 21 Jun 2010 15:18:37 +0000 (15:18 +0000)]
Add correct error table when initializing gss-krb5
gss_krb5int_lib_init was adding the generic GSS error table (again)
instead of the krb5 error table, which could lead to crashes on
library unload. This bug was introduced in krb5 1.7; the fix is also
applicable there.
Patch from Leonardo Chiquitto <leonardo.lists@gmail.com>.
ticket: 6745
target_version: 1.8.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24139
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Fri, 18 Jun 2010 19:41:48 +0000 (19:41 +0000)]
only test t_locate_kdc if known-good DNS name is present
Running "make check" while offline or on a firewalled network may
result in failure in lib/krb5/os because the invocation of
t_locate_kdc requires that the DNS servers for ATHENA.MIT.EDU be
reachable. Autodetect DNS utilities "dig" and "nslookup", and use
them to check for existence of the known-good DNS name. Also
parameterize the test so that the known-good DNS name can be
overridden on the make command line.
ticket: 6744
target_version: 1.8.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24138
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 14 Jun 2010 20:46:27 +0000 (20:46 +0000)]
In PKINIT, notice if DH_compute_key() returns a value less than the
buffer size, and pad it on the left if so.
ticket: 6738
target_version: 1.8.3
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24137
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 14 Jun 2010 20:00:03 +0000 (20:00 +0000)]
Adjust the PKINIT DH debugging code:
* Use %p and void * for pointers instead of %x and int
* Don't call the computed symmetric key the "secret key" since
that's easily confused with the private key g^x.
* Print the private key when printing DH parameters, instead of the
q value (not even sure what they is).
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24136
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 11 Jun 2010 21:03:03 +0000 (21:03 +0000)]
Use getaddrinfo() in kprop and kpropd, and recognize IPv6 addresses
when setting up krb5_address structures. kpropd still only binds to
one socket to avoid the need for a select() loop, so we turn off
IPV6_V6ONLY on that socket to ensure that IPv4 connections will still
be accepted.
Based on a patch from Michael Stapelberg <michael@stapelberg.de>.
ticket: 6686
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24134
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 11 Jun 2010 20:01:26 +0000 (20:01 +0000)]
Remove the code for krb5_append_addresses(), which was never used and
was ifdef'd out fifteen years ago in r5464.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24133
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 11 Jun 2010 19:58:55 +0000 (19:58 +0000)]
Eliminate actx_copy_addr in auth_con.c; use krb5_copy_addr instead
(it's exactly the same).
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24132
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 10 Jun 2010 14:57:33 +0000 (14:57 +0000)]
In yarrow.c, undefine k5-trace.h's TRACE before defining it to avoid a
conflict.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24126
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 10 Jun 2010 14:54:28 +0000 (14:54 +0000)]
Remove some unused (as of yet) trace macro definitions
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24125
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 10 Jun 2010 14:50:09 +0000 (14:50 +0000)]
Fix a couple of minor defects in trace.c
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24124
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 8 Jun 2010 18:18:03 +0000 (18:18 +0000)]
kadmin ktadd may display wrong name of default keytab
kadmin's ktadd (and ktrem) displays WRFILE:/etc/krb5.keytab whenever
it uses the default keytab, even if the default has been overridden
(e.g. by KRB5_KTNAME). Use krb5_kt_get_name to get the correct name
of the default cache instead of displaying the string we think was
used to open it.
ticket: 6740
target_version: 1.8.2
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24123
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 8 Jun 2010 17:53:19 +0000 (17:53 +0000)]
When we display enctypes, display the input name rather than the
description. Affects klist -e, kdb5_util list_mkeys, kdb5_util stash
(error message), kadmin getprinc, kadmin ktadd, and ktutil list -e.
ticket: 5014
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24122
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 8 Jun 2010 16:26:23 +0000 (16:26 +0000)]
Stop checking the current time against the context expiration time in
the message wrap/unwrap functions in the krb5 GSS mech. Heimdal
doesn't do it, and it generally results in poor app behavior when a
ticket expires. In exchange, it doesn't provide much security benefit
since it's not enforced across the board--for example, ssh sessions
can persist beyond ticket expiration time since they don't use GSS to
wrap payload data.
(This is a continuation of r24120, which should have contained the
changes to all four files.)
ticket: 6739
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24121
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 8 Jun 2010 16:14:24 +0000 (16:14 +0000)]
Stop checking the current time against the context expiration time in
the message wrap/unwrap functions in the krb5 GSS mech. Heimdal
doesn't do it, and it generally results in poor app behavior when a
ticket expires. In exchange, it doesn't provide much security benefit
since it's not enforced across the board--for example, ssh sessions
can persist beyond ticket expiration time since they don't use GSS to
wrap payload data.
ticket: 6739
target_version: 1.8.2
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24120
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 7 Jun 2010 18:28:05 +0000 (18:28 +0000)]
make depend
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24119
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 7 Jun 2010 18:26:17 +0000 (18:26 +0000)]
Trace logging
Add trace logging infrastructure code, enabled by the KRB5_TRACE
environment variable or the API functions krb5_set_trace_callback()
or krb5_set_trace_filename(). As a start, add tracing events for:
* AS-REQ client code, including FAST and preauth
* TGS-REQ client code
* AP-REQ and AP-REP code (client and server)
* sendto_kdc
* Selected ccache operations
* Selected keytab operations
ticket: 6737
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24118
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 4 Jun 2010 18:33:26 +0000 (18:33 +0000)]
Add krb5_enctype_to_name() API
Add an API to return the input name, or optionally the shortest alias,
of an enctype. Similar to krb5_enctype_to_string() which returns a
description.
ticket: 6736
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24117
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 28 May 2010 18:26:43 +0000 (18:26 +0000)]
In krb5_cc_set_config, don't call krb5_cc_remove_cred; it's redundant
with the krb5_cc_remove_cred call in krb5_cc_store_cred.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24110
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 28 May 2010 15:56:05 +0000 (15:56 +0000)]
make depend
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24109
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 28 May 2010 14:38:37 +0000 (14:38 +0000)]
From Luke: make copies of S4U2Proxy authdata modules work when there
is no S4U2Proxy authdata.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24107
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 27 May 2010 22:25:51 +0000 (22:25 +0000)]
Remove the get_masters logic in locate_srv_conf_1 which was orphaned
by r15736 when we added the master_kdc profile variable.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24106
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 27 May 2010 22:17:23 +0000 (22:17 +0000)]
Get t_ser to build again after the S4U authdata branch merge
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24105
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 25 May 2010 15:36:40 +0000 (15:36 +0000)]
In testrealm.py, stash the passwords in testdir/passwords so that they
can be retrieved after they've scrolled away.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24103
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 25 May 2010 02:44:45 +0000 (02:44 +0000)]
FAST negotiation could erroneously succeed
When FAST negotiation is performed against an older KDC
(rep->enc_part2->flags & TKT_FLG_ENC_PA_REP not set),
krb5int_fast_verify_nego did not set the value of *fast_avail, causing
stack garbage to be used in init_creds_step_reply. Initialize
*fast_avail at the beginning of the function per coding practices.
ticket: 6734
target_version: 1.8.2
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24102
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 24 May 2010 19:22:02 +0000 (19:22 +0000)]
Fix long lines and other formatting issues in fast.h
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24101
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 24 May 2010 19:17:36 +0000 (19:17 +0000)]
Fix long lines and other formatting issues in fast.c
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24100
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 24 May 2010 03:14:57 +0000 (03:14 +0000)]
Don't include nul characters in the text we send with krb-error
responses from the KDC.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24097
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Sun, 23 May 2010 20:23:31 +0000 (20:23 +0000)]
Make signedpath authdata visible via GSS naming exts
Merge users/lhoward/signedpath-naming-exts to trunk. Adds an authdata
provider which makes non-PAC S4U2Proxy signedpath authdata visible to
application servers via GSS naming extensions.
ticket: 6733
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24094
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 21 May 2010 19:29:04 +0000 (19:29 +0000)]
Remove a non-functional and unnecessary check in kdb5_util's
master_key_convert(). (key_data->key_data_length is an array, so its
address is never null.)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24085
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 21 May 2010 19:23:21 +0000 (19:23 +0000)]
Fix an error case in kdb_util's dump.c where the dump file handle was
leaked.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24084
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 21 May 2010 19:15:20 +0000 (19:15 +0000)]
Remove an unneeded conditional in the cleanup for kadmin's keytab
add_principal(), squashing a false-positive memory leak from Coverity.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24083
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 21 May 2010 19:08:41 +0000 (19:08 +0000)]
In getdate.y, remove an error check from r19656 which couldn't ever
trigger (Convert() does not use an error parameter).
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24082
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 21 May 2010 19:03:45 +0000 (19:03 +0000)]
Use ANSI-style function definitions in our copy of getdate.y
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24081
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Fri, 21 May 2010 03:08:18 +0000 (03:08 +0000)]
Document the disable_last_success and disable_lockout variables in
krb5.conf.M. Also document database_name in krb5.conf.M and slightly
adjust the wording in admin.texinfo.
ticket: 6719
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24078
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Thu, 20 May 2010 21:32:47 +0000 (21:32 +0000)]
Apply patch from Arlene Berry to detect and ignore a duplicate
mechanism token sent in the mechListMIC field, such as sent by Windows
2000 Server.
ticket: 6726
target_version: 1.8.2
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24075
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Thu, 20 May 2010 20:42:26 +0000 (20:42 +0000)]
kdc_tcp_ports not documented in kdc.conf.M
The kdc.conf setting kdc_tcp_ports was not documented in kdc.conf.M,
though it was documented in doc/admin.texinfo. Copy text from there
for now. The setting defaults to an empty string at the moment,
causing the KDC to not listen on TCP by default, confusing some users.
Changing this behavior is a separate issue.
ticket: 6730
target_version: 1.8.2
tags: pullup
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24074
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 20 May 2010 15:13:06 +0000 (15:13 +0000)]
In gss_acquire_cred_with_password() and gss_add_cred_with_password(),
require desired_name to be set, and always honor it. This is
consistent with the Sun implementation and simplifies the code.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24072
dc483132-0cff-0310-8789-
dd5450dbe970
Tom Yu [Wed, 19 May 2010 18:09:37 +0000 (18:09 +0000)]
CVE-2010-1321 GSS-API lib null pointer deref (MITKRB5-SA-2010-005)
Make krb5_gss_accept_sec_context() check for a null authenticator
checksum pointer before attempting to dereference it.
ticket: 6725
tags: pullup
target_version: 1.8.2
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24056
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 18 May 2010 17:19:15 +0000 (17:19 +0000)]
When parsing a KDC or admin server string, allow the name or address
to be enclosed in brackets so that IPv6 addresses can be represented.
(IPv6 addresses contain colons, which look like port separators.)
ticket: 6562
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24055
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Tue, 18 May 2010 16:17:15 +0000 (16:17 +0000)]
Improve the error message from kadmin when hostname resolution fails
for the admin server. (The extended message won't be displayed by
kadmin currently; that's a separate issue.)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24054
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 17 May 2010 20:38:24 +0000 (20:38 +0000)]
If gss_inquire_cred is called with a null credential, acquire a
default initiator credential and process it normally, instead of using
a completely different code path (the default mechanism's inquire_cred
handler).
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24052
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 17 May 2010 20:01:29 +0000 (20:01 +0000)]
The mechglue always passes null for desired_mechs and actual_mechs
when invoking gss_acquire_cred and friends. Eliminate a lot of unused
and untestable logic in the krb5 mech which processed those arguments.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24051
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Mon, 17 May 2010 17:11:28 +0000 (17:11 +0000)]
The mechglue never invokes a mech's gss_add_cred function. Remove the
krb5 mech's add_cred implementation and null it out in the table.
(This has the effect of removing the IAKERB add_cred implementation.
SPNEGO already had it nulled out.)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24050
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 16 May 2010 03:18:38 +0000 (03:18 +0000)]
Reformat with shorter lines
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24043
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 16 May 2010 03:09:48 +0000 (03:09 +0000)]
Delete an old pre-Yarrow item
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24042
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 16 May 2010 02:49:53 +0000 (02:49 +0000)]
Update dependencies
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24041
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 16 May 2010 02:49:49 +0000 (02:49 +0000)]
Stop exporting some profile symbols that aren't either published in
the header or known serialization functions used by the krb5 library.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24040
dc483132-0cff-0310-8789-
dd5450dbe970
Ken Raeburn [Sun, 16 May 2010 02:49:45 +0000 (02:49 +0000)]
Force hostname to lower-case for use in principal names
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24039
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 13 May 2010 18:58:43 +0000 (18:58 +0000)]
Negative enctypes improperly read from ccaches
When reading enctypes from ccaches, we need to sign-extend the 16-bit
value we read in order to properly read negative enctypes.
ticket: 6723
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24021
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 13 May 2010 18:49:20 +0000 (18:49 +0000)]
Error handling bug in krb5_init_creds_init()
Fix a bug in krb5_init_creds_init() where a freed context could be
returned to the caller in certain error cases.
ticket: 6722
tags: pullup
target_version: 1.8.2
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24020
dc483132-0cff-0310-8789-
dd5450dbe970
Greg Hudson [Thu, 13 May 2010 17:34:33 +0000 (17:34 +0000)]
Negative enctypes improperly read from keytabs
When reading enctypes from keytabs, we need to ntohs() the 16-bit
value we read in before sign-extending it to a 32-bit value in the
keyblock, or we run the risk of extending the wrong sign.
ticket: 6720
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@24016
dc483132-0cff-0310-8789-
dd5450dbe970