Ticket #149 (assigned defect)

Opened 1 month ago

Last modified 2 weeks ago

syncml_obex_client fails with Forbidden (0x43) (Nokia E70)

Reported by: noodles Assigned to: bellmich (accepted)
Priority: normal Component: libsyncml
Version: 0.4.6 Severity: major
Keywords: Cc:

Description

This appears to be the same as #143, but is a different model of Nokia so I'm opening a new report as that bug suggests. Still S60v3 however, which I'd expect to be similar to the E65.

Latest SVN build (r482) built on Debian/testing.

$ ./syncml-obex-client -b 00:12:D2:xx:xx:xx 10 --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite" --dumpinfo
connection with device succeeded
Received an Alert for the DS Server at Contacts: Type: 201, Last , Next 20080708T082144Z
Just received a new session with ID 1
Received the DevInf
Session 1 reported final. flushing
Received an transport error: Forbidden (0x43)
Send the output below to the libsyncml developers

========================================
Man: NOKIA
Mod: E70
FirmwareVersion: 
SoftwareVersion: 3.0633.09.04
HardwareVersion: 

ReceiveLimit: 0
MaxObjSize: 0
Connection used: OBEX Client
Identifier: PC Suite

Databases:
DB Locations: Contacts
DB Type: text/x-vcard
DB Slow: 1

Bluetooth: Yes
Wbxml: Yes
SyncML Version: 1.1
SupportsNumberofChanges: Yes
SupportsLargeObjects: Yes

--sync instead of --slow-sync isn't any happier.

Attachments

Thread3079977872-14478.log.gz (22.6 kB) - added by noodles on 07/08/08 16:13:23.
Thread3079980832-14478.log.gz (6.3 kB) - added by noodles on 07/08/08 16:13:59.
Thread3079777168-17473.log.gz (22.6 kB) - added by noodles on 07/08/08 17:49:37.
Thread3079780128-17473.log.gz (6.3 kB) - added by noodles on 07/08/08 17:49:56.
opensync-log.tar.gz (35.6 kB) - added by noodles on 07/09/08 14:26:45.

Change History

07/08/08 15:50:35 changed by bellmich

Can you please create a trace?

mkdir /tmp/syncml
SYNCML_TRACE=/tmp/syncml syncml-obex-client ...
ls /tmp/syncml

Please remove any private data like IMEI from the log files before you send them.

07/08/08 16:13:23 changed by noodles

  • attachment Thread3079977872-14478.log.gz added.

07/08/08 16:13:59 changed by noodles

  • attachment Thread3079980832-14478.log.gz added.

07/08/08 16:14:31 changed by noodles

Sure, done and attached.

07/08/08 16:30:05 changed by bellmich

The sent DevInf? of syncml-obex-client is missing SupportLargeObjs? and SupportNumberOfChanges?.

07/08/08 16:32:49 changed by bellmich

Can you please run syncml-obex-client with --useLargeObjs and --useNumberOfChanges?

07/08/08 17:49:37 changed by noodles

  • attachment Thread3079777168-17473.log.gz added.

07/08/08 17:49:56 changed by noodles

  • attachment Thread3079780128-17473.log.gz added.

07/08/08 17:50:19 changed by noodles

Doesn't appear to make any difference, but traces attached.

(follow-up: ↓ 7 ) 07/08/08 18:15:09 changed by bellmich

  • owner changed from dgollub to bellmich.
  • status changed from new to assigned.

There are two interesting things:

  1. Every location is prefixed with ./. So perhaps you should try to replace Contacts with ./Contacts.
  2. The DevInf is not complete. If you want to test with a complete device information then you must use msynctool together with the SyncML plugin.

(in reply to: ↑ 6 ) 07/08/08 18:25:13 changed by noodles

Replying to bellmich:

1. Every location is prefixed with ./. So perhaps you should try to replace Contacts with ./Contacts.

Doesn't seem to make any difference.

1. The DevInf is not complete. If you want to test with a complete device information then you must use msynctool together with the SyncML plugin.

I originally started out using msynctool/multisync, but that was failing which is why I switched to testing with syncml-obex-client to try and limit the number of variables involved. Would a trace involving msynctool be useful?

07/08/08 18:38:28 changed by bellmich

Yes, a trace from msynctool would be useful but you need

plugins/syncml v3424
libsyncml v484
opensync v3307

... and OSYNC_TRACE=/tmp/syncml should be set too.

07/09/08 14:26:45 changed by noodles

  • attachment opensync-log.tar.gz added.

07/09/08 14:27:20 changed by noodles

Alright, found some time to do this (though boy it's a convoluted process to install all the appropriate SVN bits. :P)

07/10/08 10:21:10 changed by bellmich

Sorry, but Daniel (dgollub) actually rolls out a massive update of OpenSync?. Usually I would write: Please install SVN head. Today I always must ask for opensync v3307 and all the other stuff should be SVN latest - except the stuff which is already adapted by Daniel to the new opensync stuff.

So perhaps this changes in two or three weeks if Daniel adapted all interfaces.

Additionally Christian is back from holidays in one or two weeks. This is important because he has an installation which works with Nokia S60 and S80 phones (E51, E65, E9500). It looks for me like a minimal change confused the Nokias.

07/10/08 18:04:31 changed by bellmich

I commited libsyncml v486 some minutes ago to fix some large object support issues. Please wait until tomorrow. I have to adapt the SyncML plugin too and perhaps I find some additional bugs.

07/15/08 15:47:28 changed by noodles

FWIW I tried today (libsyncml v491 and syncml-plugin v3451) but I still get the Forbidden (0x43) error.

07/15/08 16:26:27 changed by bellmich

Christian is still on holiday. He will be back next week. If he's back then we will verify the S60 support.

08/03/08 09:30:54 changed by agittins

I'm using an E71 but receive the same error (let me know if I should be opening a new bug, but since this one is still open, and S60v3, and SVN I figure it's comparable).

Tested today using r522 of libsyncml trunk, on Fedora-8 x86_64. I am running from within the build tree, hence the preload. With syncml-obex-client I get:

SYNCML_TRACE=./ SYNCML_LOG=./ LD_PRELOAD=lib64/libsyncml.so bin/syncml-obex-client -b 00:21:FE:xx:xx:xx 10 --sync text/x-vcard Contacts --identifier "PC Suite" --wbxml --version "1.1" --dumpinfo

Just received a new session with ID 5509715656775848008
connection with device succeeded
Received an Alert for the DS Server at Contacts: Type: 201, Last , Next 20080803T071446Z
Just received a new session with ID 11
session incl. authentication successfully established
Received the DevInf
Session 11 reported final. flushing
Received an transport error: Forbidden (0x43)
Send the output below to the libsyncml developers

========================================
Man: Nokia
Mod: E71
FirmwareVersion:
SoftwareVersion: 100.07.76
HardwareVersion:

ReceiveLimit: 65535
MaxObjSize: 3000000
Connection used: OBEX Client
Identifier: PC Suite

Databases:
DB Locations: Contacts
DB Type: text/x-vcard
DB Slow: 0

Bluetooth: Yes
Wbxml: Yes
SyncML Version: 1.1
SupportsNumberOfChanges: Yes
SupportsLargeObjects: Yes

I can attach logs if they will be useful.

08/05/08 12:33:40 changed by chi70

I verified against, E50, E90 (both Series 60) E9500 (Series 80) and the code is working as expected.

But, there are buggy libwxml implemenations out. Here the Debian Bug. You need to recompile the libwbxml2-0 with the patch attached to the bug. E71 was reported to work with above fix, too.

Christian

(follow-up: ↓ 17 ) 08/05/08 12:35:12 changed by chi70

agittins reported the E71 working with the mentioned patch.

(in reply to: ↑ 16 ) 08/05/08 13:13:07 changed by agittins

Replying to chi70:

agittins reported the E71 working with the mentioned patch.

Yep. For the record, what fixed it for me (on x86_64 fedora-8) was using wbxml2-0.9.2-13.fc8.x86_64 from the updates-testing feed.

This also resolves error 67 on older syncml builds (67 being 0x43 in decimal of course).