#define MAX_KEYTAB_NAME_LEN 1100
#endif
-krb5_error_code smb_krb5_open_keytab(krb5_context context,
- const char *keytab_name_req,
- bool write_access,
- krb5_keytab *keytab)
+krb5_error_code smb_krb5_open_keytab_relative(krb5_context context,
+ const char *keytab_name_req,
+ bool write_access,
+ krb5_keytab *keytab)
{
krb5_error_code ret = 0;
TALLOC_CTX *mem_ctx;
goto resolve;
}
- if (keytab_name_req[0] != '/') {
- ret = KRB5_KT_BADNAME;
- goto out;
- }
-
tmp = talloc_asprintf(mem_ctx, "%s:%s", pragma, keytab_name_req);
if (!tmp) {
ret = ENOMEM;
return ret;
}
+krb5_error_code smb_krb5_open_keytab(krb5_context context,
+ const char *keytab_name_req,
+ bool write_access,
+ krb5_keytab *keytab)
+{
+ if (keytab_name_req != NULL) {
+ if (keytab_name_req[0] != '/') {
+ return KRB5_KT_BADNAME;
+ }
+ }
+
+ return smb_krb5_open_keytab_relative(context,
+ keytab_name_req,
+ write_access,
+ keytab);
+}
+
krb5_error_code smb_krb5_keytab_name(TALLOC_CTX *mem_ctx,
krb5_context context,
krb5_keytab keytab,
krb5_error_code smb_krb5_enctype_to_string(krb5_context context,
krb5_enctype enctype,
char **etype_s);
+krb5_error_code smb_krb5_open_keytab_relative(krb5_context context,
+ const char *keytab_name_req,
+ bool write_access,
+ krb5_keytab *keytab);
krb5_error_code smb_krb5_open_keytab(krb5_context context,
const char *keytab_name,
bool write_access,