cmp = strcasecmp(princ_str, lname);
if (cmp == 0) {
- krb5_free_unparsed_name(context, princ_str);
- return 0;
+ goto out;
}
wbc_status = wbcCtxGetpwnam(data->wbc_ctx,
princ_str,
&pwd);
- krb5_free_unparsed_name(context, princ_str);
switch (wbc_status) {
case WBC_ERR_SUCCESS:
princ_uid = pwd->pw_uid;
}
wbcFreeMemory(pwd);
if (code != 0) {
- return code;
+ goto out;
}
wbc_status = wbcCtxGetpwnam(data->wbc_ctx,
}
wbcFreeMemory(pwd);
if (code != 0) {
- return code;
+ goto out;
}
if (princ_uid != lname_uid) {
code = EPERM;
}
+ com_err("winbind_localauth",
+ code,
+ "Access %s: %s (uid=%u) %sequal to %s (uid=%u)",
+ code == 0 ? "granted" : "denied",
+ princ_str,
+ (unsigned int)princ_uid,
+ code == 0 ? "" : "not ",
+ lname,
+ (unsigned int)lname_uid);
+
+out:
+ krb5_free_unparsed_name(context, princ_str);
+
return code;
}