public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Mattias Ellert <mattias.ellert@physics.uu.se>
To: git-commits@fedoraproject.org
Subject: [rpms/globus-proxy-utils] rawhide: Compile with OpenSSL 4
Date: Sun, 14 Jun 2026 08:54:26 GMT	[thread overview]
Message-ID: <178142726620.1.4263475900142646859.rpms-globus-proxy-utils-433bd533a860@fedoraproject.org> (raw)

            A new commit has been pushed.

            Repo   : rpms/globus-proxy-utils
            Branch : rawhide
            Commit : 433bd533a860a201869c1348a032eed8c81a77ab
            Author : Mattias Ellert <mattias.ellert@physics.uu.se>
            Date   : 2026-06-14T10:39:13+02:00
            Stats  : +676/-1 in 4 file(s)
            URL    : https://src.fedoraproject.org/rpms/globus-proxy-utils/c/433bd533a860a201869c1348a032eed8c81a77ab?branch=rawhide

            Log:
            Compile with OpenSSL 4
Fix compiler warnings

---
diff --git a/0001-Untabify-and-remove-trailing-white-space.patch b/0001-Untabify-and-remove-trailing-white-space.patch
new file mode 100644
index 0000000..554f3d1
--- /dev/null
+++ b/0001-Untabify-and-remove-trailing-white-space.patch
@@ -0,0 +1,517 @@
+From 3ccdaa0236230bbcbcbf339e7dfdfaf23c10bd6f Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Wed, 20 May 2026 00:15:37 +0200
+Subject: [PATCH 1/3] Untabify and remove trailing white-space
+
+---
+ .../source/programs/grid-cert-diagnostics.c   |  12 +-
+ .../source/programs/grid_proxy_init.c         | 120 +++++++++---------
+ 2 files changed, 66 insertions(+), 66 deletions(-)
+
+diff --git a/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c b/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
+index ec72a0e78..103dbc77e 100644
+--- a/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
++++ b/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
+@@ -176,7 +176,7 @@ main(int argc, char * argv[])
+                 (strcmp(optarg, "HYBRID") == 0))
+             {
+                 globus_libc_setenv(
+-                        "GLOBUS_GSSAPI_NAME_COMPATIBILITY", 
++                        "GLOBUS_GSSAPI_NAME_COMPATIBILITY",
+                         optarg,
+                         1);
+             }
+@@ -481,7 +481,7 @@ time_check(void)
+         goto sendto_fail;
+     }
+     now = time(NULL);
+-    rc = recv(sfd, buf, 4, 0); 
++    rc = recv(sfd, buf, 4, 0);
+     if (rc < 4)
+     {
+         printf("WARNING: Unparsable response from time.nist.gov\n");
+@@ -528,7 +528,7 @@ time_check(void)
+                      + (((uint32_t) buf[3]))) - INTMAX_C(2208988800);
+ 
+     local_seconds_since_unix_epoch = (intmax_t)
+-            difftime(now, unix_epoch_time) - tz_off; 
++            difftime(now, unix_epoch_time) - tz_off;
+ 
+     delta = imaxabs(local_seconds_since_unix_epoch - seconds_since_unix_epoch);
+ 
+@@ -1103,7 +1103,7 @@ check_trusted_certs(void)
+         char hash_string[16];
+ 
+         printf("Checking CA file %s... ", ca_cert_file);
+-              
++
+         result = globus_gsi_cred_read_cert(handle, ca_cert_file);
+         if (result != GLOBUS_SUCCESS)
+         {
+@@ -1128,7 +1128,7 @@ check_trusted_certs(void)
+ 
+         if (strstr(ca_cert_file, hash_string) == 0)
+         {
+-            printf("failed\n    CA hash '%s' does not match CA filename\n", hash_string); 
++            printf("failed\n    CA hash '%s' does not match CA filename\n", hash_string);
+             continue;
+         }
+         printf("ok\nChecking CA certificate name for %s...", hash_string);
+@@ -1690,7 +1690,7 @@ check_service_cert_chain(
+                 printf(" dns:%.*s",
+                        (int) subject_alt_name->d.dNSName->length,
+                        subject_alt_name->d.dNSName->data);
+-                    
++
+             }
+             else if (subject_alt_name->type == GEN_IPADD)
+             {
+diff --git a/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c b/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c
+index dc2d99995..3d49b25b5 100644
+--- a/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c
++++ b/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c
+@@ -124,23 +124,23 @@ globus_i_gsi_proxy_utils_print_error(
+ 
+ static int
+ globus_i_gsi_proxy_utils_pwstdin_callback(
+-    char *                              buf, 
+-    int                                 num, 
++    char *                              buf,
++    int                                 num,
+     int                                 w,
+     void *                              u);
+ 
+ static void
+ globus_i_gsi_proxy_utils_key_gen_callback(
+-    int                                 p, 
++    int                                 p,
+     int                                 n,
+     void *                              dummy);
+ 
+-static int 
++static int
+ globus_l_gsi_proxy_utils_extension_callback(
+     globus_gsi_callback_data_t          callback_data,
+     X509_EXTENSION *                    extension);
+ 
+-int 
++int
+ main(
+     int                                 argc,
+     char **                             argv)
+@@ -177,7 +177,7 @@ main(
+     long                                path_length = -1;
+     pem_password_cb *                   pw_cb = NULL;
+     int                                 return_value = 0;
+-    
++
+     if(globus_module_activate(GLOBUS_GSI_PROXY_MODULE) != (int)GLOBUS_SUCCESS)
+     {
+         globus_libc_fprintf(
+@@ -276,7 +276,7 @@ main(
+         {
+             int                         hours;
+             int                         minutes;
+-            args_verify_next(arg_index, argp, 
++            args_verify_next(arg_index, argp,
+                              "valid time argument H:M missing");
+             if(sscanf(argv[++arg_index], "%d:%d", &hours, &minutes) < 2)
+             {
+@@ -292,12 +292,12 @@ main(
+                     "be in the range 0-60");
+             }
+             /* error on overflow */
+-            
++
+             if(hours > (((time_t)(~0U>>1))/3600-1))
+             {
+                 hours = (((time_t)(~0U>>1))/3600-1);
+             }
+-            
++
+             valid = (hours * 60) + minutes;
+ 
+         }
+@@ -318,7 +318,7 @@ main(
+         {
+             args_verify_next(arg_index, argp, "integer argument missing");
+             key_bits = atoi(argv[arg_index + 1]);
+-            if((key_bits != 512) && (key_bits != 1024) && 
++            if((key_bits != 512) && (key_bits != 1024) &&
+                (key_bits != 2048) && (key_bits != 4096))
+             {
+                 args_error(argp, "value must be one of 512,1024,2048,4096");
+@@ -333,7 +333,7 @@ main(
+         {
+             if (cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK)
+             {
+-                args_error(argp, 
++                args_error(argp,
+                            "-independent, -limited and -policy/-policy-language are mutually exclusive");
+             }
+             else
+@@ -345,7 +345,7 @@ main(
+         {
+             if (cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK)
+             {
+-                args_error(argp, 
++                args_error(argp,
+                            "-independent, -limited and -policy/-policy-language are mutually exclusive");
+             }
+             else
+@@ -357,7 +357,7 @@ main(
+         {
+             if ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_FORMAT_MASK) != 0)
+             {
+-                args_error(argp, 
++                args_error(argp,
+                            "-old, -rfc, and -draft are mutually exclusive");
+             }
+             else
+@@ -407,7 +407,7 @@ main(
+                 args_error(argp,
+                            "-independent, -limited and -policy/-policy-language are mutually exclusive");
+             }
+-            args_verify_next(arg_index, argp, 
++            args_verify_next(arg_index, argp,
+                              "policy file name missing");
+             policy_filename = argv[++arg_index];
+             cert_type |= GLOBUS_GSI_CERT_UTILS_TYPE_RESTRICTED_PROXY;
+@@ -418,7 +418,7 @@ main(
+             if ((cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK) != 0 &&
+                 (cert_type & GLOBUS_GSI_CERT_UTILS_TYPE_PROXY_MASK) != GLOBUS_GSI_CERT_UTILS_TYPE_RESTRICTED_PROXY)
+             {
+-                args_error(argp, 
++                args_error(argp,
+                            "-independent, -limited and -policy/-policy-language are mutually exclusive");
+             }
+             args_verify_next(arg_index, argp, "policy language missing");
+@@ -447,14 +447,14 @@ main(
+     /* A few sanity checks */
+     if(policy_filename && !policy_language)
+     {
+-        globus_libc_fprintf(stderr, 
++        globus_libc_fprintf(stderr,
+                             "\nERROR: If you specify a policy file "
+                             "you also need to specify a policy language.\n");
+         exit(1);
+     }
+ 
+     result = globus_gsi_proxy_handle_attrs_init(&proxy_handle_attrs);
+-    
++
+     if(result != GLOBUS_SUCCESS)
+     {
+         globus_i_gsi_proxy_utils_print_error(result, debug, __FILE__, __LINE__,
+@@ -474,9 +474,9 @@ main(
+             "Couldn't set the key bits for "
+             "the private key of the proxy certificate.");
+     }
+-    
++
+     result = globus_gsi_proxy_handle_attrs_set_key_gen_callback(
+-        proxy_handle_attrs, 
++        proxy_handle_attrs,
+         globus_i_gsi_proxy_utils_key_gen_callback);
+     if(result != GLOBUS_SUCCESS)
+     {
+@@ -500,9 +500,9 @@ main(
+             result, debug, __FILE__, __LINE__,
+             "Couldn't destroy proxy handle attributes.");
+     }
+-    
++
+     /* set the time valid in the proxy handle
+-     * used to be hours - now the time valid needs to be set in minutes 
++     * used to be hours - now the time valid needs to be set in minutes
+      */
+     result = globus_gsi_proxy_handle_set_time_valid(proxy_handle, valid);
+ 
+@@ -524,7 +524,7 @@ main(
+             result, debug, __FILE__, __LINE__,
+             "Couldn't set the type of the proxy cert.");
+     }
+-    
++
+     if(!user_cert_filename || !user_key_filename)
+     {
+         result = GLOBUS_GSI_SYSCONFIG_GET_USER_CERT_FILENAME(
+@@ -555,7 +555,7 @@ main(
+     {
+         user_key_filename = tmp_user_key_filename;
+     }
+-    
++
+     if(debug)
+     {
+         globus_libc_fprintf(stderr,
+@@ -587,8 +587,8 @@ main(
+ 
+     if(debug)
+     {
+-        globus_libc_fprintf(stderr, 
+-                            "\nTrusted CA Cert Dir: %s\n", 
++        globus_libc_fprintf(stderr,
++                            "\nTrusted CA Cert Dir: %s\n",
+                             ca_cert_dir ? ca_cert_dir : "(null)");
+     }
+ 
+@@ -631,7 +631,7 @@ main(
+         {
+             free(proxy_out_filename);
+         }
+-        
++
+         proxy_out_filename = proxy_absolute_path;
+ 
+         /* then split */
+@@ -644,7 +644,7 @@ main(
+             globus_i_gsi_proxy_utils_print_error(
+                 result, debug, __FILE__, __LINE__,
+                 "Can't split the full path into "
+-                "directory and filename. The full path is: %s", 
++                "directory and filename. The full path is: %s",
+                 proxy_absolute_path);
+             if(proxy_absolute_path)
+             {
+@@ -652,7 +652,7 @@ main(
+                 proxy_absolute_path = NULL;
+             }
+         }
+-                
++
+         result = GLOBUS_GSI_SYSCONFIG_DIR_EXISTS(temp_dir);
+         if(result != GLOBUS_SUCCESS)
+         {
+@@ -666,7 +666,7 @@ main(
+             }
+             else
+             {
+-                globus_module_deactivate_all();             
++                globus_module_deactivate_all();
+                 exit(1);
+             }
+         }
+@@ -676,7 +676,7 @@ main(
+             free(temp_dir);
+             temp_dir = NULL;
+         }
+-        
++
+         if(temp_filename)
+         {
+             free(temp_filename);
+@@ -731,7 +731,7 @@ main(
+                     "user certificate could "
+                     "not be retrieved.");
+             }
+-            
++
+             printf("Your identity: %s\n", subject);
+             if(subject)
+             {
+@@ -750,7 +750,7 @@ main(
+             globus_i_gsi_proxy_utils_print_error(
+                 result, debug, __FILE__, __LINE__,
+                 "Couldn't read user certificate\n"
+-                "cert file location: %s.", 
++                "cert file location: %s.",
+                 user_cert_filename);
+         }
+ 
+@@ -766,7 +766,7 @@ main(
+                     "user certificate could "
+                     "not be retrieved.");
+             }
+-            
++
+             printf("Your identity: %s\n", subject);
+             if(subject)
+             {
+@@ -778,7 +778,7 @@ main(
+                 subject = NULL;
+             }
+         }
+-        
++
+         result = globus_gsi_cred_read_key(
+             cred_handle,
+             user_key_filename,
+@@ -794,7 +794,7 @@ main(
+                                                 PEM_F_PEM_DO_HEADER,
+                                                 PEM_R_BAD_DECRYPT)
+                == GLOBUS_TRUE)
+-            { 
++            {
+                 globus_i_gsi_proxy_utils_print_error(
+                     result, debug, __FILE__, __LINE__,
+                     "Couldn't read user key: Bad passphrase for key in %s",
+@@ -823,41 +823,41 @@ main(
+                 "Can't set the path length in the proxy handle.");
+         }
+     }
+-    
++
+     /* add policies now */
+ 
+     if(policy_filename)
+     {
+         int                             policy_buf_size = 0;
+         FILE *                          policy_fp = NULL;
+-        
++
+         policy_fp = fopen(policy_filename, "r");
+         if(!policy_fp)
+         {
+-            fprintf(stderr, 
++            fprintf(stderr,
+                     "\nERROR: Unable to open policies "
+                     " file: %s\n\n", policy_filename);
+             exit(1);
+         }
+ 
+-        do 
++        do
+         {
+             policy_buf_size += 512;
+-            
++
+             /* First time through this is a essentially a malloc() */
+             policy_buf = realloc(policy_buf,
+                                       policy_buf_size);
+ 
+             if (policy_buf == NULL)
+             {
+-                fprintf(stderr, 
++                fprintf(stderr,
+                         "\nAllocation of space for "
+                         "policy buffer failed\n\n");
+                 exit(1);
+             }
+ 
+-            policy_buf_len += 
+-                fread(&policy_buf[policy_buf_len], 1, 
++            policy_buf_len +=
++                fread(&policy_buf[policy_buf_len], 1,
+                       512, policy_fp);
+ 
+             /*
+@@ -869,13 +869,13 @@ main(
+              */
+         }
+         while (policy_buf_len == policy_buf_size);
+-        
++
+         if (policy_buf_len > 0)
+         {
+-	  policy_NID = 
+-	      OBJ_create(policy_language,
+-			 policy_language,
+-			 policy_language);
++          policy_NID =
++              OBJ_create(policy_language,
++                         policy_language,
++                         policy_language);
+ 
+             result = globus_gsi_proxy_handle_set_policy(
+                 proxy_handle,
+@@ -888,11 +888,11 @@ main(
+                     result, debug, __FILE__, __LINE__,
+                     "Can't set the policy in the proxy handle.");
+             }
+-        }   
++        }
+ 
+         fclose(policy_fp);
+     }
+-    
++
+     if (!quiet)
+     {
+         printf("Creating proxy ");
+@@ -937,7 +937,7 @@ main(
+                 "Couldn't set the X.509 extension callback in the callback "
+                 "data.");
+         }
+-        
++
+         result = globus_gsi_callback_set_cert_dir(
+             callback_data,
+             ca_cert_dir);
+@@ -967,7 +967,7 @@ main(
+     else
+     {
+         result = globus_gsi_cred_verify(proxy_cred_handle);
+-        
++
+         if(result != GLOBUS_SUCCESS)
+         {
+             globus_i_gsi_proxy_utils_print_error(
+@@ -1025,7 +1025,7 @@ main(
+     {
+         globus_libc_fprintf(
+             stderr,
+-            "\nERROR: Your certificate has expired: %s\n\n", 
++            "\nERROR: Your certificate has expired: %s\n\n",
+             asctime(localtime(&goodtill)));
+         globus_module_deactivate_all();
+         exit(2);
+@@ -1033,7 +1033,7 @@ main(
+     else if(lifetime < (valid * 60))
+     {
+         globus_libc_fprintf(
+-            stderr, 
++            stderr,
+             "\nWarning: your certificate and proxy will expire %s "
+             "which is within the requested lifetime of the proxy\n",
+             asctime(localtime(&goodtill)));
+@@ -1042,7 +1042,7 @@ main(
+     {
+         globus_libc_fprintf(
+             stdout,
+-            "Your proxy is valid until: %s", 
++            "Your proxy is valid until: %s",
+             asctime(localtime(&goodtill)));
+     }
+ 
+@@ -1069,8 +1069,8 @@ main(
+ 
+ static int
+ globus_i_gsi_proxy_utils_pwstdin_callback(
+-    char *                              buf, 
+-    int                                 num, 
++    char *                              buf,
++    int                                 num,
+     int                                 w,
+     void *                              u)
+ {
+@@ -1086,7 +1086,7 @@ globus_i_gsi_proxy_utils_pwstdin_callback(
+         buf[i-1] = '\0';
+         i--;
+     }
+-    return i;       
++    return i;
+ 
+ }
+ 
+@@ -1139,7 +1139,7 @@ globus_i_gsi_proxy_utils_print_error(
+     {
+         globus_libc_fprintf(stderr, "       %s:%d: %s", filename, line, error_string);
+     }
+-    else 
++    else
+     {
+         globus_libc_fprintf(stderr, "Use -debug for further information.\n");
+     }
+@@ -1153,7 +1153,7 @@ globus_i_gsi_proxy_utils_print_error(
+ }
+ 
+ static
+-int 
++int
+ globus_l_gsi_proxy_utils_extension_callback(
+     globus_gsi_callback_data_t          callback_data,
+     X509_EXTENSION *                    extension)
+-- 
+2.54.0
+

diff --git a/0002-Build-with-OpenSSL-4.patch b/0002-Build-with-OpenSSL-4.patch
new file mode 100644
index 0000000..73243f3
--- /dev/null
+++ b/0002-Build-with-OpenSSL-4.patch
@@ -0,0 +1,103 @@
+From 24375b8503d2a4373600b14d03700b697415737b Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Wed, 20 May 2026 00:15:37 +0200
+Subject: [PATCH 2/3] Build with OpenSSL 4
+
+---
+ .../source/programs/grid-cert-diagnostics.c   | 15 +++++++++------
+ .../source/programs/grid_proxy_init.c         | 19 ++++++++++++++++---
+ 2 files changed, 25 insertions(+), 9 deletions(-)
+
+diff --git a/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c b/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
+index 103dbc77e..3eba76f19 100644
+--- a/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
++++ b/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
+@@ -1532,7 +1532,7 @@ check_service_cert_chain(
+     globus_result_t                     result;
+     globus_gsi_cred_handle_t            handle = NULL;
+     globus_gsi_callback_data_t          callback_data = NULL;
+-    X509_NAME                          *n = NULL;
++    const X509_NAME                    *n = NULL;
+     size_t                              host_len;
+     const char                         *no_extensions = " no";
+     OM_uint32                           major_status, minor_status;
+@@ -1666,7 +1666,11 @@ check_service_cert_chain(
+          idx != -1;
+          idx = X509_get_ext_by_NID(cert, NID_subject_alt_name, idx))
+     {
++#if OPENSSL_VERSION_NUMBER < 0x40000000L
+         X509_EXTENSION                 *ext_value;
++#else
++        const X509_EXTENSION           *ext_value;
++#endif
+         GENERAL_NAMES                  *subject_alt_names;
+ 
+         no_extensions = "";
+@@ -1688,15 +1692,14 @@ check_service_cert_chain(
+             if (subject_alt_name->type == GEN_DNS)
+             {
+                 printf(" dns:%.*s",
+-                       (int) subject_alt_name->d.dNSName->length,
+-                       subject_alt_name->d.dNSName->data);
+-
++                       (int) ASN1_STRING_length(subject_alt_name->d.dNSName),
++                       ASN1_STRING_get0_data(subject_alt_name->d.dNSName));
+             }
+             else if (subject_alt_name->type == GEN_IPADD)
+             {
+                 printf(" ip:%.*s",
+-                       (int) subject_alt_name->d.iPAddress->length,
+-                       subject_alt_name->d.iPAddress->data);
++                       (int) ASN1_STRING_length(subject_alt_name->d.iPAddress),
++                       ASN1_STRING_get0_data(subject_alt_name->d.iPAddress));
+             }
+             else
+             {
+diff --git a/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c b/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c
+index 3d49b25b5..0fc3f305e 100644
+--- a/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c
++++ b/gsi/proxy/proxy_utils/source/programs/grid_proxy_init.c
+@@ -135,10 +135,17 @@ globus_i_gsi_proxy_utils_key_gen_callback(
+     int                                 n,
+     void *                              dummy);
+ 
++#if OPENSSL_VERSION_NUMBER < 0x40000000L
+ static int
+ globus_l_gsi_proxy_utils_extension_callback(
+     globus_gsi_callback_data_t          callback_data,
+     X509_EXTENSION *                    extension);
++#else
++static int
++globus_l_gsi_proxy_utils_extension_callback(
++    globus_gsi_callback_data_t          callback_data,
++    const X509_EXTENSION *              extension);
++#endif
+ 
+ int
+ main(
+@@ -1152,13 +1159,19 @@ globus_i_gsi_proxy_utils_print_error(
+     exit(1);
+ }
+ 
+-static
+-int
++#if OPENSSL_VERSION_NUMBER < 0x40000000L
++static int
+ globus_l_gsi_proxy_utils_extension_callback(
+     globus_gsi_callback_data_t          callback_data,
+     X509_EXTENSION *                    extension)
++#else
++static int
++globus_l_gsi_proxy_utils_extension_callback(
++    globus_gsi_callback_data_t          callback_data,
++    const X509_EXTENSION *              extension)
++#endif
+ {
+-    ASN1_OBJECT *                       extension_object = NULL;
++    const ASN1_OBJECT *                 extension_object = NULL;
+     int                                 nid = NID_undef;
+     int                                 pci_old_NID = NID_undef;
+ 
+-- 
+2.54.0
+

diff --git a/0003-Fix-compiler-and-doxygen-warnings.patch b/0003-Fix-compiler-and-doxygen-warnings.patch
new file mode 100644
index 0000000..2aba851
--- /dev/null
+++ b/0003-Fix-compiler-and-doxygen-warnings.patch
@@ -0,0 +1,45 @@
+From 4ee08d13e2963309e2063dc45dedd067337d3b76 Mon Sep 17 00:00:00 2001
+From: Mattias Ellert <mattias.ellert@physics.uu.se>
+Date: Wed, 20 May 2026 00:15:37 +0200
+Subject: [PATCH 3/3] Fix compiler and doxygen warnings
+
+---
+ .../proxy_utils/source/programs/grid-cert-diagnostics.c   | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c b/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
+index 3eba76f19..daa8a515e 100644
+--- a/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
++++ b/gsi/proxy/proxy_utils/source/programs/grid-cert-diagnostics.c
+@@ -1831,8 +1831,8 @@ static
+ char *
+ indent_string(const char * str)
+ {
+-    char * new_line;
+-    char * old_line;
++    const char * new_line;
++    const char * old_line;
+     char * output;
+     int i=1;
+ 
+@@ -1841,7 +1841,7 @@ indent_string(const char * str)
+         return NULL;
+     }
+ 
+-    for (new_line = (char *) str; new_line != NULL; new_line = strchr(new_line+1, '\n'))
++    for (new_line = str; new_line != NULL; new_line = strchr(new_line+1, '\n'))
+     {
+         i++;
+     }
+@@ -1849,7 +1849,7 @@ indent_string(const char * str)
+     output = malloc(strlen(str) + (i*4) + 1);
+     i = 0;
+ 
+-    for (new_line = strchr(str, '\n'), old_line = (char *) str;
++    for (new_line = strchr(str, '\n'), old_line = str;
+          new_line != NULL;
+          old_line = new_line+1, new_line = strchr(new_line+1, '\n'))
+     {
+-- 
+2.54.0
+

diff --git a/globus-proxy-utils.spec b/globus-proxy-utils.spec
index 56773d8..b73b645 100644
--- a/globus-proxy-utils.spec
+++ b/globus-proxy-utils.spec
@@ -1,13 +1,16 @@
 Name:		globus-proxy-utils
 %global _name %(tr - _ <<< %{name})
 Version:	7.4
-Release:	2%{?dist}
+Release:	3%{?dist}
 Summary:	Grid Community Toolkit - Globus GSI Proxy Utility Programs
 
 License:	Apache-2.0
 URL:		https://github.com/gridcf/gct/
 Source:		https://repo.gridcf.org/gct6/sources/%{_name}-%{version}.tar.gz
 Source8:	README
+Patch0:		0001-Untabify-and-remove-trailing-white-space.patch
+Patch1:		0002-Build-with-OpenSSL-4.patch
+Patch2:		0003-Fix-compiler-and-doxygen-warnings.patch
 
 BuildRequires:	make
 BuildRequires:	gcc
@@ -42,6 +45,9 @@ Globus GSI Proxy Utility Programs
 
 %prep
 %setup -q -n %{_name}-%{version}
+%patch -P0 -p5
+%patch -P1 -p5
+%patch -P2 -p5
 
 %build
 # Reduce overlinking
@@ -83,6 +89,10 @@ rm %{buildroot}%{_pkgdocdir}/GLOBUS_LICENSE
 %license GLOBUS_LICENSE
 
 %changelog
+* Sun Jun 14 2026 Mattias Ellert <mattias.ellert@physics.uu.se> - 7.4-3
+- Compile with OpenSSL 4
+- Fix compiler warnings
+
 * Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 7.4-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
 

                 reply	other threads:[~2026-06-14  8:54 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178142726620.1.4263475900142646859.rpms-globus-proxy-utils-433bd533a860@fedoraproject.org \
    --to=mattias.ellert@physics.uu.se \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox