|
From: | Auto mailings of changes to Lily Issues via Testlilyissues-auto |
Subject: | [Lilypond-auto] [LilyIssues-auto] [testlilyissues:issues] #5721 lilypond-book: Rewrite processing of snippets |
Date: | Thu, 06 Feb 2020 11:23:42 -0000 |
pushed to staging
commit a621f28387363d4c71b90e3a0d0686a5d2bedccf Author: Jonas Hahnfeld <address@hidden> AuthorDate: Sun Feb 2 10:36:54 2020 +0100 Commit: Jonas Hahnfeld <address@hidden> CommitDate: Thu Feb 6 12:00:42 2020 +0100 Issue 5721/2: Revert "Disable Python's hash randomization" Now that lilypond-book uses a real hash function, remove the workaround. This reverts commit 04a0dc897629d1606d12d54b5c0e15e9cd003652. commit c2808fd480612a55ff8aec91480d9097ae05359b Author: Jonas Hahnfeld <address@hidden> AuthorDate: Thu Jan 30 21:45:54 2020 +0100 Commit: Jonas Hahnfeld <address@hidden> CommitDate: Thu Feb 6 12:00:34 2020 +0100 Issue 5721/1: lilypond-book: Rewrite processing of snippets The previous version relied on a stable hash() method, both for the ordering in a set() and for the list's checksum. This probably worked with Python 2 and up to Python 3.2, but later versions use a random seed for invocations of hash(). This ensures different hash values for subsequent invocations to make malicious attacks more difficult. The new code uses hashlib.md5() and .hexdigest() instead which returns a deterministic result across runs. It also sorts the snippets' names which leads to more stable profiling results for 'make check'. This change also tries to improve performance by writing snippets with the same basename only once. Additionally it solves potential problems if the build directory has the string '.ly' in its path.
[issues:#5721] lilypond-book: Rewrite processing of snippets
Status: Fixed
Labels: Fixed_2_21_0
Created: Sat Feb 01, 2020 11:55 AM UTC by Jonas Hahnfeld
Last Updated: Thu Feb 06, 2020 06:20 AM UTC
Owner: Jonas Hahnfeld
lilypond-book: Rewrite processing of snippets
The previous version relied on a stable hash() method, both for the
ordering in a set() and for the list's checksum. This probably worked
with Python 2 and up to Python 3.2, but later versions use a random
seed for invocations of hash(). This ensures different hash values for
subsequent invocations to make malicious attacks more difficult.
The new code uses hashlib.md5() and .hexdigest() instead which returns
a deterministic result across runs. It also sorts the snippets' names
which leads to more stable profiling results for 'make check'.
This change also tries to improve performance by writing snippets with
the same basename only once. Additionally it solves potential problems
if the build directory has the string '.ly' in its path.
http://codereview.appspot.com/555220043
Sent from sourceforge.net because address@hidden is subscribed to https://sourceforge.net/p/testlilyissues/issues/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/testlilyissues/admin/issues/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.
_______________________________________________ Testlilyissues-auto mailing list address@hidden https://lists.sourceforge.net/lists/listinfo/testlilyissues-auto
[Prev in Thread] | Current Thread | [Next in Thread] |