make Message-ID random

ENGINE-781
Volker Birk 3 years ago
parent e6840e33f2
commit 946f2f0ebe

@ -1,10 +1,19 @@
#include "message_cache.hh"
#include <cassert>
#include <cstring>
#include <random>
pEp::MessageCache pEp::message_cache;
namespace pEp {
MessageCache::MessageCache()
{
std::random_device r;
std::default_random_engine e(r());
std::uniform_int_distribution<long long> u(1, 0x0100000000000000L);
next_id = u(e);
}
PEP_STATUS MessageCache::cache_decrypt_message(
PEP_SESSION session,
message *src,
@ -361,6 +370,17 @@ namespace pEp {
if (status)
return status;
// guarantee we have a Message-ID
if (_msg && emptystr(_msg->id)) {
free(_msg->id);
std::string _id = std::to_string(next_id++);
_msg->id = strdup((std::string("pEp_auto_id_") + _id).c_str());
assert(_msg->id);
if (!_msg->id)
throw std::bad_alloc();
}
*msg = empty_message_copy(_msg);
{

@ -20,8 +20,11 @@ namespace pEp {
cache _cache;
std::mutex _mtx;
long long next_id = 23;
public:
MessageCache();
enum which { msg_src = 0, msg_dst = 1 };
static PEP_STATUS cache_mime_decode_message(

@ -17,7 +17,6 @@ int main()
char *mime = strdup("From: Alice <alice@mail.com>\n"
"To: Bob <bob@mail.com>\n"
"Subject: short message\n"
"Message-ID: <42>\n"
"\n"
"long message\n");

Loading…
Cancel
Save