Commit Graph

172 Commits

Author SHA1 Message Date
Jörg Lehrke
32639bd47e Major SyncML Calendar update
- SIFE support improved
  - various vCalendar 1.0 issues fixed
  - device specific timezone support for recurring events
  - pseudo exception handling improvements
2010-01-29 21:42:54 +00:00
Jörg Lehrke
21a2cab5a8 Fix session issue 2010-01-18 14:57:35 +00:00
Jörg Lehrke
16c190cfe2 Improve SyncML session handling 2010-01-13 09:05:27 +00:00
Jörg Lehrke
59affe07ce Improve SyncML session handling; code cleunups 2010-01-13 08:47:00 +00:00
Jörg Lehrke
548f5f8c98 Fix various issues introduced with Funambol adjustments; code cleanup 2010-01-10 19:02:16 +00:00
Jörg Lehrke
3242e169cc More Funambol adjustments and workarounds 2010-01-09 18:04:21 +00:00
Jörg Lehrke
49823ecd7e Fix encoding issues; improvements for Funambol clients 2010-01-08 13:09:36 +00:00
Jörg Lehrke
ed519fda33 Optimized Funambol recognition 2010-01-05 10:09:47 +00:00
Christian Binder
b3a02f9408 recognize zero value also as a real value 2009-12-30 13:48:00 +00:00
Jörg Lehrke
00f1a811a6 Fix 'enforce server' double adds 2009-12-01 11:18:38 +00:00
Jörg Lehrke
c63a538f13 Optimize SyncML performance 2009-12-01 10:14:23 +00:00
Jörg Lehrke
a0e1a238dd Optimized SyncML memory footprint; fixes various filter issues 2009-11-29 14:03:45 +00:00
Jörg Lehrke
cf92ec1930 Fix RRULE issue with trailing colon 2009-11-25 19:17:52 +00:00
Jörg Lehrke
ca9f3fe1eb Fix WSP issue in QP paramters 2009-11-25 09:40:25 +00:00
Jörg Lehrke
d6663242d1 Fix empty value issue 2009-11-25 08:50:51 +00:00
Jörg Lehrke
bf9799ebfe Improve multi-domain support for SyncML 2009-11-22 18:48:51 +00:00
Jörg Lehrke
67e9dc48e2 Add additional datatstores in varios places 2009-11-22 17:50:16 +00:00
Jörg Lehrke
76ffd72eb6 Add multi-domain support for SyncML 2009-11-22 17:49:09 +00:00
Jörg Lehrke
d8ee864991 SyncML filter handling improved, code cleanup 2009-11-20 07:24:00 +00:00
Jörg Lehrke
d1b10adf4a Fix Domain Issue (Bug #2367) for SyncML 2009-11-18 18:57:00 +00:00
Jörg Lehrke
14770c3689 Fix for 'Enforce Server' during SlowSync 2009-11-17 21:20:32 +00:00
Jörg Lehrke
4b490c2e8b Add additional datastores 2009-11-17 07:13:21 +00:00
Jörg Lehrke
81d8ea7bbb Fix conflict handling issues 2009-11-11 20:16:34 +00:00
Jörg Lehrke
b3a1f2de10 Add device specific timezone settings 2009-11-11 20:15:29 +00:00
Jörg Lehrke
5bdf4a4942 VTIMEZONE and TZID are not supported by VCALENDAR VERSION=1.0 2009-11-11 20:14:34 +00:00
Jörg Lehrke
ad20d701e2 Fix UID issue 2009-11-11 20:13:03 +00:00
Jörg Lehrke
08d11093dd Add domain support 2009-11-11 10:25:50 +00:00
Jörg Lehrke
edd5a58870 Add ./event datastore to capabilities 2009-11-11 09:18:00 +00:00
Jörg Lehrke
bb7ad55ea4 Support for Synthesis VTIMEZONE RRULES 2009-11-11 09:16:46 +00:00
Jörg Lehrke
b3b7114db8 Fix Session Handling Problem again 2009-10-24 15:52:47 +00:00
Jörg Lehrke
291d3b04cb Add X-RECURRENCE-ID for vCal 1.0 2009-10-24 15:52:06 +00:00
Jörg Lehrke
bfa071c319 Funambol Client 4 Android uses version 2 and is pretty new 2009-10-19 20:27:55 +00:00
Jörg Lehrke
431530c8bb Fix RRULE colon bug 2009-10-17 21:59:12 +00:00
Jörg Lehrke
7c4592434c Adds COUNT to VTIMEZONE RRULE and fixes year selection 2009-10-12 20:11:57 +00:00
Jörg Lehrke
83d00a845a Fix VTIMEZONE part of VCALENDAR 2009-10-05 04:38:09 +00:00
Jörg Lehrke
b1a9d0f546 Fix issue with adding new entries from device 2009-09-28 19:45:35 +00:00
Jörg Lehrke
217f0de233 Calendar special pseudo recurrence exception handling moved to SyncML code
- content type is now available in replace method
  - pseudo to real exception propagation does now work within a single session
2009-09-23 19:20:15 +00:00
Jörg Lehrke
6648c7c404 Fix Funambol configuration issue and missing spaces in log enrties 2009-09-20 19:45:03 +00:00
Christian Binder
6b3c7942d6 disabled horde error logging by default; sorry devs but this killed my production server while accidentally having turned it on and synced a big addressbook - maybe we avoid happening this to others 2009-08-17 14:55:02 +00:00
Jörg Lehrke
91f0b9ad9d Empty ENCODING and CHARSET 2009-07-18 18:00:39 +00:00
Jörg Lehrke
48538a6ced Give higher levels a chance to avoid QP 2009-07-18 12:31:00 +00:00
Ralf Becker
e667e168b4 - merged SyncML-1.2 branch with trunk:
svn merge ^/trunk/phpgwapi@27377 ^/branches/SyncML-1.2/phpgwapi .
2009-07-15 19:31:25 +00:00
Ralf Becker
232252475f patch fixing many depricated functions (eg. posix regular expressions) and features, which fill up the error_log under php5.3 (and will no longer be available under php6).
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
2009-06-08 16:21:14 +00:00
Klaus Leithoff
b8601d92d7 njv: phpgwapi/groupdav work to improve groupdav compatibility and various sync proplems connected 2009-04-02 12:39:52 +00:00
Ralf Becker
8dcc91a390 typos and missing file 2008-11-16 15:36:37 +00:00
Ralf Becker
1baa158195 Big SyncML patch from Philip Herbert <pherbert(at)knauber.de>:
- change the processing of slowsync, to use the content_map instead of
  trying to build a new one. This caused duplication issues on the
  client if multiple similar records where stored, because only the first
  one found in the server-db was matched, These duplicate entries at client
  side had no entry at serverside, so deleting the wrong one
  on the client (the content with a valid map entry) could cause
  unwanted data loss at server side, because it is impossible for the
  user to see what is a duplicate, and what is not.

see also: 
http://www.nabble.com/again---syncml-duplication-issue-to20333619s3741.html

- reenabled UID from syncml clients, because it was partly used this caused
  issues during SlowSync if the content was changed. 

- infolog, calendar if a uid is found in the provided data, allway try to
  find the corresponding content first   using only the UID, instead of
  using the content-id taken from content_map.

also fixed:

- a few fixes in ./notes
- creating an entry on the client that can not be imported,
  (Example, Nokia E Series Appointment without a Title)
  will no longer create an invalid content-map entry
  However, at client side this is still counted in the Protocol as
  Server-Add
2008-11-16 10:42:29 +00:00
Ralf Becker
71edd1c938 Big patch from Philip Herbert (Knauber) modifying the SyncML code to no
longer use GUIDs containing eGW's install_id, as the information is
irrellevant for SyncML and cause doublications of entries if the
install_id changes.
I plan to have a new rc4 Wednesday or Thursday containing these changes.
2008-11-03 07:44:02 +00:00
Ralf Becker
9689e1b822 "fix fatal error in SyncML, reported by Philip Herbert from Knauber" 2008-10-30 06:51:14 +00:00
Ralf Becker
e3efd9ce22 "removed unneccesary cloning of the db object by
- adding the application ('syncml')
- replacing next_record()/f() with fetch()/fetchSingle() or looping over the result object
Thanks to Philip Herbert from Knauber for testing it"
2008-10-29 07:41:02 +00:00
Ralf Becker
2349c28fa8 phpgw --> egw 2008-10-08 18:40:01 +00:00
Ralf Becker
a18f6d1b85 "Fixed problem reported by Uwe on the German list: SyncML is no longer working" 2008-08-19 05:43:57 +00:00
Ralf Becker
96f19c6290 "allways use init_session_handler function (not only for php5.1)" 2008-08-18 13:44:48 +00:00
Ralf Becker
7696e91011 "fix to work around an other php5.1 bug/problem: class methods seem not be able to call session_set_save_handler
It returns false and the session_handler is not changed. It's working in php5.2 (at least on my OpenSUSE 11.0 with php5.2.6)"
2008-08-16 07:58:02 +00:00
Ralf Becker
88827a3f3d using new egw_session::init_handler() 2008-08-07 21:14:00 +00:00
Ralf Becker
49f86c41c3 PHPGW_SERVER_ROOT/phpgwapi/inc --> EGW_API_INC 2008-08-04 10:59:06 +00:00
Klaus Leithoff
cb8cd0f3e6 when having multiple lines descriptions in contacts or calendar, these are not correctly encoded in vcard.
The problem seems to be line [784] of trunk/phpgwapi/inc/horde/Horde/iCalendar.php
$value = str_replace($this->_newline, '\n', $value);
When removing this line, the description value is correct on the client.

I could not find any sideffects during my tests, if some clients have
problems with this, I assume this would then have to be fixed at a higher
level, because the current state with this line just causes broken output.

From wikipedia regarding Linebreaks in QuotedPrintable:
If the data being encoded contains meaningful line breaks, they must be encoded as an ASCII CR LF sequence, not as their original byte values

Vcard extract without the reported line code:
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Desc 1=0D=0ADesk 2=0D=0A=0D=0A

Vcard extract with the reported line of code
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Desc 1\nDesk 2\n\n

pointed out by Philip Herbert. Carl Knauber Holding GmbH & Co KG
2008-08-04 08:42:19 +00:00
Klaus Leithoff
16cb2097fc Some Devices (Nokia S60) ignore the entire vcard, if the vcard contains
formal error.

This breaks sync for single contacts from egw to client.
example: photo in addressbook without blank line after the property value.
This way the devices are not compliant with RFC2426 (Vcard Version 3)
5. Differences From vCard v2.1
[...]
. Inline binary content must be "B" encoded and folded. A blank
line after the encoded binary content is no longer required.
[...]
This was pointed out by Philip Herbert. Carl Knauber Holding GmbH & Co KG
2008-08-04 08:18:49 +00:00
Ralf Becker
9374ade6f5 "reverted SyncML part of my NTLM commit from yesterday, as it breaks SyncML: session::verify() is necessary to restore the eGW session (it's NOT used to verify the session)" 2008-07-17 05:51:46 +00:00
Ralf Becker
b5c28fba48 1. NTLM Single Sign ON
NTLM SSO removes Windows users on a PC, which is a member of a Windows
domain and who are logged into that domain, from the need to explicitly log
into eGW.  They simply point IE to the eGW URL (eg. http://domain.com/egroupware/)
and start working. They can of cause explicitly log out and log in as an
other user.
For more information look at the README at
http://www.egroupware.org/viewvc/trunk/phpgwapi/ntml/README

2. different authentication for SyncML and/or GroupDAV
You can now use eg. an external auth provider for the login via the
WebGUI (eg. ADS) and the passwords stored in SQL for SyncML.
2008-07-16 09:29:13 +00:00
Ralf Becker
4296d0c31f dont avoid empty fields, as some are required by vCard, eg. FN 2008-07-04 11:22:25 +00:00
Ralf Becker
bb08afcc9f "API change caused already-obsoleted call to sessions_::create() to fail.
Thanks to Peter Goerzen <pgoerzen(at)hustlerturf.com>"
2008-05-31 05:47:26 +00:00
Ralf Becker
6d274a7aca "switching of error_log in _parseDateTime()" 2008-05-10 19:00:31 +00:00
Carsten Wolff
3304616642 Circumvent a bug in some distributions of apache/mod_php, where an apache
child, that has executed a php script with mbstring.func_overload=7 once, will
overload substr() in a later execution of another php script, even if the
Location context of that script has mbstring.func_overload=0 set. Since the
WBXML decoder works byte-by-byte to determine substring length, it fails, if
mb_substr() is used. This patch prevents this.
2008-02-19 09:55:59 +00:00
Ralf Becker
d570952210 "fixed syntax error, missing colons, thanks to pgoerzen-at-hustlerturf.com" 2007-12-20 20:59:22 +00:00
Ralf Becker
12498d655f "fixed syntax error, missing colons, thanks to pgoerzen-at-hustlerturf.com" 2007-12-20 20:56:56 +00:00
Patrick Bihan-Faou
95eeded398 Make the detection of the device types a little smarter and able to use
out-of-band data such as the HTTP user agent.

Use that to determine weither message fragmentation should be used or not.

Indicate that Funambol 6+ supports fragmentation (this solves cases where
big addressbooks cannot be syncrhonized because there are too many entries).
2007-12-19 07:45:36 +00:00
Ralf Becker
e75db01b3c "tiny patch from Andreas Feldner <pelzi-at-flying-snail.de>, allowing for passwords containing a colon" 2007-12-01 01:02:05 +00:00
Patrick Bihan-Faou
65d3ecaa5b Fix the synml fragmentation support problem detected on some phones
such as the Nokia E61.
This affected most phones/devices that use SyncML with the vcard/vcalendar
format.

Fix from Christoph Kaulich, thanks.
2007-11-19 11:16:24 +00:00
Ralf Becker
d8598d36a7 "removed double assignment" 2007-10-12 16:11:35 +00:00
Lars Kneschke
df9ba564c2 patch from Patrick Bihan-Faou to fix contact duplication 2007-10-10 07:21:00 +00:00
Ralf Becker
7b6a1013fc SyncML patches from patrick.bihan-faou-AT-mindstep.com (without
logout+mbstring stuff), small modification to use the already exiting
methodes to generate full name and fileas)
The code is commited to trunk only at the moment to allow testing of it.
If everything goes well, we intend to commit it to 1.4 branch too.
Here's the original description of the patch by Patrick:
- handles the default config for current versions of funambol (i.e. the
scard/stask/snote/scal locations)
- tries to be a bit smarter on how the data content should be encoded
based on what the client specified (sif+base64/vcard, / fragmented or
not, etc.)
- workaround a bug in some versions of funambol, where funambol does not
specify the proper sif type for the type of requested data
- imported patch #117 from egw's tracker
- make sure that the logs generated by the horde code go to stderr so
they can be view in the webserver's logs
- as much as possible reduce code duplication. For example, the
categories are handled in the parent classes for both the SIF avn VCAL
formats for each type of data (addressbook,infolog,calendar).
- make sure the code can handle more than one categories in each
  direction
- treat the 'sony ericsson' vendor string just like 'sonyericsson', the
newer phones apparently have a space in the vendor string... (this
touches some files in the icalsrv as well)
- handle notes: these should now work with everything (funambol or
  other)
- remove more code duplication: the syncml "api" for the various data
types (calendar, contacts, infolog) is now common for both the vcard and
sif data formats (cf the files that need to be removed)
- handle the "privat" filter in infolog like the "private" filter (some
part of the code use the name without the trailing e)
- imported patch # 267 from egw's tracker
2007-09-29 10:29:48 +00:00
Ralf Becker
47ddd5f714 a fix to get the memcache session handler working with SyncML: the way SyncML/Horde handles the session (calling session_destroy) unloads our custom memcache handler 2007-08-23 10:18:14 +00:00
Cornelius Weiß
909609ebbc backport syncML fixes 2007-07-04 19:14:35 +00:00
Lars Kneschke
495abdd139 fixed handling of too long syncml id's 2007-06-25 08:55:20 +00:00
Lars Kneschke
244097e99c added special handling to better detect funambol clients 2007-06-24 23:52:41 +00:00
Ralf Becker
0f5ccb8c9f php5.2 2007-05-09 08:53:08 +00:00
Carsten Wolff
0214de953e RRULE should not be escaped by this class in egw, because it's generated with ; in it 2007-04-24 09:33:22 +00:00
Lars Kneschke
baf14bae10 make syncml searching in egw-pear too 2007-02-27 06:42:45 +00:00
Lars Kneschke
1ba36a6ca5 Horde::iCalendar vcalendar export bug
Special characters in text field are not scaped when events or todos are exported. For example, ',' in the description field are send literal. According to rfc2445 section 4.3.11 there are some characters which must be scaped or quoted. This patch tries to solved this problem.

patch contributed by Antoni Matamalas
2006-11-13 09:19:01 +00:00
Lars Kneschke
485027f3f1 patch from Christian
this patch fixes the handling of daylight saving
2006-11-13 08:19:23 +00:00
Christian Binder
0f4fee5b3f Horde iCalendar.php::parsevCalendar now accepts ';' AND ',' as field delimiter for EXDATE and FREEBUSY 2006-11-09 09:57:49 +00:00
Lars Kneschke
d999a797d4 made refresh from server working
the new funambol outlook client support this
2006-10-04 18:16:58 +00:00
Lars Kneschke
c2a7644b5e fix logic problem 2006-08-24 11:50:09 +00:00
Lars Kneschke
9fa275421b patch from christian binder
563: set delimiter to ";" instead of ","
2006-08-24 09:47:40 +00:00
Lars Kneschke
be7cca8a44 improved handling of devinfo. Now we check if we have the needed datastore info for every alert. If we don't have them, we request the devinfo.
That's important for the synthesis client, which (can) send different datastore options, depending on the enabled datasources on the client.
2006-08-21 03:46:08 +00:00
Lars Kneschke
40012677d7 don't convert charset 2 times anymore 2006-08-17 03:38:27 +00:00
Lars Kneschke
502f8508ef removed (hopefully) unneeded linebreaks 2006-08-17 03:30:19 +00:00
Lars Kneschke
acec55da41 add info for new caltasks sync source 2006-08-16 03:31:06 +00:00
Lars Kneschke
45200da684 various syncml fixes
- when doing slowsync we don't update the entries anymore. we just add the needed mapping to the database.
- improved handing of deviceinfo
2006-08-15 14:42:13 +00:00
Lars Kneschke
072b6966d2 // fix for Nokia Series 60 which seem to send empty data block sometimes 2006-08-15 14:40:34 +00:00
Lars Kneschke
b67d241224 added default type for ./contacts 2006-07-11 18:29:22 +00:00
Lars Kneschke
46b151baa4 improved handling of slowsync and twowaysync 2006-07-09 07:27:23 +00:00
Lars Kneschke
1afe9362af fix for incomplete targetURI
Patch from Franky(liedekef)
2006-06-14 05:38:15 +00:00
Lars Kneschke
e4409c7b0a fixed handling of session url, when behind a proxy 2006-06-08 03:46:18 +00:00
Lars Kneschke
3821544b6d removed port if 80 or 443 2006-06-06 07:05:26 +00:00
Lars Kneschke
fcbe2e5dd5 SyncML fixes 2006-06-01 13:38:37 +00:00
Lars Kneschke
87dcfb1c10 bugifx from jan 2006-05-18 14:21:29 +00:00
Lars Kneschke
73441f3ac3 SyncML fixes 2006-05-17 03:33:50 +00:00
Lars Kneschke
955f766a19 some minor fixes to make funambol happy 2006-04-28 05:44:43 +00:00
Lars Kneschke
2bbcde1238 add default contenttype for sifcalendar 2006-04-24 09:23:02 +00:00