summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/libcli/wrepl/winsrepl.c5
-rw-r--r--source4/librpc/idl/winsrepl.idl4
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 {