Add missing initialization of mandatory
This commit is contained in:
		| @@ -453,6 +453,7 @@ hdb_entry_set_kvno_diff_clnt(krb5_context context, hdb_entry *entry, | |||||||
|  |  | ||||||
|     if (diff > 16384) |     if (diff > 16384) | ||||||
| 	return EINVAL; | 	return EINVAL; | ||||||
|  |     ext.mandatory = FALSE; | ||||||
|     ext.data.element = choice_HDB_extension_data_hist_kvno_diff_clnt; |     ext.data.element = choice_HDB_extension_data_hist_kvno_diff_clnt; | ||||||
|     ext.data.u.hist_kvno_diff_clnt = diff; |     ext.data.u.hist_kvno_diff_clnt = diff; | ||||||
|     return hdb_replace_extension(context, entry, &ext); |     return hdb_replace_extension(context, entry, &ext); | ||||||
| @@ -485,6 +486,7 @@ hdb_entry_set_kvno_diff_svc(krb5_context context, hdb_entry *entry, | |||||||
|  |  | ||||||
|     if (diff > 16384) |     if (diff > 16384) | ||||||
| 	return EINVAL; | 	return EINVAL; | ||||||
|  |     ext.mandatory = FALSE; | ||||||
|     ext.data.element = choice_HDB_extension_data_hist_kvno_diff_svc; |     ext.data.element = choice_HDB_extension_data_hist_kvno_diff_svc; | ||||||
|     ext.data.u.hist_kvno_diff_svc = diff; |     ext.data.u.hist_kvno_diff_svc = diff; | ||||||
|     return hdb_replace_extension(context, entry, &ext); |     return hdb_replace_extension(context, entry, &ext); | ||||||
|   | |||||||
| @@ -227,6 +227,8 @@ hdb_add_current_keys_to_history(krb5_context context, hdb_entry *entry) | |||||||
| 	ext->data.element = choice_HDB_extension_data_hist_keys; | 	ext->data.element = choice_HDB_extension_data_hist_keys; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     ext->mandatory = FALSE; | ||||||
|  |  | ||||||
|     /* |     /* | ||||||
|      * Copy in newest old keyset |      * Copy in newest old keyset | ||||||
|      */ |      */ | ||||||
| @@ -285,6 +287,7 @@ hdb_add_history_key(krb5_context context, hdb_entry *entry, krb5_kvno kvno, Key | |||||||
| 	extp = &ext; | 	extp = &ext; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     extp->mandatory = FALSE; | ||||||
|     hist_keys = &extp->data.u.hist_keys; |     hist_keys = &extp->data.u.hist_keys; | ||||||
|  |  | ||||||
|     for (i = 0; i < hist_keys->len; i++) { |     for (i = 0; i < hist_keys->len; i++) { | ||||||
|   | |||||||
| @@ -119,6 +119,7 @@ change(void *server_handle, | |||||||
| 	HDB_extension ext; | 	HDB_extension ext; | ||||||
|  |  | ||||||
| 	memset(&ext, 0, sizeof (ext)); | 	memset(&ext, 0, sizeof (ext)); | ||||||
|  |         ext.mandatory = FALSE; | ||||||
| 	ext.data.element = choice_HDB_extension_data_hist_keys; | 	ext.data.element = choice_HDB_extension_data_hist_keys; | ||||||
| 	ret = hdb_replace_extension(context->context, &ent.entry, &ext); | 	ret = hdb_replace_extension(context->context, &ent.entry, &ext); | ||||||
| 	if (ret) | 	if (ret) | ||||||
| @@ -235,6 +236,7 @@ kadm5_s_chpass_principal_with_key(void *server_handle, | |||||||
| 	HDB_extension ext; | 	HDB_extension ext; | ||||||
|  |  | ||||||
| 	memset(&ext, 0, sizeof (ext)); | 	memset(&ext, 0, sizeof (ext)); | ||||||
|  | 	ext.mandatory = FALSE; | ||||||
| 	ext.data.element = choice_HDB_extension_data_hist_keys; | 	ext.data.element = choice_HDB_extension_data_hist_keys; | ||||||
| 	ext.data.u.hist_keys.len = 0; | 	ext.data.u.hist_keys.len = 0; | ||||||
| 	ext.data.u.hist_keys.val = NULL; | 	ext.data.u.hist_keys.val = NULL; | ||||||
|   | |||||||
| @@ -89,6 +89,9 @@ modify_principal(void *server_handle, | |||||||
|     if ((mask & KADM5_POLICY)) { |     if ((mask & KADM5_POLICY)) { | ||||||
| 	HDB_extension ext; | 	HDB_extension ext; | ||||||
|  |  | ||||||
|  |         memset(&ext, 0, sizeof(ext)); | ||||||
|  |         /* XXX should be TRUE, but we don't yet support policies */ | ||||||
|  |         ext.mandatory = FALSE; | ||||||
| 	ext.data.element = choice_HDB_extension_data_policy; | 	ext.data.element = choice_HDB_extension_data_policy; | ||||||
| 	ext.data.u.policy = strdup(princ->policy); | 	ext.data.u.policy = strdup(princ->policy); | ||||||
| 	if (ext.data.u.policy == NULL) { | 	if (ext.data.u.policy == NULL) { | ||||||
| @@ -97,6 +100,7 @@ modify_principal(void *server_handle, | |||||||
| 	} | 	} | ||||||
| 	/* This calls free_HDB_extension(), freeing ext.data.u.policy */ | 	/* This calls free_HDB_extension(), freeing ext.data.u.policy */ | ||||||
| 	ret = hdb_replace_extension(context->context, &ent.entry, &ext); | 	ret = hdb_replace_extension(context->context, &ent.entry, &ext); | ||||||
|  |         free(ext.data.u.policy); | ||||||
| 	if (ret) | 	if (ret) | ||||||
| 	    goto out2; | 	    goto out2; | ||||||
|     } |     } | ||||||
|   | |||||||
| @@ -97,6 +97,7 @@ kadm5_s_randkey_principal(void *server_handle, | |||||||
| 	HDB_extension ext; | 	HDB_extension ext; | ||||||
|  |  | ||||||
| 	memset(&ext, 0, sizeof (ext)); | 	memset(&ext, 0, sizeof (ext)); | ||||||
|  |         ext.mandatory = FALSE; | ||||||
| 	ext.data.element = choice_HDB_extension_data_hist_keys; | 	ext.data.element = choice_HDB_extension_data_hist_keys; | ||||||
| 	ext.data.u.hist_keys.len = 0; | 	ext.data.u.hist_keys.len = 0; | ||||||
| 	ext.data.u.hist_keys.val = NULL; | 	ext.data.u.hist_keys.val = NULL; | ||||||
|   | |||||||
| @@ -129,6 +129,7 @@ _kadm5_set_keys2(kadm5_server_context *context, | |||||||
|     memset(&keys, 0, sizeof (keys)); |     memset(&keys, 0, sizeof (keys)); | ||||||
|     memset(&hkset, 0, sizeof (hkset)); /* set set_time */ |     memset(&hkset, 0, sizeof (hkset)); /* set set_time */ | ||||||
|     memset(&ext, 0, sizeof (ext)); |     memset(&ext, 0, sizeof (ext)); | ||||||
|  |     ext.mandatory = FALSE; | ||||||
|     ext.data.element = choice_HDB_extension_data_hist_keys; |     ext.data.element = choice_HDB_extension_data_hist_keys; | ||||||
|     memset(hist_keys, 0, sizeof (*hist_keys)); |     memset(hist_keys, 0, sizeof (*hist_keys)); | ||||||
|  |  | ||||||
| @@ -254,6 +255,7 @@ _kadm5_set_keys2(kadm5_server_context *context, | |||||||
|      */ |      */ | ||||||
|     free_HDB_extension(&ext); |     free_HDB_extension(&ext); | ||||||
|     free_Keys(&ent->keys); |     free_Keys(&ent->keys); | ||||||
|  |     free_hdb_keyset(&hkset); | ||||||
|     ent->keys = keys; |     ent->keys = keys; | ||||||
|     hdb_entry_set_pw_change_time(context->context, ent, 0); |     hdb_entry_set_pw_change_time(context->context, ent, 0); | ||||||
|     hdb_entry_clear_password(context->context, ent); |     hdb_entry_clear_password(context->context, ent); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Nicolas Williams
					Nicolas Williams