Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
README.md | 2025-10-06 | 9.5 kB | |
v2.2.0-alpha.tar.gz | 2025-10-06 | 5.1 MB | |
v2.2.0-alpha.zip | 2025-10-06 | 5.1 MB | |
Totals: 3 Items | 10.2 MB | 2 |
2.2-alpha "Bad Woerishofen" : 06-Oct-2025 NOTES: This release was made possible due to extensive contributions by additional developers mentioned in the AUTHORS file.
ADDED FEATURES: - Finally, the "posting allowed" flag is considered in POST :) - New configuration with dedicated connectors. - TLS 1.0-1.3 with native connectors and STARTTLS (including mTLS and CRL), thanks to Sven Liebert (@SvenLie). Also massive thanks to Michael Dunsky and Christoph Grill for their contributions on the TLS implementation of WendzelNNTPd! - Docker environment for development purposes was provided by @SvenLie -- thanks for that! - Add Docker image for production use (thanks to @oleludwig) - EXPERIMENTAL: - EXP: Added Postgres database support (experimental), thanks to Christian Barthel for providing a massive patch! - EXP: Added option to store unique message ID and message body in the DB (postgres only), thanks to Christian Barthel for providing the patch! - Added packages for several Linux distributions via openSUSE build service -- thx to @oleludwig.
FIXES:
- Fixed some memory leaks during postings that would occur on rather rare errors.
- Fixed two buffer overflows of PR#44; thanks to @oleludwig
- Once xhdr requested "date", all following responses were interpreted as "date" format, too. Solved this by resetting inf->speccmd = 0;
- Make sure that Sqlite3 statements with quotes are double-escaped to prevent SQL injections. *** security fix ***
- Fix database check in src/include/main.h, thx to @Christian Barthel.
- Improved error handling in multiple locations.
- Fix OpenBSD compiler error and use cc instead of gcc under Open/Net/ FreeBSD.
- Signal handler was improved. Some uncaught signals killed the server (thanks to @SvenLie)
- Fix the password hashing function. The last character of the password is no longer truncated and the hash is correctly converted to the hexadecimal representation. User databases need to be re-generated using wendzelnntpadm, see `upgrade' instructions in the documentation. Thanks to @oleludwig for sending the patch.
- Fix the SQL script mysql_db_struct.sql (thanks to @oleludwig):
- Increase the size of the password column in the users table to 64 to be big enough for the password hashes
- Use unique names for the foreign key constraints to avoid the error (errno: 121 "Duplicate key on write or update")
- change the type of the of the header column in the postings table from VARCHAR to TEXT to stay under the limit of 16383 characters per column on databases which use the charset utfmb4 with 4 bytes per character
- Fix the detection of %z support in strftime for systems using gcc14 or newer.
- Fix the detection of the PostgreSQL client library on openSUSE
- Fix some errors when compiling and executing wendzelnntpd on a 32 bit system but with 64 bit time_t.
- Fix the usage output of the script create_certificate.
- Fix formatting in the man page for wendzelnntpadm.
MISC:
- Applied NetBSD pkgsrc patch for err feature and for lexer/parser functions from Michael Baeuerle; thx for that! (reference: https://github.com/jgoerzen/libnbcompat)
- Applied NetBSD pkgsrc patch to handle VERSION macro definition that is also introduced by libmash from Michael Baeuerle; thx for that!
- Updated SBo script to work with v. 2.1.3; fixed bug that made /usr/doc/wendzelnntpd-$ver/docs inaccessible (+x permission was missing)
- Shifted manpages to docs/
- Prevent usernames with non-alphanumeric characters and newsgroups with non-alphanumeric/./- letters.
- Whitespacing cleanup (thanks to @Christian Barthel for providing a patch!)
- 'configure' script enhancements and cleanup (thanks to @Christian Barthel for providing a patch to the previous configure script).
- Tried clang instead of gcc, just for fun. Seems to work if you just replace "gcc" with "clang" in Makefile.inc. Note that clang is not officially supported.
- Fixed some typos in CHANGELOG and HISTORY files.
- Improved the documentation.
- Installed atomic switches for SIGTERM and SIGHUP. It is now a stateful kill. SIGHUP can be used to signal conditions in future. Thanks to @SvenLie for the patch.
- Rewrite the configure-script with autoconf (thanks to @oleludwig):
- Generate configure with autoconf from autoconf.ac.
- License autoconf.ac under GPLv3 like the rest of the project.
- Replace Makefile and Makefile.inc with Makefile.in. The Makefile is generated by configure from Makefile.in.
- Use macros from the Autoconf Macro Archive in configure.ac for the detection of compile flags, the mysql, postgresql, sqlite3 and openssl libraries and for bison and pthread support and place the macros in the m4 subdirectory.
- Features are now enabled/disabled by CLI flags instead of environment
variables:
- --disable-sqlite replaces SQLITE=NO
- --disable-mysql replaces MYSQL=NO
- --disable-tls replaces TLS=NO
- --enable-postgres replaces POSTGRES=YES
- Compiler optimizations (-O2) are enabled by default when compiling with gcc.
- The Makefile uses standardized variables from autoconf for the
compiler flags and installation directories like @sysconfdir@ for the
configfiles, @sbindir@ for the binaries, @docdir@ for the
documentation and @mandir@ for the manfiles.
- Use @sysconfdir@ instead of CONFDIR
- Use $(DESTDIR)$(sysconfdir) instead of FAKECDIR
- The Makefile uses variables from autoconf for calling the install program in the install target. The variables can be overridden.
- Define the versionnumber and releasename in configure.ac instead of main.h.
- Add some files to .gitignore which are autogenerated by the configure script and some autotools. Remove the obsolete entry for Makefile.inc.
- Adapt the github actions workflow and the reflex.conf to the changed configure script.
- Separate the variable UDBFILE in the Makefile into UDBFILE and UDBPATH and use the UDBPATH in more places, to make it possible to install the database to another location, by overriding the variable when calling make (thanks to @oleludwig).
- Separated the DESTDIR variable in the Makefile into DESTDIR (empty by default and only included in the Makefile, not in configure) and prefix (/usr/local by default and overridable when calling configure or make), (thanks to @oleludwig)
- Combine CFLAGS and BUILDFLAGS into CFLAGS in the Makefile.
- Do not change the permissions for files and directories with chmod anymore. Pass for example "-m 0700" to the install command if special permissions are needed or leave it out if the defaults from @INSTALL_PROGRAM@ and @INSTALL_DATA@ are enough. This makes it possible to change the behavior by overriding the variables for INSTALL_PROGRAM and INSTALL_DATA (thanks to @oleludwig).
- Do not change the owner and group of the created files and directories in the make install target. This change makes it possible to run "make install" without root rights by setting the DESTDIR to a path owned by the user (thanks to @oleludwig).
- New make target to create the init.d_script by replacing the daemon-path with a variable from autoconf (thanks to @oleludwig).
- Remove the getver.sh script. The make target print_version uses variables from autoconf instead (thanks to @oleludwig).
- Use "-n" instead of "-g" as the flag for the sort command in the Make target count because it is standardized and results in the same sorting (thanks to @oleludwig).
- Also update the manpages when calling "make upgrade" (thx @oleludwig).
- Refactor make targets lex.yy.o and config.tab.o to avoid build failures when lex.yy.c got deleted and avoid unnecessary recompilations (thanks to @oleludwig).
- Add extensive tests for wendzelnntpd and wendzelnntpadm covering all supported NNTP commands and all commands of wendzelnntpadm (thanks to @oleludwig)
- Execute the tests on some Linux and BSD distributions and on different architectures (thanks to @oleludwig).
- Improve the detection of root privileges in the script create_certificate (thanks to @oleludwig).
- Switch license of the file wendzelnntpd.SlackBuild to GPLv3
- Migrate the source code of the documentation from latex to markdown. Generate the HTML version of the documentation with mkdocs and make it available under https://cdpxe.github.io/WendzelNNTPd/. Generate the PDF version of the documentation with pandoc and make it available under https://cdpxe.github.io/WendzelNNTPd/docs.pdf. (thanks to @oleludwig)
- Move wendzelnntpd.conf into the subdirectory wendzelnntpd together with the SSL certificates, so the new default location for wendzelnntpd.conf is /usr/local/etc/wendzelnntpd/wendzelnntpd.conf.
- Add systemd service unit for wendzelnntpd (thanks to @oleludwig)
- Change installation paths for usenet.db_struct and mysql_db_struct.sql from /usr/local/share/docs to /usr/local/share/wendzelnntpd
- Add man pages for create_certificate and wendzelnntpd.conf (thanks to @oleludwig)
- MySQL is also supported on BSD systems (thanks to @oleludwig)