[network-manager-openconnect/NM_0_8] Revert "Use GChecksum for sha1, not OpenSSL"
- From: David Woodhouse <dwmw2 src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [network-manager-openconnect/NM_0_8] Revert "Use GChecksum for sha1, not OpenSSL"
- Date: Sat, 30 Jun 2012 00:52:02 +0000 (UTC)
commit 98afce3e473811f2d0f78f8be469b4ecca336c20
Author: David Woodhouse <David Woodhouse intel com>
Date: Thu Jun 21 15:46:58 2012 +0100
Revert "Use GChecksum for sha1, not OpenSSL"
This reverts commit 70690fdc95c5f95e17e82727bf208d97e0caa383.
... and adds #include <openssl/ssl.h> too. We don't explicitly link against
libcrypto; we rely on the fact that ancient systems like RHEL5 will let it
transitively link via libopenconnect.
auth-dialog/main.c | 19 ++++++++++++-------
1 files changed, 12 insertions(+), 7 deletions(-)
---
diff --git a/auth-dialog/main.c b/auth-dialog/main.c
index 1c244e5..cc67527 100644
--- a/auth-dialog/main.c
+++ b/auth-dialog/main.c
@@ -39,6 +39,8 @@
#include <gconf/gconf-client.h>
+#include <openssl/ssl.h>
+
#include <gtk/gtk.h>
#include <glib/gi18n.h>
@@ -1014,16 +1016,19 @@ if (0) {
xmlconfig = get_gconf_setting(gcl, config_path, NM_OPENCONNECT_KEY_XMLCONFIG);
if (xmlconfig) {
- GChecksum *sha1;
- const char *sha1_text;
+ unsigned char sha1[SHA_DIGEST_LENGTH];
+ char sha1_text[SHA_DIGEST_LENGTH * 2];
+ EVP_MD_CTX c;
+ int i;
- sha1 = g_checksum_new (G_CHECKSUM_SHA1);
- g_checksum_update (sha1, (gpointer) xmlconfig, strlen(xmlconfig));
- sha1_text = g_checksum_get_string(sha1);
+ EVP_MD_CTX_init(&c);
+ EVP_Digest(xmlconfig, strlen(xmlconfig), sha1, NULL, EVP_sha1(), NULL);
+ EVP_MD_CTX_cleanup(&c);
- openconnect_set_xmlsha1 (vpninfo, (char *)sha1_text, strlen(sha1_text) + 1);
- g_checksum_free(sha1);
+ for (i = 0; i < SHA_DIGEST_LENGTH; i++)
+ sprintf(&sha1_text[i*2], "%02x", sha1[i]);
+ openconnect_set_xmlsha1(vpninfo, sha1_text, sizeof(sha1_text));
parse_xmlconfig(xmlconfig);
g_free(xmlconfig);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]