Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1389)

Delta Between Two Patch Sets: Misc/python.man

Issue 13703: Hash collision security issue
Left Patch Set: Created 1 year, 4 months ago
Right Patch Set: Created 1 year, 4 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Left: Side by side diff | Download
Right: Side by side diff | Download
« no previous file with change/comment | « Misc/NEWS ('k') | Modules/datetimemodule.c » ('j') | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
1 .TH PYTHON "1" "$Date$" 1 .TH PYTHON "1" "$Date$"
2 2
3 .\" To view this file while editing, run it through groff: 3 .\" To view this file while editing, run it through groff:
4 .\" groff -Tascii -man python.man | less 4 .\" groff -Tascii -man python.man | less
5 5
6 .SH NAME 6 .SH NAME
7 python \- an interpreted, interactive, object-oriented programming language 7 python \- an interpreted, interactive, object-oriented programming language
8 .SH SYNOPSIS 8 .SH SYNOPSIS
9 .B python 9 .B python
10 [ 10 [
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 Discard docstrings in addition to the \fB-O\fP optimizations. 149 Discard docstrings in addition to the \fB-O\fP optimizations.
150 .TP 150 .TP
151 .B \-R 151 .B \-R
152 Turn on "hash randomization", so that the hash() values of str, bytes and 152 Turn on "hash randomization", so that the hash() values of str, bytes and
153 datetime objects are "salted" with an unpredictable pseudo-random value. 153 datetime objects are "salted" with an unpredictable pseudo-random value.
154 Although they remain constant within an individual Python process, they are 154 Although they remain constant within an individual Python process, they are
155 not predictable between repeated invocations of Python. 155 not predictable between repeated invocations of Python.
156 .IP 156 .IP
157 This is intended to provide protection against a denial of service 157 This is intended to provide protection against a denial of service
158 caused by carefully-chosen inputs that exploit the worst case performance 158 caused by carefully-chosen inputs that exploit the worst case performance
159 of a dict lookup, O(n^2) complexity. See 159 of a dict insertion, O(n^2) complexity. See
160 http://www.ocert.org/advisories/ocert-2011-003.html 160 http://www.ocert.org/advisories/ocert-2011-003.html
161 for details. 161 for details.
162 .TP 162 .TP
163 .BI "\-Q " argument 163 .BI "\-Q " argument
164 Division control; see PEP 238. The argument must be one of "old" (the 164 Division control; see PEP 238. The argument must be one of "old" (the
165 default, int/int and long/long return an int or long), "new" (new 165 default, int/int and long/long return an int or long), "new" (new
166 division semantics, i.e. int/int and long/long returns a float), 166 division semantics, i.e. int/int and long/long returns a float),
167 "warn" (old division semantics with a warning for int/int and 167 "warn" (old division semantics with a warning for int/int and
168 long/long), or "warnall" (old division semantics with a warning for 168 long/long), or "warnall" (old division semantics with a warning for
169 all use of the division operator). For a use of "warnall", see the 169 all use of the division operator). For a use of "warnall", see the
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 .IP PYTHONNOUSERSITE 411 .IP PYTHONNOUSERSITE
412 If this is set to a non-empty string it is equivalent to specifying the 412 If this is set to a non-empty string it is equivalent to specifying the
413 \fB\-s\fP option (Don't add the user site directory to sys.path). 413 \fB\-s\fP option (Don't add the user site directory to sys.path).
414 .IP PYTHONUNBUFFERED 414 .IP PYTHONUNBUFFERED
415 If this is set to a non-empty string it is equivalent to specifying 415 If this is set to a non-empty string it is equivalent to specifying
416 the \fB\-u\fP option. 416 the \fB\-u\fP option.
417 .IP PYTHONVERBOSE 417 .IP PYTHONVERBOSE
418 If this is set to a non-empty string it is equivalent to specifying 418 If this is set to a non-empty string it is equivalent to specifying
419 the \fB\-v\fP option. If set to an integer, it is equivalent to 419 the \fB\-v\fP option. If set to an integer, it is equivalent to
420 specifying \fB\-v\fP multiple times. 420 specifying \fB\-v\fP multiple times.
421 .IP PYTHONHASHRANDOMIZATION 421 .IP PYTHONHASHSEED
Benjamin Peterson 2012/02/07 00:18:29 What about the other envvar?
422 If this is set to a non-empty string it is equivalent to specifying the 422 If this variable is set to "random", the effect is the same as specifying
423 \fB\-R\fP option. 423 the \fB-R\fP option: a random value is used to seed the hashes of str,
424 bytes and datetime objects.
425
426 If PYTHONHASHSEED is set to an integer value, it is used as a fixed seed for
427 generating the hash() of the types covered by the hash randomization. Its
428 purpose is to allow repeatable hashing, such as for selftests for the
429 interpreter itself, or to allow a cluster of python processes to share hash
430 values.
431
432 The integer must be a decimal number in the range [0,4294967295]. Specifying
433 the value 0 will lead to the same hash values as when hash randomization is
434 disabled.
424 .SH AUTHOR 435 .SH AUTHOR
425 The Python Software Foundation: http://www.python.org/psf 436 The Python Software Foundation: http://www.python.org/psf
426 .SH INTERNET RESOURCES 437 .SH INTERNET RESOURCES
427 Main website: http://www.python.org/ 438 Main website: http://www.python.org/
428 .br 439 .br
429 Documentation: http://docs.python.org/py3k/ 440 Documentation: http://docs.python.org/py3k/
430 .br 441 .br
431 Developer resources: http://www.python.org/dev/ 442 Developer resources: http://www.python.org/dev/
432 .br 443 .br
433 Downloads: http://python.org/download/ 444 Downloads: http://python.org/download/
434 .br 445 .br
435 Module repository: http://pypi.python.org/ 446 Module repository: http://pypi.python.org/
436 .br 447 .br
437 Newsgroups: comp.lang.python, comp.lang.python.announce 448 Newsgroups: comp.lang.python, comp.lang.python.announce
438 .SH LICENSING 449 .SH LICENSING
439 Python is distributed under an Open Source license. See the file 450 Python is distributed under an Open Source license. See the file
440 "LICENSE" in the Python source distribution for information on terms & 451 "LICENSE" in the Python source distribution for information on terms &
441 conditions for accessing and otherwise using Python and for a 452 conditions for accessing and otherwise using Python and for a
442 DISCLAIMER OF ALL WARRANTIES. 453 DISCLAIMER OF ALL WARRANTIES.
LEFTRIGHT

RSS Feeds Recent Issues | This issue
This is Rietveld cbc36f91f3f7