import sscg-3.0.0-7.el8
This commit is contained in:
		
							parent
							
								
									aaf66f5eb4
								
							
						
					
					
						commit
						b17a98dca3
					
				| @ -0,0 +1,139 @@ | |||||||
|  | From 282f819bc39c9557ee34f73c6f6623182f680792 Mon Sep 17 00:00:00 2001 | ||||||
|  | From: Stephen Gallagher <sgallagh@redhat.com> | ||||||
|  | Date: Wed, 16 Nov 2022 15:27:58 -0500 | ||||||
|  | Subject: [PATCH] dhparams: don't fail if default file can't be created | ||||||
|  | 
 | ||||||
|  | Resolves: rhbz#2143206 | ||||||
|  | 
 | ||||||
|  | Signed-off-by: Stephen Gallagher <sgallagh@redhat.com> | ||||||
|  | ---
 | ||||||
|  |  src/arguments.c |  1 - | ||||||
|  |  src/io_utils.c  | 12 +++++++++++ | ||||||
|  |  src/sscg.c      | 55 +++++++++++++++++++++++++++++++++---------------- | ||||||
|  |  3 files changed, 49 insertions(+), 19 deletions(-) | ||||||
|  | 
 | ||||||
|  | diff --git a/src/arguments.c b/src/arguments.c
 | ||||||
|  | index 7b9da14a732875b0f33a12e22a97d51a78216839..770d834aacc05d6d92cc0c855852eadb88f8c9bc 100644
 | ||||||
|  | --- a/src/arguments.c
 | ||||||
|  | +++ b/src/arguments.c
 | ||||||
|  | @@ -69,7 +69,6 @@ set_default_options (struct sscg_options *opts)
 | ||||||
|  |   | ||||||
|  |    opts->lifetime = 398; | ||||||
|  |   | ||||||
|  | -  opts->dhparams_file = talloc_strdup (opts, "dhparams.pem");
 | ||||||
|  |    opts->dhparams_group = talloc_strdup (opts, "ffdhe4096"); | ||||||
|  |    opts->dhparams_generator = 2; | ||||||
|  |   | ||||||
|  | diff --git a/src/io_utils.c b/src/io_utils.c
 | ||||||
|  | index 1b8bc41c3849acbe4657ae14dfe55e3010957129..5d34327bdbe450add5326ac20c337c9399b471dc 100644
 | ||||||
|  | --- a/src/io_utils.c
 | ||||||
|  | +++ b/src/io_utils.c
 | ||||||
|  | @@ -544,6 +544,18 @@ sscg_io_utils_open_output_files (struct sscg_stream **streams, bool overwrite)
 | ||||||
|  |      { | ||||||
|  |        SSCG_LOG (SSCG_DEBUG, "Opening %s\n", stream->path); | ||||||
|  |        stream->bio = BIO_new_file (stream->path, create_mode); | ||||||
|  | +      if (!stream->bio)
 | ||||||
|  | +        {
 | ||||||
|  | +          fprintf (stderr,
 | ||||||
|  | +                   "Could not write to %s. Check directory permissions.\n",
 | ||||||
|  | +                   stream->path);
 | ||||||
|  | +
 | ||||||
|  | +          /* The dhparams file is special, it will be handled later */
 | ||||||
|  | +          if (i != SSCG_FILE_TYPE_DHPARAMS)
 | ||||||
|  | +            {
 | ||||||
|  | +              continue;
 | ||||||
|  | +            }
 | ||||||
|  | +        }
 | ||||||
|  |        CHECK_BIO (stream->bio, stream->path); | ||||||
|  |      } | ||||||
|  |   | ||||||
|  | diff --git a/src/sscg.c b/src/sscg.c
 | ||||||
|  | index 1bf8019c2dda136abe56acd101dfe8ad0b3d725d..dcff4cd2b8dfd2e11c8612d36ecc94b175e9dc26 100644
 | ||||||
|  | --- a/src/sscg.c
 | ||||||
|  | +++ b/src/sscg.c
 | ||||||
|  | @@ -93,6 +93,7 @@ main (int argc, const char **argv)
 | ||||||
|  |    int ret, sret; | ||||||
|  |    struct sscg_options *options; | ||||||
|  |    bool build_client_cert = false; | ||||||
|  | +  char *dhparams_file = NULL;
 | ||||||
|  |   | ||||||
|  |    struct sscg_x509_cert *cacert; | ||||||
|  |    struct sscg_evp_pkey *cakey; | ||||||
|  | @@ -182,9 +183,19 @@ main (int argc, const char **argv)
 | ||||||
|  |                                         options->crl_mode); | ||||||
|  |    CHECK_OK (ret); | ||||||
|  |   | ||||||
|  | +  if (options->dhparams_file)
 | ||||||
|  | +    {
 | ||||||
|  | +      dhparams_file = talloc_strdup (main_ctx, options->dhparams_file);
 | ||||||
|  | +    }
 | ||||||
|  | +  else
 | ||||||
|  | +    {
 | ||||||
|  | +      dhparams_file = talloc_strdup (main_ctx, "./dhparams.pem");
 | ||||||
|  | +    }
 | ||||||
|  | +  CHECK_MEM (dhparams_file);
 | ||||||
|  | +
 | ||||||
|  |    ret = sscg_io_utils_add_output_file (options->streams, | ||||||
|  |                                         SSCG_FILE_TYPE_DHPARAMS, | ||||||
|  | -                                       options->dhparams_file,
 | ||||||
|  | +                                       dhparams_file,
 | ||||||
|  |                                         options->dhparams_mode); | ||||||
|  |    CHECK_OK (ret); | ||||||
|  |   | ||||||
|  | @@ -281,28 +292,36 @@ main (int argc, const char **argv)
 | ||||||
|  |   | ||||||
|  |   | ||||||
|  |    /* Create DH parameters file */ | ||||||
|  | -  bp = GET_BIO (SSCG_FILE_TYPE_DHPARAMS);
 | ||||||
|  | -  if (options->dhparams_prime_len > 0)
 | ||||||
|  | +  if ((bp = GET_BIO (SSCG_FILE_TYPE_DHPARAMS)))
 | ||||||
|  |      { | ||||||
|  | -      ret = create_dhparams (options->verbosity,
 | ||||||
|  | -                             options->dhparams_prime_len,
 | ||||||
|  | -                             options->dhparams_generator,
 | ||||||
|  | -                             &dhparams);
 | ||||||
|  | -      CHECK_OK (ret);
 | ||||||
|  | +      if (options->dhparams_prime_len > 0)
 | ||||||
|  | +        {
 | ||||||
|  | +          ret = create_dhparams (options->verbosity,
 | ||||||
|  | +                                 options->dhparams_prime_len,
 | ||||||
|  | +                                 options->dhparams_generator,
 | ||||||
|  | +                                 &dhparams);
 | ||||||
|  | +          CHECK_OK (ret);
 | ||||||
|  | +        }
 | ||||||
|  | +      else
 | ||||||
|  | +        {
 | ||||||
|  | +          ret = get_params_by_named_group (options->dhparams_group, &dhparams);
 | ||||||
|  | +          CHECK_OK (ret);
 | ||||||
|  | +        }
 | ||||||
|  | +
 | ||||||
|  | +      /* Export the DH parameters to the file */
 | ||||||
|  | +      sret = PEM_write_bio_Parameters (bp, dhparams);
 | ||||||
|  | +      CHECK_SSL (sret, PEM_write_bio_Parameters ());
 | ||||||
|  | +      ANNOUNCE_WRITE (SSCG_FILE_TYPE_DHPARAMS);
 | ||||||
|  | +      EVP_PKEY_free (dhparams);
 | ||||||
|  |      } | ||||||
|  | -  else
 | ||||||
|  | +  else if (options->dhparams_file)
 | ||||||
|  |      { | ||||||
|  | -      ret = get_params_by_named_group (options->dhparams_group, &dhparams);
 | ||||||
|  | -      CHECK_OK (ret);
 | ||||||
|  | +      /* A filename was explicitly passed, but it couldn't be created */
 | ||||||
|  | +      ret = EPERM;
 | ||||||
|  | +      fprintf (stderr, "Could not write to %s: ", options->dhparams_file);
 | ||||||
|  | +      goto done;
 | ||||||
|  |      } | ||||||
|  |   | ||||||
|  | -  /* Export the DH parameters to the file */
 | ||||||
|  | -  sret = PEM_write_bio_Parameters (bp, dhparams);
 | ||||||
|  | -  CHECK_SSL (sret, PEM_write_bio_Parameters ());
 | ||||||
|  | -  ANNOUNCE_WRITE (SSCG_FILE_TYPE_DHPARAMS);
 | ||||||
|  | -  EVP_PKEY_free (dhparams);
 | ||||||
|  | -
 | ||||||
|  | -
 | ||||||
|  |    /* Set the final file permissions */ | ||||||
|  |    sscg_io_utils_finalize_output_files (options->streams); | ||||||
|  |   | ||||||
|  | -- 
 | ||||||
|  | 2.38.1 | ||||||
|  | 
 | ||||||
| @ -9,7 +9,7 @@ | |||||||
| 
 | 
 | ||||||
| Name:           sscg | Name:           sscg | ||||||
| Version:        3.0.0 | Version:        3.0.0 | ||||||
| Release:        5%{?dist} | Release:        7%{?dist} | ||||||
| Summary:        Simple SSL certificate generator | Summary:        Simple SSL certificate generator | ||||||
| 
 | 
 | ||||||
| License:        GPLv3+ with exceptions | License:        GPLv3+ with exceptions | ||||||
| @ -29,6 +29,7 @@ BuildRequires:  help2man | |||||||
| Patch0001: 0001-Drop-usage-of-ERR_GET_FUNC.patch | Patch0001: 0001-Drop-usage-of-ERR_GET_FUNC.patch | ||||||
| Patch0002: 0002-Correct-certificate-lifetime-calculation.patch | Patch0002: 0002-Correct-certificate-lifetime-calculation.patch | ||||||
| Patch0003: 0003-Truncate-IP-address-in-SAN.patch | Patch0003: 0003-Truncate-IP-address-in-SAN.patch | ||||||
|  | Patch0004: 0004-dhparams-don-t-fail-if-default-file-can-t-be-created.patch | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %description | %description | ||||||
| @ -60,6 +61,14 @@ false signatures from the service certificate. | |||||||
| %{_mandir}/man8/%{name}.8* | %{_mandir}/man8/%{name}.8* | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Thu Dec 08 2022 Stephen Gallagher <sgallagh@redhat.com> - 3.0.0-7 | ||||||
|  | - Correctly apply the patch for default dhparams | ||||||
|  | - Resolves: rhbz#2143206 | ||||||
|  | 
 | ||||||
|  | * Mon Nov 28 2022 Stephen Gallagher <sgallagh@redhat.com> - 3.0.0-6 | ||||||
|  | - Don't fail if default dhparams file can't be created | ||||||
|  | - Resolves: rhbz#2143206 | ||||||
|  | 
 | ||||||
| * Thu Jul 14 2022 Stephen Gallagher <sgallagh@redhat.com> - 3.0.0-5 | * Thu Jul 14 2022 Stephen Gallagher <sgallagh@redhat.com> - 3.0.0-5 | ||||||
| - Rebase to sscg 3.0.0 | - Rebase to sscg 3.0.0 | ||||||
| - Resolves: rhbz#2107369 | - Resolves: rhbz#2107369 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user