ports/160509: [patch] security/cryptopp: clang build fails (foo vs. this->foo)

h h aakuusta at gmail.com
Tue Sep 6 09:50:01 UTC 2011


>Number:         160509
>Category:       ports
>Synopsis:       [patch] security/cryptopp: clang build fails (foo vs. this->foo)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 06 09:50:00 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     h h
>Release:        FreeBSD 9.0-BETA2 r225402M amd64
>Organization:
>Environment:
>Description:
>How-To-Repeat:
http://pointyhat.freebsd.org/errorlogs/amd64-errorlogs/e.9-exp.20110723205754/cryptopp-5.6.1.log
>Fix:
--- a.diff begins here ---
Index: security/cryptopp/files/patch-clang
===================================================================
RCS file: security/cryptopp/files/patch-clang
diff -N security/cryptopp/files/patch-clang
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ security/cryptopp/files/patch-clang	6 Sep 2011 09:33:56 -0000
@@ -0,0 +1,97 @@
+--- algebra.cpp~
++++ algebra.cpp
+@@ -58,7 +58,7 @@ template <class T> const T& AbstractEuclideanDomain<T>::Gcd(const Element &a, co
+ 	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;
+--- eccrypto.cpp~
++++ eccrypto.cpp
+@@ -435,7 +435,7 @@ template <class EC> void DL_GroupParameters_EC<EC>::Initialize(const OID &oid)
+ 	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>::ValidateElement(unsigned int level, const Elemen
+ 	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>::BERDecodePublicKey(BufferedTransformation &bt, bool pa
+ 	typename EC::Point P;
+ 	if (!this->GetGroupParameters().GetCurve().DecodePoint(P, bt, size))
+ 		BERDecodeError();
+-	SetPublicElement(P);
++	this->SetPublicElement(P);
+ }
+ 
+ template <class EC>
+--- eccrypto.h~
++++ eccrypto.h
+@@ -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);
+--- panama.cpp~
++++ panama.cpp
+@@ -422,7 +422,7 @@ void PanamaHash<B>::TruncatedFinal(byte 
+ {
+ 	this->ThrowIfInvalidTruncatedSize(size);
+ 
+-	PadLastBlock(this->BLOCKSIZE, 0x01);
++	this->PadLastBlock(this->BLOCKSIZE, 0x01);
+ 	
+ 	HashEndianCorrectedBlock(this->m_data);
+ 
+--- secblock.h~
++++ secblock.h
+@@ -88,7 +88,7 @@ public:
+ 
+ 	pointer allocate(size_type n, const void * = NULL)
+ 	{
+-		CheckSize(n);
++		this->CheckSize(n);
+ 		if (n == 0)
+ 			return NULL;
+ 
--- a.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list