Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 3.4.0 to master #306

Merged
merged 47 commits into from
Feb 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
25e11da
Merge pull request #277 from apel/release-3.3.1
tofu-rocketry Oct 9, 2023
2b71687
Bump docker/build-push-action from 5.0.0 to 5.1.0
dependabot[bot] Nov 20, 2023
e60a6e2
Bump actions/setup-python from 4 to 5
dependabot[bot] Dec 11, 2023
9b7ff37
Bump actions/upload-artifact from 3.1.3 to 4.1.0
dependabot[bot] Jan 15, 2024
b3acfb3
Bump github/codeql-action from 2 to 3
dependabot[bot] Jan 15, 2024
6b1d08a
Remove title from CHANGELOG for FPM script compatibility
RedProkofiev Jan 15, 2024
61ff9cc
Bump actions/upload-artifact from 4.1.0 to 4.2.0
dependabot[bot] Jan 22, 2024
a23c018
Bump actions/upload-artifact from 4.2.0 to 4.3.0
dependabot[bot] Jan 29, 2024
129f45a
PyOpenSSL handling of DN outputs
RedProkofiev Oct 2, 2023
9c7fba2
Alter dockerfile to install libffi-devel
RedProkofiev Dec 11, 2023
8dd637d
Unit test for get_subject_components
RedProkofiev Dec 12, 2023
85141eb
Add yum clean to Docker RUN yum install commands
tofu-rocketry Jan 15, 2024
a1bdb9d
Fixes to requirements.txt
tofu-rocketry Jan 22, 2024
57f339e
Tidy imports
tofu-rocketry Jan 22, 2024
86a6ff3
Improve indentation, whitespace and docstrings
tofu-rocketry Jan 22, 2024
322ade2
Mark get_subject_components as private method
tofu-rocketry Feb 6, 2024
40c38c8
Merge pull request #272 from RedProkofiev/nick-167
tofu-rocketry Feb 6, 2024
d716f00
FPM call structure
RedProkofiev Oct 13, 2023
1c12984
Detecting versions
RedProkofiev Nov 1, 2023
dd5de79
Workable structure
RedProkofiev Nov 2, 2023
e3e1b4c
Verbose flag added
RedProkofiev Nov 2, 2023
8e2a308
Change variable names
RedProkofiev Nov 17, 2023
c64dd80
Fixing import json error with addition of --python-bin flag
RedProkofiev Dec 13, 2023
11907d4
Build/pleaserun
RedProkofiev Jan 12, 2024
89ed0ed
Adding documentation, removing test coordinates, modifying help message
RedProkofiev Jan 17, 2024
f7ee9b4
Fix code quality issues
RedProkofiev Jan 18, 2024
8a15ee4
Remove whitespace
RedProkofiev Jan 18, 2024
ee07f16
Changes to setup.py
RedProkofiev Jan 22, 2024
9323a4a
Merge pull request #279 from RedProkofiev/nick-123
tofu-rocketry Feb 6, 2024
a8624d8
Update comments and options in config files
tofu-rocketry Jan 22, 2024
c0c6ee3
Improvements following code-review
tofu-rocketry Feb 6, 2024
e28662a
Merge pull request #289 from tofu-rocketry/200-update-config
tofu-rocketry Feb 6, 2024
3f39f35
String/Bytes fix
RedProkofiev Sep 29, 2023
d193577
Revert changes to test_ssm
tofu-rocketry Feb 16, 2024
4dbf4fd
Set cryptography to a more conservative version
tofu-rocketry Feb 16, 2024
627c9d9
Change and add extra decoding
tofu-rocketry Feb 16, 2024
884ab2c
Fix dependency issue
tofu-rocketry Feb 16, 2024
4d200c5
Change cryptography version
tofu-rocketry Feb 16, 2024
39a6a22
Merge pull request #300 from tofu-rocketry/146-bytes
tofu-rocketry Feb 16, 2024
43b82e6
Bump actions/upload-artifact from 4.3.0 to 4.3.1
dependabot[bot] Feb 12, 2024
0c22628
Make script compatible with Rocky 8 and CentOS 8 and add OS specific …
RedProkofiev Feb 19, 2024
aa9f5e1
Add EL7 compatibility and modules
RedProkofiev Feb 19, 2024
d0261d8
Update usage comments
RedProkofiev Feb 19, 2024
6286126
Update pleaserun setup message
RedProkofiev Feb 19, 2024
62a37c0
Merge pull request #302 from RedProkofiev/nick-301
tofu-rocketry Feb 21, 2024
e182855
Update version numbers for 3.4.0
tofu-rocketry Feb 21, 2024
2e69070
Update changelogs for 3.4.0
tofu-rocketry Feb 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-pkgs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
run: rpmlint ${{ steps.rpm.outputs.rpm_dir_path }}

- name: Upload artifact
uses: actions/upload-artifact@v3.1.3
uses: actions/upload-artifact@v4.3.1
with:
name: Binary and Source RPMs
path: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:

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

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
2 changes: 1 addition & 1 deletion .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
# Build and push Docker image
# https://github.com/docker/build-push-action
name: Build and push Docker image
uses: docker/build-push-action@v5.0.0
uses: docker/build-push-action@v5.1.0
with:
# Only push containers to the registry on GitHub pushes,
# not pull requests. GitHub won't let a rogue PR create a container
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Set up dependencies for python-ldap
Expand Down
9 changes: 7 additions & 2 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
Changelog for ssm
=================
* Wed Feb 21 2024 Adrian Coveney <[email protected]> - 3.4.0-1
- Fixed compatability with newer versions of OpenSSL that only provide comma separated DNs.
- Fixed Python 3 compatability (indirectly fixing EL8+ compatability) by performing explicit
decoding. Note that this limits messages to ASCII as this is the current behaviour.
- Added new build script that handles both RPM and DEB pacakging and later OSes.
- Changed default config file values to bring in line with AMS usage.

* Mon Oct 09 2023 Adrian Coveney <[email protected]> - 3.3.0-1
- Added warning that BDII broker fetching will be deprecated in a future version.
- Added non-zero exit status if sender or receiver crash.
Expand Down
11 changes: 7 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,18 @@ COPY . /tmp/ssm
WORKDIR /tmp/ssm

# Add the EPEL repo so we can get pip
RUN yum -y install epel-release
RUN yum -y install epel-release && yum clean all
# Then get pip
RUN yum -y install python-pip
RUN yum -y install python-pip && yum clean all

# Install the system requirements of python-ldap
RUN yum -y install gcc python-devel openldap-devel
RUN yum -y install gcc python-devel openldap-devel && yum clean all

# Install libffi, a requirement of openssl
RUN yum -y install libffi-devel && yum clean all

# Install the system requirements of ssm
RUN yum -y install openssl
RUN yum -y install openssl && yum clean all

# Install the python requirements of SSM
RUN pip install -r requirements.txt
Expand Down
9 changes: 8 additions & 1 deletion apel-ssm.spec
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
%endif

Name: apel-ssm
Version: 3.3.1
Version: 3.4.0
%define releasenumber 1
Release: %{releasenumber}%{?dist}
Summary: Secure stomp messenger
Expand Down Expand Up @@ -100,6 +100,13 @@ rm -rf $RPM_BUILD_ROOT
%doc %_defaultdocdir/%{name}

%changelog
* Wed Feb 21 2024 Adrian Coveney <[email protected]> - 3.4.0-1
- Fixed compatability with newer versions of OpenSSL that only provide comma separated DNs.
- Fixed Python 3 compatability (indirectly fixing EL8+ compatability) by performing explicit
decoding. Note that this limits messages to ASCII as this is the current behaviour.
- Added new build script that handles both RPM and DEB pacakging and later OSes.
- Changed default config file values to bring in line with AMS usage.

* Mon Oct 09 2023 Adrian Coveney <[email protected]> - 3.3.0-1
- Added warning that BDII broker fetching will be deprecated in a future version.
- Added non-zero exit status if sender or receiver crash.
Expand Down
20 changes: 13 additions & 7 deletions conf/receiver.cfg
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
[receiver]
# Either 'STOMP' for STOMP message brokers or 'AMS' for Argo Messaging Service
protocol: STOMP
protocol: AMS

[broker]

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

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

[messaging]
# If using AMS this is the project that SSM will connect to. Ignored for STOMP.
ams_project:
ams_project: accounting

# Destination to which SSM will listen.
destination: /queue/ssm2test
destination:

# Only use direct token auth with AMS if you've been provided with a token to use.
#token:

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

[logging]
logfile: /var/log/apel/ssmreceive.log
# Available logging levels:
# DEBUG, INFO, WARN, ERROR, CRITICAL
level: INFO
console: false

Expand Down
20 changes: 12 additions & 8 deletions conf/sender.cfg
Original file line number Diff line number Diff line change
@@ -1,17 +1,18 @@
[sender]
# Either 'STOMP' for STOMP message brokers or 'AMS' for Argo Messaging Service
protocol: STOMP
protocol: AMS

[broker]

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

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

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

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

# Only use direct token auth with AMS if you've been provided with a token to use.
#token:

# Outgoing messages will be read and removed from this directory.
path: /var/spool/apel/outgoing
# If 'path_type' is set to 'dirq' (or if 'path_type' is omitted), the supplied
Expand Down
2 changes: 2 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

argo-ams-library
certifi<2020.4.5.2 # Used by AMS (via requests), 2020.4.5.2 dropped support for Python 2
pyopenssl >=19.1.0, <=21.0.0 # 22.0.0 dropped support for Python 2
cryptography==3.3.2 # Crypto dropped support for Python 2 after 3.3
stomp.py<5.0.0
python-daemon<=2.3.0 # 2.3.1 dropped support for Python 2
python-ldap<3.4.0 # python-ldap-3.4.0 dropped support for Python 2
Expand Down
2 changes: 1 addition & 1 deletion scripts/ssm-build-deb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

set -eu

TAG=3.3.1-1
TAG=3.4.0-1

SOURCE_DIR=~/debbuild/source
BUILD_DIR=~/debbuild/build
Expand Down
2 changes: 1 addition & 1 deletion scripts/ssm-build-rpm.sh
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
rpmdev-setuptree

RPMDIR=/home/rpmb/rpmbuild
VERSION=3.3.1-1
VERSION=3.4.0-1
SSMDIR=apel-ssm-$VERSION

# Remove old sources and RPMS
Expand Down
Loading
Loading