Uname: Linux server.digisquadtech.com 4.18.0-553.100.1.el8_10.x86_64 #1 SMP Mon Feb 2 04:13:33 EST 2026 x86_64
User: 1091 (madhavfluid)
Group: 1090 (madhavfluid)
Disabled functions: NONE
Safe mode: On[ PHPinfo ]
//usr/lib64/python3.6///__pycache__      ( Reset | Go to )
File Name: smtpd.cpython-36.opt-2.pyc
3

 \@sZddlZddlZddlZddlZddlZddlZddlZddlZddlZddl    m
Z
ddl m Z m Z dddddgZejdZd    ZGd
d d Zead Zd ZdZd$ddZGdddejZGdddejZGdddeZGdddeZGdddeZGdddZddZ e!dkrVe Z"e"j#Z#de#krle#j$dZ%e&e#de%e'e(dgZ)e#e%ddZ#nddl*Z)e+e)e#Z,e,e"j-e"j.fe"j/e"j0fe"j1e"j2dZ3e"j4r2y ddl5Z5Wn.e6k
re7dej8d ej9dYnXe5j:d!d"Z;yej4e;Wn.e<k
r0e7d#ej8d ej9dYnXy ej=Wne>k
rTYnXdS)%N)warn) get_addr_specget_angle_addr SMTPChannel
SMTPServerDebuggingServer    PureProxy MailmanProxyzPython SMTP proxy version 0.3c@seZdZddZddZdS)DevnullcCsdS)N)selfmsgr r /usr/lib64/python3.6/smtpd.pywritefsz Devnull.writecCsdS)Nr )r r r rflushgsz Devnull.flushN)__name__
__module__ __qualname__rrr r r rr
esr

z, icCs4ttttjd|r&t|tjdtj|dS)N)file)print__doc__globalssysstderrexit)coder r r rusagepsrc@seZdZdZdZdZejefddZe    ddZ
e dd    d    fd
d Z d d Z ddZe    ddZejddZe    ddZejddZe    ddZejddZe    ddZejddZe    ddZejddZe    dd Zejd!d Ze    d"d#Zejd$d#Ze    d%d&Zejd'd&Ze    d(d)Zejd*d)Ze    d+d,Zejd-d,Ze    d.d/Zejd0d/Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dS)SrricCs|S)Nr )xr r r<lambda>|szSMTPChannel.<lambda>c Cs*yt|jjStk
r$|jSXdS)N)maxcommand_size_limitsvalues
ValueErrorcommand_size_limit)r r r rmax_command_size_limit~sz"SMTPChannel.max_command_size_limitNFc    Cstjj|||d||_||_||_||_||_||_|rF|rFt    d|rdd|_
d|_ d|_ t |_nd|_
d|_ td|_ d    |_|jd|_d
|_|jjtj|_y|j|_Wn:tk
r}z|j|jd tjkrdSd}~XnXtd t |jt!d |j"d|jt#fdS)N)mapzFdecode_data and enable_SMTPUTF8 cannot be set to True at the same timerz
.s
.
FrzPeer:)rz    220 %s %s)$asynchat
async_chat__init__ smtp_serverconnaddrdata_size_limitenable_SMTPUTF8 _decode_datar% _emptystring_linesep_dotsepNEWLINE_newlineord_set_rset_state seen_greeting extended_smtpr#clearsocketZgetfqdnfqdnZ getpeernamepeerOSErrorcloseargserrnoZENOTCONNrrepr DEBUGSTREAMpush __version__)    r Zserverr1r2r3r(r4 decode_dataerrr r rr/s@


zSMTPChannel.__init__cCs.|j|_d|_g|_d|_d|_|jddS)NFrs
)COMMAND
smtp_statemailfromrcpttosrequire_SMTPUTF8    num_bytesset_terminator)r r r r_set_post_data_states z SMTPChannel._set_post_data_statecCs|jd|_g|_dS)Nr)rT received_datareceived_lines)r r r rr<szSMTPChannel._set_rset_statecCstdtd|jS)NzTAccess to __server attribute on SMTPChannel is deprecated, use 'smtp_server' instead)rDeprecationWarningr0)r r r r__serverszSMTPChannel.__servercCstdtd||_dS)NzRSetting __server attribute on SMTPChannel is deprecated, set 'smtp_server' insteadrW)rrXr0)r valuer r rrYscCstdtd|jS)NzUAccess to __line attribute on SMTPChannel is deprecated, use 'received_lines' insteadrW)rrXrV)r r r r__lineszSMTPChannel.__linecCstdtd||_dS)NzSSetting __line attribute on SMTPChannel is deprecated, set 'received_lines' insteadrW)rrXrV)r rZr r rr[scCstdtd|jS)NzRAccess to __state attribute on SMTPChannel is deprecated, use 'smtp_state' insteadrW)rrXrN)r r r r__stateszSMTPChannel.__statecCstdtd||_dS)NzPSetting __state attribute on SMTPChannel is deprecated, set 'smtp_state' insteadrW)rrXrN)r rZr r rr\scCstdtd|jS)NzXAccess to __greeting attribute on SMTPChannel is deprecated, use 'seen_greeting' insteadrW)rrXr=)r r r r
__greetingszSMTPChannel.__greetingcCstdtd||_dS)NzVSetting __greeting attribute on SMTPChannel is deprecated, set 'seen_greeting' insteadrW)rrXr=)r rZr r rr]scCstdtd|jS)NzSAccess to __mailfrom attribute on SMTPChannel is deprecated, use 'mailfrom' insteadrW)rrXrO)r r r r
__mailfromszSMTPChannel.__mailfromcCstdtd||_dS)NzQSetting __mailfrom attribute on SMTPChannel is deprecated, set 'mailfrom' insteadrW)rrXrO)r rZr r rr^scCstdtd|jS)NzQAccess to __rcpttos attribute on SMTPChannel is deprecated, use 'rcpttos' insteadrW)rrXrP)r r r r    __rcpttosszSMTPChannel.__rcpttoscCstdtd||_dS)NzOSetting __rcpttos attribute on SMTPChannel is deprecated, set 'rcpttos' insteadrW)rrXrP)r rZr r rr_scCstdtd|jS)NzTAccess to __data attribute on SMTPChannel is deprecated, use 'received_data' insteadrW)rrXrU)r r r r__dataszSMTPChannel.__datacCstdtd||_dS)NzRSetting __data attribute on SMTPChannel is deprecated, set 'received_data' insteadrW)rrXrU)r rZr r rr`scCstdtd|jS)NzKAccess to __fqdn attribute on SMTPChannel is deprecated, use 'fqdn' insteadrW)rrXrA)r r r r__fqdn
szSMTPChannel.__fqdncCstdtd||_dS)NzISetting __fqdn attribute on SMTPChannel is deprecated, set 'fqdn' insteadrW)rrXrA)r rZr r rrascCstdtd|jS)NzKAccess to __peer attribute on SMTPChannel is deprecated, use 'peer' insteadrW)rrXrB)r r r r__peerszSMTPChannel.__peercCstdtd||_dS)NzISetting __peer attribute on SMTPChannel is deprecated, set 'peer' insteadrW)rrXrB)r rZr r rrbscCstdtd|jS)NzKAccess to __conn attribute on SMTPChannel is deprecated, use 'conn' insteadrW)rrXr1)r r r r__conn szSMTPChannel.__conncCstdtd||_dS)NzISetting __conn attribute on SMTPChannel is deprecated, set 'conn' insteadrW)rrXr1)r rZr r rrc%scCstdtd|jS)NzKAccess to __addr attribute on SMTPChannel is deprecated, use 'addr' insteadrW)rrXr2)r r r r__addr+szSMTPChannel.__addrcCstdtd||_dS)NzISetting __addr attribute on SMTPChannel is deprecated, set 'addr' insteadrW)rrXr2)r rZr r rrd0scCs&tjj|t|d|jrdnddS)Nz
zutf-8ascii)r-r.rIbytesrQ)r r r r rrI7s
zSMTPChannel.pushcCs|d}|j|jkr|j}n|j|jkr*|j}|r<|j|kr<dS|rR|jt|7_|jrl|jj    t
|dn |jj    |dS)Nzutf-8) rNrMr'DATAr3rRlenr5rVappendstr)r datalimitr r rcollect_incoming_data<s  z!SMTPChannel.collect_incoming_datac Cs|jj|j}tdt|tdg|_|j|jkr|jd}|_|sT|j    ddS|j
sdt |d}|j d}|dkr|j }d}n$|d|j }||ddj}|jr|j|n|j}||kr|j    ddSt|d    |d}|s|j    d
|dS||dS|j|jkr*|j    d d|_dS|jrT|j|jkrT|j    d d|_dSg}xJ|j|jD]:}    |    r|    d|jkr|j|    ddn
|j|    qfW|jj||_|j|j|j|jf}
i} |j
s|j|jd } |j j!|
| } |j"| s|j    dn
|j    | dS)NzData:)rrz500 Error: bad syntaxzutf-8 rz500 Error: line too longZsmtp_z&500 Error: command "%s" not recognizedz451 Internal confusionz552 Error: Too much mail data) mail_options rcpt_optionsz250 OK)#r6joinrVrrGrHrNrMrRrIr5rjfindupperstripr>r#r&getattrrgr3splitr7r8rir:rUrBrOrProrpr0process_messagerT) r lineZszicommandargZmax_szmethodrktextrEkwargsZstatusr r rfound_terminatorLsd






 zSMTPChannel.found_terminatorcCsH|s|jddS|jr&|jddS|j||_|jd|jdS)Nz501 Syntax: HELO hostnamez503 Duplicate HELO/EHLOz250 %s)rIr=r<rA)r r{r r r    smtp_HELOs

zSMTPChannel.smtp_HELOcCs|s|jddS|jr&|jddS|j||_d|_|jd|j|jrr|jd|j|jdd7<|js|jd|jr|jd    |jdd
7<|jd dS) Nz501 Syntax: EHLO hostnamez503 Duplicate HELO/EHLOTz250-%sz 250-SIZE %sMAILz 250-8BITMIMEz 250-SMTPUTF8
z250 HELP)    rIr=r<r>rAr3r#r5r4)r r{r r r    smtp_EHLOs&



zSMTPChannel.smtp_EHLOcCs|r|jdn
|jddS)Nz501 Syntax: NOOPz250 OK)rI)r r{r r r    smtp_NOOPs zSMTPChannel.smtp_NOOPcCs|jd|jdS)Nz221 Bye)rIZclose_when_done)r r{r r r    smtp_QUITs
zSMTPChannel.smtp_QUITcCs0t|}|d|j|kr,||djSdS)Nr)rhrsrt)r keywordr{Zkeylenr r r_strip_command_keywordsz"SMTPChannel._strip_command_keywordcCsF|sdS|jjdr$t|\}}n t|\}}|s<||fS|j|fS)Nr<)rr)lstrip
startswithrrZ    addr_spec)r r{addressrestr r r_getaddrs zSMTPChannel._getaddrcCsNi}xD|D]<}|jd\}}}|j s2|r6| r6dS|r>|nd||<q
W|S)N=T)    partitionisalnum)r paramsresultZparameqrZr r r
_getparamss
zSMTPChannel._getparamscCs|rd}|j}|dkr$|jdq|dkr8|jdq|dkr^d}|jrR||7}|j|q|dkrd    }|jrx||7}|j|q|d
kr|jd q|d kr|jd q|dkr|jdq|dkr|jdq|dkr|jdq|jdn
|jddS)Nz [SP <mail-parameters>]ZEHLOz250 Syntax: EHLO hostnameZHELOz250 Syntax: HELO hostnamerz 250 Syntax: MAIL FROM: <address>ZRCPTz250 Syntax: RCPT TO: <address>rgz250 Syntax: DATAZRSETz250 Syntax: RSETZNOOPz250 Syntax: NOOPZQUITz250 Syntax: QUITZVRFYz250 Syntax: VRFY <address>zD501 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFYzD250 Supported commands: EHLO HELO MAIL RCPT DATA RSET NOOP QUIT VRFY)rsrIr>)r r{ZextendedZlc_argr r r r    smtp_HELPs:          zSMTPChannel.smtp_HELPcCs@|r2|j|\}}|r"|jdq<|jd|n
|jddS)NzB252 Cannot VRFY user, but will accept message and attempt deliveryz502 Could not VRFY %sz501 Syntax: VRFY <address>)rrI)r r{rrr r r    smtp_VRFYs  zSMTPChannel.smtp_VRFYcCs|js|jddStd|tdd}|jr4|d7}|dkrJ|j|dS|jd|}|j|\}}|sv|j|dS|j r|r|j|dS|jr|jddS|jj    |_
|j |j
}|dkr|j|dS|j s|j dd    }|dkr|jd dS|jr>|j d d }|dkr&d|_n|d k    r>|jddS|j dd}|r|jsh|j|dS|jrt||jkr|jddSt|jdkr|jddS||_td|jtd|jddS)Nz503 Error: send HELO firstz    ===> MAIL)rz 501 Syntax: MAIL FROM: <address>z [SP <mail-parameters>]zFROM:z503 Error: nested MAIL commandZBODY7BIT8BITMIMEz1501 Error: BODY can only be one of 7BIT, 8BITMIMEZSMTPUTF8FTz&501 Error: SMTPUTF8 takes no argumentsZSIZEz:552 Error: message size exceeds fixed maximum message sizerz:555 MAIL FROM parameters not recognized or not implementedzsender:z250 OK)rr)r=rIrrHr>rrrOrsrvrorr5popr4rQisdigitr3intrhkeys)r r{    syntaxerrrrZbodysmtputf8sizer r r    smtp_MAILsh

 
 

 
 

 


 



zSMTPChannel.smtp_MAILcCs|js|jddStd|td|js6|jddSd}|jrH|d7}|dkr^|j|dS|jd|}|j|\}}|s|j|dS|j r|r|j|dS|jj    |_
|j |j
}|dkr|j|dSt |j dkr|jd    dS|jj|td
|jtd|jd dS) Nz503 Error: send HELO firstz    ===> RCPT)rz503 Error: need MAIL commandz501 Syntax: RCPT TO: <address>z [SP <mail-parameters>]zTO:rz8555 RCPT TO parameters not recognized or not implementedzrecips:z250 OK)r=rIrrHrOr>rrrsrvrprrhrrPri)r r{rrrr r r    smtp_RCPT7s@


 
 
 

 zSMTPChannel.smtp_RCPTcCs(|r|jddS|j|jddS)Nz501 Syntax: RSETz250 OK)rIr<)r r{r r r    smtp_RSETZs

zSMTPChannel.smtp_RSETcCsZ|js|jddS|js(|jddS|r:|jddS|j|_|jd|jddS)Nz503 Error: send HELO firstz503 Error: need RCPT commandz501 Syntax: DATAs
.
z#354 End data with <CR><LF>.<CR><LF>)r=rIrPrgrNrS)r r{r r r    smtp_DATAas



zSMTPChannel.smtp_DATAcCs|jddS)Nz502 EXPN not implemented)rI)r r{r r r    smtp_EXPNpszSMTPChannel.smtp_EXPN),rrrrMrgr& collections defaultdictr#propertyr'DATA_SIZE_DEFAULTr/rTr<Z_SMTPChannel__serversetterZ_SMTPChannel__lineZ_SMTPChannel__stateZ_SMTPChannel__greetingZ_SMTPChannel__mailfromZ_SMTPChannel__rcpttosZ_SMTPChannel__dataZ_SMTPChannel__fqdnZ_SMTPChannel__peerZ_SMTPChannel__connZ_SMTPChannel__addrrIrmrrrrrrrrrrrrrrrr r r rrws` &               >   # 6#c@s2eZdZeZedddfddZddZddZdS)    rNFc Cs||_||_||_||_||_|r.|r.tdtjj||dyNt    j
|dt    j i}|j |dd|dd|j |j||jdWn|jYn(Xtd|jjtjtj||ftddS)    NzFdecode_data and enable_SMTPUTF8 cannot be set to True at the same time)r(typerrz0%s started at %s
    Local addr: %s
    Remote addr:%s)r)Z
_localaddr _remoteaddrr3r4r5r%asyncore
dispatcherr/r@Z getaddrinfoZ SOCK_STREAMZ create_socketZset_reuse_addrZbindZlistenrDr    __class__rtimectimerH)r Z    localaddrZ
remoteaddrr3r(r4rKZ gai_resultsr r rr/xs*

zSMTPServer.__init__cCs6tdt|td|j||||j|j|j|j}dS)NzIncoming connection from %s)r)rrGrH channel_classr3Z_mapr4r5)r r1r2Zchannelr r rhandle_acceptedszSMTPServer.handle_acceptedcKstdS)N)NotImplementedError)r rBrOrPrkr~r r rrwszSMTPServer.process_message)    rrrrrrr/rrwr r r rrts
 c@seZdZddZddZdS)rcCsrd}|j}x`|D]X}|rP| rPd|d}t|tsDt|jd}t|d}t|tsbt|}t|qWdS)NrzX-Peer: rzutf-8)
splitlines
isinstancerjrGencoder)r rBrkZ    inheaderslinesrxZ
peerheaderr r r_print_message_contents

 

z&DebuggingServer._print_message_contentcKsXtd|r@|jdr&td|d|jdr@td|d|j||tddS)Nz%---------- MESSAGE FOLLOWS ----------rozmail options: %srpzrcpt options: %s
z%------------ END MESSAGE ------------)rgetr)r rBrOrPrkr~r r rrws

 zDebuggingServer.process_messageN)rrrrrwr r r rrscs,eZdZfddZddZddZZS)rcs.d|kr|drtdtt|j||dS)Nr4z$PureProxy does not support SMTPUTF8.)r%superrr/)r rEr~)rr rr/szPureProxy.__init__c    Csh|jd}d}x|D]}|sP|d7}qW|j|d|dtj|}|j|||}td|tddS)Nrrrz
X-Peer: %szwe got some refusals:)r)rvinsertr9rq_deliverrrH)    r rBrOrPrkrryrxrefusedr r rrws

 
zPureProxy.process_messagec Csddl}i}yB|j}|j|jd|jdz|j|||}Wd|jXWn|jk
r}ztdtd|j    }WYdd}~Xnjt
|j fk
r}zHtd|j tdt |dd    }t |dd}    x|D]}
||    f||
<qWWYdd}~XnX|S)
Nrrzgot SMTPRecipientsRefused)rZgotZ    smtp_codeZ
smtp_errorignore)smtplibZSMTPZconnectrZsendmailquitZSMTPRecipientsRefusedrrHZ
recipientsrCZ SMTPExceptionrru) r rOrPrkrrseZerrcodeerrmsgrr r rrs$   
"zPureProxy._deliver)rrrr/rwr __classcell__r r )rrrs cs$eZdZfddZddZZS)r    cs.d|kr|drtdtt|j||dS)Nr4z'MailmanProxy does not support SMTPUTF8.)r%rrr/)r rEr~)rr rr/ szMailmanProxy.__init__cCs:ddlm}ddlm}ddlm}ddlm}g}    x~|D]v}
|
jjdd} | jd} t| dkrhq:| d} t| dkr| d    }nd
}|j    |  s:|d!krq:|    j
|
| |fq:Wx|    D]\}
} }|j |
qWt ddj |td|r|j|||}t d|tdi}||}|j|}|jds2||d<|jdsPtjtj|d<x|    D]\}
} }t d|
td|j| }|s|j| dd}||| <|d
kr|j|d    dn|d kr|j|d    dnh|d kr|j|d    dnN|d kr|j|d    dn4|d"krV|dkrd|d<nd |d<|j|d    dqVWdS)#Nr)StringIO)Utils)Message)MailList@-rWrradminownerrequestrqleavezforwarding recips:rn)rzwe got refusals:fromZFromZdateZDatezsending message to)lock)tolist)Ztoadmin)Ztoowner)Z    torequestZ    subscribeZSubjectZ unsubscribe)rrrrrqr)rqr)iorZMailmanrrrlowerrvrhZ list_existsriremoverrqrHrrrrZEnqueue)r rBrOrPrkrrrrZ    listnamesZrcptZlocalpartsZlistnamerzrZmlistsrr Zmlistr r rrwsd    

  

  







zMailmanProxy.process_message)rrrr/rwrr r )rrr     s c@seZdZdZdZdZdZdS)OptionsTrNF)rrrsetuid    classname
size_limitr4r r r rr_src
!Csty.tjtjdddddddddd    g\}}Wn.tjk
r\}ztd|WYdd}~XnXt}x|D]\}}|d'krtd qj|d(krtttjd qj|d)krd|_    qj|d*kr||_
qj|d+krtj a qj|d,krd|_ qj|d-krjyt|}||_Wqjtd|tj dtjdYqjXqjWt|dkr@d}d}nPt|dkr\|d }d}n4t|d kr||d }|d}ntdd!tj||jd"}    |    d krtdd#||d|    |_yt||    dd|_Wn$tk
rtdd$|YnX|jd"}    |    d kr"tdd%||d|    |_yt||    dd|_Wn$tk
rntdd&|YnX|S).Nrz    nVhc:s:duzclass=Znosetuidversionhelpzsize=debugr-h--helpr-V    --version-n
--nosetuidF-c--class-d--debug-u
--smtputf8T-s--sizezInvalid size: )rzlocalhost:8025z localhost:25rWzInvalid arguments: %s:zBad local spec: %szBad local port: %szBad remote spec: %szBad remote port: %s)rr)rr)rr)rr)rr)rr)rr)getoptrargverrorrrrrJrrrrrHr4rrrh
COMMASPACErqrr    localhost    localportr%
remotehost
remoteport)
ZoptsrEroptionsoptr{Zint_sizeZ    localspecZ
remotespecryr r r    parseargsfsp 
 





r__main__r)r)r4z7Cannot import module "pwd"; try running with -n option.)rnobodyrWz3Cannot setuid "nobody"; try running with -n option.)r)?rosrFrrr@rr-rwarningsrZemail._header_value_parserrr__all__rZprogramrJr
rHr9rrrr.rrrrrr    rrrrrrfindZlastdot
__import__rlocalsmodrruZclass_rrrrrr4proxyrpwd ImportErrorrrrgetpwnamrPermissionErrorZloopKeyboardInterruptr r r r<module>Psv 

M-SB



 
  

All system for education purposes only. For more tools: Telegram @jackleet

Mr.X Private Shell

Logo
-
New File | New Folder
Command
SQL