- Update to squid 4.9:

* fixes multiple Cross-Site Scripting issues in cachemgr.cgi
    (CVE-2019-13345, bsc#1140738)
  * fixes heap overflow in URN processing
    (CVE-2019-12526, bsc#1156326)
  * fixes multiple issues in URI processing
    (CVE-2019-12523, CVE-2019-18676, bsc#1156329)
  * fixes Cross-Site Request Forgery in HTTP Request processing
    (CVE-2019-18677, bsc#1156328)
  * fixes HTTP Request Splitting in HTTP message processing
    (CVE-2019-18678, bsc#1156323)
  * fixes information disclosure in HTTP Digest Authentication
    (CVE-2019-18679, bsc#1156324)
  * lower cache_peer hostname - this showed up as DNS failures
    if peer name was configured with any upper case characters
  * TLS: Multiple SSL-Bump fixes
  * TLS: Fix expiration of self-signed generated certs to be 3 years
  * TLS: Fix on_unsupported_protocol tunnel action
  * Fix several rock cache_dir corruption issues
- fix_configuration_error.patch: upstreamed
- old_nettle_compat.patch: refreshed

OBS-URL: https://build.opensuse.org/package/show/server:proxy/squid?expand=0&rev=200
This commit is contained in:
Adam Majer 2019-11-08 16:23:28 +00:00 committed by Git OBS Bridge
parent 5bf83e3a20
commit b862c898ec
8 changed files with 117 additions and 140 deletions

View File

@ -1,32 +0,0 @@
Fix warnings that result in build failures with -Wreturn-type errors
error: no return statement in function returning non-void
warning: 'conv' defined but not used
202 | static struct pam_conv conv = { &password_conversation, 0 };
| ^~~~
cc1plus: some warnings being treated as errors
Index: squid-4.8/acinclude/pam.m4
===================================================================
--- squid-4.8.orig/acinclude/pam.m4
+++ squid-4.8/acinclude/pam.m4
@@ -21,7 +21,7 @@ AC_DEFUN([CHECK_STRUCT_PAM_CONV], [
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <security/pam_appl.h>
static int
-password_conversation(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) {}
+password_conversation(int num_msg, const struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) { return 0; }
static struct pam_conv conv = { &password_conversation, 0 };
]])], [
squid_cv_pam_conv_signature=linux
@@ -29,7 +29,7 @@ static struct pam_conv conv = { &passwor
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
#include <security/pam_appl.h>
static int
-password_conversation(int num_msg, struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) {}
+password_conversation(int num_msg, struct pam_message **msg, struct pam_response **resp, void *appdata_ptr) { return 0; }
static struct pam_conv conv = { &password_conversation, 0 };
]])], [
squid_cv_pam_conv_signature=solaris

View File

@ -15,11 +15,11 @@ Date: Fri Feb 7 09:11:20 2014 +0100
Base64 and base16 decoding: Use *dst_length as output only. Base64 and base16 decoding: Use *dst_length as output only.
Index: squid-4.8/src/HttpHeader.cc Index: squid-4.9/src/HttpHeader.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/HttpHeader.cc --- squid-4.9.orig/src/HttpHeader.cc
+++ squid-4.8/src/HttpHeader.cc +++ squid-4.9/src/HttpHeader.cc
@@ -1301,8 +1301,8 @@ HttpHeader::getAuthToken(Http::HdrType i @@ -1298,8 +1298,8 @@ HttpHeader::getAuthToken(Http::HdrType i
char *decodedAuthToken = result.rawAppendStart(BASE64_DECODE_LENGTH(fieldLen)); char *decodedAuthToken = result.rawAppendStart(BASE64_DECODE_LENGTH(fieldLen));
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
base64_decode_init(&ctx); base64_decode_init(&ctx);
@ -30,10 +30,10 @@ Index: squid-4.8/src/HttpHeader.cc
!base64_decode_final(&ctx)) { !base64_decode_final(&ctx)) {
return nil; return nil;
} }
Index: squid-4.8/src/auth/basic/Config.cc Index: squid-4.9/src/auth/basic/Config.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/basic/Config.cc --- squid-4.9.orig/src/auth/basic/Config.cc
+++ squid-4.8/src/auth/basic/Config.cc +++ squid-4.9/src/auth/basic/Config.cc
@@ -176,8 +176,8 @@ Auth::Basic::Config::decodeCleartext(con @@ -176,8 +176,8 @@ Auth::Basic::Config::decodeCleartext(con
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
base64_decode_init(&ctx); base64_decode_init(&ctx);
@ -45,10 +45,10 @@ Index: squid-4.8/src/auth/basic/Config.cc
cleartext[dstLen] = '\0'; cleartext[dstLen] = '\0';
/* /*
Index: squid-4.8/src/auth/negotiate/SSPI/negotiate_sspi_auth.cc Index: squid-4.9/src/auth/negotiate/SSPI/negotiate_sspi_auth.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/negotiate/SSPI/negotiate_sspi_auth.cc --- squid-4.9.orig/src/auth/negotiate/SSPI/negotiate_sspi_auth.cc
+++ squid-4.8/src/auth/negotiate/SSPI/negotiate_sspi_auth.cc +++ squid-4.9/src/auth/negotiate/SSPI/negotiate_sspi_auth.cc
@@ -131,6 +131,7 @@ token_decode(size_t *decodedLen, uint8_t @@ -131,6 +131,7 @@ token_decode(size_t *decodedLen, uint8_t
{ {
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
@ -57,10 +57,10 @@ Index: squid-4.8/src/auth/negotiate/SSPI/negotiate_sspi_auth.cc
if (!base64_decode_update(&ctx, decodedLen, decoded, strlen(buf), reinterpret_cast<const uint8_t*>(buf)) || if (!base64_decode_update(&ctx, decodedLen, decoded, strlen(buf), reinterpret_cast<const uint8_t*>(buf)) ||
!base64_decode_final(&ctx)) { !base64_decode_final(&ctx)) {
SEND("BH base64 decode failed"); SEND("BH base64 decode failed");
Index: squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc Index: squid-4.9/src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc --- squid-4.9.orig/src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc
+++ squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc +++ squid-4.9/src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc
@@ -681,8 +681,8 @@ main(int argc, char *const argv[]) @@ -681,8 +681,8 @@ main(int argc, char *const argv[])
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
@ -83,10 +83,10 @@ Index: squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_auth.cc
token[blen] = '\0'; token[blen] = '\0';
if (check_gss_err(major_status, minor_status, "gss_accept_sec_context()", log, 1)) if (check_gss_err(major_status, minor_status, "gss_accept_sec_context()", log, 1))
Index: squid-4.8/src/auth/negotiate/wrapper/negotiate_wrapper.cc Index: squid-4.9/src/auth/negotiate/wrapper/negotiate_wrapper.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/negotiate/wrapper/negotiate_wrapper.cc --- squid-4.9.orig/src/auth/negotiate/wrapper/negotiate_wrapper.cc
+++ squid-4.8/src/auth/negotiate/wrapper/negotiate_wrapper.cc +++ squid-4.9/src/auth/negotiate/wrapper/negotiate_wrapper.cc
@@ -192,8 +192,8 @@ processingLoop(FILE *FDKIN, FILE *FDKOUT @@ -192,8 +192,8 @@ processingLoop(FILE *FDKIN, FILE *FDKOUT
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
@ -98,10 +98,10 @@ Index: squid-4.8/src/auth/negotiate/wrapper/negotiate_wrapper.cc
!base64_decode_final(&ctx)) { !base64_decode_final(&ctx)) {
if (debug_enabled) if (debug_enabled)
fprintf(stderr, "%s| %s: Invalid base64 token [%s]\n", LogTime(), PROGRAM, buf+3); fprintf(stderr, "%s| %s: Invalid base64 token [%s]\n", LogTime(), PROGRAM, buf+3);
Index: squid-4.8/src/auth/ntlm/SMB_LM/ntlm_smb_lm_auth.cc Index: squid-4.9/src/auth/ntlm/SMB_LM/ntlm_smb_lm_auth.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/ntlm/SMB_LM/ntlm_smb_lm_auth.cc --- squid-4.9.orig/src/auth/ntlm/SMB_LM/ntlm_smb_lm_auth.cc
+++ squid-4.8/src/auth/ntlm/SMB_LM/ntlm_smb_lm_auth.cc +++ squid-4.9/src/auth/ntlm/SMB_LM/ntlm_smb_lm_auth.cc
@@ -203,8 +203,8 @@ make_challenge(char *domain, char *domai @@ -203,8 +203,8 @@ make_challenge(char *domain, char *domai
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
@ -125,10 +125,10 @@ Index: squid-4.8/src/auth/ntlm/SMB_LM/ntlm_smb_lm_auth.cc
!base64_decode_final(&ctx)) { !base64_decode_final(&ctx)) {
SEND("NA Packet format error, couldn't base64-decode"); SEND("NA Packet format error, couldn't base64-decode");
return; return;
Index: squid-4.8/src/auth/ntlm/SSPI/ntlm_sspi_auth.cc Index: squid-4.9/src/auth/ntlm/SSPI/ntlm_sspi_auth.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/ntlm/SSPI/ntlm_sspi_auth.cc --- squid-4.9.orig/src/auth/ntlm/SSPI/ntlm_sspi_auth.cc
+++ squid-4.8/src/auth/ntlm/SSPI/ntlm_sspi_auth.cc +++ squid-4.9/src/auth/ntlm/SSPI/ntlm_sspi_auth.cc
@@ -418,6 +418,7 @@ token_decode(size_t *decodedLen, uint8_t @@ -418,6 +418,7 @@ token_decode(size_t *decodedLen, uint8_t
{ {
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
@ -137,10 +137,10 @@ Index: squid-4.8/src/auth/ntlm/SSPI/ntlm_sspi_auth.cc
if (!base64_decode_update(&ctx, decodedLen, decoded, strlen(buf), reinterpret_cast<const uint8_t*>(buf)) || if (!base64_decode_update(&ctx, decodedLen, decoded, strlen(buf), reinterpret_cast<const uint8_t*>(buf)) ||
!base64_decode_final(&ctx)) { !base64_decode_final(&ctx)) {
SEND_BH("message=\"base64 decode failed\""); SEND_BH("message=\"base64 decode failed\"");
Index: squid-4.8/src/auth/ntlm/fake/ntlm_fake_auth.cc Index: squid-4.9/src/auth/ntlm/fake/ntlm_fake_auth.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/ntlm/fake/ntlm_fake_auth.cc --- squid-4.9.orig/src/auth/ntlm/fake/ntlm_fake_auth.cc
+++ squid-4.8/src/auth/ntlm/fake/ntlm_fake_auth.cc +++ squid-4.9/src/auth/ntlm/fake/ntlm_fake_auth.cc
@@ -153,9 +153,9 @@ main(int argc, char *argv[]) @@ -153,9 +153,9 @@ main(int argc, char *argv[])
ntlmhdr *packet; ntlmhdr *packet;
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
@ -164,11 +164,11 @@ Index: squid-4.8/src/auth/ntlm/fake/ntlm_fake_auth.cc
if (NTLM_packet_debug_enabled) { if (NTLM_packet_debug_enabled) {
printf("TT %.*s\n", (int)blen, data); printf("TT %.*s\n", (int)blen, data);
debug("sending 'TT' to squid with data:\n"); debug("sending 'TT' to squid with data:\n");
Index: squid-4.8/tools/cachemgr.cc Index: squid-4.9/tools/cachemgr.cc
=================================================================== ===================================================================
--- squid-4.8.orig/tools/cachemgr.cc --- squid-4.9.orig/tools/cachemgr.cc
+++ squid-4.8/tools/cachemgr.cc +++ squid-4.9/tools/cachemgr.cc
@@ -1082,8 +1082,8 @@ make_pub_auth(cachemgr_request * req) @@ -1104,8 +1104,8 @@ make_pub_auth(cachemgr_request * req)
req->pub_auth = (char *) xmalloc(encodedLen); req->pub_auth = (char *) xmalloc(encodedLen);
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
base64_encode_init(&ctx); base64_encode_init(&ctx);
@ -179,7 +179,7 @@ Index: squid-4.8/tools/cachemgr.cc
req->pub_auth[blen] = '\0'; req->pub_auth[blen] = '\0';
debug("cmgr: encoded: '%s'\n", req->pub_auth); debug("cmgr: encoded: '%s'\n", req->pub_auth);
} }
@@ -1103,8 +1103,8 @@ decode_pub_auth(cachemgr_request * req) @@ -1125,8 +1125,8 @@ decode_pub_auth(cachemgr_request * req)
char *buf = static_cast<char*>(xmalloc(BASE64_DECODE_LENGTH(strlen(req->pub_auth))+1)); char *buf = static_cast<char*>(xmalloc(BASE64_DECODE_LENGTH(strlen(req->pub_auth))+1));
struct base64_decode_ctx ctx; struct base64_decode_ctx ctx;
base64_decode_init(&ctx); base64_decode_init(&ctx);
@ -190,7 +190,7 @@ Index: squid-4.8/tools/cachemgr.cc
!base64_decode_final(&ctx)) { !base64_decode_final(&ctx)) {
debug("cmgr: base64 decode failure. Incomplete auth token string.\n"); debug("cmgr: base64 decode failure. Incomplete auth token string.\n");
xfree(buf); xfree(buf);
@@ -1197,8 +1197,8 @@ make_auth_header(const cachemgr_request @@ -1219,8 +1219,8 @@ make_auth_header(const cachemgr_request
char *str64 = static_cast<char *>(xmalloc(encodedLen)); char *str64 = static_cast<char *>(xmalloc(encodedLen));
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
base64_encode_init(&ctx); base64_encode_init(&ctx);
@ -201,10 +201,10 @@ Index: squid-4.8/tools/cachemgr.cc
str64[blen] = '\0'; str64[blen] = '\0';
stringLength += snprintf(buf, sizeof(buf), "Authorization: Basic %.*s\r\n", (int)blen, str64); stringLength += snprintf(buf, sizeof(buf), "Authorization: Basic %.*s\r\n", (int)blen, str64);
Index: squid-4.8/include/base64.h Index: squid-4.9/include/base64.h
=================================================================== ===================================================================
--- squid-4.8.orig/include/base64.h --- squid-4.9.orig/include/base64.h
+++ squid-4.8/include/base64.h +++ squid-4.9/include/base64.h
@@ -9,11 +9,11 @@ @@ -9,11 +9,11 @@
#ifndef _SQUID_BASE64_H #ifndef _SQUID_BASE64_H
#define _SQUID_BASE64_H #define _SQUID_BASE64_H
@ -219,10 +219,10 @@ Index: squid-4.8/include/base64.h
/* base64.h /* base64.h
Base-64 encoding and decoding. Base-64 encoding and decoding.
Index: squid-4.8/lib/base64.c Index: squid-4.9/lib/base64.c
=================================================================== ===================================================================
--- squid-4.8.orig/lib/base64.c --- squid-4.9.orig/lib/base64.c
+++ squid-4.8/lib/base64.c +++ squid-4.9/lib/base64.c
@@ -13,7 +13,7 @@ @@ -13,7 +13,7 @@
#include "squid.h" #include "squid.h"
#include "base64.h" #include "base64.h"
@ -232,10 +232,10 @@ Index: squid-4.8/lib/base64.c
/* base64-encode.c /* base64-encode.c
Index: squid-4.8/src/format/Format.cc Index: squid-4.9/src/format/Format.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/format/Format.cc --- squid-4.9.orig/src/format/Format.cc
+++ squid-4.8/src/format/Format.cc +++ squid-4.9/src/format/Format.cc
@@ -557,8 +557,8 @@ Format::Format::assemble(MemBuf &mb, con @@ -557,8 +557,8 @@ Format::Format::assemble(MemBuf &mb, con
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
@ -247,25 +247,10 @@ Index: squid-4.8/src/format/Format.cc
sb.rawAppendFinish(buf, encLength); sb.rawAppendFinish(buf, encLength);
out = sb.c_str(); out = sb.c_str();
Index: squid-4.8/src/auth/digest/Config.cc Index: squid-4.9/src/auth/negotiate/kerberos/negotiate_kerberos_auth_test.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/digest/Config.cc --- squid-4.9.orig/src/auth/negotiate/kerberos/negotiate_kerberos_auth_test.cc
+++ squid-4.8/src/auth/digest/Config.cc +++ squid-4.9/src/auth/negotiate/kerberos/negotiate_kerberos_auth_test.cc
@@ -111,8 +111,8 @@ authDigestNonceEncode(digest_nonce_h * n
nonce->key = xcalloc(base64_encode_len(sizeof(digest_nonce_data)), 1);
struct base64_encode_ctx ctx;
base64_encode_init(&ctx);
- size_t blen = base64_encode_update(&ctx, reinterpret_cast<char*>(nonce->key), sizeof(digest_nonce_data), reinterpret_cast<const uint8_t*>(&(nonce->noncedata)));
- blen += base64_encode_final(&ctx, reinterpret_cast<char*>(nonce->key)+blen);
+ size_t blen = base64_encode_update(&ctx, (uint8_t*)nonce->key, sizeof(digest_nonce_data), (uint8_t*)&(nonce->noncedata));
+ blen += base64_encode_final(&ctx, ((uint8_t*)(nonce->key))+blen);
}
digest_nonce_h *
Index: squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_auth_test.cc
===================================================================
--- squid-4.8.orig/src/auth/negotiate/kerberos/negotiate_kerberos_auth_test.cc
+++ squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_auth_test.cc
@@ -203,8 +203,8 @@ squid_kerb_proxy_auth(char *proxy) @@ -203,8 +203,8 @@ squid_kerb_proxy_auth(char *proxy)
token = (char *) xcalloc(base64_encode_len(output_token.length), 1); token = (char *) xcalloc(base64_encode_len(output_token.length), 1);
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
@ -277,10 +262,10 @@ Index: squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_auth_test.cc
} }
} }
Index: squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc Index: squid-4.9/src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc --- squid-4.9.orig/src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc
+++ squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc +++ squid-4.9/src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc
@@ -245,8 +245,8 @@ getdomaingids(char *ad_groups, uint32_t @@ -245,8 +245,8 @@ getdomaingids(char *ad_groups, uint32_t
base64_encode_init(&ctx); base64_encode_init(&ctx);
const uint32_t expectedSz = base64_encode_len(length+4) +1 /* terminator */; const uint32_t expectedSz = base64_encode_len(length+4) +1 /* terminator */;
@ -303,10 +288,10 @@ Index: squid-4.8/src/auth/negotiate/kerberos/negotiate_kerberos_pac.cc
b64buf[expectedSz-1] = '\0'; b64buf[expectedSz-1] = '\0';
if (!pstrcat(ad_groups, reinterpret_cast<char*>(b64buf))) { if (!pstrcat(ad_groups, reinterpret_cast<char*>(b64buf))) {
debug((char *) "%s| %s: WARN: Too many groups ! size > %d : %s\n", debug((char *) "%s| %s: WARN: Too many groups ! size > %d : %s\n",
Index: squid-4.8/src/adaptation/icap/ModXact.cc Index: squid-4.9/src/adaptation/icap/ModXact.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/adaptation/icap/ModXact.cc --- squid-4.9.orig/src/adaptation/icap/ModXact.cc
+++ squid-4.8/src/adaptation/icap/ModXact.cc +++ squid-4.9/src/adaptation/icap/ModXact.cc
@@ -1369,10 +1369,10 @@ void Adaptation::Icap::ModXact::makeRequ @@ -1369,10 +1369,10 @@ void Adaptation::Icap::ModXact::makeRequ
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
base64_encode_init(&ctx); base64_encode_init(&ctx);
@ -333,10 +318,10 @@ Index: squid-4.8/src/adaptation/icap/ModXact.cc
buf.appendf("%s: %.*s\r\n", TheConfig.client_username_header, (int)resultLen, base64buf); buf.appendf("%s: %.*s\r\n", TheConfig.client_username_header, (int)resultLen, base64buf);
} else } else
buf.appendf("%s: %s\r\n", TheConfig.client_username_header, value); buf.appendf("%s: %s\r\n", TheConfig.client_username_header, value);
Index: squid-4.8/src/http.cc Index: squid-4.9/src/http.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/http.cc --- squid-4.9.orig/src/http.cc
+++ squid-4.8/src/http.cc +++ squid-4.9/src/http.cc
@@ -1697,9 +1697,9 @@ httpFixupAuthentication(HttpRequest * re @@ -1697,9 +1697,9 @@ httpFixupAuthentication(HttpRequest * re
username = request->auth_user_request->username(); username = request->auth_user_request->username();
#endif #endif
@ -387,10 +372,10 @@ Index: squid-4.8/src/http.cc
result[blen] = '\0'; result[blen] = '\0';
if (blen) if (blen)
httpHeaderPutStrf(hdr_out, Http::HdrType::AUTHORIZATION, "Basic %.*s", (int)blen, result); httpHeaderPutStrf(hdr_out, Http::HdrType::AUTHORIZATION, "Basic %.*s", (int)blen, result);
Index: squid-4.8/src/peer_proxy_negotiate_auth.cc Index: squid-4.9/src/peer_proxy_negotiate_auth.cc
=================================================================== ===================================================================
--- squid-4.8.orig/src/peer_proxy_negotiate_auth.cc --- squid-4.9.orig/src/peer_proxy_negotiate_auth.cc
+++ squid-4.8/src/peer_proxy_negotiate_auth.cc +++ squid-4.9/src/peer_proxy_negotiate_auth.cc
@@ -562,8 +562,8 @@ char *peer_proxy_negotiate_auth(char *pr @@ -562,8 +562,8 @@ char *peer_proxy_negotiate_auth(char *pr
static char b64buf[8192]; // XXX: 8KB only because base64_encode_bin() used to. static char b64buf[8192]; // XXX: 8KB only because base64_encode_bin() used to.
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
@ -402,10 +387,10 @@ Index: squid-4.8/src/peer_proxy_negotiate_auth.cc
b64buf[blen] = '\0'; b64buf[blen] = '\0';
token = reinterpret_cast<char*>(b64buf); token = reinterpret_cast<char*>(b64buf);
Index: squid-4.8/tools/squidclient/gssapi_support.cc Index: squid-4.9/tools/squidclient/gssapi_support.cc
=================================================================== ===================================================================
--- squid-4.8.orig/tools/squidclient/gssapi_support.cc --- squid-4.9.orig/tools/squidclient/gssapi_support.cc
+++ squid-4.8/tools/squidclient/gssapi_support.cc +++ squid-4.9/tools/squidclient/gssapi_support.cc
@@ -134,8 +134,8 @@ GSSAPI_token(const char *server) @@ -134,8 +134,8 @@ GSSAPI_token(const char *server)
token = new char[base64_encode_len(output_token.length)]; token = new char[base64_encode_len(output_token.length)];
struct base64_encode_ctx ctx; struct base64_encode_ctx ctx;
@ -417,10 +402,10 @@ Index: squid-4.8/tools/squidclient/gssapi_support.cc
token[blen] = '\0'; token[blen] = '\0';
} }
} }
Index: squid-4.8/tools/squidclient/squidclient.cc Index: squid-4.9/tools/squidclient/squidclient.cc
=================================================================== ===================================================================
--- squid-4.8.orig/tools/squidclient/squidclient.cc --- squid-4.9.orig/tools/squidclient/squidclient.cc
+++ squid-4.8/tools/squidclient/squidclient.cc +++ squid-4.9/tools/squidclient/squidclient.cc
@@ -212,10 +212,10 @@ Authorization::commit(std::ostream &os) @@ -212,10 +212,10 @@ Authorization::commit(std::ostream &os)
const auto buf = new char[bcapacity]; const auto buf = new char[bcapacity];

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:78cdb324d93341d36d09d5f791060f6e8aaa5ff3179f7c949cd910d023a86210
size 2440888

View File

@ -1,25 +0,0 @@
File: squid-4.8.tar.xz
Date: Tue Jul 9 19:30:13 UTC 2019
Size: 2440888
MD5 : 08e018f2d8db4911ee90591284fa1ca5
SHA1: 4ff1390eee3ec20cefa5565cbb56e1a89a12bfc1
Key : CD6DBF8EF3B17D3E <squid3@treenet.co.nz>
B068 84ED B779 C89B 044E 64E3 CD6D BF8E F3B1 7D3E
keyring = http://www.squid-cache.org/pgp.asc
keyserver = pool.sks-keyservers.net
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEsGiE7bd5yJsETmTjzW2/jvOxfT4FAl0k60wACgkQzW2/jvOx
fT7tAg/7BB9XyX4Sxi6sdyAwSPJ7vu3sd8ENE2mYdnLlozd3n57g2EDJoDWNGMOV
eym6Xe5TCDyadXKDVHni4LrFm80RgILMRvkkY9RIIRBTac+SEpDPZq/XL5xzxL1K
mRxJ2Mg9dC/1Cja4xAT/NihinJ2g/vqPY/fC+35kHd1q+U3DeQlmRhMN+IoP6kOk
ZFYfl2DkHRZFRVF/yjxy2f2ktSuZOoUcnnAI2IWzgZS5iNR4F5ozNXKNUaAhcROy
Md6/VCnoLvYDVlXgJUBUsn0Qt/Kgl/3h/CUdGVUnG2Lt5+Gh3LZBlCNZ/P/6lBSD
9/hXLPkY4OTKrxkf0LdwNrGH9XZX5FoKAUDvF+qUvEqwFJdgzklyXSAoEQRfFtK2
KRAjuxR1h/JquiA7lfYchmHaS13FktkpGMAJWrQZFjRRnDcVqjEotGkcpgaIjVfG
/Bw9LLjRf4glYvgd8+wDZBpBGU2mLXOu0/0IfU3gN4nRXnxvum0xPRPRQhmZWzjk
svpUA1W4r7Uy1zog96Gry0NNh5bik+MU7OI/0uJPxSk4DhRFg+HcQ0GHb3eF0yBY
nTv8Ks3CMMsoa9tCzFfqmxKQMHBA0feBSzjOgN5nqibr7BRp9NiJPtj3sOS6oCDK
jBSV1ArI6nyaU26hfelNp375CPHObAFLlBA31+saV55hyr2Ydx4=
=ee2E
-----END PGP SIGNATURE-----

3
squid-4.9.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1cb1838c6683b0568a3a4050f4ea2fc1eaa5cbba6bdf7d57f7258c7cd7b41fa1
size 2444664

25
squid-4.9.tar.xz.asc Normal file
View File

@ -0,0 +1,25 @@
File: squid-4.9.tar.xz
Date: Wed Nov 6 04:57:57 UTC 2019
Size: 2444664
MD5 : 5c2e335dd1e8ced9dda6e0e11894b344
SHA1: 43c90a1a2eb4d1613f1bfc603ad08e8a835be319
Key : CD6DBF8EF3B17D3E <squid3@treenet.co.nz>
B068 84ED B779 C89B 044E 64E3 CD6D BF8E F3B1 7D3E
keyring = http://www.squid-cache.org/pgp.asc
keyserver = pool.sks-keyservers.net
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEsGiE7bd5yJsETmTjzW2/jvOxfT4FAl3CUt8ACgkQzW2/jvOx
fT4Wnw/+Osf9VTnDFj5g/eXgb6vhzDaSLVfPNKLI6mF46a6twTvlMcM1+sX+b2Of
KXznDkUHvhIHijXGVbscSWx6Rn2tuPGDRRtDucqK98bYUo7mhEpdGtkVE7t8U3iz
wIKm7Hbr8qar4nJDLoZiZSCswI+UTcYncUuAqZ0O8LGIK0m6aYYDSS4bRq04yiS2
1JD0UEWW35X35hoVuhGlRRgvLzKn8F4KFeDde0gg+cqvkM0LR2+xkUqz6DcyE34m
8uK6hlABu32Zj+9oRBvNNcDOr2bfNYsbS4tAy635thFTyGUF7jjrOEXhl2SYrDY5
gVRzXHq/WBQ5rjTdmwvfn3wcwA1BQK/Oru6OaTFGaSrRlmJJM3JUFQWSsYWm8ARV
BJEGy8iQ9R41Yom2Ct8SOhwg7f3fBlFnK+BB8En+8s+fEa8z5rVmmjh1Es8qm6Tj
C/xGTZ23C4lUveKznDhc8MR2M4jjsH77Y7K/PvJUjZ/yYNpwsOwhv7fs51v70S5Q
4wC+ykpsmwckmOajrkOnupUN9Un2FzfyOctTt6PQkmwlq++09Jwxwg36O+KLDX08
f48F/qCCJ4bubuhFjM/A+cwVev0nAp0haSV0jpbemAHwzog21O51l70B8qUe18jp
XKYpbp3zCJ5cNmrAummsEVaj2ZCsH5ZHxTUIwvJDIS5b0OFn/lo=
=LNc9
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,29 @@
-------------------------------------------------------------------
Fri Nov 8 15:24:15 UTC 2019 - Adam Majer <adam.majer@suse.de>
- Update to squid 4.9:
* fixes multiple Cross-Site Scripting issues in cachemgr.cgi
(CVE-2019-13345, bsc#1140738)
* fixes heap overflow in URN processing
(CVE-2019-12526, bsc#1156326)
* fixes multiple issues in URI processing
(CVE-2019-12523, CVE-2019-18676, bsc#1156329)
* fixes Cross-Site Request Forgery in HTTP Request processing
(CVE-2019-18677, bsc#1156328)
* fixes HTTP Request Splitting in HTTP message processing
(CVE-2019-18678, bsc#1156323)
* fixes information disclosure in HTTP Digest Authentication
(CVE-2019-18679, bsc#1156324)
* lower cache_peer hostname - this showed up as DNS failures
if peer name was configured with any upper case characters
* TLS: Multiple SSL-Bump fixes
* TLS: Fix expiration of self-signed generated certs to be 3 years
* TLS: Fix on_unsupported_protocol tunnel action
* Fix several rock cache_dir corruption issues
- fix_configuration_error.patch: upstreamed
- old_nettle_compat.patch: refreshed
------------------------------------------------------------------- -------------------------------------------------------------------
Tue Aug 6 13:05:58 UTC 2019 - Adam Majer <adam.majer@suse.de> Tue Aug 6 13:05:58 UTC 2019 - Adam Majer <adam.majer@suse.de>

View File

@ -19,7 +19,7 @@
%define squidlibdir %{_libdir}/squid %define squidlibdir %{_libdir}/squid
%define squidconfdir %{_sysconfdir}/squid %define squidconfdir %{_sysconfdir}/squid
Name: squid Name: squid
Version: 4.8 Version: 4.9
Release: 0 Release: 0
Summary: Caching and forwarding HTTP web proxy Summary: Caching and forwarding HTTP web proxy
License: GPL-2.0-or-later License: GPL-2.0-or-later
@ -40,7 +40,6 @@ Source16: initialize_cache_if_needed.sh
Source17: tmpfilesdir.squid.conf Source17: tmpfilesdir.squid.conf
Patch1: missing_installs.patch Patch1: missing_installs.patch
Patch2: old_nettle_compat.patch Patch2: old_nettle_compat.patch
Patch3: fix_configuration_error.patch
BuildRequires: cppunit-devel BuildRequires: cppunit-devel
BuildRequires: db-devel BuildRequires: db-devel
BuildRequires: ed BuildRequires: ed
@ -93,7 +92,6 @@ perl -p -i -e 's|%{_prefix}/local/bin/perl|%{_bindir}/perl|' `find -name "*.pl"`
%if %{suse_version} < 1500 %if %{suse_version} < 1500
%patch2 -p1 %patch2 -p1
%endif %endif
%patch3 -p1
%build %build
%define _lto_cflags %{nil} %define _lto_cflags %{nil}