-í Û„?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„Zzd„Z d„Z …d„Z ˆd„ZÜd„Zßd„Zåd „Z d „Z d „Z(d „ZRS( NicsîMN||_O|tj oP||_n%Qt|dƒ oRt|_nTtiƒ|_ Ut|_ Vd|_ ^d|_ _d|_ `tiƒ|_ag|_bd|_ut|_vt|_x|i||ƒdS(Ns_debugii(saddrsselfsdebugsNones_debugshasattrs __debug__s threadingsLocks(_SizedMessageAsyncConnection__input_locks!_SizedMessageAsyncConnection__inps'_SizedMessageAsyncConnection__input_lens#_SizedMessageAsyncConnection__states&_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          csNz{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 setSessionKeyzscs€|iSdS(N(sselfsaddr(sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pysget_addrscs…†dSdS(Ni((sself((s5/usr/pkg/lib/python2.2/site-packages/ZEO/zrpc/smac.pys __nonzero__…sc sšˆ‰|iiƒŠziŒy|idƒ}Wn@Žtij o.}|dtjo dSn‘‚nX’| o “dSn•|i t |ƒ}–|i }—|i} ™|i}š||jo|›|tjoœ||_nFt|iƒtjož|i|g|_n |ii|ƒ¡||_ ¢dSn¥t|tƒo¦||}n@§|tjo ¨|}n#ª|i|ƒ«di|ƒ}­d}®d}¯xz¯|||joe°||||!} ±||}²| o{³tid| ƒd}´|t@}µ|o¶|tN}·|d7}n!¸|io¹tdƒ‚nºd} n»¼d}½d} È|oŽÉ| d }Ê| d} Ë|i!oVÌ|i!i"| ƒÍ|i!i#ƒ} Î|| joÏtd | |fƒ‚nnÒ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__inpsinpsNonestypes StringTypesappends isinstancesjoinsoffsetshas_macsmsgsstructsunpacksMAC_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ˆsz                        !  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 || ƒ}û||4ýyþ|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_close scs¹  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_output s(  3  ) % &cs2()|i o*d|_+|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   -    T   $  (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