139
140
if ((code != KADM5_PASS_Q_TOOSHORT) &&
140
141
(code != KADM5_PASS_REUSE) &&(code != KADM5_PASS_Q_CLASS) &&
141
142
(code != KADM5_PASS_Q_DICT) && (code != KADM5_PASS_TOOSOON)) {
142
/* Can't get more info for other errors */
143
sprintf(buffer, "%s %s", error_message(code),
144
string_text(CHPASS_UTIL_WHILE_TRYING_TO_CHANGE));
145
sprintf(msg_ret, "%s\n%s\n", string_text(CHPASS_UTIL_PASSWORD_NOT_CHANGED),
143
/* Can't get more info for other errors */
144
snprintf(buffer, sizeof(buffer), "%s %s", error_message(code),
145
string_text(CHPASS_UTIL_WHILE_TRYING_TO_CHANGE));
146
snprintf(msg_ret, msg_len, "%s\n%s\n",
147
string_text(CHPASS_UTIL_PASSWORD_NOT_CHANGED),
150
152
/* Ok, we have a password quality error. Return a good message */
200
202
code2 = kadm5_get_policy(lhandle, princ_ent.policy,
202
204
if (code2 != 0) {
203
sprintf(msg_ret, "%s %s\n%s %s\n\n%s\n ", error_message(code2),
204
string_text(CHPASS_UTIL_GET_POLICY_INFO),
206
string_text(CHPASS_UTIL_WHILE_TRYING_TO_CHANGE),
207
string_text(CHPASS_UTIL_PASSWORD_NOT_CHANGED));
208
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
205
snprintf(msg_ret, msg_len, "%s %s\n%s %s\n\n%s\n ", error_message(code2),
206
string_text(CHPASS_UTIL_GET_POLICY_INFO),
208
string_text(CHPASS_UTIL_WHILE_TRYING_TO_CHANGE),
209
string_text(CHPASS_UTIL_PASSWORD_NOT_CHANGED));
210
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
212
214
if (code == KADM5_PASS_Q_TOOSHORT) {
213
sprintf(msg_ret, string_text(CHPASS_UTIL_PASSWORD_TOO_SHORT),
214
policy_ent.pw_min_length);
215
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
216
(void) kadm5_free_policy_ent(lhandle, &policy_ent);
215
snprintf(msg_ret, msg_len, string_text(CHPASS_UTIL_PASSWORD_TOO_SHORT),
216
policy_ent.pw_min_length);
217
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
218
(void) kadm5_free_policy_ent(lhandle, &policy_ent);
220
222
/* Can't get more info for other errors */
222
224
if (code == KADM5_PASS_Q_CLASS) {
223
sprintf(msg_ret, string_text(CHPASS_UTIL_TOO_FEW_CLASSES),
224
policy_ent.pw_min_classes);
225
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
226
(void) kadm5_free_policy_ent(lhandle, &policy_ent);
225
snprintf(msg_ret, msg_len, string_text(CHPASS_UTIL_TOO_FEW_CLASSES),
226
policy_ent.pw_min_classes);
227
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
228
(void) kadm5_free_policy_ent(lhandle, &policy_ent);
230
232
if (code == KADM5_PASS_TOOSOON) {
237
239
if (*(ptr = &time_string[strlen(time_string)-1]) == '\n')
240
sprintf(msg_ret, string_text(CHPASS_UTIL_PASSWORD_TOO_SOON),
242
snprintf(msg_ret, msg_len, string_text(CHPASS_UTIL_PASSWORD_TOO_SOON),
242
244
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
243
245
(void) kadm5_free_policy_ent(lhandle, &policy_ent);
247
249
/* We should never get here, but just in case ... */
248
sprintf(buffer, "%s %s", error_message(code),
249
string_text(CHPASS_UTIL_WHILE_TRYING_TO_CHANGE));
250
sprintf(msg_ret, "%s\n%s\n", string_text(CHPASS_UTIL_PASSWORD_NOT_CHANGED),
250
snprintf(buffer, sizeof(buffer), "%s %s", error_message(code),
251
string_text(CHPASS_UTIL_WHILE_TRYING_TO_CHANGE));
252
snprintf(msg_ret, msg_len, "%s\n%s\n",
253
string_text(CHPASS_UTIL_PASSWORD_NOT_CHANGED),
252
255
(void) kadm5_free_principal_ent(lhandle, &princ_ent);
253
256
(void) kadm5_free_policy_ent(lhandle, &policy_ent);