
    g                         S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  S SK	J
r
Jr  S SKJrJr  S SKJr  S SKJrJrJr  S SKJr  S S	KJr  S
SKJrJr   " S S\5      rg)    N)is_ad_dc_built)nbt)join_DC	join_RODC)LIBNET_JOIN_AUTOMATICNet)r   )CommandCommandErrorOption)default_path)param   )common_join_optionscommon_provision_join_optionsc                      \ rS rSrSrSr\R                  \R                  \R                  S.r
\" SSSS9/r\" S	SS
S9/r\" SSSS9/r\R                  \5        \R                  \5        \R&                  " 5       (       a  \R                  \5        \R(                  " 5       (       a  \R                  \5        SS/r       SS jrSrg)cmd_domain_join*   z9Join domain as either member or backup domain controller.z,%prog <dnsdomain> [DC|RODC|MEMBER] [options])	sambaoptsversionoptscredoptsz--use-ntvfsz+Use NTVFS for the fileserver (default = no)
store_true)helpactionz--experimental-s4-memberzfPerform member joins using the s4 Net join_member. Don't choose this unless you know what you're doing)r   r   z--no-dns-updateszDisable DNS updatesdomainzrole?Nc                    UR                  5       nUR                  U5      n[        UUUR                  S9nU R	                  XS9nUR                  S5      nUb  UR                  5       nUb  US:X  Ga  U(       a  UR                  UU[        U
S9u  nnnGOUR                  SU5        UR                  S5      S:X  aI  UR                  SUR                  U[        R                  [        R                  -  S	9R                  5        UR                  S
S5        UR                  (       a  UR                  O	[!        5       n["        R$                  " S[&        R(                  R+                  U5      S9 nUR-                  SUR.                  5        [&        R(                  R1                  U5      (       aA  [&        R2                  " U5      R4                  n[&        R6                  " UR.                  U5        [&        R8                  " UR.                  U5        S S S 5        [:        R<                  " 5       nUR?                  U5        [A        UUUS9n U R                  UU
UUS9u  nnU RB                  RE                  SU< SU< S35        g US:X  a&  [G        5       (       a  [I        UUUUUUUUU	XUUUUS9  g US:X  a&  [G        5       (       a  [K        UUUUUUUUU	XUUUUS9  g [M        SU-  5      e! , (       d  f       N= f)N)server)verbosequietznetbios nameMEMBER)machinepassrealm	workgroup	WORKGROUP)r   flagszserver rolezmember serverF)deletedir)r    debugnoDnsUpdateszJoined domain z (z)
DC)loggerr   credslpr   sitenetbios_name	targetdirdomain_critical_onlyr    	use_ntvfsdns_backendplaintext_secretsbackend_storebackend_store_sizeRODCz5Invalid role '%s' (possible values: MEMBER, DC, RODC))'get_loadparmget_credentialsr   	ipaddress
get_loggergetupperjoin_memberr   setfinddcr   NBT_SERVER_LDAPNBT_SERVER_DSdomain_name
configfiler   tempfileNamedTemporaryFileospathdirnamedumpnameexistsstatst_modechmodrenames3paramget_contextloads3_Neterrfwriter   r   r   r
   )!selfr   roler   r   r   r   r-   r/   r0   r    r1   experimental_s4_memberr2   r   r   no_dns_updatesr3   r4   r5   r,   r+   netr*   r.   join_passwordsidrB   smb_conffmodes3_lps3_nets!                                    :/usr/lib/python3/dist-packages/samba/netcmd/domain/join.pyruncmd_domain_join.runP   s    ##%((,%H$6$67>vvn-::<D<48+%47OOL*? + 5D 5-1[ w'66+&+5FF;

&"22"00 1 )3 )33>;@ }o6,.MM2==|~00GGOOH57:;GGE166*ww~~h//!wwx088.IIaffh/7  ++-

8$uV<%+%7%7DO>EES &8 &U"k
 IIOOcJKT\n..6&"VLI)= + +&7"/'9; V^ 0 0VF%Bvli+?"-"-(9$1);= VY]]^^G7 7s   2B#K..
K< )NNNNNNNFNFFNFFFFNN)__name__
__module____qualname____firstlineno____doc__synopsisoptionsSambaOptionsVersionOptionsCredentialsOptionstakes_optiongroupsr   ntvfs_optionsselftest_optionstakes_optionsextendr   r   sambais_ntvfs_fileserver_builtis_selftest_enabled
takes_argsrc   __static_attributes__re       rb   r   r   *   s   C=H ))--.. 	 M	!M 	),J	K 	!,)	+M ,-67&&((]+  ""-.G$J>B@D48GK7<#37B_rz   r   )rF   rD   ru   samba.getoptgetoptrl   r   samba.dcerpcr   
samba.joinr   r   	samba.netr   r   samba.net_s3rS   samba.netcmdr	   r
   r   samba.paramr   samba.samba3r   rP   commonr   r   r   re   rz   rb   <module>r      sA   2 
       ) 0 & 6 6 $ ) Fh_g h_rz   