Browse Source

ENGINE-633: test email generation fixes and additional test cases

IPS-2
Krista Bennett 12 months ago
parent
commit
7e93106bb6
24 changed files with 2256 additions and 1715 deletions
  1. +499
    -1
      test/src/DefaultFromEmailTest.cc
  2. +1
    -1
      test/src/GenerateMailsToMessageTypeTest.cc
  3. +4
    -4
      test/test_mails/CanonicalFrom2.2BobToAliceUnencrypted.eml
  4. +90
    -90
      test/test_mails/CanonicalFrom2.2BobToAlice_1_0.eml
  5. +32
    -32
      test/test_mails/CanonicalFrom2.2BobToAlice_1_0_NoKey.eml
  6. +103
    -103
      test/test_mails/CanonicalFrom2.2BobToAlice_2_0.eml
  7. +48
    -48
      test/test_mails/CanonicalFrom2.2BobToAlice_2_0_NoKey.eml
  8. +109
    -161
      test/test_mails/CanonicalFrom2.2BobToAlice_2_1.eml
  9. +53
    -53
      test/test_mails/CanonicalFrom2.2BobToAlice_2_1_NoKey.eml
  10. +108
    -108
      test/test_mails/CanonicalFrom2.2BobToAlice_2_2.eml
  11. +53
    -53
      test/test_mails/CanonicalFrom2.2BobToAlice_2_2_NoKey.eml
  12. +90
    -90
      test/test_mails/CanonicalFrom2.2BobToAlice_OpenPGP.eml
  13. +32
    -32
      test/test_mails/CanonicalFrom2.2BobToAlice_OpenPGP_NoKey.eml
  14. +4
    -4
      test/test_mails/CanonicalFrom2.2SylviaToAliceUnencrypted.eml
  15. +142
    -142
      test/test_mails/CanonicalFrom2.2SylviaToAlice_1_0.eml
  16. +43
    -43
      test/test_mails/CanonicalFrom2.2SylviaToAlice_1_0_NoKey.eml
  17. +155
    -155
      test/test_mails/CanonicalFrom2.2SylviaToAlice_2_0.eml
  18. +59
    -59
      test/test_mails/CanonicalFrom2.2SylviaToAlice_2_0_NoKey.eml
  19. +159
    -64
      test/test_mails/CanonicalFrom2.2SylviaToAlice_2_1.eml
  20. +64
    -64
      test/test_mails/CanonicalFrom2.2SylviaToAlice_2_1_NoKey.eml
  21. +160
    -160
      test/test_mails/CanonicalFrom2.2SylviaToAlice_2_2.eml
  22. +63
    -63
      test/test_mails/CanonicalFrom2.2SylviaToAlice_2_2_NoKey.eml
  23. +142
    -142
      test/test_mails/CanonicalFrom2.2SylviaToAlice_OpenPGP.eml
  24. +43
    -43
      test/test_mails/CanonicalFrom2.2SylviaToAlice_OpenPGP_NoKey.eml

+ 499
- 1
test/src/DefaultFromEmailTest.cc View File

@ -1591,4 +1591,502 @@ TEST_F(DefaultFromEmailTest, check_encrypted_key_import_bob_1_0_no_key) {
free_message(infile);
free_identity(alice);
free_identity(recip);
}
}
// Failure case 2) Wrong key attached
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_carol_wrong_sender_key_attached) {
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_john_wrong_sender_key_attached) {
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_sylvia_2_2_wrong_sender_key_attached) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::SYLVIA];
pEp_identity* recip = NULL;
// Make sure identity doesn't exist - do NOT use update_identity, which will create it in the DB
PEP_STATUS status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// And also not in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now have a blank slate. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2SylviaToAlice_2_2_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_bob_2_2_wrong_sender_key_attached) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::BOB];
// We need recip to exist in DB without a known key.
pEp_identity* recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
PEP_STATUS status = set_identity(session, recip);
ASSERT_OK;
// Make sure identity exists
free_identity(recip);
recip = NULL;
status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_OK;
free_identity(recip);
recip = NULL;
// And *not* in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now the desired state. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2BobToAlice_2_2_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_sylvia_2_1_wrong_sender_key_attached) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::SYLVIA];
pEp_identity* recip = NULL;
// Make sure identity doesn't exist - do NOT use update_identity, which will create it in the DB
PEP_STATUS status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// And also not in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now have a blank slate. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2SylviaToAlice_2_1_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_bob_2_1_wrong_sender_key_attached) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::BOB];
// We need recip to exist in DB without a known key.
pEp_identity* recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
PEP_STATUS status = set_identity(session, recip);
ASSERT_OK;
// Make sure identity exists
free_identity(recip);
recip = NULL;
status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_OK;
free_identity(recip);
recip = NULL;
// And *not* in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now the desired state. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2BobToAlice_2_1_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_sylvia_2_0_wrong_sender_key_attached) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::SYLVIA];
pEp_identity* recip = NULL;
// Make sure identity doesn't exist - do NOT use update_identity, which will create it in the DB
PEP_STATUS status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// And also not in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now have a blank slate. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2SylviaToAlice_2_0_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_bob_2_0_wrong_sender_key_attached) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::BOB];
// We need recip to exist in DB without a known key.
pEp_identity* recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
PEP_STATUS status = set_identity(session, recip);
ASSERT_OK;
// Make sure identity exists
free_identity(recip);
recip = NULL;
status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_OK;
free_identity(recip);
recip = NULL;
// And *not* in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now the desired state. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2BobToAlice_2_0_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
// Note: 1.0 only looks at the number of keys attached, so there's no concept of "wrong filename"
// Failure case 3) Wrong sender key filename
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_carol_wrong_keyfilename) {
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_john_wrong_keyfilename) {
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_sylvia_2_2_wrong_keyfilename) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::SYLVIA];
pEp_identity* recip = NULL;
// Make sure identity doesn't exist - do NOT use update_identity, which will create it in the DB
PEP_STATUS status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// And also not in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now have a blank slate. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2SylviaToAlice_2_2_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_bob_2_2_wrong_keyfilename) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::BOB];
// We need recip to exist in DB without a known key.
pEp_identity* recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
PEP_STATUS status = set_identity(session, recip);
ASSERT_OK;
// Make sure identity exists
free_identity(recip);
recip = NULL;
status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_OK;
free_identity(recip);
recip = NULL;
// And *not* in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now the desired state. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2BobToAlice_2_2_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_sylvia_2_1_wrong_keyfilename) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::SYLVIA];
pEp_identity* recip = NULL;
// Make sure identity doesn't exist - do NOT use update_identity, which will create it in the DB
PEP_STATUS status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// And also not in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now have a blank slate. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2SylviaToAlice_2_1_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_bob_2_1_wrong_keyfilename) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::BOB];
// We need recip to exist in DB without a known key.
pEp_identity* recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
PEP_STATUS status = set_identity(session, recip);
ASSERT_OK;
// Make sure identity exists
free_identity(recip);
recip = NULL;
status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_OK;
free_identity(recip);
recip = NULL;
// And *not* in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now the desired state. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2BobToAlice_2_1_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_sylvia_2_0_wrong_keyfilename) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::SYLVIA];
pEp_identity* recip = NULL;
// Make sure identity doesn't exist - do NOT use update_identity, which will create it in the DB
PEP_STATUS status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// And also not in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now have a blank slate. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2SylviaToAlice_2_0_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
TEST_F(DefaultFromEmailTest, check_encrypted_key_import_bob_2_0_wrong_keyfilename) {
pEp_identity* alice = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::ALICE);
const TestUtilsPreset::IdentityInfo& sender_info = TestUtilsPreset::presets[TestUtilsPreset::BOB];
// We need recip to exist in DB without a known key.
pEp_identity* recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
PEP_STATUS status = set_identity(session, recip);
ASSERT_OK;
// Make sure identity exists
free_identity(recip);
recip = NULL;
status = get_identity(session, sender_info.email, sender_info.user_id, &recip);
ASSERT_OK;
free_identity(recip);
recip = NULL;
// And *not* in TOFU form
string TOFU = string("TOFU_") + sender_info.email;
status = get_identity(session, sender_info.email, TOFU.c_str(), &recip);
ASSERT_EQ(status, PEP_CANNOT_FIND_IDENTITY);
// Ok, we now the desired state. Run the import mail fun.
const char* filename = "test_mails/CanonicalFrom2.2BobToAlice_2_0_wrong_sender_key_attached.eml";
message* infile = NULL;
PEP_rating rating = PEP_rating_undefined;
status = vanilla_read_file_and_decrypt_with_rating(session, &infile, filename, &rating);
ASSERT_EQ(status, PEP_DECRYPTED);
ASSERT_EQ(rating, PEP_rating_unreliable);
// Ensure we now have a default key for recip - NOTE: IF THE NAME IS NULL OR DOES NOT MATCH THE TOFU INPUT NAME,
// WE WILL GET NO KEY. THIS IS APPARENTLY BY DESIGN.
//
// I did ask. Often. ;)
recip = new_identity(sender_info.email, NULL, sender_info.user_id, sender_info.name);
ASSERT_NOTNULL(recip);
status = update_identity(session, recip);
ASSERT_NULL(recip->fpr);
ASSERT_EQ(recip->comm_type, PEP_ct_key_not_found);
free_message(infile);
free_identity(alice);
free_identity(recip);
}
// Note: 1.0 only looks at the number of keys attached, so there's no concept of "wrong sender key"

+ 1
- 1
test/src/GenerateMailsToMessageTypeTest.cc View File

@ -199,7 +199,7 @@ TEST_F(GenerateMailsToMessageTypeTest, check_generate_mails_to_message_type_2_1_
}
TEST_F(GenerateMailsToMessageTypeTest, check_generate_mails_to_message_type_2_1_sylvia) {
string filename = string("test_mails/CanonicalFrom") + PEP_VERSION + "BobToAlice_2_1.eml";
string filename = string("test_mails/CanonicalFrom") + PEP_VERSION + "SylviaToAlice_2_1.eml";
pEp_identity* me = TestUtilsPreset::generateAndSetPrivateIdentity(session, TestUtilsPreset::SYLVIA);
pEp_identity* alice = TestUtilsPreset::generateAndSetpEpPartnerIdentity(session, TestUtilsPreset::ALICE, true, true);
int alice_major = 2;


+ 4
- 4
test/test_mails/CanonicalFrom2.2BobToAliceUnencrypted.eml View File

@ -3,9 +3,9 @@ To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: This is a canonical mail from someone to Alice
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="35090b856c4242f14c2f6ed5484850cf"
Content-Type: multipart/mixed; boundary="c55b1195d467a8f393ff7fb54620c84"
--35090b856c4242f14c2f6ed5484850cf
--c55b1195d467a8f393ff7fb54620c84
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
@ -13,7 +13,7 @@ Fa una canzona senza note nere
Se mai bramasti la mia grazia havere
Falla d'un tuono ch'invita al dormire,
Dolcemente, dolcemente facendo la finire.
--35090b856c4242f14c2f6ed5484850cf
--c55b1195d467a8f393ff7fb54620c84
Content-Type: application/pgp-keys
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="sender_key.asc"
@ -51,4 +51,4 @@ T3VjaDdKeGNuCm9jSU1qSzM2VXo1VHpQT2dkU3grQ0JNRW1qcXhDVW5SNTV4US9KNTBpSTBjbjYy
dDNiQ1AwVlRabUYvQkpEQmkKQXM2RWVKVm5HQlVvU1VET2tFST0KPXhyM3kKLS0tLS1FTkQgUEdQ
IFBVQkxJQyBLRVkgQkxPQ0stLS0tLQo=
--35090b856c4242f14c2f6ed5484850cf--
--c55b1195d467a8f393ff7fb54620c84--

+ 90
- 90
test/test_mails/CanonicalFrom2.2BobToAlice_1_0.eml View File

@ -3,106 +3,106 @@ To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/encrypted; boundary="57040631395187c95063b5482f9487c";
Content-Type: multipart/encrypted; boundary="3d9ddd404e334cf876724d5f6ac705d1";
protocol="application/pgp-encrypted"
--57040631395187c95063b5482f9487c
--3d9ddd404e334cf876724d5f6ac705d1
Content-Type: application/pgp-encrypted
Version: 1
--57040631395187c95063b5482f9487c
--3d9ddd404e334cf876724d5f6ac705d1
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
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
UpAb1ig/39jkcFQI9YxoKf8+bEzBajo=
=LA1h
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
FGH1ZfcnG+uT+md8VFz/8uApgqWEkieL/vJ3
=f4v9
-----END PGP MESSAGE-----
--57040631395187c95063b5482f9487c--
--3d9ddd404e334cf876724d5f6ac705d1--

+ 32
- 32
test/test_mails/CanonicalFrom2.2BobToAlice_1_0_NoKey.eml View File

@ -3,48 +3,48 @@ To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/encrypted; boundary="5cbc4b0218c670f62c2d62f212ee0942";
Content-Type: multipart/encrypted; boundary="1839724920630d10be0f88ecfd1060";
protocol="application/pgp-encrypted"
--5cbc4b0218c670f62c2d62f212ee0942
--1839724920630d10be0f88ecfd1060
Content-Type: application/pgp-encrypted
Version: 1
--5cbc4b0218c670f62c2d62f212ee0942
--1839724920630d10be0f88ecfd1060
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
wcBMA4rbkTfsG51OAQf/RFDxoBRVT3avOsnS+lp2ILpKwYZtcZUXKLyeC5G2OvEJ
NSDzlVS078ClF3mmCBGNIn034hfu2eUa2zoAsHd5xgpw3Xc1rGmtYvhnzTCxEp5q
9tmhec4Bz7QKm1n6P1WWHUicWDC4R3SeO9vG13SwINpqj6f1K/D9/EoGulpKf28u
ev2cy5phb66wGxr1V8eGqzf7GJ0EERdhXV7Nvh9OVSdnefAN57kX4DsWD84XH4sa
vD88U0PatQ3y9pXrIVFuI9iVOJerrPlPA/y/7PB95cJgtBunC0AXlqgxR8kCSdZO
QgvVpFo9eCUjpW84gL1YmPAZHvn9O4z0tP0lq4JGE8HATANaAgXZcwg/TQEIAIU5
G/XiZJFvUNR+dqqOicTXgyKN17LzdS2aGiNK8qSkv6MkXo7x8TDdu5VrEdXPforX
scF20aSOEB2bAeb7Rqo9g2Rmh+kjaRzoO19Fuct0hf/Vg1VGmZHs31Fws95MJzjs
Msfa/jnzky7aCcla8Q7fHHcfZu8flJDWlXjbuo7kyaCrEgOVTdlkZBywWueVsxRA
NIYY//hjQ0O1zR37N5OvxRva5NhpYPbA6qhIUew4gdrUgxHfAxT8XSWwKecZnHRk
+ODPpZxKqXyvKZPLMG4Hhu6Gm1REWVMxt+eeje9KxUn5+X5Na8LvkWzSFPpj36fS
La3XnQ37Rl6o8Hem5snSwiEB9jGxrHKeBLhUQGDMCVQj6eA5KjQAvxhrPsFfh+xT
Z48WWNiNmnEP2IKks+elV+lpU51O1r1jDHRFYcJZELlfe8Z/WzaFTo4YS9Y0yUJv
fRT2PEC5lDfSOPpDGTxtXmtdrE2c96LKnmWVJ2rHI9Of8HwYPIZCLUxIr5Ie/+3Y
2VQVW7rsggoR3znu7bgdlwaQV/sGUFluca4rJ8f3aFNO2qGFt8NHRS9ddH5KfztJ
L3wXksbWaKjdD99MougRNRahoqBPW0zs6WCMexqnLdJx6uEcAwDdeBOczsi4YUxl
JJqH6MqTk37eloSXsvc36iJxlmUOX64djDTcBQKgO0PRJFRXUNuza/4UVshIIFFY
UihFbE1iIRpx2NLEiB0JpnsH+k9mTSfniGH2oOUlEWB/SZJg/BtY8/Pbhrrf+Uga
d9rA+wyY6VFPr+bUjcmfp4cXtXR9Zf5egDgqsc7SrsHHUqxPAz3pMx63RxxnBkIX
kFL7HhE43gSq0X+hqgq9aJJp2wN7t+h7/ggt0D6clBS1HIm3EsVE3I2T2Em01PR2
dQb4Mr5kFO5ovuKbn+RxNy4JjnjqUAKofieRoMopZMjeKNXyuH4EhCc1ZEFvbc29
gFmWFEQtNzYSGP2SmpWqDvJ3k+hHkuMtXz+T/vMgMTlb7ZJtJUDNv+haEMyOTNbu
8i0LpZo84PDtDaB1tpAvdyJCL+YMzAI2aYOtqG9Lk2EbotVAAj9MIfh6Ar7Fazxr
uiWbBJpmjLsvfz4xPH7OIlm2S1Qa1KQ1DTiOJvK1f6EK9YqGl4sF3UMAcj+lBN30
HkY6rQNpJ9aEyBNijeVCd6xrAqqsuqQAq1txrjcXtOJKaeKDTRlK1Q5RAMCppu9I
CYIDB/HnYXlM0wKwf0xFAMuRMg1mVVYj3nILxNAlKEhRzeFZck+rmq4S0QJ73Ic/
Zc1CZWcLg0LWnPYRdEtisb7x9tUPdriRWmcZtguzJulaag==
=lfQi
wcBMA4rbkTfsG51OAQf+L3PYRkqpYnku07eHYme+cfanCKT3veflVxviki6tnqCt
yVkpt4tcQ0FybrjIkLYHycWfxI4DWdbmx+8X2cjoyRGA8w/6e5eAXNcbMoPt8e6y
VVwxL1+6Ek9OD217+6ZnmnivZwSmBTDtBhOpiTw51+n6SdZ6PWAvAYhxsAi2rTF9
+kH9KyLbSsx8rFFgpwZcH8Rn44QXIUpIx5FNBBHGG0sB+uwUYx7ZQ4hILfQPX04C
MAUppVJvZDq/+IM/E1y5JNl2g8BmsbzMoHQIwc6wL6fpwEYCpJ+qug/e8/n3XPNs
W3PTBT5l6KOeu/X0mJ7mQWqZOGpmsfGtOoSntk0t+MHATANaAgXZcwg/TQEH/3IG
H9H6e657IoGxcmDJIohvqRhRE5d3WrW/tBKfEGGxFtm/e1S6gMpPSeZNwjI1GKur
8L3YI5SYokQZyRk+gZ1CkO54f18D5emm4KUIq/GorOimnC5ij9nZTNThS6G2MMbT
C3ZYnr1C965qksWShm2fjvzGexDsgrX3xQu9rI2XT2jlda35GZY+hoFcFKRl2Nkz
BReXaKL5zOu0UHkwlsTuEYXm0ekH8UVQqOcyyedLKq8iqDZ1fYSJ1R8KZJe5Tqyt
ytjtnxs0ku3gb44V74qX5FzztKk5Rs+HpFAU+acFE6U8PjIcAqFVkr0TM1b1qwy3
F8XGn63XmjE8RhNOTYPSwiEB6VSIws9DTIlrVxiloaoJLGZzcNlA0ESYCTML/ulx
DgHs0kllB2VBlds+f8OefsieWRcmaXgELz/f26Wc+iUjpu3HlsxGNGJto4Ytlk8f
89xlkUBZ3PfTgMkRNvtT2tW5bDUBYfq5sl4LvDY1yFGfVWNm/ELFn+no9uspo4eB
lQDgN54tyEDeIXfygim9IYn7gQ/RqbU8JKitByyVQnSDM6P6yFpRkWojPAGae3M/
0C24i5juHYrZxjlgKW6brYDGgZSgRoZt75SNh3daOI1Bkewp+OJxxAdt4S2yVW9h
/7A2PSfWup/vAZU7rccf6N5SUpiVr44a4ehCb1YGcMvgORk5thdGqxnyrArBrmND
l4QdIrBbUZbfa52Uwwh/1eNl5GQ3DaeBfcAqr/NHm2fwuLLIE/ne51ZFjMBUkTOr
WQqObOUZTiVNx04x/l4gEBEFAps8rJz6ogKevc8o0LaGmGQIvTjuYuQDGQE2auiu
iNYOfRpR0NAsj5VgnfAbiY0ViRB1NK5E88jIeZwD0BVe6k/piqLMUZ4M/njJlhR+
7KsxmVqBVIvXNmKQiJ7/ZDWMztEKkMHl/M5icjG/TUNZVViVBFOz00/bo+EdJ9Ix
RgWR+3vHCx2uAgiHIGbAWpnBYLTt7sUyI13PKGSKoRR+vXZMX6UJnE1Iq9xLk7dk
WWe4TLD1OwhXxIjbpG8nTPaSXwjy5B3JYvQJ5y9i83krRChjg+2uv9PiJ0ltW9Fx
8yLePdMWN3YQ1C13vWUxgixyHzJomJmAw0K1gAwe+Pq9XFOuEiDaZ5lzIFcPkKa1
DG/VfnHxeBU3Mq/eXCrOCE8aEJGTBKovKDAyuxcAMwTkwkG/lLeQzYDADD0bgAx7
cI/vGsCN/E8cIFeTB6FdJRWLviRYTCcmcnALDxZKi5NaRXnMp2wnEFnbnwicooC9
EI7jqFw0yawnTv8eLSNu7kqqy4Cbp/UJKLnS6epNIBryng==
=sLPa
-----END PGP MESSAGE-----
--5cbc4b0218c670f62c2d62f212ee0942--
--1839724920630d10be0f88ecfd1060--

+ 103
- 103
test/test_mails/CanonicalFrom2.2BobToAlice_2_0.eml View File

@ -1,121 +1,121 @@
Message-ID: <pEp.QUA6IQ.1NK4BEPA0YUMS.3D7D71B9-60C3-4962-B212-CB41E1835FB5@pep-project.org>
Message-ID: <pEp.QUBOZX.0YKBGCFAUUI7K.86CAE8B3-9932-415E-A5E9-21E825429CFD@pep-project.org>
From: Bob Dog <pep.test.bob@pep-project.org>
To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/encrypted; boundary="2638d1b72ca02edd624e227015e5fc5d";
Content-Type: multipart/encrypted; boundary="2456ef2f3d820ead42915010d36b904";
protocol="application/pgp-encrypted"
--2638d1b72ca02edd624e227015e5fc5d
--2456ef2f3d820ead42915010d36b904
Content-Type: application/pgp-encrypted
Version: 1
--2638d1b72ca02edd624e227015e5fc5d
--2456ef2f3d820ead42915010d36b904
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
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
TUWdepE+4RQGBTAav0c=
=Wy1z
wcBMA4rbkTfsG51OAQf+MeA/u5iIYWcy5hbPlc4WqHSki1sbtVDmZORkrN6EYaWM
7S8RgQqXAgPcX5FiNOPG+0uDj/r2SJV6XXbVkBq/eKR9TOu0170NHLf5i0rNsIKN
EDsJ4hO5Fa0JcSqCppLrPn3HsPv/ZhIn8olf0T5iIp0aJ09/ba3UCel9uojU3Mab
b7VT0rYiXaO8HTIpJPm/LR0Mi214vazN4TtAwTzia+8YfrawDswZCo451JQkYxBb
WtiIVVYISU0P6+5JHicXVx+4idWdj1cggDb9+V8hRBKaDeduwhykw4BevWl5oP3F
TuRaE/Lxx5LAiVsR0hRDYLt52TCXZVvwzQoszRbvtMHATANaAgXZcwg/TQEIAKqR
HLaPXc1p3czHrbvpPfDiD/OHNCp2wXE9ZC154X8atMCAiyxYU7Aq/5tYWI7bPbdA
Co+VSj5SrQSrKZyMcvmkn/H/Oz45RWSt3A2HgsATQi835HcVH5GYGH9EHO732nBz
0uEjUPoe1PFWPMUD9yujuJJlM7wqGi6tq/4M/IWZ6yYyXCEUn3UIAIUYtOwa/gAk
+T37JuS9FOMr1DtzTGR8tgw1YRo2UZu6AfHcIFV+73WrdoGa17mSvWDf8NwwLDSg
MxGoZsobDm4o2vPYjh8d4AgR/KZLcEOVUSb+F1wXsuKbaksfZU1xlCU40FQ0eQSp
e3p9JbM+hKI8f9UVPBzSzzIBgnZi7z2ne16g27omaz6Iacleuk7qtiCYcHoBjJKk
I0YInIfBwFKlFCIVOPRSrywxPmTbVmSOv78s0oMWILpxi7y0giIq5wTzQAkwcTQH
fQyzfGdxZYEaNTQ9DJyji6QtyRQZCDFaxDAqLnaK9Lt5ubkBbLfI62U0v3IMkxoS
lmi8bK+Q+kBlAnCs8DYGlI5u3Ws7Hobwhc2Gbg2Si28Yb3R8xihNgPU9EeHTs3lu
Yk9rqIn5AG1QUqXEF+lop7X3ZpI5bST5ndPWwGVlydVm8SQlMwORUMDoc384Qsxc
GfQzN4i6g3PtcMolq6Im0JvLZ7JlrBKIfEjp5KhLIjYJ94AW3qNwt8tGKhs7ssAM
+OSWUR0LliLcXOOHSSp4oWhU+Km+1bOBgvADtuoH2ohfu7nl6yhKxnZJ8bWD6NZE
eXVdBbryJ97GLEuZDXc6/ZFKGi0SdQhKkL7fUu5hG+7WcneSRQI5Kj3rHcO5XGcB
eAnirjxoeFZtR0SD8CKg7ghukNgGT1E/+5GUkPcNCZIuFTOxTkJKkexp8UNHIJN0
HHsA2r9QSrdzxNYmPVVRiGOgO/NAV8t4US7FKNJ5UHVLp5O8xN5HJfAPouL4Acm9
EvVwiqxOcx4OzXDQ7s645PWKtvZItXwi972IUmEN+z3+eLsj1nfr7YpWg2UAfRzj
Lf1KkDzr5ulGoD8p509IGLrzgThb2QIq43chrI6oPR3SyIn9+9i+2NW1iCjEPsXN
w834azMT3mH2MTFOsFNnASL+rIOLnVMANe5seLKy2TLT6BHvvDu+dE20ABqdaOut
Q+wu38qEDEM9wOZBQX55NpoBxYKubvN1B2w7dofAoYSA8m8PHSCQrlK+N7JQrAa3
/lPr8hjSRk/h3KDjBWGLTtD38Silpy0wJneIQeq7ss4TpiQpx79z3ISCgDKDkYqt
ScFEHYsUeo2SQH+5ForOqqw5OfunLRMyUi8pKyUh5dZA8Tabzpj1GhWIXWaqV5xi
lDuHYbEt7yx1kItYZGA9DdIJbOB7CzlmflwakZooukZQmBCQU/Jymno4a9RU1JuY
kbxQXSrEsdGHHsB9lUD7fCoOByf/j8F/H2qKX8d9DTvDetpDkpQe71ldESMFsUag
Np+qjYCV/ji0H8aCos7SyrUYXy4z4r/BYa+EuPXc7Mk1QUu3e2j9NPf183/P0oQ5
GA/X4eUQJyFCoXdENGSu4Fv2p3K9sAKmalekKth7YslLII8BF3chV+vPfXCMrxKM
4zDal2kcsxt7olDKZ8k4UtT7UCIWtHIJZxijGcblvcgkMWArl3Ziq5+SALM+WROw
VG8MFq9RGMwQZ2fOqUe77yB9RkFqaRMZYVyCZScYWvvJ7gjAj+A5dnWoM71sn1YX
VJi61Fzcsob/aUyj1M6BsNqdIlK7xsEz+UijiT7pNklZC9SEpgiA+f2IK1kFF9av
SZ8zT00dOsjkp5Uipuva5XE96X9OF1/bBDkD8slR98vAr7umLQFIC/8rtc6FuDWw
koBzHnvqfYHooKzfWtFYw2LMduB3z/M5GXpKwpwJXy1valxfdxEkKVOm49s4UO27
4FR43m4x4jOvMv5wQndoEXCNyk7oMqxObdjNYJMZXinwMruJu3N3HfDW0t9hFZNo
Ck0O3P5KZ5r+7UX9IvDTy7VX/qLsR//lV7c/iChECRjo05oq1B27dY2xmohz+Q/5
LhxNRmNxlEBWFGCvFhJMCxtUmOTPG0teOk46LZfdSUGDG43xegjyr+U4iMaY1BDF
+un4h48gYrZofpS1fzk5dw+aCZqjUBHHJN4i8zApC0FUI6VeReCc0vP+l2wpnwXP
h3fLqUfecV8Bs6gVnGZaqKB77zG75A+tHLUvHFVGTj6VINuYQsdiwcI9KtSBCOd7
bk6y/4xdL3f8xE8A69Q49Vkaa6V9e0iPJAoqlc0k0yCtBDg4ClDg1J3NJED+yytM
8nQaFzPjCI1NeYlsd05Ih4oDOB3KYyUmGCBotK0mdqJSJ3hZjaHI0bmR1nGUaUBV
Rmu8aj3QEekrAAXR/fqXAGoLEBDKt69oMyLmLyLP1SQtdmOYIL6+pPEMYF7BMnFn
zqMkZQNiWpH4BPQqfdfzrggtYfJPkQ3aHhk9FysHmu2p6QXDjSuYP3MMa8VLqTmU
syyy9CCGoFS0EszzqhcDVdN9oJmGW/+BgxWIDpAFPjb+btJVWWuVz0mTwgrc2Y/S
BySm6mUdXNm9MYiFy+5IhYFiDpA2Nv50keVtIETUaZWVXrVht06k9RWC3bnG/eVW
sDmkLs97ztVhr6hOQuYwi/uIOeBBJ7Xo9bGLZ/Wu7hQdju5DmplVD06F8/YCDM1m
n1zFpoVzFWXRra/f5573Y3JV5XG8VloFS2sUHcylxmd/hwlQzmRXeWS2J2o43r+e
p3HozA5M2l94o0KVhgAkNVo7gg8kX+CrSdW6DY2laWt+ym7LzdceRCZ9weY2IbIb
GEgTY/4mceRV+AQ1d96g95UqNefHp5G1HQEwzvq+vlatB8BX/+msbMXJgfXsWurg
ekGRNoLt10pewzVq7NWaHauD3WSi2kWxxsKyku2tYg8/6oKcFV0ru/ikQ7xceQDP
o3SJpT24BHoHmOdXOcfrzbA/csP7WkIPx+zTDDWg5VjMORQolc/yaoZMAyDOG8U0
TY7PvK+A2vrwBTn2wyGRaIyHrTcyfY2oNOgXdonELk3lseRcFBO3SRDq1uRjQwLU
AYK+ntp6c3T5hCF6JG607XqFqn0WK0lZHVGwViDljGPvq3NJeO68eWIFOIJ5YnQu
qsviE5alErKve0N+PY4oKZsqTrybSbHgLz0B02uwr7A4mtGJaiV21iyxirPMRNnA
bIJPnb+agrMOvzrrnNITRQP4g0l0hzcNTTrz89UO08iyfZHHofAuKshS+re3HAte
VKIbw2TzVocpIuwRviXsIMZ+ECvbtC89jwrnjym9z/B8TzY7HkdzIJbCcvVTN7Cq
02c5RE/h4F3dIKdfVub/1cL/WP0hawL2LcCXr0nBCNYJhK6aZUBG1CyT5tN8BZzV
Zke7y/fg54Za0kNCnFKvwBWin99E+O2IcjGooWSURqUoJghq1z0eZLB2DaIUWmux
dMXMq5EHQ5XRHue7uBigCtOST/GhTECN/wx/AEqjT+KkzUIyU9FgW79tj8DjgwF5
rE4pz3cArRIcHpNerI/rgyBW2PRTZsymY0TOZcYruwqATU9P50KRd7RApUgYorTI
86UMymbaV0OH67KhC/B0mTgMMn80Gh8m1BTRpv8CwlpTZApBAsoEG8OqVntvpVG2
aRYEyKHWUpWb+WrtaUWagJVAAxsvCheKp5CCOh7c1fqbnyXqqYTn8uTsDcWBIp8x
Dkua46cTZ6gtw+5lo7lsaKSqDYx0PagoKuigLakxJOIXxSsbwX5RqGcllwU0L1fo
irT4ZB8ZbB3llSp49DXJIIfnOqfUJrykUOT7npc3ij5z+teRHPIKG3BRCJOfUYhD
SekiEUeSmVATRF9Tn/Jyp9DROUzHOurcqwRsg1RipHWGMLXABwm9ynCHhOVYqtX0
82ukbILbpuRbqK+qdt0PrAqLeUDBBRPxmteiErYEQVFF7uSWUaWkke87acsvSGNt
3fy7W2LsRmIrODeuefj8BRaSjPv4cVKiD4NfZaaoJjubJYGDPkJiOrWhZ7KmgL+U
uS1bD/65ouyssEVbnf1Hkm9EX4J5H73mU1MJhn4fr1PhFXngkpP1XvhBljhpmHb8
6bSYkuS/YwaRlMVboj4EderVb6LpoRFmHj6RzPSHh7GFmY/nCN10roEX77HuPiX1
wvMztWxUPvTOSBg6WelBaHgfW8GR5RqgpUroFBhqtalmJYRgM3uB8GSxeyewb1pw
NH4TyjyOR7rwaEXG7DCRM0SSL15T7bpcNlWXC6TWAL4ywboEFG2SdqIQCD4GWc0d
/nbP2wcGywhnDjgWpDIkxGiCgaId3fv5K0iNEXUVmR0cj8cFz13gZX5CLGJLExfp
2sVDPrIMBVLWslxxzv8K9GqFkBNtLtjgDnjbCZR+wDFwVFsoDczk2Hm9HXtcMn6+
ldfl4ms8HydHmReGp0UoDrTmJ4CHD781dZQpaaIWwE2FUzpH61ONPouCuJfJNrM1
wxgpClXnOLw4r13MuB/gS5ZYwpfyHbakv0C16brRVTqXR+zOE4UJ2ETABkkwalG6
WFeG75NAGgQF8X7CeKyYjfhjcnNOD4n2aVykNLLpGXCiRfFDtFQEjaFmbaNkqGKW
cM9pz/Vo6Gsw7SqNq1Fsf4EblwCkVJHCoNoDudqf3pk87p7rZcxIPAbCSdBN1lnK
8nONZIjyK2nT/ZyVMB+cMtu4JFGnxsbYB5bUuB7XWvhCUbj1+1J90XLPzbvS/hHY
kpMX0rkuEo/XqcvPmKjyFktYEl9TNEPnWQnm82QsmUSVKJidW2bRdVDwBYblYvf6
0KkrSP0hbBs0ZmUtvM7nzMpSk2gNv/VD9Nl2/z0m6GbOX3havHCCs9AksI6OhOpL
3gtgHYwoYX7CCjxLqSmytKtXKJSnMvafF654dftuOutEYjz8ZgyzKJ260x4qluUc
J2PooGR1mDYzBvrM0GQRudEX4JXA6hWCCCKWxeSmQf/O38C+yqnhWTmVnPWXarUW
hxJWW14SlGB1xC0qViLCl9CBIFECsXMUvdYAIK0a1MBZGqpjx1e68fcCrpSP8FGJ
qhsNz3AHbimu3+noRKLJTmqqwSovRnE7XKCwTe+AHn+wbRVLQM8WKiHRxvfgVEno
+X7zysfY3q+BatuVTI5iXS6Fdvh8FfxELx7cY0x2DB5QHDyEJj/jfrluvapz3CPs
Vkvzo6By/V7fvyCuipTN5/7Fwh6/I7piZZ8gM46av6izq1TceHQ+nTMdohbUD7Lb
kxYzH3dCALhiQJNgwnWxRdXu/Jg3wnfcMyTopeV1G0PKDuDL4Q9HmCHcCkPKUQkc
9oR4WThTihTpfr7SVggRqFhyujehe1JQ3BsALOao+TQydlDJ+/YfJ4ANbcmiieRU
8B4VpCFsGaMXXe37UTTulTThOlQ5jNAwnbhG4RMZyDYZhM5+ggBdmyso4NxWWhor
zsqDV3n1PyC8QUO9FnezBM4Z2UCmShkheU/ZisN5RCQXGmcNh0jh6N/7/HQEA+7X
c6dhsYYhVnqm5Vlbb9ZaWIiZ57JATmg8oYojxs7BIKAjEU0eMFYAbgXJ+2rni1kc
FjeJVaRI11sFSlCXlCId1dNett5ivjHSo78ORe0FGwCH+XcfIPSfdzH1J41aLdsL
/Pp018x44do3PpGjJWwB7JvL88vO1IQWUjdxVyzUAc9Dwgofbm+amq2RUsgAHkci
Ch0+SSxbZzgZvvirgN+XcW08QbjaQ8GRwRwUak0lByB2BHJc2V6aDv6q7LNGKXdJ
dgRy5KOJ70Bvk2pxEU7NTBe2AQ==
=XABg
-----END PGP MESSAGE-----
--2638d1b72ca02edd624e227015e5fc5d--
--2456ef2f3d820ead42915010d36b904--

+ 48
- 48
test/test_mails/CanonicalFrom2.2BobToAlice_2_0_NoKey.eml View File

@ -1,66 +1,66 @@
Message-ID: <pEp.QUA6J4.1PKBU979MWU34.F497D944-12AE-4DD8-AE4E-A1737310F0BA@pep-project.org>
Message-ID: <pEp.QUBP09.1LEKG3DX96NE0.11CE1791-0C75-4F34-B857-FCCE8932C8AB@pep-project.org>
From: Bob Dog <pep.test.bob@pep-project.org>
To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/encrypted; boundary="888fd1c45444524d26be20a2656fd";
Content-Type: multipart/encrypted; boundary="7df9b6ad8c1667a508cf39d3d7381fa";
protocol="application/pgp-encrypted"
--888fd1c45444524d26be20a2656fd
--7df9b6ad8c1667a508cf39d3d7381fa
Content-Type: application/pgp-encrypted
Version: 1
--888fd1c45444524d26be20a2656fd
--7df9b6ad8c1667a508cf39d3d7381fa
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
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
=V0gj
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
=AHow
-----END PGP MESSAGE-----
--888fd1c45444524d26be20a2656fd--
--7df9b6ad8c1667a508cf39d3d7381fa--

+ 109
- 161
test/test_mails/CanonicalFrom2.2BobToAlice_2_1.eml View File

@ -1,178 +1,126 @@
Message-ID: <pEp.QUA6IU.1DWPAPA5IZTUO.1CDEE215-DFA2-4765-9E5D-C0A34FC0D2E6@darthmama.org>
From: Sylvia Plath <sylvia@darthmama.org>
Message-ID: <pEp.QUBOZZ.192S2EF4JXCLK.AF1D4D8B-5FB7-4174-A310-6F446AEFAB8B@pep-project.org>
From: Bob Dog <pep.test.bob@pep-project.org>
To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/encrypted; boundary="27d7d074c1651a34f881c2b503cb860";
Content-Type: multipart/encrypted; boundary="4840449e7fb7029346b7e96e4e647411";
protocol="application/pgp-encrypted"
--27d7d074c1651a34f881c2b503cb860
--4840449e7fb7029346b7e96e4e647411
Content-Type: application/pgp-encrypted
Version: 1
--27d7d074c1651a34f881c2b503cb860
--4840449e7fb7029346b7e96e4e647411
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
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
UZj8l9D/BA==
=p8Nl
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
dsX/lkLg
=rYto
-----END PGP MESSAGE-----
--27d7d074c1651a34f881c2b503cb860--
--4840449e7fb7029346b7e96e4e647411--

+ 53
- 53
test/test_mails/CanonicalFrom2.2BobToAlice_2_1_NoKey.eml View File

@ -1,71 +1,71 @@
Message-ID: <pEp.QUA6J7.0219BWA9QCRB4.9F22E563-A3AC-4ACF-9EE8-77AA47C85ED1@pep-project.org>
Message-ID: <pEp.QUBP0C.0GXHQ2OVVJO2K.D09CCB3D-00B3-421D-82D9-B0B6817D0161@pep-project.org>
From: Bob Dog <pep.test.bob@pep-project.org>
To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/encrypted; boundary="6f2f4eee593632d6353b1bf219b59201";
Content-Type: multipart/encrypted; boundary="d89eff37244580b2c2a16267ea05567";
protocol="application/pgp-encrypted"
--6f2f4eee593632d6353b1bf219b59201
--d89eff37244580b2c2a16267ea05567
Content-Type: application/pgp-encrypted
Version: 1
--6f2f4eee593632d6353b1bf219b59201
--d89eff37244580b2c2a16267ea05567
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
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
UIqKcjZDpDgG0pzXLrjpOuaq4g==
=DVBu
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
7XFjnYAiss+iSrwHuVKIM+u0UA==
=PzP5
-----END PGP MESSAGE-----
--6f2f4eee593632d6353b1bf219b59201--
--d89eff37244580b2c2a16267ea05567--

+ 108
- 108
test/test_mails/CanonicalFrom2.2BobToAlice_2_2.eml View File

@ -1,126 +1,126 @@
Message-ID: <pEp.QUA6IV.0TYNRCIN8DRYO.EA2808B9-770F-406D-A061-E8C5E72FEAE1@pep-project.org>
Message-ID: <pEp.QUBP02.05D4435M3C0BT.27C6B4B4-C8F6-4F2C-8537-36C332FC59D6@pep-project.org>
From: Bob Dog <pep.test.bob@pep-project.org>
To: Alice Spivak Hyatt <pep.test.alice@pep-project.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
X-pEp-Version: 2.2
MIME-Version: 1.0
Content-Type: multipart/encrypted; boundary="7da889c6c65b7846498ebcb5950553";
Content-Type: multipart/encrypted; boundary="5978e0ec76e0ddb61e1ded755c461e2d";
protocol="application/pgp-encrypted"
--7da889c6c65b7846498ebcb5950553
--5978e0ec76e0ddb61e1ded755c461e2d
Content-Type: application/pgp-encrypted
Version: 1
--7da889c6c65b7846498ebcb5950553
--5978e0ec76e0ddb61e1ded755c461e2d
Content-Type: application/octet-stream
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
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
kLk7eEDg
=2GIC
wcBMA4rbkTfsG51OAQf+NP3NKDnm5SpB9K65pxgbkhc+XI3VPGHIBfSNh42NBqEV
iHtW90fO0GjjlXwWU4A1UM3fUGe4P8uIL3JbBMAv7f6mWDa92wlflK9/Pg/9IByv
OflxMczrDu025mNnE923AQkB2g0MxOGPivkMh9S8wghJejxjKmYKV+L7I/aGYI9x
OQIjJ06kcVDJy09aKVIyHhx6MJ6xDjxoXA53G1g3Nb3yDsdTXK/Rtd1ipNxbxPRu
GWMOYtz0ZIauG0g/yp4q1C8PSQiwit2fbP63Sn+tTxk4Xwh9T1nBZy4M6FvfA5Vo
uoKfD0SpUyvgXaVGGyI71/xRjnoK+D7Jk8ABpAoyJcHATANaAgXZcwg/TQEH/3Lk
Qx8FBJPxn9QXCdNNjER+W8PoJy9W4sPyoA5B+YFOcD3rOAcduFWmM66+ytT0kKfK
3oc86YOLNAVJFmL2xIzd4FWbM2c0fKDgYyT5vR+8A8rU0zqopZ8j/4Ln0mvzpuil
1XOj2vgGcqx3Vkj4pbX3UJ4ORXjlkEEFQtnPYKwjX03502ZXgrSxtsR/o1o32rkS
PWJGcH0dhRwBonRP8x1pzXl+w1xexjJ3B1lj3a0BUz/T7i6OYZGcl0HEaOZdhpKC