From 67ae065e5c50be6e9920139115dc87f92f80948d5195d14522dd79f6b08c3d03 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 29 Dec 2023 08:54:27 +0000 Subject: [PATCH] Accepting request 1135436 from home:dirkmueller:Factory - update to 3.0.17: * Escape commas in x-property TEXT values * Built-in timezones updated to tzdata2023c * icalparser_ctrl setting defines how to handle invalid CONTROL characters during parsing * New publicly available functions: + get_zone_directory() + icalparser_get_ctrl + icalparser_set_ctrl * Built-in timezones updated to tzdata2021e - update to 3.0.10: * Fix generating wrong recurrence rules - filelist fix for the glib build * Fix cross-compile support in libical-glib OBS-URL: https://build.opensuse.org/request/show/1135436 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/libical?expand=0&rev=88 --- ...vcc.y-factor-out-hexdigit-conversion.patch | 85 +++++++++---------- ...nite-loop-with-lower-case-hex-digits.patch | 39 ++++----- ...ix-infinite-loop-with-non-hex-digits.patch | 23 +++-- ...ore-field-separator-in-QUOTED-PRINTA.patch | 23 +++-- libical-3.0.16.tar.gz | 3 - libical-3.0.17.tar.gz | 3 + libical.changes | 23 +++-- libical.spec | 4 +- 8 files changed, 102 insertions(+), 101 deletions(-) delete mode 100644 libical-3.0.16.tar.gz create mode 100644 libical-3.0.17.tar.gz diff --git a/0001-vcc.y-factor-out-hexdigit-conversion.patch b/0001-vcc.y-factor-out-hexdigit-conversion.patch index 9ea00da..0fde9fd 100644 --- a/0001-vcc.y-factor-out-hexdigit-conversion.patch +++ b/0001-vcc.y-factor-out-hexdigit-conversion.patch @@ -9,11 +9,46 @@ References: https://github.com/libical/libical/pull/354 src/libicalvcal/vcc.y | 17 +++++++++++------ 2 files changed, 22 insertions(+), 12 deletions(-) -diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c -index d47bc099..c2a743c2 100644 ---- a/src/libicalvcal/vcc.c -+++ b/src/libicalvcal/vcc.c -@@ -1126,6 +1126,15 @@ static int match_begin_end_name(int end) { +Index: libical-3.0.17/src/libicalvcal/vcc.c +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.c ++++ libical-3.0.17/src/libicalvcal/vcc.c +@@ -985,6 +985,15 @@ static int match_begin_end_name(int end) + return 0; + } + ++static int hexdigit_decode(char c) ++{ ++ if (c >= '0' && c <= '9') ++ return c - '0'; ++ if (c >= 'A' && c <= 'F') ++ return c - 'A' + 10; ++ return -1; ++} ++ + static char* lexGetQuotedPrintable(void) + { + char cur; +@@ -998,12 +1007,8 @@ static char* lexGetQuotedPrintable(void) + int next[2]; + int i; + for (i = 0; i < 2; i++) { +- next[i] = lexGetc(); +- if (next[i] >= '0' && next[i] <= '9') +- c = c * 16 + next[i] - '0'; +- else if (next[i] >= 'A' && next[i] <= 'F') +- c = c * 16 + next[i] - 'A' + 10; +- else ++ next[i] = hexdigit_decode(lexGetc()); ++ if (next[i] < 0) + break; + } + if (i == 0) { +Index: libical-3.0.17/src/libicalvcal/vcc.y +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.y ++++ libical-3.0.17/src/libicalvcal/vcc.y +@@ -949,6 +949,15 @@ static int match_begin_end_name(int end) return 0; } @@ -29,7 +64,7 @@ index d47bc099..c2a743c2 100644 static char* lexGetQuotedPrintable() { char cur; -@@ -1139,12 +1148,8 @@ static char* lexGetQuotedPrintable() +@@ -962,12 +971,8 @@ static char* lexGetQuotedPrintable() int next[2]; int i; for (i = 0; i < 2; i++) { @@ -44,41 +79,3 @@ index d47bc099..c2a743c2 100644 break; } if (i == 0) { -diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y -index d97ea83b..45243df6 100644 ---- a/src/libicalvcal/vcc.y -+++ b/src/libicalvcal/vcc.y -@@ -947,6 +947,15 @@ static int match_begin_end_name(int end) { - return 0; - } - -+static int hexdigit_decode(char c) -+{ -+ if (c >= '0' && c <= '9') -+ return c - '0'; -+ if (c >= 'A' && c <= 'F') -+ return c - 'A' + 10; -+ return -1; -+} -+ - static char* lexGetQuotedPrintable() - { - char cur; -@@ -960,12 +969,8 @@ static char* lexGetQuotedPrintable() - int next[2]; - int i; - for (i = 0; i < 2; i++) { -- next[i] = lexGetc(); -- if (next[i] >= '0' && next[i] <= '9') -- c = c * 16 + next[i] - '0'; -- else if (next[i] >= 'A' && next[i] <= 'F') -- c = c * 16 + next[i] - 'A' + 10; -- else -+ next[i] = hexdigit_decode(lexGetc()); -+ if (next[i] < 0) - break; - } - if (i == 0) { --- -2.19.1 - diff --git a/0002-vcc.y-fix-infinite-loop-with-lower-case-hex-digits.patch b/0002-vcc.y-fix-infinite-loop-with-lower-case-hex-digits.patch index fa85fcd..858aacd 100644 --- a/0002-vcc.y-fix-infinite-loop-with-lower-case-hex-digits.patch +++ b/0002-vcc.y-fix-infinite-loop-with-lower-case-hex-digits.patch @@ -15,11 +15,24 @@ References: #353 src/libicalvcal/vcc.y | 2 ++ 2 files changed, 4 insertions(+) -diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c -index c2a743c2..29354df4 100644 ---- a/src/libicalvcal/vcc.c -+++ b/src/libicalvcal/vcc.c -@@ -1132,6 +1132,8 @@ static int hexdigit_decode(char c) +Index: libical-3.0.17/src/libicalvcal/vcc.c +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.c ++++ libical-3.0.17/src/libicalvcal/vcc.c +@@ -991,6 +991,8 @@ static int hexdigit_decode(char c) + return c - '0'; + if (c >= 'A' && c <= 'F') + return c - 'A' + 10; ++ if (c >= 'a' && c <= 'f') ++ return c - 'a' + 10; + return -1; + } + +Index: libical-3.0.17/src/libicalvcal/vcc.y +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.y ++++ libical-3.0.17/src/libicalvcal/vcc.y +@@ -955,6 +955,8 @@ static int hexdigit_decode(char c) return c - '0'; if (c >= 'A' && c <= 'F') return c - 'A' + 10; @@ -28,19 +41,3 @@ index c2a743c2..29354df4 100644 return -1; } -diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y -index 45243df6..a052e9a2 100644 ---- a/src/libicalvcal/vcc.y -+++ b/src/libicalvcal/vcc.y -@@ -953,6 +953,8 @@ static int hexdigit_decode(char c) - return c - '0'; - if (c >= 'A' && c <= 'F') - return c - 'A' + 10; -+ if (c >= 'a' && c <= 'f') -+ return c - 'a' + 10; - return -1; - } - --- -2.19.1 - diff --git a/0003-vcc.y-fix-infinite-loop-with-non-hex-digits.patch b/0003-vcc.y-fix-infinite-loop-with-non-hex-digits.patch index af2b5e6..2d68f6c 100644 --- a/0003-vcc.y-fix-infinite-loop-with-non-hex-digits.patch +++ b/0003-vcc.y-fix-infinite-loop-with-non-hex-digits.patch @@ -15,11 +15,11 @@ References: #353 src/libicalvcal/vcc.y | 38 ++++++++++++++++---------------------- 2 files changed, 32 insertions(+), 44 deletions(-) -diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c -index 29354df4..f723a4e1 100644 ---- a/src/libicalvcal/vcc.c -+++ b/src/libicalvcal/vcc.c -@@ -1146,31 +1146,25 @@ static char* lexGetQuotedPrintable() +Index: libical-3.0.17/src/libicalvcal/vcc.c +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.c ++++ libical-3.0.17/src/libicalvcal/vcc.c +@@ -1005,31 +1005,25 @@ static char* lexGetQuotedPrintable(void) cur = lexGetc(); switch (cur) { case '=': { @@ -67,11 +67,11 @@ index 29354df4..f723a4e1 100644 break; } /* '=' */ case '\n': { -diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y -index a052e9a2..4f52fe35 100644 ---- a/src/libicalvcal/vcc.y -+++ b/src/libicalvcal/vcc.y -@@ -967,31 +967,25 @@ static char* lexGetQuotedPrintable() +Index: libical-3.0.17/src/libicalvcal/vcc.y +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.y ++++ libical-3.0.17/src/libicalvcal/vcc.y +@@ -969,31 +969,25 @@ static char* lexGetQuotedPrintable() cur = lexGetc(); switch (cur) { case '=': { @@ -119,6 +119,3 @@ index a052e9a2..4f52fe35 100644 break; } /* '=' */ case '\n': { --- -2.19.1 - diff --git a/0005-vcc.y-do-not-ignore-field-separator-in-QUOTED-PRINTA.patch b/0005-vcc.y-do-not-ignore-field-separator-in-QUOTED-PRINTA.patch index 407cda9..f8d9c92 100644 --- a/0005-vcc.y-do-not-ignore-field-separator-in-QUOTED-PRINTA.patch +++ b/0005-vcc.y-do-not-ignore-field-separator-in-QUOTED-PRINTA.patch @@ -15,11 +15,11 @@ References: #353 src/libicalvcal/vcc.y | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) -diff --git a/src/libicalvcal/vcc.c b/src/libicalvcal/vcc.c -index f723a4e1..fd056992 100644 ---- a/src/libicalvcal/vcc.c -+++ b/src/libicalvcal/vcc.c -@@ -1167,8 +1167,9 @@ static char* lexGetQuotedPrintable() +Index: libical-3.0.17/src/libicalvcal/vcc.c +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.c ++++ libical-3.0.17/src/libicalvcal/vcc.c +@@ -1026,8 +1026,9 @@ static char* lexGetQuotedPrintable(void) lexAppendc(c | d); break; } /* '=' */ @@ -31,11 +31,11 @@ index f723a4e1..fd056992 100644 goto EndString; } case (char)EOF: -diff --git a/src/libicalvcal/vcc.y b/src/libicalvcal/vcc.y -index 4f52fe35..df770df6 100644 ---- a/src/libicalvcal/vcc.y -+++ b/src/libicalvcal/vcc.y -@@ -988,8 +988,9 @@ static char* lexGetQuotedPrintable() +Index: libical-3.0.17/src/libicalvcal/vcc.y +=================================================================== +--- libical-3.0.17.orig/src/libicalvcal/vcc.y ++++ libical-3.0.17/src/libicalvcal/vcc.y +@@ -990,8 +990,9 @@ static char* lexGetQuotedPrintable() lexAppendc(c | d); break; } /* '=' */ @@ -47,6 +47,3 @@ index 4f52fe35..df770df6 100644 goto EndString; } case (char)EOF: --- -2.19.1 - diff --git a/libical-3.0.16.tar.gz b/libical-3.0.16.tar.gz deleted file mode 100644 index 0361d89..0000000 --- a/libical-3.0.16.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b44705dd71ca4538c86fb16248483ab4b48978524fb1da5097bd76aa2e0f0c33 -size 921245 diff --git a/libical-3.0.17.tar.gz b/libical-3.0.17.tar.gz new file mode 100644 index 0000000..91380ce --- /dev/null +++ b/libical-3.0.17.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bcda9a6db6870240328752854d1ea475af9bbc6356e6771018200e475e5f781b +size 909125 diff --git a/libical.changes b/libical.changes index 6dd3563..e513a6a 100644 --- a/libical.changes +++ b/libical.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Sat Nov 18 19:52:45 UTC 2023 - Dirk Müller + +- update to 3.0.17: + * Escape commas in x-property TEXT values + * Built-in timezones updated to tzdata2023c + * icalparser_ctrl setting defines how to handle invalid CONTROL + characters during parsing + * New publicly available functions: + + get_zone_directory() + + icalparser_get_ctrl + + icalparser_set_ctrl + ------------------------------------------------------------------- Wed Oct 19 09:14:47 UTC 2022 - Chris Coutinho @@ -45,7 +58,7 @@ Sat Dec 11 09:22:05 UTC 2021 - Dirk Müller * Handle if DTEND and DURATION are both missing * Improved FindICU (copied from official CMake) * Buildsystem fixes (especially for the Ninja generator) - * Built-in timezones updated to tzdata2021e + * Built-in timezones updated to tzdata2021e ------------------------------------------------------------------- Mon Dec 6 07:48:27 UTC 2021 - Dirk Müller @@ -63,8 +76,8 @@ Mon Dec 6 07:48:27 UTC 2021 - Dirk Müller ------------------------------------------------------------------- Tue Apr 20 09:08:38 UTC 2021 - Paolo Stivanin -- update to 3.0.10: - * Fix generating wrong recurrence rules +- update to 3.0.10: + * Fix generating wrong recurrence rules * Fix a bug computing transitions in tzfiles * Fix reading TZif files to use TZ string in the footer as the last (non-terminating) transitions @@ -74,7 +87,7 @@ Tue Apr 20 09:08:38 UTC 2021 - Paolo Stivanin ------------------------------------------------------------------- Wed Apr 7 21:07:41 UTC 2021 - Dirk Müller -- filelist fix for the glib build +- filelist fix for the glib build ------------------------------------------------------------------- Sun Jan 24 20:01:42 UTC 2021 - Dirk Müller @@ -91,7 +104,7 @@ Sun Jan 24 20:01:42 UTC 2021 - Dirk Müller * Add backwards compatibility for previous TZIDs * Built-in timezones updated to tzdata2020d * Fix build with newer libicu - * Fix cross-compile support in libical-glib + * Fix cross-compile support in libical-glib - remove 0001-Fix-build-with-icu-68.1.patch libical-read-v2-v3-data.patch: upstream diff --git a/libical.spec b/libical.spec index a339e25..94fd8c4 100644 --- a/libical.spec +++ b/libical.spec @@ -1,7 +1,7 @@ # # spec file # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,7 +26,7 @@ %bcond_with glib %endif Name: libical%{name_ext} -Version: 3.0.16 +Version: 3.0.17 Release: 0 URL: https://github.com/libical/libical Source: %{url}/releases/download/v%{version}/libical-%{version}.tar.gz