cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | the secret reason for us trying to get PyPy users: to test the JIT well enough that we're somewhat confident about it
arigato has quit [Quit: Leaving]
Hasimir has joined #pypy
TheAdversary has joined #pypy
vpelletier has quit [Quit: leaving]
dddddd has quit [Remote host closed the connection]
Hasimir has quit [Remote host closed the connection]
TheAdversary has quit [Remote host closed the connection]
user24 has joined #pypy
jcea has quit [Quit: jcea]
forgottenone has joined #pypy
<_aegis_> wait, does pypy not use a keyed hash for dicts?
<_aegis_> (looking at "differences from cpython" page)
ceridwen has quit [Remote host closed the connection]
ceridwen has joined #pypy
ceridwen has joined #pypy
ceridwen has quit [Changing host]
<cfbolz> _aegis_: what is a "keyed hash"?
user24 has quit [Quit: Leaving]
<_aegis_> unkeyed hash would be something like modulo, djbhash, crc32, murmur3, or md5 run directly against the input and modulo'd to find the hash bucket
<_aegis_> keyed hash would be something like SipHash, HMAC, etc
<_aegis_> I'm asking in the context of hash table collision attacks
<_aegis_> where the differences page says "notice how python's hash table randomization is vulnerable anyway? so we didn't implement that / -R"
<_aegis_> *vulnerable before 3.4
<_aegis_> so I'm assuming based on that statement even pypy3 doesn't implement any kind of defensive hash function that mitigates malicious collision
<_aegis_> (a common example would be a web server DoS where the user controls a bunch of hash keys, like parameters, post values, http headers, or whatever, and forces them all into the same hash table bucket
<_aegis_> so every lookup requires O(N) scan on maybe a >10k entry bucket
<cfbolz> _aegis_: ah, I see. sorry, I don't actually know what the status of that is on pypy3
<_aegis_> looks like python 3.4 uses SipHash
<_aegis_> (anywhere there are 64-bit registers anyway)
oberstet has quit [Ping timeout: 245 seconds]
tayfun26 has joined #pypy
<cfbolz> yes, seems so
<LarstiQ> _aegis_: iirc pypy can do SipHash too
jamesaxl has quit [Ping timeout: 252 seconds]
forgottenone has quit [Read error: Connection reset by peer]
lritter has joined #pypy
antocuni has joined #pypy
jacob22__ has quit [Quit: Konversation terminated!]
<kenaan> arigo py3.6 6be2fb2a8b03 /pypy/interpreter/astcompiler/test/test_compiler.py: Test for issue #2884
jacob22__ has joined #pypy
<kenaan> arigo py3.6 dd78db026ae0 /pypy/interpreter/astcompiler/symtable.py: Fix for 6be2fb2a8b03 (issue2884)
oberstet has joined #pypy
antocuni has quit [Ping timeout: 250 seconds]
lritter has quit [Ping timeout: 240 seconds]
dddddd has joined #pypy
antocuni has joined #pypy
_whitelogger has joined #pypy
<mjacob> _aegis_: we didn't follow CPython in implementing their first (unsuccessful) attempt to fix the problem
<mjacob> _aegis_: however we followed CPython in implementing the second attempt to fix the problem with a cryptographic hash function
<mjacob> _aegis_: (see also sys.hash_info)
adamholmberg has joined #pypy
jcea has joined #pypy
_whitelogger has joined #pypy
fryguybob has quit [Read error: Connection reset by peer]
fryguybob has joined #pypy
marky1991 has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Read error: Connection reset by peer]
adamholm_ has joined #pypy
<_aegis_> ok so the differences page either doesn't take pypy3 into account, or is otherwise out of date?
<_aegis_> oh no I do see some pypy3 entries, so that should have a note that pypy2 is the one that doesn't have hash randomization?
marky1991 has quit [Ping timeout: 240 seconds]
tayfun26 has quit [Quit: tayfun26]
ronan has quit [Ping timeout: 252 seconds]
oberstet has quit [Ping timeout: 252 seconds]
ronan has joined #pypy
oberstet has joined #pypy
<cfbolz> _aegis_: yes, seems true
kanaka has joined #pypy
kanaka has quit [Changing host]
kanaka has joined #pypy
antocuni has quit [Ping timeout: 252 seconds]
oberstet has quit [Read error: Connection reset by peer]
oberstet2 has joined #pypy
adamholm_ has quit [Remote host closed the connection]
adamholmberg has joined #pypy
_whitelogger has joined #pypy
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 245 seconds]
adamholmberg has joined #pypy
antocuni has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 252 seconds]