Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

restore a subset of the rand module #708

Merged
merged 4 commits into from Nov 20, 2017
Merged

Conversation

reaperhulk
Copy link
Member

fixes #706

We should bikeshed on the changelog language probably.

@codecov
Copy link

codecov bot commented Nov 20, 2017

Codecov Report

Merging #708 into master will increase coverage by 0.16%.
The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #708      +/-   ##
==========================================
+ Coverage   96.86%   97.03%   +0.16%     
==========================================
  Files          16       18       +2     
  Lines        5647     5667      +20     
  Branches      392      394       +2     
==========================================
+ Hits         5470     5499      +29     
+ Misses        118      112       -6     
+ Partials       59       56       -3
Impacted Files Coverage Δ
tests/test_rand.py 100% <100%> (ø)
src/OpenSSL/rand.py 100% <100%> (ø)
tests/test_ssl.py 99.11% <0%> (+0.33%) ⬆️
src/OpenSSL/SSL.py 94.87% <0%> (+0.33%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4aa52c3...6afda82. Read the comment docs.

@alex
Copy link
Member

alex commented Nov 20, 2017

The error stuff appers unused?

from OpenSSL._util import lib as _lib


_builtin_bytes = bytes
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This isn't needed, just use bytes below.

return _lib.RAND_status()


def cleanup():
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we really need this?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably not. As of 1.1.0 this is already a noop

# It's hard to know what it is actually going to return. Different
# OpenSSL random engines decide differently whether they have enough
# entropy or not.
assert rand.status() in (0, 1)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Surely this should actually always be 1?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe it's possible to trigger a 0 when calling cleanup and not adding enough back...? I don't know. This is just a restoration of the code that was previously there, but this test is not particularly useful. I'd be fine changing it to assert 1. Plus as an added bonus we'll get to find out some insane edge case if it turns out 1 isn't always true in the tests.

alex
alex previously approved these changes Nov 20, 2017
@alex alex merged commit acbd662 into pyca:master Nov 20, 2017
bors-fusion bot added a commit to fusionapp/fusion-index that referenced this pull request Nov 27, 2017
169: Scheduled weekly dependency update for week 48 r=mithrandi a=pyup-bot




## Updates
Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.
<table align="center">

<tr>
<td><b>hypothesis</b></td>
<td align="center">3.38.0</td>
<td align="center">&raquo;</td>
<td align="center">3.38.5</td>
<td>
     <a href="https://pypi.python.org/pypi/hypothesis">PyPI</a> | <a href="https://pyup.io/changelogs/hypothesis/">Changelog</a> | <a href="https://github.com/HypothesisWorks/hypothesis/issues">Repo</a> 

</td>

<tr>
<td><b>pyasn1-modules</b></td>
<td align="center">0.1.5</td>
<td align="center">&raquo;</td>
<td align="center">0.2.1</td>
<td>
     <a href="https://pypi.python.org/pypi/pyasn1-modules">PyPI</a> | <a href="https://pyup.io/changelogs/pyasn1-modules/">Changelog</a> | <a href="https://github.com/etingof/pyasn1-modules">Repo</a> 

</td>

<tr>
<td><b>pyasn1</b></td>
<td align="center">0.3.7</td>
<td align="center">&raquo;</td>
<td align="center">0.4.2</td>
<td>
     <a href="https://pypi.python.org/pypi/pyasn1">PyPI</a> | <a href="https://pyup.io/changelogs/pyasn1/">Changelog</a> | <a href="https://github.com/etingof/pyasn1">Repo</a> 

</td>

<tr>
<td><b>pyopenssl</b></td>
<td align="center">17.3.0</td>
<td align="center">&raquo;</td>
<td align="center">17.4.0</td>
<td>
     <a href="https://pypi.python.org/pypi/pyopenssl">PyPI</a> | <a href="https://pyup.io/changelogs/pyopenssl/">Changelog</a> | <a href="https://pyopenssl.org/">Homepage</a> | <a href="http://pythonhosted.org/pyOpenSSL/">Docs</a> 

</td>

<tr>
<td><b>pyrsistent</b></td>
<td align="center">0.14.0</td>
<td align="center">&raquo;</td>
<td align="center">0.14.1</td>
<td>
     <a href="https://pypi.python.org/pypi/pyrsistent">PyPI</a> | <a href="https://pyup.io/changelogs/pyrsistent/">Changelog</a> | <a href="http://github.com/tobgu/pyrsistent/">Repo</a> 

</td>

</tr>
</table>



## Changelogs


### hypothesis 3.38.0 -> 3.38.5

>### 3.38.5

>-------------------

>This fixes the repr of strategies using lambda that are defined inside
>decorators to include the lambda source.

>This would mostly have been visible when using the
>:ref:`statistics &lt;statistics&gt;` functionality - lambdas used for e.g. filtering
>would have shown up with a ``&lt;unknown&gt;`` as their body. This can still happen,
>but it should happen less often now.

>-------------------


>### 3.38.4

>-------------------

>This release updates the reported :ref:`statistics &lt;statistics&gt;` so that they
>show approximately what fraction of your test run time is spent in data
>generation (as opposed to test execution).

>This work was funded by `Smarkets &lt;https://smarkets.com/&gt;`_.

>-------------------


>### 3.38.3

>-------------------

>This is a documentation release, which ensures code examples are up to date
>by running them as doctests in CI (:issue:`711`).

>-------------------


>### 3.38.2

>-------------------

>This release changes the behaviour of the :attr:`~hypothesis.settings.deadline`
>setting when used with :func:`~hypothesis.strategies.data`: Time spent inside
>calls to ``data.draw`` will no longer be counted towards the deadline time.

>As a side effect of some refactoring required for this work, the way flaky
>tests are handled has changed slightly. You are unlikely to see much difference
>from this, but some error messages will have changed.

>This work was funded by `Smarkets &lt;https://smarkets.com/&gt;`_.

>-------------------


>### 3.38.1

>-------------------

>This patch has a variety of non-user-visible refactorings, removing various
>minor warts ranging from indirect imports to typos in comments.

>-------------------






### pyopenssl 17.3.0 -> 17.4.0

>### 17.4.0

>-------------------


>Backward-incompatible changes:
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

>*none*


>Deprecations:
>^^^^^^^^^^^^^

>*none*


>Changes:
>^^^^^^^^


>- Re-added a subset of the ``OpenSSL.rand`` module.
>  This subset allows conscientious users to reseed the OpenSSL CSPRNG after fork.
>  `708 &lt;https://github.com/pyca/pyopenssl/pull/708&gt;`_
>- Corrected a use-after-free when reusing an issuer or subject from an ``X509`` object after the underlying object has been mutated.
>  `709 &lt;https://github.com/pyca/pyopenssl/pull/709&gt;`_

>----








### pyrsistent 0.14.0 -> 0.14.1

>### 0.14.1

> * Equality check performance improvements for pvectors and pmaps. Thanks dtomas for this!
> * Avoid calling factories multiple times for fields that do not change, see PR 120 for for
>   details. Thanks teepark for this!










That's it for now!

Happy merging! 🤖
bors-fusion bot added a commit to fusionapp/entropy that referenced this pull request Nov 27, 2017
162: Scheduled weekly dependency update for week 48 r=mithrandi a=pyup-bot




## Updates
Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.
<table align="center">

<tr>
<td><b>pyasn1-modules</b></td>
<td align="center">0.1.5</td>
<td align="center">&raquo;</td>
<td align="center">0.2.1</td>
<td>
     <a href="https://pypi.python.org/pypi/pyasn1-modules">PyPI</a> | <a href="https://pyup.io/changelogs/pyasn1-modules/">Changelog</a> | <a href="https://github.com/etingof/pyasn1-modules">Repo</a> 

</td>

<tr>
<td><b>pyasn1</b></td>
<td align="center">0.3.7</td>
<td align="center">&raquo;</td>
<td align="center">0.4.2</td>
<td>
     <a href="https://pypi.python.org/pypi/pyasn1">PyPI</a> | <a href="https://pyup.io/changelogs/pyasn1/">Changelog</a> | <a href="https://github.com/etingof/pyasn1">Repo</a> 

</td>

<tr>
<td><b>pyopenssl</b></td>
<td align="center">17.3.0</td>
<td align="center">&raquo;</td>
<td align="center">17.4.0</td>
<td>
     <a href="https://pypi.python.org/pypi/pyopenssl">PyPI</a> | <a href="https://pyup.io/changelogs/pyopenssl/">Changelog</a> | <a href="https://pyopenssl.org/">Homepage</a> | <a href="http://pythonhosted.org/pyOpenSSL/">Docs</a> 

</td>

<tr>
<td><b>pyrsistent</b></td>
<td align="center">0.14.0</td>
<td align="center">&raquo;</td>
<td align="center">0.14.1</td>
<td>
     <a href="https://pypi.python.org/pypi/pyrsistent">PyPI</a> | <a href="https://pyup.io/changelogs/pyrsistent/">Changelog</a> | <a href="http://github.com/tobgu/pyrsistent/">Repo</a> 

</td>

</tr>
</table>



## Changelogs


### pyopenssl 17.3.0 -> 17.4.0

>### 17.4.0

>-------------------


>Backward-incompatible changes:
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

>*none*


>Deprecations:
>^^^^^^^^^^^^^

>*none*


>Changes:
>^^^^^^^^


>- Re-added a subset of the ``OpenSSL.rand`` module.
>  This subset allows conscientious users to reseed the OpenSSL CSPRNG after fork.
>  `708 &lt;https://github.com/pyca/pyopenssl/pull/708&gt;`_
>- Corrected a use-after-free when reusing an issuer or subject from an ``X509`` object after the underlying object has been mutated.
>  `709 &lt;https://github.com/pyca/pyopenssl/pull/709&gt;`_

>----








### pyrsistent 0.14.0 -> 0.14.1

>### 0.14.1

> * Equality check performance improvements for pvectors and pmaps. Thanks dtomas for this!
> * Avoid calling factories multiple times for fields that do not change, see PR 120 for for
>   details. Thanks teepark for this!










That's it for now!

Happy merging! 🤖
bors-fusion bot added a commit to fusionapp/documint that referenced this pull request Nov 27, 2017
120: Scheduled weekly dependency update for week 48 r=mithrandi a=pyup-bot




## Updates
Here's a list of all the updates bundled in this pull request. I've added some links to make it easier for you to find all the information you need.
<table align="center">

<tr>
<td><b>pyasn1-modules</b></td>
<td align="center">0.1.5</td>
<td align="center">&raquo;</td>
<td align="center">0.2.1</td>
<td>
     <a href="https://pypi.python.org/pypi/pyasn1-modules">PyPI</a> | <a href="https://pyup.io/changelogs/pyasn1-modules/">Changelog</a> | <a href="https://github.com/etingof/pyasn1-modules">Repo</a> 

</td>

<tr>
<td><b>pyasn1</b></td>
<td align="center">0.3.7</td>
<td align="center">&raquo;</td>
<td align="center">0.4.2</td>
<td>
     <a href="https://pypi.python.org/pypi/pyasn1">PyPI</a> | <a href="https://pyup.io/changelogs/pyasn1/">Changelog</a> | <a href="https://github.com/etingof/pyasn1">Repo</a> 

</td>

<tr>
<td><b>pyopenssl</b></td>
<td align="center">17.3.0</td>
<td align="center">&raquo;</td>
<td align="center">17.4.0</td>
<td>
     <a href="https://pypi.python.org/pypi/pyopenssl">PyPI</a> | <a href="https://pyup.io/changelogs/pyopenssl/">Changelog</a> | <a href="https://pyopenssl.org/">Homepage</a> | <a href="http://pythonhosted.org/pyOpenSSL/">Docs</a> 

</td>

</tr>
</table>



## Changelogs


### pyopenssl 17.3.0 -> 17.4.0

>### 17.4.0

>-------------------


>Backward-incompatible changes:
>^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

>*none*


>Deprecations:
>^^^^^^^^^^^^^

>*none*


>Changes:
>^^^^^^^^


>- Re-added a subset of the ``OpenSSL.rand`` module.
>  This subset allows conscientious users to reseed the OpenSSL CSPRNG after fork.
>  `708 &lt;https://github.com/pyca/pyopenssl/pull/708&gt;`_
>- Corrected a use-after-free when reusing an issuer or subject from an ``X509`` object after the underlying object has been mutated.
>  `709 &lt;https://github.com/pyca/pyopenssl/pull/709&gt;`_

>----











That's it for now!

Happy merging! 🤖
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 16, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Security Implications of #675 (Delete rand.py)
2 participants