summaryrefslogtreecommitdiff
path: root/source3/lib/netapi
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2021-02-15 17:33:46 +0100
committerGünther Deschner <gd@samba.org>2021-07-14 16:49:30 +0000
commit1c62cac7f271c9a4c47449fd1d35f876af000b58 (patch)
tree212534b34055553e69fcbd9719e050bfc4d16e1a /source3/lib/netapi
parent927390bae58f10450100099aa150870b1f638deb (diff)
downloadsamba-1c62cac7f271c9a4c47449fd1d35f876af000b58.tar.gz
s3-libnetapi: add libnetapi_set_logfile()
Guenther Signed-off-by: Guenther Deschner <gd@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
Diffstat (limited to 'source3/lib/netapi')
-rw-r--r--source3/lib/netapi/netapi.c19
-rw-r--r--source3/lib/netapi/netapi.h6
-rw-r--r--source3/lib/netapi/netapi_private.h3
3 files changed, 28 insertions, 0 deletions
diff --git a/source3/lib/netapi/netapi.c b/source3/lib/netapi/netapi.c
index a1d0a38fb84..fe9821646a8 100644
--- a/source3/lib/netapi/netapi.c
+++ b/source3/lib/netapi/netapi.c
@@ -218,6 +218,25 @@ NET_API_STATUS libnetapi_set_debuglevel(struct libnetapi_ctx *ctx,
/****************************************************************
****************************************************************/
+NET_API_STATUS libnetapi_set_logfile(struct libnetapi_ctx *ctx,
+ const char *logfile)
+{
+ TALLOC_CTX *frame = talloc_stackframe();
+ ctx->logfile = talloc_strdup(ctx, logfile);
+
+ if (!lp_set_cmdline("log file", logfile)) {
+ TALLOC_FREE(frame);
+ return W_ERROR_V(WERR_GEN_FAILURE);
+ }
+ debug_set_logfile(logfile);
+ setup_logging("libnetapi", DEBUG_FILE);
+ TALLOC_FREE(frame);
+ return NET_API_STATUS_SUCCESS;
+}
+
+/****************************************************************
+****************************************************************/
+
NET_API_STATUS libnetapi_get_debuglevel(struct libnetapi_ctx *ctx,
char **debuglevel)
{
diff --git a/source3/lib/netapi/netapi.h b/source3/lib/netapi/netapi.h
index b56075c7078..42951a5d264 100644
--- a/source3/lib/netapi/netapi.h
+++ b/source3/lib/netapi/netapi.h
@@ -1429,6 +1429,12 @@ NET_API_STATUS libnetapi_get_use_kerberos(struct libnetapi_ctx *ctx,
/****************************************************************
****************************************************************/
+NET_API_STATUS libnetapi_set_logfile(struct libnetapi_ctx *ctx,
+ const char *logfile);
+
+/****************************************************************
+****************************************************************/
+
NET_API_STATUS libnetapi_set_use_ccache(struct libnetapi_ctx *ctx);
/****************************************************************
diff --git a/source3/lib/netapi/netapi_private.h b/source3/lib/netapi/netapi_private.h
index 0f897514007..5cfd8d0efd2 100644
--- a/source3/lib/netapi/netapi_private.h
+++ b/source3/lib/netapi/netapi_private.h
@@ -56,6 +56,7 @@ struct libnetapi_private_ctx {
struct libnetapi_ctx {
char *debuglevel;
+ char *logfile;
char *error_string;
int disable_policy_handle_cache;
@@ -69,6 +70,8 @@ NET_API_STATUS libnetapi_set_error_string(struct libnetapi_ctx *ctx,
const char *format, ...)
PRINTF_ATTRIBUTE(2,3);
NET_API_STATUS libnetapi_get_debuglevel(struct libnetapi_ctx *ctx, char **debuglevel);
+NET_API_STATUS libnetapi_set_logfile(struct libnetapi_ctx *ctx,
+ const char *logfile);
WERROR libnetapi_shutdown_cm(struct libnetapi_ctx *ctx);
WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx,