
    3+jZ                     (    S SK r S SKr " S S5      rg)    Nc                   6    \ rS rSrS rS rS rS rS	S jrSr	g)
SessionManager   c                     Xl         X l        g )N)sessionslocks)selfsessions_dictr   s      -/tmp/OverburstC2/src/utils/session_manager.py__init__SessionManager.__init__   s    %
    c                     [         R                  " S5      nU R                  S      UU[        R                  " 5       [        R                  " 5       S.U R                  U'   S S S 5        U$ ! , (       d  f       U$ = f)N    r   )usernameaddress
created_atlast_activity)secretstoken_urlsafer   timer   )r	   r   r   tokens       r   createSessionManager.create	   sb    %%b)ZZ
#$""iik!%	$DMM%  $  $# s   ;A++
A:c                     U R                   S      XR                  ;   a/  [        R                  " 5       U R                  U   S'    S S S 5        g S S S 5        g! , (       d  f       g= f)Nr   r   TF)r   r   r   r	   r   s     r   update_activitySessionManager.update_activity   sW    ZZ
#%8<		e$_5 $#% $ 	 $# s   6A
A'c                     U R                   S      XR                  ;   a  U R                  U	  S S S 5        g S S S 5        g! , (       d  f       g= f)Nr   TFr   r   r   s     r   removeSessionManager.remove   sJ    ZZ
#%MM%( $#% $ 	 $# s   A
Ac                 F   [         R                   " 5       n/ nU R                  S      U R                  R                  5        H#  u  pEX%S   -
  U:  d  M  UR	                  U5        M%     U H  nU R                  U	 M     S S S 5        [        U5      $ ! , (       d  f       N= f)Nr   r   )r   r   r   itemsappendlen)r	   timeout_secondsnowexpiredr   sessions         r   cleanup_expiredSessionManager.cleanup_expired"   s    iikZZ
#"&--"5"5"711OCNN5) #8 !MM%( !	 $ 7| $#s   )B+B
B r    N)i  )
__name__
__module____qualname____firstlineno__r   r   r   r!   r+   __static_attributes__ r   r   r   r      s    		r   r   )r   r   r   r2   r   r   <module>r3      s     ' 'r   