{"action":"closed","issue":{"url":"https://api.github.com/repos/pontarius/pontarius-xmpp/issues/98","labels_url":"https://api.github.com/repos/pontarius/pontarius-xmpp/issues/98/labels{/name}","comments_url":"https://api.github.com/repos/pontarius/pontarius-xmpp/issues/98/comments","events_url":"https://api.github.com/repos/pontarius/pontarius-xmpp/issues/98/events","html_url":"https://github.com/pontarius/pontarius-xmpp/issues/98","id":121603793,"number":98,"title":"Jid resource part fails on @ and / chars","user":{"login":"haskellGardener","id":1096982,"avatar_url":"https://avatars.githubusercontent.com/u/1096982?v=3","gravatar_id":"","url":"https://api.github.com/users/haskellGardener","html_url":"https://github.com/haskellGardener","followers_url":"https://api.github.com/users/haskellGardener/followers","following_url":"https://api.github.com/users/haskellGardener/following{/other_user}","gists_url":"https://api.github.com/users/haskellGardener/gists{/gist_id}","starred_url":"https://api.github.com/users/haskellGardener/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/haskellGardener/subscriptions","organizations_url":"https://api.github.com/users/haskellGardener/orgs","repos_url":"https://api.github.com/users/haskellGardener/repos","events_url":"https://api.github.com/users/haskellGardener/events{/privacy}","received_events_url":"https://api.github.com/users/haskellGardener/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-12-10T23:44:07Z","updated_at":"2015-12-11T21:20:52Z","closed_at":"2015-12-11T21:20:52Z","body":"Sadly, the XML pickler chokes with 'xmppBind: JID could not be unpickled' if the resource part contains @ or / chars.\r\n\r\nRFC: 6122\r\n  Section  2.4.  Resourcepart\r\n\r\n  XMPP entities SHOULD consider resourceparts to be opaque strings\r\n  and SHOULD NOT impute meaning to any given resourcepart. In particular:\r\n\r\n    Use of the '/' character as a separator between the domainpart and\r\n    the resourcepart does not imply that XMPP addresses are\r\n    hierarchical in the way that, say, HTTP addresses are\r\n    hierarchical; thus for example an XMPP address of the form\r\n    <localpart@domainpart/foo/bar> does not identify a resource \"bar\"\r\n    that exists below a resource \"foo\" in a hierarchy of resources\r\n    associated with the entity \"localpart@domain\".\r\n\r\n    The '@' character is allowed in the resourcepart and is often used\r\n    in the \"nick\" shown in XMPP chatrooms. For example, the JID\r\n    <room@chat.example.com/user@host> describes an entity who is an\r\n    occupant of the room <room@chat.example.com> with an (asserted)\r\n    nick of <user@host>. However, chatroom services do not necessarily\r\n    check such an asserted nick against the occupant's real JID.\r\n   "}}