diff -u sagator-0.4.3/aglib.py sagator/aglib.py
--- sagator-0.4.3/aglib.py	2004-02-24 09:13:04.000000000 +0100
+++ sagator/aglib.py	2004-06-08 12:53:38.000000000 +0200
@@ -86,7 +86,7 @@
   def __init__(self,conn=0,addr=['stdin']):
     if conn:
       self.f=conn.makefile('rw',self.bufsize)
-      self.write=conn.send
+      self.write=conn.sendall
       self.readline=self.f.readline
     else:
       self.write=self.send
@@ -144,11 +144,11 @@
           " seconds, ",len(mail.data)," bytes, status: ",virname)
         if (v==S_OK) | (v==S_FORCE_SEND):
           debug.echo(5,"SMTPS: Sending data")
-          self.srv.conn.send(mail.header)
-          self.srv.conn.send(mail.xheader)
-          self.srv.conn.send(mail.data[len(mail.header):])
+          self.srv.conn.sendall(mail.header)
+          self.srv.conn.sendall(mail.xheader)
+          self.srv.conn.sendall(mail.data[len(mail.header):])
           debug.echo(1,"SMTPS: OK: 250 Ok")
-          self.srv.conn.send(line) # send .
+          self.srv.conn.sendall(line) # send .
           self.write(self.srv.readline())
           stats.update(len(mail.data),self.tw)
         elif v==S_REJECT:
@@ -192,13 +192,13 @@
       elif re.search('^DATA',line,re.IGNORECASE):
         self.RECV=RECV_HEADER
       elif re.search('^QUIT',line,re.IGNORECASE):
-        self.srv.conn.send(line)
+        self.srv.conn.sendall(line)
         self.write(self.srv.readline()) # 221 Bye
         return 1
       #if re.search("^[LE]HLO ",line,re.IGNORECASE): # disabling EHLO
       #  self.write("502 Error: command not implemented\r\n")
       #  return 0
-      self.srv.conn.send(line)
+      self.srv.conn.sendall(line)
       self.write(self.srv.conn.recv(BUFSIZE))
       return 0
 
diff -u sagator-0.4.3/avg.py sagator/avg.py
--- sagator-0.4.3/avg.py	2004-02-18 11:41:18.000000000 +0100
+++ sagator/avg.py	2004-06-08 12:54:15.000000000 +0200
@@ -56,12 +56,12 @@
       f=s.makefile('rw',512)
       while not re.search("^220 ",f.readline()):
         pass
-      s.send("PARM "+self.params+"\n")
+      s.sendall("PARM "+self.params+"\n")
       l=f.readline()
       if not re.search("^200 ",l):
         raise ScannerError,'Protocol error: '+l
       for fn in files:
-        s.send("SCAN "+self.chroot+fn+'\n')
+        s.sendall("SCAN "+self.chroot+fn+'\n')
         l=f.readline()
         debug.echo(4,self.name+": ",l)
         if re.search("^200 ",l):
diff -u sagator-0.4.3/avlib.py sagator/avlib.py
--- sagator-0.4.3/avlib.py	2004-03-12 12:27:57.000000000 +0100
+++ sagator/avlib.py	2004-06-08 12:53:07.000000000 +0200
@@ -460,7 +460,7 @@
   def send(self,data,rc='...'):
     if data!='':
       debug.echo(5,"SMTPC>: ",data.rstrip())
-      self.conn.send(data+"\r\n")
+      self.conn.sendall(data+"\r\n")
     ret=''
     while 1:
       r=self.readline()
@@ -489,7 +489,7 @@
       for rec in recipients:
         self.send("RCPT TO:"+rec,'250')
       self.send("DATA",'354')
-      self.conn.send(ldata)
+      self.conn.sendall(ldata)
       debug.echo(5,"SMTPC>: DATA SENT")
       ret=self.send(".","250")
     except SmtpcError.WrongReturnCode,ret:
diff -u sagator-0.4.3/clamav.py sagator/clamav.py
--- sagator-0.4.3/clamav.py	2004-03-05 16:31:38.000000000 +0100
+++ sagator/clamav.py	2004-06-08 12:55:08.000000000 +0200
@@ -49,7 +49,7 @@
       socket_settimeout(s,120)
       s.connect((scanner[0],scanner[1]))
     f=s.makefile('rw',BUFSIZE)
-    s.send("STREAM\n")
+    s.sendall("STREAM\n")
     rl=f.readline()
     l=re.search('^PORT ([0-9]*)',rl)
     if l:
@@ -60,8 +60,8 @@
         ss.connect(('127.0.0.1',string.atoi(l.group(1))))
       else:
         ss.connect((scanner[0],string.atoi(l.group(1))))
-      ss.send(fromhdr())
-      ss.send(stream)
+      ss.sendall(fromhdr())
+      ss.sendall(stream)
       ss.shutdown(2)
       ss.close()
       # Read reply
diff -u sagator-0.4.3/icap.py sagator/icap.py
--- sagator-0.4.3/icap.py	2003-12-12 13:59:16.000000000 +0100
+++ sagator/icap.py	2004-06-08 12:57:30.000000000 +0200
@@ -26,19 +26,19 @@
       self.path=path
   def check(self,stream,filename):
       # send ICAP request
-      self.s.send("RESPMOD icap://"+self.server+"/"+self.path+" ICAP/1.0")
-      self.s.send("\r\nHost: "+self.server+"\r\n")
-      self.s.send("Allow: 204\r\n")
+      self.s.sendall("RESPMOD icap://"+self.server+"/"+self.path+" ICAP/1.0")
+      self.s.sendall("\r\nHost: "+self.server+"\r\n")
+      self.s.sendall("Allow: 204\r\n")
       req="GET http://sagator.salstar.sk/"+filename+" HTTP/1.1\r\n\r\n"
       hdr="HTTP/1.1 200 OK\r\nTransfer-Encoding: chunked\r\n\r\n"
-      self.s.send("Encapsulated: req-hdr=0, res-hdr=%d, res-body=%d\r\n\r\n"
+      self.s.sendall("Encapsulated: req-hdr=0, res-hdr=%d, res-body=%d\r\n\r\n"
         % (len(req),len(req+hdr)))
-      self.s.send(req)
-      self.s.send(hdr)
+      self.s.sendall(req)
+      self.s.sendall(hdr)
       # send data stream
-      self.s.send("%X\r\n" % len(stream))
-      self.s.send(stream)
-      self.s.send("\r\n\r\n0\r\n\r\n")
+      self.s.sendall("%X\r\n" % len(stream))
+      self.s.sendall(stream)
+      self.s.sendall("\r\n\r\n0\r\n\r\n")
       # read protocol status
       ics=self.f.readline()
       try:
diff -u sagator-0.4.3/nodold.py sagator/nodold.py
--- sagator-0.4.3/nodold.py	2004-02-10 11:41:40.000000000 +0100
+++ sagator/nodold.py	2004-06-08 12:55:18.000000000 +0200
@@ -56,17 +56,17 @@
         s.connect((self.arg[0],self.arg[1]))
       f=s.makefile('rw',BUFSIZE)
       r=f.readline() # 200 NOD32SS 1.386 (20030326)
-      s.send("PARM "+self.params+"\n")
+      s.sendall("PARM "+self.params+"\n")
       r=f.readline() # 200 OK (patt: 1, heur: 2, clean: 0)
       ret=[]
       for fname in filenames:
-        s.send("SCAN "+os.path.join(dirname,fname)+"\n")
+        s.sendall("SCAN "+os.path.join(dirname,fname)+"\n")
         line=f.readline()
         if not re.search("^200",line):
           ret.append(line[4:])
         if re.search("^5",line): # error opening file?
           raise ScannerError,'nodold: '+line
-      s.send("QUIT\n")
+      s.sendall("QUIT\n")
       r=f.readline()
       f.close()
       s.shutdown(2)
Common subdirectories: sagator-0.4.3/scripts and sagator/scripts
diff -u sagator-0.4.3/sophie.py sagator/sophie.py
--- sagator-0.4.3/sophie.py	2003-12-12 13:59:18.000000000 +0100
+++ sagator/sophie.py	2004-06-08 12:57:17.000000000 +0200
@@ -43,7 +43,7 @@
       socket_settimeout(s,120)
       s.connect(self.scanner)
       for fname in files:
-        s.send(self.chroot+fname+'\n')
+        s.sendall(self.chroot+fname+'\n')
         ret=s.recv(256)
         debug.echo(4,self.name+': ',ret)
         if ret!='0':
diff -u sagator-0.4.3/spamassassin.py sagator/spamassassin.py
--- sagator-0.4.3/spamassassin.py	2004-01-23 15:41:32.000000000 +0100
+++ sagator/spamassassin.py	2004-06-08 12:54:25.000000000 +0200
@@ -107,10 +107,10 @@
       socket_settimeout(s,120)
       s.connect((self.arg[0],self.arg[1]))
       f=s.makefile('rw',BUFSIZE)
-      s.send("SYMBOLS SPAMC/1.2\r\n")
-      s.send("Content-length: "+str(len(stream))+"\r\n")
-      s.send("User: vscan\r\n\r\n")
-      s.send(stream)
+      s.sendall("SYMBOLS SPAMC/1.2\r\n")
+      s.sendall("Content-length: "+str(len(stream))+"\r\n")
+      s.sendall("User: vscan\r\n\r\n")
+      s.sendall(stream)
       s.shutdown(1)
       s.close()
       output=f.readlines()
diff -u sagator-0.4.3/sqback.py sagator/sqback.py
--- sagator-0.4.3/sqback.py	2004-02-24 09:10:35.000000000 +0100
+++ sagator/sqback.py	2004-06-08 12:58:19.000000000 +0200
@@ -63,9 +63,9 @@
           buf=buf[:e]+buf[s:]
         else:
           break
-      conn.send(buf)
+      conn.sendall(buf)
     else:
-      conn.send(f.read())
+      conn.sendall(f.read())
     f.close()
     while 1:
       try:
diff -u sagator-0.4.3/stats.py sagator/stats.py
--- sagator-0.4.3/stats.py	2004-02-24 09:10:43.000000000 +0100
+++ sagator/stats.py	2004-06-08 12:57:12.000000000 +0200
@@ -98,16 +98,16 @@
                     except KeyError:
                       self.message("401 Authorization Required")
                   else:
-                    self.conn.send("HTTP/1.1 200 OK\r\n")
-                    self.conn.send("Content-Type: text/plain; charset=iso-8859-1\r\n")
-                    self.conn.send("\r\n");
+                    self.conn.sendall("HTTP/1.1 200 OK\r\n")
+                    self.conn.sendall("Content-Type: text/plain; charset=iso-8859-1\r\n")
+                    self.conn.sendall("\r\n");
                     self.data["Uptime"]=uptime(self.data['Start-at'])
                     self.data["Restart-age"]=uptime(self.data['Restart-at'])
                     sstr=''
                     if dirs[0]=="":
                       for key,value in self.data.items():
                         sstr+=key+":\t"+str(value)+"\r\n"
-                      self.conn.send(sstr)
+                      self.conn.sendall(sstr)
                     elif dirs[0]=="mrtg":
                       for key in dirs[1:]:
                         if key in self.data.keys():
@@ -118,12 +118,12 @@
                             sstr+=str(self.data[key])+"\r\n"
                         else: # return 0 for unknown key
                           sstr+="0\r\n"
-                      self.conn.send(sstr)
+                      self.conn.sendall(sstr)
                     else:
                       self.message("404 Not Found")
                 else:
                   self.message("501 Method Not Implemented")
-                  self.conn.send(req)
+                  self.conn.sendall(req)
               except socket.error,(ec,es):
                 if not ec in [32,104,107]:
                   debug.echo(3,"collector: socket.error: ",ec,es)
@@ -199,7 +199,7 @@
       if os.getpid()==MASTER_PID:
         os.kill(self.masterpid,signal.SIGTERM)
   def message(self,str):
-      self.conn.send("HTTP/1.1 "+str+"\r\n\r\n")
+      self.conn.sendall("HTTP/1.1 "+str+"\r\n\r\n")
   def parseargs(self,dirs):
       args={}
       for arg in dirs:
@@ -218,9 +218,9 @@
       urlargv=''
       for arg in args:
         urlargv+="/"+urllib.quote_plus(arg,"/=")
-      s.send("GET /"+qt+urlargv+" HTTP/1.1\r\n")
-      s.send("Authorization: "+ACCESSPASS+"\r\n")
-      s.send("\r\n")
+      s.sendall("GET /"+qt+urlargv+" HTTP/1.1\r\n")
+      s.sendall("Authorization: "+ACCESSPASS+"\r\n")
+      s.sendall("\r\n")
       f=s.makefile("r",0)
       lines=[]
       while 1:
Common subdirectories: sagator-0.4.3/test and sagator/test
