From b6200112b33822c1c81a569f359dd71facb2dc2f Mon Sep 17 00:00:00 2001 From: Umashankar Avagadda Date: Tue, 5 Dec 2023 11:39:49 +0000 Subject: [PATCH] ZCS-13919:Changes for Ubuntu22 support --- .../patches/fix_compile_issues.patch | 120 +++++++++++++----- .../rpm/SPECS/io-socket-ssl.spec | 2 +- .../rpm/SPECS/mail-spamassassin.spec | 1 - .../rpm/SPECS/net-http.spec | 2 +- .../rpm/SPECS/spamassassin-rules.spec | 6 +- 5 files changed, 94 insertions(+), 37 deletions(-) diff --git a/thirdparty/altermime/patches/fix_compile_issues.patch b/thirdparty/altermime/patches/fix_compile_issues.patch index 9acd67a2c..476c05c69 100644 --- a/thirdparty/altermime/patches/fix_compile_issues.patch +++ b/thirdparty/altermime/patches/fix_compile_issues.patch @@ -1,7 +1,22 @@ -diff -ur a/MIME_headers.c b/MIME_headers.c ---- a/MIME_headers.c 2023-09-27 11:05:54.988276818 +0000 -+++ b/MIME_headers.c 2023-09-27 11:06:26.996936153 +0000 -@@ -785,7 +785,7 @@ +From 4f89cd2aa95a553f1a84c00f0a83c98fc7867ae3 Mon Sep 17 00:00:00 2001 +From: Paul L Daniels +Date: Wed, 24 May 2023 22:11:46 +1000 +Subject: [PATCH] Modernisation of code; fixed up various compile issues. + +--- + MIME_headers.c | 10 +++++----- + altermime.c | 2 +- + mime_alter.c | 15 ++++++++------- + mime_alter.h | 6 ++++-- + pldstr.c | 2 +- + qpe.c | 2 +- + 6 files changed, 20 insertions(+), 17 deletions(-) + +diff --git a/MIME_headers.c b/MIME_headers.c +index db294d9..d2b9c77 100644 +--- a/MIME_headers.c ++++ b/MIME_headers.c +@@ -785,7 +785,7 @@ int MIMEH_save_doubleCR( FFGET_FILE *f ) do { glb.doubleCR_count++; @@ -10,7 +25,7 @@ diff -ur a/MIME_headers.c b/MIME_headers.c } while (stat(glb.doubleCRname, &st) == 0); -@@ -2012,7 +2012,7 @@ +@@ -2012,7 +2012,7 @@ int MIMEH_parse_contenttype( char *header_name, char *header_value, struct MIMEH { if (strlen(glb.appledouble_filename)>0) { @@ -19,7 +34,7 @@ diff -ur a/MIME_headers.c b/MIME_headers.c } else { snprintf(hinfo->filename, sizeof(hinfo->filename), "applefile"); } -@@ -2921,8 +2921,8 @@ +@@ -2921,8 +2921,8 @@ int MIMEH_headers_process( struct MIMEH_header_info *hinfo, char *headers ) // Final analysis on our headers: if ( hinfo->content_type == _CTYPE_MULTIPART_APPLEDOUBLE ) { @@ -30,7 +45,7 @@ diff -ur a/MIME_headers.c b/MIME_headers.c snprintf( hinfo->filename, sizeof(hinfo->filename), "%s", tmp ); snprintf( hinfo->name, sizeof(hinfo->name), "%s", tmp ); } -@@ -3034,7 +3034,7 @@ +@@ -3034,7 +3034,7 @@ int MIMEH_headers_get( struct MIMEH_header_info *hinfo, FFGET_FILE *f ) // Initialise header defects array. hinfo->header_defect_count = 0; @@ -39,15 +54,11 @@ diff -ur a/MIME_headers.c b/MIME_headers.c snprintf( hinfo->content_type_string, _MIMEH_CONTENT_TYPE_MAX , "text/plain" ); -@@ -3238,4 +3238,3 @@ - } - - //----------------------END -- -diff -ur a/altermime.c b/altermime.c ---- a/altermime.c 2023-09-27 11:10:46.846337912 +0000 -+++ b/altermime.c 2023-09-27 11:11:42.727508707 +0000 -@@ -375,7 +375,7 @@ +diff --git a/altermime.c b/altermime.c +index 49b46e8..dcbd599 100644 +--- a/altermime.c ++++ b/altermime.c +@@ -375,7 +375,7 @@ int main( int argc, char **argv ) glb.input_is_stdin = 1; @@ -56,10 +67,11 @@ diff -ur a/altermime.c b/altermime.c // free(glb.input_file); glb.input_file = strdup(scratch); -diff -ur a/mime_alter.c b/mime_alter.c ---- a/mime_alter.c 2023-09-27 10:54:05.861626358 +0000 -+++ b/mime_alter.c 2023-09-27 10:55:24.479331955 +0000 -@@ -1543,7 +1543,7 @@ +diff --git a/mime_alter.c b/mime_alter.c +index 01db5f7..1e638b4 100644 +--- a/mime_alter.c ++++ b/mime_alter.c +@@ -1543,7 +1543,7 @@ int AM_add_disclaimer_insert_html( struct AM_disclaimer_details *dd, FFGET_FILE if (dd->boundary_found == 1) { @@ -68,9 +80,41 @@ diff -ur a/mime_alter.c b/mime_alter.c boundary_length = strlen(boundary); } -diff -ur a/mime_alter.h b/mime_alter.h ---- a/mime_alter.h 2023-09-27 10:58:30.843352861 +0000 -+++ b/mime_alter.h 2023-09-27 10:58:51.875762772 +0000 +@@ -3378,13 +3378,13 @@ int AM_insert_Xheader( char *fname, char *xheader) + snprintf(tpn, sizeof(tpn), "%s",fname); + + do { +- if (strlen(tpn) < (sizeof(tpn) -2)) ++ size_t tpn_len = strlen(tpn); ++ if (tpn_len < (sizeof(tpn) -2)) + { + /** Changed the temp filename suffix chat to a hypen because under + ** windows appending multiple .'s results in a filename that isn't + ** acceptable - Thanks to Nico for bringing this to my attention **/ +- // LOGGER_log("%s:%d:AM_insert_Xheader:NOTICE: Adjusting temp file name for header insert",FL); +- snprintf(tpn, sizeof(tpn),"%sX", tpn); ++ strncat(tpn, "X", sizeof(tpn) -2); + + } else { + LOGGER_log("%s:%d:AM_insert_Xheader:ERROR: Temporary file name string buffer out of space!",FL); +@@ -3516,9 +3516,10 @@ int AM_alter_header( char *filename, char *header, char *change, int change_mode + snprintf(tpn, sizeof(tpn), "%s",filename); + + do { +- if (strlen(tpn) < (sizeof(tpn) -2)) +- { +- snprintf(tpn, sizeof(tpn),"%sX", tpn); ++ size_t tpn_len = strlen(tpn); ++ ++ if (tpn_len < (sizeof(tpn) -2)) { ++ strncat(tpn, "X", sizeof(tpn) -2); + } + else + { +diff --git a/mime_alter.h b/mime_alter.h +index 933c657..c7e121b 100644 +--- a/mime_alter.h ++++ b/mime_alter.h @@ -23,6 +23,8 @@ #define AM_NULLIFY_MATCH_MODE_FILENAME 1 #define AM_NULLIFY_MATCH_MODE_CONTENT_TYPE 2 @@ -80,10 +124,20 @@ diff -ur a/mime_alter.h b/mime_alter.h struct AM_disclaimer_details { // File details -diff -ur a/pldstr.c b/pldstr.c ---- a/pldstr.c 2023-09-27 11:01:32.718946199 +0000 -+++ b/pldstr.c 2023-09-27 11:02:13.067756480 +0000 -@@ -297,7 +297,7 @@ +@@ -33,7 +35,7 @@ struct AM_disclaimer_details { + int content_type; + int content_encoding; + int boundary_found; +- char boundary[1024]; ++ char boundary[AM_BOUNDARY_BUFFER_SIZE]; + + // + +diff --git a/pldstr.c b/pldstr.c +index fdacdd2..ca29de3 100644 +--- a/pldstr.c ++++ b/pldstr.c +@@ -297,7 +297,7 @@ char *PLD_strtok( struct PLD_strtok *st, char *line, char *delimeters ) result = st->start; @@ -92,10 +146,11 @@ diff -ur a/pldstr.c b/pldstr.c { stop = strpbrk( st->start, delimeters ); /* locate our next delimeter */ -diff -ur a/qpe.c b/qpe.c ---- a/qpe.c 2023-09-27 11:07:41.034466948 +0000 -+++ b/qpe.c 2023-09-27 11:08:28.903460520 +0000 -@@ -106,7 +106,7 @@ +diff --git a/qpe.c b/qpe.c +index 249fb9d..8c2f461 100644 +--- a/qpe.c ++++ b/qpe.c +@@ -106,7 +106,7 @@ int qp_encode( char *out, size_t out_size, char *in, size_t in_size, char *line_ char charout[4]; int charout_size=0; @@ -104,3 +159,6 @@ diff -ur a/qpe.c b/qpe.c if (linestart == NULL) { linestart = in; } else { +-- +2.34.1 + diff --git a/thirdparty/perl-io-socket-ssl/zimbra-perl-io-socket-ssl/rpm/SPECS/io-socket-ssl.spec b/thirdparty/perl-io-socket-ssl/zimbra-perl-io-socket-ssl/rpm/SPECS/io-socket-ssl.spec index 62c3b849b..91280ed3c 100644 --- a/thirdparty/perl-io-socket-ssl/zimbra-perl-io-socket-ssl/rpm/SPECS/io-socket-ssl.spec +++ b/thirdparty/perl-io-socket-ssl/zimbra-perl-io-socket-ssl/rpm/SPECS/io-socket-ssl.spec @@ -1,7 +1,7 @@ Summary: SSL sockets with IO::Socket interface Name: zimbra-perl-io-socket-ssl Version: VERSION -Release: 1zimbra8.7b3ZAPPEND +Release: 1zimbra8.7b4ZAPPEND License: GPL+ or Artistic Source: %{name}-%{version}.tar.gz Packager: Zimbra Packaging Services diff --git a/thirdparty/perl-mail-spamassassin/zimbra-perl-mail-spamassassin/rpm/SPECS/mail-spamassassin.spec b/thirdparty/perl-mail-spamassassin/zimbra-perl-mail-spamassassin/rpm/SPECS/mail-spamassassin.spec index f2c554a88..07a13cc5c 100644 --- a/thirdparty/perl-mail-spamassassin/zimbra-perl-mail-spamassassin/rpm/SPECS/mail-spamassassin.spec +++ b/thirdparty/perl-mail-spamassassin/zimbra-perl-mail-spamassassin/rpm/SPECS/mail-spamassassin.spec @@ -1,4 +1,3 @@ -spec Summary: Mail::SpamAssassin - Spam detector and markup engine Name: zimbra-perl-MODNORMNAME Version: VERSION diff --git a/thirdparty/perl-net-http/zimbra-perl-net-http/rpm/SPECS/net-http.spec b/thirdparty/perl-net-http/zimbra-perl-net-http/rpm/SPECS/net-http.spec index 9e97b55a4..a436ea4e7 100644 --- a/thirdparty/perl-net-http/zimbra-perl-net-http/rpm/SPECS/net-http.spec +++ b/thirdparty/perl-net-http/zimbra-perl-net-http/rpm/SPECS/net-http.spec @@ -1,7 +1,7 @@ Summary: Net::HTTP - Low-level HTTP connection (client) Name: zimbra-perl-net-http Version: VERSION -Release: 1zimbra8.7b4ZAPPEND +Release: 1zimbra8.7b5ZAPPEND License: GPL+ or Artistic Source: %{name}-%{version}.tar.gz Packager: Zimbra Packaging Services diff --git a/thirdparty/spamassassin-rules/zimbra-spamassassin-rules/rpm/SPECS/spamassassin-rules.spec b/thirdparty/spamassassin-rules/zimbra-spamassassin-rules/rpm/SPECS/spamassassin-rules.spec index 9e312d244..f02a50f1c 100644 --- a/thirdparty/spamassassin-rules/zimbra-spamassassin-rules/rpm/SPECS/spamassassin-rules.spec +++ b/thirdparty/spamassassin-rules/zimbra-spamassassin-rules/rpm/SPECS/spamassassin-rules.spec @@ -1,7 +1,7 @@ Summary: Default ruleset for SpamAssassin Name: zimbra-spamassassin-rules Version: 1.0.0 -Release: 1zimbra8.8b6ZAPPEND +Release: 1zimbra8.8b7ZAPPEND License: Apache-2.0 Requires: zimbra-mta-base, zimbra-perl-mail-spamassassin >= 3.4.6-1zimbra8.8b4ZAPPEND Packager: Zimbra Packaging Services @@ -14,9 +14,9 @@ AutoReqProv: no Default ruleset for SpamAssassin %changelog -* Tue Jun 13 2023 Zimbra Packaging Services - VERSION-1zimbra8.8b6ZAPPEND +* Tue Jun 13 2023 Zimbra Packaging Services - VERSION-1zimbra8.8b7ZAPPEND - Updated spamassassin -* Mon Mar 28 2022 Zimbra Packaging Services - VERSION-1zimbra8.8b5ZAPPEND +* Mon Mar 28 2022 Zimbra Packaging Services - VERSION-1zimbra8.8b6ZAPPEND - Fix ZCS-11117, Upgraded spamassassin to 3.4.6 * Tue Aug 10 2021 Zimbra Packaging Services - VERSION-1zimbra8.8b5ZAPPEND -Updated dependency zimbra-perl-mail-spamassassin