require-starttls option may cause XML parse error (not well-formed (invalid token)) - mcabber and perl Net::Jabber can't connect
Bug #537606 reported by
Annihitek
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Jabberd |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
Jabberd versions: 2.2.9 and older
More information about this: http://
My simple solution:
in c2s.xml:
add require-
in line:
<id pemfile=
If require-
Setting require-starttls to 'false' require standard port to connect (default 5222), and cause this bug. But other clients (ex: Psi) works fine.
To post a comment you must log in.
require-starttls option has nothing to do with legacy SSL port 5223. This option enforces STARTTLS encrypted communication on 5222 port. If this option is set the first thing client must do after establishing stream is to begin STARTTLS negotiation (this is signalled by <required/> element of starttls stream feature). No other packets are allowed before STARTTLS negotiation. Unfortunately current implementation has no way of signaling unwanted packets and just drops them. This may trigger the XML parsing error.
The other aspect is that <id ... /> options are triggered by its mere presence, so setting require- starttls= 'false' does not mean what it looks like and the option is on. I know it is confusing, but this is the way the jabberd2 config parser works.