fixed all pluto compiler warnings
[strongswan.git] / src / pluto / keys.c
index 7aea81f..0d2efc9 100644 (file)
@@ -11,7 +11,7 @@
  * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  * for more details.
  *
- * RCSID $Id: keys.c,v 1.24 2006/01/27 08:59:40 as Exp $
+ * RCSID $Id$
  */
 
 #include <stddef.h>
@@ -83,7 +83,7 @@ static pubkey_t*
 allocate_RSA_public_key(const cert_t cert)
 {
     pubkey_t *pk = alloc_thing(pubkey_t, "pubkey");
-    chunk_t e, n;
+    chunk_t e = empty_chunk, n = empty_chunk;
 
     switch (cert.type)
     {
@@ -335,7 +335,7 @@ get_x509_private_key(const x509cert_t *cert)
 {
     secret_t *s;
     const RSA_private_key_t *pri = NULL;
-    const cert_t c = {CERT_X509_SIGNATURE, {cert}};
+    const cert_t c = {CERT_X509_SIGNATURE, {(x509cert_t*)cert}};
 
     pubkey_t *pubkey = allocate_RSA_public_key(c);
 
@@ -647,7 +647,7 @@ xauth_get_secret(xauth_t *xauth_secret)
  * find a matching secret
  */
 static bool
-xauth_verify_secret(const xauth_t *xauth_secret)
+xauth_verify_secret(const char *conn_name, const xauth_t *xauth_secret)
 {
     bool found = FALSE;
     secret_t *s;
@@ -683,14 +683,14 @@ xauth_defaults(void)
     if (xauth_module.get_secret == NULL)
     {
        DBG(DBG_CONTROL,
-           DBG_log("xauth_module: using default get_secret() function")
+           DBG_log("xauth module: using default get_secret() function")
        )
        xauth_module.get_secret = xauth_get_secret;
     }
     if (xauth_module.verify_secret == NULL)
     {
        DBG(DBG_CONTROL,
-           DBG_log("xauth_module: using default verify_secret() function")
+           DBG_log("xauth module: using default verify_secret() function")
        )
        xauth_module.verify_secret = xauth_verify_secret;
     }
@@ -772,6 +772,38 @@ process_pin(secret_t *s, int whackfd)
 }
 
 static void
+log_psk(secret_t *s)
+{
+    int n = 0;
+    char buf[BUF_LEN];
+    id_list_t *id_list = s->ids;
+
+    if (id_list == NULL)
+    {
+       n = snprintf(buf, BUF_LEN, "%%any");
+    }
+    else
+    {
+       do
+       {
+           n += idtoa(&id_list->id, buf + n, BUF_LEN - n);
+           if (n >= BUF_LEN)
+           {
+               n = BUF_LEN - 1;
+               break;
+           }
+           else if (n < BUF_LEN - 1)
+           {
+               n += snprintf(buf + n, BUF_LEN - n, " ");
+           }
+           id_list = id_list->next;
+       }
+       while (id_list);
+    }
+    plog("  loaded shared key for %.*s", n, buf);
+}
+
+static void
 process_secret(secret_t *s, int whackfd)
 {
     err_t ugh = NULL;
@@ -780,11 +812,13 @@ process_secret(secret_t *s, int whackfd)
     if (*tok == '"' || *tok == '\'')
     {
        /* old PSK format: just a string */
+       log_psk(s);
        ugh = process_psk_secret(&s->u.preshared_secret);
     }
     else if (tokeqword("psk"))
     {
        /* preshared key: quoted string or ttodata format */
+       log_psk(s);
        ugh = !shift()? "unexpected end of record in PSK"
            : process_psk_secret(&s->u.preshared_secret);
     }
@@ -1439,7 +1473,7 @@ add_pgp_public_key(pgpcert_t *cert , time_t until
 void
 remove_x509_public_key(const x509cert_t *cert)
 {
-    const cert_t c = {CERT_X509_SIGNATURE, {cert}};
+    const cert_t c = {CERT_X509_SIGNATURE, {(x509cert_t*)cert}};
     pubkey_list_t *p, **pp;
     pubkey_t *revoked_pk;