mirror of
https://github.com/openwrt/packages.git
synced 2026-05-31 23:12:02 +08:00
24f5b1039c
Security fix: - Fix Cursor.callproc() to escape procedure name, preventing SQL injection when calling a procedure with a string received from an untrusted source - NOTICE: Backward compatibility change - procedure names like "dbname.funcname" are now backtick-quoted: ``CALL \`dbname.funcname\` `` Other changes: - CI: use ubuntu-slim, add dependabot for GitHub Actions - Bump GitHub Actions (checkout v4→v6, setup-python v5→v6, codecov v5→v6) - Add publish.yml workflow (copied from psf/requests) - Upgrade dependencies: cryptography>=46.0.7, PyNaCl>=1.6.2 - Drop Python 3.8, require Python 3.9+ Changelog: https://github.com/PyMySQL/PyMySQL/releases/tag/v1.1.3 NOTE: added test.sh for basic validation. Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
52 lines
1.1 KiB
Bash
52 lines
1.1 KiB
Bash
#!/bin/sh
|
|
|
|
[ "$1" = python3-pymysql ] || exit 0
|
|
|
|
python3 -c '
|
|
import pymysql
|
|
|
|
# Verify version
|
|
assert pymysql.__version__
|
|
|
|
# Verify core exports
|
|
assert hasattr(pymysql, "connect")
|
|
assert hasattr(pymysql, "connections")
|
|
assert hasattr(pymysql, "cursors")
|
|
|
|
# Verify cursor types are importable
|
|
from pymysql.cursors import Cursor, DictCursor, SSCursor, SSDictCursor
|
|
|
|
# Verify exception classes are importable
|
|
from pymysql import (
|
|
err,
|
|
MySQLError,
|
|
OperationalError,
|
|
InterfaceError,
|
|
DatabaseError,
|
|
IntegrityError,
|
|
DataError,
|
|
)
|
|
|
|
# Verify connections.Connection class exists
|
|
from pymysql import connections
|
|
assert connections.Connection is not None
|
|
|
|
# Verify callable cursor classes
|
|
assert callable(Cursor)
|
|
assert callable(DictCursor)
|
|
assert callable(SSCursor)
|
|
assert callable(SSDictCursor)
|
|
|
|
# Verify constants module
|
|
import pymysql.constants as constants
|
|
assert hasattr(constants, "CR")
|
|
assert hasattr(constants, "ER")
|
|
|
|
# Verify _escape function exists (used internally for queries)
|
|
from pymysql.converters import escape_string, escape_dict
|
|
assert callable(escape_string)
|
|
assert callable(escape_dict)
|
|
|
|
print("pymysql OK")
|
|
'
|