forked from cory/tildefriends
		
	ssb: Better errors for failing to decrypt private messages.
This commit is contained in:
		| @@ -2238,6 +2238,8 @@ static void _tf_ssb_private_message_decrypt_work(tf_ssb_t* ssb, void* user_data) | ||||
| 	tf_ssb_release_db_reader(ssb, db); | ||||
|  | ||||
| 	if (found) | ||||
| 	{ | ||||
| 		if (work->message_size >= strlen(".box") && memcmp(work->message + work->message_size - strlen(".box"), ".box", strlen(".box")) == 0) | ||||
| 		{ | ||||
| 			uint8_t* decoded = tf_malloc(work->message_size); | ||||
| 			int decoded_length = tf_base64_decode(work->message, work->message_size - strlen(".box"), decoded, work->message_size); | ||||
| @@ -2283,11 +2285,16 @@ static void _tf_ssb_private_message_decrypt_work(tf_ssb_t* ssb, void* user_data) | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 			work->error = "Encrypted message was not long enough to contains its one-time public key."; | ||||
| 				work->error = "Encrypted message was not long enough to contain its one-time public key."; | ||||
| 			} | ||||
| 			tf_free(decoded); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			work->error = "Message does not end in \".box\"."; | ||||
| 		} | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		work->error = "Private key not found for user."; | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user