From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1YbTMQ-0000nr-GI for mharc-grub-devel@gnu.org; Fri, 27 Mar 2015 08:27:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38020) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbTMN-0000nE-Ni for grub-devel@gnu.org; Fri, 27 Mar 2015 08:27:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YbTMM-0001P3-M9 for grub-devel@gnu.org; Fri, 27 Mar 2015 08:27:35 -0400 Received: from mail-wg0-x22d.google.com ([2a00:1450:400c:c00::22d]:35834) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbTMM-0001Ok-F2 for grub-devel@gnu.org; Fri, 27 Mar 2015 08:27:34 -0400 Received: by wgdm6 with SMTP id m6so97670508wgd.2 for ; Fri, 27 Mar 2015 05:27:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=HNQ7vQFICf79BYZN3aRGoSajkeJlcVuh0NvdKrKa1dQ=; b=e+kJwzFLfWvJi9Vb7f32/pM6PNI9GEDu5Qq0GxaaYFpX/RhCpIkN/O9lJ3yfcBqgnT JOEePB0yrej0mU0mNXl6ZFLt42R+aiUpRcUvor31YG6FI533/tgCelnyXaDsZ80bbWBW ppXidnLK4YWaT6JY2s/bLqNIINMiqb3Hcc7Hn5nZ6kcHvB0niD/jOcBdze/z3YUxXSot QE82zDF6qDlHXNuCscS7h6QS5du3s535yLE31Nk0TDDsBPs3ab3n8doW7x/ir99hItpF alQFffs5bDJEVEI3lkohcFVHBXqlwh/SF/yYbdNpNcr3zoBJelxGhM5ml7qCrNf3VWpN KS8A== X-Received: by 10.180.109.70 with SMTP id hq6mr56026498wib.16.1427459253117; Fri, 27 Mar 2015 05:27:33 -0700 (PDT) Received: from ?IPv6:2620:0:105f:fd00:863a:4bff:fe50:abc4? ([2620:0:105f:fd00:863a:4bff:fe50:abc4]) by mx.google.com with ESMTPSA id ge8sm2630193wjc.32.2015.03.27.05.27.31 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 27 Mar 2015 05:27:32 -0700 (PDT) Message-ID: <55154CBE.5080506@gmail.com> Date: Fri, 27 Mar 2015 13:27:42 +0100 From: =?UTF-8?B?VmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua28=?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.4.0 MIME-Version: 1.0 To: The development of GNU GRUB Subject: Re: [PATCH] use stock embedded timestamp 2015-01-01T0000+0000 References: <54C158D3.9090806@gmail.com> <1427052791-7985-1-git-send-email-dkg@fifthhorseman.net> In-Reply-To: <1427052791-7985-1-git-send-email-dkg@fifthhorseman.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:400c:c00::22d X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Mar 2015 12:27:36 -0000 On 22.03.2015 20:33, Daniel Kahn Gillmor wrote: > Variant timestamps make some grub platforms produce non-deterministic > core images. This makes it difficult to use simple tools to audit the > stability of a system with grub installed. > > This patch selects a single timestamp to use for these embedded > timestamps so that the core images will be replicable. > --- > util/mkimage.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/util/mkimage.c b/util/mkimage.c > index 7821dc5..adc1706 100644 > --- a/util/mkimage.c > +++ b/util/mkimage.c > @@ -55,6 +55,9 @@ > > #define TARGET_NO_FIELD 0xffffffff > > +/* use 2015-01-01T00:00:00+0000 as a stock timestamp */ > +#define STABLE_EMBEDDING_TIMESTAMP 1420070400 > + > struct grub_install_image_target_desc > { > const char *dirname; > @@ -1439,7 +1442,7 @@ grub_install_generate_image (const char *dir, const char *prefix, > c->machine = grub_host_to_target16 (image_target->pe_target); > > c->num_sections = grub_host_to_target16 (4); > - c->time = grub_host_to_target32 (time (0)); > + c->time = grub_host_to_target32 (STABLE_EMBEDDING_TIMESTAMP); > c->characteristics = grub_host_to_target16 (GRUB_PE32_EXECUTABLE_IMAGE > | GRUB_PE32_LINE_NUMS_STRIPPED > | ((image_target->voidp_sizeof == 4) > @@ -1782,7 +1785,7 @@ grub_install_generate_image (const char *dir, const char *prefix, > > memset (hdr, 0, sizeof (*hdr)); > hdr->ih_magic = grub_cpu_to_be32_compile_time (GRUB_UBOOT_IH_MAGIC); > - hdr->ih_time = grub_cpu_to_be32 (time (0)); > + hdr->ih_time = grub_cpu_to_be32 (STABLE_EMBEDDING_TIMESTAMP); > hdr->ih_size = grub_cpu_to_be32 (core_size); > hdr->ih_load = grub_cpu_to_be32 (image_target->link_addr); > hdr->ih_ep = grub_cpu_to_be32 (image_target->link_addr); > @@ -1856,7 +1859,7 @@ grub_install_generate_image (const char *dir, const char *prefix, > head->magic = image_target->bigendian ? grub_host_to_target16 (0x160) > : grub_host_to_target16 (0x166); > head->nsec = grub_host_to_target16 (1); > - head->time = grub_host_to_target32 (0); > + head->time = grub_host_to_target32 (STABLE_EMBEDDING_TIMESTAMP); I dropped this hunk as it's just changing one const to another. > head->opt = grub_host_to_target16 (0x38); > head->flags = image_target->bigendian > ? grub_host_to_target16 (0x207) >