Tue, 8 Sep 2020

10:11 AM - MidnightBSD 1.2.8

There was a security issue in dhclient. We've created new ISOs for 1.2.8 for those installing from scratch.  

If you are on 1.2.7, you can simply update the source from git for stable/1.2 branch and rebuild dhclient.


Tue, 25 Aug 2020

1:23 PM - MidnightBSD 1.2.7

MidnightBSD 1.2.7 is available via the FTP/HTTP and mirrors as well as github.  

It includes several bug fixes and security updates over the last ISO release and is recommended for new installations.  

Users who don't want to updatee the whole OS, should consider at least updating libmport as there are many package management fixes


Mon, 3 Aug 2020

Thu, 9 Jul 2020

12:39 AM - MidnightBSD 1.2.3

MidnightBSD 1.2.3 tag created in git. It only includes updates for 2 third party apps/libs:



Both include security updates.

NOTE: packages built against sqlite3 may be affected. Report issues. it's possibly a breaking change in 1.2.x

You do not need to rebuild everything to update to this release.

Run make clean; make; make install in these directories:





If you don't use the local unbound caching resolver then sqlite3 is the only immediate need.


Fri, 3 Jul 2020

4:26 PM - mport bug

We just discovered a bug with the ca_root_nss port and mport package manager. It seems that the symlink isn't generated correctly in /usr/local/openssl Manual fix for now is cd /usr/local/openssl && ln -s /usr/local/share/certs/ca-root-nss.crt cert.pem This fixes lynx


4:25 PM - Migrating from bugzilla to jira

Bug reporting change: We've migrated from bugzilla to Atlassian Jira. URL hasn't changed. Note: we decided not to migrate old bugs. Most were closed or for very old releases. https://bugreport.midnightbsd.org

Please report issues using the new jira to us. File OS bugs in MidnightBSD project (MNBSD), website bugs in WWW project and mports issues in the mports project.


4:24 PM - Setup multicast dns on midnightbsd using mDNSresponder

MidnightBSD includes mDNSresponder in base. You can configure your local machine to access resources on your local network.  This can be useful to ssh into Apple Mac systems, etc.  This is sometimes called Bonjour.

To see other systems with mdns enabled on your network

Edit /etc/nsswitch.conf and add 
to hosts line.  It should read
hosts: files mdns dns

add mdnsd_enable="YES" to /etc/rc.conf

start mdnsd with service mdnsd start

To advertise services on your local machine

Add mdnsresponder_enable="YES" to /etc/rc.conf

create a new file called /etc/mdnsresponder.conf in /etc/

file contents:

# Example services file parsed by mDNSResponderPosix.
# Lines beginning with '#' are comments/ignored.
# Blank lines indicate the end of a service record specification.
# The first character of the service name can be a '#' if you escape it with
# backslash to distinguish if from a comment line.
# ie, "\#serviceName" will be registered as "#serviceName".
# Note that any line beginning with white space is considered a blank line.
# The record format is:
# . 
# Examples shown below.










4:23 PM - Enable Duo 2FA for SSH on MidnightBSD

Enabling two factor authentication on MidnightBSD for SSH. 

Recently, we added a security/duo port in mports. 

When setting up two factor authentication, we recommend using the login duo setup. It's much easier to get going and we noticed some segfaults with the duo pam module. 


Setup a Duo account

Install the security/duo port.  If you only want to use SSHD, you can avoid the SUID port option.  However, for testing it can be helpful

Obtain the appropriate API host, skey and ikey and add them to the /usr/local/etc/login_duo.conf file.

Fix the permissions on the login_duo.conf file so that they are 600 and owned by sshd if you are only using with SSHD. if you did choose SUID option in the mport, then own by root. 

In the /etc/ssh/sshd_config, you will need to add a line with ForceCommand /usr/local/sbin/login_duo

If you wish to protect all logins, you can leave ForceCommand line global. However, you can also choose to only protect certain users or groups. For instance, if you want to protect the wheel group for admins

Match group wheel 
        ForceCommand  /usr/local/sbin/login_duo

Duo also has instructions on setting up on FreeBSD and this works with MidnightBSD as well. 

Login Duo https://duo.com/docs/loginduo

PAM https://duo.com/docs/duounix

Using it

When logging into ssh the first time, you'll get an activation link that you'll want to load in a browser. It will walk you through configuring your phone.  You'll probably want the duo app installed so you can do push notifications. 

After that, you'll see a menu asking if you want a push as you attempt to ssh into a box.


4:22 PM - Overriding DNS server changes when dhcp is enabled.

By default, /etc/resolv.conf is updated when DHCP is enabled for an interface.  This is useful for WiFi or laptops where you frequently change networks. However, it can be problematic sometimes when different DNS servers are required. 

For static IP addresses, this is not modified automatically. 

Preventing Automatic Config Changes

Methods to try:

Use a static IP address

Make /etc/resolv.conf immutable

Override the dhclient configuration

Turn off resolvconf

Static IP

Simply edit your /etc/rc.conf and replace DHCP in your ifconfig line with a static IP configuration

Immutable resolv.conf

chflags schg /etc/resolv.conf

Override the dhclient config

place the following in /etc/dhclient.conf, but change the name of the interface as appropriate.  This example uses OpenDNS with an Intel Gigabit NIC. 

interface "em0" {

    supersede domain-name-servers,;


You will need to restart the dhclient for changes to take effect. 

service dhclient restart em0

Disable resolvconf(8)

Create a file 


Place this in the file




Sun, 29 Mar 2020

5:22 PM - MidnightBSD 1.3-CURRENT

New development is progressing on 1.3-CURRENT. it's recommended that users avoid it and stick with stable branches for now.


Sat, 14 Dec 2019

3:52 PM - Elasticsearch on MidnightBSD

If you're trying to run a recent elasticsearch such as 6.x on midnightbsd, you may find it doesn't startup.  

Try adding the following to /usr/local/etc/elasticsearch/elasticsearch.yml:

xpack.ml.enabled: false

bootstrap.system_call_filter: false


Thu, 7 Nov 2019

2:07 PM - MidnightBSD 1.2 now available

MidnightBSD 1.2 release is now available. It's a security and bug fix release. 

Most of the focus was on mports and base system third party libraries.


Sun, 20 Jan 2019

1:20 AM - Roadmap

A lot of people have been curious what our plans are for this year.  I've also had a lot of bug reports lately. 

First, the plan is to release 1.1 in the next few weeks. This is mostly a security update with new versions of several popular software packages. It will be a small update from 1.0.  As a result of this work, plans for package manager changes have been pushed to 1.2 along with the related installer work. 

In terms of ports, we plan on looking into the flavors feature available in FreeBSD and other BSDs ports systems. Some of the plumbing has already been put into the package manager to support this. However, it will take a bit more work as there are modifications needed for our package cluster software to handle it. 

The package cluster software is getting rewritten currently. 

At the time of the 1.0 release, there were a lot of outdated packages. We've since fixed several and updated many gnome related ports. Qt5 updates are still on the todo list.  It was also determined that there are problems with python ports as more things are transitioning to python 3.x.  This requires the flavors work or a bunch of py3 ports to be created. 

On the browser front, epiphany and midori were updated last month along with some of the webkit ports. The firefox port is partially done, but stalled on badly needed compiler updates and patches. 

Work was started on porting LLVM properly, but complications arose upstream.  We didn't get a hard no, but a soft no along with needs for a build cluster node for their project. If someone is willing to donate this or time to help with getting upstream patches, that would be quite helpful. Proper LLVM/CLANG ports are needed at a starting point to get Rust and other languages working more easily. This is a top blocker for really solving long term browser support issues. 

We need help getting patches upstreamed with various projects.


1:10 AM - OpenSSL 1.0.2p imported

MidnightBSD 1.1-CURRENT now has OpenSSL 1.0.2p rather than the 1.0.1 verisons. 

Ideally, we will need to get 1.1.1 in, but that will take a lot more work in userland. 

Anything built against the system OpenSSL should be rebuilt.  Many ports should not be affected.  

In light of other changes in the last 24 hours, it's ideal to rebuild world completely if you're running current.


Sat, 19 Jan 2019

11:38 AM - 1.1-CURRENT updates

mksh R56C and OpenSSH 7.5p1 are now in current.  The latter removes support for the legacy v1 protocol.  

Several bugfixes were done related to MSI-X allocation and for intel gigabit network cards.  (em/igb)


Sat, 8 Dec 2018

3:26 PM - mport package manager configuration feature added

New feature in current mport package manager:

mport config get lets you see a setting configured.

mport config set lets you set a setting.

This allows you to configure the region that you want to download packages from.