By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release.

Bug 698

Summary: Kopete jabber protocol outdated
Product: TDE Reporter: Kris <krisgamrat>
Component: tdenetworkAssignee: Slávek Banko <slavek.banko>
Status: RESOLVED FIXED    
Severity: minor CC: bugwatch, matrixx-trinity, michele.calgaro, slavek.banko
Priority: P5    
Version: R14.0.0 [Trinity]   
Hardware: All   
OS: Linux   
See Also: http://bugs.pearsoncomputing.net/show_bug.cgi?id=2669
Compiler Version: TDE Version String:
Application Version: Application Name:
Bug Depends on:    
Bug Blocks: 2575    
Attachments: Not force old XMPP protocol
Allow SRV lookup for server+port
Add SASL PLAIN method for authentication
Final patch to prevent startup crashes

Description Kris 2011-11-28 11:03:05 CST
Kopete's Jabber needs updated to support more recent Jabber services such as Facebook Chat.
Comment 1 Timothy Pearson 2011-11-28 11:30:54 CST
A link to the new specification, and possibly what has changed in that specification versus the Kopete-included version would help this bug to get attention.
Comment 2 Kris 2011-11-28 11:38:41 CST
I wouldn't know what changed. I only know what my good friend Google told me, and he/she/it has confirmed it several times :-)

I will try asking Google to fetch me the link later when I have time to do some serious searching. I don't know who maintains the official specs. I'm sure it wouldn't be too hard to hack the protocol out of Kopete for KDE4, though, since it works fine with Facebook (or at least, when I had Facebook).
Comment 3 Kris 2012-02-02 09:34:12 CST
I finally got around to querying Google. I found the official XMPP Standards Foundation site at http://xmpp.org/ . Pointing at "Protocols" in the navigation bar at the top will produce a menu. Here are the links for convenience:
Link from clicking menu: http://xmpp.org/xmpp-protocols/
Protocol Namespaces: http://xmpp.org/xmpp-protocols/protocol-namespaces/
Protocol Stack: http://xmpp.org/xmpp-protocols/xmpp-core/
XMPP Extensions: http://xmpp.org/xmpp-protocols/xmpp-extensions/
Internet Drafts: http://xmpp.org/xmpp-protocols/internet-drafts/
RFCs: http://xmpp.org/xmpp-protocols/rfcs/
Since I'm nowhere near being an expert at XMPP or coding, and don't have a reference to use for comparison, I couldn't say what changed. Hopefully the above links help though.
Comment 4 M@trixX 2015-01-27 04:38:10 CST
The most important are probably:
- Support for DNS SRV queries for server information: decribed in RFC 6120, section 3.2
> workaround: find the target IP address and port manually and fill into the configuration form.

- Support for StartTLS - introduced in RFC 6120, section 5
> workaround: none(?); traditional TLS (not supported everywhere anymore); unencrpyted connection.

These issues are becoming more important with introduction of virtual jabber servers.
Comment 5 Slávek Banko 2016-10-08 14:18:54 CDT
Created attachment 2720 [details]
Not force old XMPP protocol

I have examined the code, and found that kopete enforces the use of an older protocol (XMPP 0.9) in all cases, regardless of whether the user has forced the use of a specific server + port. However, enforcement of an older protocol prevents, for example, use StartTLS. With attached patch is forcing the use of older protocol + server + port only if it is set by the user.
Comment 6 Slávek Banko 2016-10-08 14:20:02 CDT
Created attachment 2721 [details]
Allow SRV lookup for server+port

In order to patch above would work properly, it is necessary to add a lookup for server and port using the SRV record. The second patch from this series adds just this.
Comment 7 Slávek Banko 2016-10-08 14:21:51 CDT
Created attachment 2722 [details]
Add SASL PLAIN method for authentication

When using StartTLS, it is used SASL for authentication. Because communication is already encrypted, SASL PLAIN method can be used. The third patch from this series adds just SASL PLAIN method.
Comment 8 Slávek Banko 2016-10-08 14:22:44 CDT
With patches above is already possible to connect to jabber servers using encrypted communication on port 5222. However, during testing I noticed frequent crash during login. This will require further efforts.
Comment 9 Michele Calgaro 2016-10-15 10:23:05 CDT
Created attachment 2732 [details]
Final patch to prevent startup crashes

This patch avoids crashes at startup.
Comment 10 Slávek Banko 2016-10-15 19:13:20 CDT
Patches pushed to GIT

+ attachment 2721 [details] in hash d2625220 (master) and 8988b1a5 (r14.0.x)

+ attachment 2722 [details] in hash a9aee0e6 (master) and f94fdac5 (r14.0.x)

+ attachment 2720 [details] in hash 2a0baddd (master) and a1ff2d63 (r14.0.x)

+ attachment 2732 [details] in hash d6dc04be (master) and f43fe7ee (r14.0.x)

It seems that the fundamental weaknesses  are now solved. Therefore, I close this bug report. Thank you for your patience!