[issue29061] secrets.randbelow(-1) hangs

2016-12-30 Thread Steven D'Aprano
Steven D'Aprano added the comment: > _randbelow is a private api and it is not broken, it is just being > misused by the secrets module. "Misused" seems a bit strong. Should I understand that you dislike the wrapper around _randbelow? The implementation was given in the PEP, and I don't

[issue29061] secrets.randbelow(-1) hangs

2016-12-29 Thread Raymond Hettinger
Raymond Hettinger added the comment: Thanks for the bug report and for the patch. -- resolution: -> fixed status: open -> closed ___ Python tracker ___

[issue29061] secrets.randbelow(-1) hangs

2016-12-29 Thread Roundup Robot
Roundup Robot added the comment: New changeset 0509844f38df by Raymond Hettinger in branch '3.6': Issue #29061: secrets.randbelow() would hang with a negative input https://hg.python.org/cpython/rev/0509844f38df -- nosy: +python-dev ___ Python

[issue29061] secrets.randbelow(-1) hangs

2016-12-29 Thread Raymond Hettinger
Raymond Hettinger added the comment: _randbelow is a private api and it is not broken, it is just being misused by the secrets module. All of the other calls to it are already range checked and it would be inefficient and unnecessary to repeat this the check. Brendan, thank you for the

[issue29061] secrets.randbelow(-1) hangs

2016-12-27 Thread Brendan Donegan
Brendan Donegan added the comment: If I'm not mistaken, _randbelow is defined in Random, which SystemRandom inherits from. Just for clarity On Tue, 27 Dec 2016 at 22:08 Josh Rosenberg wrote: > > Josh Rosenberg added the comment: > > SystemRandom._randbelow has this

[issue29061] secrets.randbelow(-1) hangs

2016-12-27 Thread Josh Rosenberg
Josh Rosenberg added the comment: SystemRandom._randbelow has this problem, perhaps it should be fixed there, not in one of many possible wrappers for it? -- nosy: +josh.r ___ Python tracker

[issue29061] secrets.randbelow(-1) hangs

2016-12-27 Thread Brendan Donegan
Brendan Donegan added the comment: Ok, here's a second version of the patch. Normally I don't like testing multiple things in one test but I've gone with what seems to be the convention here in test_secrets.py -- Added file:

[issue29061] secrets.randbelow(-1) hangs

2016-12-27 Thread Brendan Donegan
Brendan Donegan added the comment: Hi Raymond, I have done that when creating the patch and have confirmation in my inbox - perhaps Ewa hasn't filed it yet? On Tue, 27 Dec 2016 at 14:43 Raymond Hettinger wrote: > > Raymond Hettinger added the comment: > > Brendan,

[issue29061] secrets.randbelow(-1) hangs

2016-12-27 Thread Raymond Hettinger
Raymond Hettinger added the comment: Brendan, would you please submit a contributor agreement. -- priority: high -> normal ___ Python tracker ___

[issue29061] secrets.randbelow(-1) hangs

2016-12-27 Thread Raymond Hettinger
Changes by Raymond Hettinger : -- assignee: -> rhettinger ___ Python tracker ___

[issue29061] secrets.randbelow(-1) hangs

2016-12-24 Thread Brendan Donegan
Brendan Donegan added the comment: Ok, here it is. My first code patch in Python. Basically the existing code was depending on bit_length to DTRT and raise a ValueError, but negative numbers have a positive bit length. Then when it hits: 234 while r >= n:

[issue29061] secrets.randbelow(-1) hangs

2016-12-24 Thread Brendan Donegan
Brendan Donegan added the comment: Reproducible on Linux as well, I think I know where the issue is and will try to submit a patch soon. -- nosy: +brendan-donegan ___ Python tracker

[issue29061] secrets.randbelow(-1) hangs

2016-12-23 Thread Ned Deily
Changes by Ned Deily : -- nosy: +rhettinger, steven.daprano priority: normal -> high stage: -> needs patch versions: +Python 3.7 ___ Python tracker

[issue29061] secrets.randbelow(-1) hangs

2016-12-23 Thread Brian Nenninger
New submission from Brian Nenninger: secrets.randbelow(-1) causes the interpreter to hang. It should presumably raise an exception like secrets.randbelow(0) does. This is on Mac OS X 10.11.6, shell transcript below. = $ python3 Python