diff options
author | Greg Hudson <ghudson@mit.edu> | 2009-10-25 16:55:12 +0000 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2009-10-25 16:55:12 +0000 |
commit | 8d31a9d396f5bea88def4db395ad12dca2ac2e9f (patch) | |
tree | 244f8f5b525432a2a2a280403f38d7b2fbdc0dfd /src/lib/kadm5/clnt/client_init.c | |
parent | b82e46df9b6cbf663512985a99c6d79f2b0cb796 (diff) | |
download | krb5-8d31a9d396f5bea88def4db395ad12dca2ac2e9f.zip krb5-8d31a9d396f5bea88def4db395ad12dca2ac2e9f.tar.gz krb5-8d31a9d396f5bea88def4db395ad12dca2ac2e9f.tar.bz2 |
Account lockout
Merge Luke's users/lhoward/lockout2 branch to trunk. Implements
account lockout policies for preauth-using principals using existing
principal metadata fields and new policy fields. The kadmin API
version is bumped from 2 to 3 to compatibly extend the policy_ent_rec
structure.
ticket: 6577
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@23038 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/lib/kadm5/clnt/client_init.c')
-rw-r--r-- | src/lib/kadm5/clnt/client_init.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/lib/kadm5/clnt/client_init.c b/src/lib/kadm5/clnt/client_init.c index cc48a8c..0b817b8 100644 --- a/src/lib/kadm5/clnt/client_init.c +++ b/src/lib/kadm5/clnt/client_init.c @@ -205,7 +205,7 @@ static kadm5_ret_t _kadm5_init_any(krb5_context context, char *client_name, handle->destroy_cache = 0; handle->context = 0; *handle->lhandle = *handle; - handle->lhandle->api_version = KADM5_API_VERSION_2; + handle->lhandle->api_version = KADM5_API_VERSION_3; handle->lhandle->struct_version = KADM5_STRUCT_VERSION; handle->lhandle->lhandle = handle->lhandle; @@ -361,6 +361,16 @@ static kadm5_ret_t _kadm5_init_any(krb5_context context, char *client_name, #endif goto error; } + /* Drop down to v2 wire protocol if server does not support v3 */ + if (r->code == KADM5_NEW_SERVER_API_VERSION && + handle->api_version == KADM5_API_VERSION_3) { + handle->api_version = KADM5_API_VERSION_2; + r = init_2(&handle->api_version, handle->clnt); + if (r == NULL) { + code = KADM5_RPC_ERROR; + goto error; + } + } if (r->code) { code = r->code; goto error; |