libcrypto++: fix build with GCC 4.7.0 (#12310)

Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/packages@35048 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
florian 2013-01-07 21:04:06 +00:00
parent 9796959bf1
commit 9e14efce03
2 changed files with 104 additions and 2 deletions

View File

@ -1,5 +1,5 @@
#
# Copyright (C) 2009-2010 OpenWrt.org
# Copyright (C) 2009-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libcrypto++
PKG_VERSION:=5.6.0
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz
PKG_SOURCE_URL:=http://ftp.de.debian.org/debian/pool/main/libc/libcrypto++/

View File

@ -0,0 +1,102 @@
diff -rupN libcrypto++-5.6.0.orig/algebra.cpp libcrypto++-5.6.0/algebra.cpp
--- libcrypto++-5.6.0.orig/algebra.cpp Sun Mar 1 20:44:04 2009
+++ libcrypto++-5.6.0/algebra.cpp Fri Oct 12 20:18:44 2012
@@ -58,7 +58,7 @@ template <class T> const T& AbstractEucl
Element g[3]={b, a};
unsigned int i0=0, i1=1, i2=2;
- while (!Equal(g[i1], this->Identity()))
+ while (!this->Equal(g[i1], this->Identity()))
{
g[i2] = Mod(g[i0], g[i1]);
unsigned int t = i0; i0 = i1; i1 = i2; i2 = t;
diff -rupN libcrypto++-5.6.0.orig/eccrypto.cpp libcrypto++-5.6.0/eccrypto.cpp
--- libcrypto++-5.6.0.orig/eccrypto.cpp Sun Mar 15 03:48:02 2009
+++ libcrypto++-5.6.0/eccrypto.cpp Fri Oct 12 20:17:08 2012
@@ -435,7 +435,7 @@ template <class EC> void DL_GroupParamet
StringSource ssG(param.g, true, new HexDecoder);
Element G;
bool result = GetCurve().DecodePoint(G, ssG, (size_t)ssG.MaxRetrievable());
- SetSubgroupGenerator(G);
+ this->SetSubgroupGenerator(G);
assert(result);
StringSource ssN(param.n, true, new HexDecoder);
@@ -591,7 +591,7 @@ bool DL_GroupParameters_EC<EC>::Validate
if (level >= 2 && pass)
{
const Integer &q = GetSubgroupOrder();
- Element gq = gpc ? gpc->Exponentiate(this->GetGroupPrecomputation(), q) : ExponentiateElement(g, q);
+ Element gq = gpc ? gpc->Exponentiate(this->GetGroupPrecomputation(), q) : this->ExponentiateElement(g, q);
pass = pass && IsIdentity(gq);
}
return pass;
@@ -629,7 +629,7 @@ void DL_PublicKey_EC<EC>::BERDecodePubli
typename EC::Point P;
if (!this->GetGroupParameters().GetCurve().DecodePoint(P, bt, size))
BERDecodeError();
- SetPublicElement(P);
+ this->SetPublicElement(P);
}
template <class EC>
diff -rupN libcrypto++-5.6.0.orig/eccrypto.h libcrypto++-5.6.0/eccrypto.h
--- libcrypto++-5.6.0.orig/eccrypto.h Sun Mar 1 20:44:02 2009
+++ libcrypto++-5.6.0/eccrypto.h Fri Oct 12 20:17:30 2012
@@ -43,7 +43,7 @@ public:
void Initialize(const EllipticCurve &ec, const Point &G, const Integer &n, const Integer &k = Integer::Zero())
{
this->m_groupPrecomputation.SetCurve(ec);
- SetSubgroupGenerator(G);
+ this->SetSubgroupGenerator(G);
m_n = n;
m_k = k;
}
@@ -145,9 +145,9 @@ public:
typedef typename EC::Point Element;
void Initialize(const DL_GroupParameters_EC<EC> &params, const Element &Q)
- {this->AccessGroupParameters() = params; SetPublicElement(Q);}
+ {this->AccessGroupParameters() = params; this->SetPublicElement(Q);}
void Initialize(const EC &ec, const Element &G, const Integer &n, const Element &Q)
- {this->AccessGroupParameters().Initialize(ec, G, n); SetPublicElement(Q);}
+ {this->AccessGroupParameters().Initialize(ec, G, n); this->SetPublicElement(Q);}
// X509PublicKey
void BERDecodePublicKey(BufferedTransformation &bt, bool parametersPresent, size_t size);
@@ -166,9 +166,9 @@ public:
void Initialize(const EC &ec, const Element &G, const Integer &n, const Integer &x)
{this->AccessGroupParameters().Initialize(ec, G, n); this->SetPrivateExponent(x);}
void Initialize(RandomNumberGenerator &rng, const DL_GroupParameters_EC<EC> &params)
- {GenerateRandom(rng, params);}
+ {this->GenerateRandom(rng, params);}
void Initialize(RandomNumberGenerator &rng, const EC &ec, const Element &G, const Integer &n)
- {GenerateRandom(rng, DL_GroupParameters_EC<EC>(ec, G, n));}
+ {this->GenerateRandom(rng, DL_GroupParameters_EC<EC>(ec, G, n));}
// PKCS8PrivateKey
void BERDecodePrivateKey(BufferedTransformation &bt, bool parametersPresent, size_t size);
diff -rupN libcrypto++-5.6.0.orig/panama.cpp libcrypto++-5.6.0/panama.cpp
--- libcrypto++-5.6.0.orig/panama.cpp Sun Mar 1 20:44:00 2009
+++ libcrypto++-5.6.0/panama.cpp Fri Oct 12 20:19:27 2012
@@ -420,7 +420,7 @@ void PanamaHash<B>::TruncatedFinal(byte
{
this->ThrowIfInvalidTruncatedSize(size);
- PadLastBlock(this->BLOCKSIZE, 0x01);
+ this->PadLastBlock(this->BLOCKSIZE, 0x01);
HashEndianCorrectedBlock(this->m_data);
diff -rupN libcrypto++-5.6.0.orig/secblock.h libcrypto++-5.6.0/secblock.h
--- libcrypto++-5.6.0.orig/secblock.h Sun Mar 15 03:48:02 2009
+++ libcrypto++-5.6.0/secblock.h Fri Oct 12 20:13:31 2012
@@ -94,7 +94,7 @@ public:
pointer allocate(size_type n, const void * = NULL)
{
- CheckSize(n);
+ this->CheckSize(n);
if (n == 0)
return NULL;