ENGINE-866: Key reset tested on mixed sticky and not sticky keys and does what it should.

Krista Bennett 2 years ago
parent 0ffbdde7b5
commit ad725b5b7c

@ -1101,7 +1101,7 @@ TEST_F(KeyResetMessageTest, check_reset_grouped_own_multiple_keys_multiple_ident
free_identity(alex_id3);
}
TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_with_sticky) {
TEST_F(KeyResetMessageTest, check_reset_all_own_grouped) {
char* pubkey1 = strdup("74D79B4496E289BD8A71B70BA8E2C4530019697D");
char* pubkey2 = strdup("2E21325D202A44BFD9C607FCF095B202503B14D8");
char* pubkey3 = strdup("3C1E713D8519D7F907E3142D179EAA24A216E95A");
@ -1129,23 +1129,20 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_with_sticky) {
status = read_file_and_import_key(session, "test_keys/priv/pep.test.alexander6-0x503B14D8_priv.asc");
status = read_file_and_import_key(session, "test_keys/priv/pep.test.alexander6-0xA216E95A_priv.asc");
// sticky - false
alex_id->me = true;
status = set_own_key(session, alex_id, pubkey1);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id, alex_id->flags | PEP_idf_devicegroup);
ASSERT_EQ(status , PEP_STATUS_OK);
// sticky - true
alex_id2->me = true;
status = set_own_imported_key(session, alex_id2, pubkey2, true);
status = set_own_key(session, alex_id2, pubkey2);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id2, alex_id2->flags | PEP_idf_not_for_sync);
ASSERT_EQ(status , PEP_STATUS_OK);
// sticky - true
alex_id3->me = true;
status = set_own_imported_key(session, alex_id3, pubkey3, true);
status = set_own_key(session, alex_id3, pubkey3);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id3, alex_id3->flags | PEP_idf_devicegroup);
ASSERT_EQ(status , PEP_STATUS_OK);
@ -1177,7 +1174,7 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_with_sticky) {
free(alex_id3->fpr);
alex_id3->fpr = strdup(pubkey3);
status = get_trust(session, alex_id3);
ASSERT_EQ(alex_id3->comm_type , PEP_ct_pEp);
ASSERT_EQ(alex_id3->comm_type , PEP_ct_mistrusted);
bool revoked = false;
status = key_revoked(session, pubkey1, &revoked);
@ -1192,7 +1189,7 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_with_sticky) {
revoked = false;
status = key_revoked(session, pubkey3, &revoked);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_FALSE(revoked);
ASSERT_TRUE(revoked);
status = myself(session, alex_id);
ASSERT_EQ(status, PEP_STATUS_OK);
@ -1204,19 +1201,25 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_with_sticky) {
status = myself(session, alex_id3);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STREQ(pubkey3, alex_id3->fpr);
ASSERT_STRNE(pubkey3, alex_id3->fpr);
ASSERT_EQ(m_queue.size(),1);
if (true) {
ASSERT_EQ(m_queue.size(),2);
if (false) {
ofstream outfile;
string fname = "test_mails/check_reset_all_own_grouped_sticky.eml";
outfile.open(fname);
char* msg_txt = NULL;
mime_encode_message(m_queue[0], false, &msg_txt, false);
outfile << msg_txt;
outfile.close();
int i = 0;
for (vector<message*>::iterator it = m_queue.begin(); it != m_queue.end(); it++, i++) {
message* curr_sent_msg = *it;
string fname = string("test_mails/check_reset_all_own_grouped") + to_string(i) + ".eml";
outfile.open(fname);
char* msg_txt = NULL;
mime_encode_message(curr_sent_msg, false, &msg_txt, false);
outfile << msg_txt;
outfile.close();
}
cout << " // For " << alex_id->address << endl;
cout << " const char* replkey1 = \"" << alex_id->fpr << "\";" << endl;
cout << " const char* replkey1 = \"" << alex_id->fpr << "\";" << endl;
cout << " // For " << alex_id3->address << endl;
cout << " const char* replkey3 = \"" << alex_id3->fpr << "\";" << endl;
}
free_identity(alex_id);
@ -1224,7 +1227,7 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_with_sticky) {
free_identity(alex_id3);
}
TEST_F(KeyResetMessageTest, check_reset_all_own_grouped) {
TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_with_sticky) {
char* pubkey1 = strdup("74D79B4496E289BD8A71B70BA8E2C4530019697D");
char* pubkey2 = strdup("2E21325D202A44BFD9C607FCF095B202503B14D8");
char* pubkey3 = strdup("3C1E713D8519D7F907E3142D179EAA24A216E95A");
@ -1252,20 +1255,23 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped) {
status = read_file_and_import_key(session, "test_keys/priv/pep.test.alexander6-0x503B14D8_priv.asc");
status = read_file_and_import_key(session, "test_keys/priv/pep.test.alexander6-0xA216E95A_priv.asc");
// sticky - false
alex_id->me = true;
status = set_own_key(session, alex_id, pubkey1);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id, alex_id->flags | PEP_idf_devicegroup);
ASSERT_EQ(status , PEP_STATUS_OK);
// sticky - true
alex_id2->me = true;
status = set_own_key(session, alex_id2, pubkey2);
status = set_own_imported_key(session, alex_id2, pubkey2, true);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id2, alex_id2->flags | PEP_idf_not_for_sync);
ASSERT_EQ(status , PEP_STATUS_OK);
// sticky - true
alex_id3->me = true;
status = set_own_key(session, alex_id3, pubkey3);
status = set_own_imported_key(session, alex_id3, pubkey3, true);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id3, alex_id3->flags | PEP_idf_devicegroup);
ASSERT_EQ(status , PEP_STATUS_OK);
@ -1297,7 +1303,7 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped) {
free(alex_id3->fpr);
alex_id3->fpr = strdup(pubkey3);
status = get_trust(session, alex_id3);
ASSERT_EQ(alex_id3->comm_type , PEP_ct_mistrusted);
ASSERT_EQ(alex_id3->comm_type , PEP_ct_pEp);
bool revoked = false;
status = key_revoked(session, pubkey1, &revoked);
@ -1312,7 +1318,7 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped) {
revoked = false;
status = key_revoked(session, pubkey3, &revoked);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_TRUE(revoked);
ASSERT_FALSE(revoked);
status = myself(session, alex_id);
ASSERT_EQ(status, PEP_STATUS_OK);
@ -1324,25 +1330,19 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped) {
status = myself(session, alex_id3);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STRNE(pubkey3, alex_id3->fpr);
ASSERT_STREQ(pubkey3, alex_id3->fpr);
ASSERT_EQ(m_queue.size(),2);
ASSERT_EQ(m_queue.size(),1);
if (false) {
ofstream outfile;
int i = 0;
for (vector<message*>::iterator it = m_queue.begin(); it != m_queue.end(); it++, i++) {
message* curr_sent_msg = *it;
string fname = string("test_mails/check_reset_all_own_grouped") + to_string(i) + ".eml";
outfile.open(fname);
char* msg_txt = NULL;
mime_encode_message(curr_sent_msg, false, &msg_txt, false);
outfile << msg_txt;
outfile.close();
}
string fname = "test_mails/check_reset_all_own_grouped_sticky.eml";
outfile.open(fname);
char* msg_txt = NULL;
mime_encode_message(m_queue[0], false, &msg_txt, false);
outfile << msg_txt;
outfile.close();
cout << " // For " << alex_id->address << endl;
cout << " const char* replkey1 = \"" << alex_id->fpr << "\";" << endl;
cout << " // For " << alex_id3->address << endl;
cout << " const char* replkey3 = \"" << alex_id3->fpr << "\";" << endl;
}
free_identity(alex_id);
@ -1350,8 +1350,6 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped) {
free_identity(alex_id3);
}
TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_recv) {
PEP_STATUS status = PEP_STATUS_OK;
char* pubkey1 = strdup("74D79B4496E289BD8A71B70BA8E2C4530019697D");
@ -1362,7 +1360,7 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_recv) {
const char* replkey1 = "0F9C2FBFB898AD3A1242257F300EFFDE4CE2C33F";
// For pep.test.alexander6a@darthmama.org
const char* replkey3 = "3671C09D3C79260C65045AE9A62A64E4CBEDAFDA";
pEp_identity* alex_id = new_identity("pep.test.alexander@darthmama.org",
NULL,
"AlexID",
@ -1437,7 +1435,7 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_recv) {
ASSERT_EQ(status, PEP_STATUS_OK);
status = decrypt_message(session, new_msg, &dec_msg, &keylist, &rating, &flags);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_EQ(status, PEP_STATUS_OK);
}
char* new_main_key = NULL;
@ -1457,6 +1455,109 @@ TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_recv) {
ASSERT_STREQ(replkey3, alex_id3->fpr);
}
TEST_F(KeyResetMessageTest, check_reset_all_own_grouped_recv_with_sticky) {
PEP_STATUS status = PEP_STATUS_OK;
char* pubkey1 = strdup("74D79B4496E289BD8A71B70BA8E2C4530019697D");
char* pubkey2 = strdup("2E21325D202A44BFD9C607FCF095B202503B14D8");
char* pubkey3 = strdup("3C1E713D8519D7F907E3142D179EAA24A216E95A");
// For pep.test.alexander@darthmama.org
const char* replkey1 = "8FDB872F88BD76F2C6C2DE0E8453FAEA21DD0DCF";
pEp_identity* alex_id = new_identity("pep.test.alexander@darthmama.org",
NULL,
"AlexID",
"Alexander Braithwaite");
pEp_identity* alex_id2 = new_identity("pep.test.alexander6@darthmama.org",
NULL,
"AlexID",
"Alexander Braithwaite");
pEp_identity* alex_id3 = new_identity("pep.test.alexander6a@darthmama.org",
NULL,
"AlexID",
"Alexander Braithwaite");
status = read_file_and_import_key(session, "test_keys/pub/pep.test.alexander6-0x0019697D_pub.asc");
status = read_file_and_import_key(session, "test_keys/pub/pep.test.alexander6-0x503B14D8_pub.asc");
status = read_file_and_import_key(session, "test_keys/pub/pep.test.alexander6-0xA216E95A_pub.asc");
status = read_file_and_import_key(session, "test_keys/priv/pep.test.alexander6-0x0019697D_priv.asc");
status = read_file_and_import_key(session, "test_keys/priv/pep.test.alexander6-0x503B14D8_priv.asc");
status = read_file_and_import_key(session, "test_keys/priv/pep.test.alexander6-0xA216E95A_priv.asc");
alex_id->me = true;
status = set_own_key(session, alex_id, pubkey1);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id, alex_id->flags | PEP_idf_devicegroup);
ASSERT_EQ(status , PEP_STATUS_OK);
alex_id2->me = true;
status = set_own_key(session, alex_id2, pubkey2);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id2, alex_id2->flags | PEP_idf_devicegroup);
ASSERT_EQ(status , PEP_STATUS_OK);
alex_id3->me = true;
status = set_own_key(session, alex_id3, pubkey3);
ASSERT_EQ(status, PEP_STATUS_OK);
status = set_identity_flags(session, alex_id3, alex_id3->flags | PEP_idf_devicegroup);
ASSERT_EQ(status , PEP_STATUS_OK);
status = myself(session, alex_id);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STREQ(pubkey1, alex_id->fpr);
status = myself(session, alex_id2);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STREQ(pubkey2, alex_id2->fpr);
status = myself(session, alex_id3);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STREQ(pubkey3, alex_id3->fpr);
char* old_main_key = NULL;
status = get_main_user_fpr(session, "AlexID", &old_main_key);
ASSERT_NE(old_main_key, nullptr);
const int num_msgs = 1;
// receive reset messages
message* dec_msg = NULL;
stringlist_t* keylist = NULL;
PEP_rating rating;
PEP_decrypt_flags_t flags = 0;
string fname = "test_mails/check_reset_all_own_grouped_sticky.eml";
string mailstr = slurp(fname.c_str());
message* new_msg = NULL;
status = mime_decode_message(mailstr.c_str(), mailstr.size(), &new_msg, NULL);
ASSERT_NE(new_msg, nullptr);
ASSERT_EQ(status, PEP_STATUS_OK);
status = decrypt_message(session, new_msg, &dec_msg, &keylist, &rating, &flags);
ASSERT_EQ(status, PEP_STATUS_OK);
char* new_main_key = NULL;
status = get_main_user_fpr(session, "AlexID", &new_main_key);
ASSERT_STRNE(old_main_key, new_main_key);
status = myself(session, alex_id);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STREQ(replkey1, alex_id->fpr);
status = myself(session, alex_id2);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STREQ(pubkey2, alex_id2->fpr);
status = myself(session, alex_id3);
ASSERT_EQ(status, PEP_STATUS_OK);
ASSERT_STREQ(pubkey3, alex_id3->fpr);
}
TEST_F(KeyResetMessageTest, check_reset_grouped_own_multiple_keys_multiple_idents_reset_all_recv) {
PEP_STATUS status = PEP_STATUS_OK;
char* pubkey1 = strdup("74D79B4496E289BD8A71B70BA8E2C4530019697D");

@ -1,4 +1,4 @@
Message-ID: <pEp.QP5355.1W4QUU5JRAI1W.316593C7-BE65-469A-A4CA-4AD8D282BF64@darthmama.org>
Message-ID: <pEp.QP53VJ.1X67W5OUABHPO.D85FC9E0-8D58-4504-AF84-A4476D37C8ED@darthmama.org>
From: Alexander Braithwaite <pep.test.alexander@darthmama.org>
To: Alexander Braithwaite <pep.test.alexander@darthmama.org>
Subject: =?utf-8?Q?p=E2=89=A1p?=
@ -20,265 +20,265 @@ Content-Disposition: inline; filename="msg.asc"
-----BEGIN PGP MESSAGE-----
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
bqdpyL2HSQgEQF3FHgMpYnLto8BuI5mVGr0/vUg=
=ZYYo
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
ewwiJsHeRRXxg91Pv+mHYlInURF2M0vTFcUaP9k=
=eNGJ
-----END PGP MESSAGE-----
--238e1f2946e87ccd3d1b58ba507ed7ab--

Loading…
Cancel
Save