unencrypted subject on re-encryption ENGINE-325
authorVolker Birk <vb@pep-project.org>
Mon, 26 Aug 2019 14:17:29 +0200
branchENGINE-325
changeset 4009893914b2fe27
parent 4008 232b84c31538
child 4023 97136bf70b47
unencrypted subject on re-encryption
src/message_api.c
     1.1 --- a/src/message_api.c	Mon Aug 26 13:54:01 2019 +0200
     1.2 +++ b/src/message_api.c	Mon Aug 26 14:17:29 2019 +0200
     1.3 @@ -1944,7 +1944,7 @@
     1.4          }
     1.5          else {
     1.6              // hide subject
     1.7 -            if (enc_format != PEP_enc_inline && !session->unencrypted_subject) {
     1.8 +            if (enc_format != PEP_enc_inline /*&& !session->unencrypted_subject */) {
     1.9                  status = replace_subject(_src);
    1.10                  if (status == PEP_OUT_OF_MEMORY)
    1.11                      goto enomem;
    1.12 @@ -2318,22 +2318,25 @@
    1.13      if (status != PEP_STATUS_OK)
    1.14          goto pEp_error;
    1.15  
    1.16 -     if (msg && msg->shortmsg == NULL) {
    1.17 -         msg->shortmsg = _pEp_subj_copy();
    1.18 -         assert(msg->shortmsg);
    1.19 -         if (msg->shortmsg == NULL)
    1.20 -             goto enomem;
    1.21 -     }
    1.22 -
    1.23 -     if (msg) {
    1.24 -         if (_src->id) {
    1.25 -             msg->id = strdup(_src->id);
    1.26 -             assert(msg->id);
    1.27 -             if (msg->id == NULL)
    1.28 -                 goto enomem;
    1.29 -         }
    1.30 -         decorate_message(msg, PEP_rating_undefined, NULL, true, true);
    1.31 -     }
    1.32 +    if (msg && msg->shortmsg == NULL) {
    1.33 +        if (session->unencrypted_subject && src->shortmsg)
    1.34 +            msg->shortmsg = strdup(src->shortmsg);
    1.35 +        else
    1.36 +            msg->shortmsg = _pEp_subj_copy();
    1.37 +        assert(msg->shortmsg);
    1.38 +        if (msg->shortmsg == NULL)
    1.39 +            goto enomem;
    1.40 +    }
    1.41 +
    1.42 +    if (msg) {
    1.43 +        if (_src->id) {
    1.44 +            msg->id = strdup(_src->id);
    1.45 +            assert(msg->id);
    1.46 +            if (msg->id == NULL)
    1.47 +                goto enomem;
    1.48 +        }
    1.49 +        decorate_message(msg, PEP_rating_undefined, NULL, true, true);
    1.50 +    }
    1.51  
    1.52      *dst = msg;
    1.53