[issue35127] pyurandom() fails if user does not have an entropy device

2018-10-31 Thread Pablo Galindo Salgado


Change by Pablo Galindo Salgado :


--
nosy: +christian.heimes

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue35127] pyurandom() fails if user does not have an entropy device

2018-10-31 Thread Gyff Mjord


New submission from Gyff Mjord :

Because of [reasons], I installed a FreeBSD and recompiled it to provide a 
minimalist kernel. Thus, it does not have the entropy devices /dev/urandom and 
/dev/random

It is a FreeBSD-10-0 running in a Hyper-V virutalization platform.

I kinda recompiled python-3.7.1 from the source code to get my own version of 
python running, but I got stuck in this part. So looking at the 
Modules/bootstrap_hash.c file I do not see the code of pyurandom() falling back 
to a something silly.

Plus, there is a problem that happens only in Unix at least in this version of 
python. Looking at the code of the same file. we can see:

static int pyurandom(...)
{
...
int res
...
if (res < 0){
  return -1
}
if (res == 1){
  return 0
}
...
}

I am sorry for the laziness but I believe my point is clear.

The thing is. If the random function returns 0 it will return 0 but if it 
returns 1 it will also return 0.

In other words, the number 1 is out of the scope of the random numbers. It is a 
small prejudice for the random function, but it is not mathematically right. 
This issue with the number 1, does not happen if the user does not have 
/dev/random (But it still needs /dev/urandom)

--
components: FreeBSD
messages: 329005
nosy: koobs, pehdrah
priority: normal
severity: normal
status: open
title: pyurandom() fails if user does not have an entropy device
type: behavior
versions: Python 3.7

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com