
    -_g*                     2    d dl mZmZmZ  G d deee      Zy)    )PluginRedHatPluginUbuntuPluginc                   (    e Zd ZdZdZdZdZd Zd Zy)NetworkManagerz$NetworkManager service configurationnetworkmanager)networkhardwaresystem)r   znetwork-managerc                     g d _          j                   j                           j                  g d        j                  d        j                  d       d}d}d fd		} |d
      r j                  g d       |dz  }|dz  }n+ |d
      r j                  g d       |dz  }|dz  }nd}d}t	        |      dkD  rg j                  d      }|d   dk(  r8|d   j                         D ]"  }|dd dk(  r j                  | d| d       $  j                  |dz   d        j                  ddd       y ) N)z'/etc/NetworkManager/system-connections/z+/usr/lib/NetworkManager/system-connections/z'/run/NetworkManager/system-connections/)z'/etc/NetworkManager/NetworkManager.confz /etc/NetworkManager/dispatcher.dz/etc/NetworkManager/conf.dz/usr/lib/NetworkManager/conf.dz/run/NetworkManager/conf.dz2/var/lib/NetworkManager/NetworkManager-intern.confr   )unitszNetworkManager --print-configznmcli con %s idznmcli dev %s   c                     d}ddg}j                  |||    z        }|d   dk(  xr" |d   j                         j                  d      S )Nz(nmcli --terse --fields RUNNING %s statusnmgeneralstatusr   outputrunning)exec_cmdlower
startswith)versionstatus_template	obj_tabler   selfs       C/usr/lib/python3/dist-packages/sos/report/plugins/networkmanager.pytest_nm_statusz,NetworkManager.setup.<locals>.test_nm_status5   sd    HOI ]]?Yw5G#GHF8$) C8$**,77	BD    )r   )znmcli general status	nmcli conznmcli -f all conznmcli con show --active	nmcli devshowr   )znmcli nm statusr   znmcli con statusr    zlist idz
list iface znmcli --terse --fields NAME conr   r      Warningz ""z
 "%(dev)s"ethernet)devicesnmcli_dev_shownmcli_dev_show_sos)znmcli dev showznmcli dev show .*)r   )	system_connection_filesadd_copy_specadd_journaladd_cmd_outputlenr   
splitlinesadd_device_cmdadd_cmd_tags)r   nmcli_con_details_templatenmcli_dev_details_templater   nmcli_con_details_cmdnmcli_dev_details_cmdnmcli_con_show_resultcons   `       r   setupzNetworkManager.setup   s   (
$ 	4778 
 	 	/0;< &7"%3"	D !$ !  %?$G!$>$G! A& ! 
 %?$J!$>$M! %'!$&!$%)$(MM1%! %X.!30:EEG LC1Qx9,  ''+@*AC5(JKL %4"   
 	.!5
 	r   c                 N    | j                   D ]  }| j                  | dd        y )Nz[(password|psk|mka-cak|password-raw|pin|preshared-key|private-key|secrets|wep-key[0-9])=(.*)z\1=***)r*   do_path_regex_sub)r   sc_paths     r   postproczNetworkManager.postprocw   s2    33 	G"");		r   N)	__name__
__module____qualname__
short_descplugin_nameprofilespackagesr8   r<    r   r   r   r      s"    7J"K0H4HaFr   r   N)sos.report.pluginsr   r   r   r   rD   r   r   <module>rF      s     B ArV\< rr   