r3367 - in trunk/libmcrypto: include/libmcrypto source

erik at minisip.org erik at minisip.org
Wed Aug 15 16:20:13 CEST 2007


Author: erik
Date: 2007-08-15 16:20:12 +0200 (Wed, 15 Aug 2007)
New Revision: 3367

Modified:
   trunk/libmcrypto/include/libmcrypto/SipSim.h
   trunk/libmcrypto/include/libmcrypto/rand.h
   trunk/libmcrypto/source/SipSimSoft.cxx
Log:

libmcrypto:
 * bug fix: SipSimSoft::getRandomValue did not return true
   on success.
 * added assertions that fails when using certificates that
   does not exist.




Modified: trunk/libmcrypto/include/libmcrypto/SipSim.h
===================================================================
--- trunk/libmcrypto/include/libmcrypto/SipSim.h	2007-08-14 17:32:06 UTC (rev 3366)
+++ trunk/libmcrypto/include/libmcrypto/SipSim.h	2007-08-15 14:20:12 UTC (rev 3367)
@@ -50,6 +50,10 @@
 				bool doHash, 
 				int hash_alg=HASH_SHA1) = 0;
 	
+	/**
+	 * Returns cryptographically strong random data 
+	 * @return true of success, false otherwise
+	 */
 	virtual bool getRandomValue(unsigned char * randomPtr, unsigned long randomLength) = 0;
 
 	//virtual bool getDHPublicValue(unsigned long & dhPublicValueLength, unsigned char * dhPublickValuePtra)=0;

Modified: trunk/libmcrypto/include/libmcrypto/rand.h
===================================================================
--- trunk/libmcrypto/include/libmcrypto/rand.h	2007-08-14 17:32:06 UTC (rev 3366)
+++ trunk/libmcrypto/include/libmcrypto/rand.h	2007-08-15 14:20:12 UTC (rev 3367)
@@ -35,6 +35,7 @@
 
 		/**
 		 * Generate cryptographically strong random data
+		 * @return true on success, false otherwise
 		 */
 		static bool randomize(void *buffer, size_t length);
 		static bool randomize(void *buffer, size_t length, MRef<SipSim *> sim);

Modified: trunk/libmcrypto/source/SipSimSoft.cxx
===================================================================
--- trunk/libmcrypto/source/SipSimSoft.cxx	2007-08-14 17:32:06 UTC (rev 3366)
+++ trunk/libmcrypto/source/SipSimSoft.cxx	2007-08-15 14:20:12 UTC (rev 3367)
@@ -7,6 +7,8 @@
 
 SipSimSoft::SipSimSoft(MRef<CertificateChain*> chain, MRef<CertificateSet*> cas)
 {
+	massert(chain);
+	massert(chain->getFirst());
 	certChain = chain;
 	ca_set = cas;
 }
@@ -18,15 +20,16 @@
 		bool doHash,
 		int hash_alg)
 {
+	massert(doHash /*we don't support not hashing in SipSimSoft yet...*/);
+	massert(certChain);
 	MRef<Certificate*> myCert = certChain->getFirst();
-	assert(doHash /*we don't support not hashing in SipSimSoft yet...*/);
+	massert(myCert);
 	myCert->signData(data, dataLength, signaturePtr, &signatureLength);
 	return true;
 }
 
 bool SipSimSoft::getRandomValue(unsigned char * randomPtr, unsigned long randomLength)
 {
-	Rand::randomize(randomPtr, randomLength);
-	return false;
+	return Rand::randomize(randomPtr, randomLength);
 }
 



More information about the Minisip-devel mailing list