View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0005463 | SOGo | Backend Calendar | public | 2022-01-14 09:17 | 2023-01-30 20:26 |
| Reporter | worryboy | Assigned To | |||
| Priority | high | Severity | major | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | Desktop | OS | Windows | OS Version | 10 |
| Product Version | 5.4.0 | ||||
| Summary | 0005463: Carddav Server Response is not UTF8 complient | ||||
| Description | i have several issues with a strict VCARD implementations using SOGo as CardDav Server. The from SOGo return VCard must be UTF-8 but was Latin-1. https://datatracker.ietf.org/doc/html/rfc6350#section-3.1 Any suggestion to solve this issue. | ||||
| Steps To Reproduce | Reproduce with an curl to the CardDav Server :
Return looks like UTF-8 but is Latin-1 | ||||
| Additional Information | none | ||||
| Tags | CardDAV, utf-8 | ||||
|
Hi Francis , I attached a screen describing this issue. Frank raw.text.as.example.txt (1,573 bytes)
Example : a german 'ü' is encoded as 252 but must be c3bc (50108).
<D:displayname>Meißner Üösülämi</D:displayname>
Is
<D:displayname>Meißner Üösülämi</D:displayname>
Return
HTTP/1.1 207 Multi-Status
Date: Mon, 10 Jan 2022 16:30:27 GMT
Server: SOPE 4.9.37/WebDAV
Referrer-Policy: same-origin
Content-Type: text/xml; charset="utf-8"
X-Dav-Error: 200 No error
Ms-Author-Via: DAV
Pragma: no-cache
Content-Length: 3548
Cache-Control: no-cache
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<D:multistatus xmlns:D="DAV:" xmlns:ap="http://apache.org/dav/props/">
<D:response>
<D:href>/SOGo/dav/carddavtestuser@SOGo.Domain/Contacts/personal/183358-6133BB80-3-7158B900.vcf</D:href>
<D:propstat>
<D:status>HTTP/1.1 200 OK</D:status>
<D:prop>
<D:creationdate>Sat, 04 Sep 2021 20:32:42 +0100</D:creationdate>
<D:getcontentlength>168</D:getcontentlength>
<D:getlastmodified>Sat, 04 Sep 2021 21:34:07 +0100</D:getlastmodified>
<D:getetag>"gcs00000001"</D:getetag>
<D:resourcetype />
<D:getcontenttype>text/x-vcard</D:getcontenttype>
<D:displayname>Meißner Üösülämi</D:displayname>
<D:href>/SOGo/dav/carddavtestuser@SOGo.Domain/Contacts/personal/183358-6133BB80-3-7158B900.vcf</D:href>
<ap:executable>0</ap:executable>
</D:prop>
</D:propstat>
</D:response>
</D:multistatus>
|
|||||||||||||
|
Have you set |
|||||||||||||
|
sory for the format issues again. conf attached SOGo.conf.txt (2,364 bytes)
Alias /SOGo.woa/WebServerResources/ \
/usr/lib/GNUstep/SOGo/WebServerResources/
Alias /SOGo/WebServerResources/ \
/usr/lib/GNUstep/SOGo/WebServerResources/
<Directory /usr/lib/GNUstep/SOGo/>
AllowOverride None
<IfVersion < 2.4>
Order deny,allow
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
# Explicitly allow caching of static content to avoid browser specific behavior.
# A resource's URL MUST change in order to have the client load the new version.
<IfModule expires_module>
ExpiresActive On
ExpiresDefault "access plus 1 year"
</IfModule>
</Directory>
ProxyRequests Off
SetEnv proxy-nokeepalive 1
ProxyPreserveHost On
# Enable to use Microsoft ActiveSync support
# Note that you MUST have many sogod workers to use ActiveSync.
# See the SOGo Installation and Configuration guide for more details.
#
ProxyPass /Microsoft-Server-ActiveSync \
http://127.0.0.1:20000/SOGo/Microsoft-Server-ActiveSync \
retry=60 connectiontimeout=5 timeout=360
ProxyPass /SOGo http://127.0.0.1:20000/SOGo retry=0
<Proxy http://127.0.0.1:20000/SOGo>
## adjust the following to your configuration
## and do not forget to enable the headers module
<IfModule headers_module>
RequestHeader set "x-webobjects-server-port" "443"
RequestHeader set "x-webobjects-server-name" "%{HTTP_HOST}e" env=HTTP_HOST
RequestHeader set "x-webobjects-server-url" "https://%{HTTP_HOST}e" env=HTTP_HOST
## When using proxy-side autentication, you need to uncomment and
## adjust the following line:
RequestHeader unset "x-webobjects-remote-user"
#RequestHeader set "x-webobjects-remote-user" "%{REMOTE_USER}e" env=REMOTE_USER
RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0"
</IfModule>
AddDefaultCharset UTF-8
<IfVersion < 2.4>
Order deny,allow
Allow from all
</IfVersion>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
</Proxy>
# For Apple autoconfiguration
<IfModule rewrite_module>
RewriteEngine On
RewriteRule ^/.well-known/caldav/?$ /SOGo/dav [R=301]
RewriteRule ^/.well-known/carddav/?$ /SOGo/dav [R=301]
</IfModule>
Redirect /.well-known/caldav /SOGo/dav/
Redirect /.well-known/carddav /SOGo/dav/
|
|||||||||||||
|
Any other suggestion ? (since AddDefaultCharset UTF-8 in <Proxy> directive is configured) DB ? |
|||||||||||||
|
Can you verify if the VCARD as exported with |
|||||||||||||
|
it looks a little bit strange
a "ü" is encoded as "\U00FC" whis seems also Latin1 https://www.fileformat.info/info/unicode/char/00fc/index.htm it looks that is wrong stored .. setup issue from me ? |
|||||||||||||
|
one update more .. table layout looks good |
|||||||||||||
|
From my understanding, it is perfectly valid to send numeric entity references in the DAV response. The client should handle those encoded entities the same way it would handle |
|||||||||||||
|
sumarized
rfc3629 if i understand you correctly, the SOGo response defined on header and body as UTF8 must interpret & # 252 as UTF8 Unicode Dec to ü ? |
|||||||||||||
|
SOPE uses decimal HTML entities to represent extended characters (ö => |
|||||||||||||
|
understood , get back to you after a chat with developers from AVM |
|||||||||||||
|
AVM ticket reference https://avm.zendesk.com/agent/tickets/4482503 is still waiting for a reply. |
|||||||||||||
|
avm ticket closed . AVM make possible changes on AVM OS 7.50 . please close the ticket |
|||||||||||||
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2022-01-14 09:17 | worryboy | New Issue | |
| 2022-01-14 09:17 | worryboy | Tag Attached: CardDAV | |
| 2022-01-14 09:17 | worryboy | Tag Attached: utf-8 | |
| 2022-01-19 18:58 | francis | Steps to Reproduce Updated | |
| 2022-01-19 19:44 | worryboy | Note Added: 0015786 | |
| 2022-01-19 19:44 | worryboy | File Added: example.issue.jpg | |
| 2022-01-19 19:44 | worryboy | File Added: raw.text.as.example.txt | |
| 2022-01-19 20:29 | francis | Steps to Reproduce Updated | |
| 2022-01-19 20:49 | francis | Note Added: 0015791 | |
| 2022-01-20 07:59 | worryboy | Note Added: 0015799 | |
| 2022-01-20 07:59 | worryboy | File Added: SOGo.conf.txt | |
| 2022-01-22 15:01 | worryboy | Note Added: 0015810 | |
| 2022-01-24 20:03 | francis | Note Added: 0015813 | |
| 2022-01-25 15:51 | worryboy | Note Added: 0015815 | |
| 2022-01-25 15:58 | francis | Note Edited: 0015815 | |
| 2022-01-25 19:05 | worryboy | Note Added: 0015816 | |
| 2022-01-25 20:44 | francis | Note Edited: 0015816 | |
| 2022-01-26 20:12 | francis | Steps to Reproduce Updated | |
| 2022-01-26 20:15 | francis | Note Added: 0015822 | |
| 2022-01-27 09:18 | worryboy | Note Added: 0015825 | |
| 2022-01-27 13:21 | francis | Note Added: 0015827 | |
| 2022-01-27 18:56 | worryboy | Note Added: 0015828 | |
| 2022-01-31 07:43 | worryboy | Note Added: 0015836 | |
| 2022-01-31 14:58 | francis | Note Edited: 0015825 | |
| 2023-01-30 20:26 | worryboy | Note Added: 0016626 |