For example on BSD you could technically install bash, but chances that it is used as a shell for a services is very small.
* Change the default for the system shell to dash.
* Ship /bin/sh in the package and fix the diversion handling
for it to make sure /bin/sh is always present.
* Set debconf priority to high when upgrading from an existing
system.
Unless the admin has--for some bizarre reason--set debconf to critical; during one of those "regular updates" the admin would have been presented with the following question: The system shell is the default command interpreter for
shell scripts.
Using dash as the system shell will improve the
system's overall performance. It does not alter the shell
presented to interactive users.
Use dash as the default system shell (/bin/sh)?
<Yes> <No>This is a honest question. How could an automated Debian administration process not be aware of and interact on some level with debconf?
EDIT: Indeed, from the same changelog: debian/dash.NEWS.Debian: when upgrading existing installations, the system shell will not be changed automatically (closes:#539363).
Please explain how your automated Debian administration system that has been in place since Lenny[^1] handles unattended dist-upgrades without the use of preseeding the debconf database for questions with a priority of high or critical?
[^1]: Squeeze was February 2011, any new stable installation since squeeze defaulted to dash as /bin/sh
EDIT: Nevermind, I answered my own question, unattended dist-upgrades from Lenny to squeeze is not something you have any experience with: "I'm now using Debian Wheezy, after primarily using Windows environments my entire life." https://news.ycombinator.com/item?id=6564610#up_6565766
Though I'm not suggesting that one shouldn't check their own devices to be safe rather than sure.
However in all cases, I think you'd still be right about Bash not being present.
I hadn't heard of these other Cisco products until yesterday, but from what I read IOS XE and NX OS also run on Linux.
Anyhow, getting back to my original point about FreeBSD, there's a few sources that have linked IOS to FreeBSD. But after doing some digging of my own on this topic, I've come to the conclusion that this is one of those urban legends that's proliferated for whatever reason. So it would seem that you're right about IOS being home rolled. Interestingly though, they do have other products which are FreeBSD powered (eg AsyncOS http://www.cisco.com/c/en/us/products/security/email-securit...) but, as you said, not IOS
Or do they typically also offer some kind of shell (telnet? ssh?) access?
I would consider linux to have more eyes on it, and if I remember correctly, LibreSSL was not infallible (despite all the shaming of OpenSSL folks that went on)
LibreSSL is a fork of OpenSSL - it would not be a huge surprise if there remained OpenSSL bugs in it.
nvm, here's the link-
http://www.theregister.co.uk/2014/07/17/libressl_crypto_bug/
And if you pay attention, you'll notice that this overblown bug was only relevant to Linux. Linux simply lacked some functionality OpenBSD has so they tried to hack a solution into the compatibility layer. So the first one or two preview releases turned out not to be perfect.
OpenBSD was never affected.
Though there were a few other unintended OS-agnostic changes that did actually slip in and were subsequently noticed and corrected.
So when I poke around under /usr/src, I find some utility or daemon or whatever else I haven't looked into before. And I think, oh, that's only a couple k lines of code? I wonder how it works... It just invites me to read.
I get the exact opposite reaction when faced with some system that's 200k lines of code. That looks important, maybe I should audit it.. nah, I don't have the time now. Maybe I'll start tomorrow. Tomorrow comes. Maybe I'll start in the weekend. Weekend comes. Maybe I'll start in two weeks because now I'm busy and next week I'm busy too. Two weeks later, chances are I don't even remember. If I do, I might end up promising myself to take a look at it around next Christmas...
Another thing is that OpenBSD moves slower, and instead of constantly adopting another cool new thing as the new replacement for the old thing that kinda worked but nobody wanted to improve, they seem to put more effort into extending and polishing the old thing that has served well. So there's less code churn, i.e. less new code with new bugs.
I wonder if it would be a reach to say that the average mac user (though when I think about it, a disproportionate amount of those users are probably devs) will hear about this on the news, and assume Apple has their back (which they do, I'm sure they'll force a patch soon if they haven't already) and not even know there's a UNIX system down there