Hello community,

here is the log from the commit of package kismet for openSUSE:Factory checked 
in at 2020-04-27 23:41:52
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kismet (Old)
 and      /work/SRC/openSUSE:Factory/.kismet.new.2738 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kismet"

Mon Apr 27 23:41:52 2020 rev:43 rq:798200 version:2020_04_R2

Changes:
--------
--- /work/SRC/openSUSE:Factory/kismet/kismet.changes    2020-04-22 
20:58:57.084097171 +0200
+++ /work/SRC/openSUSE:Factory/.kismet.new.2738/kismet.changes  2020-04-27 
23:42:03.479956280 +0200
@@ -1,0 +2,6 @@
+Thu Apr 23 17:33:55 UTC 2020 - Martin Hauke <mar...@gmx.de>
+
+- Update to version 2020-04-R2
+  * Bugfix release
+
+-------------------------------------------------------------------

Old:
----
  kismet-2020-04-R1.tar.gz

New:
----
  kismet-2020-04-R2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kismet.spec ++++++
--- /var/tmp/diff_new_pack.A5saPn/_old  2020-04-27 23:42:04.515958400 +0200
+++ /var/tmp/diff_new_pack.A5saPn/_new  2020-04-27 23:42:04.515958400 +0200
@@ -20,9 +20,9 @@
 %bcond_with ubertooth
 %endif
 
-%define realver 2020-04-R1
+%define realver 2020-04-R2
 Name:           kismet
-Version:        2020_04_R1
+Version:        2020_04_R2
 Release:        0
 Summary:        An 802.11 Wireless Network Sniffer
 License:        GPL-2.0-or-later

++++++ kismet-2020-04-R1.tar.gz -> kismet-2020-04-R2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kismet-kismet-2020-04-R1/capture_sdr_rtl433/KismetCaptureRtl433/kismetexternal/__init__.py
 
new/kismet-kismet-2020-04-R2/capture_sdr_rtl433/KismetCaptureRtl433/kismetexternal/__init__.py
--- 
old/kismet-kismet-2020-04-R1/capture_sdr_rtl433/KismetCaptureRtl433/kismetexternal/__init__.py
      2020-04-21 16:05:27.000000000 +0200
+++ 
new/kismet-kismet-2020-04-R2/capture_sdr_rtl433/KismetCaptureRtl433/kismetexternal/__init__.py
      2020-04-21 19:45:20.000000000 +0200
@@ -39,15 +39,15 @@
 from . import http_pb2
 from . import datasource_pb2
 
-__version__ = "2020.03.00"
+__version__ = "2020.04.02"
 
 class ExternalInterface(object):
-    """ 
+    """
     External interface super-class
     """
     def __init__(self, infd=-1, outfd=-1, remote=None):
         """
-        Initialize the external interface; interfaces launched by Kismet are 
+        Initialize the external interface; interfaces launched by Kismet are
         mapped to a pipe passed via --in-fd and --out-fd arguments; remote
         interfaces are initialized with a host:port
 
@@ -192,7 +192,7 @@
 
     async def __io_loop(self):
         # A much simplified rx io loop using asyncio; we look to see if we're
-        # shutting down 
+        # shutting down
         try:
             while not self.kill_ioloop:
                 if not self.last_pong == 0 and time.time() - self.last_pont > 
5:
@@ -219,9 +219,9 @@
                 # form a full packet
                 self.__recv_packet()
         except Exception as e:
-            print("FATAL:  Encountered an error writing to Kismet", e, 
file=sys.stderr)
+            print("FATAL:  Encountered an error receiving data from Kismet", 
e, file=sys.stderr)
+            self.running = False
             self.kill()
-            return
         finally:
             self.running = False
             self.kill()
@@ -284,11 +284,15 @@
         """
 
         if self.infd is not None and self.infd >= 0 and self.outfd is not None 
and self.outfd >= 0:
+            if self.debug:
+                print("DEBUG:  Linking descriptors", self.infd, self.outfd, 
file=sys.stderr)
             self.ext_reader, self.ext_writer = await self.__async_open_fds()
+            if self.debug:
+                print("DEBUG:  Linked descriptors", self.infd, self.outfd, 
self.ext_writer, file=sys.stderr)
         elif self.remote is not None:
             if self.debug:
                 print("asyncio building connection to remote", self.remote)
-            
+
             self.ext_reader, self.ext_writer = await 
self.__async_open_remote(self.remote)
 
         else:
@@ -301,8 +305,8 @@
         """
 
         try:
-            # Bring up the IO loop task; it's the only task we absolutely care 
-            # about.  Other tasks can come and go, if this one dies, we have 
+            # Bring up the IO loop task; it's the only task we absolutely care
+            # about.  Other tasks can come and go, if this one dies, we have
             # to shut down.
 
             # From this point onwards we exist inside this asyncio wait
@@ -374,7 +378,7 @@
 
     def add_uri_handler(self, method, uri, handler):
         """
-        Register a URI handler with Kismet; this will be called whenever that 
URI is 
+        Register a URI handler with Kismet; this will be called whenever that 
URI is
         triggered on the Kismet REST interface.  A URI should be a complete 
path, and
         include the file extension.
 
@@ -411,13 +415,9 @@
         :return: None
         """
         self.kill_ioloop = True
-      
-        if self.debug:
-            print("cancelling tasks", len(self.additional_tasks))
-        [task.cancel() for task in self.additional_tasks]
+        self.running = False
 
-        if self.debug:
-            print("calling exit functions", len(self.exit_callbacks))
+        [task.cancel() for task in self.additional_tasks]
         [cb() for cb in self.exit_callbacks]
 
         if not self.main_io_task == None:
@@ -439,7 +439,9 @@
         self.graceful_spindown = True
 
         try:
-            self.loop.run_until_complete(self.ext_writer.drain())
+            if 'ext_writer' in vars(self):
+                task = self.loop.create_task(self.ext_writer.drain())
+                self.loop.run_until_complete(task)
         except Exception as e:
             # Silently ignore any errors draining, we just need to get out and 
die
             pass
@@ -448,7 +450,7 @@
 
     def write_raw_packet(self, kedata):
         """
-        Wrap a raw piece of data in a Kismet external interface frame and 
write it; 
+        Wrap a raw piece of data in a Kismet external interface frame and 
write it;
         this data must be a serialized kismet_pb2.Command frame.
 
         :param kedata: Serialized kismet_pb2.Command data
@@ -457,6 +459,9 @@
         """
 
         try:
+            if not 'ext_writer' in vars(self):
+                raise RuntimeError("packet written before connection 
established")
+
             signature = 0xDECAFBAD
             serial = bytearray(kedata.SerializeToString())
 
@@ -614,7 +619,7 @@
 
 
 class Datasource(ExternalInterface):
-    """ 
+    """
     Datasource implementation
     """
     def __init__(self, infd=-1, outfd=-1, remote=None):
@@ -693,31 +698,31 @@
         :return: (source, options{} dictionary) as tuple
         """
         options = {}
-    
+
         colon = definition.find(':')
-    
+
         if colon == -1:
             return definition, {}
-    
+
         source = definition[:colon]
         right = definition[colon + 1:]
-    
+
         while len(right):
             eqpos = right.find('=')
             if eqpos == -1:
                 return None, None
-    
+
             key = right[:eqpos]
             right = right[eqpos + 1:]
-    
+
             # If we're quoted
             if right[0] == '"':
                 right = right[1:]
                 endq = right.find('"')
-    
+
                 if endq == -1:
                     return None, None
-    
+
                 val = right[:endq]
                 options[key] = val
                 right = right[endq + 1:]
@@ -726,11 +731,11 @@
 
                 if endcomma == -1:
                     endcomma = len(right)
-    
+
                 val = right[:endcomma]
                 options[key] = val
                 right = right[endcomma + 1:]
-    
+
         return source, options
 
     def __handle_kds_configure(self, seqno, packet):
@@ -742,7 +747,7 @@
                                                   message="helper does not 
support source configuration")
             self.spindown()
             return
-           
+
         try:
             opts = self.configuresource(seqno, conf)
         except Exception as e:
@@ -753,7 +758,7 @@
             self.spindown()
             return
 
-        
+
         if opts is None:
             self.send_datasource_configure_report(seqno, success=False,
                                                   message="helper does not 
support source configuration")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kismet-kismet-2020-04-R1/capture_sdr_rtladsb/KismetCaptureRtladsb/kismetexternal/__init__.py
 
new/kismet-kismet-2020-04-R2/capture_sdr_rtladsb/KismetCaptureRtladsb/kismetexternal/__init__.py
--- 
old/kismet-kismet-2020-04-R1/capture_sdr_rtladsb/KismetCaptureRtladsb/kismetexternal/__init__.py
    2020-04-21 16:05:27.000000000 +0200
+++ 
new/kismet-kismet-2020-04-R2/capture_sdr_rtladsb/KismetCaptureRtladsb/kismetexternal/__init__.py
    2020-04-21 19:45:20.000000000 +0200
@@ -39,15 +39,15 @@
 from . import http_pb2
 from . import datasource_pb2
 
-__version__ = "2020.03.00"
+__version__ = "2020.04.02"
 
 class ExternalInterface(object):
-    """ 
+    """
     External interface super-class
     """
     def __init__(self, infd=-1, outfd=-1, remote=None):
         """
-        Initialize the external interface; interfaces launched by Kismet are 
+        Initialize the external interface; interfaces launched by Kismet are
         mapped to a pipe passed via --in-fd and --out-fd arguments; remote
         interfaces are initialized with a host:port
 
@@ -192,7 +192,7 @@
 
     async def __io_loop(self):
         # A much simplified rx io loop using asyncio; we look to see if we're
-        # shutting down 
+        # shutting down
         try:
             while not self.kill_ioloop:
                 if not self.last_pong == 0 and time.time() - self.last_pont > 
5:
@@ -219,9 +219,9 @@
                 # form a full packet
                 self.__recv_packet()
         except Exception as e:
-            print("FATAL:  Encountered an error writing to Kismet", e, 
file=sys.stderr)
+            print("FATAL:  Encountered an error receiving data from Kismet", 
e, file=sys.stderr)
+            self.running = False
             self.kill()
-            return
         finally:
             self.running = False
             self.kill()
@@ -284,11 +284,15 @@
         """
 
         if self.infd is not None and self.infd >= 0 and self.outfd is not None 
and self.outfd >= 0:
+            if self.debug:
+                print("DEBUG:  Linking descriptors", self.infd, self.outfd, 
file=sys.stderr)
             self.ext_reader, self.ext_writer = await self.__async_open_fds()
+            if self.debug:
+                print("DEBUG:  Linked descriptors", self.infd, self.outfd, 
self.ext_writer, file=sys.stderr)
         elif self.remote is not None:
             if self.debug:
                 print("asyncio building connection to remote", self.remote)
-            
+
             self.ext_reader, self.ext_writer = await 
self.__async_open_remote(self.remote)
 
         else:
@@ -301,8 +305,8 @@
         """
 
         try:
-            # Bring up the IO loop task; it's the only task we absolutely care 
-            # about.  Other tasks can come and go, if this one dies, we have 
+            # Bring up the IO loop task; it's the only task we absolutely care
+            # about.  Other tasks can come and go, if this one dies, we have
             # to shut down.
 
             # From this point onwards we exist inside this asyncio wait
@@ -374,7 +378,7 @@
 
     def add_uri_handler(self, method, uri, handler):
         """
-        Register a URI handler with Kismet; this will be called whenever that 
URI is 
+        Register a URI handler with Kismet; this will be called whenever that 
URI is
         triggered on the Kismet REST interface.  A URI should be a complete 
path, and
         include the file extension.
 
@@ -411,13 +415,9 @@
         :return: None
         """
         self.kill_ioloop = True
-      
-        if self.debug:
-            print("cancelling tasks", len(self.additional_tasks))
-        [task.cancel() for task in self.additional_tasks]
+        self.running = False
 
-        if self.debug:
-            print("calling exit functions", len(self.exit_callbacks))
+        [task.cancel() for task in self.additional_tasks]
         [cb() for cb in self.exit_callbacks]
 
         if not self.main_io_task == None:
@@ -439,7 +439,9 @@
         self.graceful_spindown = True
 
         try:
-            self.loop.run_until_complete(self.ext_writer.drain())
+            if 'ext_writer' in vars(self):
+                task = self.loop.create_task(self.ext_writer.drain())
+                self.loop.run_until_complete(task)
         except Exception as e:
             # Silently ignore any errors draining, we just need to get out and 
die
             pass
@@ -448,7 +450,7 @@
 
     def write_raw_packet(self, kedata):
         """
-        Wrap a raw piece of data in a Kismet external interface frame and 
write it; 
+        Wrap a raw piece of data in a Kismet external interface frame and 
write it;
         this data must be a serialized kismet_pb2.Command frame.
 
         :param kedata: Serialized kismet_pb2.Command data
@@ -457,6 +459,9 @@
         """
 
         try:
+            if not 'ext_writer' in vars(self):
+                raise RuntimeError("packet written before connection 
established")
+
             signature = 0xDECAFBAD
             serial = bytearray(kedata.SerializeToString())
 
@@ -614,7 +619,7 @@
 
 
 class Datasource(ExternalInterface):
-    """ 
+    """
     Datasource implementation
     """
     def __init__(self, infd=-1, outfd=-1, remote=None):
@@ -693,31 +698,31 @@
         :return: (source, options{} dictionary) as tuple
         """
         options = {}
-    
+
         colon = definition.find(':')
-    
+
         if colon == -1:
             return definition, {}
-    
+
         source = definition[:colon]
         right = definition[colon + 1:]
-    
+
         while len(right):
             eqpos = right.find('=')
             if eqpos == -1:
                 return None, None
-    
+
             key = right[:eqpos]
             right = right[eqpos + 1:]
-    
+
             # If we're quoted
             if right[0] == '"':
                 right = right[1:]
                 endq = right.find('"')
-    
+
                 if endq == -1:
                     return None, None
-    
+
                 val = right[:endq]
                 options[key] = val
                 right = right[endq + 1:]
@@ -726,11 +731,11 @@
 
                 if endcomma == -1:
                     endcomma = len(right)
-    
+
                 val = right[:endcomma]
                 options[key] = val
                 right = right[endcomma + 1:]
-    
+
         return source, options
 
     def __handle_kds_configure(self, seqno, packet):
@@ -742,7 +747,7 @@
                                                   message="helper does not 
support source configuration")
             self.spindown()
             return
-           
+
         try:
             opts = self.configuresource(seqno, conf)
         except Exception as e:
@@ -753,7 +758,7 @@
             self.spindown()
             return
 
-        
+
         if opts is None:
             self.send_datasource_configure_report(seqno, success=False,
                                                   message="helper does not 
support source configuration")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kismet-kismet-2020-04-R1/capture_sdr_rtlamr/KismetCaptureRtlamr/kismetexternal/__init__.py
 
new/kismet-kismet-2020-04-R2/capture_sdr_rtlamr/KismetCaptureRtlamr/kismetexternal/__init__.py
--- 
old/kismet-kismet-2020-04-R1/capture_sdr_rtlamr/KismetCaptureRtlamr/kismetexternal/__init__.py
      2020-04-21 16:05:27.000000000 +0200
+++ 
new/kismet-kismet-2020-04-R2/capture_sdr_rtlamr/KismetCaptureRtlamr/kismetexternal/__init__.py
      2020-04-21 19:45:20.000000000 +0200
@@ -39,15 +39,15 @@
 from . import http_pb2
 from . import datasource_pb2
 
-__version__ = "2020.03.00"
+__version__ = "2020.04.02"
 
 class ExternalInterface(object):
-    """ 
+    """
     External interface super-class
     """
     def __init__(self, infd=-1, outfd=-1, remote=None):
         """
-        Initialize the external interface; interfaces launched by Kismet are 
+        Initialize the external interface; interfaces launched by Kismet are
         mapped to a pipe passed via --in-fd and --out-fd arguments; remote
         interfaces are initialized with a host:port
 
@@ -192,7 +192,7 @@
 
     async def __io_loop(self):
         # A much simplified rx io loop using asyncio; we look to see if we're
-        # shutting down 
+        # shutting down
         try:
             while not self.kill_ioloop:
                 if not self.last_pong == 0 and time.time() - self.last_pont > 
5:
@@ -219,9 +219,9 @@
                 # form a full packet
                 self.__recv_packet()
         except Exception as e:
-            print("FATAL:  Encountered an error writing to Kismet", e, 
file=sys.stderr)
+            print("FATAL:  Encountered an error receiving data from Kismet", 
e, file=sys.stderr)
+            self.running = False
             self.kill()
-            return
         finally:
             self.running = False
             self.kill()
@@ -284,11 +284,15 @@
         """
 
         if self.infd is not None and self.infd >= 0 and self.outfd is not None 
and self.outfd >= 0:
+            if self.debug:
+                print("DEBUG:  Linking descriptors", self.infd, self.outfd, 
file=sys.stderr)
             self.ext_reader, self.ext_writer = await self.__async_open_fds()
+            if self.debug:
+                print("DEBUG:  Linked descriptors", self.infd, self.outfd, 
self.ext_writer, file=sys.stderr)
         elif self.remote is not None:
             if self.debug:
                 print("asyncio building connection to remote", self.remote)
-            
+
             self.ext_reader, self.ext_writer = await 
self.__async_open_remote(self.remote)
 
         else:
@@ -301,8 +305,8 @@
         """
 
         try:
-            # Bring up the IO loop task; it's the only task we absolutely care 
-            # about.  Other tasks can come and go, if this one dies, we have 
+            # Bring up the IO loop task; it's the only task we absolutely care
+            # about.  Other tasks can come and go, if this one dies, we have
             # to shut down.
 
             # From this point onwards we exist inside this asyncio wait
@@ -374,7 +378,7 @@
 
     def add_uri_handler(self, method, uri, handler):
         """
-        Register a URI handler with Kismet; this will be called whenever that 
URI is 
+        Register a URI handler with Kismet; this will be called whenever that 
URI is
         triggered on the Kismet REST interface.  A URI should be a complete 
path, and
         include the file extension.
 
@@ -411,13 +415,9 @@
         :return: None
         """
         self.kill_ioloop = True
-      
-        if self.debug:
-            print("cancelling tasks", len(self.additional_tasks))
-        [task.cancel() for task in self.additional_tasks]
+        self.running = False
 
-        if self.debug:
-            print("calling exit functions", len(self.exit_callbacks))
+        [task.cancel() for task in self.additional_tasks]
         [cb() for cb in self.exit_callbacks]
 
         if not self.main_io_task == None:
@@ -439,7 +439,9 @@
         self.graceful_spindown = True
 
         try:
-            self.loop.run_until_complete(self.ext_writer.drain())
+            if 'ext_writer' in vars(self):
+                task = self.loop.create_task(self.ext_writer.drain())
+                self.loop.run_until_complete(task)
         except Exception as e:
             # Silently ignore any errors draining, we just need to get out and 
die
             pass
@@ -448,7 +450,7 @@
 
     def write_raw_packet(self, kedata):
         """
-        Wrap a raw piece of data in a Kismet external interface frame and 
write it; 
+        Wrap a raw piece of data in a Kismet external interface frame and 
write it;
         this data must be a serialized kismet_pb2.Command frame.
 
         :param kedata: Serialized kismet_pb2.Command data
@@ -457,6 +459,9 @@
         """
 
         try:
+            if not 'ext_writer' in vars(self):
+                raise RuntimeError("packet written before connection 
established")
+
             signature = 0xDECAFBAD
             serial = bytearray(kedata.SerializeToString())
 
@@ -614,7 +619,7 @@
 
 
 class Datasource(ExternalInterface):
-    """ 
+    """
     Datasource implementation
     """
     def __init__(self, infd=-1, outfd=-1, remote=None):
@@ -693,31 +698,31 @@
         :return: (source, options{} dictionary) as tuple
         """
         options = {}
-    
+
         colon = definition.find(':')
-    
+
         if colon == -1:
             return definition, {}
-    
+
         source = definition[:colon]
         right = definition[colon + 1:]
-    
+
         while len(right):
             eqpos = right.find('=')
             if eqpos == -1:
                 return None, None
-    
+
             key = right[:eqpos]
             right = right[eqpos + 1:]
-    
+
             # If we're quoted
             if right[0] == '"':
                 right = right[1:]
                 endq = right.find('"')
-    
+
                 if endq == -1:
                     return None, None
-    
+
                 val = right[:endq]
                 options[key] = val
                 right = right[endq + 1:]
@@ -726,11 +731,11 @@
 
                 if endcomma == -1:
                     endcomma = len(right)
-    
+
                 val = right[:endcomma]
                 options[key] = val
                 right = right[endcomma + 1:]
-    
+
         return source, options
 
     def __handle_kds_configure(self, seqno, packet):
@@ -742,7 +747,7 @@
                                                   message="helper does not 
support source configuration")
             self.spindown()
             return
-           
+
         try:
             opts = self.configuresource(seqno, conf)
         except Exception as e:
@@ -753,7 +758,7 @@
             self.spindown()
             return
 
-        
+
         if opts is None:
             self.send_datasource_configure_report(seqno, success=False,
                                                   message="helper does not 
support source configuration")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kismet-kismet-2020-04-R1/version.h 
new/kismet-kismet-2020-04-R2/version.h
--- old/kismet-kismet-2020-04-R1/version.h      2020-04-21 16:05:27.000000000 
+0200
+++ new/kismet-kismet-2020-04-R2/version.h      2020-04-21 19:45:20.000000000 
+0200
@@ -21,7 +21,7 @@
 
 #define VERSION_MAJOR  "2020"
 #define VERSION_MINOR  "04"
-#define VERSION_TINY   "R1"
+#define VERSION_TINY   "R2"
 
 extern const char *VERSION_GIT_COMMIT;
 extern const char *VERSION_BUILD_TIME;


Reply via email to