diff options
author | Stefan Metzmacher <metze@samba.org> | 2006-01-09 17:03:17 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:49:56 -0500 |
commit | f0e3a0312d77086015e5662494b6be24a51b0091 (patch) | |
tree | c3cef41cfa8d688a4404d341682ef28d68634c26 /source4 | |
parent | 35dffd9a109e821111dfc69cf3990c91feead367 (diff) | |
download | samba-f0e3a0312d77086015e5662494b6be24a51b0091.tar.gz samba-f0e3a0312d77086015e5662494b6be24a51b0091.tar.bz2 samba-f0e3a0312d77086015e5662494b6be24a51b0091.zip |
r12796: use the correct address as initiator
metze
(This used to be commit ba97e7c06af6f919a66622c1a6b6e58980ab2b9e)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/wrepl_server/wrepl_in_call.c | 6 | ||||
-rw-r--r-- | source4/wrepl_server/wrepl_in_connection.c | 7 | ||||
-rw-r--r-- | source4/wrepl_server/wrepl_out_helpers.c | 13 | ||||
-rw-r--r-- | source4/wrepl_server/wrepl_server.h | 7 |
4 files changed, 5 insertions, 28 deletions
diff --git a/source4/wrepl_server/wrepl_in_call.c b/source4/wrepl_server/wrepl_in_call.c index 27428106d4..8dabc2ee86 100644 --- a/source4/wrepl_server/wrepl_in_call.c +++ b/source4/wrepl_server/wrepl_in_call.c @@ -109,12 +109,11 @@ static NTSTATUS wreplsrv_in_table_query(struct wreplsrv_in_call *call) struct wreplsrv_service *service = call->wreplconn->service; struct wrepl_replication *repl_out = &call->rep_packet.message.replication; struct wrepl_table *table_out = &call->rep_packet.message.replication.info.table; - const char *our_ip = call->wreplconn->our_ip; repl_out->command = WREPL_REPL_TABLE_REPLY; return wreplsrv_fill_wrepl_table(service, call, table_out, - our_ip, True); + service->wins_db->local_owner, True); } static int wreplsrv_in_sort_wins_name(struct wrepl_wins_name *n1, @@ -126,7 +125,6 @@ static int wreplsrv_in_sort_wins_name(struct wrepl_wins_name *n1, } static NTSTATUS wreplsrv_record2wins_name(TALLOC_CTX *mem_ctx, - const char *our_address, struct wrepl_wins_name *name, struct winsdb_record *rec) { @@ -264,7 +262,7 @@ static NTSTATUS wreplsrv_in_send_request(struct wreplsrv_in_call *call) status = winsdb_record(service->wins_db, res->msgs[i], call, &rec); NT_STATUS_NOT_OK_RETURN(status); - status = wreplsrv_record2wins_name(names, call->wreplconn->our_ip, &names[i], rec); + status = wreplsrv_record2wins_name(names, &names[i], rec); NT_STATUS_NOT_OK_RETURN(status); talloc_free(rec); talloc_free(res->msgs[i]); diff --git a/source4/wrepl_server/wrepl_in_connection.c b/source4/wrepl_server/wrepl_in_connection.c index f3bb5544e3..4e93ebf7a3 100644 --- a/source4/wrepl_server/wrepl_in_connection.c +++ b/source4/wrepl_server/wrepl_in_connection.c @@ -167,11 +167,6 @@ static void wreplsrv_accept(struct stream_connection *conn) wreplconn->conn = conn; wreplconn->service = service; - wreplconn->our_ip = socket_get_my_addr(conn->socket, wreplconn); - if (!wreplconn->our_ip) { - wreplsrv_terminate_in_connection(wreplconn, "wreplsrv_accept: out of memory"); - return; - } peer_ip = socket_get_peer_addr(conn->socket, wreplconn); if (!peer_ip) { @@ -221,8 +216,6 @@ NTSTATUS wreplsrv_in_connection_merge(struct wreplsrv_partner *partner, wrepl_in->service = service; wrepl_in->partner = partner; - wrepl_in->our_ip = socket_get_my_addr(sock, wrepl_in); - NT_STATUS_HAVE_NO_MEMORY(wrepl_in->our_ip); status = stream_new_connection_merge(service->task->event_ctx, model_ops, sock, &wreplsrv_stream_ops, service->task->msg_ctx, diff --git a/source4/wrepl_server/wrepl_out_helpers.c b/source4/wrepl_server/wrepl_out_helpers.c index b0cf039281..dbcddf859c 100644 --- a/source4/wrepl_server/wrepl_out_helpers.c +++ b/source4/wrepl_server/wrepl_out_helpers.c @@ -27,6 +27,7 @@ #include "smbd/service_stream.h" #include "librpc/gen_ndr/ndr_winsrepl.h" #include "wrepl_server/wrepl_server.h" +#include "nbt_server/wins/winsdb.h" #include "libcli/composite/composite.h" #include "libcli/wrepl/winsrepl.h" @@ -825,7 +826,6 @@ static NTSTATUS wreplsrv_push_notify_update(struct wreplsrv_push_notify_state *s struct socket_context *sock; struct packet_context *packet; uint16_t fde_flags; - const char *our_ip; /* prepare the outgoing request */ req->opcode = WREPL_OPCODE_BITS; @@ -834,11 +834,8 @@ static NTSTATUS wreplsrv_push_notify_update(struct wreplsrv_push_notify_state *s repl_out->command = state->command; - our_ip = socket_get_my_addr(state->wreplconn->sock->sock, state); - NT_STATUS_HAVE_NO_MEMORY(our_ip); - status = wreplsrv_fill_wrepl_table(service, state, table_out, - our_ip, state->full_table); + service->wins_db->local_owner, state->full_table); NT_STATUS_NOT_OK_RETURN(status); /* queue the request */ @@ -911,7 +908,6 @@ static NTSTATUS wreplsrv_push_notify_inform(struct wreplsrv_push_notify_state *s struct wrepl_replication *repl_out = &state->req_packet.message.replication; struct wrepl_table *table_out = &state->req_packet.message.replication.info.table; NTSTATUS status; - const char *our_ip; req->opcode = WREPL_OPCODE_BITS; req->assoc_ctx = state->wreplconn->assoc_ctx.peer_ctx; @@ -919,11 +915,8 @@ static NTSTATUS wreplsrv_push_notify_inform(struct wreplsrv_push_notify_state *s repl_out->command = state->command; - our_ip = socket_get_my_addr(state->wreplconn->sock->sock, state); - NT_STATUS_HAVE_NO_MEMORY(our_ip); - status = wreplsrv_fill_wrepl_table(service, state, table_out, - our_ip, state->full_table); + service->wins_db->local_owner, state->full_table); NT_STATUS_NOT_OK_RETURN(status); /* we won't get a reply to a inform message */ diff --git a/source4/wrepl_server/wrepl_server.h b/source4/wrepl_server/wrepl_server.h index 5219f1fb1b..bcf6f8ac48 100644 --- a/source4/wrepl_server/wrepl_server.h +++ b/source4/wrepl_server/wrepl_server.h @@ -56,13 +56,6 @@ struct wreplsrv_in_connection { */ struct wreplsrv_partner *partner; - /* - * we need to take care of our own ip address, - * as this is the WINS-Owner ID the peer expect - * from us. - */ - const char *our_ip; - /* keep track of the assoc_ctx's */ struct { BOOL stopped; |