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]

Reply via email to