SOURCES: mon-spamd.monitor, mon-clamd.monitor Avoid endless loopin...

arekm arekm at pld-linux.org
Wed Mar 7 14:27:25 CET 2007


Author: arekm                        Date: Wed Mar  7 13:27:25 2007 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
Avoid endless looping when recv returns nothing.

---- Files affected:
SOURCES:
   mon-spamd.monitor (1.1 -> 1.2) , mon-clamd.monitor (1.1 -> 1.2) 

---- Diffs:

================================================================
Index: SOURCES/mon-spamd.monitor
diff -u SOURCES/mon-spamd.monitor:1.1 SOURCES/mon-spamd.monitor:1.2
--- SOURCES/mon-spamd.monitor:1.1	Mon Aug  7 13:28:49 2006
+++ SOURCES/mon-spamd.monitor	Wed Mar  7 14:27:20 2007
@@ -27,9 +27,12 @@
             return None
         self.my_sock.sendall('PING SPAMC/1.2\r\n')
         response = ' '
-        while response[len(response)-1] != '\n':
+	while 1:
             try:
-                response += self.my_sock.recv(100);
+                ret = self.my_sock.recv(128)
+		response += ret
+		if not ret or ret.find('\n'):
+			break
             except Exception, e:
 		self.my_sock.close()
 		self.error = 'SPAMD:PING - exception(%s) :%s'%(str(self.timeout),str(e))
@@ -54,9 +57,12 @@
 	self.my_sock.sendall(self.stream_test_string)
         response = ' '
 
-        while response[len(response)-1] != '\n':
+	while 1:
             try:
-                response += self.my_sock.recv(100);
+                ret = self.my_sock.recv(100);
+		response += ret
+		if not ret or ret.find('\n'):
+			break
             except Exception, e:
                 self.my_sock.close()
 		self.error = 'SPAMD:CHECK - exception(%s) :%s'%(str(self.timeout),str(e))

================================================================
Index: SOURCES/mon-clamd.monitor
diff -u SOURCES/mon-clamd.monitor:1.1 SOURCES/mon-clamd.monitor:1.2
--- SOURCES/mon-clamd.monitor:1.1	Wed Jul 26 12:01:44 2006
+++ SOURCES/mon-clamd.monitor	Wed Mar  7 14:27:20 2007
@@ -1,4 +1,5 @@
 #!/usr/bin/python
+# -*- coding: UTF-8 -*-
 
 # Przemysław Plewa
 # Arkadiusz Miśkiewicz
@@ -38,9 +39,12 @@
             return None
         self.my_sock.sendall('PING')
         response = ' '
-        while response[len(response)-1] != '\n':
+	while 1:
             try:
-                response += self.my_sock.recv(100);
+                ret = self.my_sock.recv(128);
+		response += ret
+		if not ret or ret.find('\n'):
+			break
             except Exception, e:
 		self.my_sock.close()
 		self.error = 'CLAMD:PING - exception(%s) :%s'%(str(self.timeout),str(e))
@@ -63,9 +67,12 @@
         self.my_sock.sendall('STREAM')
         response = ' '
 
-        while response[len(response)-1] != '\n':
+	while 1:
             try:
-                response += self.my_sock.recv(100);
+                ret = self.my_sock.recv(128)
+		response += ret
+		if not ret or ret.find('\n'):
+			break
             except Exception, e:
                 self.my_sock.close()
 		self.error = 'CLAMD:STREAM - exception(%s) :%s'%(str(self.timeout),str(e))
@@ -94,9 +101,13 @@
         
         #odczyt odpowiedzi
         response = ' '
-        while response[len(response)-1] != '\n':
+	while 1:
             try:
-                response += self.my_sock.recv(100);
+                ret = self.my_sock.recv(128);
+		response += ret
+		if not ret or ret.find('\n'):
+			break
+		response += ret
             except Exception, e:
                 self.my_sock.close()
                 self.error = 'CLAMD:STREAM - timeout(%s) :%s'%(str(self.timeout),str(e))
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/SOURCES/mon-spamd.monitor?r1=1.1&r2=1.2&f=u
    http://cvs.pld-linux.org/SOURCES/mon-clamd.monitor?r1=1.1&r2=1.2&f=u



More information about the pld-cvs-commit mailing list