Skip to content

Commit

Permalink
Prep for 1.0.0rc0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
flowerysong committed Oct 15, 2024
1 parent 11b8f6d commit f0919d3
Show file tree
Hide file tree
Showing 7 changed files with 95 additions and 31 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/build-dist.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: build-dist
on:
push:
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
with:
path: openarc
fetch-depth: 0

- name: apt update
run: sudo apt update

- name: Install dependencies
run: sudo apt install libbsd-dev libmilter-dev libssl-dev

- name: Build dist tarball
run: |
autoreconf -fiv
./configure
make release
working-directory: ${{ github.workspace }}/openarc

- name: Save dist files
uses: actions/upload-artifact@v4
with:
name: dist
path: ${{ github.workspace }}/openarc/openarc-*
49 changes: 49 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Changelog

All notable changes to this project will be documented in this file.

## 1.0.0rc0 - 2024-10-15

Changes since the last Trusted Domain Project release.

### Added

- Test suite.
- libopenarc - Support for custom resolvers.
- milter - `UMask` configuration option.
- milter - `TestKeys` configuration option.
- milter - `PermitAuthenticationOverrides` configuration option.

### Changed

- OpenSSL < 1.0.0 is no longer supported. OpenSSL 3 is.
- libopenarc - The RFC 8601 limit of 50 ARC sets is respected.
- milter - Trace headers are inserted at index 0 instead of index 1.
- milter - Verify mode can be used without configuring signing-specific options.
- milter - The current ARC validation state is always added to
`ARC-Authentication-Results`.

### Fixed

- Multiple buffer overruns.
- libopenarc - The "t" flag on seals is optional.
- libopenarc - `arc_chain_custody_string()` no longer returns an empty first
field.
- libopenarc - Previous ARC sets are still validated in sign mode.
- libopenarc - Key lookups respect the algorithm specified in the seal instead
of always rejecting keys with "h=sha256".
- libopenarc - `arc_set_cv()` can ignore attempts to set an invalid chain status.
- libopenarc - `ARC-Authentication-Results` now uses "none" to indicate a lack
of authentication results, as required by RFC 8601.
- libopenarc - `ARC_QUERY_FILE` is now usable.
- libopenarc - `arc_header_field()` will now reject invalid ASCII characters,
as intended.
- milter - Log messages about the chain validation state use human-readable
strings for the state.
- milter - general overhaul of `Authentication-Results` parsing and
`ARC-Authentication-Results` generation, fixing multiple issues.
- milter - Removed incorrect reference count assertion.
- milter - Large ARC header sets are not truncated.
- milter - `MaximumHeaders` configuration option now has an effect.
- milter - Multiple arc `Authentication-Results` from the local authserv-id no
longer forces the chain to fail.
22 changes: 5 additions & 17 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
ACLOCAL_AMFLAGS = -I m4

SUBDIRS = contrib . test
dist_doc_DATA = LICENSE LICENSE.Sendmail README.md RELEASE_NOTES
dist_doc_DATA = LICENSE LICENSE.Sendmail README.md CHANGELOG.md
dist_noinst_SCRIPTS = libtool

DISTCLEANFILES = openarc-@[email protected] libopenarc/symbols.map *.gcno *.gcda
Expand Down Expand Up @@ -94,29 +94,17 @@ openarc_openarc_LDFLAGS = $(LIBCRYPTO_LIBDIRS) $(LIBMILTER_LIBDIRS) $(PTHREAD_CF
openarc_openarc_LDADD = libopenarc/libopenarc.la $(LIBMILTER_LIBS) $(LIBCRYPTO_LIBS) $(PTHREAD_LIBS) $(LIBJANSSON_LIBS) $(LIBRESOLV)
endif

$(DIST_ARCHIVES): distcheck

$(DIST_ARCHIVES).md5: $(DIST_ARCHIVES)
md5 $? > $@ || md5sum $? > $@

$(DIST_ARCHIVES).sha1: $(DIST_ARCHIVES)
sha1 $? > $@ || sha1sum $? > $@
sha1sum $? > $@

$(DIST_ARCHIVES).asc: $(DIST_ARCHIVES)
gpg -a -u [email protected] --detach-sign $?
$(DIST_ARCHIVES).sha256: $(DIST_ARCHIVES)
sha256sum $? > $@

push: $(DIST_ARCHIVES) $(DIST_ARCHIVES).sha1 $(DIST_ARCHIVES).md5 $(DIST_ARCHIVES).asc
@echo "Are you sure you want to tag and release $(DIST_ARCHIVES)? (y/n)"
@read confirm && [ $$confirm = 'y' ]
git tag rel-openarc-`echo $(VERSION) | sed 's/\./-/g'`
git push --tags
release: dist $(DIST_ARCHIVES) $(DIST_ARCHIVES).sha1 $(DIST_ARCHIVES).sha256

dist-hook:
[ -f $(distdir)/libopenarc/arc.h ] && rm -f $(distdir)/libopenarc/arc.h
sed -e '/OPENARC_LIB_VERSION/s/0x[0-9]*/0x@HEX_VERSION@/' < $(srcdir)/libopenarc/arc.h > $(distdir)/libopenarc/arc.h
echo "looking to see if @VERSION@ is in the RELEASE_NOTES"
fgrep @VERSION@ $(srcdir)/RELEASE_NOTES
sed -e 's|\(@VERSION@[ \t]*\)[0-9?]\{4\}\(/[0-9?]\{2\}\)\{2\}|\1'`date +%Y/%m/%d`'|' < $(srcdir)/RELEASE_NOTES > $(distdir)/RELEASE_NOTES

rpm: dist-gzip
rpmbuild -ta $(distdir).tar.gz
Expand Down
7 changes: 0 additions & 7 deletions RELEASE_NOTES

This file was deleted.

11 changes: 6 additions & 5 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,23 @@ AC_PREREQ(2.61)
m4_define([VERSION_RELEASE], 1)
m4_define([VERSION_MAJOR_REV], 0)
m4_define([VERSION_MINOR_REV], 0)
m4_define([VERSION_PATCH], 0)
# leave this empty for an actual release
m4_define([VERSION_PRE], [rc0])

#
# Library version
# - bump "current" and reset "revision" with API changes
# - bump "revision" with internal source code changes
#
m4_define([LIBVERSION_CURRENT], 0)
m4_define([LIBVERSION_REVISION], 0)
m4_define([LIBVERSION_REVISION], 1)
m4_define([LIBVERSION_AGE], 0)

#
# Autotools setup
#
AC_INIT([OpenARC],
[VERSION_RELEASE.VERSION_MAJOR_REV.VERSION_MINOR_REV],
[m4_join([], VERSION_RELEASE.VERSION_MAJOR_REV.VERSION_MINOR_REV, VERSION_PRE)],
[[email protected]])

AC_CONFIG_AUX_DIR([build-aux])
Expand All @@ -42,9 +43,9 @@ AC_CONFIG_MACRO_DIR([m4])
LT_INIT

#
# Hexadecimal version, for use in generating dkim.h
# Hexadecimal version, for use in generating arc.h
#
HEX_VERSION=$(printf %08x $(( ((VERSION_RELEASE << 8 | VERSION_MAJOR_REV) << 8 | VERSION_MINOR_REV) << 8| VERSION_PATCH )))
HEX_VERSION=$(printf %08x $(( ((VERSION_RELEASE << 8 | VERSION_MAJOR_REV) << 8 | VERSION_MINOR_REV) << 8 )))
AC_SUBST([HEX_VERSION])

#
Expand Down
2 changes: 1 addition & 1 deletion contrib/spec/openarc.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ exit 0

%files
%license LICENSE LICENSE.Sendmail
%doc README.md RELEASE_NOTES %{name}/%{name}.conf.sample
%doc README.md CHANGELOG.md %{name}/%{name}.conf.sample
%dir %attr(0755,root,%{name}) %{_sysconfdir}/%{name}
%config(noreplace) %attr(0644,root,%{name}) %{_sysconfdir}/%{name}.conf
%config(noreplace) %attr(0440,%{name},%{name}) %{_sysconfdir}/%{name}/PeerList
Expand Down
2 changes: 1 addition & 1 deletion test/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
EXTRA_DIST = files pytest.ini *.py
EXTRA_DIST = files/*.conf files/peerlist* pytest.ini *.py

check:
pytest -vv

0 comments on commit f0919d3

Please sign in to comment.