Skip to content

Commit 6faa077

Browse files
Merge pull request #358 from apel/release-3.4.1
Release 3.4.1 to master
2 parents 428a814 + c265998 commit 6faa077

18 files changed

+157
-63
lines changed

.github/workflows/build-pkgs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ jobs:
5151
run: rpmlint ${{ steps.rpm.outputs.rpm_dir_path }}
5252

5353
- name: Upload artifact
54-
uses: actions/[email protected].1
54+
uses: actions/[email protected].6
5555
with:
5656
name: Binary and Source RPMs
5757
path: |

.github/workflows/docker.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ jobs:
4848
# Build and push Docker image
4949
# https://github.com/docker/build-push-action
5050
name: Build and push Docker image
51-
uses: docker/build-push-action@v5.1.0
51+
uses: docker/build-push-action@v6.7.0
5252
with:
5353
# Only push containers to the registry on GitHub pushes,
5454
# not pull requests. GitHub won't let a rogue PR create a container

.github/workflows/unit-test.yml

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,40 @@ on: [push, pull_request]
44

55
jobs:
66
unit-test:
7-
runs-on: ubuntu-latest
7+
runs-on: ubuntu-20.04 # 20.04 to allow for Py 3.6
88
strategy:
99
fail-fast: false
1010
matrix:
11-
python-version: ['3.x']
11+
# Python versions on Rocky 8, Ubuntu 20.04, Rocky 9
12+
python-version: ['3.6', '3.8', '3.9']
1213
name: Python ${{ matrix.python-version }} test
1314
steps:
1415
- uses: actions/checkout@v4
15-
- name: Set up Python
16+
17+
- name: Set up Python ${{ matrix.python-version }}
1618
uses: actions/setup-python@v5
1719
with:
1820
python-version: ${{ matrix.python-version }}
21+
cache: 'pip'
22+
1923
- name: Set up dependencies for python-ldap
2024
run: sudo apt-get install libsasl2-dev libldap2-dev libssl-dev
25+
2126
- name: Base requirements for SSM
2227
run: pip install -r requirements.txt
28+
2329
- name: Additional requirements for the unit and coverage tests
2430
run: pip install -r requirements-test.txt
31+
2532
- name: Pre-test set up
2633
run: |
2734
export TMPDIR=$PWD/tmp
2835
mkdir $TMPDIR
2936
export PYTHONPATH=$PYTHONPATH:`pwd -P`
3037
cd test
38+
3139
- name: Run unit tests
3240
run: coverage run --branch --source=ssm,bin -m unittest discover --buffer
41+
3342
- name: Upload coverage to Codecov
34-
uses: codecov/codecov-action@v3.1.4
43+
uses: codecov/codecov-action@v4

.pre-commit-config.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# See https://pre-commit.com for more information
22
repos:
33
- repo: https://github.com/pre-commit/pre-commit-hooks
4-
rev: v2.5.0
4+
rev: v4.1.0 # Python 3.6 compatible
55
hooks:
66
# Python related checks
77
- id: check-ast
@@ -13,9 +13,13 @@ repos:
1313
files: 'test/.*'
1414
# Other checks
1515
- id: check-added-large-files
16+
- id: check-case-conflict
1617
- id: check-merge-conflict
1718
- id: check-yaml
1819
- id: debug-statements
20+
- id: detect-private-key
21+
# This file has a test cert and key
22+
exclude: 'test_ssm.py'
1923
- id: end-of-file-fixer
2024
- id: mixed-line-ending
2125
name: Force line endings to LF

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ os: linux
22
language: python
33
python:
44
- "2.7"
5-
- "3.8"
65

76
# Cache the dependencies installed by pip
87
cache: pip

CHANGELOG

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
* Fri Aug 30 2024 Adrian Coveney <[email protected]> - 3.4.1-1
2+
- Improved error logging to store full traceback on unexpected exceptions.
3+
- Changed more code to use pyOpenSSL to improve compatibility with newer OpenSSL versions.
4+
- Added a check to prevent a host certificate being to used for target server encryption.
5+
- Changed which version of exit function is used to avoid edge case.
6+
- Various changes and improvements to build scripts and processes.
7+
18
* Wed Feb 21 2024 Adrian Coveney <[email protected]> - 3.4.0-1
29
- Fixed compatability with newer versions of OpenSSL that only provide comma separated DNs.
310
- Fixed Python 3 compatability (indirectly fixing EL8+ compatability) by performing explicit

Dockerfile

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
1-
FROM centos:7
2-
MAINTAINER APEL Administrators <[email protected]>
1+
FROM rockylinux:9
2+
LABEL org.opencontainers.image.authors="[email protected]"
3+
LABEL org.opencontainers.image.title="APEL SSM"
4+
LABEL org.opencontainers.image.description="Secure STOMP Messenger (SSM) is designed to simply send messages using the STOMP protocol or via the ARGO Messaging Service (AMS)."
5+
LABEL org.opencontainers.image.source="https://github.com/apel/ssm"
6+
LABEL org.opencontainers.image.licenses="Apache License, Version 2.0"
37

48
# Copy the SSM Git repository to /tmp/ssm
59
COPY . /tmp/ssm
@@ -9,10 +13,10 @@ WORKDIR /tmp/ssm
913
# Add the EPEL repo so we can get pip
1014
RUN yum -y install epel-release && yum clean all
1115
# Then get pip
12-
RUN yum -y install python-pip && yum clean all
16+
RUN yum -y install python3-pip && yum clean all
1317

1418
# Install the system requirements of python-ldap
15-
RUN yum -y install gcc python-devel openldap-devel && yum clean all
19+
RUN yum -y install gcc python3-devel openldap-devel && yum clean all
1620

1721
# Install libffi, a requirement of openssl
1822
RUN yum -y install libffi-devel && yum clean all
@@ -21,9 +25,9 @@ RUN yum -y install libffi-devel && yum clean all
2125
RUN yum -y install openssl && yum clean all
2226

2327
# Install the python requirements of SSM
24-
RUN pip install -r requirements.txt
28+
RUN pip install -r requirements-docker.txt
2529
# Then install the SSM
26-
RUN python setup.py install
30+
RUN python3 setup.py install
2731

2832
# Set the working directory back to /
2933
WORKDIR /

apel-ssm.spec

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
%endif
55

66
Name: apel-ssm
7-
Version: 3.4.0
7+
Version: 3.4.1
88
%define releasenumber 1
99
Release: %{releasenumber}%{?dist}
1010
Summary: Secure stomp messenger
@@ -100,6 +100,13 @@ rm -rf $RPM_BUILD_ROOT
100100
%doc %_defaultdocdir/%{name}
101101

102102
%changelog
103+
* Fri Aug 30 2024 Adrian Coveney <[email protected]> - 3.4.1-1
104+
- Improved error logging to store full traceback on unexpected exceptions.
105+
- Changed more code to use pyOpenSSL to improve compatibility with newer OpenSSL versions.
106+
- Added a check to prevent a host certificate being to used for target server encryption.
107+
- Changed which version of exit function is used to avoid edge case.
108+
- Various changes and improvements to build scripts and processes.
109+
103110
* Wed Feb 21 2024 Adrian Coveney <[email protected]> - 3.4.0-1
104111
- Fixed compatability with newer versions of OpenSSL that only provide comma separated DNs.
105112
- Fixed Python 3 compatability (indirectly fixing EL8+ compatability) by performing explicit

bin/receiver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def main():
6666
cp.read(options.config)
6767
else:
6868
print("Config file not found at", options.config)
69-
exit(1)
69+
sys.exit(1)
7070

7171
# Check for pidfile
7272
pidfile = cp.get('daemon', 'pidfile')

bin/sender.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import logging
2525
from optparse import OptionParser
2626
import os
27+
import sys
2728

2829
try:
2930
import ConfigParser
@@ -57,7 +58,7 @@ def main():
5758
cp.read(options.config)
5859
else:
5960
print("Config file not found at", options.config)
60-
exit(1)
61+
sys.exit(1)
6162

6263
ssm.agents.logging_helper(cp)
6364

0 commit comments

Comments
 (0)