OpenBSD Journal

OpenBSD Journal

Introducing dhcpleased(8)

Contributed by Pamela Mosiejczuk on from the please dhcpleased me dept.

Now enabled by default on OpenBSD -current is dhcpleased(8), a dynamic host configuration protocol daemon written by florian@ (Florian Obser), who spoke with us about his work:

I suppose this is either the KAME project's fault, or if we don't want to go that far back, Theo's fault. At g2k16 he floated the idea of a network configuration daemon. It would collect "proposals" for IP addresses, default routes and DNS configuration from various sources (DHCP, IPv6 router advertisements, umb(4), etc.), make some policy decisions, configure the network, and set resolv.conf(5)

Read more…

Progress in support for the riscv64 platform

Contributed by rueda on from the still-waiting-for-*my*-hardware dept.

Since our previous report, there has been significant progress on support for riscv64:

As always, thanks to those involved!

Opening a Garage Door Using OpenBSD on a Raspberry Pi

Contributed by Sven G on from the who let the dogs out dept.

Sven G is back with another tale of using a Raspberry Pi in his garage:

OpenBSD lets one control the GPIO pins on a Raspberry Pi. Controlling a garage door is simple: connect the GPIO output pin to one side of a relay's coil, connect the 5 volt output of the Pi to the other side of the relay's coil, and connect wires from your garage's wall console to the relay's common and "normally closed" ports. Running the program below opens or closes the door. Since the Pi will be connected to the garage wall console, you'll want to enable sshd. I've named my Pi "garage" and my program "og," so I can open the door remotely with

ssh garage /home/sven/bin/og

Read more…

The state of toolchains in OpenBSD

Contributed by rueda on from the chained-to-the-tools dept.

Frederic Cambus (fcambus@) has blogged about the recent history and current state of toolchains on OpenBSD.

It provides a good explanation of how and why things got to where they stand.

OpenBSD 6.9 released

Contributed by Peter N. M. Hansteen on from the spiky for the 50th dept.

The OpenBSD project has released OpenBSD 6.9, the project's 50th release. As usual the release page offers highlights, installation and upgrade instructions as well as links to other resources such as the detailed changelog.

Notable improvements include, but are not limited to

Those upgrading from 6.8 or earlier releases should consult the Upgrade Guide.

Thanks to the developers for all the good work that went into this excellent new release!

While your install sets download or when your packages update, please take the time to look at and use one or more of the recommended ways to support the project, such as making a donation. You can also get merchandise and help OpenBSD visibility. Corporate entities may prefer sending some money in the direction of the OpenBSD Foundation, which is a Canadian non-profit corporation.

Initial Support for the riscv64 Architecture

Contributed by rueda on from the now-where's-my-hardware? dept.

With the following commit, Dale Rahn (drahn@) imported initial support for the 64-bit RISC-V architecture:

Module name:	src
Changes by:	2021/04/22 20:42:17

Added files:
	sys/arch/riscv64: Makefile 
	sys/arch/riscv64/compile: Makefile 
	sys/arch/riscv64/compile/GENERIC: Makefile 
	sys/arch/riscv64/compile/RAMDISK: Makefile 
	sys/arch/riscv64/conf: GENERIC Makefile.riscv64 RAMDISK 
	                       files.riscv64 kern.ldscript 
	sys/arch/riscv64/dev: mainbus.c mainbus.h plic.c plic.h 
	                      riscv_cpu_intc.c riscv_cpu_intc.h 
	                      simplebus.c simplebusvar.h timer.c timer.h 
	sys/arch/riscv64/include: _float.h _types.h asm.h atomic.h 
	                          bootconfig.h bus.h cdefs.h conf.h 
	                          cpu.h cpufunc.h db_machdep.h 
	                          disklabel.h elf.h endian.h exec.h 
	                          fdt.h fenv.h frame.h ieee.h ieeefp.h 
	                          intr.h kcore.h limits.h 
	                          loadfile_machdep.h mutex.h param.h 
	                          pcb.h pmap.h proc.h profile.h pte.h 
	                          ptrace.h reg.h reloc.h riscv64var.h 
	                          riscvreg.h sbi.h setjmp.h signal.h 
	                          softintr.h spinlock.h syscall.h tcb.h 
	                          timetc.h trap.h vmparam.h 
	sys/arch/riscv64/riscv64: ast.c autoconf.c bus_dma.c bus_space.c 
	                          conf.c copy.S copyinout.S copystr.S 
	                          cpu.c cpufunc_asm.S cpuswitch.S 
	                          db_disasm.c db_interface.c db_trace.c 
	                          disksubr.c fpu.c intr.c 
	                          locore.S locore0.S machdep.c mem.c 
	                          pagezero.S pmap.c process_machdep.c 
	                          sbi.c sig_machdep.c softintr.c 
	                          support.S syscall.c trap.S 
	                          trap_machdep.c vm_machdep.c 

Log message:
Initial import of OpenBSD/riscv64

This work is based on the effort:
"Porting OpenBSD to RISC-V ISA"
Brian Bamsch <>
Wenyan He <>
Mars Li <>
Shivam Waghela <>

With additional work by Dale Rahn <>

Congratulations and thanks to all involved!

My Dog's Garage Runs OpenBSD

Contributed by Sven G on from the it's supposed to be fish, not dogs dept.

We received a contribution from Sven G, about checking the temperature in the garage where his dog sleeps with OpenBSD:

listener at 85 degrees on alert since relay on talker is offI was inspired by the April 2017 article in about getting OpenBSD running on a Raspberry Pi 3B+. My goal was to use a Raspberry Pi running OpenBSD to monitor the temperature in my garage from my home. My dog has his own little "apartment" inside the garage, so I want to keep an eye on the temperature. (I don't rely on this device. He sleeps inside the house whenever he wants.)

If anything seems wrongheaded, please chalk it up to a frothy mixture of enthusiasm, ignorance, stubbornness, and "just-because-I-wanted-to-do-it-this-way-ness."

Read more…

A working D compiler on OpenBSD

Contributed by rueda on from the Ds-are-good dept.

Dr. Brian Robert Callahan (bcallah@) blogged about his work in getting D compiler(s) working under OpenBSD.

The first paragraph reads:

I got GDC, the GNU D Compiler, working on OpenBSD. Supporting D has been a very long time coming. Here's the story of how we got here and where we need to go next.

Read the full post for all the details, including an explanation of why there isn't yet a port.


Donate to OpenBSD


We are constantly on the lookout for stories of how you put OpenBSD to work. Please submit any informative articles on how OpenBSD is helping your company.

OpenBSD Errata

OpenBSD 6.9

0122021-08-04 RELIABILITY A missaligned address could trigger a kernel assert and panic the kernel.
0112021-07-25 SECURITY On mips64, the strchr/index/strrchr/rindex functions in libc handled signed characters incorrectly.
0102021-07-25 SECURITY relayd(8), when using the the http protocol strip filter directive or http protocol macro expansion, processes format strings.
0092021-06-25 RELIABILITY During config reloads prefixes of the wrong address family could leak to peers resulting in session resets.
0082021-06-09 SECURITY vmd guests could cause stack overflows by crafting malicious dhcp requests when using local interfaces.
0072021-06-08 RELIABILITY Disable PPGTT on Intel machines with cherryview/braswell graphics to avoid memory corruption.

Unofficial RSS feed of OpenBSD errata


Users wishing RSS/RDF summary files of OpenBSD Journal can retrieve: RSS feed

Options are available.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]