;ò = ÄDc@sOdkZdkZdklZdefd„ƒYZdefd„ƒYZdS(N(sreactors BasePlugincBsŠtZdZeZeZdZdZd„Z d„Z d„Z d„Z d„Z d„Zd „Zd „Zd „Zd fd „ƒYZRS(s Base Plugin Class i'scsdgˆ_tˆ_|ˆ_‡d†ˆ_ˆiiˆ_ˆiiˆ_ˆii ˆ_ tˆ_ dS(Ncsˆiidˆi|fƒS(Ns%s.%s(sselfscbs registryValuesPROTOCOLss(ss(sself(s./Gateway/gwbase.pys/s( sselfs _connectionssNoneslistenerscbspersonalRegistryValues registryValuesmainRegistryValueslogsgetUsersport(sselfscb((sselfs./Gateway/gwbase.pys__init__*s   cCsZ|iodSn|iƒ|iƒ||i_t|ƒ|_|i|iƒ|_dS(N( sselfsportsfactoryPreinits factoryInitsfactoryscbsints factoryListenslistener(sselfsport((s./Gateway/gwbase.pysstartListening7s    cCsB|idƒo|io|i|ƒSnti||iƒSdS(NsuseSSL(sselfspersonalRegistryValuesUSESSLsfactoryListenSSLsportsreactors listenTCPsfactory(sselfsport((s./Gateway/gwbase.pys factoryListen@scCs/tiƒ}||_ti||i|ƒSdS(N( sgwsslsSBSSLContextFactorysctxsselfscbsreactors listenSSLsportsfactory(sselfsportsctx((s./Gateway/gwbase.pysfactoryListenSSLFs  cCs|iƒdS(N(sselfs portalise(sself((s./Gateway/gwbase.pysfactoryPreinitKscCs±|io£|iiidƒti|iƒ}||_ti |ƒ}ti ƒ}ti ƒ}||_||_||_|i|ƒ|i|ƒ||_||i_ndS(Nsusing a twisted portal.(sselfs PORTALISEscbslogsdebugsgwcredsSBRealms USERCLASSsrsSBPortalsps SBCredCheckerscsSBPublicKeyCheckerspkcsregisterCheckersportals FactoryClass(sselfscspkcspsr((s./Gateway/gwbase.pys portaliseNs          cCsI|iiid|iƒ|ii|ƒ|i|i dƒ|iƒdS(NsNew gateway connection: %ssmotd( sselfscbslogsinfosusershostmasks _connectionssappends sendReplysmainRegistryValue(sselfsuser((s./Gateway/gwbase.pys authorised^scGs|i|Œ|_dS(N(sselfs FactoryClasssargssfactory(sselfsargs((s./Gateway/gwbase.pys factoryInitdscCsFx|iD]}|iƒq W|io|iiƒt|_ndS(N(sselfs _connectionsscscloseslisteners stopListeningsNonesport(sselfsc((s./Gateway/gwbase.pys stopListeninggs    s FactoryCLasscBstZRS(N(s__name__s __module__(((s./Gateway/gwbase.pys FactoryCLassns(s__name__s __module__s__doc__sFalses PORTALISEsTruesUSESSLs DEFAULT_PORTs CAPABILITYs__init__sstartListenings factoryListensfactoryListenSSLsfactoryPreinits portalises authoriseds factoryInits stopListenings FactoryCLass(((s./Gateway/gwbase.pys BasePlugin#s        sBaseUsercBstZd„ZRS(NcCs$|iiƒ|iii|ƒdS(N(sselfsusers clearAuthscbs _connectionssremove(sself((s./Gateway/gwbase.pysclosers (s__name__s __module__sclose(((s./Gateway/gwbase.pysBaseUserqs(sgwsslsgwcredstwisted.internetsreactorsobjects BasePluginsBaseUser(s BasePluginsreactorsgwsslsgwcredsBaseUser((s./Gateway/gwbase.pys?s   N