[Oval-commits] r175 - in trunk/oval-server: OvalServer dba

Pavel Vinogradov blaze-guest at alioth.debian.org
Mon Aug 20 18:09:04 UTC 2007


Author: blaze-guest
Date: 2007-08-20 18:09:04 +0000 (Mon, 20 Aug 2007)
New Revision: 175

Modified:
   trunk/oval-server/OvalServer/OvalHttpServer.py
   trunk/oval-server/dba/dba.py
Log:
Implement do_POST handling

Modified: trunk/oval-server/OvalServer/OvalHttpServer.py
===================================================================
--- trunk/oval-server/OvalServer/OvalHttpServer.py	2007-08-20 18:02:22 UTC (rev 174)
+++ trunk/oval-server/OvalServer/OvalHttpServer.py	2007-08-20 18:09:04 UTC (rev 175)
@@ -12,6 +12,22 @@
 		self.end_headers()
 		self.server.stop = True
 
+	def do_POST(self):
+		db = dba.dba ()
+		
+		self.server.logger.info ('httpServer: Process POST %s' % self.path)
+		length = int(self.headers.getheader('content-length'))
+		data = self.rfile.readline(length)
+		client_ip = self.client_address[0]
+		clientID = db.getAgentInfo(client_ip)
+		
+		for status in data.split('&'):
+			(vulnID, vulnStatus) = status.split('=')
+			db.updateAffected (clientID, vulnID, vulnStatus == 't' and 1 or 0)
+			
+		self.send_response(301)
+		self.end_headers()
+		
 	def do_GET (self):
 		self.server.logger.info ('httpServer: Process GET %s' % self.path)
 		db = dba.dba ()

Modified: trunk/oval-server/dba/dba.py
===================================================================
--- trunk/oval-server/dba/dba.py	2007-08-20 18:02:22 UTC (rev 174)
+++ trunk/oval-server/dba/dba.py	2007-08-20 18:09:04 UTC (rev 175)
@@ -69,6 +69,12 @@
 	def __initDB(self):
 		self.cursor.executescript(self.__dbStruct)
 
+	def updateAffected(self, agentID, vulnID, status):
+		print agentID
+		print vulnID
+		print status
+		print 
+		
 	def updateDSA(self, dsa, location, timestamp):
 		self.cursor.execute ('SELECT vulnID FROM vulnerabilities WHERE vulnDSA = %d' % dsa)
 		if self.cursor.fetchall():
@@ -89,10 +95,9 @@
 	
 	def getAgentInfo(self, agentName):
 		self.cursor.execute ('SELECT agentID FROM agents WHERE agentName = \'%s\'' % agentName)
-		if self.cursor.fetchall():
-			return 1
-		else:
-			return 0
+		data = self.cursor.fetchall()[0][0]	
+		return data
+	
 	def getAgentsList(self):
 		self.cursor.execute ('SELECT agentID, agentName FROM agents')
 		return self.cursor.fetchall()




More information about the Oval-commits mailing list