Annotation of www/innovations.html, Revision 1.53
1.1 schwarze 1: <!DOCTYPE html>
1.34 schwarze 2: <html lang="en">
1.1 schwarze 3: <head>
4: <meta charset="UTF-8"/>
1.33 tj 5: <title>OpenBSD: Innovations</title>
1.31 deraadt 6: <meta name="viewport" content="width=device-width, initial-scale=1">
7: <link rel="stylesheet" type="text/css" href="openbsd.css">
1.35 tb 8: <link rel="canonical" href="https://www.openbsd.org/innovations.html">
1.1 schwarze 9: </head>
10:
1.31 deraadt 11: <body bgcolor= "#ffffff" text= "#000000">
12:
13: <h2>
14: <a href="index.html">
15: <i><font color="#0000ff">Open</font></i><font color="#000084">BSD</font></a>
16: <font color="#e00000">Innovations</font>
1.32 tj 17: </h2>
1.31 deraadt 18: <hr>
1.32 tj 19: <p>
20:
1.43 tj 21: This is a list of software and ideas developed or maintained by the OpenBSD
22: project, sorted in order of approximate introduction. Some of them are
23: explained in detail in our <a href="events.html">research papers</a>.
1.1 schwarze 24:
1.16 deraadt 25: <p>
1.32 tj 26: <hr>
1.1 schwarze 27:
1.16 deraadt 28: <h3>Programs and subsystems</h3>
1.1 schwarze 29:
30: <ul>
1.49 tb 31: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ypbind.8">ypbind(8)</a>,
32: <a href="https://man.openbsd.org/OpenBSD-current/man8/ypset.8">ypset(8)</a>,
33: <a href="https://man.openbsd.org/OpenBSD-current/man1/ypcat.1">ypcat(1)</a>,
34: <a href="https://man.openbsd.org/OpenBSD-current/man1/ypmatch.1">ypmatch(1)</a>,
35: <a href="https://man.openbsd.org/OpenBSD-current/man1/ypwhich.1">ypwhich(1)</a>,
1.46 deraadt 36: and libc support: Started by Theo de Raadt.
1.20 bentley 37: Imported April 26, 1993 and first released with NetBSD 0.9.
1.49 tb 38: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ypserv.8">ypserv(8)</a>:
1.16 deraadt 39: Started by Mats O. Jansson in 1994.
40: Imported October 23, 1995 and first released with OpenBSD 2.0.
1.49 tb 41: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/mopd.8">mopd(8)</a>:
1.22 schwarze 42: Started by Mats O. Jansson in 1993.
43: Imported September 21, 1996 and first released with OpenBSD 2.0.
1.35 tb 44: <li><a href="anoncvs.html">AnonCVS</a>:
1.1 schwarze 45: Designed and implemented by Chuck Cranor and Theo de Raadt in 1995
1.35 tb 46: (<a href="papers/anoncvs-paper.pdf">paper</a>,
47: <a href="papers/anoncvs-slides.pdf">slides</a>)
1.49 tb 48: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/aucat.1">aucat(1)</a>:
1.1 schwarze 49: Started by Kenneth Stailey.
50: Imported January 2, 1997 and first released with OpenBSD 2.1.
1.16 deraadt 51: Now maintained by Alexandre Ratchov.
1.41 tb 52: <li><a href="https://www.openssh.com/">OpenSSH</a>
1.49 tb 53: including <a href="https://man.openbsd.org/OpenBSD-current/man1/ssh.1">ssh(1)</a>,
54: <a href="https://man.openbsd.org/OpenBSD-current/man1/scp.1">scp(1)</a>,
55: <a href="https://man.openbsd.org/OpenBSD-current/man1/sftp.1">sftp(1)</a>,
56: <a href="https://man.openbsd.org/OpenBSD-current/man1/ssh-add.1">ssh-add(1)</a>,
57: <a href="https://man.openbsd.org/OpenBSD-current/man1/ssh-agent.1">ssh-agent(1)</a>,
58: <a href="https://man.openbsd.org/OpenBSD-current/man1/ssh-keygen.1">ssh-keygen(1)</a>,
59: <a href="https://man.openbsd.org/OpenBSD-current/man8/sshd.8">sshd(8)</a>,
60: <a href="https://man.openbsd.org/OpenBSD-current/man8/sftp-server.8">sftp-server(8)</a>:
1.22 schwarze 61: Started by Aaron Campbell, Bob Beck, Dug Song, Markus Friedl,
62: Niels Provos, and Theo de Raadt
63: as a fork of SSH 1.2.12 by Tatu Ylonen.
64: Imported September 26, 1999 and first released with OpenBSD 2.6.
65: Now maintained by Markus Friedl, Damien Miller, Darren Tucker, and
66: Theo de Raadt.
1.49 tb 67: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/mg.1">mg(1)</a>:
1.22 schwarze 68: Started by Dave Conroy in November 1986.
69: Imported February 25, 2000 and first released with OpenBSD 2.7.
70: Now maintained by Mark Lumsden.
1.49 tb 71: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/m4.1">m4(1)</a>:
1.22 schwarze 72: Originally implemented by Ozan Yigit and Richard A. O'Keefe for 4.3BSD-Reno.
73: Considerably extended and maintained by Marc Espie since 1999.
1.49 tb 74: <li><a href="https://man.openbsd.org/OpenBSD-current/man4/pf.4">pf(4)</a>,
75: <a href="https://man.openbsd.org/OpenBSD-current/man8/pfctl.8">pfctl(8)</a>,
76: <a href="https://man.openbsd.org/OpenBSD-current/man8/pflogd.8">pflogd(8)</a>,
77: <a href="https://man.openbsd.org/OpenBSD-current/man8/authpf.8">authpf(8)</a>,
78: <a href="https://man.openbsd.org/OpenBSD-current/man8/ftp-proxy.8">ftp-proxy(8)</a>:
1.1 schwarze 79: Started by Daniel Hartmeier
80: as a replacement for the non-free ipf by Darren Reed.
81: Imported June 24, 2001 and first released with OpenBSD 3.0.
1.16 deraadt 82: Now maintained by Henning Brauer.
1.49 tb 83: <li><a href="https://man.openbsd.org/OpenBSD-5.9/systrace.4">systrace(4)</a>,
84: <a href="https://man.openbsd.org/OpenBSD-5.9/systrace.1">systrace(1)</a>:
1.1 schwarze 85: Started by Niels Provos.
86: Imported June 4, 2002 and first released with OpenBSD 3.2.
1.34 schwarze 87: Deleted after OpenBSD 5.9 because
1.49 tb 88: <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> is even better.
89: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/spamd.8">spamd(8)</a>:
1.16 deraadt 90: Written by Bob Beck. Imported December 21, 2002 and first released with OpenBSD 3.3.
1.49 tb 91: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/dc.1">dc(1)</a>:
1.1 schwarze 92: Written and maintained by Otto Moerbeek.
93: Imported September 19, 2003 and first released with OpenBSD 3.5.
1.49 tb 94: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/bc.1">bc(1)</a>:
1.1 schwarze 95: Written and maintained by Otto Moerbeek.
96: Imported September 25, 2003 and first released with OpenBSD 3.5.
1.49 tb 97: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/sensorsd.8">sensorsd(8)</a>:
1.1 schwarze 98: Started by Henning Brauer.
1.16 deraadt 99: Imported September 24, 2003 and first released with OpenBSD 3.5.
1.25 schwarze 100: Reworked by Constantine A. Murenin.
1.49 tb 101: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/pkg_add.1">pkg_add(1)</a>:
1.1 schwarze 102: Written and maintained by Marc Espie.
1.16 deraadt 103: Imported October 16, 2003 and first released with OpenBSD 3.5.
1.49 tb 104: <li><a href="https://man.openbsd.org/OpenBSD-current/man4/carp.4">carp(4)</a>:
1.1 schwarze 105: Written by Mickey Shalayeff, Markus Friedl, Marco Pfatschbacher,
106: and Ryan McBride.
107: Imported October 17, 2003 and first released with OpenBSD 3.5.
1.16 deraadt 108: <li><a href="http://www.openbgpd.org/">OpenBGPD</a>
1.49 tb 109: including <a href="https://man.openbsd.org/OpenBSD-current/man8/bgpd.8">bgpd(8)</a>
110: and <a href="https://man.openbsd.org/OpenBSD-current/man8/bgpctl.8">bgpctl(8)</a>:
1.42 schwarze 111: Written and maintained by Henning Brauer and Claudio Jeker,
112: and also maintained by Peter Hessler.
1.16 deraadt 113: Imported December 17, 2003 and first released with OpenBSD 3.5.
1.49 tb 114: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/dhclient.8">dhclient(8)</a>:
1.22 schwarze 115: Started by Ted Lemon and Elliot Poger in 1996.
116: Imported January 18, 2004 and first released with OpenBSD 3.5.
117: Reworked by Henning Brauer.
118: Now maintained by Kenneth Westerback.
1.49 tb 119: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/dhcpd.8">dhcpd(8)</a>:
1.22 schwarze 120: Started by Ted Lemon in 1995.
121: Imported April 13, 2004 and first released with OpenBSD 3.6.
122: Reworked by Henning Brauer.
123: Now maintained by Kenneth Westerback.
1.49 tb 124: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/hotplugd.8">hotplugd(8)</a>:
1.1 schwarze 125: Started by Alexander Yurchenko.
1.16 deraadt 126: Imported May 30, 2004 and first released with OpenBSD 3.6.
127: <li><a href="http://www.openntpd.org/">OpenNTPD</a>
1.49 tb 128: including <a href="https://man.openbsd.org/OpenBSD-current/man8/ntpd.8">ntpd(8)</a>
129: and <a href="https://man.openbsd.org/OpenBSD-current/man8/ntpctl.8">ntpctl(8)</a>:
1.16 deraadt 130: Written and maintained by Henning Brauer.
131: Imported May 31, 2004 and first released with OpenBSD 3.6.
132: Portable version maintained by Brent Cook.
1.49 tb 133: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/dpb.1">dpb(1)</a>:
1.2 schwarze 134: Started by Nikolay Sturm on August 10, 2004; first available for OpenBSD 3.6.
1.16 deraadt 135: Rewritten and maintained by Marc Espie since August 20, 2010.
1.49 tb 136: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ospfd.8">ospfd(8)</a>,
137: <a href="https://man.openbsd.org/OpenBSD-current/man8/ospfctl.8">ospfctl(8)</a>:
1.1 schwarze 138: Started by Esben Norby and Claudio Jeker.
1.16 deraadt 139: Imported January 28, 2005 and first released with OpenBSD 3.7.
1.49 tb 140: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ifstated.8">ifstated(8)</a>:
1.22 schwarze 141: Started by Marco Pfatschbacher and Ryan McBride.
142: Imported January 23, 2004 and first released with OpenBSD 3.8.
1.49 tb 143: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/bioctl.8">bioctl(8)</a>:
1.1 schwarze 144: Started by Marco Peereboom.
1.16 deraadt 145: Imported March 29, 2005 and first released with OpenBSD 3.8.
1.49 tb 146: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/hostapd.8">hostapd(8)</a>:
1.1 schwarze 147: Written and maintained by Reyk Floeter.
1.16 deraadt 148: Imported May 26, 2005 and first released with OpenBSD 3.8.
1.49 tb 149: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/watchdogd.8">watchdogd(8)</a>:
1.1 schwarze 150: Started by Marc Balmer.
1.16 deraadt 151: Imported August 8, 2005 and first released with OpenBSD 3.8.
1.49 tb 152: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/sdiff.1">sdiff(1)</a>:
1.5 schwarze 153: Written by Ray Lai.
1.16 deraadt 154: Imported December 27, 2005 and first released with OpenBSD 3.9.
1.49 tb 155: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/dvmrpd.8">dvmrpd(8)</a>,
156: <a href="https://man.openbsd.org/OpenBSD-current/man8/dvmrpctl.8">dvmrpctl(8)</a>:
1.1 schwarze 157: Started by Esben Norby.
1.16 deraadt 158: Imported June 1, 2006 and first released with OpenBSD 4.0.
1.49 tb 159: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ripd.8">ripd(8)</a>,
160: <a href="https://man.openbsd.org/OpenBSD-current/man8/ripctl.8">ripctl(8)</a>:
1.1 schwarze 161: Started by Michele Marchetto.
1.16 deraadt 162: Imported October 18, 2006 and first released with OpenBSD 4.1.
1.49 tb 163: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/pkg-config.1">pkg-config(1)</a>:
1.10 schwarze 164: Started by Chris Kuethe and Marc Espie.
165: Imported November 27, 2006 and first released with OpenBSD 4.1.
1.16 deraadt 166: Now maintained by Jasper Lievisse Adriaanse.
1.49 tb 167: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/relayd.8">relayd(8)</a>
168: with <a href="https://man.openbsd.org/OpenBSD-current/man8/relayctl.8">relayctl(8)</a>:
1.16 deraadt 169: Started by Pierre-Yves Ritschard and Reyk Floeter.
170: Imported December 16, 2006 and first released with OpenBSD 4.1.
171: Now maintained by Reyk Floeter and Sebastian Benoit.<br/>
1.49 tb 172: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/cwm.1">cwm(1)</a>:
1.22 schwarze 173: Started by <a href="http://monkey.org/~marius/cwm/README">Marius
1.23 schwarze 174: Aamodt Eriksen</A> in 2004.
1.22 schwarze 175: Imported April 27, 2007 and first released with OpenBSD 4.2.
176: Now maintained by Okan Demirmen.
1.49 tb 177: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ospf6d.8">ospf6d(8)</a>,
178: <a href="https://man.openbsd.org/OpenBSD-current/man8/ospf6ctl.8">ospf6ctl(8)</a>:
1.1 schwarze 179: Started by Esben Norby and Claudio Jeker.
1.16 deraadt 180: Imported October 8, 2007 and first released with OpenBSD 4.2.
1.49 tb 181: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/libtool.1">libtool(1)</a>:
1.10 schwarze 182: Written by Steven Mestdagh and Marc Espie.
183: Imported October 28, 2007 and first available for OpenBSD 4.3.
184: Now maintained by Marc Espie, Jasper Lievisse Adriaanse,
1.16 deraadt 185: and Antoine Jacoutot.
1.49 tb 186: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/snmpd.8">snmpd(8)</a>,
187: <a href="https://man.openbsd.org/OpenBSD-current/man8/snmpctl.8">snmpctl(8)</a>:
1.1 schwarze 188: Started by Reyk Floeter.
189: Imported December 5, 2007 and first released with OpenBSD 4.3.
1.16 deraadt 190: Maintained by Reyk Floeter and Bret Lambert.
1.49 tb 191: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/sysmerge.8">sysmerge(8)</a>:
1.22 schwarze 192: Written and maintained by Antoine Jacoutot,
193: originally forked from mergemaster by Douglas Barton.
194: Imported April 22, 2008, first released with OpenBSD 4.4.
1.49 tb 195: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ypldap.8">ypldap(8)</a>:
1.1 schwarze 196: Started by Pierre-Yves Ritschard.
1.16 deraadt 197: Imported June 26, 2008 and first released with OpenBSD 4.4.
1.41 tb 198: <li><a href="https://www.opensmtpd.org/">OpenSMTPD</a>
1.49 tb 199: including <a href="https://man.openbsd.org/OpenBSD-current/man8/smtpd.8">smtpd(8)</a>,
200: <a href="https://man.openbsd.org/OpenBSD-current/man8/smtpctl.8">smtpctl(8)</a>,
201: <a href="https://man.openbsd.org/OpenBSD-current/man8/makemap.8">makemap(8)</a>:
1.16 deraadt 202: Started by Gilles Chehade.
203: Imported November 1, 2008 and first released with OpenBSD 4.6.
204: Now maintained by Gilles Chehade and Eric Faurot.
1.22 schwarze 205: <li><a href="http://tmux.github.io/">tmux</a>,
1.49 tb 206: <a href="https://man.openbsd.org/OpenBSD-current/man1/tmux.1">tmux(1)</a>:
1.22 schwarze 207: Started in 2007 and maintained by Nicholas Marriott.
208: Imported June 1, 2009, first released with OpenBSD 4.6.
1.49 tb 209: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ldpd.8">ldpd(8)</a>,
210: <a href="https://man.openbsd.org/OpenBSD-current/man8/ldpctl.8">ldpctl(8)</a>:
1.22 schwarze 211: Started by Michele Marchetto.
212: Imported June 1, 2009 and first released with OpenBSD 4.6.
213: Now maintained by Claudio Jeker.
214: <li><a href="http://mdocml.bsd.lv/">mandoc</a>
1.49 tb 215: including <a href="https://man.openbsd.org/OpenBSD-current/man1/mandoc.1">mandoc(1)</a>,
216: <a href="https://man.openbsd.org/OpenBSD-current/man1/man.1">man(1)</a>,
217: <a href="https://man.openbsd.org/OpenBSD-current/man1/apropos.1">apropos(1)</a>,
218: <a href="https://man.openbsd.org/OpenBSD-current/man8/makewhatis.8">makewhatis(8)</a>,
219: <a href="https://man.openbsd.org/mandoc/man8/man.cgi.8">man.cgi(8)</a>:
1.22 schwarze 220: Started by Kristaps Dzonsons in November 2008.
221: Imported April 6, 2009, first released with OpenBSD 4.8.
222: Now maintained by Ingo Schwarze.
1.49 tb 223: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/ldapd.8">ldapd(8)</a>,
224: <a href="https://man.openbsd.org/OpenBSD-current/man8/ldapctl.8">ldapctl(8)</a>:
1.1 schwarze 225: Written by Martin Hedenfalk.
1.16 deraadt 226: Imported May 31, 2010 and first released with OpenBSD 4.8.
227: <li><a href="http://www.openiked.org/">OpenIKED</a>
1.49 tb 228: including <a href="https://man.openbsd.org/OpenBSD-current/man8/iked.8">iked(8)</a>
229: and <a href="https://man.openbsd.org/OpenBSD-current/man8/ikectl.8">ikectl(8)</a>:
1.16 deraadt 230: Started by Reyk Floeter.
231: Imported June 3, 2010 and first released with OpenBSD 4.8.
232: Now maintained by Reyk Floeter and Mike Belopuhov.
1.49 tb 233: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/iscsid.8">iscsid(8)</a>,
234: <a href="https://man.openbsd.org/OpenBSD-current/man8/iscsictl.8">iscsictl(8)</a>:
1.1 schwarze 235: Written and maintained by Claudio Jeker.
1.16 deraadt 236: Imported September 24, 2010 and first released with OpenBSD 4.9.
1.49 tb 237: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/rc.d.8">rc.d(8)</a>,
238: <a href="https://man.openbsd.org/OpenBSD-current/man8/rc.subr.8">rc.subr(8)</a>:
1.3 schwarze 239: Written and maintained by Robert Nagy and Antoine Jacoutot.
1.16 deraadt 240: Imported October 26, 2010 and first released with OpenBSD 4.9.
1.49 tb 241: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/tftpd.8">tftpd(8)</a>:
1.16 deraadt 242: Written and maintained by David Gwynne.
243: Imported March 2, 2012 and first released with OpenBSD 5.2.
1.49 tb 244: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/npppd.8">npppd(8)</a>,
245: <a href="https://man.openbsd.org/OpenBSD-current/man8/npppctl.8">npppctl(8)</a>:
1.22 schwarze 246: Started by Internet Initiative Japan Inc.
247: Imported January 11, 2010, first released with OpenBSD 5.3.
248: Maintained by YASUOKA Masahiko.
1.49 tb 249: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/sparc64/ldomd.8">ldomd(8)</a>,
250: <a href="https://man.openbsd.org/OpenBSD-current/man8/sparc64/ldomctl.8">ldomctl(8)</a>:
1.1 schwarze 251: Written and maintained by Mark Kettenis.
1.16 deraadt 252: Imported October 26, 2012 and first released with OpenBSD 5.3.
1.49 tb 253: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/sndiod.8">sndiod(8)</a>:
1.1 schwarze 254: Written and maintained by Alexandre Ratchov.
1.16 deraadt 255: Imported November 23, 2012 and first released with OpenBSD 5.3.
1.49 tb 256: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/cu.1">cu(1)</a>:
1.22 schwarze 257: Written and maintained by Nicholas Marriott.
258: Imported July 10, 2012 and first released with OpenBSD 5.4.
1.49 tb 259: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/identd.8">identd(8)</a>:
1.1 schwarze 260: Written and maintained by David Gwynne.
1.16 deraadt 261: Imported March 18, 2013 and first released with OpenBSD 5.4.
1.49 tb 262: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/slowcgi.8">slowcgi(8)</a>:
1.1 schwarze 263: Written and maintained by Florian Obser.
1.16 deraadt 264: Imported May 23, 2013 and first released with OpenBSD 5.4.
1.49 tb 265: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/signify.1">signify(1)</a>:
1.1 schwarze 266: Written and maintained by <a href="http://www.tedunangst.com/flak/post/signify">Ted Unangst</a>.
1.16 deraadt 267: Imported December 31, 2013 and first released with OpenBSD 5.5.
1.49 tb 268: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/htpasswd.1">htpasswd(1)</a>:
1.1 schwarze 269: Written and maintained by Florian Obser.
1.16 deraadt 270: Imported March 17, 2014 and first released with OpenBSD 5.6.
1.41 tb 271: <li><a href="https://www.libressl.org/">LibreSSL</a>:
1.22 schwarze 272: Started by Ted Unangst, Bob Beck, Joel Sing, Miod Vallat, Philip Guenther,
1.23 schwarze 273: and Theo de Raadt on April 13, 2014, as a fork of OpenSSL 1.0.1g.
274: First released with OpenBSD 5.6.
1.22 schwarze 275: Portable version maintained by Brent Cook.
1.49 tb 276: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/httpd.8">httpd(8)</a>:
1.16 deraadt 277: Started by Reyk Floeter.
278: Imported July 12, 2014 and first released with OpenBSD 5.6.
279: Maintained by Reyk Floeter and Florian Obser.
1.49 tb 280: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/rcctl.8">rcctl(8)</a>:
1.1 schwarze 281: Written and maintained by Antoine Jacoutot.
1.16 deraadt 282: Imported August 19, 2014 and first released with OpenBSD 5.7.
1.49 tb 283: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/file.1">file(1)</a>:
1.1 schwarze 284: Rewritten from scratch and maintained by Nicholas Marriott.
1.16 deraadt 285: Imported April 24, 2015 and first released with OpenBSD 5.8.
1.49 tb 286: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/doas.1">doas(1)</a>:
1.1 schwarze 287: Written and maintained by Ted Unangst.
1.16 deraadt 288: Imported July 16, 2015 and first released with OpenBSD 5.8.
1.49 tb 289: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/radiusd.8">radiusd(8)</a>:
1.1 schwarze 290: Written and maintained by YASUOKA Masahiko.
1.16 deraadt 291: Imported July 21, 2015 and first released with OpenBSD 5.8.
1.49 tb 292: <li><a href="https://man.openbsd.org/eigrpd.8">eigrpd(8)</a>,
293: <a href="https://man.openbsd.org/eigrpctl.8">eigrpctl(8)</a>:
1.34 schwarze 294: Written and maintained by Renato Westphal.
295: Imported October 2, 2015 and first released with OpenBSD 5.9.
1.49 tb 296: <li><a href="https://man.openbsd.org/OpenBSD-current/man8/rebound.8">rebound(8)</a>:
1.1 schwarze 297: Written and maintained by Ted Unangst.
1.16 deraadt 298: Imported October 15, 2015 and first released with OpenBSD 5.9.
1.49 tb 299: <li><a href="https://man.openbsd.org/OpenBSD-current/man4/amd64/vmm.4">vmm(4)</a>,
300: <a href="https://man.openbsd.org/OpenBSD-current/man8/vmd.8">vmd(8)</a>,
301: <a href="https://man.openbsd.org/OpenBSD-current/man8/vmctl.8">vmctl(8)</a>:
1.21 schwarze 302: Written and maintained by Mike Larkin and Reyk Floeter.
303: Imported November 13, 2015 and first released with OpenBSD 5.9.
1.49 tb 304: <li><a href="https://man.openbsd.org/pdisk.8">pdisk(8)</a>:
1.34 schwarze 305: Originally written by Eryk Vershen in 1996-1998,
306: rewritten and maintained by Kenneth Westerback since January 11, 2016
307: and first released with OpenBSD 5.9.
1.49 tb 308: <li><a href="https://man.openbsd.org/mknod.8">mknod(8)</a>:
1.34 schwarze 309: Original version from Version 6 AT&T UNIX (1975),
310: last rewritten by Marc Espie on March 5, 2016
311: and first released with OpenBSD 6.0.
1.49 tb 312: <li><a href="https://man.openbsd.org/audioctl.1">audioctl(1)</a>:
1.34 schwarze 313: Originally written by Lennart Augustsson in 1997,
314: rewritten and maintained by Alexandre Ratchov since June 21, 2016
315: and first released with OpenBSD 6.0.
1.49 tb 316: <li><a href="https://man.openbsd.org/switchd.8">switchd(8)</a>,
317: <a href="https://man.openbsd.org/switchctl.8">switchctl(8)</a>:
1.34 schwarze 318: Written and maintained by Reyk Floeter.
1.45 tj 319: Imported July 19, 2016; released with OpenBSD 6.1.
1.49 tb 320: <li><a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>:
1.45 tj 321: Written by Kristaps Dzonsons, imported August 31, 2016; released
322: with OpenBSD 6.1.
1.49 tb 323: <li><a href="https://man.openbsd.org/syspatch.8">syspatch(8)</a>:
1.44 schwarze 324: Written and maintained by Antoine Jacoutot.
1.45 tj 325: Imported September 5, 2016; released with OpenBSD 6.1.
1.49 tb 326: <li><a href="https://man.openbsd.org/ping.8">ping(8)</a>:
1.44 schwarze 327: Restructured to include IPv6 functionality and maintained by Florian Obser.
328: The separate
1.49 tb 329: <a href="https://man.openbsd.org/OpenBSD-6.0/ping6.8">ping6(8)</a>
1.44 schwarze 330: was superseded on September 17, 2016,
1.45 tj 331: and the new, combined version was released with OpenBSD 6.1.
1.49 tb 332: <li><a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a>:
1.44 schwarze 333: Cleaned-up fork of
1.49 tb 334: <a href="https://man.openbsd.org/OpenBSD-6.0/xdm.1">xdm(1)</a>
1.44 schwarze 335: maintained by Matthieu Herrb.
1.45 tj 336: Imported October 23, 2016; released with OpenBSD 6.1.
1.49 tb 337: <li><a href="https://man.openbsd.org/ocspcheck.8">ocspcheck(8)</a>:
1.47 schwarze 338: Written and maintained by Bob Beck.
339: Imported January 24, 2017; released with OpenBSD 6.1.
1.49 tb 340: <li><a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a>:
1.48 florian 341: Written and maintained by Florian Obser.
342: Imported March 18, 2017; released with OpenBSD 6.2.
1.17 mlarkin 343: </ul>
1.1 schwarze 344:
1.16 deraadt 345: <h3>Concepts</h3>
1.1 schwarze 346:
347: <ul>
1.49 tb 348: <li><a href="https://man.openbsd.org/OpenBSD-current/man4/ipsec.4">ipsec(4)</a>:
1.22 schwarze 349: Started by John Ioannidis, Angelos D. Keromytis, Niels Provos, and
350: Niklas Hallqvist, imported February 20, 1997. OpenBSD was the first
351: free operating system to provide an IPSec stack.
1.49 tb 352: <li><a href="https://man.openbsd.org/OpenBSD-current/man4/inet6.4">inet6(4)</a>:
1.22 schwarze 353: First complete integration and adoption of IPv6 led by
354: "Itojun" (Dr. Junichiro Hagino) [WIDE/KAME], Craig Metz [NRL], and
355: Angelos D. Keromytis starting Jan 6, 1999.
356: Almost fully operational Jun 6, 1999 during the
357: <a href="hackathons.html">first OpenBSD hackathon</a>.
358: OpenBSD 2.7.
1.16 deraadt 359: <li>Privilege separation:
360: First implemented by
361: <a href="http://www.citi.umich.edu/u/provos/ssh/privsep.html">Niels Provos</a>
362: and Markus Friedl in OpenSSH in March 2002, released with OpenBSD 3.2.
1.27 deraadt 363: The concept is now used in many OpenBSD programs, for example
1.49 tb 364: <a href="https://man.openbsd.org/OpenBSD-current/man8/bgpd.8">bgpd(8)</a>,
365: <a href="https://man.openbsd.org/OpenBSD-current/man8/dhclient.8">dhclient(8)</a>,
366: <a href="https://man.openbsd.org/OpenBSD-current/man8/dhcpd.8">dhcpd(8)</a>,
367: <a href="https://man.openbsd.org/OpenBSD-current/man8/dvmrpd.8">dvmrpd(8)</a>,
368: <a href="https://man.openbsd.org/OpenBSD-current/man8/eigrpd.8">eigrpd(8)</a>,
369: <a href="https://man.openbsd.org/OpenBSD-current/man1/file.1">file(1)</a>,
370: <a href="https://man.openbsd.org/OpenBSD-current/man8/httpd.8">httpd(8)</a>,
371: <a href="https://man.openbsd.org/OpenBSD-current/man8/iked.8">iked(8)</a>,
372: <a href="https://man.openbsd.org/OpenBSD-current/man8/ldapd.8">ldapd(8)</a>,
373: <a href="https://man.openbsd.org/OpenBSD-current/man8/ldpd.8">ldpd(8)</a>,
374: <a href="https://man.openbsd.org/OpenBSD-current/man8/mountd.8">mountd(8)</a>,
375: <a href="https://man.openbsd.org/OpenBSD-current/man8/npppd.8">npppd(8)</a>,
376: <a href="https://man.openbsd.org/OpenBSD-current/man8/ntpd.8">ntpd(8)</a>,
377: <a href="https://man.openbsd.org/OpenBSD-current/man8/ospfd.8">ospfd(8)</a>,
378: <a href="https://man.openbsd.org/OpenBSD-current/man8/ospf6d.8">ospf6d(8)</a>,
379: <a href="https://man.openbsd.org/OpenBSD-current/man8/pflogd.8">pflogd(8)</a>,
380: <a href="https://man.openbsd.org/OpenBSD-current/man8/radiusd.8">radiusd(8)</a>,
381: <a href="https://man.openbsd.org/OpenBSD-current/man8/relayd.8">relayd(8)</a>,
382: <a href="https://man.openbsd.org/OpenBSD-current/man8/ripd.8">ripd(8)</a>,
383: <a href="https://man.openbsd.org/OpenBSD-current/man1/script.1">script(1)</a>,
384: <a href="https://man.openbsd.org/OpenBSD-current/man8/smtpd.8">smtpd(8)</a>,
385: <a href="https://man.openbsd.org/OpenBSD-current/man8/syslogd.8">syslogd(8)</a>,
386: <a href="https://man.openbsd.org/OpenBSD-current/man8/tcpdump.8">tcpdump(8)</a>,
387: <a href="https://man.openbsd.org/OpenBSD-current/man1/tmux.1">tmux(1)</a>,
388: <a href="https://man.openbsd.org/OpenBSD-current/man1/xconsole.1">xconsole(1)</a>,
389: <a href="https://man.openbsd.org/OpenBSD-current/man1/xdm.1">xdm(1)</a>,
390: <a href="https://man.openbsd.org/OpenBSD-current/man1/Xserver.1">Xserver(1)</a>,
391: <a href="https://man.openbsd.org/OpenBSD-current/man8/ypldap.8">ypldap(8)</a>,
392: <a href="https://man.openbsd.org/OpenBSD-current/man1/pkg_add.1">pkg_add(1)</a>,
1.27 deraadt 393: etc.
394: <li>Privilege revocation:
395: Related to the work on privilege separation, some programs were refactored
396: to drop privileges while holding onto a tricky resource such as a raw socket,
397: reserved port, or modification-locked bpf(4) descriptor,
398: for example
1.49 tb 399: <a href="https://man.openbsd.org/OpenBSD-current/man8/ping.8">ping(8)</a>,
400: <a href="https://man.openbsd.org/OpenBSD-current/man8/traceroute.8">traceroute(8)</a>,
1.27 deraadt 401: etc.
1.22 schwarze 402: <li>Stack protector: Developed since 2001 as "propolice" by Hiroaki Etoh.
403: Integrated, and implemented for additional hardware platforms,
404: by Miod Vallat and Theo de Raadt. OpenBSD 3.3 was the first operating
405: system to enable it systemwide by default.
1.16 deraadt 406: <li>W^X: First used for sparc, sparc64, alpha, and hppa in OpenBSD 3.3.
1.34 schwarze 407: Strictly enforced by default since OpenBSD 6.0: a program can only
1.44 schwarze 408: violate it if the executable is marked with <code>PT_OPENBSD_WXNEEDED</code>
409: and it is located on a filesystem mounted with the <code>wxallowed</code>
1.49 tb 410: <a href="https://man.openbsd.org/mount.8">mount(8)</a> option.
1.36 guenther 411: <li>GOT and PLT protection by ld.so: first done as part of the W^X
412: work in OpenBSD 3.3, by Dale Rahn and Theo de Raadt.
413: The GOT and PLT regions are read-only outside of ld.so itself.
414: Extended to the .init/.fini sections (constructors and destructors)
415: in OpenBSD 3.4.
1.16 deraadt 416: <li>ASLR: OpenBSD 3.4 was the first widely used operating system to
417: provide it by default.
1.49 tb 418: <li><a href="https://man.openbsd.org/OpenBSD-current/man1/gcc-local.1">gcc-local(1)</a>
1.16 deraadt 419: __attribute__((__bounded__)) static analysis annotation
420: and checking mechanism:
421: Started by Anil Madhavapeddy on June 26, 2003
422: and ported to GCC 4 by Nicholas Marriott.
423: First released with OpenBSD 3.4.
1.49 tb 424: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/malloc.3">malloc(3)</a>
1.16 deraadt 425: randomization implemented by Thierry Deval. Guard pages and randomized (delayed) free added by Ted Unangst.
1.35 tb 426: Reimplemented by <a href="papers/eurobsdcon2009/otto-malloc.pdf">Otto Moerbeek</a>
1.16 deraadt 427: for OpenBSD 4.4.</li>
1.22 schwarze 428: <li>PIE: OpenBSD 5.3 was the first widely used operating system to enable
429: it globally by default, on seven hardware platforms.
1.38 guenther 430: <li>Random-data memory: the ability to specify that a variable
431: should be initialized at load time with random byte values was
432: implemented in OpenBSD 5.3 by Matthew Dempsky.
433: <li>Stack protector per shared object: using the random-data memory
434: feature, each shared object was given its own stack protector
435: cookie in OpenBSD 5.3 by Matthew Dempsky.
1.16 deraadt 436: <li>Static-PIE: Position-independent static binaries for /bin, /sbin and ramdisks.
437: First released with OpenBSD 5.7.
1.49 tb 438: <li>SROP (<a href="https://man.openbsd.org/sigreturn.2">sigreturn(2)</a>
1.34 schwarze 439: oriented programming) mitigation: Researched by
440: <a href="http://www.cs.vu.nl/~herbertb/papers/srop_sp14.pdf">Eric Bosman</a>
441: and Herbert Bos in 2014, implemented by Theo de Raadt in May 2016,
442: enabled by default since OpenBSD 6.0.
1.53 ! schwarze 443: <li>Library order randomization:
1.49 tb 444: In <a href="https://man.openbsd.org/rc.8">rc(8)</a>, re-link
1.53 ! schwarze 445: <code>libc.so</code>, <code>libcrypto</code>, and <code>ld.so</code>
! 446: on startup, placing the objects in a random order.
1.34 schwarze 447: Theo de Raadt and Robert Peichaer, May 2016,
1.53 ! schwarze 448: enabled by default since OpenBSD 6.0 and 6.2.
1.39 tb 449: <li>Kernel-assisted lazy-binding for W^X safety in multi-threaded programs.
1.49 tb 450: A new syscall <a href="https://man.openbsd.org/kbind.2">kbind(2)</a>
1.36 guenther 451: permits lazy-binding to be W^X safe in multi-threaded programs.
452: Implemented for OpenBSD 5.9 by Philip Guenther in July 2015.
453: <li>Process layouts in memory tightened to remove execute permission from
1.37 guenther 454: all segmented, non-instruction data and to remove write permission from
1.36 guenther 455: data that is only modified during loading and relocation.
1.37 guenther 456: By combining the RELRO (Read-Only after Relocation) design from the
1.36 guenther 457: GNU project with the original ASLR work from OpenBSD 3.3 and
458: strict lazy-binding work from OpenBSD 5.9, this is applied to not
459: just a subset of programs and libraries but rather to all programs
460: and libraries.
461: Implemented for OpenBSD 6.1 by Philip Guenther in August 2016.
1.40 deraadt 462: <li>Use of fork+exec in privilege separated programs. The strategy is to give
463: each process a fresh & unique address space for ASLR, stack protector -- as
464: protection against address space discovery attacks. Implemented first by
1.49 tb 465: Damien Miller (<a href="https://man.openbsd.org/OpenBSD-current/man8/sshd.8">sshd(8)</a> 2004), Claudio Jeker (<a href="https://man.openbsd.org/OpenBSD-current/man8/bgpd.8">bgpd(8)</a>, 2015), Eric Faurot (<a href="https://man.openbsd.org/OpenBSD-current/man8/smtpd.8">smtpd(8)</a>, 2016),
1.40 deraadt 466: Rafael Zalamena (various, 2016), and others.
1.51 deraadt 467: <li>trapsleds: Reduction of incidental nop instructions/sequences in the
1.52 tb 468: instruction stream which could be useful potentially for ROP attack methods
1.51 deraadt 469: to innaccurately target gadgets. These nops sequences are converted into
470: trap sequences where possible. Todd Mortimer and Theo de Raadt, June 2017.
1.50 deraadt 471: <li>The .o files of the kernel are relinked in random order from a link-kit,
472: before every reboot. This provides substantial interior randomization in
473: the kernel's text and data segments for layout and relative branches/calls.
474: Basically a unique address space for each kernel boot, similar to the userland
475: fork+exec model described above but for the kernel. Theo de Raadt, June 2017.
1.16 deraadt 476: </ul>
477:
478: <h3>Functions</h3>
479:
480: <ul>
1.49 tb 481: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/arc4random.3">arc4random(3)</a>:
1.16 deraadt 482: David Mazieres, December 28, 1996, OpenBSD 2.1
1.49 tb 483: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/bcrypt.3">bcrypt(3)</a>:
1.1 schwarze 484: Implemented by <a href="https://www.usenix.org/legacy/events/usenix99/provos/provos_html/node1.html">Niels Provos and David Mazieres</a>
485: Imported February 13, 1997 and first released with OpenBSD 2.1.
1.49 tb 486: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/strlcpy.3">strlcpy(3)</a>,
487: <a href="https://man.openbsd.org/OpenBSD-current/man3/strlcat.3">strlcat(3)</a>:
1.16 deraadt 488: Todd Miller and Theo de Raadt, July 1, 1998, OpenBSD 2.4
1.49 tb 489: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/strtonum.3">strtonum(3)</a>:
1.16 deraadt 490: Ted Unangst, Todd Miller, and Theo de Raadt, May 3, 2004, OpenBSD 3.6
1.49 tb 491: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/imsg_init.3">imsg</a>:
1.12 schwarze 492: Message passing API, written by Henning Brauer.
493: In libutil since May 26, 2010, OpenBSD 4.8;
1.16 deraadt 494: used by various daemons before that.
1.49 tb 495: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/timingsafe_bcmp.3">timingsafe_bcmp(3)</a>:
1.16 deraadt 496: Damien Miller, July 13, 2010, OpenBSD 4.9
1.49 tb 497: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/explicit_bzero.3">explicit_bzero(3)</a>:
1.16 deraadt 498: Ted Unangst and Matthew Dempsky, January 22, 2014, OpenBSD 5.5
1.49 tb 499: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/ohash_init.3">ohash</a>:
1.12 schwarze 500: Written and maintained by Marc Espie.
501: In libutil since May 12, 2014, OpenBSD 5.6;
1.16 deraadt 502: used by make(1) and m4(1) before that.
1.49 tb 503: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/asr_run.3">asr</a>:
1.12 schwarze 504: Replacement resolver written and maintained by Eric Faurot.
1.16 deraadt 505: Imported April 14, 2012; activated on March 26, 2014, OpenBSD 5.6.
1.49 tb 506: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/reallocarray.3">reallocarray(3)</a>:
1.16 deraadt 507: Theo de Raadt and Ted Unangst, April 22, 2014, OpenBSD 5.6
1.49 tb 508: <li><a href="https://man.openbsd.org/OpenBSD-current/man2/getentropy.2">getentropy(2)</a>:
1.16 deraadt 509: Matthew Dempsky and Theo de Raadt, June 13, 2014, OpenBSD 5.6
1.49 tb 510: <li><a href="https://man.openbsd.org/OpenBSD-current/man2/sendsyslog.2">sendsyslog(2)</a>:
1.16 deraadt 511: Theo de Raadt, July 10, 2014, OpenBSD 5.6
1.49 tb 512: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/timingsafe_memcmp.3">timingsafe_memcmp(3)</a>:
1.16 deraadt 513: Matthew Dempsky, July 13, 2014, OpenBSD 5.6
1.49 tb 514: <li><a href="https://man.openbsd.org/OpenBSD-current/man2/pledge.2">pledge(2)</a>:
1.16 deraadt 515: Theo de Raadt, July 19, 2015, OpenBSD 5.9
1.49 tb 516: <li><a href="https://man.openbsd.org/getpwnam_shadow.3">getpwnam_shadow(3)</a>,
517: <a href="https://man.openbsd.org/getpwuid_shadow.3">getpwuid_shadow(3)</a>:
1.34 schwarze 518: Ted Unangst and Theo de Raadt, November 18, 2015, OpenBSD 5.9
1.49 tb 519: <li><a href="https://man.openbsd.org/recallocarray.3">recallocarray(3)</a>:
1.43 tj 520: Otto Moerbeek, Joel Sing and Theo de Raadt, March 6, 2017, OpenBSD 6.1
1.49 tb 521: <li><a href="https://man.openbsd.org/freezero.3">freezero(3)</a>:
1.47 schwarze 522: Otto Moerbeek, April 10, 2017, OpenBSD 6.2
1.1 schwarze 523: </ul>
524:
1.11 deraadt 525: <h3>Projects maintained by OpenBSD developers outside OpenBSD</h3>
1.1 schwarze 526:
527: <ul>
528: <li><a href="http://www.sudo.ws/">sudo</a>:
529: Started by Bob Coggeshall and Cliff Spencer around 1980.
530: Imported November 18, 1999, first released with OpenBSD 2.7.
1.16 deraadt 531: Now maintained by Todd Miller.
1.24 schwarze 532: <li><a href="http://bulabula.org/femail/">femail</a>:
533: Written and maintained by Henning Brauer.
534: Port available since September 22, 2005.
1.1 schwarze 535: <li><a href="http://www.midish.org/">midish</a>:
536: Written and maintained by Alexandre Ratchov.
1.16 deraadt 537: Port available since November 4, 2005.
1.7 schwarze 538: <li><a href="https://github.com/nicm/fdm">fdm</a>:
1.1 schwarze 539: Written and maintained by Nicholas Marriott.
1.16 deraadt 540: Port available since January 18, 2007.
1.3 schwarze 541: <li><a href="https://github.com/ajacoutot/toad/">toad</a>:
542: Written and maintained by Antoine Jacoutot.
1.16 deraadt 543: Port available since October 8, 2013.
1.1 schwarze 544: <li><a href="http://jasperla.github.io/portroach/">portroach</a>:
545: Written and maintained by Jasper Lievisse Adriaanse,
546: originally forked from FreeBSD's portscout.
1.16 deraadt 547: Port available since September 5, 2014.
1.1 schwarze 548: </ul>
549:
550: </body>
551: </html>