Difference between pages "Evolution Header Format" and "Computer forensics framework"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
 
 
Line 1: Line 1:
<pre>
+
The following more or less generic computer forensics frameworks exist:  
Subject: header test
+
From: Username <username@sendinghost.com>
+
To: Username <username@receivinghost.com>
+
Content-Type: text/plain
+
Date: Sat, 28 Jul 2007 11:52:35 +0200
+
Message-Id: <1185616355.19231.0.camel@localhost>
+
Mime-Version: 1.0
+
X-Mailer: Evolution 2.10.1
+
Content-Transfer-Encoding: 7bit
+
</pre>
+
  
Code responsible for generating Message-ID:
+
* [[Open Computer Forensics Architecture]]
<pre>
+
* [[Pyflag]]
camel_header_msgid_generate (void)
+
{
+
        static pthread_mutex_t count_lock = PTHREAD_MUTEX_INITIALIZER;
+
#define COUNT_LOCK() pthread_mutex_lock (&count_lock)
+
#define COUNT_UNLOCK() pthread_mutex_unlock (&count_lock)
+
        char host[MAXHOSTNAMELEN];
+
        char *name;
+
        static int count = 0;
+
        char *msgid;
+
        int retval;
+
        struct addrinfo *ai = NULL, hints = { 0 };
+
 
+
        retval = gethostname (host, sizeof (host));
+
        if (retval == 0 && *host) {
+
                hints.ai_flags = AI_CANONNAME;
+
                ai = camel_getaddrinfo(host, NULL, &hints, NULL);
+
                if (ai && ai->ai_canonname)
+
                        name = ai->ai_canonname;
+
                else
+
                        name = host;
+
        } else
+
                name = "localhost.localdomain";
+
 
+
        COUNT_LOCK ();
+
        msgid = g_strdup_printf ("%d.%d.%d.camel@%s", (int) time (NULL), getpid (), count++, name);
+
        COUNT_UNLOCK ();
+
 
+
        if (ai)
+
                camel_freeaddrinfo(ai);
+
 
+
        return msgid;
+
}
+
</pre>
+

Revision as of 16:56, 3 December 2008

The following more or less generic computer forensics frameworks exist: