+
    Dfj                         R t ^ RIt^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
HtHt ^ RIHtHt R]P                   R]P"                  /t ! R R	]P&                  4      tR
 tR# )z
Twisted inetd TAP support

The purpose of inetdtap is to provide an inetd-like server, to allow Twisted to
invoke other programs to handle incoming sockets.
This is a useful thing as a "networking swiss army knife" tool, like netcat.
N)internetservice)ServerFactory)logusage)inetd	inetdconftcpudpc                   ~    ] tR t^tRt. RO. RO.t. R	O.t]P                  ! R]P                  ! R4      /R7      t
RtR# )
Optionsz
To use it, create a file named `sample-inetd.conf` with:

8123 stream tcp wait some_user /bin/cat -

You can then run it as in the following example and port 8123 became an
echo server.

twistd -n inetd -f sample-inetd.conf
filez*.conf)
optActions N)rpcrz/etc/rpcz$DEPRECATED. RPC procedure table file)r   fz/etc/inetd.confzService configuration file)
nointernalizDon't run internal services)__name__
__module____qualname____firstlineno____doc__optParametersoptFlagsr   CompletionsCompleteFilescompData__static_attributes__r       9/usr/lib/python3/dist-packages/twisted/runner/inetdtap.pyr   r      sB    	 	IFM
 CCH  VU5H5H5R,STHr    r   c                    \         P                  ! 4       p\        P                  ! 4       p\	        V R ,          4      ;_uu_ 4       pVP                  V4       RRR4       VP                   EF  pVP                  pVP                  P                  R4      '       d   \        P                  ! R4       KI  WTP                  3R9  d5   \        P                  ! RVP                  : RVP                  : 24       K   \        VP                  4      Vn        TP$                  f.   \        P&                  ! TP                  4      ^,          Tn        M \        TP$                  4      Tn        TP,                  R
8X  d   T R,          '       d   EK#  TP.                  \0        P2                  9  d+   \        P                  ! RTP.                  ,           4       EKl  \5        4       p\0        P2                  TP.                  ,          Tn        M\0        P6                  ! T4      pTR8X  d4   \8        P:                  ! TP<                  T4      P?                  T4       EK  TR8X  g   EK  \A        R4      h	  V#   + '       g   i     EL#; i  \         dm     \        P                   ! TP                  4      ^,          Tn         EL  \"         d.    \        P                  ! RTP                  ,           4         EK  i ; ii ; i  \         dm     \(        P*                  ! TP$                  4      ^,          Tn         EL  \"         d.    \        P                  ! R	TP$                  ,           4         EK  i ; ii ; i)r   Nzrpc/z/Skipping rpc service due to lack of rpc supportr	   r
   z$Skipping unsupported type/protocol: /zUnknown user: zUnknown group: internalr   zUnknown internal service: znot supporting UDP))r	   stream)r
   dgram)!
appserviceMultiServicer   	InetdConfopen	parseFileservicesprotocol
startswithr   msg
socketTypeintuser
ValueErrorpwdgetpwnamKeyErrorgroupgetpwuidgrpgetgrnamprogramnamer   internalProtocolsr   InetdFactoryr   	TCPServerportsetServiceParentRuntimeError)configsconfr   r   r-   factorys   &      r!   makeServicerG   0   s~   !A D	fVn		q 
 ==##&&v..GGEF(()1VVGG%%w'7'79 	w||,GL == LL6q9GM #GMM 2 ??j(l## ||5#:#::4w||CD#oG$66w||DG((1Guw||W5FFqI344m !n Hu 
		(  	"||GLL9!< (7<<78	  $'LL$?$BGM GG-=>s`   I1;JK?1J	K<,K  2K82K<7K88K<?M6,L::2M2,M61M22M6)r   r9   r4   sockettwisted.applicationr   r   r'   twisted.internet.protocolr   twisted.pythonr   r   twisted.runnerr   r   IPPROTO_TCPIPPROTO_UDPprotocolDictr   rG   r   r    r!   <module>rP      sT   
  
  ? 3 % + v))5&2D2DEUemm U,=r    