summaryrefslogtreecommitdiff
path: root/source4/lib
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-04-30 15:44:01 +1000
committerAndrew Bartlett <abartlet@samba.org>2012-04-30 17:55:11 +1000
commitf10c63810077a6759a9df4e9c653066f9f355d96 (patch)
tree6256f411577eb2aaeaf41b610bdc8c09bced3c96 /source4/lib
parent645e4bb436c9b194477e4a66d98577a76b0b6ad7 (diff)
downloadsamba-f10c63810077a6759a9df4e9c653066f9f355d96.tar.gz
samba-f10c63810077a6759a9df4e9c653066f9f355d96.tar.bz2
samba-f10c63810077a6759a9df4e9c653066f9f355d96.zip
s4-messaging: Fill in the whole server_id in all use cases
This started per https://bugzilla.samba.org/show_bug.cgi?id=8872#c4 and avoids any possible collision with a different process. We also need to ensure that across a Samba installation on a single node that id.vnn is the same. Samba4 previously used 0, while Samba3 used NONCLUSTER_VNN. When a message is sent between these 'different' nodes, the error NT_STATUS_INVALID_DEVICE_REQUEST is raised. Andrew Bartlett
Diffstat (limited to 'source4/lib')
-rw-r--r--source4/lib/messaging/messaging.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c
index 80812c2885..4d69b9424b 100644
--- a/source4/lib/messaging/messaging.c
+++ b/source4/lib/messaging/messaging.c
@@ -663,7 +663,12 @@ struct imessaging_context *imessaging_client_init(TALLOC_CTX *mem_ctx,
{
struct server_id id;
ZERO_STRUCT(id);
- id.pid = generate_random() % 0x10000000;
+ id.pid = getpid();
+ id.task_id = generate_random();
+ id.vnn = NONCLUSTER_VNN;
+
+ /* This is because we are not in the s3 serverid database */
+ id.unique_id = SERVERID_UNIQUE_ID_NOT_TO_VERIFY;
return imessaging_init(mem_ctx, lp_ctx, id, ev, true);
}