Skip to content

Commit ad70870

Browse files
authored
Merge pull request #18 from segevfiner/refresh
Refresh
2 parents 221dbfe + bb48434 commit ad70870

7 files changed

Lines changed: 30 additions & 23 deletions

File tree

.github/workflows/build-and-test.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,32 @@ jobs:
1515
fail-fast: false
1616
matrix:
1717
os: [ubuntu-latest]
18-
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
18+
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
1919
include:
2020
- os: windows-latest
21-
python-version: '3.13'
21+
python-version: '3.14'
2222
- os: macos-latest
23-
python-version: '3.13'
23+
python-version: '3.14'
2424

2525
steps:
26-
- uses: actions/checkout@v4
26+
- uses: actions/checkout@v7
2727
- name: Set up Python ${{ matrix.python-version }}
28-
uses: actions/setup-python@v4
28+
uses: actions/setup-python@v7
2929
with:
3030
python-version: ${{ matrix.python-version }}
3131
- name: Set CPPFLAGS/LDFLAGS for OpenSSL on macOS
3232
if: matrix.os == 'macos-latest'
3333
run: |
3434
brew install openssl@3.0
3535
echo "CPPFLAGS=-I/opt/homebrew/opt/openssl@3.0/include" >> $GITHUB_ENV
36-
echo "LDFLAGS=-L/Library/Frameworks/Python.framework/Versions/3.13/lib" >> $GITHUB_ENV
36+
echo "LDFLAGS=-L/Library/Frameworks/Python.framework/Versions/3.14/lib" >> $GITHUB_ENV
3737
- name: Install dependencies
3838
run: |
3939
python -m pip install --upgrade pip setuptools wheel
4040
- name: Install
4141
run: |
4242
pip install -e .[dev]
4343
- name: Lint with flake8
44-
if: ${{ matrix.python-version != '3.7' }}
4544
run: |
4645
# stop the build if there are Python syntax errors or undefined names
4746
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics

.github/workflows/publish.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ jobs:
1313
runs-on: ubuntu-latest
1414

1515
steps:
16-
- uses: actions/checkout@v4
16+
- uses: actions/checkout@v7
1717

18-
- uses: actions/setup-python@v5
18+
- uses: actions/setup-python@v7
1919
with:
20-
python-version: "3.13"
20+
python-version: "3.14"
2121

2222
- name: Build release distributions
2323
run: |
2424
python -m pip install build
2525
python -m build --sdist
2626
2727
- name: Upload distributions
28-
uses: actions/upload-artifact@v4
28+
uses: actions/upload-artifact@v7
2929
with:
3030
name: release-dists
3131
path: dist/
@@ -44,7 +44,7 @@ jobs:
4444

4545
steps:
4646
- name: Retrieve release distributions
47-
uses: actions/download-artifact@v4
47+
uses: actions/download-artifact@v8
4848
with:
4949
name: release-dists
5050
path: dist/
@@ -55,4 +55,4 @@ jobs:
5555
packages-dir: dist/
5656

5757
- name: Release
58-
uses: softprops/action-gh-release@v2
58+
uses: softprops/action-gh-release@v3

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ version: 2
33
build:
44
os: ubuntu-22.04
55
tools:
6-
python: "3.11"
6+
python: "3.14"
77

88
sphinx:
99
configuration: docs/conf.py

CHANGELOG.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
Changelog
22
=========
33

4+
Unreleased
5+
----------
6+
Changed
7+
^^^^^^^
8+
* CI/CD and dependencies refresh.
9+
* More accurate condition for OpenSSL 3.1+ support.
10+
411
v0.5.2 (2025-06-6)
512
------------------
613
Changed

_sslkeylog.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,12 @@ PyMODINIT_FUNC init_sslkeylog(void)
327327
{
328328
PyObject *m = NULL;
329329
PyObject *_ssl;
330+
unsigned long runtime_version = OpenSSL_version_num();
330331

331-
if ((OpenSSL_version_num() & 0xFFFFF000) != (OPENSSL_VERSION_NUMBER & 0xFFFFF000)) {
332+
/* OpenSSL >=3 only breaks ABI on major version bumps, older ones on major.minor.patch */
333+
if ((runtime_version & 0xFFFFF000) >= 0x03000000
334+
? (runtime_version & 0xFF000000) != (OPENSSL_VERSION_NUMBER & 0xFF000000)
335+
: (runtime_version & 0xFFFFF000) != (OPENSSL_VERSION_NUMBER & 0xFFFFF000)) {
332336
PyErr_SetString(PyExc_RuntimeError,
333337
"OpenSSL version mismatch between build and runtime. "
334338
"Please clear your pip cache and rebuild sslkeylog");

setup.py

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
if sys.platform == "win32":
1717
openssl_base_version = re.search(r"^OpenSSL ([0-9.]+)", ssl.OPENSSL_VERSION).group(1)
18-
if openssl_base_version.startswith("3.0"):
18+
if openssl_base_version.startswith("3."):
1919
openssl_version = "3.0.11"
2020
elif openssl_base_version == "1.1.1":
2121
openssl_version = "1.1.1c"
@@ -66,15 +66,12 @@
6666
"Programming Language :: Python :: 2",
6767
"Programming Language :: Python :: 2.7",
6868
"Programming Language :: Python :: 3",
69-
"Programming Language :: Python :: 3.5",
70-
"Programming Language :: Python :: 3.6",
71-
"Programming Language :: Python :: 3.7",
72-
"Programming Language :: Python :: 3.8",
7369
"Programming Language :: Python :: 3.9",
7470
"Programming Language :: Python :: 3.10",
7571
"Programming Language :: Python :: 3.11",
7672
"Programming Language :: Python :: 3.12",
77-
"Programming Language :: Python :: 3.13"
73+
"Programming Language :: Python :: 3.13",
74+
"Programming Language :: Python :: 3.14"
7875
],
7976
keywords="ssl tls sslkeylogfile",
8077
zip_safe=False,
@@ -93,7 +90,7 @@
9390
"pytest-metadata",
9491
"mock",
9592
"six",
96-
"sphinx==5.*;python_version>='3.0'"
93+
"sphinx==9.*;python_version>='3.12'"
9794
],
9895
},
9996
)

sslkeylog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import _sslkeylog
2626

2727

28-
__version__ = u"0.5.2"
28+
__version__ = u"0.5.3"
2929

3030

3131
if sys.version_info[0] >= 3:

0 commit comments

Comments
 (0)