]> git.ipfire.org Git - thirdparty/squid.git/commit - src/adaptation/icap/ModXact.cc
Crypto-NG: Base64 crypto replacement
authorAmos Jeffries <squid3@treenet.co.nz>
Tue, 30 Dec 2014 09:09:27 +0000 (01:09 -0800)
committerAmos Jeffries <squid3@treenet.co.nz>
Tue, 30 Dec 2014 09:09:27 +0000 (01:09 -0800)
commitaadbbd7d080ef1662bfd7ea568edbb29f25fdd72
tree4a70675450ad9e58fbc5ff79e355baf4f84e70a2
parent44ad873e32fc005ee66dbc96828dc5e4301f449a
Crypto-NG: Base64 crypto replacement

The existing Squid base64 code had ambiguous copyright licensing. In
particular it only referenced a dead URL for source copyright
ownership details. In all likelihood this was for an Open Source
implementation, but we dont have sufficient record of the original
license terms to be certain without a long investigation.

It has also been heavily modified and customized over the decades
since importing whih complicates the issue a lot.

It also does not match any of the common industry context-based API
patterns for encoders/decoders.

This patch replaces that logic with GPLv2 licensed code from the
Nettle crypto library. Either linking the library dynamically or in
its absence embedding the logic via our libmiscencoding library.

It also updates all code to the new API, and as a byproduct removes
several layers of deprecated wrapper functions which have grown in
over the years.
18 files changed:
CREDITS
configure.ac
helpers/negotiate_auth/kerberos/negotiate_kerberos_auth.cc
helpers/negotiate_auth/kerberos/negotiate_kerberos_auth_test.cc
helpers/negotiate_auth/kerberos/negotiate_kerberos_pac.cc
helpers/negotiate_auth/wrapper/negotiate_wrapper.cc
helpers/ntlm_auth/fake/ntlm_fake_auth.cc
helpers/ntlm_auth/smb_lm/ntlm_smb_lm_auth.cc
include/base64.h
lib/base64.c
src/HttpHeader.cc
src/adaptation/icap/ModXact.cc
src/auth/digest/Config.cc
src/http.cc
src/peer_proxy_negotiate_auth.cc
tools/cachemgr.cc
tools/squidclient/gssapi_support.cc
tools/squidclient/squidclient.cc