URI: 
       Add signal handlers for SIGINFO and SIGUSR1 - anticapum - Handle Università Politecnica delle Marche captive portal
  HTML hg clone https://bitbucket.org/iamleot/anticapum
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR changeset a2933e49b6a8ad7d7401052f47fa29b40a639c46
   DIR parent ccb59827041b40818245f5bbce4f06558341a76e
  HTML Author: Leonardo Taccari <iamleot@gmail.com>
       Date:   Fri, 12 Jan 2018 11:27:46 
       
       Add signal handlers for SIGINFO and SIGUSR1
       
       When SIGINFO (e.g. via ^T) or SIGUSR1 are sent to anticapum it will print all
       current session information (i.e. username, ip, timestamp, sid and pulsante).
       
       SIGINFO is an extension only present on BSDs and macOS so check that
       signal.SIGINFO is present before injecting the handler.
       
       Diffstat:
        anticapum.py |  14 ++++++++++++++
        1 files changed, 14 insertions(+), 0 deletions(-)
       ---
       diff -r ccb59827041b -r a2933e49b6a8 anticapum.py
       --- a/anticapum.py      Thu Jan 11 23:24:03 2018 +0100
       +++ b/anticapum.py      Fri Jan 12 11:27:46 2018 +0100
       @@ -136,6 +136,20 @@
        
        if __name__ == '__main__':
            import time
       +    import signal
       +
       +    s = {}
       +
       +    def siginfo_handler(signum, frame):
       +        print('username:', s.get('username', ''))
       +        print('ip:', s.get('ip', ''))
       +        print('timestamp:', s.get('timestamp', ''))
       +        print('sid:', s.get('sid', ''))
       +        print('pulsante:', s.get('pulsante', ''))
       +
       +    if hasattr(signal, 'SIGINFO'):
       +        signal.signal(signal.SIGINFO, siginfo_handler)
       +    signal.signal(signal.SIGUSR1, siginfo_handler)
        
            username, password = credential()