dhcpcd-7.2.0 has been released with the following changes of note:
- build: latest gmake-3 works once more
- build: exits on error in a subdir
- BSD: PF_LINK sockets now closed when no longer needed
- BSD: Fix detecting interface for scoped routes
- Solaris: Many, many, many fixes - pretty much works now
- script: Allow "" to mean /dev/null
- script: Add static routers and routes to env
- DHCP: outbound interface is no longer dictated with IP_PKTINFO
- DHCP: BPF sockets now closed when no longer needed
- DHCPv6: Allow nooption dhcp6_unicast to work
- DHCPv6: Don't spam syslog if we always get the same error
- route: Log pid which deleted routes of interest
Sorry for the longer delay than normal in getting this release out. Anwyay, this is likely the last feature release from the -7 branch. Just minor bug fixes and any security issues from this point. A dhcpcd-7 branch has now been created for maintainance.
A minor update, highlights include:
- IPv4LL: Fixed build with this disabled
- IPv4LL: Remember last address between carrier resets
- BSD: Fixed initial link infos reported as LINK_STATE_UNKNOWN
- FreeBSD: Avoid panicing kernel when RTA_IFP is set for IPv6 prefix routes
dhcpcd-7.1.0 has been released with the following changes:
- OpenBSD: works alongside slaacd(8)
- NetBSD: sets SO_RERROR on to detect receive socket overflow
- BSD: route improvements to avoid listening for own changes
- Linux: use NETLINK_BROADCAST_ERROR
- BSD: avoid late address deletion messages by testing address existance
- IP6: implement IP6 address sharing
- BSD: catch UP/DOWN events when interfaces does support media changes
- IPv4LL: remember old address when carrier is lost
Many other minor fixes and documenation updates have been submitted by various community members for this release which is nice to see :) IP6 address sharing requies the kernel to avoid IPv6 ND messages from itself via nonce matching and/or hardware address matching because all kernels handle IP6 Duplicate Address Detection.
In my continuing efforts to entirely self host, fighting spam is hard. I originally configured SpamAssassin on my mail server quite a few years ago, and to be fair it has done it's job. But recently, more spam has been creeping through and my ever growing stack of addons (such as policyd-spf, OpenDKIM, OpenDMARC and others) to SA was eating quite a lot of memory on my poor server.
So I shopped around and found Rspamd. For my needs it sounded wonderful - no more need for MySQL (it's a hard dependency of OpenDMARC) as I much prefer PostgreSQL. SPF, DKIM and DMARC all integrated. Written in C and LUA which is a massive improvement over Perl and Python. Also sports a shiny Web UI to monitor the server and do basic config. Speaking of config, it's still not entirely easy, but it's much easier than configuring the stack I used to have! I did have to patch the build so that it works with OpenSSL-1.1 which is now in pkgsrc. All in all, I anticpated a nice memory reduction once I had it all configured. So far it's using about 200Mb less memory, but it's early days. How much better or worse than SA it is at actual spam filtering remains to be seem, but I have high hopes.
While here, I also replaced procmail with PigeonHole. I didn't really need to do this, but I thought "As I'm here.....". Actually the end result is much nicer as I now only have one Spam folder instead of another two Spam folders for training ham and spam. I just need to hook this final part into how I manage spam on my mlmmj email lists.
I implemented ripoffline(3) in NetBSD and it shipped in -8. It now transpires there were a few problems with the implementation, mainly in regards to screen resizing, which is an extension to POSIX, but supported by ncurses and PDCurses.
Many improvements have been made with regards to compability with NetBSD and the others, but there are the following caveats:
- NetBSD will only resize stdscr, curscr and virtscr windows (like PDCurses)
- NetBSD clears the window when resized
- NetBSD will re-size and re-position the ripped off lines (like ncurses)
- NetBSD will not change LINES when ripoffline is called and may offset stdscr to it's relative position on the screen. This means that portable application should check getbegyx and getmaxyx for the size and location of stdscr.
The expectation is that the client will re-draw all windows, including ripped off windows on a KEY_RESIZE event. It's also expected that the client will re-size any other windows as it has a clearer idea of where things should be on the screen to it's proportion rather than curses guesstimating.