<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, 21 Mar 2017 at 04:54 Marius Gedminas <<a href="mailto:marius@gedmin.as">marius@gedmin.as</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, Mar 20, 2017 at 11:30:59AM +0000, Robin Becker wrote:<br class="gmail_msg">
> thanks for this; it seems the emphasis is on security. If the intent is that<br class="gmail_msg">
> reportlab should be able to reliably reproduce the same binary output then I<br class="gmail_msg">
> think I need to do more than just fix a couple of dates. We use many<br class="gmail_msg">
> dictionary like objects to produce PDF and I am not sure all are sorted by<br class="gmail_msg">
> key during output.<br class="gmail_msg">
<br class="gmail_msg">
I'm sure the reproducible builds folks will send you patches if they<br class="gmail_msg">
find any spots that you missed.  ;-)<br class="gmail_msg">
<br class="gmail_msg">
> Is there a way to excite dictionary ordering changes? I believe there was<br class="gmail_msg">
> some way to modify the hashing introduced when the dos dictionary attacks<br class="gmail_msg">
> were an issue. Would it be sufficient to generate documents with say Python<br class="gmail_msg">
> 2.7 and check against 3.6?<br class="gmail_msg">
<br class="gmail_msg">
Python 3.6 changed the dict implementation so the ordering is always stable<br class="gmail_msg">
(and matches insertion order).<br class="gmail_msg"></blockquote><div><br></div><div>Do realize that is an implementation detail and not guaranteed by the language specification, so it won't necessarily hold in the future or for other interpreters.</div><div><br></div><div>-Brett</div></div></div>