Gnus development mailing list
 help / color / mirror / Atom feed
From: "Łukasz Stelmach" <lukasz.stelmach@iem.pw.edu.pl>
To: ding@gnus.org
Subject: [PATCH] private message id
Date: Mon, 29 Nov 2010 22:37:25 +0100	[thread overview]
Message-ID: <87fwujreui.fsf%lukasz.stelmach@iem.pw.edu.pl> (raw)

Hi.

I'd like to share an idea, and a patch that implemnts it, to make
Message-ID slightly worse source of data tracking down an individual who
uses multiple accounts on one machine. All message get the same fqdn
part so it is quite obvious they are sent from the same machine.
I know, there are Received headers but they are not as easy to parse,
and may be a lot less accurate behind a NAT.

I propose a Message-ID consiting of unique-id%e-mail-address grabbed
from the From header. Take a look at the ID of this message.

--8<---------------cut here---------------start------------->8---
diff --git a/lisp/message.el b/lisp/message.el
index bff11b2..9fc3eb6 100644
--- a/lisp/message.el
+++ b/lisp/message.el
@@ -5425,6 +5425,13 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'."
     (setf (nth 3 cur) nday)
     (message-make-date (apply 'encode-time cur))))
 
+(defcustom message-make-private-message-id t
+  "Make Message-ID more privacy-aware by replacing the host
+partname with the senders e-mail addres. It makes a bit harder to
+associate message sent from different accounts."
+  :group 'message-headers
+  :type 'boolean)
+
 (defun message-make-message-id ()
   "Make a unique Message-ID."
   (concat "<" (message-unique-id)
@@ -5443,7 +5450,13 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'."
 		 (and psupersedes
 		      (string-match "_-_@" psupersedes)))
 		"_-_" ""))
-	  "@" (message-make-fqdn) ">"))
+	  (let ((pfrom (save-excursion (message-fetch-field "from"))))
+	    (if (and message-make-private-message-id
+		     pfrom)
+		(concat "%"
+			(cadr (mail-extract-address-components pfrom)))
+	      (concat "@" (message-make-fqdn))))
+	  ">"))
 
 (defvar message-unique-id-char nil)
 
--8<---------------cut here---------------end--------------->8---


-- 
Miłego dnia,
Łukasz Stelmach




             reply	other threads:[~2010-11-29 21:37 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-29 21:37 Łukasz Stelmach [this message]
2010-11-29 21:41 ` Russ Allbery
2010-11-30 20:35 ` Lars Magne Ingebrigtsen
2010-12-01  1:10   ` Łukasz Stelmach
2010-12-01 17:09     ` Lars Magne Ingebrigtsen
2010-12-01 23:16       ` Łukasz Stelmach
2010-12-05 12:30         ` Lars Magne Ingebrigtsen
2010-12-06  6:28           ` Łukasz Stelmach
2010-12-06 19:40             ` Lars Magne Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fwujreui.fsf%lukasz.stelmach@iem.pw.edu.pl \
    --to=lukasz.stelmach@iem.pw.edu.pl \
    --cc=ding@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).