1 1.1 christos /* $NetBSD: kadm5-protos.h,v 1.2 2019/12/15 22:50:50 christos Exp $ */ 2 1.1 christos 3 1.1 christos /* This is a generated file */ 4 1.1 christos #ifndef __kadm5_protos_h__ 5 1.1 christos #define __kadm5_protos_h__ 6 1.1 christos #ifndef DOXY 7 1.1 christos 8 1.1 christos #include <stdarg.h> 9 1.1 christos 10 1.1 christos #ifdef __cplusplus 11 1.1 christos extern "C" { 12 1.1 christos #endif 13 1.1 christos 14 1.1 christos kadm5_ret_t 15 1.1 christos kadm5_ad_init_with_password ( 16 1.1 christos const char */*client_name*/, 17 1.1 christos const char */*password*/, 18 1.1 christos const char */*service_name*/, 19 1.1 christos kadm5_config_params */*realm_params*/, 20 1.1 christos unsigned long /*struct_version*/, 21 1.1 christos unsigned long /*api_version*/, 22 1.1 christos void **/*server_handle*/); 23 1.1 christos 24 1.1 christos kadm5_ret_t 25 1.1 christos kadm5_ad_init_with_password_ctx ( 26 1.1 christos krb5_context /*context*/, 27 1.1 christos const char */*client_name*/, 28 1.1 christos const char */*password*/, 29 1.1 christos const char */*service_name*/, 30 1.1 christos kadm5_config_params */*realm_params*/, 31 1.1 christos unsigned long /*struct_version*/, 32 1.1 christos unsigned long /*api_version*/, 33 1.1 christos void **/*server_handle*/); 34 1.1 christos 35 1.1 christos krb5_error_code 36 1.1 christos kadm5_add_passwd_quality_verifier ( 37 1.1 christos krb5_context /*context*/, 38 1.1 christos const char */*check_library*/); 39 1.1 christos 40 1.1 christos int 41 1.1 christos kadm5_all_keys_are_bogus ( 42 1.1 christos size_t /*n_keys*/, 43 1.1 christos krb5_key_data */*keys*/); 44 1.1 christos 45 1.1 christos const char * 46 1.1 christos kadm5_check_password_quality ( 47 1.1 christos krb5_context /*context*/, 48 1.1 christos krb5_principal /*principal*/, 49 1.1 christos krb5_data */*pwd_data*/); 50 1.1 christos 51 1.1 christos kadm5_ret_t 52 1.1 christos kadm5_chpass_principal ( 53 1.1 christos void */*server_handle*/, 54 1.1 christos krb5_principal /*princ*/, 55 1.1 christos const char */*password*/); 56 1.1 christos 57 1.1 christos kadm5_ret_t 58 1.1 christos kadm5_chpass_principal_3 ( 59 1.1 christos void */*server_handle*/, 60 1.1 christos krb5_principal /*princ*/, 61 1.1 christos krb5_boolean /*keepold*/, 62 1.1 christos int /*n_ks_tuple*/, 63 1.1 christos krb5_key_salt_tuple */*ks_tuple*/, 64 1.1 christos const char */*password*/); 65 1.1 christos 66 1.1 christos kadm5_ret_t 67 1.1 christos kadm5_chpass_principal_with_key ( 68 1.1 christos void */*server_handle*/, 69 1.1 christos krb5_principal /*princ*/, 70 1.1 christos int /*n_key_data*/, 71 1.1 christos krb5_key_data */*key_data*/); 72 1.1 christos 73 1.1 christos kadm5_ret_t 74 1.1 christos kadm5_chpass_principal_with_key_3 ( 75 1.1 christos void */*server_handle*/, 76 1.1 christos krb5_principal /*princ*/, 77 1.1 christos int /*keepold*/, 78 1.1 christos int /*n_key_data*/, 79 1.1 christos krb5_key_data */*key_data*/); 80 1.1 christos 81 1.1 christos kadm5_ret_t 82 1.1 christos kadm5_create_policy ( 83 1.1 christos void */*server_handle*/, 84 1.1 christos kadm5_policy_ent_t /*policy*/, 85 1.1 christos long /*mask*/); 86 1.1 christos 87 1.1 christos kadm5_ret_t 88 1.1 christos kadm5_create_principal ( 89 1.1 christos void */*server_handle*/, 90 1.1 christos kadm5_principal_ent_t /*princ*/, 91 1.1 christos uint32_t /*mask*/, 92 1.1 christos const char */*password*/); 93 1.1 christos 94 1.1 christos kadm5_ret_t 95 1.1 christos kadm5_create_principal_3 ( 96 1.1 christos void */*server_handle*/, 97 1.1 christos kadm5_principal_ent_t /*princ*/, 98 1.1 christos uint32_t /*mask*/, 99 1.1 christos int /*n_ks_tuple*/, 100 1.1 christos krb5_key_salt_tuple */*ks_tuple*/, 101 1.1 christos char */*password*/); 102 1.1 christos 103 1.1 christos /** 104 1.1 christos * Extract decrypted keys from kadm5_principal_ent_t object. Mostly a 105 1.1 christos * no-op for Heimdal because we fetch the entry with decrypted keys. 106 1.1 christos * Sadly this is not fully a no-op, as we have to allocate a copy. 107 1.1 christos * 108 1.1 christos * @server_handle is the kadm5 handle 109 1.1 christos * @entry is the HDB entry for the principal in question 110 1.1 christos * @ktype is the enctype to get a key for, or -1 to get the first one 111 1.1 christos * @stype is the salttype to get a key for, or -1 to get the first match 112 1.1 christos * @kvno is the kvno to search for, or -1 to get the first match (highest kvno) 113 1.1 christos * @keyblock is where the key will be placed 114 1.1 christos * @keysalt, if not NULL, is where the salt will be placed 115 1.1 christos * @kvnop, if not NULL, is where the selected kvno will be placed 116 1.1 christos */ 117 1.1 christos 118 1.1 christos kadm5_ret_t 119 1.1 christos kadm5_decrypt_key ( 120 1.1 christos void */*server_handle*/, 121 1.1 christos kadm5_principal_ent_t /*entry*/, 122 1.1 christos int32_t /*ktype*/, 123 1.1 christos int32_t /*stype*/, 124 1.1 christos int32_t /*kvno*/, 125 1.1 christos krb5_keyblock */*keyblock*/, 126 1.1 christos krb5_keysalt */*keysalt*/, 127 1.1 christos int */*kvnop*/); 128 1.1 christos 129 1.1 christos kadm5_ret_t 130 1.1 christos kadm5_delete_policy ( 131 1.1 christos void */*server_handle*/, 132 1.1 christos char */*name*/); 133 1.1 christos 134 1.1 christos kadm5_ret_t 135 1.1 christos kadm5_delete_principal ( 136 1.1 christos void */*server_handle*/, 137 1.1 christos krb5_principal /*princ*/); 138 1.1 christos 139 1.1 christos kadm5_ret_t 140 1.1 christos kadm5_destroy (void */*server_handle*/); 141 1.1 christos 142 1.1 christos kadm5_ret_t 143 1.1 christos kadm5_flush (void */*server_handle*/); 144 1.1 christos 145 1.1 christos void 146 1.1 christos kadm5_free_key_data ( 147 1.1 christos void */*server_handle*/, 148 1.1 christos int16_t */*n_key_data*/, 149 1.1 christos krb5_key_data */*key_data*/); 150 1.1 christos 151 1.1 christos void 152 1.1 christos kadm5_free_name_list ( 153 1.1 christos void */*server_handle*/, 154 1.1 christos char **/*names*/, 155 1.1 christos int */*count*/); 156 1.1 christos 157 1.1 christos kadm5_ret_t 158 1.1 christos kadm5_free_policy_ent (kadm5_policy_ent_t /*ent*/); 159 1.1 christos 160 1.1 christos void 161 1.1 christos kadm5_free_principal_ent ( 162 1.1 christos void */*server_handle*/, 163 1.1 christos kadm5_principal_ent_t /*princ*/); 164 1.1 christos 165 1.1 christos kadm5_ret_t 166 1.1 christos kadm5_get_policies ( 167 1.1 christos void */*server_handle*/, 168 1.1 christos char */*exp*/, 169 1.1 christos char ***/*pols*/, 170 1.1 christos int */*count*/); 171 1.1 christos 172 1.1 christos kadm5_ret_t 173 1.1 christos kadm5_get_policy ( 174 1.1 christos void */*server_handle*/, 175 1.1 christos char */*policy*/, 176 1.1 christos kadm5_policy_ent_t /*ent*/); 177 1.1 christos 178 1.1 christos kadm5_ret_t 179 1.1 christos kadm5_get_principal ( 180 1.1 christos void */*server_handle*/, 181 1.1 christos krb5_principal /*princ*/, 182 1.1 christos kadm5_principal_ent_t /*out*/, 183 1.1 christos uint32_t /*mask*/); 184 1.1 christos 185 1.1 christos kadm5_ret_t 186 1.1 christos kadm5_get_principals ( 187 1.1 christos void */*server_handle*/, 188 1.1 christos const char */*expression*/, 189 1.1 christos char ***/*princs*/, 190 1.1 christos int */*count*/); 191 1.1 christos 192 1.1 christos kadm5_ret_t 193 1.1 christos kadm5_get_privs ( 194 1.1 christos void */*server_handle*/, 195 1.1 christos uint32_t */*privs*/); 196 1.1 christos 197 1.1 christos kadm5_ret_t 198 1.1 christos kadm5_init_with_creds ( 199 1.1 christos const char */*client_name*/, 200 1.1 christos krb5_ccache /*ccache*/, 201 1.1 christos const char */*service_name*/, 202 1.1 christos kadm5_config_params */*realm_params*/, 203 1.1 christos unsigned long /*struct_version*/, 204 1.1 christos unsigned long /*api_version*/, 205 1.1 christos void **/*server_handle*/); 206 1.1 christos 207 1.1 christos kadm5_ret_t 208 1.1 christos kadm5_init_with_creds_ctx ( 209 1.1 christos krb5_context /*context*/, 210 1.1 christos const char */*client_name*/, 211 1.1 christos krb5_ccache /*ccache*/, 212 1.1 christos const char */*service_name*/, 213 1.1 christos kadm5_config_params */*realm_params*/, 214 1.1 christos unsigned long /*struct_version*/, 215 1.1 christos unsigned long /*api_version*/, 216 1.1 christos void **/*server_handle*/); 217 1.1 christos 218 1.1 christos kadm5_ret_t 219 1.1 christos kadm5_init_with_password ( 220 1.1 christos const char */*client_name*/, 221 1.1 christos const char */*password*/, 222 1.1 christos const char */*service_name*/, 223 1.1 christos kadm5_config_params */*realm_params*/, 224 1.1 christos unsigned long /*struct_version*/, 225 1.1 christos unsigned long /*api_version*/, 226 1.1 christos void **/*server_handle*/); 227 1.1 christos 228 1.1 christos kadm5_ret_t 229 1.1 christos kadm5_init_with_password_ctx ( 230 1.1 christos krb5_context /*context*/, 231 1.1 christos const char */*client_name*/, 232 1.1 christos const char */*password*/, 233 1.1 christos const char */*service_name*/, 234 1.1 christos kadm5_config_params */*realm_params*/, 235 1.1 christos unsigned long /*struct_version*/, 236 1.1 christos unsigned long /*api_version*/, 237 1.1 christos void **/*server_handle*/); 238 1.1 christos 239 1.1 christos kadm5_ret_t 240 1.1 christos kadm5_init_with_skey ( 241 1.1 christos const char */*client_name*/, 242 1.1 christos const char */*keytab*/, 243 1.1 christos const char */*service_name*/, 244 1.1 christos kadm5_config_params */*realm_params*/, 245 1.1 christos unsigned long /*struct_version*/, 246 1.1 christos unsigned long /*api_version*/, 247 1.1 christos void **/*server_handle*/); 248 1.1 christos 249 1.1 christos kadm5_ret_t 250 1.1 christos kadm5_init_with_skey_ctx ( 251 1.1 christos krb5_context /*context*/, 252 1.1 christos const char */*client_name*/, 253 1.1 christos const char */*keytab*/, 254 1.1 christos const char */*service_name*/, 255 1.1 christos kadm5_config_params */*realm_params*/, 256 1.1 christos unsigned long /*struct_version*/, 257 1.1 christos unsigned long /*api_version*/, 258 1.1 christos void **/*server_handle*/); 259 1.1 christos 260 1.1 christos kadm5_ret_t 261 1.1 christos kadm5_lock (void */*server_handle*/); 262 1.1 christos 263 1.1 christos kadm5_ret_t 264 1.1 christos kadm5_modify_policy ( 265 1.1 christos void */*server_handle*/, 266 1.1 christos kadm5_policy_ent_t /*policy*/, 267 1.1 christos uint32_t /*mask*/); 268 1.1 christos 269 1.1 christos kadm5_ret_t 270 1.1 christos kadm5_modify_principal ( 271 1.1 christos void */*server_handle*/, 272 1.1 christos kadm5_principal_ent_t /*princ*/, 273 1.1 christos uint32_t /*mask*/); 274 1.1 christos 275 1.1 christos kadm5_ret_t 276 1.1 christos kadm5_randkey_principal ( 277 1.1 christos void */*server_handle*/, 278 1.1 christos krb5_principal /*princ*/, 279 1.1 christos krb5_keyblock **/*new_keys*/, 280 1.1 christos int */*n_keys*/); 281 1.1 christos 282 1.1 christos kadm5_ret_t 283 1.1 christos kadm5_randkey_principal_3 ( 284 1.1 christos void */*server_handle*/, 285 1.1 christos krb5_principal /*princ*/, 286 1.1 christos krb5_boolean /*keepold*/, 287 1.1 christos int /*n_ks_tuple*/, 288 1.1 christos krb5_key_salt_tuple */*ks_tuple*/, 289 1.1 christos krb5_keyblock **/*new_keys*/, 290 1.1 christos int */*n_keys*/); 291 1.1 christos 292 1.1 christos kadm5_ret_t 293 1.1 christos kadm5_rename_principal ( 294 1.1 christos void */*server_handle*/, 295 1.1 christos krb5_principal /*source*/, 296 1.1 christos krb5_principal /*target*/); 297 1.1 christos 298 1.1 christos kadm5_ret_t 299 1.1 christos kadm5_ret_key_data ( 300 1.1 christos krb5_storage */*sp*/, 301 1.1 christos krb5_key_data */*key*/); 302 1.1 christos 303 1.1 christos kadm5_ret_t 304 1.1 christos kadm5_ret_principal_ent ( 305 1.1 christos krb5_storage */*sp*/, 306 1.1 christos kadm5_principal_ent_t /*princ*/); 307 1.1 christos 308 1.1 christos kadm5_ret_t 309 1.1 christos kadm5_ret_principal_ent_mask ( 310 1.1 christos krb5_storage */*sp*/, 311 1.1 christos kadm5_principal_ent_t /*princ*/, 312 1.1 christos uint32_t */*mask*/); 313 1.1 christos 314 1.1 christos kadm5_ret_t 315 1.1 christos kadm5_ret_tl_data ( 316 1.1 christos krb5_storage */*sp*/, 317 1.1 christos krb5_tl_data */*tl*/); 318 1.1 christos 319 1.1 christos /** 320 1.1 christos * This function is allows the caller to set new keys for a principal. 321 1.1 christos * This is a trivial wrapper around kadm5_setkey_principal_3(). 322 1.1 christos */ 323 1.1 christos 324 1.1 christos kadm5_ret_t 325 1.1 christos kadm5_setkey_principal ( 326 1.1 christos void */*server_handle*/, 327 1.1 christos krb5_principal /*princ*/, 328 1.1 christos krb5_keyblock */*new_keys*/, 329 1.1 christos int /*n_keys*/); 330 1.1 christos 331 1.1 christos /** 332 1.1 christos * This function is allows the caller to set new keys for a principal. 333 1.1 christos * This is a simple wrapper around kadm5_get_principal() and 334 1.1 christos * kadm5_modify_principal(). 335 1.1 christos */ 336 1.1 christos 337 1.1 christos kadm5_ret_t 338 1.1 christos kadm5_setkey_principal_3 ( 339 1.1 christos void */*server_handle*/, 340 1.1 christos krb5_principal /*princ*/, 341 1.1 christos krb5_boolean /*keepold*/, 342 1.1 christos int /*n_ks_tuple*/, 343 1.1 christos krb5_key_salt_tuple */*ks_tuple*/, 344 1.1 christos krb5_keyblock */*keyblocks*/, 345 1.1 christos int /*n_keys*/); 346 1.1 christos 347 1.1 christos void 348 1.1 christos kadm5_setup_passwd_quality_check ( 349 1.1 christos krb5_context /*context*/, 350 1.1 christos const char */*check_library*/, 351 1.1 christos const char */*check_function*/); 352 1.1 christos 353 1.1 christos int 354 1.1 christos kadm5_some_keys_are_bogus ( 355 1.1 christos size_t /*n_keys*/, 356 1.1 christos krb5_key_data */*keys*/); 357 1.1 christos 358 1.1 christos kadm5_ret_t 359 1.1 christos kadm5_store_fake_key_data ( 360 1.1 christos krb5_storage */*sp*/, 361 1.1 christos krb5_key_data */*key*/); 362 1.1 christos 363 1.1 christos kadm5_ret_t 364 1.1 christos kadm5_store_key_data ( 365 1.1 christos krb5_storage */*sp*/, 366 1.1 christos krb5_key_data */*key*/); 367 1.1 christos 368 1.1 christos kadm5_ret_t 369 1.1 christos kadm5_store_principal_ent ( 370 1.1 christos krb5_storage */*sp*/, 371 1.1 christos kadm5_principal_ent_t /*princ*/); 372 1.1 christos 373 1.1 christos kadm5_ret_t 374 1.1 christos kadm5_store_principal_ent_mask ( 375 1.1 christos krb5_storage */*sp*/, 376 1.1 christos kadm5_principal_ent_t /*princ*/, 377 1.1 christos uint32_t /*mask*/); 378 1.1 christos 379 1.1 christos kadm5_ret_t 380 1.1 christos kadm5_store_principal_ent_nokeys ( 381 1.1 christos krb5_storage */*sp*/, 382 1.1 christos kadm5_principal_ent_t /*princ*/); 383 1.1 christos 384 1.1 christos kadm5_ret_t 385 1.1 christos kadm5_store_tl_data ( 386 1.1 christos krb5_storage */*sp*/, 387 1.1 christos krb5_tl_data */*tl*/); 388 1.1 christos 389 1.1 christos kadm5_ret_t 390 1.1 christos kadm5_unlock (void */*server_handle*/); 391 1.1 christos 392 1.1 christos #ifdef __cplusplus 393 1.1 christos } 394 1.1 christos #endif 395 1.1 christos 396 1.1 christos #endif /* DOXY */ 397 1.1 christos #endif /* __kadm5_protos_h__ */ 398