6.0.0-beta1
7/4/25

[#14323] Active Sync / Jolla + SailfishOS 2.0.1.7: Attachments arrive with 0 Byte file size
Summary Active Sync / Jolla + SailfishOS 2.0.1.7: Attachments arrive with 0 Byte file size
Queue Horde Framework Packages
Type Bug
State No Feedback
Priority 1. Low
Owners mrubinsk (at) horde (dot) org
Requester mike.gabriel (at) das-netzwerkteam (dot) de
Created 04/08/2016 (3374 days ago)
Due
Updated 11/21/2018 (2417 days ago)
Assigned 10/23/2017 (2811 days ago)
Resolved 11/21/2018 (2417 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
11/21/2018 03:16:28 PM Michael Rubinsky State ⇒ No Feedback
 
10/23/2017 01:02:31 PM Michael Rubinsky Comment #9 Reply to this comment
2.
If you have a Sony Experia at hand, I am willing to provide you with 
a (payed for) Sailfish X download link:
https://blog.jolla.com/purchase-download-install-sailfish-x-now/
  Thanks for the offer, but sadly I am unable to find anyone with this 
device for me to borrow.
10/23/2017 01:01:45 PM Michael Rubinsky Comment #8
State ⇒ Feedback
Reply to this comment
Also, a synclog from the Horde server would help as well.
10/23/2017 01:00:37 PM Michael Rubinsky Comment #7 Reply to this comment
thank you for the update.

Unfortunately the wiretrace you pasted  below isn't the full trace. I 
would need the actual *pcap file that wireshark saves.
10/22/2017 02:56:46 PM mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #6 Reply to this comment
third comment...

I use the Kolab v2 Storage backends for mails (which should be IMAP, 
basically). Hope that's not causing the problems.

Furthermore, contact and event syncing work just fine.
10/22/2017 02:54:57 PM mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #5 Reply to this comment
two more side nodes...

1.
The same Sailfish OS device can retrieve attachments from an Exchange 
2016 Server just fine...

2.
If you have a Sony Experia at hand, I am willing to provide you with a 
(payed for) Sailfish X download link:
https://blog.jolla.com/purchase-download-install-sailfish-x-now/

10/22/2017 01:49:33 PM mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #4 Reply to this comment
Hi Michael,

I finally got around to obtaining a tshark sniff. The below sniff 
shows the output produced when downloading the attachment.

The attachment on the device has size 0 after the download. File is 
there, filename is the same as in the email, but no content.

Depending on the attachment size, download takes longer or not so 
long. But file size is always zero.

```
   416 34.396766160 37.123.126.38 ? 148.251.201.105 TCP 544 POST 
/Microsoft-Server-ActiveSync?Cmd=ItemOperations&DeviceId=JP357197069975442&DeviceType=SailfishOS&User=m.gabriel HTTP/1.1  [TCP segment of a reassembled 
PDU]
   417 34.695540106 37.123.126.38 ? 148.251.201.105 HTTP 148 POST 
/Microsoft-Server-ActiveSync?Cmd=ItemOperations&DeviceId=JP357197069975442&DeviceType=SailfishOS&User=m.gabriel HTTP/1.1  (WBXML 1.3, Public ID: "Unknown or missing Public 
Identifier")
   418 35.496193606 148.251.201.105 ? 37.123.126.38 TCP 824 HTTP/1.1 
200 OK  [TCP segment of a reassembled PDU]
   419 35.496495642 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=759 Ack=561 Win=54 Len=2896 TSval=2013337455 
TSecr=953273 [TCP segment of a reassembled PDU]
   420 35.644252692 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=3655 Ack=561 Win=54 Len=2896 TSval=2013337492 
TSecr=953368 [TCP segment of a reassembled PDU]
   421 35.644297205 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=6551 Ack=561 Win=54 Len=2896 TSval=2013337492 
TSecr=953368 [TCP segment of a reassembled PDU]
   422 35.644575807 148.251.201.105 ? 37.123.126.38 TCP 1514 80 ? 
34527 [PSH, ACK] Seq=9447 Ack=561 Win=54 Len=1448 TSval=2013337492 
TSecr=953369 [TCP segment of a reassembled PDU]
   423 35.672690082 148.251.201.105 ? 37.123.126.38 TCP 4410 80 ? 
34527 [ACK] Seq=10895 Ack=561 Win=54 Len=4344 TSval=2013337499 
TSecr=953371 [TCP segment of a reassembled PDU]
   424 35.672845416 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=15239 Ack=561 Win=54 Len=2896 TSval=2013337499 
TSecr=953371 [TCP segment of a reassembled PDU]
   425 35.673511561 148.251.201.105 ? 37.123.126.38 TCP 5858 80 ? 
34527 [ACK] Seq=18135 Ack=561 Win=54 Len=5792 TSval=2013337499 
TSecr=953372 [TCP segment of a reassembled PDU]
   426 35.673755911 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=23927 Ack=561 Win=54 Len=2896 TSval=2013337499 
TSecr=953372 [TCP segment of a reassembled PDU]
   427 35.702089467 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=26823 Ack=561 Win=54 Len=2896 TSval=2013337506 
TSecr=953374 [TCP segment of a reassembled PDU]
   428 35.703228238 148.251.201.105 ? 37.123.126.38 TCP 8754 80 ? 
34527 [ACK] Seq=29719 Ack=561 Win=54 Len=8688 TSval=2013337506 
TSecr=953374 [TCP segment of a reassembled PDU]
   429 35.703498558 148.251.201.105 ? 37.123.126.38 TCP 5858 80 ? 
34527 [ACK] Seq=38407 Ack=561 Win=54 Len=5792 TSval=2013337507 
TSecr=953374 [TCP segment of a reassembled PDU]
   430 35.703534603 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=44199 Ack=561 Win=54 Len=2896 TSval=2013337507 
TSecr=953374 [TCP segment of a reassembled PDU]
   431 35.703982445 148.251.201.105 ? 37.123.126.38 TCP 11650 80 ? 
34527 [ACK] Seq=47095 Ack=561 Win=54 Len=11584 TSval=2013337507 
TSecr=953375 [TCP segment of a reassembled PDU]
   432 35.735189075 148.251.201.105 ? 37.123.126.38 TCP 14546 80 ? 
34527 [ACK] Seq=58679 Ack=561 Win=54 Len=14480 TSval=2013337514 
TSecr=953377 [TCP segment of a reassembled PDU]
   433 35.735243100 148.251.201.105 ? 37.123.126.38 TCP 1514 80 ? 
34527 [ACK] Seq=73159 Ack=561 Win=54 Len=1448 TSval=2013337514 
TSecr=953377 [TCP segment of a reassembled PDU]
   434 35.735283304 148.251.201.105 ? 37.123.126.38 TCP 15994 80 ? 
34527 [ACK] Seq=74607 Ack=561 Win=54 Len=15928 TSval=2013337514 
TSecr=953378 [TCP segment of a reassembled PDU]
   435 35.737925741 148.251.201.105 ? 37.123.126.38 TCP 15994 80 ? 
34527 [ACK] Seq=90535 Ack=561 Win=54 Len=15928 TSval=2013337515 
TSecr=953378 [TCP segment of a reassembled PDU]
   436 35.779003092 148.251.201.105 ? 37.123.126.38 TCP 14546 80 ? 
34527 [ACK] Seq=106463 Ack=561 Win=54 Len=14480 TSval=2013337525 
TSecr=953382 [TCP segment of a reassembled PDU]
   437 35.785665241 148.251.201.105 ? 37.123.126.38 TCP 24682 80 ? 
34527 [ACK] Seq=120943 Ack=561 Win=54 Len=24616 TSval=2013337527 
TSecr=953383 [TCP segment of a reassembled PDU]
   438 35.787290090 148.251.201.105 ? 37.123.126.38 TCP 5858 80 ? 
34527 [PSH, ACK] Seq=145559 Ack=561 Win=54 Len=5792 TSval=2013337527 
TSecr=953383 [TCP segment of a reassembled PDU]
   439 35.807408215 148.251.201.105 ? 37.123.126.38 TCP 20338 80 ? 
34527 [ACK] Seq=151351 Ack=561 Win=54 Len=20272 TSval=2013337533 
TSecr=953385 [TCP segment of a reassembled PDU]
   440 35.815104216 148.251.201.105 ? 37.123.126.38 TCP 10202 80 ? 
34527 [PSH, ACK] Seq=171623 Ack=561 Win=54 Len=10136 TSval=2013337534 
TSecr=953386 [TCP segment of a reassembled PDU]
   441 35.815209871 148.251.201.105 ? 37.123.126.38 TCP 27578 80 ? 
34527 [ACK] Seq=181759 Ack=561 Win=54 Len=27512 TSval=2013337534 
TSecr=953386 [TCP segment of a reassembled PDU]
   442 35.815241271 148.251.201.105 ? 37.123.126.38 TCP 2962 80 ? 
34527 [ACK] Seq=209271 Ack=561 Win=54 Len=2896 TSval=2013337534 
TSecr=953386 [TCP segment of a reassembled PDU]
   443 35.842817290 148.251.201.105 ? 37.123.126.38 TCP 26130 80 ? 
34527 [ACK] Seq=212167 Ack=561 Win=54 Len=26064 TSval=2013337541 
TSecr=953388 [TCP segment of a reassembled PDU]
   444 35.842876281 148.251.201.105 ? 37.123.126.38 TCP 20338 80 ? 
34527 [ACK] Seq=238231 Ack=561 Win=54 Len=20272 TSval=2013337541 
TSecr=953388 [TCP segment of a reassembled PDU]
   445 35.847606921 148.251.201.105 ? 37.123.126.38 TCP 5858 80 ? 
34527 [ACK] Seq=258503 Ack=561 Win=54 Len=5792 TSval=2013337543 
TSecr=953389 [TCP segment of a reassembled PDU]
   446 35.848271851 148.251.201.105 ? 37.123.126.38 TCP 40610 80 ? 
34527 [PSH, ACK] Seq=264295 Ack=561 Win=54 Len=40544 TSval=2013337543 
TSecr=953389 [TCP segment of a reassembled PDU]
   447 35.848452271 148.251.201.105 ? 37.123.126.38 TCP 10202 80 ? 
34527 [ACK] Seq=304839 Ack=561 Win=54 Len=10136 TSval=2013337543 
TSecr=953389 [TCP segment of a reassembled PDU]
   448 35.873400385 148.251.201.105 ? 37.123.126.38 TCP 4410 80 ? 
34527 [ACK] Seq=314975 Ack=561 Win=54 Len=4344 TSval=2013337549 
TSecr=953391 [TCP segment of a reassembled PDU]
   449 35.878064488 148.251.201.105 ? 37.123.126.38 TCP 37714 80 ? 
34527 [ACK] Seq=319319 Ack=561 Win=54 Len=37648 TSval=2013337550 
TSecr=953392 [TCP segment of a reassembled PDU]
   450 35.880463372 148.251.201.105 ? 37.123.126.38 TCP 11650 80 ? 
34527 [ACK] Seq=356967 Ack=561 Win=54 Len=11584 TSval=2013337551 
TSecr=953392 [TCP segment of a reassembled PDU]
   451 35.887889828 148.251.201.105 ? 37.123.126.38 TCP 30474 80 ? 
34527 [ACK] Seq=368551 Ack=561 Win=54 Len=30408 TSval=2013337553 
TSecr=953393 [TCP segment of a reassembled PDU]
   452 35.889894217 148.251.201.105 ? 37.123.126.38 TCP 23234 80 ? 
34527 [PSH, ACK] Seq=398959 Ack=561 Win=54 Len=23168 TSval=2013337553 
TSecr=953393 [TCP segment of a reassembled PDU]
   453 35.901619774 148.251.201.105 ? 37.123.126.38 TCP 15994 80 ? 
34527 [ACK] Seq=422127 Ack=561 Win=54 Len=15928 TSval=2013337556 
TSecr=953394 [TCP segment of a reassembled PDU]
   454 35.912876197 148.251.201.105 ? 37.123.126.38 TCP 8754 80 ? 
34527 [ACK] Seq=438055 Ack=561 Win=54 Len=8688 TSval=2013337559 
TSecr=953395 [TCP segment of a reassembled PDU]
   455 35.926424213 148.251.201.105 ? 37.123.126.38 TCP 30474 80 ? 
34527 [ACK] Seq=446743 Ack=561 Win=54 Len=30408 TSval=2013337562 
TSecr=953397 [TCP segment of a reassembled PDU]
   456 35.930310393 148.251.201.105 ? 37.123.126.38 TCP 5858 80 ? 
34527 [ACK] Seq=477151 Ack=561 Win=54 Len=5792 TSval=2013337563 
TSecr=953397 [TCP segment of a reassembled PDU]
   457 35.936589111 148.251.201.105 ? 37.123.126.38 TCP 39162 80 ? 
34527 [ACK] Seq=482943 Ack=561 Win=54 Len=39096 TSval=2013337565 
TSecr=953398 [TCP segment of a reassembled PDU]
   458 35.948109691 148.251.201.105 ? 37.123.126.38 TCP 21786 80 ? 
34527 [PSH, ACK] Seq=522039 Ack=561 Win=54 Len=21720 TSval=2013337568 
TSecr=953398 [TCP segment of a reassembled PDU]
   459 35.968018925 148.251.201.105 ? 37.123.126.38 TCP 26130 80 ? 
34527 [ACK] Seq=543759 Ack=561 Win=54 Len=26064 TSval=2013337573 
TSecr=953400 [TCP segment of a reassembled PDU]
   460 35.976288482 148.251.201.105 ? 37.123.126.38 TCP 34818 80 ? 
34527 [ACK] Seq=569823 Ack=561 Win=54 Len=34752 TSval=2013337575 
TSecr=953401 [TCP segment of a reassembled PDU]
   461 35.976342569 148.251.201.105 ? 37.123.126.38 TCP 4410 80 ? 
34527 [ACK] Seq=604575 Ack=561 Win=54 Len=4344 TSval=2013337575 
TSecr=953401 [TCP segment of a reassembled PDU]
   462 35.985063881 148.251.201.105 ? 37.123.126.38 TCP 44954 80 ? 
34527 [ACK] Seq=608919 Ack=561 Win=54 Len=44888 TSval=2013337577 
TSecr=953402 [TCP segment of a reassembled PDU]
   463 35.996335588 148.251.201.105 ? 37.123.126.38 TCP 13098 80 ? 
34527 [ACK] Seq=653807 Ack=561 Win=54 Len=13032 TSval=2013337580 
TSecr=953404 [TCP segment of a reassembled PDU]
   464 35.997776021 148.251.201.105 ? 37.123.126.38 TCP 7306 80 ? 
34527 [ACK] Seq=666839 Ack=561 Win=54 Len=7240 TSval=2013337580 
TSecr=953404 [TCP segment of a reassembled PDU]
   465 36.005152348 148.251.201.105 ? 37.123.126.38 TCP 18890 80 ? 
34527 [ACK] Seq=674079 Ack=561 Win=54 Len=18824 TSval=2013337582 
TSecr=953405 [TCP segment of a reassembled PDU]
   466 36.014046482 148.251.201.105 ? 37.123.126.38 TCP 29026 80 ? 
34527 [ACK] Seq=692903 Ack=561 Win=54 Len=28960 TSval=2013337584 
TSecr=953405 [TCP segment of a reassembled PDU]
   467 36.017741246 148.251.201.105 ? 37.123.126.38 TCP 17442 80 ? 
34527 [PSH, ACK] Seq=721863 Ack=561 Win=54 Len=17376 TSval=2013337585 
TSecr=953406 [TCP segment of a reassembled PDU]
   468 36.027926330 148.251.201.105 ? 37.123.126.38 TCP 37714 80 ? 
34527 [ACK] Seq=739239 Ack=561 Win=54 Len=37648 TSval=2013337588 
TSecr=953407 [TCP segment of a reassembled PDU]
   469 36.033859011 148.251.201.105 ? 37.123.126.38 TCP 27578 80 ? 
34527 [ACK] Seq=776887 Ack=561 Win=54 Len=27512 TSval=2013337589 
TSecr=953408 [TCP segment of a reassembled PDU]
   470 36.042458041 148.251.201.105 ? 37.123.126.38 TCP 11650 80 ? 
34527 [ACK] Seq=804399 Ack=561 Win=54 Len=11584 TSval=2013337591 
TSecr=953408 [TCP segment of a reassembled PDU]
   471 36.046412272 148.251.201.105 ? 37.123.126.38 TCP 31922 80 ? 
34527 [ACK] Seq=815983 Ack=561 Win=54 Len=31856 TSval=2013337592 
TSecr=953409 [TCP segment of a reassembled PDU]
   472 36.046451855 148.251.201.105 ? 37.123.126.38 HTTP 456 HTTP/1.1 
200 OK  (application/vnd.ms-sync.multipart)
```

04/19/2016 03:09:13 PM Michael Rubinsky State ⇒ No Feedback
 
04/10/2016 01:55:00 PM Michael Rubinsky Comment #3 Reply to this comment
The emulator from the SailFish SDK only runs the project being 
developed via the SDK. I.e., it's not a full device emulator - it 
doesn't contain any apps, such as the Mail app so I'm unable to test 
using the emulator.

So, without a Jolla device, I'm unable to do anything to help except 
to look at any log or network capture you can provide.
04/08/2016 11:47:17 AM Michael Rubinsky Comment #2
Assigned to Michael Rubinsky
State ⇒ Feedback
Reply to this comment

[Show Quoted Text - 20 lines]
After years of developing the ActiveSync library, I have settled on 
using "Nine" as the main testing platform for Android - it is, by far, 
the most complete and best implementation I have found. I also 
periodically test native Android and Samsung's clients as well. Nine 
is not "non-commercial", but does offer a free trial that should be 
long enough for you to see that attachments work.

I have no experience with Jolla OS and have never tested our 
ActiveSync code against it. If I can easily get an emulator running I 
can look to see if I can reproduce the issue.

To further debug this issue on your end, we need details of the Horde 
-> Device connection. It may also be beneficial to obtain a network 
capture.

To enable debugging, see instructions contained in the ActiveSync 
section of Horde's configuration. Also, see 
http://wiki.horde.org/ActiveSync for more details.

Debugging should not be enabled on a production server,   Attach/post 
only the portion of the log that directly deals with the problem 
reported (it may be simplest to clear the log file and then perform 
the event that causes the error).
04/08/2016 10:55:46 AM mike (dot) gabriel (at) das-netzwerkteam (dot) de Comment #1
Patch ⇒ No
State ⇒ Unconfirmed
Milestone ⇒
Queue ⇒ Horde Framework Packages
Summary ⇒ Active Sync / Jolla + SailfishOS 2.0.1.7: Attachments arrive with 0 Byte file size
Type ⇒ Bug
Priority ⇒ 1. Low
Reply to this comment
Hi,

I have been using Horde's ActiveSync backend with a Jolla Smartphone 
for quite a while now.

The only thing that is bugging me (and it may well be related to the 
Active Sync client implementation on the Jolla phone):

Attachments in mails are shown and can be queued for downloading. The 
download then takes place and it seems that the download time is 
somewhat proportional to the attachment size. (Thus, it seems as if an 
actual download is happening).

But then, downloaded files end up on the Jolla's file system with 0 
Byte of size, thus, I only get empty files.

Any idea how to track this in Horde? Unfortunately, I do not have 
another Active Sync client-capable device at hand. Any recommendation 
for a non-commercial client that I can easily use for testing and as a 
reference?

Thanks+Greets,
Mike

Saved Queries