diff options
Diffstat (limited to 'camel/tests/smime')
-rw-r--r-- | camel/tests/smime/.cvsignore | 5 | ||||
-rw-r--r-- | camel/tests/smime/Makefile.am | 24 | ||||
-rw-r--r-- | camel/tests/smime/README | 2 | ||||
-rw-r--r-- | camel/tests/smime/pgp-mime.c | 214 | ||||
-rw-r--r-- | camel/tests/smime/pgp.c | 246 | ||||
-rw-r--r-- | camel/tests/smime/pkcs7.c | 178 |
6 files changed, 0 insertions, 669 deletions
diff --git a/camel/tests/smime/.cvsignore b/camel/tests/smime/.cvsignore deleted file mode 100644 index c0feca5888..0000000000 --- a/camel/tests/smime/.cvsignore +++ /dev/null @@ -1,5 +0,0 @@ -.deps -.libs -Makefile* -pgp -pgp-mime diff --git a/camel/tests/smime/Makefile.am b/camel/tests/smime/Makefile.am deleted file mode 100644 index b14d804dc3..0000000000 --- a/camel/tests/smime/Makefile.am +++ /dev/null @@ -1,24 +0,0 @@ - -INCLUDES = \ - -I$(includedir) \ - -I$(top_srcdir) \ - -I$(top_srcdir)/intl \ - -I$(top_srcdir)/e-util \ - -I$(top_srcdir)/camel \ - -I$(top_srcdir)/camel/tests/lib \ - -DG_LOG_DOMAIN=\"evolution-tests\" \ - $(CAMEL_CFLAGS) - -LDADD = \ - $(top_builddir)/camel/libcamel.la \ - $(top_builddir)/e-util/libeutil.la \ - $(top_builddir)/camel/tests/lib/libcameltest.a \ - $(INTLLIBS) \ - $(EVOLUTION_MAIL_LIBS) - -check_PROGRAMS = \ - pgp -# pgp-mime -# pkcs7 - -TESTS = pgp #pgp-mime pkcs7 diff --git a/camel/tests/smime/README b/camel/tests/smime/README deleted file mode 100644 index baad91ba00..0000000000 --- a/camel/tests/smime/README +++ /dev/null @@ -1,2 +0,0 @@ -pgp PGP test suite - diff --git a/camel/tests/smime/pgp-mime.c b/camel/tests/smime/pgp-mime.c deleted file mode 100644 index 102092679a..0000000000 --- a/camel/tests/smime/pgp-mime.c +++ /dev/null @@ -1,214 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Authors: Jeffrey Stedfast <fejj@ximian.com> - * - * Copyright 2003 Ximian, Inc. (www.ximian.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. - * - */ - - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/wait.h> -#include <camel/camel-gpg-context.h> -#include <camel/camel-multipart-signed.h> -#include <camel/camel-multipart-encrypted.h> -#include <camel/camel-mime-part.h> -#include <camel/camel-stream-mem.h> - -#include "camel-test.h" -#include "session.h" - -static char test_msg[] = "Since we need to make sure that\nFrom lines work okay, we should test that" -"as well as test 8bit chars and other fun stuff? 8bit chars: Dražen Kačar\n\nOkay, I guess that covers" -"the basics at least...\n"; - - -#define CAMEL_PGP_SESSION_TYPE (camel_pgp_session_get_type ()) -#define CAMEL_PGP_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_PGP_SESSION_TYPE, CamelPgpSession)) -#define CAMEL_PGP_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_PGP_SESSION_TYPE, CamelPgpSessionClass)) -#define CAMEL_PGP_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_PGP_SESSION_TYPE)) - - -typedef struct _CamelPgpSession { - CamelSession parent_object; - -} CamelPgpSession; - -typedef struct _CamelPgpSessionClass { - CamelSessionClass parent_class; - -} CamelPgpSessionClass; - - -static char *get_password (CamelSession *session, const char *prompt, - gboolean reprompt, gboolean secret, - CamelService *service, const char *item, - CamelException *ex); - -static void -init (CamelPgpSession *session) -{ - ; -} - -static void -class_init (CamelPgpSessionClass *camel_pgp_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_pgp_session_class); - - /* virtual method override */ - camel_session_class->get_password = get_password; -} - -static CamelType -camel_pgp_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelPgpSession", - sizeof (CamelPgpSession), - sizeof (CamelPgpSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static char * -get_password (CamelSession *session, const char *prompt, gboolean reprompt, gboolean secret, - CamelService *service, const char *item, CamelException *ex) -{ - return g_strdup ("no.secret"); -} - -static CamelSession * -camel_pgp_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_PGP_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - - -int main (int argc, char **argv) -{ - CamelSession *session; - CamelCipherContext *ctx; - CamelException *ex; - CamelCipherValidity *valid; - CamelMimePart *mime_part; - CamelMultipartSigned *mps; - CamelMultipartEncrypted *mpe; - GPtrArray *recipients; - int ret; - - camel_test_init (argc, argv); - - /* clear out any camel-test data */ - system ("/bin/rm -rf /tmp/camel-test"); - system ("/bin/mkdir /tmp/camel-test"); - setenv ("GNUPGHOME", "/tmp/camel-test/.gnupg", 1); - - /* import the gpg keys */ - if ((ret = system ("gpg < /dev/null > /dev/null 2>&1")) == -1) - return 77; - else if (WEXITSTATUS (ret) == 127) - return 77; - - system ("gpg --import ../data/camel-test.gpg.pub > /dev/null 2>&1"); - system ("gpg --import ../data/camel-test.gpg.sec > /dev/null 2>&1"); - - session = camel_pgp_session_new ("/tmp/camel-test"); - - ex = camel_exception_new (); - - ctx = camel_gpg_context_new (session); - camel_gpg_context_set_always_trust (CAMEL_GPG_CONTEXT (ctx), TRUE); - - camel_test_start ("Test of PGP/MIME functions"); - - mime_part = camel_mime_part_new (); - camel_mime_part_set_content (mime_part, test_msg, strlen (test_msg), "text/plain"); - camel_mime_part_set_description (mime_part, "Test of PGP/MIME multipart/signed stuff"); - - camel_test_push ("PGP/MIME signing"); - mps = camel_multipart_signed_new (); - camel_multipart_signed_sign (mps, ctx, mime_part, "no.user@no.domain", CAMEL_CIPHER_HASH_SHA1, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - camel_test_pull (); - - camel_object_unref (mime_part); - camel_exception_clear (ex); - - camel_test_push ("PGP/MIME verify"); - valid = camel_multipart_signed_verify (mps, ctx, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - check_msg (camel_cipher_validity_get_valid (valid), "%s", camel_cipher_validity_get_description (valid)); - camel_cipher_validity_free (valid); - camel_test_pull (); - - camel_object_unref (mps); - camel_exception_clear (ex); - - mime_part = camel_mime_part_new (); - camel_mime_part_set_content (mime_part, test_msg, strlen (test_msg), "text/plain"); - camel_mime_part_set_description (mime_part, "Test of PGP/MIME multipart/encrypted stuff"); - - camel_test_push ("PGP/MIME encrypt"); - recipients = g_ptr_array_new (); - g_ptr_array_add (recipients, "no.user@no.domain"); - - mpe = camel_multipart_encrypted_new (); - camel_multipart_encrypted_encrypt (mpe, mime_part, ctx, "no.user@no.domain", recipients, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - g_ptr_array_free (recipients, TRUE); - camel_test_pull (); - - camel_exception_clear (ex); - camel_object_unref (mime_part); - - camel_test_push ("PGP/MIME decrypt"); - mime_part = camel_multipart_encrypted_decrypt (mpe, ctx, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - camel_object_unref (mime_part); - camel_object_unref (mpe); - camel_test_pull (); - - camel_object_unref (CAMEL_OBJECT (ctx)); - camel_object_unref (CAMEL_OBJECT (session)); - - camel_test_end (); - - return 0; -} diff --git a/camel/tests/smime/pgp.c b/camel/tests/smime/pgp.c deleted file mode 100644 index 81ea6fabdf..0000000000 --- a/camel/tests/smime/pgp.c +++ /dev/null @@ -1,246 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * Authors: Jeffrey Stedfast <fejj@ximian.com> - * - * Copyright 2003 Ximian, Inc. (www.ximian.com) - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA. - * - */ - - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <sys/wait.h> -#include <camel/camel-gpg-context.h> -#include <camel/camel-stream-mem.h> -#include <camel/camel-mime-part.h> - -#include "camel-test.h" -#include "session.h" - -#define CAMEL_PGP_SESSION_TYPE (camel_pgp_session_get_type ()) -#define CAMEL_PGP_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_PGP_SESSION_TYPE, CamelPgpSession)) -#define CAMEL_PGP_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_PGP_SESSION_TYPE, CamelPgpSessionClass)) -#define CAMEL_PGP_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_PGP_SESSION_TYPE)) - - -typedef struct _CamelPgpSession { - CamelSession parent_object; - -} CamelPgpSession; - -typedef struct _CamelPgpSessionClass { - CamelSessionClass parent_class; - -} CamelPgpSessionClass; - - -static char *get_password (CamelSession *session, const char *prompt, - gboolean reprompt, gboolean secret, - CamelService *service, const char *item, - CamelException *ex); - -static void -init (CamelPgpSession *session) -{ - ; -} - -static void -class_init (CamelPgpSessionClass *camel_pgp_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_pgp_session_class); - - /* virtual method override */ - camel_session_class->get_password = get_password; -} - -static CamelType -camel_pgp_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelPgpSession", - sizeof (CamelPgpSession), - sizeof (CamelPgpSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static char * -get_password (CamelSession *session, const char *prompt, gboolean reprompt, gboolean secret, - CamelService *service, const char *item, CamelException *ex) -{ - return g_strdup ("no.secret"); -} - -static CamelSession * -camel_pgp_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_PGP_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - - -int main (int argc, char **argv) -{ - CamelSession *session; - CamelCipherContext *ctx; - CamelException *ex; - CamelCipherValidity *valid; - CamelStream *stream1, *stream2; - struct _CamelMimePart *sigpart, *conpart, *encpart, *outpart; - CamelDataWrapper *dw; - GPtrArray *recipients; - GByteArray *buf; - char *before, *after; - int ret; - - camel_test_init (argc, argv); - - /* clear out any camel-test data */ - system ("/bin/rm -rf /tmp/camel-test"); - system ("/bin/mkdir /tmp/camel-test"); - setenv ("GNUPGHOME", "/tmp/camel-test/.gnupg", 1); - - /* import the gpg keys */ - if ((ret = system ("gpg < /dev/null > /dev/null 2>&1")) == -1) - return 77; - else if (WEXITSTATUS (ret) == 127) - return 77; - - system ("gpg --import ../data/camel-test.gpg.pub > /dev/null 2>&1"); - system ("gpg --import ../data/camel-test.gpg.sec > /dev/null 2>&1"); - - session = camel_pgp_session_new ("/tmp/camel-test"); - - ex = camel_exception_new (); - - ctx = camel_gpg_context_new (session); - camel_gpg_context_set_always_trust (CAMEL_GPG_CONTEXT (ctx), TRUE); - - camel_test_start ("Test of PGP functions"); - - stream1 = camel_stream_mem_new (); - camel_stream_write (stream1, "Hello, I am a test stream.\n", 27); - camel_stream_reset (stream1); - - conpart = camel_mime_part_new(); - dw = camel_data_wrapper_new(); - camel_data_wrapper_construct_from_stream(dw, stream1); - camel_medium_set_content_object((CamelMedium *)conpart, dw); - camel_object_unref(stream1); - camel_object_unref(dw); - - sigpart = camel_mime_part_new(); - - camel_test_push ("PGP signing"); - camel_cipher_sign (ctx, "no.user@no.domain", CAMEL_CIPHER_HASH_SHA1, conpart, sigpart, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - camel_test_pull (); - - camel_exception_clear (ex); - - camel_test_push ("PGP verify"); - valid = camel_cipher_verify (ctx, sigpart, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - check_msg (camel_cipher_validity_get_valid (valid), "%s", camel_cipher_validity_get_description (valid)); - camel_cipher_validity_free (valid); - camel_test_pull (); - - camel_object_unref(conpart); - camel_object_unref(sigpart); - - stream1 = camel_stream_mem_new (); - camel_stream_write (stream1, "Hello, I am a test of encryption/decryption.", 44); - camel_stream_reset (stream1); - - conpart = camel_mime_part_new(); - dw = camel_data_wrapper_new(); - camel_stream_reset(stream1); - camel_data_wrapper_construct_from_stream(dw, stream1); - camel_medium_set_content_object((CamelMedium *)conpart, dw); - camel_object_unref(stream1); - camel_object_unref(dw); - - encpart = camel_mime_part_new(); - - camel_exception_clear (ex); - - camel_test_push ("PGP encrypt"); - recipients = g_ptr_array_new (); - g_ptr_array_add (recipients, "no.user@no.domain"); - camel_cipher_encrypt (ctx, "no.user@no.domain", recipients, conpart, encpart, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - g_ptr_array_free (recipients, TRUE); - camel_test_pull (); - - camel_exception_clear (ex); - - camel_test_push ("PGP decrypt"); - outpart = camel_mime_part_new(); - valid = camel_cipher_decrypt (ctx, encpart, outpart, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - check_msg (valid->encrypt.status == CAMEL_CIPHER_VALIDITY_ENCRYPT_ENCRYPTED, "%s", valid->encrypt.description); - - stream1 = camel_stream_mem_new(); - stream2 = camel_stream_mem_new(); - - camel_data_wrapper_write_to_stream((CamelDataWrapper *)conpart, stream1); - camel_data_wrapper_write_to_stream((CamelDataWrapper *)outpart, stream2); - - buf = CAMEL_STREAM_MEM (stream1)->buffer; - before = g_strndup (buf->data, buf->len); - buf = CAMEL_STREAM_MEM (stream2)->buffer; - after = g_strndup (buf->data, buf->len); - check_msg (string_equal (before, after), "before = '%s', after = '%s'", before, after); - g_free (before); - g_free (after); - - camel_object_unref(stream1); - camel_object_unref(stream2); - camel_object_unref(conpart); - camel_object_unref(encpart); - camel_object_unref(outpart); - - camel_test_pull (); - - camel_object_unref (CAMEL_OBJECT (ctx)); - camel_object_unref (CAMEL_OBJECT (session)); - - camel_test_end (); - - return 0; -} diff --git a/camel/tests/smime/pkcs7.c b/camel/tests/smime/pkcs7.c deleted file mode 100644 index 2248d8656d..0000000000 --- a/camel/tests/smime/pkcs7.c +++ /dev/null @@ -1,178 +0,0 @@ -#include <config.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <camel/camel-smime-context.h> -#include <camel/camel-stream-mem.h> - -#include "camel-test.h" - - -#define CAMEL_TEST_SESSION_TYPE (camel_test_session_get_type ()) -#define CAMEL_TEST_SESSION(obj) (CAMEL_CHECK_CAST((obj), CAMEL_TEST_SESSION_TYPE, CamelTestSession)) -#define CAMEL_TEST_SESSION_CLASS(k) (CAMEL_CHECK_CLASS_CAST ((k), CAMEL_TEST_SESSION_TYPE, CamelTestSessionClass)) -#define CAMEL_TEST_IS_SESSION(o) (CAMEL_CHECK_TYPE((o), CAMEL_TEST_SESSION_TYPE)) - - -typedef struct _CamelTestSession { - CamelSession parent_object; - -} CamelTestSession; - -typedef struct _CamelTestSessionClass { - CamelSessionClass parent_class; - -} CamelTestSessionClass; - - -static char *get_password (CamelSession *session, const char *prompt, - gboolean secret, CamelService *service, - const char *item, CamelException *ex); - -static void -init (CamelTestSession *session) -{ - ; -} - -static void -class_init (CamelTestSessionClass *camel_test_session_class) -{ - CamelSessionClass *camel_session_class = - CAMEL_SESSION_CLASS (camel_test_session_class); - - /* virtual method override */ - camel_session_class->get_password = get_password; -} - -static CamelType -camel_test_session_get_type (void) -{ - static CamelType type = CAMEL_INVALID_TYPE; - - if (type == CAMEL_INVALID_TYPE) { - type = camel_type_register ( - camel_test_session_get_type (), - "CamelTestSession", - sizeof (CamelTestSession), - sizeof (CamelTestSessionClass), - (CamelObjectClassInitFunc) class_init, - NULL, - (CamelObjectInitFunc) init, - NULL); - } - - return type; -} - -static char * -get_password (CamelSession *session, const char *prompt, gboolean secret, - CamelService *service, const char *item, CamelException *ex) -{ - return g_strdup ("S/MIME v3 is rfc263x, now go and read them."); -} - -static CamelSession * -camel_test_session_new (const char *path) -{ - CamelSession *session; - - session = CAMEL_SESSION (camel_object_new (CAMEL_TEST_SESSION_TYPE)); - - camel_session_construct (session, path); - - return session; -} - - -int main (int argc, char **argv) -{ - CamelSession *session; - CamelSMimeContext *ctx; - CamelException *ex; - CamelCipherValidity *valid; - CamelStream *stream1, *stream2, *stream3; - GPtrArray *recipients; - GByteArray *buf; - char *before, *after; - - camel_test_init (argc, argv); - - ex = camel_exception_new (); - - /* clear out any camel-test data */ - system ("/bin/rm -rf /tmp/camel-test"); - - session = camel_test_session_new ("/tmp/camel-test"); - - ctx = camel_smime_context_new (session); - - camel_test_start ("Test of S/MIME PKCS7 functions"); - - stream1 = camel_stream_mem_new (); - camel_stream_write (stream1, "Hello, I am a test stream.", 25); - camel_stream_reset (stream1); - - stream2 = camel_stream_mem_new (); - - camel_test_push ("PKCS7 signing"); - camel_smime_sign (ctx, "smime@xtorshun.org", CAMEL_CIPHER_HASH_SHA1, - stream1, stream2, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - camel_test_pull (); - - camel_exception_clear (ex); - - camel_test_push ("PKCS7 verify"); - camel_stream_reset (stream1); - camel_stream_reset (stream2); - valid = camel_smime_verify (ctx, CAMEL_CIPHER_HASH_SHA1, stream1, stream2, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - check_msg (camel_cipher_validity_get_valid (valid), "%s", camel_cipher_validity_get_description (valid)); - camel_cipher_validity_free (valid); - camel_test_pull (); - - camel_object_unref (CAMEL_OBJECT (stream1)); - camel_object_unref (CAMEL_OBJECT (stream2)); - - stream1 = camel_stream_mem_new (); - stream2 = camel_stream_mem_new (); - stream3 = camel_stream_mem_new (); - - camel_stream_write (stream1, "Hello, I am a test of encryption/decryption.", 44); - camel_stream_reset (stream1); - - camel_exception_clear (ex); - - camel_test_push ("PKCS7 encrypt"); - recipients = g_ptr_array_new (); - g_ptr_array_add (recipients, "smime@xtorshun.org"); - camel_smime_encrypt (ctx, FALSE, "smime@xtorshun.org", recipients, - stream1, stream2, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - g_ptr_array_free (recipients, TRUE); - camel_test_pull (); - - camel_stream_reset (stream2); - camel_exception_clear (ex); - - camel_test_push ("PKCS7 decrypt"); - camel_smime_decrypt (ctx, stream2, stream3, ex); - check_msg (!camel_exception_is_set (ex), "%s", camel_exception_get_description (ex)); - buf = CAMEL_STREAM_MEM (stream1)->buffer; - before = g_strndup (buf->data, buf->len); - buf = CAMEL_STREAM_MEM (stream3)->buffer; - after = g_strndup (buf->data, buf->len); - check_msg (string_equal (before, after), "before = '%s', after = '%s'", before, after); - g_free (before); - g_free (after); - camel_test_pull (); - - camel_object_unref (CAMEL_OBJECT (ctx)); - camel_object_unref (CAMEL_OBJECT (session)); - - camel_test_end (); - - return 0; -} |