Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Pygments / examplefiles / output / test.bro
Size: Mime:
€]q(cpygments.token
_TokenType
qXCommentqXPreprocq†q…qq}q(Xsubtypesqcbuiltins
set
q	]q
…qRqXparentq
hh…q…qq}q(hh	]q(hhhXMultiq†q…qq}q(hh	]q…qRqh
hubhhXHashbangq†q…qq}q(hh	]q …q!Rq"h
hubhhXSingleq#†q$…q%q&}q'(hh	]q(…q)Rq*h
hubhhX
SingleLineq+†q,…q-q.}q/(hh	]q0…q1Rq2h
hubhhXDocq3†q4…q5q6}q7(hh	]q8…q9Rq:h
hubhhX	Directiveq;†q<…q=q>}q?(hh	]q@…qARqBh
hubhhX	MultilineqC†qD…qEqF}qG(hh	]qH…qIRqJh
hubhhX
SinglelineqK†qL…qMqN}qO(hh	]qP…qQRqRh
hubhhXPreprocFileqS†qT…qUqV}qW(hh	]qX…qYRqZh
hubhhXSpecialq[†q\…q]q^}q_(hh	]q`…qaRqbh
hube…qcRqdh
h)…qeqf}qg(hh	]qh(hXEscapeqi…qj…qkql}qm(hh	]qn…qoRqph
hfubhXOperatorqq…qr…qsqt}qu(hh	]qv(hhqXDBSqw†qx…qyqz}q{(hh	]q|…q}Rq~h
htubhhqXWordq†q€…qq‚}qƒ(hh	]q„…q…Rq†h
htube…q‡Rqˆh
hfhh‚hwhzubhXNameq‰…qŠ…q‹qŒ}q(hh	]qŽ(hh‰XTagq†q…q‘q’}q“(hh	]q”…q•Rq–h
hŒubhh‰XEntityq—†q˜…q™qš}q›(hh	]qœhh‰h—hw‡q…qžqŸ}q (hh	]q¡…q¢Rq£h
hšuba…q¤Rq¥h
hŒhwhŸubhh‰X	Exceptionq¦†q§…q¨q©}qª(hh	]q«…q¬Rq­h
hŒubhh‰X	Decoratorq®†q¯…q°q±}q²(hh	]q³…q´Rqµh
hŒubhh‰XClassq¶†q·…q¸q¹}qº(hh	]q»(hh‰h¶hw‡q¼…q½q¾}q¿(hh	]qqÁRqÂh
h¹ubhh‰h¶XStartqÇqąqŁqÆ}qÇ(hh	]qȅqÉRqÊh
h¹ube…qËRqÌh
hŒhÃhÆhwh¾ubhh‰XVariableq͆q΅qρqÐ}qÑ(hh	]qÒ(hh‰hÍX	AnonymousqӇqԅqՁqÖ}q×(hh	]q؅qÙRqÚh
hÐubhh‰hÍh¶‡qۅq܁qÝ}qÞ(hh	]q߅qàRqáh
hÐubhh‰hÍXMagicqâ‡qã…qäqå}qæ(hh	]qç…qèRqéh
hÐubhh‰hÍXGlobalqê‡që…qìqí}qî(hh	]qï…qðRqñh
hÐubhh‰hÍXInstanceqò‡qó…qôqõ}qö(hh	]q÷…qøRqùh
hÐube…qúRqûh
hŒh¶hÝhêhíhòhõhâhåhÓhÖubhh‰X	Attributeqü†qý…qþqÿ}r(hh	]rhh‰hüh͇r…rr}r(hh	]r…rRrh
hÿuba…r	Rr
h
hŒhÍjubhh‰X	Namespacer†r…r
r}r(hh	]r…rRrh
hŒubhh‰XPropertyr†r…rr}r(hh	]r…rRrh
hŒubhh‰XSymbolr†r…rr}r(hh	]r …r!Rr"h
hŒubhh‰XClassesr#†r$…r%r&}r'(hh	]r(…r)Rr*h
hŒubhh‰XPseudor+†r,…r-r.}r/(hh	]r0…r1Rr2h
hŒubhh‰XLabelr3†r4…r5r6}r7(hh	]r8…r9Rr:h
hŒubhh‰hq†r;…r<r=}r>(hh	]r?…r@RrAh
hŒubhh‰XBuiltinrB†rC…rDrE}rF(hh	]rG(hh‰jBj+‡rH…rIrJ}rK(hh	]rL…rMRrNh
jEubhh‰jBXTyperO‡rP…rQrR}rS(hh	]rT…rURrVh
jEube…rWRrXh
hŒj+jJjOjRubhh‰XFieldrY†rZ…r[r\}r](hh	]r^…r_Rr`h
hŒubhh‰XOtherra†rb…rcrd}re(hh	]rfhh‰jaXMemberrg‡rh…rirj}rk(hh	]rl…rmRrnh
jduba…roRrph
hŒjgjjubhh‰XFunctionrq†rr…rsrt}ru(hh	]rvhh‰jqhâ‡rw…rxry}rz(hh	]r{…r|Rr}h
jtuba…r~Rrh
hŒhâjyubhh‰jO†r€…rr‚}rƒ(hh	]r„…r…Rr†h
hŒubhh‰XConstantr‡†rˆ…r‰rŠ}r‹(hh	]rŒ…rRrŽh
hŒube…rRrh
hfhühÿjBjEh¶h¹j‡jŠh®h±h—hšh¦h©jqjtjjj3j6jjjajdhh’hÍhÐjYj\jjj+j.hqj=j#j&jOj‚ubhXLiteralr‘…r’…r“r”}r•(hh	]r–(hj‘ja†r—…r˜r™}rš(hh	]r›…rœRrh
j”ubhj‘XCharrž†rŸ…r r¡}r¢(hh	]r£…r¤Rr¥h
j”ubhj‘XDater¦†r§…r¨r©}rª(hh	]r«…r¬Rr­h
j”ubhj‘XScalarr®†r¯…r°r±}r²(hh	]r³hj‘j®XPlainr´‡rµ…r¶r·}r¸(hh	]r¹…rºRr»h
j±uba…r¼Rr½h
j”j´j·ubhj‘XStringr¾†r¿…rÀrÁ}rÂ(hh	]rÃ(hj‘j¾XInterpolrćrÅ…rƁrÇ}rÈ(hh	]rÉ…rÊRrËh
jÁubhj‘j¾X	DelimeterṙrÍ…r΁rÏ}rÐ(hh	]rÑ…rÒRrÓh
jÁubhj‘j¾jž‡rÔ…rՁrÖ}r×(hh	]rØ…rÙRrÚh
jÁubhj‘j¾j‡rÛ…r܁rÝ}rÞ(hh	]rß…ràRráh
jÁubhj‘j¾h#‡râ…rãrä}rå(hh	]ræ…rçRrèh
jÁubhj‘j¾ja‡ré…rêrë}rì(hh	]rí…rîRrïh
jÁubhj‘j¾XBacktickrð‡rñ…ròró}rô(hh	]rõ…röRr÷h
jÁubhj‘j¾hi‡rø…rùrú}rû(hh	]rü…rýRrþh
jÁubhj‘j¾XRegexrÿ‡r…rr}r(hh	]r…rRrh
jÁubhj‘j¾XMomentr‡r…r	r
}r(hh	]r…r
Rrh
jÁubhj‘j¾XBooleanr‡r…rr}r(hh	]r…rRrh
jÁubhj‘j¾X	Characterr‡r…rr}r(hh	]r…rRrh
jÁubhj‘j¾X	Delimiterr‡r …r!r"}r#(hh	]r$…r%Rr&h
jÁubhj‘j¾h3‡r'…r(r)}r*(hh	]r+…r,Rr-h
jÁubhj‘j¾h‰‡r.…r/r0}r1(hh	]r2…r3Rr4h
jÁubhj‘j¾XAffixr5‡r6…r7r8}r9(hh	]r:…r;Rr<h
jÁubhj‘j¾XHeredocr=‡r>…r?r@}rA(hh	]rB…rCRrDh
jÁubhj‘j¾XDoublerE‡rF…rGrH}rI(hh	]rJ…rKRrLh
jÁubhj‘j¾XInterprM‡rN…rOrP}rQ(hh	]rR…rSRrTh
jÁubhj‘j¾XAtomrU‡rV…rWrX}rY(hh	]rZ…r[Rr\h
jÁube…r]Rr^h
j”j5j8jðjójžjÖjj"h3j)jEjHhijúj=j@jÄjÇjajëjÿjh#jäjjÝjjjj
jMjPjjjÌjÏjUjXh‰j0ubhj‘XNumberr_†r`…rarb}rc(hh	]rd(hj‘j_XFloatre‡rf…rgrh}ri(hh	]rj…rkRrlh
jbubhj‘j_XDecrm‡rn…rorp}rq(hh	]rr…rsRrth
jbubhj‘j_XRadixru‡rv…rwrx}ry(hh	]rz…r{Rr|h
jbubhj‘j_XOctr}‡r~…rr€}r(hh	]r‚…rƒRr„h
jbubhj‘j_XBinr…‡r†…r‡rˆ}r‰(hh	]rŠ…r‹RrŒh
jbubhj‘j_hü‡r…rށr}r(hh	]r‘…r’Rr“h
jbubhj‘j_XHexr”‡r•…r–r—}r˜(hh	]r™…ršRr›h
jbubhj‘j_XIntegerrœ‡r…ržrŸ}r (hh	]r¡h(j‘j_jœXLongr¢tr£…r¤r¥}r¦(hh	]r§…r¨Rr©h
jŸuba…rªRr«h
jbj¢j¥ubhj‘j_XDecimalr¬‡r­…r®r¯}r°(hh	]r±…r²Rr³h
jbube…r´Rrµh
j”j…jˆjejhj”j—jœjŸj}j€jujxhüjj¬j¯jmjpube…r¶Rr·h
hfj¾jÁj_jbj¦j©j®j±jaj™jžj¡ubhXGenericr¸…r¹…rºr»}r¼(hh	]r½(hj¸XErrorr¾†r¿…rÀrÁ}rÂ(hh	]rÃ…rÄRrÅh
j»ubhj¸X
SubheadingrƆrÇ…rȁrÉ}rÊ(hh	]rË…rÌRrÍh
j»ubhj¸X	TracebackrΆrÏ…rЁrÑ}rÒ(hh	]rÓ…rÔRrÕh
j»ubhj¸XOutputrÖ†r×…r؁rÙ}rÚ(hh	]rÛ…rÜRrÝh
j»ubhj¸XPromptrÞ†rß…ràrá}râ(hh	]rã…räRråh
j»ubhj¸XDeletedræ†rç…rèré}rê(hh	]rë…rìRríh
j»ubhj¸XInsertedrî†rï…rðrñ}rò(hh	]ró…rôRrõh
j»ubhj¸XHeadingrö†r÷…rørù}rú(hh	]rû…rüRrýh
j»ubhj¸XStrongrþ†rÿ…rr}r(hh	]r…rRrh
j»ubhj¸XEmphr†r…rr	}r
(hh	]r…rRr
h
j»ube…rRrh
hfjæjéjj	j¾jÁjöjùjîjñjÖjÙjÞjájþjjÆjÉjÎjÑubhj¾…r…rr}r(hh	]r…rRrh
hfubhXKeywordr…r…rr}r(hh	]r(hjh†r…rr}r (hh	]r!…r"Rr#h
jubhjj†r$…r%r&}r'(hh	]r(…r)Rr*h
jubhjjO†r+…r,r-}r.(hh	]r/…r0Rr1h
jubhjXPreProcr2†r3…r4r5}r6(hh	]r7…r8Rr9h
jubhjXControlr:†r;…r<r=}r>(hh	]r?…r@RrAh
jubhjj‡†rB…rCrD}rE(hh	]rF…rGRrHh
jubhjj†rI…rJrK}rL(hh	]rM…rNRrOh
jubhjj+†rP…rQrR}rS(hh	]rT…rURrVh
jubhjXDeclarationrW†rX…rYrZ}r[(hh	]r\…r]Rr^h
jubhjXReservedr_†r`…rarb}rc(hh	]rd…reRrfh
jube…rgRrhh
hfj‡jDjWjZjjKj+jRj_jbjOj-j:j=jj&j2j5hjubhja…ri…rjrk}rl(hh	]rm…rnRroh
hfubhXTextrp…rq…rrrs}rt(hh	]ru(hjpXRootrv†rw…rxry}rz(hh	]r{…r|Rr}h
jsubhjpj†r~…rr€}r(hh	]r‚…rƒRr„h
jsubhjpXRagr…†r†…r‡rˆ}r‰(hh	]rŠ…r‹RrŒh
jsubhjpX
Whitespacer†rŽ…rr}r‘(hh	]r’…r“Rr”h
jsubhjpXBeerr•†r–…r—r˜}r™(hh	]rš…r›Rrœh
jsubhjpXPunctuationr†rž…rŸr }r¡(hh	]r¢…r£Rr¤h
jsube…r¥Rr¦h
hfjjjj€jj jvjyj•j˜j…jˆubhhj…r§…r¨r©}rª(hh	]r«hjX	Indicatorr¬†r­…r®r¯}r°(hh	]r±…r²Rr³h
j©uba…r´Rrµh
hfj¬j¯ube…r¶Rr·jpjshihlj¾jjajkjjh‰hŒj‘j”jj©hqhthhj¸j»XTokenr¸hfj¾jÁj_jbubhhhChFhhhShVh#h&h[h^h;h>h+h.h3h6hhhKhNububX
@load notice
r¹†rºhX@load utils/thresholds
r»†r¼jsX
r½†r¾jXmoduler¿†rÀjsX rÁ†rÂhŒXSSHrÆrÄj©X;rņrÆjsj½†rÇjsj½†rÈjXexportrɆrÊjsjÁ†rËj©X{r̆rÍjsj½†rÎjsX	rφrÐjXredefrцrÒjsjÁ†rÓjXenumrÔ†rÕjsjÁ†rÖhŒXLogr׆rØjX::rÙ†rÚhŒXIDrÛ†rÜjsjÁ†rÝhtX+rÞ†rßhtX=rà†rájsjÁ†râj©j̆rãjsjÁ†rähŒXSSHrå†ræjsjÁ†rçj©X}rè†réj©jņrêjsj½†rëjsj½†rìjsjφríjXredefrî†rïjsjÁ†rðjXenumrñ†ròjsjÁ†róhŒXNoticerô†rõjX::rö†r÷hŒXTyperø†rùjsjÁ†rúhtjÞ†rûhtjà†rüjsjÁ†rýj©j̆rþjsj½†rÿjsX		r†rhŒXLoginr†rj©X,r†rjsj½†rjsX		r†rhŒXPassword_Guessingr	†r
j©j†rjsj½†rjsX		r
†rhŒXLogin_By_Password_Guesserr†rj©j†rjsj½†rjsX		r†rhŒXLogin_From_Interesting_Hostnamer†rj©j†rjsj½†rjsX		r†rhŒXBytecount_Inconsistencyr†rj©j†rjsj½†rjsjφrj©jè†r j©jņr!jsj½†r"jsj½†r#jsjφr$jXtyper%†r&jsjÁ†r'hŒXInfor(†r)htX:r*†r+jsjÁ†r,j-Xrecordr-†r.jsjÁ†r/j©j̆r0jsj½†r1jsX		r2†r3hŒXtsr4†r5htj*†r6jsX              r7†r8j-Xtimer9†r:jsX	         r;†r<j©X&r=†r>jXlogr?†r@j©jņrAjsj½†rBjsX		rC†rDhŒXuidrE†rFhtj*†rGjsX
             rH†rIj-XstringrJ†rKjsX       rL†rMj©j=†rNjXlogrO†rPj©jņrQjsj½†rRjsX		rS†rThŒXidrU†rVhtj*†rWjsX              rX†rYhŒXconn_idrZ†r[jsX      r\†r]j©j=†r^jXlogr_†r`j©jņrajsj½†rbjsX		rc†rdhŒXstatusre†rfhtj*†rgjsX
          rh†rij-Xstringrj†rkjsX       rl†rmj©j=†rnjXlogro†rpjsjÁ†rqj©j=†rrjXoptionalrs†rtj©jņrujsj½†rvjsX		rw†rxhŒX	directionry†rzhtj*†r{jsX       r|†r}j-Xstringr~†rjsX       r€†rj©j=†r‚jXlogrƒ†r„jsjÁ†r…j©j=†r†jXoptionalr‡†rˆj©jņr‰jsj½†rŠjsX		r‹†rŒhŒXremote_locationr†rŽhtj*†rjsjÁ†rhŒXgeo_locationr‘†r’jsjÁ†r“j©j=†r”jXlogr•†r–jsjÁ†r—j©j=†r˜jXoptionalr™†ršj©jņr›jsj½†rœjsX		r†ržhŒXclientrŸ†r htj*†r¡jsX
          r¢†r£j-Xstringr¤†r¥jsX       r¦†r§j©j=†r¨jXlogr©†rªjsjÁ†r«j©j=†r¬jXoptionalr­†r®j©jņr¯jsj½†r°jsX		r±†r²hŒXserverr³†r´htj*†rµjsX
          r¶†r·j-Xstringr¸†r¹jsX       rº†r»j©j=†r¼jXlogr½†r¾jsjÁ†r¿j©j=†rÀjXoptionalrÁ†rÂj©jņrÃjsj½†rÄjsX		rņrÆhŒX	resp_sizerdžrÈhtj*†rÉjsX       rʆrËj-Xcountr̆rÍjsX        rΆrÏj©j=†rÐjXlogrцrÒjsjÁ†rÓj©j=†rÔjXdefaultrÕ†rÖhtjà†r×jhX0r؆rÙj©jņrÚjsj½†rÛjsX		
		r܆rÝh&X6## Indicate if the SSH session is done being watched.
rÞ†rßjsX		rà†ráhŒXdonerâ†rãhtj*†räjsX            rå†ræj-Xboolrç†rèjsX	         ré†rêj©j=†rëjXdefaultrì†ríhtjà†rîjDXFrï†rðj©jņrñjsj½†ròjsjφrój©jè†rôj©jņrõjsj½†röjsj½†r÷jsjφrøjXconstrù†rújsjÁ†rûhŒXpassword_guesses_limitrü†rýjsjÁ†rþhtjà†rÿjsjÁ†rjhX30r†rjsjÁ†rj©j=†rjXredefr†rj©jņrjsj½†rjsX	
	r	†r
h&XB# The size in bytes at which the SSH connection is presumed to be
r†rjsjφr
h&X# successful.
r†rjsjφrjXconstr†rjsjÁ†rhŒXauthentication_data_sizer†rjsjÁ†rhtjà†rjsjÁ†rjhX5500r†rjsjÁ†rj©j=†rjXredefr†rj©jņrjsj½†r jsX	
	r!†r"h&XI# The amount of time to remember presumed non-successful logins to build
r#†r$jsjφr%h&X# model of a password guesser.
r&†r'jsjφr(jXconstr)†r*jsjÁ†r+hŒXguessing_timeoutr,†r-jsjÁ†r.htjà†r/jsjÁ†r0j©X30 minsr1†r2jsjÁ†r3j©j=†r4jXredefr5†r6j©jņr7jsj½†r8jsj½†r9jsjφr:h&XS# The set of countries for which you'd like to throw notices upon successful login
r;†r<jsjφr=h&X0#   requires Bro compiled with libGeoIP support
r>†r?jsjφr@jXconstrA†rBjsjÁ†rChŒXwatched_countriesrD†rEhtj*†rFjsjÁ†rGj-XsetrH†rIj©X[rJ†rKj-XstringrL†rMj©X]rN†rOjsjÁ†rPhtjà†rQjsjÁ†rRj©j̆rSjÁX"rT†rUjÁXROrV†rWjÁjT†rXj©jè†rYjsjÁ†rZj©j=†r[jXredefr\†r]j©jņr^jsj½†r_jsj½†r`jsjφrah&X<# Strange/bad host names to originate successful SSH logins
rb†rcjsjφrdjXconstre†rfjsjÁ†rghŒXinteresting_hostnamesrh†rijsjÁ†rjhtjà†rkjsj½†rljsX			rm†rnjX/ro†rpjX^d?ns[0-9]*rq†rrjX\rs†rtjX.ru†rvjjo†rwjsjÁ†rxhtX|ry†rzjsj½†r{jsX			r|†r}jjo†r~jX^smtp[0-9]*r†r€jjs†rjju†r‚jjo†rƒjsjÁ†r„htjy†r…jsj½†r†jsX			r‡†rˆjjo†r‰jX^mail[0-9]*rІr‹jjs†rŒjju†rjjo†rŽjsjÁ†rhtjy†rjsj½†r‘jsX			r’†r“jjo†r”jX
^pop[0-9]*r•†r–jjs†r—jju†r˜jjo†r™jsX  rš†r›htjy†rœjsj½†rjsX			rž†rŸjjo†r jX^imap[0-9]*r¡†r¢jjs†r£jju†r¤jjo†r¥jsjÁ†r¦htjy†r§jsj½†r¨jsX			r©†rªjjo†r«jX
^www[0-9]*r¬†r­jjs†r®jju†r¯jjo†r°jsX  r±†r²htjy†r³jsj½†r´jsX			rµ†r¶jjo†r·jX
^ftp[0-9]*r¸†r¹jjs†rºjju†r»jjo†r¼jsX  r½†r¾j©j=†r¿jXredefrÀ†rÁj©jņrÂjsj½†rÃjsj½†rÄjsjφrÅh&XH# This is a table with orig subnet as the key, and subnet as the value.
rƆrÇjsjφrÈjXconstrɆrÊjsjÁ†rËhŒXignore_guessersr̆rÍhtj*†rÎjsjÁ†rÏj-XtablerІrÑj©jJ†rÒj-XsubnetrÓ†rÔj©jN†rÕjsjÁ†rÖjXofr׆rØjsjÁ†rÙj-XsubnetrÚ†rÛjsjÁ†rÜj©j=†rÝjXredefrÞ†rßj©jņràjsj½†rájsX	
	râ†rãh&X@# If true, we tell the event engine to not look at further data
rä†råjsjφræh&XB# packets after the initial SSH handshake. Helps with performance
rç†rèjsjφréh&X<# (especially with large file transfers) but precludes some
rê†rëjsjφrìh&X6# kinds of analyses (e.g., tracking connection size).
rí†rîjsjφrïjXconstrð†rñjsjÁ†ròhŒXskip_processing_after_detectionró†rôjsjÁ†rõhtjà†röjsjÁ†r÷jDjï†røjsjÁ†rùj©j=†rújXredefrû†rüj©jņrýjsj½†rþjsX	
	rÿ†rh&X4# Keeps count of how many rejections a host has had
r†rjsjφrjXglobalr†rjsjÁ†rhŒXpassword_rejectionsr†rhtj*†r	jsjÁ†r
j-Xtabler†rj©jJ†r
j-Xaddrr†rj©jN†rjsjÁ†rjXofr†rjsjÁ†rhŒX
TrackCountr†rjsX 
		r†rj©j=†rjXwrite_expirer†rhtjà†rhŒXguessing_timeoutr†rjsj½†rjsX		r †r!j©j=†r"jXsynchronizedr#†r$j©jņr%jsj½†r&jsj½†r'jsjφr(h&X8# Keeps track of hosts identified as guessing passwords
r)†r*jsjφr+h&XH# TODO: guessing_timeout doesn't work correctly here.  If a user redefs
r,†r-jsjφr.h&X,#       the variable, it won't take effect.
r/†r0jsjφr1jXglobalr2†r3jsjÁ†r4hŒXpassword_guessersr5†r6htj*†r7jsjÁ†r8j-Xsetr9†r:j©jJ†r;j-Xaddrr<†r=j©jN†r>jsjÁ†r?j©j=†r@jXread_expirerA†rBhtjà†rChŒXguessing_timeoutrD†rEhtjÞ†rFjhX1rG†rHhŒXhrrI†rJjsjÁ†rKj©j=†rLjXsynchronizedrM†rNj©jņrOjsj½†rPjsX	
	rQ†rRjXglobalrS†rTjsjÁ†rUhŒXlog_sshrV†rWhtj*†rXjsjÁ†rYjXeventrZ†r[j©X(r\†r]hŒXrecr^†r_htj*†r`jsjÁ†rahŒXInforb†rcj©X)rd†rej©jņrfjsj½†rgj©jè†rhjsj½†rijsj½†rjh&X&# Configure DPD and the packet filter
rk†rljXredefrm†rnjsjÁ†rohŒXcapture_filtersrp†rqjsjÁ†rrhtjÞ†rshtjà†rtjsjÁ†ruj©j̆rvjsjÁ†rwj©jJ†rxjÁjT†ryjÁXsshrz†r{jÁjT†r|j©jN†r}jsjÁ†r~htjà†rjsjÁ†r€jÁjT†rjÁXtcp port 22r‚†rƒjÁjT†r„jsjÁ†r…j©jè†r†j©jņr‡jsj½†rˆjXredefr‰†rŠjsjÁ†r‹hŒX
dpd_configrŒ†rjsjÁ†rŽhtjÞ†rhtjà†rjsjÁ†r‘j©j̆r’jsjÁ†r“j©jJ†r”hŒXANALYZER_SSHr•†r–j©jN†r—jsjÁ†r˜htjà†r™jsjÁ†ršj©jJ†r›j©X$rœ†rhŒXportsrž†rŸjsjÁ†r htjà†r¡jsjÁ†r¢j-Xsetr£†r¤j©j\†r¥jbX22/tcpr¦†r§j©jd†r¨j©jN†r©jsjÁ†rªj©jè†r«j©jņr¬jsj½†r­jsj½†r®jXredefr¯†r°jsjÁ†r±j-Xrecordr²†r³jsjÁ†r´hŒX
connectionrµ†r¶jsjÁ†r·htjÞ†r¸htjà†r¹jsjÁ†rºj©j̆r»jsj½†r¼jsjφr½hŒXsshr¾†r¿htj*†rÀjsjÁ†rÁhŒXInfor†rÃjsjÁ†rÄj©j=†rÅjXoptionalrƆrÇj©jņrÈjsj½†rÉj©jè†rÊj©jņrËjsj½†rÌjsj½†rÍjXeventrΆrÏjsjÁ†rÐhŒXbro_initrцrÒj©j\†rÓj©jd†rÔjsj½†rÕj©j̆rÖjsj½†r×jsjφrØhŒXLogrÙ†rÚjX::rÛ†rÜhŒX
create_streamr݆rÞj©j\†rßhŒXSSHrà†ráj©j†râjsjÁ†rãj©jJ†räj©jœ†råhŒXcolumnsræ†rçhtjà†rèhŒXInforé†rêj©j†rëjsjÁ†rìj©jœ†ríhŒXevrî†rïhtjà†rðhŒXlog_sshrñ†ròj©jN†rój©jd†rôj©jņrõjsj½†röj©jè†r÷jsj½†røjsj½†rùjXfunctionrú†rûjsjÁ†rühŒXset_sessionrý†rþj©j\†rÿhŒXcr†rhtj*†rjsjÁ†rhŒX
connectionr†rj©jd†rjsj½†rjsjφrj©j̆r	jsj½†r
jsjφrjXifr†r
jsjÁ†rj©j\†rjsjÁ†rhtX!r†rjsjÁ†rhŒj†rhtX?r†rj©jœ†rhŒXsshr†rjsjÁ†rj©jd†rjsj½†rjsX		r†rj©j̆rjsj½†r jsX		r!†r"jXlocalr#†r$jsjÁ†r%hŒXinfor&†r'htj*†r(jsjÁ†r)hŒXInfor*†r+j©jņr,jsj½†r-jsX		r.†r/hŒXinfor0†r1j©jœ†r2hŒXtsr3†r4htjà†r5hŒXnetwork_timer6†r7j©j\†r8j©jd†r9j©jņr:jsj½†r;jsX		r<†r=hŒXinfor>†r?j©jœ†r@hŒXuidrA†rBhtjà†rChŒj†rDj©jœ†rEhŒXuidrF†rGj©jņrHjsj½†rIjsX		rJ†rKhŒXinforL†rMj©jœ†rNhŒXidrO†rPhtjà†rQhŒj†rRj©jœ†rShŒXidrT†rUj©jņrVjsj½†rWjsX		rX†rYhŒj†rZj©jœ†r[hŒXsshr\†r]jsjÁ†r^htjà†r_jsjÁ†r`hŒXinfora†rbj©jņrcjsj½†rdjsX		re†rfj©jè†rgjsj½†rhjsjφrij©jè†rjjsj½†rkjsj½†rljXfunctionrm†rnjsjÁ†rohŒXcheck_ssh_connectionrp†rqj©j\†rrhŒj†rshtj*†rtjsjÁ†ruhŒX
connectionrv†rwj©j†rxjsjÁ†ryhŒXdonerz†r{htj*†r|jsjÁ†r}j-Xboolr~†rj©jd†r€jsj½†rjsjφr‚j©j̆rƒjsj½†r„jsjφr…h&X1# If done watching this connection, just return.
r††r‡jsjφrˆjXifr‰†rŠjsjÁ†r‹j©j\†rŒjsjÁ†rhŒj†rŽj©jœ†rhŒXsshr†r‘j©jœ†r’hŒXdoner“†r”jsjÁ†r•j©jd†r–jsj½†r—jsX		r˜†r™jXreturnrš†r›j©jņrœjsj½†rjsX	
	rž†rŸh&X@# If this is still a live connection and the byte count has not
r †r¡jsjφr¢h&XP# crossed the threshold, just return and let the resheduled check happen later.
r£†r¤jsjφr¥jXifr¦†r§jsjÁ†r¨j©j\†r©jsjÁ†rªhtj†r«hŒXdoner¬†r­jsjÁ†r®htX&&r¯†r°jsjÁ†r±hŒj†r²j©jœ†r³hŒXrespr´†rµj©jœ†r¶hŒXsizer·†r¸jsjÁ†r¹htX<rº†r»jsjÁ†r¼hŒXauthentication_data_sizer½†r¾jsjÁ†r¿j©jd†rÀjsj½†rÁjsX		r†rÃjXreturnrĆrÅj©jņrÆjsj½†rÇjsj½†rÈjsjφrÉh&XF# Make sure the server has sent back more than 50 bytes to filter out
rʆrËjsjφrÌh&XK# hosts that are just port scanning.  Nothing is ever logged if the server
r͆rÎjsjφrÏh&X'# doesn't send back at least 50 bytes.
rІrÑjsjφrÒjXifrÓ†rÔjsjÁ†rÕj©j\†rÖjsjÁ†r×hŒj†rØj©jœ†rÙhŒXresprÚ†rÛj©jœ†rÜhŒXsizer݆rÞjsjÁ†rßhtjº†ràjsjÁ†rájhX50râ†rãjsjÁ†räj©jd†råjsj½†ræjsX		rç†rèjXreturnré†rêj©jņrëjsj½†rìjsj½†ríjsjφrîjXlocalrï†rðjsjÁ†rñhŒXstatusrò†rójsjÁ†rôhtjà†rõjsjÁ†röjÁjT†r÷jÁXfailurerø†rùjÁjT†rúj©jņrûjsj½†rüjsjφrýjXlocalrþ†rÿjsjÁ†rhŒX	directionr†rjsjÁ†rhtjà†rjsjÁ†rhŒXSiter†rjX::r†r	hŒX
is_local_addrr
†rj©j\†rhŒj†r
j©jœ†rhŒXidr†rj©jœ†rhŒXorig_hr†rj©jd†rjsjÁ†rhtj†rjsjÁ†rjÁjT†rjÁXtor†rjÁjT†rjsjÁ†rhtj*†rjsjÁ†rjÁjT†rjÁXfromr †r!jÁjT†r"j©jņr#jsj½†r$jsjφr%jXlocalr&†r'jsjÁ†r(hŒXlocationr)†r*htj*†r+jsjÁ†r,hŒXgeo_locationr-†r.j©jņr/jsj½†r0jsjφr1hŒXlocationr2†r3jsjÁ†r4htjà†r5jsjÁ†r6j©j\†r7hŒX	directionr8†r9jsjÁ†r:htjà†r;htjà†r<jsjÁ†r=jÁjT†r>jÁXtor?†r@jÁjT†rAj©jd†rBjsjÁ†rChtj†rDjsjÁ†rEhŒXlookup_locationrF†rGj©j\†rHhŒj†rIj©jœ†rJhŒXidrK†rLj©jœ†rMhŒXresp_hrN†rOj©jd†rPjsjÁ†rQhtj*†rRjsjÁ†rShŒXlookup_locationrT†rUj©j\†rVhŒj†rWj©jœ†rXhŒXidrY†rZj©jœ†r[hŒXorig_hr\†r]j©jd†r^j©jņr_jsj½†r`jsX	
	ra†rbjXifrc†rdjsjÁ†rej©j\†rfjsjÁ†rghŒXdonerh†rijsjÁ†rjhtX&&rk†rljsjÁ†rmhŒj†rnj©jœ†rohŒXresprp†rqj©jœ†rrhŒXsizers†rtjsjÁ†ruhtjº†rvjsjÁ†rwhŒXauthentication_data_sizerx†ryjsjÁ†rzj©jd†r{jsj½†r|jsX		r}†r~j©j̆rjsj½†r€jsX		r†r‚h&X# presumed failure
rƒ†r„jsX		r…†r†jXifr‡†rˆjsjÁ†r‰j©j\†rŠjsjÁ†r‹hŒj†rŒj©jœ†rhŒXidrކrj©jœ†rhŒXorig_hr‘†r’jsjÁ†r“htj†r”h‚Xinr•†r–jsjÁ†r—hŒXpassword_rejectionsr˜†r™jsjÁ†ršj©jd†r›jsj½†rœjsX			r†ržhŒXpassword_rejectionsrŸ†r j©jJ†r¡hŒj†r¢j©jœ†r£hŒXidr¤†r¥j©jœ†r¦hŒXorig_hr§†r¨j©jN†r©jsjÁ†rªhtjà†r«jsjÁ†r¬hŒXnew_track_countr­†r®j©j\†r¯j©jd†r°j©jņr±jsj½†r²jsX			
		r³†r´h&X!# Track the number of rejections
rµ†r¶jsX		r·†r¸jXifr¹†rºjsjÁ†r»j©j\†r¼jsjÁ†r½htj†r¾j©j\†r¿hŒj†rÀj©jœ†rÁhŒXidr†rÃj©jœ†rÄhŒXorig_hrņrÆjsjÁ†rÇh‚XinrȆrÉjsjÁ†rÊhŒXignore_guessersrˆrÌjsjÁ†rÍhtX&&rΆrÏjsj½†rÐjsX			       rцrÒhŒj†rÓj©jœ†rÔhŒXidrÕ†rÖj©jœ†r×hŒXresp_hr؆rÙjsjÁ†rÚh‚XinrÛ†rÜjsjÁ†rÝhŒXignore_guessersrÞ†rßj©jJ†ràhŒj†ráj©jœ†râhŒXidrã†räj©jœ†råhŒXorig_hræ†rçj©jN†rèj©jd†réjsjÁ†rêj©jd†rëjsj½†rìjsX			rí†rîhtjÞ†rïhtjÞ†rðhŒXpassword_rejectionsrñ†ròj©jJ†róhŒj†rôj©jœ†rõhŒXidrö†r÷j©jœ†røhŒXorig_hrù†rúj©jN†rûj©jœ†rühŒXnrý†rþj©jņrÿjsj½†r	jsX			
		r	†r	jXifr	†r	jsjÁ†r	j©j\†r	jsjÁ†r	hŒXdefault_check_thresholdr	†r		j©j\†r
	hŒXpassword_rejectionsr	†r	j©jJ†r
	hŒj†r	j©jœ†r	hŒXidr	†r	j©jœ†r	hŒXorig_hr	†r	e(j©jN†r	j©jd†r	jsjÁ†r	j©jd†r	jsj½†r	jsX			r	†r	j©j̆r	jsj½†r	jsX			r	†r	jXaddr 	†r!	jsjÁ†r"	hŒXpassword_guessersr#	†r$	j©jJ†r%	hŒj†r&	j©jœ†r'	hŒXidr(	†r)	j©jœ†r*	hŒXorig_hr+	†r,	j©jN†r-	j©jņr.	jsj½†r/	jsX			r0	†r1	hŒXNOTICEr2	†r3	j©j\†r4	j©jJ†r5	j©jœ†r6	hŒXnoter7	†r8	htjà†r9	hŒXPassword_Guessingr:	†r;	j©j†r<	jsj½†r=	jsX			        r>	†r?	j©jœ†r@	hŒXconnrA	†rB	htjà†rC	hŒj†rD	j©j†rE	jsj½†rF	jsX			        rG	†rH	j©jœ†rI	hŒXmsgrJ	†rK	htjà†rL	hŒXfmtrM	†rN	j©j\†rO	jÁjT†rP	jÁXSSH password guessing by %srQ	†rR	jÁjT†rS	j©j†rT	jsjÁ†rU	hŒj†rV	j©jœ†rW	hŒXidrX	†rY	j©jœ†rZ	hŒXorig_hr[	†r\	j©jd†r]	j©j†r^	jsj½†r_	jsX			        r`	†ra	j©jœ†rb	hŒXsubrc	†rd	htjà†re	hŒXfmtrf	†rg	j©j\†rh	jÁjT†ri	jÁX%d failed loginsrj	†rk	jÁjT†rl	j©j†rm	jsjÁ†rn	hŒXpassword_rejectionsro	†rp	j©jJ†rq	hŒj†rr	j©jœ†rs	hŒXidrt	†ru	j©jœ†rv	hŒXorig_hrw	†rx	j©jN†ry	j©jœ†rz	hŒjý†r{	j©jd†r|	j©j†r}	jsj½†r~	jsX			        r	†r€	j©jœ†r	hŒjý†r‚	htjà†rƒ	hŒXpassword_rejectionsr„	†r…	j©jJ†r†	hŒj†r‡	j©jœ†rˆ	hŒXidr‰	†rŠ	j©jœ†r‹	hŒXorig_hrŒ	†r	j©jN†rŽ	j©jœ†r	hŒjý†r	j©jN†r‘	j©jd†r’	j©jņr“	jsj½†r”	jsX			r•	†r–	j©jè†r—	jsj½†r˜	jsX		r™	†rš	j©jè†r›	jsX 
	rœ	†r	h&XF# TODO: This is to work around a quasi-bug in Bro which occasionally 
rž	†rŸ	jsjφr 	h&X/#       causes the byte count to be oversized.
r¡	†r¢	jsjφr£	h&XM#   Watch for Gregors work that adds an actual counter of bytes transferred.
r¤	†r¥	jsjφr¦	jXelser§	†r¨	jsjÁ†r©	jXifrª	†r«	jsjÁ†r¬	j©j\†r­	jsjÁ†r®	hŒj†r¯	j©jœ†r°	hŒXrespr±	†r²	j©jœ†r³	hŒXsizer´	†rµ	jsjÁ†r¶	htjº†r·	jsjÁ†r¸	jbX20000000r¹	†rº	jsjÁ†r»	j©jd†r¼	jsX 
		r½	†r¾	j©j̆r¿	jsX 
		rÀ	†rÁ	h&X# presumed successful login
rÂ	†rÃ	jsX		rÄ	†rÅ	hŒXstatusrÆ	†rÇ	jsjÁ†rÈ	htjà†rÉ	jsjÁ†rÊ	jÁjT†rË	jÁXsuccessrÌ	†rÍ	jÁjT†rÎ	j©jņrÏ	jsj½†rÐ	jsX		rÑ	†rÒ	hŒj†rÓ	j©jœ†rÔ	hŒXsshrÕ	†rÖ	j©jœ†r×	hŒXdonerØ	†rÙ	jsjÁ†rÚ	htjà†rÛ	jsjÁ†rÜ	jDXTrÝ	†rÞ	j©jņrß	jsj½†rà	jsj½†rá	jsX		râ	†rã	jXifrä	†rå	jsjÁ†ræ	j©j\†rç	jsjÁ†rè	hŒj†ré	j©jœ†rê	hŒXidrë	†rì	j©jœ†rí	hŒXorig_hrî	†rï	jsjÁ†rð	h‚Xinrñ	†rò	jsjÁ†ró	hŒXpassword_rejectionsrô	†rõ	jsjÁ†rö	htX&&r÷	†rø	jsj½†rù	jsX		     rú	†rû	hŒXpassword_rejectionsrü	†rý	j©jJ†rþ	hŒj†rÿ	j©jœ†r
hŒXidr
†r
j©jœ†r
hŒXorig_hr
†r
j©jN†r
j©jœ†r
hŒjý†r
jsjÁ†r	
htX>r

†r
jsjÁ†r
hŒXpassword_guesses_limitr
†r
jsjÁ†r
htX&&r
†r
jsj½†r
jsX		     r
†r
hŒj†r
j©jœ†r
hŒXidr
†r
j©jœ†r
hŒXorig_hr
†r
jsjÁ†r
htj†r
h‚Xinr
†r
jsjÁ†r 
hŒXpassword_guessersr!
†r"
jsjÁ†r#
j©jd†r$
jsj½†r%
jsX			r&
†r'
j©j̆r(
jsj½†r)
jsX			r*
†r+
jXaddr,
†r-
jsjÁ†r.
hŒXpassword_guessersr/
†r0
j©jJ†r1
hŒj†r2
j©jœ†r3
hŒXidr4
†r5
j©jœ†r6
hŒXorig_hr7
†r8
j©jN†r9
j©jņr:
jsj½†r;
jsX			r<
†r=
hŒXNOTICEr>
†r?
j©j\†r@
j©jJ†rA
j©jœ†rB
hŒXnoterC
†rD
htjà†rE
hŒXLogin_By_Password_GuesserrF
†rG
j©j†rH
jsj½†rI
jsX			        rJ
†rK
j©jœ†rL
hŒXconnrM
†rN
htjà†rO
hŒj†rP
j©j†rQ
jsj½†rR
jsX			        rS
†rT
j©jœ†rU
hŒjý†rV
htjà†rW
hŒXpassword_rejectionsrX
†rY
j©jJ†rZ
hŒj†r[
j©jœ†r\
hŒXidr]
†r^
j©jœ†r_
hŒXorig_hr`
†ra
j©jN†rb
j©jœ†rc
hŒjý†rd
j©j†re
jsj½†rf
jsX			        rg
†rh
j©jœ†ri
hŒXmsgrj
†rk
htjà†rl
hŒXfmtrm
†rn
j©j\†ro
jÁjT†rp
jÁX+Successful SSH login by password guesser %srq
†rr
jÁjT†rs
j©j†rt
jsjÁ†ru
hŒj†rv
j©jœ†rw
hŒXidrx
†ry
j©jœ†rz
hŒXorig_hr{
†r|
j©jd†r}
j©j†r~
jsj½†r
jsX			        r€
†r
j©jœ†r‚
hŒXsubrƒ
†r„
htjà†r…
hŒXfmtr†
†r‡
j©j\†rˆ
jÁjT†r‰
jÁX%d failed loginsrŠ
†r‹
jÁjT†rŒ
j©j†r
jsjÁ†rŽ
hŒXpassword_rejectionsr
†r
j©jJ†r‘
hŒj†r’
j©jœ†r“
hŒXidr”
†r•
j©jœ†r–
hŒXorig_hr—
†r˜
j©jN†r™
j©jœ†rš
hŒjý†r›
j©jd†rœ
j©jN†r
j©jd†rž
j©jņrŸ
jsj½†r 
jsX			r¡
†r¢
j©jè†r£
jsj½†r¤
jsX		
		r¥
†r¦
jXlocalr§
†r¨
jsjÁ†r©
hŒXmessagerª
†r«
jsjÁ†r¬
htjà†r­
jsjÁ†r®
hŒXfmtr¯
†r°
j©j\†r±
jÁjT†r²
jÁXSSH login %s %s r³
†r´
júX\"rµ
†r¶
jÁX%sr·
†r¸
júX\"r¹
†rº
jÁjÁ†r»
júX\"r¼
†r½
jÁX%sr¾
†r¿
júX\"rÀ
†rÁ
jÁX# %f %f %s (triggered with %d bytes)rÂ
†rÃ
jÁjT†rÄ
j©j†rÅ
jsj½†rÆ
jsX		              rÇ
†rÈ
hŒX	directionrÉ
†rÊ
j©j†rË
jsjÁ†rÌ
hŒXlocationrÍ
†rÎ
j©jœ†rÏ
hŒXcountry_coderÐ
†rÑ
j©j†rÒ
jsjÁ†rÓ
hŒXlocationrÔ
†rÕ
j©jœ†rÖ
hŒXregionr×
†rØ
j©j†rÙ
jsjÁ†rÚ
hŒXlocationrÛ
†rÜ
j©jœ†rÝ
hŒXcityrÞ
†rß
j©j†rà
jsj½†rá
jsX		              râ
†rã
hŒXlocationrä
†rå
j©jœ†ræ
hŒXlatituderç
†rè
j©j†ré
jsjÁ†rê
hŒXlocationrë
†rì
j©jœ†rí
hŒX	longituderî
†rï
j©j†rð
jsj½†rñ
jsX		              rò
†ró
hŒX	id_stringrô
†rõ
j©j\†rö
hŒj†r÷
j©jœ†rø
hŒXidrù
†rú
j©jd†rû
j©j†rü
jsjÁ†rý
hŒj†rþ
j©jœ†rÿ
hŒXrespr†rj©jœ†rhŒXsizer†rj©jd†rj©jņrjsj½†rjsX		r†r	hŒXNOTICEr
†rj©j\†rj©jJ†r
j©jœ†rhŒXnoter†rhtjà†rhŒXLoginr†rj©j†rjsj½†rjsX
		        r†rj©jœ†rhŒXconnr†rhtjà†rhŒj†rj©j†rjsj½†rjsX
		        r†r j©jœ†r!hŒXmsgr"†r#htjà†r$hŒXmessager%†r&j©j†r'jsj½†r(jsX
		        r)†r*j©jœ†r+hŒXsubr,†r-htjà†r.hŒXlocationr/†r0j©jœ†r1hŒXcountry_coder2†r3j©jN†r4j©jd†r5j©jņr6jsj½†r7jsX		
		r8†r9h&X?# Check to see if this login came from an interesting hostname
r:†r;jsX		r<†r=jXwhenr>†r?jsjÁ†r@j©j\†rAjsjÁ†rBjXlocalrC†rDjsjÁ†rEhŒXhostnamerF†rGjsjÁ†rHhtjà†rIjsjÁ†rJhŒXlookup_addrrK†rLj©j\†rMhŒj†rNj©jœ†rOhŒXidrP†rQj©jœ†rRhŒXorig_hrS†rTj©jd†rUjsjÁ†rVj©jd†rWjsj½†rXjsX			rY†rZj©j̆r[jsj½†r\jsX			r]†r^jXifr_†r`jsjÁ†raj©j\†rbjsjÁ†rchŒXinteresting_hostnamesrd†rejsjÁ†rfh‚Xinrg†rhjsjÁ†rihŒXhostnamerj†rkjsjÁ†rlj©jd†rmjsj½†rnjsX				ro†rpj©j̆rqjsj½†rrjsX				rs†rthŒXNOTICEru†rvj©j\†rwj©jJ†rxj©jœ†ryhŒXnoterz†r{htjà†r|hŒXLogin_From_Interesting_Hostnamer}†r~j©j†rjsj½†r€jsX				        r†r‚j©jœ†rƒhŒXconnr„†r…htjà†r†hŒj†r‡j©j†rˆjsj½†r‰jsX				        rІr‹j©jœ†rŒhŒXmsgr†rŽhtjà†rhŒXfmtr†r‘j©j\†r’jÁjT†r“jÁXStrange login from %sr”†r•jÁjT†r–j©j†r—jsjÁ†r˜hŒXhostnamer™†ršj©jd†r›j©j†rœjsj½†rjsX				        rž†rŸj©jœ†r hŒXsubr¡†r¢htjà†r£hŒXhostnamer¤†r¥j©jN†r¦j©jd†r§j©jņr¨jsj½†r©jsX				rª†r«j©jè†r¬jsj½†r­jsX			r®†r¯j©jè†r°jsj½†r±jsX			
		r²†r³jXifr´†rµjsjÁ†r¶j©j\†r·jsjÁ†r¸hŒXlocationr¹†rºj©jœ†r»hŒXcountry_coder¼†r½jsjÁ†r¾h‚Xinr¿†rÀjsjÁ†rÁhŒXwatched_countriesr†rÃjsjÁ†rÄj©jd†rÅjsj½†rÆjsX			rdžrÈj©j̆rÉjsj½†rÊjsX			
			rˆrÌj©jè†rÍjsj½†rÎjsX			
		rφrÐj©jè†rÑjsj½†rÒjsjφrÓjXelserÔ†rÕjsjÁ†rÖjXifr׆rØjsjÁ†rÙj©j\†rÚjsjÁ†rÛhŒj†rÜj©jœ†rÝhŒXresprÞ†rßj©jœ†ràhŒXsizerá†râjsjÁ†rãhtj

†rähtjà†råjsjÁ†ræjbX20000000rç†rèjhj؆réjsjÁ†rêj©jd†rëjsX 
		rì†ríj©j̆rîjsj½†rïjsX		rð†rñhŒXNOTICErò†rój©j\†rôj©jJ†rõj©jœ†röhŒXnoter÷†røhtjà†rùhŒXBytecount_Inconsistencyrú†rûj©j†rüjsj½†rýjsX
		        rþ†rÿj©jœ†rhŒXconnr†rhtjà†rhŒj†rj©j†rjsj½†rjsX
		        r†rj©jœ†r	hŒXmsgr
†rhtjà†rjÁjT†r
jÁXEDuring byte counting in SSH analysis, an overly large value was seen.r†rjÁjT†rj©j†rjsj½†rjsX
		        r†rj©jœ†rhŒXsubr†rhtjà†rhŒXfmtr†rj©j\†rjÁjT†rjÁX%dr†rjÁjT†rj©j†r hŒj†r!j©jœ†r"hŒXrespr#†r$j©jœ†r%hŒXsizer&†r'j©jd†r(j©jN†r)j©jd†r*j©jņr+jsj½†r,jsX		r-†r.j©jè†r/jsj½†r0jsj½†r1jsjφr2hŒj†r3j©jœ†r4hŒXsshr5†r6j©jœ†r7hŒXremote_locationr8†r9jsjÁ†r:htjà†r;jsjÁ†r<hŒXlocationr=†r>j©jņr?jsj½†r@jsjφrAhŒj†rBj©jœ†rChŒXsshrD†rEj©jœ†rFhŒXstatusrG†rHjsjÁ†rIhtjà†rJjsjÁ†rKhŒXstatusrL†rMj©jņrNjsj½†rOjsjφrPhŒj†rQj©jœ†rRhŒXsshrS†rTj©jœ†rUhŒX	directionrV†rWjsjÁ†rXhtjà†rYjsjÁ†rZhŒX	directionr[†r\j©jņr]jsj½†r^jsjφr_hŒj†r`j©jœ†rahŒXsshrb†rcj©jœ†rdhŒX	resp_sizere†rfjsjÁ†rghtjà†rhjsjÁ†rihŒj†rjj©jœ†rkhŒXresprl†rmj©jœ†rnhŒXsizero†rpj©jņrqjsj½†rrjsX	
	rs†rthŒXLogru†rvjX::rw†rxhŒXwritery†rzj©j\†r{hŒXSSHr|†r}j©j†r~jsjÁ†rhŒj†r€j©jœ†rhŒXsshr‚†rƒj©jd†r„j©jņr…jsj½†r†jsX	
	r‡†rˆh&XF# Set the "done" flag to prevent the watching event from rescheduling
r‰†rŠjsjφr‹h&X# after detection is done.
rŒ†rjsjφrŽhŒj†rj©jœ†rhŒXsshr‘†r’j©jœ†r“hŒXdoner”†r•j©jņr–jsj½†r—jsX	
	r˜†r™h&XA# Stop watching this connection, we don't care about it anymore.
rš†r›jsjφrœjXifr†ržjsjÁ†rŸj©j\†r jsjÁ†r¡hŒXskip_processing_after_detectionr¢†r£jsjÁ†r¤j©jd†r¥jsj½†r¦jsX		r§†r¨j©j̆r©jsj½†rªjsX		r«†r¬hŒXskip_further_processingr­†r®j©j\†r¯hŒj†r°j©jœ†r±hŒXidr²†r³j©jd†r´j©jņrµjsj½†r¶jsX		r·†r¸hŒXset_record_packetsr¹†rºj©j\†r»hŒj†r¼j©jœ†r½hŒXidr¾†r¿j©j†rÀjsjÁ†rÁjDjï†rÂj©jd†rÃj©jņrÄjsj½†rÅjsX		rÆ†rÇj©jè†rÈjsj½†rÉjsjφrÊj©jè†rËjsj½†rÌjsj½†rÍjXeventrÎ†rÏjsjÁ†rÐhŒXconnection_state_removerÑ†rÒj©j\†rÓhŒj†rÔhtj*†rÕjsjÁ†rÖhŒX
connectionr×†rØj©jd†rÙjsjÁ†rÚj©j=†rÛjXpriorityrÜ†rÝhtjà†rÞhtX-rß†ràjhX5rá†râjsj½†rãjsjφräj©j̆råjsj½†ræjsjφrçjXifrè†réjsjÁ†rêj©j\†rëjsjÁ†rìhŒj†ríhtj†rîj©jœ†rïhŒXsshrð†rñjsjÁ†ròj©jd†rójsj½†rôjsX		rõ†röhŒXcheck_ssh_connectionr÷†røj©j\†rùhŒj†rúj©j†rûjsjÁ†rüjDjÝ	†rýj©jd†rþj©jņrÿjsj½†r
jsjφr
j©jè†r
jsj½†r
jsj½†r
jXeventr
†r
jsjÁ†r
hŒXssh_watcherr
†r	
j©j\†r

hŒj†r
htj*†r
jsjÁ†r

hŒX
connectionr
†r
j©jd†r
jsj½†r
jsjφr
j©j̆r
jsj½†r
jsjφr
jXlocalr
†r
jsjÁ†r
hŒXidr
†r
jsjÁ†r
htjà†r
jsjÁ†r
hŒj†r
j©jœ†r
hŒXidr 
†r!
j©jņr"
jsj½†r#
jsjφr$
h&X;# don't go any further if this connection is gone already!
r%
†r&
jsjφr'
jXifr(
†r)
jsjÁ†r*
j©j\†r+
jsjÁ†r,
htj†r-
hŒXconnection_existsr.
†r/
j©j\†r0
hŒXidr1
†r2
j©jd†r3
jsjÁ†r4
j©jd†r5
jsj½†r6
jsX		r7
†r8
jXreturnr9
†r:
j©jņr;
jsj½†r<
jsj½†r=
jsjφr>
hŒXcheck_ssh_connectionr?
†r@
j©j\†rA
hŒj†rB
j©j†rC
jsjÁ†rD
jDjï†rE
j©jd†rF
j©jņrG
jsj½†rH
jsjφrI
jXifrJ
†rK
jsjÁ†rL
j©j\†rM
jsjÁ†rN
htj†rO
jsjÁ†rP
hŒj†rQ
j©jœ†rR
hŒXsshrS
†rT
j©jœ†rU
hŒXdonerV
†rW
jsjÁ†rX
j©jd†rY
jsj½†rZ
jsX		r[
†r\
jXscheduler]
†r^
jsjÁ†r_
htjކr`
jhX15ra
†rb
hŒXsecsrc
†rd
jsjÁ†re
j©j̆rf
jsjÁ†rg
hŒXssh_watcherrh
†ri
j©j\†rj
hŒj†rk
j©jd†rl
jsjÁ†rm
j©jè†rn
j©jņro
jsj½†rp
jsjφrq
j©jè†rr
jsj½†rs
jsj½†rt
jXeventru
†rv
jsjÁ†rw
hŒXssh_server_versionrx
†ry
j©j\†rz
hŒj†r{
htj*†r|
jsjÁ†r}
hŒX
connectionr~
†r
j©j†r€
jsjÁ†r
hŒXversionr‚
†rƒ
htj*†r„
jsjÁ†r…
j-Xstringr†
†r‡
j©jd†rˆ
jsjÁ†r‰
j©j=†rŠ
jXpriorityr‹
†rŒ
htjà†r
jhjá†rŽ
jsj½†r
jsjφr
j©j̆r‘
jsj½†r’
jsjφr“
hŒXset_sessionr”
†r•
j©j\†r–
hŒj†r—
j©jd†r˜
j©jņr™
jsj½†rš
jsjφr›
hŒj†rœ
j©jœ†r
hŒXsshrž
†rŸ
j©jœ†r 
hŒXserverr¡
†r¢
jsjÁ†r£
htjà†r¤
jsjÁ†r¥
hŒXversionr¦
†r§
j©jņr¨
jsj½†r©
jsjφrª
j©jè†r«
jsj½†r¬
jsX	
r­
†r®
jXeventr¯
†r°
jsjÁ†r±
hŒXssh_client_versionr²
†r³
j©j\†r´
hŒj†rµ
htj*†r¶
jsjÁ†r·
hŒX
connectionr¸
†r¹
j©j†rº
jsjÁ†r»
hŒXversionr¼
†r½
htj*†r¾
jsjÁ†r¿
j-XstringrÀ
†rÁ
j©jd†rÂ
jsjÁ†rÃ
j©j=†rÄ
jXpriorityrÅ
†rÆ
htjà†rÇ
jhjá†rÈ
jsj½†rÉ
jsjφrÊ
j©j̆rË
jsj½†rÌ
jsjφrÍ
hŒXset_sessionrÎ
†rÏ
j©j\†rÐ
hŒj†rÑ
j©jd†rÒ
j©jņrÓ
jsj½†rÔ
jsjφrÕ
hŒj†rÖ
j©jœ†r×
hŒXsshrØ
†rÙ
j©jœ†rÚ
hŒXclientrÛ
†rÜ
jsjÁ†rÝ
htjà†rÞ
jsjÁ†rß
hŒXversionrà
†rá
j©jņrâ
jsj½†rã
jsjφrä
jXschedulerå
†ræ
jsjÁ†rç
htjÞ†rè
jhX15ré
†rê
hŒXsecsrë
†rì
jsjÁ†rí
j©j̆rî
jsjÁ†rï
hŒXssh_watcherrð
†rñ
j©j\†rò
hŒj†ró
j©jd†rô
jsjÁ†rõ
j©jè†rö
j©jņr÷
jsj½†rø
jsjφrù
j©jè†rú
jsj½†rû
e.