On 06/14/2011 11:32 AM, Aurel Popirtac wrote:
---
  configure.ac                  |    9 ++++
  libaccounts-glib/Makefile.am  |    4 +-
  libaccounts-glib/ag-account.c |  107 ++++++++++++++++++++++++++++++++++-------
  tests/check_ag.c              |   24 +++++++--
  4 files changed, 118 insertions(+), 26 deletions(-)

diff --git a/configure.ac b/configure.ac
index 913dbb5..ff2300f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,6 +18,15 @@ AC_SUBST(LIBACCOUNTS_LIBS)

  PKG_CHECK_MODULES([CHECK], [check>= 0.9.4])

+dnl Check for aegis-crypto library.
+PKG_CHECK_MODULES(AEGISCRYPTO, aegis-crypto, have_aegiscrypto=yes)
+
+if test x$have_aegiscrypto = xyes; then
+       AC_DEFINE(HAVE_AEGISCRYPTO, 1, [Description])

Don't use tabs.

+        AC_SUBST(AEGISCRYPTO_CFLAGS)
+        AC_SUBST(AEGISCRYPTO_LIBS)
+fi
+
  AC_ISC_POSIX
  AC_PROG_CC
  AM_PROG_CC_STDC
diff --git a/libaccounts-glib/Makefile.am b/libaccounts-glib/Makefile.am
index 9056620..f348e7b 100644
--- a/libaccounts-glib/Makefile.am
+++ b/libaccounts-glib/Makefile.am
@@ -1,8 +1,8 @@
  lib_LTLIBRARIES = \
        libaccounts-glib.la

-libaccounts_glib_la_CFLAGS = $(LIBACCOUNTS_CFLAGS) -Wall -Werror
-libaccounts_glib_la_LIBADD = $(LIBACCOUNTS_LIBS) -lrt
+libaccounts_glib_la_CFLAGS = $(LIBACCOUNTS_CFLAGS) $(AEGISCRYPTO_CFLAGS) -Wall 
-Werror

Wrap lines at 80 characters.

+++ b/libaccounts-glib/ag-account.c
@@ -41,6 +41,10 @@
  #include "ag-service.h"
  #include "ag-util.h"

+#ifdef HAVE_AEGISCRYPTO
+  #include<aegis_crypto.h>
+#endif

For this to work, you also need to include config.h.

@@ -2192,26 +2207,42 @@ ag_account_sign (AgAccount *account, const gchar *key, 
const gchar *token)

      g_return_if_fail (data != NULL);

-    /* TODO: sign data with token - depends on libmaemosec */
+    aegis_crypto_result result_sign =
+            aegis_crypto_sign (data,
+                               strlen (data),
+                               token,
+&signature);
+    g_free (data);
+    g_return_if_fail (result_sign == aegis_crypto_ok);

-    priv = account->priv;
-    sc = account_service_changes_get (priv, priv->service, TRUE);
+    aegis_crypto_signature_to_string (&signature,
+                                      aegis_as_base64,
+                                      token,
+&signature_string);
+    aegis_crypto_finish ();

No, you are using aegis_crypto just a few lines below.

      sgn = g_slice_new (AgSignature);
-    sgn->signature = data; //signed_data;
+    sgn->signature = g_strdup (signature_string);
+    aegis_crypto_free (signature_string);
      sgn->token = g_strdup (token);
[...]
diff --git a/tests/check_ag.c b/tests/check_ag.c
index df02c0d..46de191 100644
--- a/tests/check_ag.c
+++ b/tests/check_ag.c
@@ -1427,11 +1427,11 @@ END_TEST

  START_TEST(test_sign_verify_key)
  {
-    const gchar *key = "test_key/";
      const gchar *key1 = "test_key/key1";
      const gchar *key2 = "test_key/key2";
-    const gchar *list_of_tokens[] = {"t", "tok", "token", NULL};
-    const gchar *token = "token";
+    const gchar *list_of_tokens[] = {"libaccounts-glib0::t", "libaccounts-glib0::tok", 
"libaccounts-glib0::accounts-glib-access", NULL};

Wrap at 80 chars.

@@ -1461,6 +1461,11 @@ START_TEST(test_sign_verify_key)
      g_value_unset (&value);

      ag_account_store (account, account_store_now_cb, TEST_STRING);
+    ok = ag_account_verify (account, key1,&reply_token);

Space after comma (also later).

Ciao,
  Alberto

--
http://blog.mardy.it <-- geek in un lingua international!
_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev
http://wiki.meego.com/Mailing_list_guidelines

Reply via email to