Change how didcomm connections work

Currently DIDComm connections are represented as two pairs of senderEmail/senderDID and recipientEmail/recipientDID

This must be changed, as requested by Matthias, so that a connection is represented by senderDID and recipientEmail/recipientDID - i.e. without senderEmail.

This will change a little bit when emails are processed with SMTP or DIDComm. For example, when the receiving SVDX accepts a connection, it will only allow the sending DID to send over DIDComm again and not the other way around, as the receiving SVDX won't know which sender is associated with the senderDID.

On the upside, the system may be a bit easier to reason about and it may not be necessary to handle special cases of sender email and return-path rewriting by middleman MTAs.

There are a few other functionalities requested by Matthias' email listed below.

  • Add new did-connection-id header to the messages when they are processed via didcomm
  • DID-Invitation headers should not be removed from the final delivered message, so they can be used for routing or UX improvements
  • Update connections to contain only senderDID, recipientEmail and recipientDID
  • Check how the Received header is populated/formatted and if this can be improved
Edited by Lyuben Penkovski