<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 4 mrt. 2014, at 10:24, Lars Noschinski <<a href="mailto:lars@public.noschinski.de">lars@public.noschinski.de</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><fieldset style="padding-top: 10px; border: 3px solid rgb(204, 204, 204); padding-left: 20px; position: static; z-index: auto;"><legend style="font-weight:bold">Signed PGP part</legend><div style="padding-left:3px;">On 04.03.2014 11:12, Lars Noschinski wrote:<br>> The following table shows the IQ-replies accepted by P(i)dgin[1],<br>> P(s)i (Task::iqVerify) and P(y)XMPP.<br>><br>> From\to| e<span class="Apple-converted-space"> </span> | l<span class="Apple-converted-space"> </span> | bl<span class="Apple-converted-space"> </span> | dl+s | o<br>> -------+-----+-----+-----+------+----- e<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | isy |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | s<br>> | l<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | isy | isy | s<span class="Apple-converted-space"> </span> | s<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | bl<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | isy | s<span class="Apple-converted-space"> </span> | isy | s<br>> | dl+s<span class="Apple-converted-space"> </span> | isy | s<span class="Apple-converted-space"> </span> | s<span class="Apple-converted-space"> </span> | isy<span class="Apple-converted-space"> </span> | o<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<br>> | isy<br>><br>> Legend e: empty l: local (client) jid bl: bare local jid dl:<br>> domainpart of local jid s: server jid o: other jid<br><br>Originally, in the table above, I made a distinction between<br>"domainpart of the local jid" (dl) and "server jid" (s). In the JDev<br>chatroom, I was told that these should always be the same[1], which is<br>why a put them together. Here is how the table originally looked:<br><br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> From\to | e<span class="Apple-converted-space"> </span> | l<span class="Apple-converted-space"> </span> | bl<span class="Apple-converted-space"> </span> | dl | s<span class="Apple-converted-space"> </span> | o<br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> --------+-----+-----+-----+----+----+-----<br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> e<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | isy |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | s<span class="Apple-converted-space"> </span> |<br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> l<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | isy | isy | s<span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | s<span class="Apple-converted-space"> </span> |<br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> bl<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | isy | s<span class="Apple-converted-space"> </span> | isy |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | s<span class="Apple-converted-space"> </span> |<br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> dl<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | is<span class="Apple-converted-space"> </span> | s<span class="Apple-converted-space"> </span> | s<span class="Apple-converted-space"> </span> | iy | s<span class="Apple-converted-space"> </span> |<br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> s<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | y<span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | iy |<br><span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> o<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> |<span class="Apple-converted-space"> </span> <span class="Apple-converted-space"> </span> | isy<br><br>Pidgin consistently uses dl, while PyXMPP uses s. However, Psi uses a<br>mixture between s and dl, which made me wonder whether there is server<br>software out there, for which there might be a distinction between s<br>and dl?<br><br>[1] I cannot find a rule in RFC6120 which guarentees s == dl, but it<br>might the consensus in interpreting the spec.<br><br><span class="Apple-converted-space"> </span> — Lars</div></fieldset></blockquote><br></div><div>Hello Lars,</div><div><br></div><div><div><div>The changes to Pidgin were proposed for the situations where to=e and</div><div>from=l/dl/s, because those are used by a number of (broken) servers out there.</div><div>I have not seen it necessary to look at the other possiblities in your table,</div><div>except for to=l from=e, which is empty in your table, but should be allowed</div><div>(I've submitted a new patch to Pidgin for this, but it hasn't been accepted</div><div>yet).</div><div><br></div><div>So I think it makes sense to add the rule: "if you do use an explicit JID,</div><div>that's not your own bare JID, the reply must match exactly".</div><div><br></div><div>Best regards,</div><div>Thijs</div></div></div><br></body></html>