Skip to content

Commit 428a814

Browse files
Merge pull request #306 from apel/release-3.4.0
Release 3.4.0 to master
2 parents 74e3d41 + 2e69070 commit 428a814

18 files changed

+323
-55
lines changed

.github/workflows/build-pkgs.yml

+1-1
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/upload-artifact@v3.1.3
54+
uses: actions/upload-artifact@v4.3.1
5555
with:
5656
name: Binary and Source RPMs
5757
path: |

.github/workflows/codeql-analysis.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838

3939
# Initializes the CodeQL tools for scanning.
4040
- name: Initialize CodeQL
41-
uses: github/codeql-action/init@v2
41+
uses: github/codeql-action/init@v3
4242
with:
4343
languages: ${{ matrix.language }}
4444
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -49,4 +49,4 @@ jobs:
4949
queries: security-extended,security-and-quality
5050

5151
- name: Perform CodeQL Analysis
52-
uses: github/codeql-action/analyze@v2
52+
uses: github/codeql-action/analyze@v3

.github/workflows/docker.yml

+1-1
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.0.0
51+
uses: docker/build-push-action@v5.1.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

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
steps:
1414
- uses: actions/checkout@v4
1515
- name: Set up Python
16-
uses: actions/setup-python@v4
16+
uses: actions/setup-python@v5
1717
with:
1818
python-version: ${{ matrix.python-version }}
1919
- name: Set up dependencies for python-ldap

CHANGELOG

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
1-
Changelog for ssm
2-
=================
1+
* Wed Feb 21 2024 Adrian Coveney <[email protected]> - 3.4.0-1
2+
- Fixed compatability with newer versions of OpenSSL that only provide comma separated DNs.
3+
- Fixed Python 3 compatability (indirectly fixing EL8+ compatability) by performing explicit
4+
decoding. Note that this limits messages to ASCII as this is the current behaviour.
5+
- Added new build script that handles both RPM and DEB pacakging and later OSes.
6+
- Changed default config file values to bring in line with AMS usage.
7+
38
* Mon Oct 09 2023 Adrian Coveney <[email protected]> - 3.3.0-1
49
- Added warning that BDII broker fetching will be deprecated in a future version.
510
- Added non-zero exit status if sender or receiver crash.

Dockerfile

+7-4
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,18 @@ COPY . /tmp/ssm
77
WORKDIR /tmp/ssm
88

99
# Add the EPEL repo so we can get pip
10-
RUN yum -y install epel-release
10+
RUN yum -y install epel-release && yum clean all
1111
# Then get pip
12-
RUN yum -y install python-pip
12+
RUN yum -y install python-pip && yum clean all
1313

1414
# Install the system requirements of python-ldap
15-
RUN yum -y install gcc python-devel openldap-devel
15+
RUN yum -y install gcc python-devel openldap-devel && yum clean all
16+
17+
# Install libffi, a requirement of openssl
18+
RUN yum -y install libffi-devel && yum clean all
1619

1720
# Install the system requirements of ssm
18-
RUN yum -y install openssl
21+
RUN yum -y install openssl && yum clean all
1922

2023
# Install the python requirements of SSM
2124
RUN pip install -r requirements.txt

apel-ssm.spec

+8-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
%endif
55

66
Name: apel-ssm
7-
Version: 3.3.1
7+
Version: 3.4.0
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+
* Wed Feb 21 2024 Adrian Coveney <[email protected]> - 3.4.0-1
104+
- Fixed compatability with newer versions of OpenSSL that only provide comma separated DNs.
105+
- Fixed Python 3 compatability (indirectly fixing EL8+ compatability) by performing explicit
106+
decoding. Note that this limits messages to ASCII as this is the current behaviour.
107+
- Added new build script that handles both RPM and DEB pacakging and later OSes.
108+
- Changed default config file values to bring in line with AMS usage.
109+
103110
* Mon Oct 09 2023 Adrian Coveney <[email protected]> - 3.3.0-1
104111
- Added warning that BDII broker fetching will be deprecated in a future version.
105112
- Added non-zero exit status if sender or receiver crash.

conf/receiver.cfg

+13-7
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
[receiver]
22
# Either 'STOMP' for STOMP message brokers or 'AMS' for Argo Messaging Service
3-
protocol: STOMP
3+
protocol: AMS
44

55
[broker]
66

77
# The SSM will query a BDII to find brokers available. These details are for the
88
# EGI production broker network
9-
bdii: ldap://lcg-bdii.cern.ch:2170
10-
network: PROD
9+
#bdii: ldap://lcg-bdii.cern.ch:2170
10+
#network: PROD
1111
# Alternatively, 'host' and 'port' can be set manually (with 'bdii' and
12-
# 'network' commented out). This option MUST be used for AMS.
13-
#host:
12+
# 'network' commented out). The 'host' option MUST be used for AMS.
13+
host: msg-devel.argo.grnet.gr
14+
#host: msg.argo.grnet.gr
1415
#port:
1516

1617
# broker authentication. If use_ssl is set, the certificates configured
@@ -25,17 +26,22 @@ check_crls: false
2526

2627
[messaging]
2728
# If using AMS this is the project that SSM will connect to. Ignored for STOMP.
28-
ams_project:
29+
ams_project: accounting
2930

3031
# Destination to which SSM will listen.
31-
destination: /queue/ssm2test
32+
destination:
33+
34+
# Only use direct token auth with AMS if you've been provided with a token to use.
35+
#token:
3236

3337
# Accepted messages will be written to <path>/incoming
3438
# Rejected messages will be written to <path>/reject
3539
path: /var/spool/apel
3640

3741
[logging]
3842
logfile: /var/log/apel/ssmreceive.log
43+
# Available logging levels:
44+
# DEBUG, INFO, WARN, ERROR, CRITICAL
3945
level: INFO
4046
console: false
4147

conf/sender.cfg

+12-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,18 @@
11
[sender]
22
# Either 'STOMP' for STOMP message brokers or 'AMS' for Argo Messaging Service
3-
protocol: STOMP
3+
protocol: AMS
44

55
[broker]
66

77
# The SSM will query a BDII to find brokers available. These details are for the
88
# EGI production broker network
9-
bdii: ldap://lcg-bdii.cern.ch:2170
10-
network: PROD
11-
# Alternatively, 'host' and 'port' may be set manually (with 'bdii' and
12-
# 'network' commented out). This option must be used for AMS.
13-
#host: msg-devel.argo.grnet.gr
14-
#port: 443
9+
#bdii: ldap://lcg-bdii.cern.ch:2170
10+
#network: PROD
11+
# Alternatively, 'host' and 'port' can be set manually (with 'bdii' and
12+
# 'network' commented out). The 'host' option MUST be used for AMS.
13+
host: msg-devel.argo.grnet.gr
14+
#host: msg.argo.grnet.gr
15+
#port:
1516

1617
# broker authentication. If use_ssl is set, the certificates configured
1718
# in the mandatory [certificates] section will be used.
@@ -23,7 +24,7 @@ key: /etc/grid-security/hostkey.pem
2324
capath: /etc/grid-security/certificates
2425

2526
# If supplied, outgoing messages will be encrypted using this certificate.
26-
# May be used in addition to 'use_ssl'. If used, it must be the certificate of
27+
# May be used in addition to 'use_ssl'. If used, it MUST be the certificate of
2728
# the final server that's receiving your messages; not your own, nor the broker.
2829
#server_cert: /etc/grid-security/servercert.pem
2930

@@ -34,6 +35,9 @@ ams_project: accounting
3435
# Queue to which SSM will send messages
3536
destination: gLite-APEL
3637

38+
# Only use direct token auth with AMS if you've been provided with a token to use.
39+
#token:
40+
3741
# Outgoing messages will be read and removed from this directory.
3842
path: /var/spool/apel/outgoing
3943
# If 'path_type' is set to 'dirq' (or if 'path_type' is omitted), the supplied

requirements.txt

+2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
argo-ams-library
44
certifi<2020.4.5.2 # Used by AMS (via requests), 2020.4.5.2 dropped support for Python 2
5+
pyopenssl >=19.1.0, <=21.0.0 # 22.0.0 dropped support for Python 2
6+
cryptography==3.3.2 # Crypto dropped support for Python 2 after 3.3
57
stomp.py<5.0.0
68
python-daemon<=2.3.0 # 2.3.1 dropped support for Python 2
79
python-ldap<3.4.0 # python-ldap-3.4.0 dropped support for Python 2

scripts/ssm-build-deb.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
set -eu
1818

19-
TAG=3.3.1-1
19+
TAG=3.4.0-1
2020

2121
SOURCE_DIR=~/debbuild/source
2222
BUILD_DIR=~/debbuild/build

scripts/ssm-build-rpm.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
rpmdev-setuptree
1111

1212
RPMDIR=/home/rpmb/rpmbuild
13-
VERSION=3.3.1-1
13+
VERSION=3.4.0-1
1414
SSMDIR=apel-ssm-$VERSION
1515

1616
# Remove old sources and RPMS

0 commit comments

Comments
 (0)