Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37738692
en ru br
Репозитории ALT
S:3.23.8-alt1
5.1: 3.11.5-alt0.M51.1
4.1: 2.8.10-alt2.M41.1
4.0: 2.7.12-alt2.M40.1
+backports:2.8.10-alt2.M40.1
3.0:
+backports:1.6.6a-alt0.M30.4.1
www.altlinux.org/Changes

Группа :: Издательство
Пакет: hplip

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: hplip-parse-crash-12.patch
Скачать


--- hplip-2.7.12/hpssd.py.orig	2008-08-13 15:32:55 +0400
+++ hplip-2.7.12/hpssd.py	2008-08-13 15:49:25 +0400
@@ -197,7 +197,7 @@
                 log.debug(self.out_buffer)
                 return True
 
-            msg_type = self.fields.get('msg', 'unknown').lower()
+            msg_type = str (self.fields.get('msg', 'unknown')).lower()
             log.debug("Handling: %s %s %s" % ("*"*20, msg_type, "*"*20))
             log.debug(repr(self.in_buffer))
 
@@ -254,9 +254,9 @@
 
 
     def handle_getvalue(self):
-        device_uri = self.fields.get('device-uri', '').replace('hpfax:', 'hp:')
+        device_uri = str (self.fields.get('device-uri', '')).replace('hpfax:', 'hp:')
         value = ''
-        key = self.fields.get('key', '')
+        key = str (self.fields.get('key', ''))
         result_code = self.__checkdevice(device_uri)
 
         if result_code == ERROR_SUCCESS:
@@ -268,9 +268,9 @@
         self.out_buffer = buildResultMessage('GetValueResult', value, result_code)
 
     def handle_setvalue(self):
-        device_uri = self.fields.get('device-uri', '').replace('hpfax:', 'hp:')
-        key = self.fields.get('key', '')
-        value = self.fields.get('value', '')
+        device_uri = str (self.fields.get('device-uri', '')).replace('hpfax:', 'hp:')
+        key = str (self.fields.get('key', ''))
+        value = str (self.fields.get('value', ''))
         result_code = self.__checkdevice(device_uri)
 
         if result_code == ERROR_SUCCESS:    
@@ -279,7 +279,7 @@
         self.out_buffer = buildResultMessage('SetValueResult', None, ERROR_SUCCESS)
 
     def handle_queryhistory(self):
-        device_uri = self.fields.get('device-uri', '').replace('hpfax:', 'hp:')
+        device_uri = str (self.fields.get('device-uri', '')).replace('hpfax:', 'hp:')
         payload = ''
         result_code = self.__checkdevice(device_uri)
 
@@ -304,8 +304,8 @@
 
     # EVENT
     def handle_registerguievent(self):
-        username = self.fields.get('username', '')
-        typ = self.fields.get('type', 'unknown')
+        username = str (self.fields.get('username', ''))
+        typ = str (self.fields.get('type', 'unknown'))
         self.typ = typ
         self.username = username
         self.send_events = True
@@ -313,13 +313,13 @@
 
     # EVENT
     def handle_unregisterguievent(self):
-        username = self.fields.get('username', '')
+        username = str(self.fields.get('username', ''))
         self.send_events = False
 
 
     def handle_test_email(self):
         result_code = ERROR_SUCCESS
-        username = self.fields.get('username', prop.username)
+        username = str(self.fields.get('username', prop.username))
         message = device.queryString('email_test_message')
         subject = device.queryString('email_test_subject')
         result_code = self.sendEmail(username, subject, message, True)
@@ -342,11 +342,11 @@
 
     # sent by hpfax: to indicate the start of a complete fax rendering job
     def handle_hpfaxbegin(self):
-        username = self.fields.get('username', prop.username)
+        username = str(self.fields.get('username', prop.username))
         job_id = self.fields.get('job-id', 0)
         printer_name = self.fields.get('printer', '')
-        device_uri = self.fields.get('device-uri', '').replace('hp:', 'hpfax:')
-        title = self.fields.get('title', '')
+        device_uri = str(self.fields.get('device-uri', '')).replace('hp:', 'hpfax:')
+        title = str(self.fields.get('title', ''))
 
         log.debug("Creating data store for %s:%d" % (username, job_id))
         fax_file[(username, job_id)] = tempfile.NamedTemporaryFile(prefix="hpfax")
@@ -359,7 +359,7 @@
 
     # sent by hpfax: to transfer completed fax rendering data
     def handle_hpfaxdata(self):
-        username = self.fields.get('username', prop.username)
+        username = str(self.fields.get('username', prop.username))
         job_id = self.fields.get('job-id', 0)
 
         if self.payload and (username, job_id) in fax_file and \
@@ -372,11 +372,11 @@
 
     # sent by hpfax: to indicate the end of a complete fax rendering job
     def handle_hpfaxend(self):
-        username = self.fields.get('username', '')
+        username = str(self.fields.get('username', ''))
         job_id = self.fields.get('job-id', 0)
         printer_name = self.fields.get('printer', '')
-        device_uri = self.fields.get('device-uri', '').replace('hp:', 'hpfax:')
-        title = self.fields.get('title', '')
+        device_uri = str(self.fields.get('device-uri', '')).replace('hp:', 'hpfax:')
+        title = str(self.fields.get('title', ''))
         job_size = self.fields.get('job-size', 0)
 
         fax_file[(username, job_id)].seek(0)
@@ -388,7 +388,7 @@
 
     # sent by hp-sendfax to see if any faxes have been printed and need to be picked up
     def handle_faxcheck(self):
-        username = self.fields.get('username', '')
+        username = str(self.fields.get('username', ''))
         result_code = ERROR_NO_DATA_AVAILABLE
         other_fields = {}
 
@@ -412,7 +412,7 @@
     # after being run with --job param, both after a hpfaxend message
     def handle_faxgetdata(self):
         result_code = ERROR_SUCCESS
-        username = self.fields.get('username', '')
+        username = str(self.fields.get('username', ''))
         job_id = self.fields.get('job-id', 0)
 
         try:
@@ -449,7 +449,7 @@
         if event_code > EVENT_MAX_EVENT:
             event_code = status.MapPJLErrorCode(event_code)
             
-        device_uri = self.fields.get('device-uri', '').replace('hpfax:', 'hp:')
+        device_uri = str(self.fields.get('device-uri', '')).replace('hpfax:', 'hp:')
         log.debug("Device URI: %s" % device_uri)
 
         error_string_short = device.queryString(str(event_code), 0)
@@ -457,7 +457,10 @@
 
         log.debug("Short/Long: %s/%s" % (error_string_short, error_string_long))
 
-        job_id = self.fields.get('job-id', 0)
+        try:
+            job_id = int (self.fields.get('job-id', 0))
+        except ValueError:
+            job_id = 0
 
         try:
             username = self.fields['username']
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin