Changed definition of get_my_pub_val function a little
authorSansar Choinyambuu <schoinya@hsr.ch>
Wed, 5 Oct 2011 08:52:17 +0000 (10:52 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Mon, 28 Nov 2011 13:34:21 +0000 (14:34 +0100)
src/libpts/pts/pts.c
src/libpts/pts/pts.h

index a006986..5278f7d 100644 (file)
@@ -161,14 +161,11 @@ METHOD(pts_t, create_dh, bool,
        return FALSE;
 }
 
-METHOD(pts_t, get_my_pub_val, chunk_t,
-          private_pts_t *this)
+METHOD(pts_t, get_my_pub_val, void,
+          private_pts_t *this, chunk_t *pub_value)
 {
-       chunk_t public_value;
-
-       this->dh->get_my_public_value(this->dh, &public_value);
-       DBG3(DBG_PTS, "My Public value:%B", &public_value);
-       return public_value;
+       this->dh->get_my_public_value(this->dh, pub_value);
+       DBG3(DBG_PTS, "My Public value:%B", pub_value);
 }
 
 METHOD(pts_t, set_other_pub_val, void,
@@ -215,6 +212,7 @@ METHOD(pts_t, calculate_secret, bool,
        this->secret = chunk_create(output, HASH_SIZE_SHA1);
        DBG3(DBG_PTS, "Secret assessment value: %B", &this->secret);
 
+       chunk_free(&shared_secret);
        hasher->destroy(hasher);
        return TRUE;
 }
index 02d88b1..c2895f8 100644 (file)
@@ -101,9 +101,9 @@ struct pts_t {
        /**
         * Gets Own Diffie Hellman Public Value
         *
-        * @return                              D-H Public Value
+        * @param info                  chunk to keep own public value
         */
-       chunk_t (*get_my_pub_val)(pts_t *this);
+       void (*get_my_pub_val)(pts_t *this, chunk_t *pub_value);
 
        /**
         * Sets the public value of partner.