On Mon, 2005-12-05 at 08:46 -0500, Daniel Henninger wrote: > Hi folk! > > In all three of the avatar implementation JEPs, you are told to > generate a hash of the "image data". Until now, we have operated > under the assumption that this is a hash of the actual image data, > not of the base64-encoded image data. However, after it was brought > up on our list, it seems that this is not explicitly specified > anywhere. So: > > 1. Are we indeed correct in thinking that it's a hash of the real > image data, not the base64 encoded data?
Seems like most implementations do it this way anyway. > 2. May I request that JEP-0008, JEP-0084, and JEP-0153 all receive > minor updates to clarify this? Of course! Someone should, and I am not the right one. > Thanks! > Daniel > -- Oscar Hellstr?m, [EMAIL PROTECTED] web: personal.oscarh.net jid: [EMAIL PROTECTED] icq: 52604556 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://modevia.com/pipermail/py-transports/attachments/20051206/9c71fc25/attachment.pgp From [EMAIL PROTECTED] Tue Dec 6 09:50:34 2005 From: [EMAIL PROTECTED] (Norman Rasmussen) Date: Tue Dec 6 09:50:42 2005 Subject: [py-transports] Installing PyAIM with Jabber2 In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> odd, what's in the jabberd-router.log file? if you run a tcpdump/tcpflow, is there any data being sent back and forth? On 12/6/05, Eric Langheinrich <[EMAIL PROTECTED]> wrote: > > >run pyaimt with debugging on: > > > >pyaimt -D > > > >and there's bound to be an error in the output somewhere. > > I started up pyaimt with debugging turned on, and I am not seeing an error. > > > > Here is the output: > > WARNING! Only PNG avatars will be understood by this transport. Please > install the Python Imaging Library. > [2005-12-05 17:56:30] Debug logging enabled. > 2005/12/05 17:56 MST [-] Log opened. > [2005-12-05 17:56:30] Config: Created configuration entity > [2005-12-05 17:56:30] Setting config option jid = aim.mydomain.org > [2005-12-05 17:56:30] Setting config option confjid = > chatrooms.aim.mydomain.org > [2005-12-05 17:56:30] Setting config option spooldir = . > [2005-12-05 17:56:30] Setting config option pid = ../PyAIMt.pid > [2005-12-05 17:56:30] Setting config option mainServer = 127.0.0.1 > [2005-12-05 17:56:30] Setting config option mainServerJID = > imgate.mydomain.org > [2005-12-05 17:56:30] Setting config option port = 5347 > [2005-12-05 17:56:30] Setting config option secret = mysecret > [2005-12-05 17:56:30] Setting config option websecret = letmein > [2005-12-05 17:56:30] Setting config option lang = en > [2005-12-05 17:56:30] Setting config option aimServer = login.oscar.aol.com > [2005-12-05 17:56:30] Setting config option aimPort = 5190 > [2005-12-05 17:56:30] Setting config option saslUsername = pyaimt_user > [2005-12-05 17:56:30] Enabling config option useJ2Component > 2005/12/05 17:56 MST [-] > /usr/local/lib/python2.4/site-packages/twisted/web/proxy.py:22: > exceptions.DeprecationWarning: twisted.protocols.http has moved to > twisted.web.http. See http://twistedmatrix.com/projects/web. > [2005-12-05 17:56:30] Using XDB driver xmlfiles > 2005/12/05 17:56 MST [-] /usr/local/src/pyaim-t-svn/src/tlib/domish.py:425: > exceptions.DeprecationWarning: twisted.protocols.sux has moved to > twisted.web.sux. See http://twistedmatrix.com/projects/web. > [2005-12-05 17:56:30] PyTransport: Service starting up > [2005-12-05 17:56:30] ServerDiscovery: Created server discovery manager > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "http://jabber.org/protocol/disco" "None" "aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "http://jabber.org/protocol/disco" "None" "chatrooms.aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "http://jabber.org/protocol/disco" "None" "USER" > [2005-12-05 17:56:30] ServerDiscovery: Adding identity "gateway" "aim" "AIM > Transport" "aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "http://jabber.org/protocol/xhtml-im" "None" "USER" > [2005-12-05 17:56:30] ServerDiscovery: Adding identity "gateway" "aim" "AIM > Transport Chatrooms" "chatrooms.aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding identity "conference" "text" > "AIM Transport Chatrooms" "chatrooms.aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:x:conference" "None" "chatrooms.aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:iq:conference" "None" "chatrooms.aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:iq:register" "<bound method RegisterManager.incomingRegisterIq of > <register.RegisterManager instance at 0x2a9ab79cf8>>" "aim.mydomain.org" > [2005-12-05 17:56:30] RegisterManager: Created > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "http://jabber.org/protocol/commands" "<bound method > AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item > "http://jabber.org/protocol/commands" "<bound method > AdHocCommands.sendCommandList of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_CommandList" "aim.mydomain.org" "True" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:iq:gateway" "<bound method GatewayTranslator.incomingIq of > <misciq.GatewayTranslator instance at 0x2a9ab79dd0>>" "aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:iq:version" "<bound method VersionTeller.incomingIq of > <misciq.VersionTeller instance at 0x2a9ab79e60>>" "aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:iq:version" "<bound method VersionTeller.incomingIq of > <misciq.VersionTeller instance at 0x2a9ab79e60>>" "USER" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support "vcard-temp" > "<bound method VCardFactory.incomingIq of <misciq.VCardFactory instance at > 0x2a9ab86050>>" "USER" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support "vcard-temp" > "<bound method VCardFactory.incomingIq of <misciq.VCardFactory instance at > 0x2a9ab86050>>" "aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "updatemyvcard" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_UpdateMyVCard" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:iq:search" "<bound method SearchFactory.incomingIq of > <misciq.SearchFactory instance at 0x2a9ab860e0>>" "aim.mydomain.org" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "jabber:iq:avatar" "<bound method IqAvatarFactory.incomingIq of > <misciq.IqAvatarFactory instance at 0x2a9ab86170>>" "USER" > [2005-12-05 17:56:30] ServerDiscovery: Adding feature support > "storage:client:avatar" "<bound method IqAvatarFactory.incomingIq of > <misciq.IqAvatarFactory instance at 0x2a9ab86170>>" "USER" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "stats" "<bound > method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_Statistics" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "connectusers" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_ConnectUsers" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "changepassword" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_ChangePassword" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "changeemail" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_ChangeEmail" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "formatscreenname" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_FormatScreenName" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "emaillookup" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_EmailLookup" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "confirmaccount" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_ConfirmAccount" "aim.mydomain.org" "False" > [2005-12-05 17:56:30] ServerDiscovery: Adding node item "aimuritranslate" > "<bound method AdHocCommands.incomingIq of <misciq.AdHocCommands instance at > 0x2a9ab79d40>>" "command_AIMURITranslate" "aim.mydomain.org" "False" > 2005/12/05 17:56 MST [-] Starting factory <sasl.SASLXmlStreamFactory > instance at 0x2a9ab71758> > 2005/12/05 17:56 MST [-] Received SIGINT, shutting down. > [2005-12-05 17:56:38] PyTransport: Service shutting down > [2005-12-05 17:56:41] PyTransport: Disconnected from main Jabberd server > 2005/12/05 17:56 MST [SASLXmlStream,client] <twisted.internet.tcp.Connector > instance at 0x2a9ab86ea8> will retry in 3 seconds > 2005/12/05 17:56 MST [SASLXmlStream,client] Stopping factory > <sasl.SASLXmlStreamFactory instance at 0x2a9ab71758> > 2005/12/05 17:56 MST [-] Main loop terminated. > > _______________________________________________ > py-transports mailing list > py-transports@blathersource.org > http://www.modevia.com/cgi-bin/mailman/listinfo/py-transports > -- - Norman Rasmussen - Email: [EMAIL PROTECTED] - Home page: http://norman.rasmussen.co.za/ From [EMAIL PROTECTED] Tue Dec 6 17:53:26 2005 From: [EMAIL PROTECTED] (Pedro Melo) Date: Tue Dec 6 17:53:39 2005 Subject: [py-transports] PyMSN-t avtar hash In-Reply-To: <[EMAIL PROTECTED]> References: <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> <[EMAIL PROTECTED]> Message-ID: <[EMAIL PROTECTED]> Hello, On Dec 5, 2005, at 6:15 PM, Norman Rasmussen wrote: > and when the hash changes, and you get the vcard, you have to 'assume' > that the presence hash matches the hash of the image data, because > other users _might_ send the same presence. And this is bad why? > FYI: JEP-0153 is a Historical JEP, i.e. it attempts to provide > documentation of a protocol that is already in use within the > Jabber/XMPP community. i.e. When in doubt refer to clients that > implemeted the protocol before the JEP was written. Correct, yet what I'm suggesting will make your client work no matter what other clients do. And is still valid. > in this case a _tiny_ change to gajim, or we change all of: > JEP-0153/Psi/Kopete/iChat/PyMSNt/etc/etc. I all for clarification. We should SHA1 the binary representation of the image always. But I still think that even then you should use the hash blindly. For ex: pyMSNt changes the image format from whatever you send to a PNG. If some other server does the same, you might get it wrong. Best regards, > On 12/5/05, Pedro Melo <[EMAIL PROTECTED]> wrote: >> But is included in the presence. >> >> If the hash is absent from the presence, you should not use the photo >> as avatar, per jep 0153 spec. At least that's my reading of items 1 >> and 2 of section 4.1. >> >> Best regards, >> >> On Dec 5, 2005, at 5:32 PM, Norman Rasmussen wrote: >> >>> Except that the hash is not included in the vCard. >>> >>> On 12/5/05, Pedro Melo <[EMAIL PROTECTED]> wrote: >>>> Hi >>>> >>>> Another solution for this, would be to treat the hash as an opaque >>>> value. >>>> >>>> That means that the client should store the image and the hash that >>>> was used. >>>> >>>> This way, it doesn't matter how the hash was generated. >>>> >>>> Best regards, >>>> >>>> On Dec 5, 2005, at 2:59 PM, Norman Rasmussen wrote: >>>> >>>>> On 12/5/05, Jeff Licquia <[EMAIL PROTECTED]> wrote: >>>>>> >>>>>> Iris (Psi, Kopete) doesn't seem to use the hash at all. I was >>>>>> unable to >>>>>> find other examples of avatar handling in client source. >>>>> >>>>> The Pedrito build of Psi _does_ cache images, you would have to >>>>> check >>>>> the patches applied there to make sure. >>>>> >>>>>> The JEP should probably be clearer on this point. >>>>> >>>>> I have a bone to pick with 'base64' encoding. Some >>>>> implementations >>>>> create a newline after every 64 characters, others don't. Across >>>>> different platforms, these newlines will differ: \n (*nix) vs \r\n >>>>> (win32) vs \r (mac). As an absolute minimum _if_ the hash is >>>>> computed >>>>> using the base64 encoded data, the newlines must be removed. >>>>> >>>>> All this confusion is removed if the hash is computed on the raw >>>>> image >>>>> data. Also it's far simpler to compute the hash on the raw data >>>>> using >>>>> _any_ tool. (i.e. openssl, sha1sum, etc) >>>>> >>>>> -- >>>>> - Norman Rasmussen >>>>> - Email: [EMAIL PROTECTED] >>>>> - Home page: http://norman.rasmussen.co.za/ >>>>> _______________________________________________ >>>>> py-transports mailing list >>>>> py-transports@blathersource.org >>>>> http://www.modevia.com/cgi-bin/mailman/listinfo/py-transports >>>> >>>> -- >>>> HIId: Pedro Melo >>>> SMTP: [EMAIL PROTECTED] >>>> XMPP: [EMAIL PROTECTED] >>>> >>>> _______________________________________________ >>>> py-transports mailing list >>>> py-transports@blathersource.org >>>> http://www.modevia.com/cgi-bin/mailman/listinfo/py-transports >>>> >>> >>> >>> -- >>> - Norman Rasmussen >>> - Email: [EMAIL PROTECTED] >>> - Home page: http://norman.rasmussen.co.za/ >>> _______________________________________________ >>> py-transports mailing list >>> py-transports@blathersource.org >>> http://www.modevia.com/cgi-bin/mailman/listinfo/py-transports >> >> -- >> HIId: Pedro Melo >> SMTP: [EMAIL PROTECTED] >> XMPP: [EMAIL PROTECTED] >> >> _______________________________________________ >> py-transports mailing list >> py-transports@blathersource.org >> http://www.modevia.com/cgi-bin/mailman/listinfo/py-transports >> > > > -- > - Norman Rasmussen > - Email: [EMAIL PROTECTED] > - Home page: http://norman.rasmussen.co.za/ > _______________________________________________ > py-transports mailing list > py-transports@blathersource.org > http://www.modevia.com/cgi-bin/mailman/listinfo/py-transports -- HIId: Pedro Melo SMTP: [EMAIL PROTECTED] XMPP: [EMAIL PROTECTED]