Skip to content

Commit a45b371

Browse files
committed
[GR-60881] Update bundled sqlite3 and bundled PyPy files
PullRequest: graalpython/3636
2 parents 6c398ac + 9f36afb commit a45b371

File tree

6 files changed

+26184
-10305
lines changed

6 files changed

+26184
-10305
lines changed

graalpython/com.oracle.graal.python.cext/modules/_sqlite/sqlite/sqlite3.c

Lines changed: 25368 additions & 10134 deletions
Large diffs are not rendered by default.

graalpython/com.oracle.graal.python.cext/modules/_sqlite/sqlite/sqlite3.h

Lines changed: 773 additions & 163 deletions
Large diffs are not rendered by default.

graalpython/lib-python/3/_md5.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ class md5:
141141
digest_size = digestsize = 16
142142
block_size = 64
143143

144-
def __init__(self, arg=None, *, usedforsecurity=True):
144+
def __init__(self, arg=None, usedforsecurity=True):
145145
"Initialisation."
146146

147147
# Initial message length in bits(!).

graalpython/lib-python/3/_sha1.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,19 @@ def f60_79(B, C, D):
137137
0xCA62C1D6 # (60 <= t <= 79)
138138
]
139139

140-
class sha:
140+
141+
class Immutable(type):
142+
def __init__(cls, name, bases, dct):
143+
type.__setattr__(cls,"attr",set(dct.keys()))
144+
type.__init__(cls, name, bases, dct)
145+
146+
def __setattr__(cls, name, value):
147+
# Mock Py_TPFLAGS_IMMUTABLETYPE
148+
qualname = '.'.join([cls.__module__, cls.__name__])
149+
raise TypeError(f"cannot set '{name}' attribute of immutable type '{qualname}'")
150+
151+
152+
class sha(metaclass=Immutable):
141153
"An implementation of the SHA hash function in pure Python."
142154

143155
digest_size = digestsize = 20

graalpython/lib-python/3/_sha256.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -242,11 +242,23 @@ def sha_final(sha_info):
242242
dig.extend([ ((i>>24) & 0xff), ((i>>16) & 0xff), ((i>>8) & 0xff), (i & 0xff) ])
243243
return bytes(dig)
244244

245-
class sha256(object):
245+
246+
class Immutable(type):
247+
def __init__(cls, name, bases, dct):
248+
type.__setattr__(cls,"attr",set(dct.keys()))
249+
type.__init__(cls, name, bases, dct)
250+
251+
def __setattr__(cls, name, value):
252+
# Mock Py_TPFLAGS_IMMUTABLETYPE
253+
qualname = '.'.join([cls.__module__, cls.__name__])
254+
raise TypeError(f"cannot set '{name}' attribute of immutable type '{qualname}'")
255+
256+
257+
class sha256(object, metaclass=Immutable):
246258
digest_size = digestsize = SHA_DIGESTSIZE
247259
block_size = SHA_BLOCKSIZE
248260

249-
def __init__(self, s=None, *, usedforsecurity=True):
261+
def __init__(self, s=None, usedforsecurity=True):
250262
self.name = 'sha256'
251263
self._sha = sha_init()
252264
if s:
@@ -269,7 +281,7 @@ def copy(self):
269281
class sha224(sha256):
270282
digest_size = digestsize = 28
271283

272-
def __init__(self, s=None, *, usedforsecurity=True):
284+
def __init__(self, s=None, usedforsecurity=True):
273285
self.name = 'sha224'
274286
self._sha = sha224_init()
275287
if s:

graalpython/lib-python/3/_sha512.py

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -255,11 +255,22 @@ def sha_final(sha_info):
255255
dig.extend([ ((i>>56) & 0xff), ((i>>48) & 0xff), ((i>>40) & 0xff), ((i>>32) & 0xff), ((i>>24) & 0xff), ((i>>16) & 0xff), ((i>>8) & 0xff), (i & 0xff) ])
256256
return bytes(dig)
257257

258-
class sha512(object):
258+
class Immutable(type):
259+
def __init__(cls, name, bases, dct):
260+
type.__setattr__(cls,"attr",set(dct.keys()))
261+
type.__init__(cls, name, bases, dct)
262+
263+
def __setattr__(cls, name, value):
264+
# Mock Py_TPFLAGS_IMMUTABLETYPE
265+
qualname = '.'.join([cls.__module__, cls.__name__])
266+
raise TypeError(f"cannot set '{name}' attribute of immutable type '{qualname}'")
267+
268+
269+
class sha512(object, metaclass=Immutable):
259270
digest_size = digestsize = SHA_DIGESTSIZE
260271
block_size = SHA_BLOCKSIZE
261272

262-
def __init__(self, s=None, *, usedforsecurity=True):
273+
def __init__(self, s=None, usedforsecurity=True):
263274
self.name = 'sha512'
264275
self._sha = sha_init()
265276
if s:
@@ -282,7 +293,7 @@ def copy(self):
282293
class sha384(sha512):
283294
digest_size = digestsize = 48
284295

285-
def __init__(self, s=None, *, usedforsecurity=True):
296+
def __init__(self, s=None, usedforsecurity=True):
286297
self.name = 'sha384'
287298
self._sha = sha384_init()
288299
if s:

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy