Changeset 740 for vendor/current/source4/heimdal/kdc/default_config.c
- Timestamp:
- Nov 14, 2012, 12:59:34 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified vendor/current/source4/heimdal/kdc/default_config.c ¶
r414 r740 2 2 * Copyright (c) 1997-2007 Kungliga Tekniska Högskolan 3 3 * (Royal Institute of Technology, Stockholm, Sweden). 4 *5 4 * All rights reserved. 5 * 6 * Portions Copyright (c) 2009 Apple Inc. All rights reserved. 6 7 * 7 8 * Redistribution and use in source and binary forms, with or without … … 36 37 #include <getarg.h> 37 38 #include <parse_bytes.h> 38 39 RCSID("$Id$");40 39 41 40 krb5_error_code … … 216 215 217 216 218 #ifdef PKINIT219 217 c->enable_pkinit = 220 218 krb5_config_get_bool_default(context, … … 224 222 "enable-pkinit", 225 223 NULL); 226 if (c->enable_pkinit) { 227 const char *user_id, *anchors, *file; 228 char **pool_list, **revoke_list; 229 230 user_id = 231 krb5_config_get_string(context, NULL, 232 "kdc", "pkinit_identity", NULL); 233 if (user_id == NULL) 234 krb5_errx(context, 1, "pkinit enabled but no identity"); 235 236 anchors = krb5_config_get_string(context, NULL, 237 "kdc", "pkinit_anchors", NULL); 238 if (anchors == NULL) 239 krb5_errx(context, 1, "pkinit enabled but no X509 anchors"); 240 241 pool_list = 242 krb5_config_get_strings(context, NULL, 243 "kdc", "pkinit_pool", NULL); 244 245 revoke_list = 246 krb5_config_get_strings(context, NULL, 247 "kdc", "pkinit_revoke", NULL); 248 249 file = krb5_config_get_string(context, NULL, 250 "kdc", "pkinit_kdc_ocsp", NULL); 251 if (file) { 252 c->pkinit_kdc_ocsp_file = strdup(file); 253 if (c->pkinit_kdc_ocsp_file == NULL) 254 krb5_errx(context, 1, "out of memory"); 255 } 256 257 file = krb5_config_get_string(context, NULL, 258 "kdc", "pkinit_kdc_friendly_name", NULL); 259 if (file) { 260 c->pkinit_kdc_friendly_name = strdup(file); 261 if (c->pkinit_kdc_friendly_name == NULL) 262 krb5_errx(context, 1, "out of memory"); 263 } 264 265 266 _kdc_pk_initialize(context, c, user_id, anchors, 267 pool_list, revoke_list); 268 269 krb5_config_free_strings(pool_list); 270 krb5_config_free_strings(revoke_list); 271 272 c->pkinit_princ_in_cert = 273 krb5_config_get_bool_default(context, NULL, 274 c->pkinit_princ_in_cert, 275 "kdc", 276 "pkinit_principal_in_certificate", 277 NULL); 278 279 c->pkinit_require_binding = 280 krb5_config_get_bool_default(context, NULL, 281 c->pkinit_require_binding, 282 "kdc", 283 "pkinit_win2k_require_binding", 284 NULL); 285 } 286 224 225 226 c->pkinit_kdc_identity = 227 krb5_config_get_string(context, NULL, 228 "kdc", "pkinit_identity", NULL); 229 c->pkinit_kdc_anchors = 230 krb5_config_get_string(context, NULL, 231 "kdc", "pkinit_anchors", NULL); 232 c->pkinit_kdc_cert_pool = 233 krb5_config_get_strings(context, NULL, 234 "kdc", "pkinit_pool", NULL); 235 c->pkinit_kdc_revoke = 236 krb5_config_get_strings(context, NULL, 237 "kdc", "pkinit_revoke", NULL); 238 c->pkinit_kdc_ocsp_file = 239 krb5_config_get_string(context, NULL, 240 "kdc", "pkinit_kdc_ocsp", NULL); 241 c->pkinit_kdc_friendly_name = 242 krb5_config_get_string(context, NULL, 243 "kdc", "pkinit_kdc_friendly_name", NULL); 244 c->pkinit_princ_in_cert = 245 krb5_config_get_bool_default(context, NULL, 246 c->pkinit_princ_in_cert, 247 "kdc", 248 "pkinit_principal_in_certificate", 249 NULL); 250 c->pkinit_require_binding = 251 krb5_config_get_bool_default(context, NULL, 252 c->pkinit_require_binding, 253 "kdc", 254 "pkinit_win2k_require_binding", 255 NULL); 287 256 c->pkinit_dh_min_bits = 288 257 krb5_config_get_int_default(context, NULL, … … 290 259 "kdc", "pkinit_dh_min_bits", NULL); 291 260 292 #endif293 294 261 *config = c; 295 262 296 263 return 0; 297 264 } 265 266 krb5_error_code 267 krb5_kdc_pkinit_config(krb5_context context, krb5_kdc_configuration *config) 268 { 269 #ifdef PKINIT 270 #ifdef __APPLE__ 271 config->enable_pkinit = 1; 272 273 if (config->pkinit_kdc_identity == NULL) { 274 if (config->pkinit_kdc_friendly_name == NULL) 275 config->pkinit_kdc_friendly_name = 276 strdup("O=System Identity,CN=com.apple.kerberos.kdc"); 277 config->pkinit_kdc_identity = strdup("KEYCHAIN:"); 278 } 279 if (config->pkinit_kdc_anchors == NULL) 280 config->pkinit_kdc_anchors = strdup("KEYCHAIN:"); 281 282 #endif /* __APPLE__ */ 283 284 if (config->enable_pkinit) { 285 if (config->pkinit_kdc_identity == NULL) 286 krb5_errx(context, 1, "pkinit enabled but no identity"); 287 288 if (config->pkinit_kdc_anchors == NULL) 289 krb5_errx(context, 1, "pkinit enabled but no X509 anchors"); 290 291 krb5_kdc_pk_initialize(context, config, 292 config->pkinit_kdc_identity, 293 config->pkinit_kdc_anchors, 294 config->pkinit_kdc_cert_pool, 295 config->pkinit_kdc_revoke); 296 297 } 298 299 return 0; 300 #endif /* PKINIT */ 301 }
Note:
See TracChangeset
for help on using the changeset viewer.