svn commit: samba r13050 - in branches/SAMBA_4_0/source/wrepl_server: .

metze at samba.org metze at samba.org
Fri Jan 20 12:26:10 GMT 2006


Author: metze
Date: 2006-01-20 12:26:09 +0000 (Fri, 20 Jan 2006)
New Revision: 13050

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13050

Log:
when we have reloaded the partners from wins_config.ldb
after a new partner connects, try to find the partner struct on a per call
basis if it's not present on the connection yet

add some more useful debug messages

metze
Modified:
   branches/SAMBA_4_0/source/wrepl_server/wrepl_in_call.c


Changeset:
Modified: branches/SAMBA_4_0/source/wrepl_server/wrepl_in_call.c
===================================================================
--- branches/SAMBA_4_0/source/wrepl_server/wrepl_in_call.c	2006-01-20 06:42:16 UTC (rev 13049)
+++ branches/SAMBA_4_0/source/wrepl_server/wrepl_in_call.c	2006-01-20 12:26:09 UTC (rev 13050)
@@ -402,14 +402,20 @@
 
 	if (!call->wreplconn->partner) {
 		struct socket_address *partner_ip = socket_get_peer_addr(call->wreplconn->conn->socket, call);
-		DEBUG(1,("Failing WINS replication from non-partner %s\n",
-			 partner_ip ? partner_ip->addr : NULL));
-		return wreplsrv_in_stop_assoc_ctx(call);
+
+		call->wreplconn->partner = wreplsrv_find_partner(call->wreplconn->service, partner_ip->addr);
+		if (!call->wreplconn->partner) {
+			DEBUG(1,("Failing WINS replication from non-partner %s\n",
+				 partner_ip ? partner_ip->addr : NULL));
+			return wreplsrv_in_stop_assoc_ctx(call);
+		}
 	}
 
 	switch (repl_in->command) {
 		case WREPL_REPL_TABLE_QUERY:
 			if (!(call->wreplconn->partner->type & WINSREPL_PARTNER_PUSH)) {
+				DEBUG(2,("Failing WINS replication TABLE_QUERY from non-push-partner %s\n",
+					 call->wreplconn->partner->address));
 				return wreplsrv_in_stop_assoc_ctx(call);
 			}
 			status = wreplsrv_in_table_query(call);
@@ -420,6 +426,8 @@
 
 		case WREPL_REPL_SEND_REQUEST:
 			if (!(call->wreplconn->partner->type & WINSREPL_PARTNER_PUSH)) {
+				DEBUG(2,("Failing WINS replication SEND_REQUESET from non-push-partner %s\n",
+					 call->wreplconn->partner->address));
 				return wreplsrv_in_stop_assoc_ctx(call);
 			}
 			status = wreplsrv_in_send_request(call);
@@ -430,6 +438,8 @@
 	
 		case WREPL_REPL_UPDATE:
 			if (!(call->wreplconn->partner->type & WINSREPL_PARTNER_PULL)) {
+				DEBUG(2,("Failing WINS replication UPDATE from non-pull-partner %s\n",
+					 call->wreplconn->partner->address));
 				return wreplsrv_in_stop_assoc_ctx(call);
 			}
 			status = wreplsrv_in_update(call);
@@ -437,6 +447,8 @@
 
 		case WREPL_REPL_UPDATE2:
 			if (!(call->wreplconn->partner->type & WINSREPL_PARTNER_PULL)) {
+				DEBUG(2,("Failing WINS replication UPDATE2 from non-pull-partner %s\n",
+					 call->wreplconn->partner->address));
 				return wreplsrv_in_stop_assoc_ctx(call);
 			}
 			status = wreplsrv_in_update2(call);
@@ -444,6 +456,8 @@
 
 		case WREPL_REPL_INFORM:
 			if (!(call->wreplconn->partner->type & WINSREPL_PARTNER_PULL)) {
+				DEBUG(2,("Failing WINS replication INFORM from non-pull-partner %s\n",
+					 call->wreplconn->partner->address));
 				return wreplsrv_in_stop_assoc_ctx(call);
 			}
 			status = wreplsrv_in_inform(call);
@@ -451,6 +465,8 @@
 
 		case WREPL_REPL_INFORM2:
 			if (!(call->wreplconn->partner->type & WINSREPL_PARTNER_PULL)) {
+				DEBUG(2,("Failing WINS replication INFORM2 from non-pull-partner %s\n",
+					 call->wreplconn->partner->address));
 				return wreplsrv_in_stop_assoc_ctx(call);
 			}
 			status = wreplsrv_in_inform2(call);



More information about the samba-cvs mailing list