diff options
-rw-r--r-- | source4/libcli/wrepl/winsrepl.c | 5 | ||||
-rw-r--r-- | source4/librpc/idl/winsrepl.idl | 4 |
2 files changed, 4 insertions, 5 deletions
diff --git a/source4/libcli/wrepl/winsrepl.c b/source4/libcli/wrepl/winsrepl.c index 910bed278c..516c72ef29 100644 --- a/source4/libcli/wrepl/winsrepl.c +++ b/source4/libcli/wrepl/winsrepl.c @@ -672,10 +672,9 @@ NTSTATUS wrepl_pull_names_recv(struct wrepl_request *req, name->num_addresses = 1; name->addresses = talloc(io->out.names, struct wrepl_address); if (name->addresses == NULL) goto failed; - name->addresses[0].owner = talloc_steal(name->addresses, - wname->addresses.address.owner); + name->addresses[0].owner = io->in.partner.address; name->addresses[0].address = talloc_steal(name->addresses, - wname->addresses.address.ip); + wname->addresses.ip); } } diff --git a/source4/librpc/idl/winsrepl.idl b/source4/librpc/idl/winsrepl.idl index 986b16ce04..8adc3c9b25 100644 --- a/source4/librpc/idl/winsrepl.idl +++ b/source4/librpc/idl/winsrepl.idl @@ -27,11 +27,10 @@ interface wrepl typedef [flag(NDR_LITTLE_ENDIAN)] struct { uint32 num_ips; wrepl_ip ips[num_ips]; - ipv4address unknown; } wrepl_address_list; typedef [nodiscriminant] union { - [case(0)] wrepl_ip address; + [case(0)] ipv4address ip; [case(2)] wrepl_address_list addresses; } wrepl_addresses; @@ -42,6 +41,7 @@ interface wrepl [flag(NDR_LITTLE_ENDIAN)] uint32 group_flag; udlongr id; [switch_is(flags & 2)] wrepl_addresses addresses; + ipv4address unknown; } wrepl_wins_name; typedef struct { |