Rev 618: check return code from CTDB_CONTROL_TCP_CLIENT (this is
important as in http://samba.org/~tridge/3_0-ctdb
tridge at samba.org
tridge at samba.org
Fri Sep 14 09:29:18 GMT 2007
------------------------------------------------------------
revno: 618
revision-id: tridge at samba.org-20070914092917-jkd7fstkl64eg1o2
parent: tridge at samba.org-20070911052556-jq79pfsc70z3tnt1
committer: Andrew Tridgell <tridge at samba.org>
branch nick: s3-ctdb-tridge
timestamp: Fri 2007-09-14 19:29:17 +1000
message:
check return code from CTDB_CONTROL_TCP_CLIENT (this is important as
we need to refuse connections on other than our public IPs)
modified:
source/lib/messages.c messages.c-20070210173807-1wjifrbwaz6xnmgl-491
=== modified file 'source/lib/messages.c'
--- a/source/lib/messages.c 2007-09-11 04:37:10 +0000
+++ b/source/lib/messages.c 2007-09-14 09:29:17 +0000
@@ -1083,6 +1083,7 @@
}
if (client_get_tcp_info(&p.dest, &p.src) == 0) {
+ int cstatus;
TDB_DATA data;
/* inform ctdb of our tcp connection, so if IP takeover happens
ctdp can send an extra ack to trigger a reset for our client,
@@ -1090,9 +1091,14 @@
data.dptr = (uint8_t *)&p;
data.dsize = sizeof(p);
- ctdbd_control(ctdbd_ctx, CTDB_CURRENT_NODE,
- CTDB_CONTROL_TCP_CLIENT,
- CTDB_CTRL_FLAG_NOREPLY, data, NULL, NULL, NULL);
+ status = ctdbd_control(ctdbd_ctx, CTDB_CURRENT_NODE,
+ CTDB_CONTROL_TCP_CLIENT,
+ CTDB_CTRL_FLAG_NOREPLY, data, NULL, NULL, &cstatus);
+ if (!NT_STATUS_IS_OK(status) || cstatus != 0) {
+ DEBUG(0,("Failed to register tcp connection with ctdbd\n"));
+ status = NT_STATUS_INTERNAL_ERROR;
+ goto fail;
+ }
} else {
DEBUG(2,("Unable to get tcp info for CTDB_CONTROL_TCP_CLIENT\n"));
}
More information about the samba-cvs
mailing list