From b706fd37f6d0e7e66718488d069053687ad0664c Mon Sep 17 00:00:00 2001 From: Simo Sorce Date: Wed, 10 Aug 2011 23:10:48 -0400 Subject: s3-messaging: Fix messaging classes. This has been broken since ff0ac5b0 (May 2007). Basically all messages were belonging to the General class except for CTDB messages. This fixed the message_send_all() function to correctly compute the class, and fixes registrations to include all they need to cope with the fact not all messages are of calss general (registrations rotted a bit because as long as FLAG_MSG_GENERAL was defined the process woould receive all messages). Signed-off-by: Andreas Schneider --- source3/lib/messages.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'source3/lib') diff --git a/source3/lib/messages.c b/source3/lib/messages.c index 0cdef63fdc..57a2e22f72 100644 --- a/source3/lib/messages.c +++ b/source3/lib/messages.c @@ -146,18 +146,21 @@ bool message_send_all(struct messaging_context *msg_ctx, struct msg_all msg_all; msg_all.msg_type = msg_type; - if (msg_type < 1000) + if (msg_type < 0x100) { msg_all.msg_flag = FLAG_MSG_GENERAL; - else if (msg_type > 1000 && msg_type < 2000) + } else if (msg_type > 0x100 && msg_type < 0x200) { msg_all.msg_flag = FLAG_MSG_NMBD; - else if (msg_type > 2100 && msg_type < 3000) + } else if (msg_type > 0x200 && msg_type < 0x300) { msg_all.msg_flag = FLAG_MSG_PRINT_GENERAL; - else if (msg_type > 3000 && msg_type < 4000) + } else if (msg_type > 0x300 && msg_type < 0x400) { msg_all.msg_flag = FLAG_MSG_SMBD; - else if (msg_type > 4000 && msg_type < 5000) + } else if (msg_type > 0x400 && msg_type < 0x600) { + msg_all.msg_flag = FLAG_MSG_WINBIND; + } else if (msg_type > 4000 && msg_type < 5000) { msg_all.msg_flag = FLAG_MSG_DBWRAP; - else - return False; + } else { + return false; + } msg_all.buf = buf; msg_all.len = len; @@ -167,7 +170,7 @@ bool message_send_all(struct messaging_context *msg_ctx, serverid_traverse(traverse_fn, &msg_all); if (n_sent) *n_sent = msg_all.n_sent; - return True; + return true; } struct event_context *messaging_event_context(struct messaging_context *msg_ctx) -- cgit