evolution-data-server issueshttps://gitlab.gnome.org/GNOME/evolution-data-server/-/issues2022-02-21T11:21:44Zhttps://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/374LDAP: Let open when server is offline and marked for offline work2022-02-21T11:21:44ZkulkegncsLDAP: Let open when server is offline and marked for offline work# Problem description
I'm interfacing eds from gnome javascript (gjs). I would like to connect to an `EBook.BookClient` / `EBookClient` without waiting for the client to become connected and open it in offline mode if available.
So far...# Problem description
I'm interfacing eds from gnome javascript (gjs). I would like to connect to an `EBook.BookClient` / `EBookClient` without waiting for the client to become connected and open it in offline mode if available.
So far I've called `EBook.BookClient.connect` / `e_book_client_connect` with `wait_for_connected_seconds=4294967295` since according to the documentation the value `-1` can be used to "not wait for the connection state". The value `4294967295==G_MAXUINT32` follows since `wait_for_connected_seconds` is defined as a `guint32` and the comparison in the code is `wait_for_connected_seconds != (guint32) -1`. In `book_client_connect_open_cb` this does skip the `e_client_wait_for_connected` call. However, `open`ing the `EBookbackendLDAP`, which happens directly before, fails if the backend is marked as online (`e_backend_get_online (E_BACKEND (backend))` is `true`) and the ldap server cannot be connected to. This causes that connecting the `EBookClient` fails and that the connection is not opened in offline mode either.
In my case for example a backend marked as online with an ldap-server that cannot be connected to happens when my computer has a network connection, but VPN is turned off. The same would probably apply if the ldap server was down.
In that case the method `e_book_backend_ldap_connect` blocks at `ldap_error = ldap_start_tls_s (blpriv->ldap, NULL, NULL);`. The `ldap_start_tls_s` returns after 140 seconds with `ldap_error == 0xffffffff` which is `ldap_err2string(ldap_error) == 'Can't contact LDAP server'`.
tldr: To make things a bit clearer, as far as I can see this is roughly the call stack: `e_book_client_connect` -> `book_client_connect_init_cb` -> `e_dbus_address_book_call_open` (next calls on evolution-addressbook-factory side) -> `book_backend_ldap_open` -> `e_book_backend_ldap_connect` -> `ldap_start_tls_s`
**Used eds version:** current latest on master (43fd8b437368ecd9d44085910c116b7c3784c145)
# Excpetation
When `wait_for_connected_seconds=4294967295` (`=-1`) is passed the `EBookClient` is opened in offline mode and a call to `e_book_backend_ldap_connect` happens in a separate thread. If `e_book_backend_ldap_connect` fails the `ESource` stays not connected otherwise it becomes connected.
# Actual behavior
As described above: `connect` fails due to timeout of `ldap_start_tls_s`.
# Further notes
In case the described behavior is fine and is intended, is there maybe a workaround I can use to open an ldap backend in offline (`marked_for_offline`) mode even if the backend is online? The only way I see at the moment is to call `EBook.BookClient.new` and build my own open method, but I'm not sure if this is a smart thing to do. I'm only interested in reading the contacts and not in modifying the contacts, so read-only and offline would be fine until a connection can be established.
Thanks in advance if anyone takes the time to have a look at this issue!:)https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/371e-cal-util: Fix timezone clamp with DUE date only2022-01-12T10:44:26Zsymphoriene-cal-util: Fix timezone clamp with DUE date onlySteps to reproduce:
* Create a new task
* set an expiration date and time
![image](/uploads/97954d2349c9f81b91f5206024ef1ea0/image.png)
* save it to the local task list
* right click and save it to an ics file
```
BEGIN:VCALENDAR
PRODID:...Steps to reproduce:
* Create a new task
* set an expiration date and time
![image](/uploads/97954d2349c9f81b91f5206024ef1ea0/image.png)
* save it to the local task list
* right click and save it to an ics file
```
BEGIN:VCALENDAR
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VTIMEZONE
TZID:/freeassociation.sourceforge.net/Europe/Paris
X-LIC-LOCATION:Europe/Paris
END:VTIMEZONE
BEGIN:VTODO
UID:f0021b0b5ca1397caa92e5b56360941906949c25
DTSTAMP:20211228T212831Z
SUMMARY:test
DUE;TZID=/freeassociation.sourceforge.net/Europe/Paris:20220101T100000
PERCENT-COMPLETE:0
CLASS:PUBLIC
SEQUENCE:1
CREATED:20211231T130337Z
LAST-MODIFIED:20211231T130337Z
END:VTODO
END:VCALENDAR
```
This is invalid caldav format as the VTIMEZONE component does not contain at least one of standardc or daylightc: https://datatracker.ietf.org/doc/html/rfc2445#section-4.6.5
This is problematic with radicale: https://github.com/Kozea/Radicale/issues/1201
Evolution 3.42.1 NixOS 21.11 Linux x86_64https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/369IMAPx: Add an option to send client 'ID' during login phase2023-06-05T07:54:24ZPeggIMAPx: Add an option to send client 'ID' during login phaseWhen connecting to the 163 mailbox with Evolution, it will be blocked by the 163 mailbox server. This is because the 163 mailbox server requires the ID field to be obtained when connecting, but Evolution does not provide the relevant fie...When connecting to the 163 mailbox with Evolution, it will be blocked by the 163 mailbox server. This is because the 163 mailbox server requires the ID field to be obtained when connecting, but Evolution does not provide the relevant fields when connecting.
![截屏2021-12-29_下午4.39.49](/uploads/2821e89a7d544a172b658407685d8400/截屏2021-12-29_下午4.39.49.png)https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/372SMTP: Add option to not re-encode message on upload2022-02-21T11:21:44ZДилян Палаузовgit-dpa@aegee.orgSMTP: Add option to not re-encode message on uploadI receive a message with `Content-Transfer-Encoding: 8bit` (or one MIME part of it has this encoding). The message is DKIM-signed. I select from the menu Message → Forward As → Redirect. The sent message uses now `Content-Transfer-Enc...I receive a message with `Content-Transfer-Encoding: 8bit` (or one MIME part of it has this encoding). The message is DKIM-signed. I select from the menu Message → Forward As → Redirect. The sent message uses now `Content-Transfer-Encoding: quoted-printable` or `Content-Transfer-Encoding: base64`, which invalidates the DKIM-signature and DMARC fails.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/368Calendar: X-EVOLUTION-ENDDATE can be calculated incorrectly2021-12-14T13:55:29ZДилян Палаузовgit-dpa@aegee.orgCalendar: X-EVOLUTION-ENDDATE can be calculated incorrectlyI create the event
```
BEGIN:VCALENDAR
CALSCALE:GREGORIAN
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
BEGIN:VEVENT
UID:21322c4396fa002f64a4584ed58e05357af6b95d
DTSTAMP:20211210T214248Z
DTSTART;TZID=Europe/Sofia:20211212T...I create the event
```
BEGIN:VCALENDAR
CALSCALE:GREGORIAN
PRODID:-//Ximian//NONSGML Evolution Calendar//EN
VERSION:2.0
BEGIN:VEVENT
UID:21322c4396fa002f64a4584ed58e05357af6b95d
DTSTAMP:20211210T214248Z
DTSTART;TZID=Europe/Sofia:20211212T210000
DTEND;TZID=Europe/Sofia:20211212T220000
SEQUENCE:2
SUMMARY:NANA NANA
RRULE:FREQ=MONTHLY;BYMONTHDAY=1;COUNT=200
CREATED:20211212T183631Z
LAST-MODIFIED:20211212T183631Z
END:VEVENT
END:VCALENDAR
```
I am in the month view and show December 2021.
Evolution shows the event on 12th December 2021, and on 1st January 2022.
I switch from the minicalendar the month to January 2022. Now only this single event shall be shown on 1st January and 1st February, but it is not shown: neither on 1st January, nor on 1st February.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/367HTML support in event descriptions2021-11-13T10:38:36ZGustavo RubioHTML support in event descriptionsHi, not sure if this is the right place to ask but I noticed that notifications (_which I believe com from eds_) are displayed in plain text which is not a problem unless they have been created through _popular_ online services such as G...Hi, not sure if this is the right place to ask but I noticed that notifications (_which I believe com from eds_) are displayed in plain text which is not a problem unless they have been created through _popular_ online services such as Google Calendar or even added through 3rd parties.
For instance, this is what I get on the ean-notification popups:
![Screenshot_from_2021-11-12_09-06-22](/uploads/64a672030c6d8923c282eb904e36cd4d/Screenshot_from_2021-11-12_09-06-22.png)
Somewhat, similar for Gnome Calendar:
![Screenshot_from_2021-11-12_09-04-17](/uploads/c54706a798d6bee8f72fff4f24a4e5e7/Screenshot_from_2021-11-12_09-04-17.png)
Interestingly enough, the EAN widget does seem to parse as html because the actual URL is clickable/actionable but maybe it is just reading the raw text and not parsing tags but rather just looking for URI schemes and make them links?
My guess is data fed to Calendar comes from EDS as well but I might be wrong.
In any case, while not super critical, it kinda makes the pop-ups and description widgets less readable in my opinion but maybe there is a security/UI/UX concern regarding not displaying HTML that I'm not aware of, so, this is more a feature request (or a question, really) than a bug _per se_.
Thanks!https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/366Calendar: Correct 'occur-in-time-range?' for zero-length events2021-11-19T08:29:02ZSebastian KellerCalendar: Correct 'occur-in-time-range?' for zero-length eventsWhen using a `occur-in-time-range?` query in `e_cal_client_get_view_sync`, zero-length events that start (and end) exactly at the range begin, are not included in the results. They start showing up if I change either the just the end or ...When using a `occur-in-time-range?` query in `e_cal_client_get_view_sync`, zero-length events that start (and end) exactly at the range begin, are not included in the results. They start showing up if I change either the just the end or the start and the end to be 1 second later.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/365Calendar: Crash on local calandar file change2021-11-19T08:29:02ZMilan CrhaCalendar: Crash on local calandar file changeMoving this from a downstream bug report:<br>
https://bugzilla.redhat.com/show_bug.cgi?id=2019566
When an underlying file of a local calendar changes in the system the a calendar factory process can crash. Valgrind gives a hint:
```
==...Moving this from a downstream bug report:<br>
https://bugzilla.redhat.com/show_bug.cgi?id=2019566
When an underlying file of a local calendar changes in the system the a calendar factory process can crash. Valgrind gives a hint:
```
==24462== Invalid read of size 8
==24462== at 0x101E71109: icalcomponent_get_first_component (icalcomponent.c:546)
==24462== by 0x100CF5EE9: i_cal_component_get_first_component (i-cal-component.c:698)
==24462== by 0x1018E7007: e_cal_component_has_alarms (e-cal-component.c:3925)
==24462== by 0x101904F52: e_cal_util_generate_alarms_for_comp (e-cal-util.c:723)
==24462== by 0x10087452D: func_has_alarms_in_range (e-cal-backend-sexp.c:945)
==24462== by 0x10160D578: e_sexp_term_eval (e-sexp.c:802)
==24462== by 0x10160F665: e_sexp_eval (e-sexp.c:1699)
==24462== by 0x1008751E1: e_cal_backend_sexp_match_comp (e-cal-backend-sexp.c:1437)
==24462== by 0x10089E3DE: e_data_cal_view_component_matches (e-data-cal-view.c:997)
==24462== by 0x100866888: match_view_and_notify_component (e-cal-backend.c:261)
==24462== by 0x100866AA5: notify_changes_thread (e-cal-backend.c:316)
==24462== by 0x10086708B: cal_backend_dispatch_thread (e-cal-backend.c:446)
==24462== by 0x100968282: g_thread_pool_thread_proxy (gthreadpool.c:354)
==24462== by 0x100967ACB: g_thread_proxy (gthread.c:827)
==24462== by 0x10099B662: linux_pthread_proxy (gthread-posix.c:1269)
==24462== by 0x101733B16: start_thread (in /usr/lib64/libc.so.6)
==24462== by 0x1017B7933: clone (in /usr/lib64/libc.so.6)
==24462== Address 0x1253caf68 is 40 bytes inside a block of size 80 free'd
==24462== at 0x1008430E4: free (vg_replace_malloc.c:755)
==24462== by 0x101E7071F: icalcomponent_free (icalcomponent.c:225)
==24462== by 0x101E70640: icalcomponent_free (icalcomponent.c:202)
==24462== by 0x100D24C4D: i_cal_object_finalize (i-cal-object.c:197)
==24462== by 0x100C880FC: g_object_unref (gobject.c:3765)
==24462== by 0x115A8D3DF: free_calendar_components (e-cal-backend-file.c:289)
==24462== by 0x115A8F7CE: reload_cal (e-cal-backend-file.c:1359)
==24462== by 0x115A96347: e_cal_backend_file_reload (e-cal-backend-file.c:4083)
==24462== by 0x115A8ECB0: refresh_thread_func (e-cal-backend-file.c:1037)
==24462== by 0x100967ACB: g_thread_proxy (gthread.c:827)
==24462== by 0x10099B662: linux_pthread_proxy (gthread-posix.c:1269)
==24462== by 0x101733B16: start_thread (in /usr/lib64/libc.so.6)
==24462== by 0x1017B7933: clone (in /usr/lib64/libc.so.6)
==24462== Block was alloc'd at
==24462== at 0x10084086F: malloc (vg_replace_malloc.c:380)
==24462== by 0x101E702D0: icalcomponent_new_impl (icalcomponent.c:94)
==24462== by 0x101E7035A: icalcomponent_new (icalcomponent.c:113)
==24462== by 0x101E78E86: icalparser_add_line (icalparser.c:748)
==24462== by 0x101E78B2B: icalparser_parse (icalparser.c:641)
==24462== by 0x100D16E2A: i_cal_parser_parse (i-cal-parser.c:184)
==24462== by 0x1019041BC: e_cal_util_parse_ics_file (e-cal-util.c:303)
==24462== by 0x115A8F5FD: reload_cal (e-cal-backend-file.c:1312)
==24462== by 0x115A96347: e_cal_backend_file_reload (e-cal-backend-file.c:4083)
==24462== by 0x115A8ECB0: refresh_thread_func (e-cal-backend-file.c:1037)
==24462== by 0x100967ACB: g_thread_proxy (gthread.c:827)
==24462== by 0x10099B662: linux_pthread_proxy (gthread-posix.c:1269)
==24462== by 0x101733B16: start_thread (in /usr/lib64/libc.so.6)
==24462== by 0x1017B7933: clone (in /usr/lib64/libc.so.6)
```https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/364Camel: Add a missing header include into camel-hostname-utils.c2021-11-19T08:29:02ZDamian Marcin SzymańskiCamel: Add a missing header include into camel-hostname-utils.cHi.
When compiling e-d-s on mandriva I see this build error:
```
/builddir/build/BUILD/evolution-data-server-3.42.1/src/camel/camel-hostname-utils.c:662:2: error: implicit declaration of function 'u_strFromUTF8' is invalid in C99 [-Werr...Hi.
When compiling e-d-s on mandriva I see this build error:
```
/builddir/build/BUILD/evolution-data-server-3.42.1/src/camel/camel-hostname-utils.c:662:2: error: implicit declaration of function 'u_strFromUTF8' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
DEBUG util.py:634: u_strFromUTF8 (NULL, 0, &uhost_len, hostname, -1, &uerror);
DEBUG util.py:634: ^
DEBUG util.py:634: 1 error generated.
DEBUG util.py:634: make[2]: *** [src/camel/CMakeFiles/camel.dir/build.make:401: src/camel/CMakeFiles/camel.dir/camel-hostname-utils.c.o] Error 1
DEBUG util.py:634: make[2]: *** Waiting for unfinished jobs....
```
Full build log: https://file-store.openmandriva.org/api/v1/file_stores/53144bc08add47a504794ad36e2482fdb6f72d0b.log?show=true
- OS: OpenMandriva Cooker
- Compiler: LLVM/Clang 13.0.0
- LTO: enabled
Build options:
- -DENABLE_VALA_BINDINGS=1
- -DENABLE_INTROSPECTION=ON
- -DENABLE_UOA=OFF
- -DWITH_LIBDB=%{_prefix}
- -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
- -DLIB_INSTALL_DIR:PATH=%{_libdir}https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/363evolution-alarm-notify generates duplicate notifications on KDE/Plasma2021-10-26T06:11:08ZMiikka Veijonenevolution-alarm-notify generates duplicate notifications on KDE/Plasmaevolution-alarm-notify generates duplicate notifications of each calendar reminders on KDE/Plasma:
![notif1](/uploads/30a09880875e6950d5fc0613767917b8/notif1.png)
I guess the evolution-alarm-notify is using some XDG/DE notification API...evolution-alarm-notify generates duplicate notifications of each calendar reminders on KDE/Plasma:
![notif1](/uploads/30a09880875e6950d5fc0613767917b8/notif1.png)
I guess the evolution-alarm-notify is using some XDG/DE notification API to produce those notifications on the DE (in addition to the popup window where the reminders can be dismissed)?
So is it possible somehow to use **only one** method: the DE notifications or evolution-alarm-notify popup window, and not the both at the same time? This is quite annoying because the notification in KDE's notification feed remains there even it has been dismissed from the evolution-alarm-notify popup window. It must be dismissed separately. So I would like to have the notification only by using the evolution-alarm-notify popup window OR via DE's notifications.
I have checked that it's possible to disable those notifications from the KDE's notification feed but it also disables much more since it's under this generic setting:
![notif2](/uploads/40ba06d0891018d6d923519641590ad2/notif2.png)
There's also own section for the Evolution but those are not related to the notifications generated by the evolution-alarm-notify (I think they're "new mail" notifications generated by the Evolution itself):
![notif3](/uploads/dfdeed4387039b8f2b5395e06af6fc57/notif3.png)
Version information: Evolution/ews-data-server version is 3.41.3 and I'm running it on Debian 11 (Stable). KDE/Plasma version: version: 5.20.5.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/362evolution-alarm-notify notifies about past events even "Display reminders for...2021-11-08T18:29:58ZMiikka Veijonenevolution-alarm-notify notifies about past events even "Display reminders for past events" is turned offThe evolution-alarm-notify keeps notifying me about past calendar events even I've unchecked these settings:
![setting1](/uploads/8eb9b5d6f649bb37040a9c37b1fd9dfd/setting1.png)
![setting2](/uploads/98a8699679c3980862aecd0d48165ef6/sett...The evolution-alarm-notify keeps notifying me about past calendar events even I've unchecked these settings:
![setting1](/uploads/8eb9b5d6f649bb37040a9c37b1fd9dfd/setting1.png)
![setting2](/uploads/98a8699679c3980862aecd0d48165ef6/setting2.png)
How to reproduce (quickly):
1. Create a calendar event in the near future and set the duration to 1 minute, like (Test event, 09:00-09:01) and set the reminder to "at the start".
1. Close all Evolution instances **and also evolution-alarm-notify instances**.
1. Wait that the calendar event starts and ends.
1. (At 09:02 for example): Open Evolution (which starts the evolution-alarm-notify automatically too).
1. evolution-alarm-notify will open the popup window about the calendar event even it's now in the past.
Version information: Evolution/ews-data-server version is 3.41.3 and I'm running it on Debian 11 (Stable).https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/361Camel: Understand non-standard "Content-Transfer-Encoding: uuencode"2021-09-30T15:07:21ZHakun1nCamel: Understand non-standard "Content-Transfer-Encoding: uuencode"### Background:
We're running bunch of AIX systems and we have shell scripts generating some reporting CSV files (semi-colon delimited lists). Then we're using uuencode + mailx to send these reports to our sysadmins.
Our mail-server is ...### Background:
We're running bunch of AIX systems and we have shell scripts generating some reporting CSV files (semi-colon delimited lists). Then we're using uuencode + mailx to send these reports to our sysadmins.
Our mail-server is MS Exchange on Azure/Office365 so some of us are using Microsoft OWA webUI and some are using Evolution-EWS clients.
### Issue description:
If the attached file is downloaded via Evolution it gets corrupted. It contains a bunch of garbage characters and can not be used. It is NOT an issue of the Libre-Office. Even if the file is opened via text-editor/vim/less it still has wrong content.
BUT if the SAME attachment of the SAME email is download via OWA it is perfectly fine and contains the expected content.
Meaning the source of the issue seems to be with Evolution itself (and not with uuencode/mailx or mailserver)
I am attaching three files:
- TEST_39_2021-09-27_int_SRC.csv - Is the test-generated file downloaded from one of the hosts (so NOT processed by uuencode/mailx)
- TEST_39_2021-09-27_int_OWA.csv - Is the file downloaded from the reporting mail via OWA - content is OK
- TEST_39_2021-09-27_int_EVO.csv - Is the file downloaded via Evolution client and which is "broken"
[TEST_39_2021-09-27_int_SRC.csv](/uploads/d24996f4d2ca9f6c6ad89747c8718a35/TEST_39_2021-09-27_int_SRC.csv)[TEST_39_2021-09-27_int_OWA.csv](/uploads/bc187255b951d70899ead280e200d753/TEST_39_2021-09-27_int_OWA.csv)[TEST_39_2021-09-27_int_EVO.csv](/uploads/55a42d93532af1b84659f8fc7d0c374f/TEST_39_2021-09-27_int_EVO.csv)
Message source from Evolution:
```
--_1041f2df-4acf-4b3a-833c-662ddffbad05_
Content-Transfer-Encoding: uuencode
Content-Disposition: attachment; filename="TEST_39_2021-09-27_int.csv"
Content-Type: application/octet-stream; name="TEST_39_2021-09-27_int.csv"
begin 600 TEST_39_2021-09-27_int.csv
M06%A86$[0F)B8F)B.T-C8V-C.T1D9&1D.T5E965E.T9&1F8[1V=G9V<[2$A(
M:&@[26EI:6EI.TIJ:FIJ.TMK:VMK:PI"8F)B8F([0V-C8V,[1&1D9&0[165E
M964[1D9&9CM'9V=G9SM(2$AH:#M):6EI:6D[2FIJ:FH[2VMK:VMK.V%A86%A
M86$*0F)B8F)B.T)B8F)B8CM#8V-C8SM$9&1D9#M%965E93M&1D9F.T=G9V=G
M.TA(2&AH.TEI:6EI:3M*:FIJ:CM+:VMK:VL*2FIJ:FH[2VMK:VMK.T)B8F)B
M8CM#8V-C8SM$9&1D9#M%965E93M&1D9F.T=G9V=G.TA(2&AH.TEI:6EI:3M*
M:FIJ:@I):6EI:6D[2FIJ:FH[2VMK:VMK.T)B8F)B8CM#8V-C8SM$9&1D9#M%
M965E93M&1D9F.T=G9V=G.TA(2&AH.TEI:6EI:0I(2$AH:#M):6EI:6D[2FIJ
M:FH[2VMK:VMK.T)B8F)B8CM#8V-C8SM$9&1D9#M%965E93M&1D9F.T=G9V=G
M.TA(2&AH"D=G9V=G.TA(2&AH.TEI:6EI:3M*:FIJ:CM+:VMK:VL[0F)B8F)B
>.T-C8V-C.T1D9&1D.T5E965E.T9&1F8[1V=G9V<*
`
end
```
### Environment:
- OS: RHEL 8.4 (4.18.0-305.12.1.el8_4.x86_64)
- Desktop: KDE Plasma 5.18.4
- Qt ver: 5.12.5
- Evolution:
- evolution-3.28.5-16.el8.x86_64
- evolution-langpacks-3.28.5-16.el8.noarch
- evolution-ews-3.28.5-10.el8.x86_64
- evolution-ews-langpacks-3.28.5-10.el8.noarch
- evolution-data-server-3.28.5-15.el8.x86_64
- evolution-data-server-langpacks-3.28.5-15.el8.noarch
- evolution-mapi-3.28.3-3.el8.x86_64
- evolution-mapi-langpacks-3.28.3-3.el8.noarch
- evolution-help-3.28.5-16.el8.noarch
UPDATE: Exactly the same issue with version 3.42.0 (Flatpak)
Please let me know if further information is required
Alexhttps://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/360WebDAVNotes: Recognize and prefer files with .md extension2021-12-01T17:06:21ZwbobWebDAVNotes: Recognize and prefer files with .md extensionthe patches that introduced webdav Notes support in https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/165 restrict notes listing to .txt files:
```
if (summary && g_str_has_suffix (summary, ".txt")) {
...
if (... && g_str_ha...the patches that introduced webdav Notes support in https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/165 restrict notes listing to .txt files:
```
if (summary && g_str_has_suffix (summary, ".txt")) {
...
if (... && g_str_has_suffix (resource->href, ".txt")) {
```
The nextcloud webapp creates new notes with .md extension, thus including them would greatly improve interoperability between the WebUI, connecting handheld Apps and Evolution.
(I see you introduced markdown support in https://gitlab.gnome.org/GNOME/evolution/-/issues/449 just the other day!)https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/359CalDAV: Crash on calendar update2022-06-06T10:55:19Zjerulito qalolufakataCalDAV: Crash on calendar updateI am new to linuxland, so please ask me anything if I am missing some information.
1. Reproduction
- Added an iCloud calendar
- Upon first "synchronisation", the evolution-calendar-factory process fails with a backtrace that looks as ...I am new to linuxland, so please ask me anything if I am missing some information.
1. Reproduction
- Added an iCloud calendar
- Upon first "synchronisation", the evolution-calendar-factory process fails with a backtrace that looks as follows:
1.1 Further observations
- All other calendars synced within a reasonable time.
- Only a single Calendar did not sync, after about 1200 calendar events downloaded.
- Evolution does not recover and does need to be reopened in order for evolution-calendar-factory to retry, just to fail at the exact same spot when downloading the same .ics
2. Summary
- Upon calendar synchronisation, the evolution-calendar-factory crashes with a segmentation fault.
3. Software Versions
- Linux Manjaro most current distribution (as of creation of this post)
- Evolution 3.40.4 from the "Add/Remove Software" tool (I believe it is simply pacman), no user repositories
```
(gdb) thread apply all bt full
Thread 18 (Thread 0x7fd3a3fff640 (LWP 9761)):
warning: Section `.reg-xstate/9761' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 17 (Thread 0x7fd3fdffb640 (LWP 9687)):
warning: Section `.reg-xstate/9687' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 16 (Thread 0x7fd3fcff9640 (LWP 9690)):
warning: Section `.reg-xstate/9690' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 15 (Thread 0x7fd3a37fe640 (LWP 9763)):
warning: Section `.reg-xstate/9763' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 14 (Thread 0x7fd3c4ff9640 (LWP 9747)):
warning: Section `.reg-xstate/9747' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd44161105b in g_cond_wait_until () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927d3 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3fdb in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 13 (Thread 0x7fd436059640 (LWP 9477)):
warning: Section `.reg-xstate/9477' in core file too small.
#0 0x00007fd441110b2f in poll () at /usr/lib/libc.so.6
#1 0x00007fd441616b39 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415c2693 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd44124c0d3 in () at /usr/lib/libedataserver-1.2.so.26
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 12 (Thread 0x7fd43cbff640 (LWP 9475)):
warning: Section `.reg-xstate/9475' in core file too small.
#0 0x00007fd441110b2f in poll () at /usr/lib/libc.so.6
#1 0x00007fd441616b39 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415c2693 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4414b38c8 in () at /usr/lib/libgio-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 11 (Thread 0x7fd3df7fe640 (LWP 9693)):
warning: Section `.reg-xstate/9693' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 10 (Thread 0x7fd4227fc640 (LWP 9674)):
warning: Section `.reg-xstate/9674' in core file too small.
--Type <RET> for more, q to quit, c to continue without paging--
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 9 (Thread 0x7fd43d474640 (LWP 9474)):
warning: Section `.reg-xstate/9474' in core file too small.
#0 0x00007fd441110b2f in poll () at /usr/lib/libc.so.6
#1 0x00007fd441616b39 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415c0871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415c08c2 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 8 (Thread 0x7fd4217fa640 (LWP 9677)):
warning: Section `.reg-xstate/9677' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 7 (Thread 0x7fd3fffff640 (LWP 9681)):
warning: Section `.reg-xstate/9681' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 6 (Thread 0x7fd4237fe640 (LWP 9671)):
warning: Section `.reg-xstate/9671' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 5 (Thread 0x7fd43685a640 (LWP 9476)):
warning: Section `.reg-xstate/9476' in core file too small.
#0 0x00007fd441110b2f in poll () at /usr/lib/libc.so.6
#1 0x00007fd441616b39 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415c0871 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd436d7febe in () at /usr/lib/gio/modules/libdconfsettings.so
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 4 (Thread 0x7fd3feffd640 (LWP 9684)):
warning: Section `.reg-xstate/9684' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 3 (Thread 0x7fd43d7b64c0 (LWP 9473)):
warning: Section `.reg-xstate/9473' in core file too small.
#0 0x00007fd441110b2f in poll () at /usr/lib/libc.so.6
#1 0x00007fd441616b39 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415c2693 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4412cc6ec in () at /usr/lib/libebackend-1.2.so.10
#4 0x00007fd440adaacd in () at /usr/lib/libffi.so.7
#5 0x00007fd440ada03a in () at /usr/lib/libffi.so.7
#6 0x00007fd4413710dc in g_cclosure_marshal_generic_va () at /usr/lib/libgobject-2.0.so.0
#7 0x00007fd441388030 in g_signal_emit_valist () at /usr/lib/libgobject-2.0.so.0
#8 0x00007fd4413881a0 in g_signal_emit () at /usr/lib/libgobject-2.0.so.0
#9 0x00007fd4412ccd08 in e_dbus_server_run () at /usr/lib/libebackend-1.2.so.10
#10 0x000055ad7f01413f in main ()
Thread 2 (Thread 0x7fd3c57fa640 (LWP 9746)):
--Type <RET> for more, q to quit, c to continue without paging--
warning: Section `.reg-xstate/9746' in core file too small.
#0 0x00007fd44111618d in syscall () at /usr/lib/libc.so.6
#1 0x00007fd441610a71 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007fd4415927f4 in () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415f3e59 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#5 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
Thread 1 (Thread 0x7fd435768640 (LWP 9478)):
#0 0x00007fd4410a89a9 in free () at /usr/lib/libc.so.6
#1 0x00007fd4416ce132 in e_cal_meta_backend_info_free () at /usr/lib/libedata-cal-2.0.so.1
#2 0x00007fd4415deb08 in g_slist_foreach () at /usr/lib/libglib-2.0.so.0
#3 0x00007fd4415e2a3c in g_slist_free_full () at /usr/lib/libglib-2.0.so.0
#4 0x00007fd4416d98db in () at /usr/lib/libedata-cal-2.0.so.1
#5 0x00007fd4416bc7e7 in () at /usr/lib/libedata-cal-2.0.so.1
#6 0x00007fd4415f3e87 in () at /usr/lib/libglib-2.0.so.0
#7 0x00007fd4415f12d1 in () at /usr/lib/libglib-2.0.so.0
#8 0x00007fd440b84259 in start_thread () at /usr/lib/libpthread.so.0
#9 0x00007fd44111b5e3 in clone () at /usr/lib/libc.so.6
```
The log (with environment variable `CALDAV_DEBUG=1` outputs a very specific output at which the process segfaults:
```
> GET **REDACTED** HTTP/1.1
> Soup-Debug-Timestamp: 1632252014
> Soup-Debug: EWebDAVSession 1 (0x7fff98006ae0), SoupMessage 1273 (0x7fffd85b8480), SoupSocket 1273 (0x7fffc40705d0)
> Host: p45-caldav.icloud.com
> User-Agent: Evolution/3.40.4
> Connection: close
> Cache-Control: no-cache
> Pragma: no-cache
> Accept-Encoding: gzip, deflate
> Accept-Language: en-gb, en;q=0.9
> Authorization: Basic [**REDACTED**:*******************]
< HTTP/1.1 200 OK
< Soup-Debug-Timestamp: 1632252015
< Soup-Debug: SoupMessage 1273 (0x7fffd85b8480)
< Server: AppleHttpServer/**REDACTED**
< Date: Tue, 21 Sep 2021 19:20:15 GMT
< Content-Type: text/calendar; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: close
< X-Apple-Jingle-Correlation-Key: **REDACTED**
< apple-seq: 0
< apple-tk: false
< Apple-Originating-System: UnknownOriginatingSystem
< X-Responding-Instance: **REDACTED**
< X-Apple-API-Version: v1
< ETag: "km5x56rh"
< Cache-Control: private, max-age=0, no-cache
< DAV: 1, access-control
< Content-Encoding: gzip
< Strict-Transport-Security: max-age=31536000; includeSubDomains;
< via: xrail:**REDACTED**
< X-Apple-Request-UUID: **REDACTED**
< access-control-expose-headers: X-Apple-Request-UUID,Via
< X-Apple-Edge-Response-Time: 292
<
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Apple Inc.//Mac OS X 10.15.3//EN
CALSCALE:GREGORIAN
BEGIN:VEVENT
CREATED:20200129T124708Z
UID:B696D5A8-B7F3-41D6-92CD-94B1A402D1C2
DTEND;TZID=Europe/Berlin:20200129T152000
SUMMARY:Reisezeit
LAST-MODIFIED:20200129T124708Z
DTSTAMP:20200129T134512Z
DTSTART;TZID=Europe/Berlin:20200129T150000
SEQUENCE:1
TRANSP:OPAQUE
X-APPLE-TRAVEL-ADVISORY-BEHAVIOR:AUTOMATIC
END:VEVENT
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:STANDARD
DTSTART:18930401T000000
RDATE:18930401T000000
TZNAME:CEST
TZOFFSETFROM:+005328
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19160430T230000
RDATE:19160430T230000
RDATE:19400401T020000
RDATE:19430329T020000
RDATE:19460414T020000
RDATE:19470406T030000
RDATE:19480418T020000
RDATE:19490410T020000
RDATE:19800406T020000
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19161001T010000
RDATE:19161001T010000
RDATE:19421102T030000
RDATE:19431004T030000
RDATE:19441002T030000
RDATE:19451118T030000
RDATE:19461007T030000
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19170416T020000
RRULE:FREQ=YEARLY;UNTIL=19180415T010000Z;BYMONTH=4;BYDAY=3MO
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19170917T030000
RRULE:FREQ=YEARLY;UNTIL=19180916T010000Z;BYMONTH=9;BYDAY=3MO
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19440403T020000
RRULE:FREQ=YEARLY;UNTIL=19450402T010000Z;BYMONTH=4;BYDAY=1MO
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:19450524T020000
RDATE:19450524T020000
RDATE:19470511T030000
TZNAME:CEMT
TZOFFSETFROM:+0200
TZOFFSETTO:+0300
END:DAYLIGHT
BEGIN:DAYLIGHT
DTSTART:19450924T030000
RDATE:19450924T030000
RDATE:19470629T030000
TZNAME:CEST
TZOFFSETFROM:+0300
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19460101T000000
RDATE:19460101T000000
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
END:STANDARD
BEGIN:STANDARD
DTSTART:19471005T030000
RRULE:FREQ=YEARLY;UNTIL=19491002T010000Z;BYMONTH=10;BYDAY=1SU
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:STANDARD
DTSTART:19800101T000000
RDATE:19800101T000000
TZNAME:CET
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
END:STANDARD
BEGIN:STANDARD
DTSTART:19800928T030000
RRULE:FREQ=YEARLY;UNTIL=19950924T010000Z;BYMONTH=9;BYDAY=-1SU
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:19810329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
BEGIN:STANDARD
DTSTART:19961027T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
END:VTIMEZONE
END:VCALENDAR
```https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/358Possible e_phone_number_compare mismatch2021-11-10T11:32:17ZEvangelos Ribeiro TzarasPossible e_phone_number_compare mismatchWhen compairing the two numbers (f.e. using `e_phone_number_compare_strings`)
- 017611122233
- +4917611122233
where +49 is the country code, (0)176 the region code (in this case from a mobile phone number)
the resulting match is `E_PHO...When compairing the two numbers (f.e. using `e_phone_number_compare_strings`)
- 017611122233
- +4917611122233
where +49 is the country code, (0)176 the region code (in this case from a mobile phone number)
the resulting match is `E_PHONE_NUMBER_MATCH_SHORT` but it should be `E_PHONE_NUMBER_MATCH_NATIONAL`.
This happens with libebook-contacts version `3.38.3-1` (but I'll try the latest version soon).
You can try the following reproducer:
```
#include <libebook-contacts/libebook-contacts.h>
#include <stdio.h>
int main (int argc, char *argv[])
{
EPhoneNumberMatch match;
const char *n1 = "+4917611122233";
const char *n2 = "017611122233";
match = e_phone_number_compare_strings (n1, n2, NULL);
switch (match) {
case E_PHONE_NUMBER_MATCH_NONE:
printf ("no match\n");
break;
case E_PHONE_NUMBER_MATCH_SHORT:
printf ("short match\n");
break;
case E_PHONE_NUMBER_MATCH_NATIONAL:
printf ("national match\n");
break;
case E_PHONE_NUMBER_MATCH_EXACT:
printf ("exact match\n");
break;
default:
break;
}
return 0;
}
```
~~Edit: Actually I'm failing to link when invoking `gcc $(pkg-config --libs --cflags libebook-contacts-1.2) ephone.c`, but that code is pretty much what is being used in my contact lookup code.~~
~~If anyone knows if there's something wrong with that invocation I'd be grateful as that would make testing a bit easier :)~~https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/356LDAP: Consume departmentNumber2021-12-02T09:42:55ZДилян Палаузовgit-dpa@aegee.orgLDAP: Consume departmentNumberI create an LDAP addressbook for [ldap://ldap.aegee.org/dc=aegee,dc=org??sub](ldap://ldap.aegee.org/dc=aegee,dc=org??sub).
The entry
```
$ ldapsearch -xLLLZZH ldap://ldap.aegee.org -b"ou=qsu;cn=bodies;dc=aegee,dc=org"
dn: ou=QSU,cn=bod...I create an LDAP addressbook for [ldap://ldap.aegee.org/dc=aegee,dc=org??sub](ldap://ldap.aegee.org/dc=aegee,dc=org??sub).
The entry
```
$ ldapsearch -xLLLZZH ldap://ldap.aegee.org -b"ou=qsu;cn=bodies;dc=aegee,dc=org"
dn: ou=QSU,cn=bodies,dc=aegee,dc=org
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: Summer University Project
description:: VGhlIFN1bW1lciBVbml2ZXJzaXR5IFByb2plY3QgaXMgY2VudHJhbGx5IGNvb3JkaW5hdGVkIGJ5IHRoZSBTdW1tZXIgVW5pdmVyc2l0eSBDb29yZGluYXRpb24gVGVhbS4gVGhlIFNVQ1QgaXMgYSB0ZWFtIEFFR0VFLW1lbWJlcnMgZnJvbSBkaWZmZXJlbnQgcGFydHMgb2YgRXVyb3BlIHBsdXMgb25lIGFwcG9pbnRlZCBDb21pdMOpIERpcmVjdGV1ciBtZW1iZXIu
displayName: Summer University Project
sn: Summer University Project
labeledURI: https://my.aegee.eu/bodies/19 OMS page
mail: suct@aegee.org
postalAddress: Notelaarsstraat 55
ou: QSU
departmentNumber: Project
departmentNumber: SUCT
```
has `departmentNumber` field, which is not consumed by EDS.
Rationale: The ou(organizationalUnit) has an alias. I want to put the alias under departmentNumber. Eventually the users shall be able to search for the alias/departmentNumber and find the result.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/355Camel: Ignore empty output from "Pipe to program" filter2022-04-25T10:59:48ZMilan CrhaCamel: Ignore empty output from "Pipe to program" filterThis is a follow up from https://gitlab.gnome.org/GNOME/evolution/-/issues/1604.
Make it possible to have the "pipe to program" script not return any data, in which case the original message will be used, not the returned (possibly modi...This is a follow up from https://gitlab.gnome.org/GNOME/evolution/-/issues/1604.
Make it possible to have the "pipe to program" script not return any data, in which case the original message will be used, not the returned (possibly modified) message from the script.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/354LDAP: Listen for ESource changes2022-07-22T09:45:30ZДилян Палаузовgit-dpa@aegee.orgLDAP: Listen for ESource changesI create a new address book to ldaps://ldap.aegee.org, Anonymous login, scope ONE Level, base `dc=aegee,dc=org`, and check “Copy content locally for offline operation”. The patch from https://gitlab.gnome.org/GNOME/evolution-data-server...I create a new address book to ldaps://ldap.aegee.org, Anonymous login, scope ONE Level, base `dc=aegee,dc=org`, and check “Copy content locally for offline operation”. The patch from https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/352 is applied. Evolution shows two entries.
Now I change the scope to Subtree and trigger refresh. The address book does not show additional entries and the refreshing circle was displayed for very short time.
I restart Evolution, trigger Refresh, the looping circle is displayed for longer time and the downloaded data is displayed.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/353Inconstistent To: completion in the Mail To: field2023-01-19T06:40:18ZДилян Палаузовgit-dpa@aegee.orgInconstistent To: completion in the Mail To: fieldI have several address books - one local, nine CardDAV books, two offline LDAP, and one online LDAP. All are marked as “Autocomplete with this address book”.
In a new mail window, To: I type `sof`. This is supposed to find: one contact...I have several address books - one local, nine CardDAV books, two offline LDAP, and one online LDAP. All are marked as “Autocomplete with this address book”.
In a new mail window, To: I type `sof`. This is supposed to find: one contact, which has soft in its displayname, one contact in each LDAP address book, the same contact in a CardDAV book (all latter four sources reference the same contact - it has sofi in its display name and in its email address). In addition there is one more CardDAV contact with two email addresses and one of the email addresses contains “sof”. This contact does not have sof in its name.
After I type sof, something no results are found. If I close the window, open it and type again sof, then some of the results are shown. When I type `sof` and no results are shown, I fill to `soft`, then see some proposals, then detele the `t`, then in incomplete list is shown. Everytime I try it, it behaves differently.https://gitlab.gnome.org/GNOME/evolution-data-server/-/issues/351LDAP: Conditionally use displayName for file-as2022-07-11T13:56:11ZДилян Палаузовgit-dpa@aegee.orgLDAP: Conditionally use displayName for file-asThis entry:
```
$ ldapsearch -ZZLLLx -H ldap://ldap.aegee.org -b "uid=AEGEE Election Observation (Project),ou=bodies,o=AEGEE"
dn: uid=AEGEE Election Observation (Project),ou=bodies,o=AEGEE
objectClass: person
objectClass: organizationalP...This entry:
```
$ ldapsearch -ZZLLLx -H ldap://ldap.aegee.org -b "uid=AEGEE Election Observation (Project),ou=bodies,o=AEGEE"
dn: uid=AEGEE Election Observation (Project),ou=bodies,o=AEGEE
objectClass: person
objectClass: organizationalPerson
objectClass: inetOrgPerson
cn: AEGEE Election Observation (Project)
departmentNumber: Project
departmentNumber: QEO
description: AEGEE Election Observation organises observation missions to elections in Europe. A typical mission lasts for 7 days and consists of 24 young European observers (any AEGEE member can apply to be an observer). During the mission, they meet politicians, institutions and youth organisations,on election day they observe the voting and vote-counting procedures on the ground. After the mission, they publish a report about the elections - and in particular about the participation of young people in these elections.
displayName: AEGEE Election Observation (Project)
sn: AEGEE Election Observation (Project)
labeledURI: https://my.aegee.eu/bodies/11 OMS page
mail: aeo@aegee.org
postalAddress: Notelaarsstraat 55
uid: AEGEE Election Observation (Project)
```
is rendered in the Address Card/Contact preview as:
![screenshot-eom](/uploads/a57a63fa0d3edbd30b48485f1cb742b1/screenshot-eom.png)
As can be seen, the word “Election” is hardly visible and the term “Election Observation” appears together as whole only by accident (because it comes in displayName, which is mapped to Nickname). While the LDAP entry presents the object as inetOrgPerson, this is not a natural person, but (more or less) a juridical person. As jurudical person, it does not have givenname or surname, but has description, homepage, email and postal address. Presenting it as inetOrgPerson makes possible to show the entry in address books.
In this case, the “Full name” is “AEGEE Election Observation (Project)”, but the “File as” property is “Observation (Project), AEGEE”. That said, the full name is stripped and the stripped text is displayed in the contact preview.
I propose mapping displayname to the FileAs property, and use it both as Addressbook Card title and in the preview.