summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2019-03-05 07:01:54 -0800
committerKaz Kylheku <kaz@kylheku.com>2019-03-05 07:01:54 -0800
commit9997fdaffbd9b5061fb7292c8720bce89e64072f (patch)
tree38c55d62c26dfd948c3b7e34ba53125d395e89e3
parent57c16518da1abc7c47858c8e540620bb047c2e03 (diff)
downloadtxr-9997fdaffbd9b5061fb7292c8720bce89e64072f.tar.gz
txr-9997fdaffbd9b5061fb7292c8720bce89e64072f.tar.bz2
txr-9997fdaffbd9b5061fb7292c8720bce89e64072f.zip
doc: justify lack of seed keyword in hash construction.
* txr.1: The hash function doesn't support a keyword like :seed <n> to specify the hash seed. Adding an explanation of why. Spoiler: security reason.
-rw-r--r--txr.18
1 files changed, 8 insertions, 0 deletions
diff --git a/txr.1 b/txr.1
index 67e007e7..34fac7dc 100644
--- a/txr.1
+++ b/txr.1
@@ -40971,6 +40971,14 @@ specifies the user data for the hash table, which can be retrieved using the
.code hash-userdata
function.
+Note: there doesn't exist a keyword for specifying the seed.
+This omission is deliberate. These hash construction keywords may appear in the
+hash literal
+.code #H
+syntax. A seed keyword would allow literals to specify their own seed, which
+would allow malicious hash literals to be crafted that perpetrate a hash
+collision attack against the parser.
+
.coNP Functions @, hash-construct @ hash-from-pairs and @ hash-from-alist
.synb
.mets (hash-construct < hash-args << key-val-pairs )