Skip to content

Commit aacc6a7

Browse files
authored
Merge pull request #803 from mendix/develop
Release 2024-09-19
2 parents 2d631cc + 1c20873 commit aacc6a7

File tree

11 files changed

+112
-223
lines changed

11 files changed

+112
-223
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ install_requirements: install_piptools requirements
5858

5959
.PHONY: requirements
6060
requirements: install_piptools
61-
pip-compile --resolver=backtracking requirements*.in -o requirements-all.txt
62-
pip-compile --resolver=backtracking requirements.in
61+
pip-compile --strip-extras --resolver=backtracking requirements*.in -o requirements-all.txt
62+
pip-compile --strip-extras --resolver=backtracking requirements.in
6363

6464
.PHONY: write_version
6565
write_version:

buildpack/core/runtime.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,18 @@ def is_version_supported(version):
4141

4242
def is_version_maintained(version):
4343
# LTS / MTS versions: https://docs.mendix.com/releasenotes/studio-pro/lts-mts
44-
if version.major == 7 and version.minor == 23:
45-
return True
4644
if version.major == 8 and version.minor == 18:
4745
return True
4846
if version.major == 9 and version.minor == 24:
4947
return True
5048
if version.major == 10 and version.minor == 6:
5149
return True
50+
if version.major == 10 and version.minor == 12:
51+
return True
52+
if version.major == 10 and version.minor == 18:
53+
return True
54+
if version.major == 10 and version.minor == 21:
55+
return True
5256
return False
5357

5458

buildpack/util.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -581,7 +581,7 @@ def _upsert_config(config, key, value, overwrite=False, append=False):
581581
if not append and overwrite:
582582
config[key] = value
583583
else:
584-
if append and type(config[key]) == type(value):
584+
if append and type(config[key]) is type(value):
585585
if isinstance(value, list):
586586
config[key].extend(value)
587587
elif isinstance(value, (dict, set)):

me-central-1-bundle.pem

Lines changed: 0 additions & 76 deletions
This file was deleted.

net-additions.diff

Lines changed: 0 additions & 76 deletions
This file was deleted.

requirements-dev.in

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
click==8.1.7
2-
idna==3.7
3-
pytest==8.2.2
2+
idna==3.8
3+
pytest==8.3.3
44
pytest-timer==1.0.0
55
pytest-timeout==2.3.1
6-
pylint==3.2.3
7-
pyopenssl==24.0.0
6+
pylint==3.2.7
87
randomname==0.2.1
98
requests-mock==1.12.1
10-
ruff==0.4.8
9+
ruff==0.6.4
1110
parameterized==0.9.0

requirements.in

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
backoff==2.2.1
2-
certifi==2024.7.4
3-
cryptography==42.0.8
2+
certifi==2024.8.30
3+
cryptography==43.0.1
44
distro==1.9.0
55
httplib2==0.22.0
66
jinja2==3.1.4
77
omegaconf==2.3.0
88
psycopg2-binary==2.9.9
9-
pyyaml==6.0.1
9+
pyyaml==6.0.2
1010
requests==2.32.3
11-
urllib3==2.2.1
11+
urllib3==2.2.3

requirements.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,21 @@
22
# This file is autogenerated by pip-compile with Python 3.10
33
# by the following command:
44
#
5-
# pip-compile requirements.in
5+
# pip-compile --strip-extras requirements.in
66
#
77
antlr4-python3-runtime==4.9.3
88
# via omegaconf
99
backoff==2.2.1
1010
# via -r requirements.in
11-
certifi==2024.7.4
11+
certifi==2024.8.30
1212
# via
1313
# -r requirements.in
1414
# requests
1515
cffi==1.14.4
1616
# via cryptography
1717
charset-normalizer==2.0.3
1818
# via requests
19-
cryptography==42.0.8
19+
cryptography==43.0.1
2020
# via -r requirements.in
2121
distro==1.9.0
2222
# via -r requirements.in
@@ -36,13 +36,13 @@ pycparser==2.20
3636
# via cffi
3737
pyparsing==2.4.7
3838
# via httplib2
39-
pyyaml==6.0.1
39+
pyyaml==6.0.2
4040
# via
4141
# -r requirements.in
4242
# omegaconf
4343
requests==2.32.3
4444
# via -r requirements.in
45-
urllib3==2.2.2
45+
urllib3==2.2.3
4646
# via
4747
# -r requirements.in
4848
# requests

tests/integration/test_certificate_authorities.py

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
import base64
2+
from datetime import datetime, timedelta
23
from socket import gethostname
34

4-
from OpenSSL import crypto
5+
from cryptography import x509
6+
from cryptography.hazmat.primitives import hashes, serialization
7+
from cryptography.hazmat.primitives.asymmetric import rsa
8+
from cryptography.x509.oid import NameOID
59

610
from tests.integration import basetest
711

@@ -15,28 +19,40 @@ def setUp(self):
1519
self.certificate = self._create_self_signed_cert()
1620

1721
def _create_self_signed_cert(self):
22+
# Generate a private key
23+
private_key = rsa.generate_private_key(
24+
public_exponent=65537,
25+
key_size=2048,
26+
)
27+
28+
# Create a self-signed certificate
29+
subject = issuer = x509.Name([
30+
x509.NameAttribute(NameOID.COUNTRY_NAME, "NL"),
31+
x509.NameAttribute(NameOID.STATE_OR_PROVINCE_NAME, "Rotterdam"),
32+
x509.NameAttribute(NameOID.LOCALITY_NAME, "Rotterdam"),
33+
x509.NameAttribute(NameOID.ORGANIZATION_NAME, "Mendix"),
34+
x509.NameAttribute(NameOID.ORGANIZATIONAL_UNIT_NAME, "Mendix"),
35+
x509.NameAttribute(NameOID.COMMON_NAME, gethostname()),
36+
])
37+
cert = x509.CertificateBuilder().subject_name(
38+
subject
39+
).issuer_name(
40+
issuer
41+
).public_key(
42+
private_key.public_key()
43+
).serial_number(
44+
1000
45+
).not_valid_before(
46+
datetime.utcnow()
47+
).not_valid_after(
48+
datetime.utcnow() + timedelta(days=365*10)
49+
).add_extension(
50+
x509.BasicConstraints(ca=True, path_length=None), critical=True,
51+
).sign(private_key, hashes.SHA256())
52+
53+
cert_pem = cert.public_bytes(serialization.Encoding.PEM)
1854

19-
# Create a key pair
20-
k = crypto.PKey()
21-
k.generate_key(crypto.TYPE_RSA, 1024)
22-
23-
# Create a self-signed cert
24-
cert = crypto.X509()
25-
cert.get_subject().C = "NL"
26-
cert.get_subject().ST = "Rotterdam"
27-
cert.get_subject().L = "Rotterdam"
28-
cert.get_subject().O = "Mendix" # noqa: E741
29-
cert.get_subject().OU = "Mendix"
30-
cert.get_subject().CN = gethostname()
31-
cert.set_serial_number(1000)
32-
cert.gmtime_adj_notBefore(0)
33-
cert.gmtime_adj_notAfter(10 * 365 * 24 * 60 * 60)
34-
cert.set_issuer(cert.get_subject())
35-
cert.set_pubkey(k)
36-
cert.sign(k, "sha1")
37-
38-
# Return a .PEM certificate
39-
return crypto.dump_certificate(crypto.FILETYPE_PEM, cert)
55+
return cert_pem
4056

4157
def test_certificate_authorities(self):
4258
self.stage_container(

tests/unit/test_deprecations.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,8 @@ def test_mx7_supported(self):
2727

2828

2929
class TestCaseMxMaintained(TestCase):
30-
def test_mx7_maintained(self):
31-
assert runtime.is_version_maintained(MXVersion("7.23.1"))
32-
3330
def test_mx7_not_maintained(self):
31+
assert not runtime.is_version_maintained(MXVersion("7.23.1"))
3432
assert not runtime.is_version_maintained(MXVersion("7.16"))
3533

3634
def test_mx8_maintained(self):
@@ -49,6 +47,9 @@ def test_mx9_not_maintained(self):
4947

5048
def test_mx10_maintained(self):
5149
assert runtime.is_version_maintained(MXVersion("10.6.1"))
50+
assert runtime.is_version_maintained(MXVersion("10.12.1"))
51+
assert runtime.is_version_maintained(MXVersion("10.18.1"))
52+
assert runtime.is_version_maintained(MXVersion("10.21.1"))
5253

5354
def test_mx10_not_maintained(self):
5455
assert not runtime.is_version_maintained(MXVersion("10.5.1"))

0 commit comments

Comments
 (0)