-í eLç?cs–dZdkZdkZydkZWn" ej o!dkZnX"dkZ#dkZ$dkZ%dk Z &dk l Z (dk l Z lZ)dklZ*dkZ1hdei<dei<deii') and the string itself. The receiver passes the original string to message_input(). This layer also supports an optional message authentication code (MAC). If a session key is present, it uses HMAC-SHA-1 to generate a 20-byte MAC. If a MAC is present, the high-order bit of the length is set to 1 and the MAC immediately follows the length. N(s StringType(slogs short_repr(sDisconnectedErrorii`êlsSizedMessageAsyncConnectioncsÅEtZFeiiZGeiiZIdZKe Z Me e d„Z~d„Z ƒd„Z ‰d„Z Œd„Zãd„Zæd„Zìd „Zd „Zd „Z/d „ZRS( NicsúMN||_O|tj oP||_n%Qt|dƒ oRt|_nTtiƒ|_ Ut|_ Vd|_ ad|_ bd|_ cd|_dtiƒ|_eg|_fd|_yt|_zt|_||i||ƒdS(Ns_debugii(saddrsselfsdebugsNones_debugshasattrs __debug__s threadingsLocks(_SizedMessageAsyncConnection__input_locks!_SizedMessageAsyncConnection__inps'_SizedMessageAsyncConnection__input_lens#_SizedMessageAsyncConnection__states%_SizedMessageAsyncConnection__has_macs&_SizedMessageAsyncConnection__msg_sizes)_SizedMessageAsyncConnection__output_locks$_SizedMessageAsyncConnection__outputs$_SizedMessageAsyncConnection__closeds'_SizedMessageAsyncConnection__hmac_sends'_SizedMessageAsyncConnection__hmac_recvs(_SizedMessageAsyncConnection__super_initssocksmap(sselfssocksaddrsmapsdebug((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys__init__Ms"         csN~td|ƒ€ti|dtƒ|_ti|dtƒ|_dS(Nsset session key %rs digestmod(slogssesskeyshmacsHMACsshasselfs'_SizedMessageAsyncConnection__hmac_sends'_SizedMessageAsyncConnection__hmac_recv(sselfssesskey((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys setSessionKey~scsƒ„|iSdS(N(sselfsaddr(sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pysget_addrƒscs‰ŠdSdS(Ni((sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys __nonzero__‰sc sÉŒ|iiƒŽz˜y‘|idƒ}Wn@’tij o.}“|dtjo ”dSn•‚nX–| o —dSn™|i t |ƒ}š|i }›|i} œ|i}ž|i}Ÿ||jo| |tjo¡||_nF¢t|iƒtjo£|i|g|_n¥|ii|ƒ¦||_ §dSnªt|tƒo«||}n@¬|tjo ­|}n#¯|i|ƒ°di|ƒ}²d}³xš³|||jo…´||||!} µ||}¶| o{·tid| ƒd}¸|t@}¹|oº|tN}»|d7}n!¼|io½t dƒ‚n¾d} nÛÀd}Ád} Ì|oŽÍ| d }Î| d} Ï|i"oVÐ|i"i#| ƒÑ|i"i$ƒ} Ò|| joÓt d | |fƒ‚nnÖt&d ƒn!×|ioØt dƒ‚nÙ|i'| ƒqÏWÛ| |_Ü||_Ý||_ Þ|||_ß|||_ Wdàá|ii(ƒXdS( Ni iss>IisReceived message without MACiisMAC failed: %r != %rs#Received MAC but no session key set()sselfs(_SizedMessageAsyncConnection__input_locksacquiresrecvsdssocketserrorserrsexpected_socket_read_errorss'_SizedMessageAsyncConnection__input_lenslens input_lens&_SizedMessageAsyncConnection__msg_sizesmsg_sizes#_SizedMessageAsyncConnection__statesstates%_SizedMessageAsyncConnection__has_macshas_macs!_SizedMessageAsyncConnection__inpsinpsNonestypes StringTypesappends isinstancesjoinsoffsetsmsgsstructsunpacksMAC_BITs'_SizedMessageAsyncConnection__hmac_sends ValueErrorsmacs'_SizedMessageAsyncConnection__hmac_recvsupdatesdigests_macslogs message_inputsrelease( sselfs input_lensinpshas_macsmacsoffsetsmsg_sizesdserrsstates_macsmsg((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys handle_readŒs€                        !    csãädSdS(Ni((sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pysreadableãscs2æçt|iƒdjo èdSnêdSdS(Nii(slensselfs$_SizedMessageAsyncConnection__output(sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pyswritableæs cslìí|iiƒîz;ï|i}ðx%ð|oùd}úxLtt|ƒƒDú]5}û|t||ƒ7}ü|t joýPnqTWÿ|d7}di || ƒ}||4y|i |ƒ}Wn=tij o+}|dtjoPn ‚nX |t|ƒjo |id||ƒ Pnq+WWd |iiƒXdS(Niis(sselfs)_SizedMessageAsyncConnection__output_locksacquires$_SizedMessageAsyncConnection__outputsoutputslsrangeslensis SEND_SIZEsjoinsvssendsnssocketserrorserrsexpected_socket_write_errorssinsertsrelease(sselfserrsislsnsvsoutput((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys handle_writeìs2       cs|iƒdS(N(sselfsclose(sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys handle_closescs¹toX|ioGtdt|ƒt|ƒ|iodpdfdti ƒnn|i ot dƒ‚n|i i ƒz!|io\"|iitidt|ƒtBƒƒ#|ii|ƒ$|ii|iiƒƒn&&|iitidt|ƒƒƒ't|ƒtjo(|ii|ƒnH*xAtdt|ƒtƒD*]$}+|ii|||t!ƒqrWWd,-|i iƒXdS(Ns#message_output %d bytes: %s hmac=%diislevels*This action is temporarily unavailable.

s>I(s __debug__sselfs_debugslogslensmessages short_reprs'_SizedMessageAsyncConnection__hmac_sendszLOGsTRACEs$_SizedMessageAsyncConnection__closedsDisconnectedErrors)_SizedMessageAsyncConnection__output_locksacquires$_SizedMessageAsyncConnection__outputsappendsstructspacksMAC_BITsupdatesdigests SEND_SIZEsrangesisrelease(sselfsmessagesi((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pysmessage_outputs(  3  ) % &cs2/0|i o1d|_2|iƒndS(Ni(sselfs$_SizedMessageAsyncConnection__closeds)_SizedMessageAsyncConnection__super_close(sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pysclose/s (s__name__s __module__sasyncores dispatchers__init__s(_SizedMessageAsyncConnection__super_initscloses)_SizedMessageAsyncConnection__super_closes$_SizedMessageAsyncConnection__closedsNonessockets setSessionKeysget_addrs __nonzero__s handle_readsreadableswritables handle_writes handle_closesmessage_output(((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pysSizedMessageAsyncConnectionEs   1    W   $  (s__doc__sasyncoreserrnoshmacs ImportErrors_hmacsshassocketsstructs threadingstypess StringTypes ZEO.zrpc.logslogs short_reprsZEO.zrpc.errorsDisconnectedErrorszLOGs EWOULDBLOCKsEAGAINsEINTRstmp_dictstupleskeyssexpected_socket_read_errorssENOBUFSsexpected_socket_write_errorss SEND_SIZEsMAC_BITs dispatchersSizedMessageAsyncConnection(s StringTypes short_reprsasyncoreslogs threadingserrnostmp_dictsstructsDisconnectedErrorsshasMAC_BITsexpected_socket_read_errorssSizedMessageAsyncConnectionszLOGs SEND_SIZEshmacsexpected_socket_write_errorsssocket((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys?s,        -9