[Tickets #11775] Re: syncml fails - unable to find dtd...
bugs at horde.org
bugs at horde.org
Fri Nov 30 15:26:12 UTC 2012
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/11775
------------------------------------------------------------------------------
Ticket | 11775
Updated By | delrio at mie.utoronto.ca
Summary | syncml fails - unable to find dtd...
Queue | Synchronization
Version | Git master
Type | Bug
State | Unconfirmed
Priority | 2. Medium
Milestone | 5.0.2
Patch |
Owners |
------------------------------------------------------------------------------
delrio at mie.utoronto.ca (2012-11-30 15:26) wrote:
> Message from syslogd at host at Nov 28 20:49:46 ...
> HORDE: [horde] Unable to find dtd for syncml:syncml1.11.2 [pid 2291
> on line 110
> of "/usr/share/php/Horde/Xml/Wbxml/Encoder.php"]
I get the same error using SyncJE for Blackberry.
It seems to be a bug parsing wbxmlVersion in Encoder.php, function
writeHeader($uri).
In some cases, it would add "1.2" to the $uri when it already has
"1.1", resulting in an invalid "1.11.2" version.
The following patches should seems to fix it:
--- Horde/Xml/Wbxml/Encoder.php.orig Wed Oct 31 10:24:43 2012
+++ Horde/Xml/Wbxml/Encoder.php Fri Nov 30 10:02:21 2012
@@ -95,15 +95,8 @@
public function writeHeader($uri)
{
// @todo: this is a hack!
- if ($this->_wbxmlVersion == 2 && !preg_match('/1\.2$/', $uri)) {
- $uri .= '1.2';
- }
- if ($this->_wbxmlVersion == 1 && !preg_match('/1\.1$/', $uri)) {
- $uri .= '1.1';
- }
- if ($this->_wbxmlVersion == 0 && !preg_match('/1\.0$/', $uri)) {
- $uri .= '1.0';
- }
+ if (!preg_match('/1\.[0-9]$/', $uri))
+ $uri .= '1.' . $this->_wbxmlVersion;
$this->_dtd = $this->_dtdManager->getInstanceURI($uri);
Also, I'm not sure why ContentHandler.php forces wbxmlVersion = 2.
--- Horde/Xml/Wbxml/ContentHandler.php.orig Wed Oct 31 10:24:43 2012
+++ Horde/Xml/Wbxml/ContentHandler.php Fri Nov 30 09:58:31 2012
@@ -51,7 +51,7 @@
public function setVersion($v)
{
- $this->_wbxmlVersion = 2;
+ $this->_wbxmlVersion = $v;
}
Hope that helps.
Oscar
More information about the bugs
mailing list