diff options
-rw-r--r-- | source4/libcli/dgram/dgramsocket.c | 5 | ||||
-rw-r--r-- | source4/libcli/dgram/libdgram.h | 3 | ||||
-rw-r--r-- | source4/nbt_server/dgram/request.c | 7 | ||||
-rw-r--r-- | source4/torture/nbt/dgram.c | 9 |
4 files changed, 16 insertions, 8 deletions
diff --git a/source4/libcli/dgram/dgramsocket.c b/source4/libcli/dgram/dgramsocket.c index 7d6f5627c5..130d8ae870 100644 --- a/source4/libcli/dgram/dgramsocket.c +++ b/source4/libcli/dgram/dgramsocket.c @@ -158,7 +158,8 @@ static void dgm_socket_handler(struct event_context *ev, struct fd_event *fde, then operations will use that event context */ struct nbt_dgram_socket *nbt_dgram_socket_init(TALLOC_CTX *mem_ctx, - struct event_context *event_ctx) + struct event_context *event_ctx, + struct smb_iconv_convenience *iconv_convenience) { struct nbt_dgram_socket *dgmsock; NTSTATUS status; @@ -187,7 +188,7 @@ struct nbt_dgram_socket *nbt_dgram_socket_init(TALLOC_CTX *mem_ctx, dgmsock->send_queue = NULL; dgmsock->incoming.handler = NULL; dgmsock->mailslot_handlers = NULL; - dgmsock->iconv_convenience = lp_iconv_convenience(global_loadparm); + dgmsock->iconv_convenience = iconv_convenience; return dgmsock; diff --git a/source4/libcli/dgram/libdgram.h b/source4/libcli/dgram/libdgram.h index 4645840971..707cca8cc5 100644 --- a/source4/libcli/dgram/libdgram.h +++ b/source4/libcli/dgram/libdgram.h @@ -93,7 +93,8 @@ NTSTATUS dgram_set_incoming_handler(struct nbt_dgram_socket *dgmsock, struct socket_address *), void *private); struct nbt_dgram_socket *nbt_dgram_socket_init(TALLOC_CTX *mem_ctx, - struct event_context *event_ctx); + struct event_context *event_ctx, + struct smb_iconv_convenience *); const char *dgram_mailslot_name(struct nbt_dgram_packet *packet); struct dgram_mailslot_handler *dgram_mailslot_find(struct nbt_dgram_socket *dgmsock, diff --git a/source4/nbt_server/dgram/request.c b/source4/nbt_server/dgram/request.c index 45426c31ba..205a544209 100644 --- a/source4/nbt_server/dgram/request.c +++ b/source4/nbt_server/dgram/request.c @@ -73,7 +73,9 @@ NTSTATUS nbtd_dgram_setup(struct nbtd_interface *iface, const char *bind_address if (strcmp("0.0.0.0", iface->netmask) != 0) { /* listen for broadcasts on port 138 */ - bcast_dgmsock = nbt_dgram_socket_init(iface, nbtsrv->task->event_ctx); + bcast_dgmsock = nbt_dgram_socket_init(iface, + nbtsrv->task->event_ctx, + lp_iconv_convenience(nbtsrv->task->lp_ctx)); if (!bcast_dgmsock) { talloc_free(tmp_ctx); return NT_STATUS_NO_MEMORY; @@ -100,7 +102,8 @@ NTSTATUS nbtd_dgram_setup(struct nbtd_interface *iface, const char *bind_address } /* listen for unicasts on port 138 */ - iface->dgmsock = nbt_dgram_socket_init(iface, nbtsrv->task->event_ctx); + iface->dgmsock = nbt_dgram_socket_init(iface, nbtsrv->task->event_ctx, + lp_iconv_convenience(nbtsrv->task->lp_ctx)); if (!iface->dgmsock) { talloc_free(tmp_ctx); return NT_STATUS_NO_MEMORY; diff --git a/source4/torture/nbt/dgram.c b/source4/torture/nbt/dgram.c index 0315989d66..e1680877e8 100644 --- a/source4/torture/nbt/dgram.c +++ b/source4/torture/nbt/dgram.c @@ -64,7 +64,8 @@ static void netlogon_handler(struct dgram_mailslot_handler *dgmslot, static bool nbt_test_netlogon(struct torture_context *tctx) { struct dgram_mailslot_handler *dgmslot; - struct nbt_dgram_socket *dgmsock = nbt_dgram_socket_init(tctx, NULL); + struct nbt_dgram_socket *dgmsock = nbt_dgram_socket_init(tctx, NULL, + lp_iconv_convenience(tctx->lp_ctx)); struct socket_address *dest; const char *myaddress; struct nbt_netlogon_packet logon; @@ -146,7 +147,8 @@ static bool nbt_test_netlogon(struct torture_context *tctx) static bool nbt_test_netlogon2(struct torture_context *tctx) { struct dgram_mailslot_handler *dgmslot; - struct nbt_dgram_socket *dgmsock = nbt_dgram_socket_init(tctx, NULL); + struct nbt_dgram_socket *dgmsock = nbt_dgram_socket_init(tctx, NULL, + lp_iconv_convenience(tctx->lp_ctx)); struct socket_address *dest; const char *myaddress; struct nbt_netlogon_packet logon; @@ -255,7 +257,8 @@ static void ntlogon_handler(struct dgram_mailslot_handler *dgmslot, static bool nbt_test_ntlogon(struct torture_context *tctx) { struct dgram_mailslot_handler *dgmslot; - struct nbt_dgram_socket *dgmsock = nbt_dgram_socket_init(tctx, NULL); + struct nbt_dgram_socket *dgmsock = nbt_dgram_socket_init(tctx, NULL, + lp_iconv_convenience(tctx->lp_ctx)); struct socket_address *dest; struct test_join *join_ctx; struct cli_credentials *machine_credentials; |