Sophie

Sophie

distrib > Mandriva > 2008.0 > x86_64 > by-pkgid > 00bda0b1286e15da1f83e05f26416075 > files > 10

hplip-2.7.7-8.2mdv2008.0.src.rpm

--- hplip-2.7.7/base/g.py.cve-2008-2940	2008-08-13 11:56:32.000000000 -0400
+++ hplip-2.7.7/base/g.py	2008-08-13 11:59:14.000000000 -0400
@@ -139,6 +139,7 @@ class Config(dict):
 prop.sys_config_file = '/etc/hp/hplip.conf'
 prop.user_dir = os.path.expanduser('~/.hplip')
 prop.user_config_file = os.path.join(prop.user_dir, 'hplip.conf')
+prop.alerts_config_file = '/etc/hp/alerts.conf'
 
 if (not prop.user_config_file.startswith ("/root/") and
     not os.getuid () == 0):
@@ -159,6 +160,7 @@ if (not prop.user_config_file.startswith
     
 sys_cfg = Config(prop.sys_config_file, True)
 user_cfg = Config(prop.user_config_file)
+alerts_cfg = Config(prop.alerts_config_file)
 
 
 # Language settings
--- hplip-2.7.7/hpssd.py.cve-2008-2940	2008-08-13 11:56:32.000000000 -0400
+++ hplip-2.7.7/hpssd.py	2008-08-13 11:56:32.000000000 -0400
@@ -70,6 +70,12 @@ from prnt import cups
 
 # Per user alert settings
 alerts = {}
+for user, cfg in alerts_cfg.iteritems ():
+    entry = {}
+    entry['email-alerts'] = utils.to_bool (cfg.get('email-alerts', 0))
+    entry['email-from-address'] = cfg.get('email-from-address', '')
+    entry['email-to-addresses'] = cfg.get('email-to-addresses', '')
+    alerts[user] = entry
 
 # Fax
 fax_file = {}
@@ -289,15 +295,10 @@ class hpssd_handler(dispatcher):
 
         self.out_buffer = buildResultMessage('QueryHistoryResult', payload, result_code)
 
-    # TODO: Need to load alerts at start-up
     def handle_setalerts(self):
         result_code = ERROR_SUCCESS
-        username = self.fields.get('username', '')
 
-        alerts[username] = {'email-alerts'       : utils.to_bool(self.fields.get('email-alerts', '0')),
-                            'email-from-address' : self.fields.get('email-from-address', ''),
-                            'email-to-addresses' : self.fields.get('email-to-addresses', ''),
-                           }
+        # Do nothing.  We use the alerts table in /etc/hp/alerts.conf.
 
         self.out_buffer = buildResultMessage('SetAlertsResult', None, result_code)
 
@@ -444,6 +445,9 @@ class hpssd_handler(dispatcher):
         event_type = self.fields.get('event-type', 'event')
         event_code = self.fields.get('event-code', 0)
         device_uri = self.fields.get('device-uri', '').replace('hpfax:', 'hp:')
+        result_code = self.__checkdevice(device_uri)
+        if result_code != ERROR_SUCCESS:
+            return
         log.debug("Device URI: %s" % device_uri)
 
         error_string_short = device.queryString(str(event_code), 0)