s3-libnetapi: add libnetapi_set_logfile()
authorGünther Deschner <gd@samba.org>
Mon, 15 Feb 2021 16:33:46 +0000 (17:33 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 14 Jul 2021 16:49:30 +0000 (16:49 +0000)
Guenther

Signed-off-by: Guenther Deschner <gd@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
source3/lib/netapi/netapi.c
source3/lib/netapi/netapi.h
source3/lib/netapi/netapi_private.h

index a1d0a38fb84dd19b553676a40b928c5ce7d00257..fe9821646a81b8eacb71421cee217be2caaccc8c 100644 (file)
@@ -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)
 {
index b56075c707850d59b191a00fc908ce7113ae375f..42951a5d26469c19656fcbcaecb43e90cc7f8b55 100644 (file)
@@ -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);
 
 /****************************************************************
index 0f8975140071bf462b2935304e39306075545c1a..5cfd8d0efd2d68b878b419195781057f13bd29e1 100644 (file)
@@ -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,