cipher should only be set to PSK if JPAKE is used.
[openssl.git] / apps / s_client.c
index 22e676283885391e23d58fca5f0959975a4234f6..098cce27ddb766052bf1d6250fbba604aee685ee 100644 (file)
@@ -362,7 +362,7 @@ static void sc_usage(void)
 # endif
 #endif
        BIO_printf(bio_err," -legacy_renegotiation - enable use of legacy renegotiation (dangerous)\n");
-       BIO_printf(bio_err," -use_srtp profiles - Offer SRTP key management with a colon-separated profile list");
+       BIO_printf(bio_err," -use_srtp profiles - Offer SRTP key management with a colon-separated profile list\n");
        BIO_printf(bio_err," -keymatexport label   - Export keying material using label\n");
        BIO_printf(bio_err," -keymatexportlen len  - Export len bytes of keying material (default 20)\n");
        }
@@ -993,14 +993,13 @@ bad:
                        goto end;
                        }
                psk_identity = "JPAKE";
+               if (cipher)
+                       {
+                       BIO_printf(bio_err, "JPAKE sets cipher to PSK\n");
+                       goto end;
+                       }
+               cipher = "PSK";
                }
-
-       if (cipher)
-               {
-               BIO_printf(bio_err, "JPAKE sets cipher to PSK\n");
-               goto end;
-               }
-       cipher = "PSK";
 #endif
 
        OpenSSL_add_ssl_algorithms();
@@ -2077,30 +2076,33 @@ static void print_stuff(BIO *bio, SSL *s, int full)
        }
  
        SSL_SESSION_print(bio,SSL_get_session(s));
-       if (keymatexportlabel != NULL) {
+       if (keymatexportlabel != NULL)
+               {
                BIO_printf(bio, "Keying material exporter:\n");
                BIO_printf(bio, "    Label: '%s'\n", keymatexportlabel);
                BIO_printf(bio, "    Length: %i bytes\n", keymatexportlen);
                exportedkeymat = OPENSSL_malloc(keymatexportlen);
-               if (exportedkeymat != NULL) {
-                       i = SSL_export_keying_material(s, exportedkeymat,
-                                                      keymatexportlen,
-                                                      keymatexportlabel,
-                                                    strlen(keymatexportlabel),
-                                                      NULL, 0, 0);
-                       if (i != keymatexportlen) {
-                               BIO_printf(bio,
-                                          "    Error: return value %i\n", i);
-                       } else {
+               if (exportedkeymat != NULL)
+                       {
+                       if (!SSL_export_keying_material(s, exportedkeymat,
+                                                       keymatexportlen,
+                                                       keymatexportlabel,
+                                                       strlen(keymatexportlabel),
+                                                       NULL, 0, 0))
+                               {
+                               BIO_printf(bio, "    Error\n");
+                               }
+                       else
+                               {
                                BIO_printf(bio, "    Keying material: ");
                                for (i=0; i<keymatexportlen; i++)
                                        BIO_printf(bio, "%02X",
                                                   exportedkeymat[i]);
                                BIO_printf(bio, "\n");
-                       }
+                               }
                        OPENSSL_free(exportedkeymat);
+                       }
                }
-       }
        BIO_printf(bio,"---\n");
        if (peer != NULL)
                X509_free(peer);