Don't unconditionally set the kerberos flag for authentication.
Guenther
}
cli_cm_set_signing_state(Undefined);
- cli_cm_set_use_kerberos();
+
+ if (ctx->use_kerberos) {
+ cli_cm_set_use_kerberos();
+ }
if (ctx->password) {
cli_cm_set_password(ctx->password);
}
if (ctx->username && ctx->username[0] &&
- ctx->password && ctx->password[0]) {
+ ctx->password && ctx->password[0] &&
+ ctx->use_kerberos) {
cli_cm_set_fallback_after_kerberos();
}
case 'p':
libnetapi_set_password(ctx, arg);
break;
+ case 'k':
+ libnetapi_set_use_kerberos(ctx);
+ break;
}
}
{ "user", 'U', POPT_ARG_STRING, NULL, 'U', "Username used for connection", "USERNAME" },
{ "password", 'p', POPT_ARG_STRING, NULL, 'p', "Password used for connection", "PASSWORD" },
{ "debuglevel", 'd', POPT_ARG_STRING, NULL, 'd', "Debuglevel", "DEBUGLEVEL" },
+ { "kerberos", 'k', POPT_ARG_NONE, NULL, 'k', "Use Kerberos", NULL },
POPT_TABLEEND
};
/****************************************************************
****************************************************************/
+NET_API_STATUS libnetapi_set_use_kerberos(struct libnetapi_ctx *ctx)
+{
+ ctx->use_kerberos = true;
+ return NET_API_STATUS_SUCCESS;
+}
+
+/****************************************************************
+****************************************************************/
+
const char *libnetapi_errstr(NET_API_STATUS status)
{
if (status & 0xc0000000) {
char *workgroup;
char *password;
char *krb5_cc_env;
+ int use_kerberos;
};
/****************************************************************
/****************************************************************
****************************************************************/
+NET_API_STATUS libnetapi_set_use_kerberos(struct libnetapi_ctx *ctx);
+
+/****************************************************************
+****************************************************************/
+
const char *libnetapi_errstr(NET_API_STATUS status);
/****************************************************************