<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://dev1galaxy.org/extern.php?action=feed&amp;tid=6058&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[Dev1 Galaxy Forum / Smoothwall Express]]></title>
		<link>http://dev1galaxy.org/viewtopic.php?id=6058</link>
		<description><![CDATA[The most recent posts in Smoothwall Express.]]></description>
		<lastBuildDate>Fri, 06 Oct 2023 03:39:18 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[Smoothwall Express]]></title>
			<link>http://dev1galaxy.org/viewtopic.php?pid=44730#p44730</link>
			<description><![CDATA[<p>[I type a lot and have lots of thoughts, so this will be kind-of long.]</p><p>I&#039;m the Smoothwall Express project leader. I had the temerity back in the early teens to modernize v3.0; in 2014, the project was plopped in my lap. Oops; I was just trying to be a nice guy. <img src="http://dev1galaxy.org/img/smilies/smile.png" width="15" height="15" alt="smile" /> I updated much of the software (around 250 packages), fixed many latent bugs (many found while looking for something else [scroll, scroll, scroll, wait, what was that? Off-by-one? Oho! *That* explains that instability. Fix. Now where was I?]), fixed and twerked the web UI, made the build system re-entrant, make it installable and usable in VMs, and did other things. Through 11 updates in the following six years. The result has been a rock-stable firewall that runs for years without problems (for most users; a few have encountered oddities that I haven&#039;t yet figured out).</p><p>Smoothwall Express is a purpose-built firewall. The software is deliberately limited to minimize attack vectors. It was, and continues to be, designed for non-experts to use.</p><p>I&#039;m attempting to &#039;port&#039; Smoothwall Express to Devuan for two primary reasons. I despise systemd and the black hole it has become. Second, I just can&#039;t keep up with the changes to foundation pkgs (binutils, gcc, linux, etc.); it takes me far too long to update them. In time, I&#039;ll create a derivative of Devuan that is a, mmm, subset of Devuan, but makes use of Devuan&#039;s security updates.</p><p>So, I want to use Devuan. And it hasn&#039;t been so easy. I&#039;m finally making some progress in making a smoothwall-express .deb that has dependencies for everything it uses by default (the usual instruction in the Debian documentation is &#039;find a similar package and adapt it for your purpose&#039; which is rather less than useful. Alas, there are no pkgs (that I&#039;ve found) similar to what I want to do. Debuild creates a .deb that mostly works; presently it stumbles when it tries to replace files that other pkgs have installed (inittab, dnsmasq.conf, et alia). Is there a recommended way to do that without having to worry about updates wiping out my changes?</p><p>Eventually, I&#039;ll have to change a lot of stuff to do it &#039;the modern way&#039;. (It was open-sourced over 20 years ago, and sort-of based on linux-from-scratch.) For now, I&#039;m trying to avoid having to do *everything* all at once. There are a few smoothwall-specific programs in use; the UI handles most of the daemon/feature controls via a setuid daemon that restricts access to things that require root access.</p><p>There is no desktop environment; I&#039;d even eliminate dbus if I could. There are two users defined: &#039;root&#039; and &#039;nobody&#039;. I wish to build on others&#039; work (Devuan) so I can concentrate on improving and expanding the firewall and filter capabilities.</p><p>So, are there any references that would help me figure out how to do what I&#039;m trying to accomplish? Words of wisdom? Words of encouragement?</p><p>Neal</p><p>----</p><p>One thing I&#039;ve been pondering for more than a few years is to extend sysvinit. The first computer I bought, in 1986, was an AT&amp;T UNIX PC (SysV, demand-paged virtual memory, loadable drivers, etc.); I taught myself UNIX, C and KSH on it (which took a while because they are very different from TOPS-20, AOS/VS and VMS and the languages I knew up to that point). I&#039;ve often wondered why no one ever used sysvinit the way it was intended: to start and control daemons and keep them running. Rather, they just used the Berzerkely way.</p><ul><li><p>Extend inittab&#039;s &#039;ID&#039; field to near-arbitrary length so daemons can be referenced by their names</p></li><li><p>Expand the run levels to 256 (levels 2-5 and 7-10 would be dead; 0, 1 and 6 would retain their traditional meanings)</p></li><li><p>All daemons in a run level would be started in parallel</p></li><li><p>Add command line options to init/telinit to stop/start/restart/enable/disable daemons, and extend that field in inittab</p></li><li><p>&amp;cetera</p></li></ul><p>This would, of course, mean that daemons would not be allowed to daemonize themselves; their stdout and stderr would have to be dumped or directed to log files. Signals would have to be well-handled so daemons cannot interfere with each other. I know, &#039;tis a silly notion.</p>]]></description>
			<author><![CDATA[dummy@example.com (fest3er)]]></author>
			<pubDate>Fri, 06 Oct 2023 03:39:18 +0000</pubDate>
			<guid>http://dev1galaxy.org/viewtopic.php?pid=44730#p44730</guid>
		</item>
	</channel>
</rss>
