diff options
Diffstat (limited to 'source4/smbd')
-rw-r--r-- | source4/smbd/process_standard.c | 2 | ||||
-rw-r--r-- | source4/smbd/server.c | 4 | ||||
-rw-r--r-- | source4/smbd/service_stream.c | 4 | ||||
-rw-r--r-- | source4/smbd/service_stream.h | 1 | ||||
-rw-r--r-- | source4/smbd/service_task.c | 4 |
5 files changed, 10 insertions, 5 deletions
diff --git a/source4/smbd/process_standard.c b/source4/smbd/process_standard.c index fdeaefc443..09d32d05aa 100644 --- a/source4/smbd/process_standard.c +++ b/source4/smbd/process_standard.c @@ -198,7 +198,7 @@ _NORETURN_ static void standard_terminate(struct event_context *ev, const char * /* this reload_charcnv() has the effect of freeing the iconv context memory, which makes leak checking easier */ - reload_charcnv(); + reload_charcnv(global_loadparm); /* the secrets db should really hang off the connection structure */ secrets_shutdown(); diff --git a/source4/smbd/server.c b/source4/smbd/server.c index e7d7d1a7fc..3f1d3c35d8 100644 --- a/source4/smbd/server.c +++ b/source4/smbd/server.c @@ -226,7 +226,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ model = poptGetOptArg(pc); break; default: - d_fprintf(stderr, "\nInvalid option %s: %s\n\n", + fprintf(stderr, "\nInvalid option %s: %s\n\n", poptBadOption(pc, 0), poptStrerror(opt)); poptPrintUsage(pc, stderr, 0); exit(1); @@ -234,7 +234,7 @@ static int binary_smbd_main(const char *binary_name, int argc, const char *argv[ } if (opt_daemon && opt_interactive) { - d_fprintf(stderr,"\nERROR: " + fprintf(stderr,"\nERROR: " "Option -i|--interactive is not allowed together with -D|--daemon\n\n"); poptPrintUsage(pc, stderr, 0); exit(1); diff --git a/source4/smbd/service_stream.c b/source4/smbd/service_stream.c index 8df8c474f5..6d2e95dc94 100644 --- a/source4/smbd/service_stream.c +++ b/source4/smbd/service_stream.c @@ -183,7 +183,9 @@ static void stream_new_connection(struct event_context *ev, /* setup to receive internal messages on this connection */ srv_conn->msg_ctx = messaging_init(srv_conn, lp_messaging_path(srv_conn, global_loadparm), - srv_conn->server_id, ev); + srv_conn->server_id, + lp_iconv_convenience(global_loadparm), + ev); if (!srv_conn->msg_ctx) { stream_terminate_connection(srv_conn, "messaging_init() failed"); return; diff --git a/source4/smbd/service_stream.h b/source4/smbd/service_stream.h index 6eb26a4282..04d23a56f2 100644 --- a/source4/smbd/service_stream.h +++ b/source4/smbd/service_stream.h @@ -48,6 +48,7 @@ struct stream_connection { struct socket_context *socket; struct messaging_context *msg_ctx; + struct loadparm_context *lp_ctx; bool processing; const char *terminate; diff --git a/source4/smbd/service_task.c b/source4/smbd/service_task.c index dceda5a922..f286da5cf6 100644 --- a/source4/smbd/service_task.c +++ b/source4/smbd/service_task.c @@ -68,7 +68,9 @@ static void task_server_callback(struct event_context *event_ctx, task->msg_ctx = messaging_init(task, lp_messaging_path(task, task->lp_ctx), - task->server_id, task->event_ctx); + task->server_id, + lp_iconv_convenience(task->lp_ctx), + task->event_ctx); if (!task->msg_ctx) { task_server_terminate(task, "messaging_init() failed"); return; |