Showing results for 
Search instead for 
Did you mean: 

Custom tab URLs can break xml config file

Oystein Hunnes
Level 1
Level 1


I think I have uncovered a bug related to custom tabs. When a user adds a custom tab with an URL containing an ampersand (&), the config file will become invalid. The page will load fine in Jabber, but when restarting Jabber, the custom tab will be lost, along with all other custom tabs and possibly other settings as well. The problem seems to be that the URL is not properly encoded before it gets added to the config file which then becomes invalid.

We have created a workaround for our service by changing our URL structure so this is not a problem for us at the moment, but it should probably be fixed in Jabber to prevent problems for other websites. Not sure where to report this bug, but hopefully it will be picked up by someone here.

Tested on Jabber 9.6.1.

Best regards,


3 Replies 3

Cisco Employee
Cisco Employee

This is an xml limitation:

"Your XML can contain only valid XML character entity references. For example, use & instead

of &. If your XML contains invalid characters, the client cannot parse the configuration file"

I'm not talking about users adding tabs by editing the XML file manually - the problem occurs when users add a custom tab using the following method:

Step 1  Select File > New > Custom Tab.

The Create new custom tab dialog opens.

Step 2  Add details for your custom tab in the following fields:

Tab name

Enter an optional name for your custom tab. The name displays when you hover your cursor over the tab.

Page URL
Enter the URL of the content for your custom tab. You can enter one of the following:
  • Hosted content, for example,
  • Local content, for example, file://C:\workspace\page.html

Step 3  Select Create.

The custom tab is added to the main window.


So the problem is that when the user enters a valid URL containing an ampersand, the Jabber client should rewrite it to valid XML before adding it to the XML file, but it doesn't.


I can re-create this. We'll open a defect on this.