Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package lcmaps-plugins-jobrep Package no longer FTBFS with the introduction of OpenSSL 1.1. diff -Nru lcmaps-plugins-jobrep-1.5.3/debian/changelog lcmaps-plugins-jobrep-1.5.3/debian/changelog --- lcmaps-plugins-jobrep-1.5.3/debian/changelog 2016-12-19 12:12:50.000000000 +0100 +++ lcmaps-plugins-jobrep-1.5.3/debian/changelog 2017-01-27 12:33:38.000000000 +0100 @@ -1,3 +1,9 @@ +lcmaps-plugins-jobrep (1.5.3-4) unstable; urgency=medium + + * Update to build against OpenSSL 1.1 + + -- Dennis van Dok <denni...@nikhef.nl> Fri, 27 Jan 2017 12:33:38 +0100 + lcmaps-plugins-jobrep (1.5.3-3) unstable; urgency=medium * Update dependency of lcmaps-plugins-jobrep-admin to diff -Nru lcmaps-plugins-jobrep-1.5.3/debian/control lcmaps-plugins-jobrep-1.5.3/debian/control --- lcmaps-plugins-jobrep-1.5.3/debian/control 2016-12-19 12:11:24.000000000 +0100 +++ lcmaps-plugins-jobrep-1.5.3/debian/control 2017-01-27 12:33:38.000000000 +0100 @@ -5,7 +5,7 @@ Uploaders: Mischa Salle <msa...@nikhef.nl> Build-Depends: cdbs, debhelper (>= 7.0.50~), dh-autoreconf, autotools-dev, lcmaps-basic-interface, unixodbc-dev, libssl-dev, pkg-config -Standards-Version: 3.9.5 +Standards-Version: 3.9.8 Homepage: https://wiki.nikhef.nl/grid/LCMAPS Vcs-Svn: https://ndpfsvn.nikhef.nl/repos/mwsec/packaging/debian/trunk/lcmaps-plugins-jobrep Vcs-Browser: http://ndpfsvn.nikhef.nl/viewvc/mwsec/packaging/debian/trunk/lcmaps-plugins-jobrep diff -Nru lcmaps-plugins-jobrep-1.5.3/debian/patches/openssl1.1.patch lcmaps-plugins-jobrep-1.5.3/debian/patches/openssl1.1.patch --- lcmaps-plugins-jobrep-1.5.3/debian/patches/openssl1.1.patch 1970-01-01 01:00:00.000000000 +0100 +++ lcmaps-plugins-jobrep-1.5.3/debian/patches/openssl1.1.patch 2017-01-27 12:33:38.000000000 +0100 @@ -0,0 +1,111 @@ +From: Micha Sallé <msa...@nikhef.nl> +Subject: Fixes for compatibility with OpenSSL 1.1 + +--- a/src/jobrep/jobrep_data_handling.c ++++ b/src/jobrep/jobrep_data_handling.c +@@ -1134,7 +1134,7 @@ + char *subject_DN = NULL, *issuer_DN = NULL, *not_before_str = NULL, *not_after_str = NULL; + time_t not_before = 0, not_after = 0; + X509 *cert = NULL; +- unsigned char *serialnr = NULL; ++ char *serialnr = NULL; + + if ((db_handle == NULL) || (px509_chain == NULL)) { + return -1; +@@ -1231,27 +1231,25 @@ + return -1; + } + +-unsigned char * ++char * + jobrep_get_serialnumber_as_string(X509 *cert) { +- ASN1_INTEGER *cert_Serial = NULL; +- unsigned char *serialNumberDER = NULL, *temp = NULL, *serialStr = NULL; ++ ASN1_INTEGER *serial = NULL; + char *subject_DN = NULL; +- size_t len; +- int j,serialLen; ++ BIGNUM *bn_serial; ++ char *serialStr = NULL; + + if (cert == NULL) + return NULL; + +- cert_Serial = X509_get_serialNumber(cert); +- if (cert_Serial == NULL) { ++ if ( (serial = X509_get_serialNumber(cert)) == NULL) { + /* For debugging purposes extract the Subject DN */ + subject_DN = X509_NAME_oneline(X509_get_subject_name(cert),NULL,0); + if (subject_DN) { +- lcmaps_log(LOG_DEBUG, "%s: certificate passed with subject DN \"%s\" didn't contain a serial number.\n", ++ lcmaps_log(LOG_WARNING, "%s: certificate passed with subject DN \"%s\" didn't contain a serial number.\n", + __func__, subject_DN); + free(subject_DN); + } else { +- lcmaps_log(LOG_DEBUG, "%s: certificate passed doesn't have a serialnumber and also lacks a subject DN. " \ ++ lcmaps_log(LOG_WARNING, "%s: certificate passed doesn't have a serialnumber and also lacks a subject DN. " \ + "This is completely weird and doesn't even look like a certificate. " \ + "Are you a waiter because you seem to be feeding me soup?\n", + __func__); +@@ -1259,44 +1257,15 @@ + return NULL; + } + +- serialLen = i2c_ASN1_INTEGER(cert_Serial, NULL); +- if (serialLen <= 0) { +- lcmaps_log(LOG_INFO, "%s: Conversion of a certificate serial number from ASN1_INTEGER to DER failed\n", +- __func__); +- return NULL; +- } +- +- /* Note: serialLen is int and >0 */ +- temp = serialNumberDER = malloc((size_t)serialLen); +- if (serialNumberDER == NULL) { +- lcmaps_log(LOG_DEBUG, "%s: Could not allocate %d bytes\n", serialLen); +- return NULL; +- } +- /* Warning, the temp variable will be displaced, use the serialNumberDER instead. */ +- serialLen = i2c_ASN1_INTEGER(cert_Serial, &temp); +- +- /* Allocate as a Hex decimal + null-terminator */ +- len = (size_t)serialLen * 2 + 1; +- serialStr = malloc(len); +- if (serialStr == NULL) { +- lcmaps_log(LOG_DEBUG, "%s: Could not allocate %d bytes\n", len); +- goto cleanup; +- } +- +- /* Write the DER encoded serial code in Hex to the serialStr */ +- temp = serialStr; +- for (j = 0; j < serialLen; j++) { +- snprintf((char *)temp, len, "%02X", serialNumberDER[j] ); +- temp = &(temp[2]); ++ if ( (bn_serial = ASN1_INTEGER_to_BN(serial, NULL)) == NULL || ++ (serialStr = BN_bn2hex(bn_serial)) == NULL ) ++ { ++ lcmaps_log(LOG_WARNING, "%s: Cannot convert ASN1_INTEGER serial to char *", __func__); ++ return NULL; + } + +- /* Done */ +- free(serialNumberDER); ++ BN_clear_free(bn_serial); + return serialStr; +-cleanup: +- if (serialNumberDER) free(serialNumberDER); +- if (serialStr) free(serialStr); +- return NULL; + } + + +--- a/src/jobrep/jobrep_data_handling.h ++++ b/src/jobrep/jobrep_data_handling.h +@@ -55,7 +55,7 @@ + long jobrep_push_unix_cred(struct jr_db_handle_s *db_handle); + int jobrep_push_certificates(struct jr_db_handle_s *db_handle, STACK_OF(X509) *px509_chain); + +-unsigned char *jobrep_get_serialnumber_as_string(X509 *cert); ++char *jobrep_get_serialnumber_as_string(X509 *cert); + char *jobrep_time_to_string(time_t some_time); + time_t jobrep_asn1TimeToTimeT(unsigned char *asn1time, size_t len); + diff -Nru lcmaps-plugins-jobrep-1.5.3/debian/patches/series lcmaps-plugins-jobrep-1.5.3/debian/patches/series --- lcmaps-plugins-jobrep-1.5.3/debian/patches/series 2014-01-14 13:39:46.000000000 +0100 +++ lcmaps-plugins-jobrep-1.5.3/debian/patches/series 2017-01-27 12:33:38.000000000 +0100 @@ -1 +1 @@ - +openssl1.1.patch unblock lcmaps-plugins-jobrep/1.5.3-4 -- System Information: Debian Release: 8.7 APT prefers stable APT policy: (990, 'stable'), (50, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-dvdrt-amd64 (SMP w/4 CPU cores; PREEMPT) Locale: LANG=nl_NL.utf8, LC_CTYPE=nl_NL.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)