[BACK]Return to innovations.html CVS log [TXT][DIR] Up to [local] / www

Annotation of www/innovations.html, Revision 1.44

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.29      beck       31: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/ypbind.8">ypbind(8)</a>,
                     32:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ypset.8">ypset(8)</a>,
                     33:   <a href="http://man.openbsd.org/OpenBSD-current/man1/ypcat.1">ypcat(1)</a>,
                     34:   <a href="http://man.openbsd.org/OpenBSD-current/man1/ypmatch.1">ypmatch(1)</a>,
                     35:   <a href="http://man.openbsd.org/OpenBSD-current/man1/ypwhich.1">ypwhich(1)</a>:
1.16      deraadt    36:   Started by Theo de Raadt.
1.20      bentley    37:   Imported April 26, 1993 and first released with NetBSD 0.9.
1.29      beck       38: <li><a href="http://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.29      beck       41: <li><a href="http://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.29      beck       48: <li><a href="http://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.29      beck       53:   including <a href="http://man.openbsd.org/OpenBSD-current/man1/ssh.1">ssh(1)</a>,
                     54:   <a href="http://man.openbsd.org/OpenBSD-current/man1/scp.1">scp(1)</a>,
                     55:   <a href="http://man.openbsd.org/OpenBSD-current/man1/sftp.1">sftp(1)</a>,
                     56:   <a href="http://man.openbsd.org/OpenBSD-current/man1/ssh-add.1">ssh-add(1)</a>,
                     57:   <a href="http://man.openbsd.org/OpenBSD-current/man1/ssh-agent.1">ssh-agent(1)</a>,
                     58:   <a href="http://man.openbsd.org/OpenBSD-current/man1/ssh-keygen.1">ssh-keygen(1)</a>,
                     59:   <a href="http://man.openbsd.org/OpenBSD-current/man8/sshd.8">sshd(8)</a>,
                     60:   <a href="http://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.29      beck       67: <li><a href="http://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.29      beck       71: <li><a href="http://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.29      beck       74: <li><a href="http://man.openbsd.org/OpenBSD-current/man4/pf.4">pf(4)</a>,
                     75:   <a href="http://man.openbsd.org/OpenBSD-current/man8/pfctl.8">pfctl(8)</a>,
                     76:   <a href="http://man.openbsd.org/OpenBSD-current/man8/pflogd.8">pflogd(8)</a>,
                     77:   <a href="http://man.openbsd.org/OpenBSD-current/man8/authpf.8">authpf(8)</a>,
                     78:   <a href="http://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.34      schwarze   83: <li><a href="http://man.openbsd.org/OpenBSD-5.9/systrace.4">systrace(4)</a>,
                     84:   <a href="http://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
                     88:   <a href="http://man.openbsd.org/pledge.2">pledge(2)</a> is even better.
1.29      beck       89: <li><a href="http://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.29      beck       91: <li><a href="http://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.29      beck       94: <li><a href="http://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.29      beck       97: <li><a href="http://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.29      beck      101: <li><a href="http://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.29      beck      104: <li><a href="http://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.29      beck      109:   including <a href="http://man.openbsd.org/OpenBSD-current/man8/bgpd.8">bgpd(8)</a>
                    110:   and <a href="http://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.29      beck      114: <li><a href="http://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.29      beck      119: <li><a href="http://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.29      beck      124: <li><a href="http://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.29      beck      128:   including <a href="http://man.openbsd.org/OpenBSD-current/man8/ntpd.8">ntpd(8)</a>
                    129:   and <a href="http://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.29      beck      133: <li><a href="http://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.29      beck      136: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/ospfd.8">ospfd(8)</a>,
                    137:   <a href="http://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.29      beck      140: <li><a href="http://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.29      beck      143: <li><a href="http://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.29      beck      146: <li><a href="http://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.29      beck      149: <li><a href="http://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.29      beck      152: <li><a href="http://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.29      beck      155: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/dvmrpd.8">dvmrpd(8)</a>,
                    156:   <a href="http://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.29      beck      159: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/ripd.8">ripd(8)</a>,
                    160:   <a href="http://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.29      beck      163: <li><a href="http://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.29      beck      167: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/relayd.8">relayd(8)</a>
                    168:   with <a href="http://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.29      beck      172: <li><a href="http://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.29      beck      177: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/ospf6d.8">ospf6d(8)</a>,
                    178:   <a href="http://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.29      beck      181: <li><a href="http://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.29      beck      186: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/snmpd.8">snmpd(8)</a>,
                    187:   <a href="http://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.29      beck      191: <li><a href="http://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.29      beck      195: <li><a href="http://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.29      beck      199:   including <a href="http://man.openbsd.org/OpenBSD-current/man8/smtpd.8">smtpd(8)</a>,
                    200:   <a href="http://man.openbsd.org/OpenBSD-current/man8/smtpctl.8">smtpctl(8)</a>,
                    201:   <a href="http://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.29      beck      206:   <a href="http://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.29      beck      209: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/ldpd.8">ldpd(8)</a>,
                    210:   <a href="http://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.29      beck      215:   including <a href="http://man.openbsd.org/OpenBSD-current/man1/mandoc.1">mandoc(1)</a>,
                    216:   <a href="http://man.openbsd.org/OpenBSD-current/man1/man.1">man(1)</a>,
                    217:   <a href="http://man.openbsd.org/OpenBSD-current/man1/apropos.1">apropos(1)</a>,
                    218:   <a href="http://man.openbsd.org/OpenBSD-current/man8/makewhatis.8">makewhatis(8)</a>,
                    219:   <a href="http://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.29      beck      223: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/ldapd.8">ldapd(8)</a>,
                    224:   <a href="http://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.29      beck      228:   including <a href="http://man.openbsd.org/OpenBSD-current/man8/iked.8">iked(8)</a>
                    229:   and <a href="http://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.29      beck      233: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/iscsid.8">iscsid(8)</a>,
                    234:   <a href="http://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.29      beck      237: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/rc.d.8">rc.d(8)</a>,
                    238:   <a href="http://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.29      beck      241: <li><a href="http://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.29      beck      244: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/npppd.8">npppd(8)</a>,
                    245:   <a href="http://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.29      beck      249: <li><a href="http://man.openbsd.org/OpenBSD-current/man8/sparc64/ldomd.8">ldomd(8)</a>,
                    250:   <a href="http://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.29      beck      253: <li><a href="http://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.29      beck      256: <li><a href="http://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.29      beck      259: <li><a href="http://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.29      beck      262: <li><a href="http://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.29      beck      265: <li><a href="http://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.29      beck      268: <li><a href="http://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.29      beck      276: <li><a href="http://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.29      beck      280: <li><a href="http://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.29      beck      283: <li><a href="http://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.29      beck      286: <li><a href="http://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.29      beck      289: <li><a href="http://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.34      schwarze  292: <li><a href="http://man.openbsd.org/eigrpd.8">eigrpd(8)</a>,
                    293:   <a href="http://man.openbsd.org/eigrpctl.8">eigrpctl(8)</a>:
                    294:   Written and maintained by Renato Westphal.
                    295:   Imported October 2, 2015 and first released with OpenBSD 5.9.
1.29      beck      296: <li><a href="http://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.29      beck      299: <li><a href="http://man.openbsd.org/OpenBSD-current/man4/amd64/vmm.4">vmm(4)</a>,
                    300:   <a href="http://man.openbsd.org/OpenBSD-current/man8/vmd.8">vmd(8)</a>,
                    301:   <a href="http://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.34      schwarze  304: <li><a href="http://man.openbsd.org/pdisk.8">pdisk(8)</a>:
                    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.
                    308: <li><a href="http://man.openbsd.org/mknod.8">mknod(8)</a>:
                    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.
                    312: <li><a href="http://man.openbsd.org/audioctl.1">audioctl(1)</a>:
                    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.44    ! schwarze  316: <li><a href="http://man.openbsd.org/switchd.8">switchd(8)</a>,
        !           317:   <a href="http://man.openbsd.org/switchctl.8">switchctl(8)</a>:
1.34      schwarze  318:   Written and maintained by Reyk Floeter.
                    319:   Imported July 19, 2016; to be released with OpenBSD 6.1.
1.44    ! schwarze  320: <li><a href="http://man.openbsd.org/acme-client.1">acme-client(1)</a>:
        !           321:   Written by Kristaps Dzonsons, improved by Florian Obser,
        !           322:   Sebastian Benoit, Joel Sing, Theo de Raadt, and others.
        !           323:   Imported August 31, 2017; to be released with OpenBSD 6.1.
        !           324: <li><a href="http://man.openbsd.org/syspatch.8">syspatch(8)</a>:
        !           325:   Written and maintained by Antoine Jacoutot.
        !           326:   Imported September 5, 2016; to be released with OpenBSD 6.1.
        !           327: <li><a href="http://man.openbsd.org/ping.8">ping(8)</a>:
        !           328:   Restructured to include IPv6 functionality and maintained by Florian Obser.
        !           329:   The separate
        !           330:   <a href="http://man.openbsd.org/OpenBSD-6.0/ping6.8">ping6(8)</a>
        !           331:   was superseded on September 17, 2016,
        !           332:   and the new, combined version will be released with OpenBSD 6.1.
        !           333: <li><a href="http://man.openbsd.org/xenodm.1">xenodm(1)</a>:
        !           334:   Cleaned-up fork of
        !           335:   <a href="http://man.openbsd.org/OpenBSD-6.0/xdm.1">xdm(1)</a>
        !           336:   maintained by Matthieu Herrb.
        !           337:   Imported October 23, 2016; to be released with OpenBSD 6.1.
1.17      mlarkin   338: </ul>
1.1       schwarze  339:
1.16      deraadt   340: <h3>Concepts</h3>
1.1       schwarze  341:
                    342: <ul>
1.29      beck      343: <li><a href="http://man.openbsd.org/OpenBSD-current/man4/ipsec.4">ipsec(4)</a>:
1.22      schwarze  344:   Started by John Ioannidis, Angelos D. Keromytis, Niels Provos, and
                    345:   Niklas Hallqvist, imported February 20, 1997.  OpenBSD was the first
                    346:   free operating system to provide an IPSec stack.
1.29      beck      347: <li><a href="http://man.openbsd.org/OpenBSD-current/man4/inet6.4">inet6(4)</a>:
1.22      schwarze  348:   First complete integration and adoption of IPv6 led by
                    349:   "Itojun" (Dr. Junichiro Hagino) [WIDE/KAME], Craig Metz [NRL], and
                    350:    Angelos D. Keromytis starting Jan 6, 1999.
                    351:    Almost fully operational Jun 6, 1999 during the
                    352:    <a href="hackathons.html">first OpenBSD hackathon</a>.
                    353:    OpenBSD 2.7.
1.16      deraadt   354: <li>Privilege separation:
                    355:   First implemented by
                    356:   <a href="http://www.citi.umich.edu/u/provos/ssh/privsep.html">Niels Provos</a>
                    357:   and Markus Friedl in OpenSSH in March 2002, released with OpenBSD 3.2.
1.27      deraadt   358:   The concept is now used in many OpenBSD programs, for example
1.29      beck      359:   <a href="http://man.openbsd.org/OpenBSD-current/man8/bgpd.8">bgpd(8)</a>,
                    360:   <a href="http://man.openbsd.org/OpenBSD-current/man8/dhclient.8">dhclient(8)</a>,
                    361:   <a href="http://man.openbsd.org/OpenBSD-current/man8/dhcpd.8">dhcpd(8)</a>,
                    362:   <a href="http://man.openbsd.org/OpenBSD-current/man8/dvmrpd.8">dvmrpd(8)</a>,
                    363:   <a href="http://man.openbsd.org/OpenBSD-current/man8/eigrpd.8">eigrpd(8)</a>,
                    364:   <a href="http://man.openbsd.org/OpenBSD-current/man1/file.1">file(1)</a>,
                    365:   <a href="http://man.openbsd.org/OpenBSD-current/man8/httpd.8">httpd(8)</a>,
                    366:   <a href="http://man.openbsd.org/OpenBSD-current/man8/iked.8">iked(8)</a>,
                    367:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ldapd.8">ldapd(8)</a>,
                    368:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ldpd.8">ldpd(8)</a>,
                    369:   <a href="http://man.openbsd.org/OpenBSD-current/man8/mountd.8">mountd(8)</a>,
                    370:   <a href="http://man.openbsd.org/OpenBSD-current/man8/npppd.8">npppd(8)</a>,
                    371:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ntpd.8">ntpd(8)</a>,
                    372:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ospfd.8">ospfd(8)</a>,
                    373:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ospf6d.8">ospf6d(8)</a>,
                    374:   <a href="http://man.openbsd.org/OpenBSD-current/man8/pflogd.8">pflogd(8)</a>,
                    375:   <a href="http://man.openbsd.org/OpenBSD-current/man8/radiusd.8">radiusd(8)</a>,
                    376:   <a href="http://man.openbsd.org/OpenBSD-current/man8/relayd.8">relayd(8)</a>,
                    377:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ripd.8">ripd(8)</a>,
                    378:   <a href="http://man.openbsd.org/OpenBSD-current/man1/script.1">script(1)</a>,
                    379:   <a href="http://man.openbsd.org/OpenBSD-current/man8/smtpd.8">smtpd(8)</a>,
                    380:   <a href="http://man.openbsd.org/OpenBSD-current/man8/syslogd.8">syslogd(8)</a>,
                    381:   <a href="http://man.openbsd.org/OpenBSD-current/man8/tcpdump.8">tcpdump(8)</a>,
                    382:   <a href="http://man.openbsd.org/OpenBSD-current/man1/tmux.1">tmux(1)</a>,
                    383:   <a href="http://man.openbsd.org/OpenBSD-current/man1/xconsole.1">xconsole(1)</a>,
                    384:   <a href="http://man.openbsd.org/OpenBSD-current/man1/xdm.1">xdm(1)</a>,
                    385:   <a href="http://man.openbsd.org/OpenBSD-current/man1/Xserver.1">Xserver(1)</a>,
                    386:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ypldap.8">ypldap(8)</a>,
                    387:   <a href="http://man.openbsd.org/OpenBSD-current/man1/pkg_add.1">pkg_add(1)</a>,
1.27      deraadt   388:   etc.
                    389: <li>Privilege revocation:
                    390:   Related to the work on privilege separation, some programs were refactored
                    391:   to drop privileges while holding onto a tricky resource such as a raw socket,
                    392:   reserved port, or modification-locked bpf(4) descriptor,
                    393:   for example
1.29      beck      394:   <a href="http://man.openbsd.org/OpenBSD-current/man8/ping.8">ping(8)</a>,
                    395:   <a href="http://man.openbsd.org/OpenBSD-current/man8/traceroute.8">traceroute(8)</a>,
1.27      deraadt   396:   etc.
1.22      schwarze  397: <li>Stack protector:  Developed since 2001 as "propolice" by Hiroaki Etoh.
                    398:   Integrated, and implemented for additional hardware platforms,
                    399:   by Miod Vallat and Theo de Raadt.  OpenBSD 3.3 was the first operating
                    400:   system to enable it systemwide by default.
1.16      deraadt   401: <li>W^X: First used for sparc, sparc64, alpha, and hppa in OpenBSD 3.3.
1.34      schwarze  402:   Strictly enforced by default since OpenBSD 6.0: a program can only
1.44    ! schwarze  403:   violate it if the executable is marked with <code>PT_OPENBSD_WXNEEDED</code>
        !           404:   and it is located on a filesystem mounted with the <code>wxallowed</code>
1.34      schwarze  405:   <a href="http://man.openbsd.org/mount.8">mount(8)</a> option.
1.36      guenther  406: <li>GOT and PLT protection by ld.so: first done as part of the W^X
                    407:   work in OpenBSD 3.3, by Dale Rahn and Theo de Raadt.
                    408:   The GOT and PLT regions are read-only outside of ld.so itself.
                    409:   Extended to the .init/.fini sections (constructors and destructors)
                    410:   in OpenBSD 3.4.
1.16      deraadt   411: <li>ASLR: OpenBSD 3.4 was the first widely used operating system to
                    412:   provide it by default.
1.29      beck      413: <li><a href="http://man.openbsd.org/OpenBSD-current/man1/gcc-local.1">gcc-local(1)</a>
1.16      deraadt   414:   __attribute__((__bounded__)) static analysis annotation
                    415:   and checking mechanism:
                    416:   Started by Anil Madhavapeddy on June 26, 2003
                    417:   and ported to GCC 4 by Nicholas Marriott.
                    418:   First released with OpenBSD 3.4.
1.29      beck      419: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/malloc.3">malloc(3)</a>
1.16      deraadt   420:   randomization implemented by Thierry Deval. Guard pages and randomized (delayed) free added by Ted Unangst.
1.35      tb        421:   Reimplemented by <a href="papers/eurobsdcon2009/otto-malloc.pdf">Otto Moerbeek</a>
1.16      deraadt   422:   for OpenBSD 4.4.</li>
1.22      schwarze  423: <li>PIE: OpenBSD 5.3 was the first widely used operating system to enable
                    424:   it globally by default, on seven hardware platforms.
1.38      guenther  425: <li>Random-data memory: the ability to specify that a variable
                    426:   should be initialized at load time with random byte values was
                    427:   implemented in OpenBSD 5.3 by Matthew Dempsky.
                    428: <li>Stack protector per shared object: using the random-data memory
                    429:   feature, each shared object was given its own stack protector
                    430:   cookie in OpenBSD 5.3 by Matthew Dempsky.
1.16      deraadt   431: <li>Static-PIE: Position-independent static binaries for /bin, /sbin and ramdisks.
                    432:   First released with OpenBSD 5.7.
1.34      schwarze  433: <li>SROP (<a href="http://man.openbsd.org/sigreturn.2">sigreturn(2)</a>
                    434:   oriented programming) mitigation: Researched by
                    435:   <a href="http://www.cs.vu.nl/~herbertb/papers/srop_sp14.pdf">Eric Bosman</a>
                    436:   and Herbert Bos in 2014, implemented by Theo de Raadt in May 2016,
                    437:   enabled by default since OpenBSD 6.0.
                    438: <li>C library order randomization:
                    439:   In <a href="http://man.openbsd.org/rc.8">rc(8)</a>, re-link
1.44    ! schwarze  440:   <code>libc.so</code> on startup, placing the objects in a random order.
1.34      schwarze  441:   Theo de Raadt and Robert Peichaer, May 2016,
                    442:   enabled by default since OpenBSD 6.0.
1.39      tb        443: <li>Kernel-assisted lazy-binding for W^X safety in multi-threaded programs.
1.36      guenther  444:   A new syscall <a href="http://man.openbsd.org/kbind.2">kbind(2)</a>
                    445:   permits lazy-binding to be W^X safe in multi-threaded programs.
                    446:   Implemented for OpenBSD 5.9 by Philip Guenther in July 2015.
                    447: <li>Process layouts in memory tightened to remove execute permission from
1.37      guenther  448:   all segmented, non-instruction data and to remove write permission from
1.36      guenther  449:   data that is only modified during loading and relocation.
1.37      guenther  450:   By combining the RELRO (Read-Only after Relocation) design from the
1.36      guenther  451:   GNU project with the original ASLR work from OpenBSD 3.3 and
                    452:   strict lazy-binding work from OpenBSD 5.9, this is applied to not
                    453:   just a subset of programs and libraries but rather to all programs
                    454:   and libraries.
                    455:   Implemented for OpenBSD 6.1 by Philip Guenther in August 2016.
1.40      deraadt   456: <li>Use of fork+exec in privilege separated programs.  The strategy is to give
                    457:   each process a fresh & unique address space for ASLR, stack protector -- as
                    458:   protection against address space discovery attacks.  Implemented first by
                    459:   Damien Miller (<a href="http://man.openbsd.org/OpenBSD-current/man8/sshd.8">sshd(8)</a> 2004), Claudio Jeker (<a href="http://man.openbsd.org/OpenBSD-current/man8/bgpd.8">bgpd(8)</a>, 2015), Eric Faurot (<a href="http://man.openbsd.org/OpenBSD-current/man8/smtpd.8">smtpd(8)</a>, 2016),
                    460:   Rafael Zalamena (various, 2016), and others.
1.16      deraadt   461: </ul>
                    462:
                    463: <h3>Functions</h3>
                    464:
                    465: <ul>
1.29      beck      466: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/arc4random.3">arc4random(3)</a>:
1.16      deraadt   467:   David Mazieres, December 28, 1996, OpenBSD 2.1
1.29      beck      468: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/bcrypt.3">bcrypt(3)</a>:
1.1       schwarze  469:   Implemented by <a href="https://www.usenix.org/legacy/events/usenix99/provos/provos_html/node1.html">Niels Provos and David Mazieres</a>
                    470:   Imported February 13, 1997 and first released with OpenBSD 2.1.
1.29      beck      471: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/strlcpy.3">strlcpy(3)</a>,
                    472:   <a href="http://man.openbsd.org/OpenBSD-current/man3/strlcat.3">strlcat(3)</a>:
1.16      deraadt   473:   Todd Miller and Theo de Raadt, July 1, 1998, OpenBSD 2.4
1.29      beck      474: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/strtonum.3">strtonum(3)</a>:
1.16      deraadt   475:   Ted Unangst, Todd Miller, and Theo de Raadt, May 3, 2004, OpenBSD 3.6
1.29      beck      476: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/imsg_init.3">imsg</a>:
1.12      schwarze  477:   Message passing API, written by Henning Brauer.
                    478:   In libutil since May 26, 2010, OpenBSD 4.8;
1.16      deraadt   479:   used by various daemons before that.
1.29      beck      480: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/timingsafe_bcmp.3">timingsafe_bcmp(3)</a>:
1.16      deraadt   481:   Damien Miller, July 13, 2010, OpenBSD 4.9
1.29      beck      482: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/explicit_bzero.3">explicit_bzero(3)</a>:
1.16      deraadt   483:   Ted Unangst and Matthew Dempsky, January 22, 2014, OpenBSD 5.5
1.29      beck      484: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/ohash_init.3">ohash</a>:
1.12      schwarze  485:   Written and maintained by Marc Espie.
                    486:   In libutil since May 12, 2014, OpenBSD 5.6;
1.16      deraadt   487:   used by make(1) and m4(1) before that.
1.29      beck      488: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/asr_run.3">asr</a>:
1.12      schwarze  489:   Replacement resolver written and maintained by Eric Faurot.
1.16      deraadt   490:   Imported April 14, 2012; activated on March 26, 2014, OpenBSD 5.6.
1.29      beck      491: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/reallocarray.3">reallocarray(3)</a>:
1.16      deraadt   492:   Theo de Raadt and Ted Unangst, April 22, 2014, OpenBSD 5.6
1.29      beck      493: <li><a href="http://man.openbsd.org/OpenBSD-current/man2/getentropy.2">getentropy(2)</a>:
1.16      deraadt   494:   Matthew Dempsky and Theo de Raadt, June 13, 2014, OpenBSD 5.6
1.29      beck      495: <li><a href="http://man.openbsd.org/OpenBSD-current/man2/sendsyslog.2">sendsyslog(2)</a>:
1.16      deraadt   496:   Theo de Raadt, July 10, 2014, OpenBSD 5.6
1.29      beck      497: <li><a href="http://man.openbsd.org/OpenBSD-current/man3/timingsafe_memcmp.3">timingsafe_memcmp(3)</a>:
1.16      deraadt   498:   Matthew Dempsky, July 13, 2014, OpenBSD 5.6
1.29      beck      499: <li><a href="http://man.openbsd.org/OpenBSD-current/man2/pledge.2">pledge(2)</a>:
1.16      deraadt   500:   Theo de Raadt, July 19, 2015, OpenBSD 5.9
1.34      schwarze  501: <li><a href="http://man.openbsd.org/getpwnam_shadow.3">getpwnam_shadow(3)</a>,
                    502:   <a href="http://man.openbsd.org/getpwuid_shadow.3">getpwuid_shadow(3)</a>:
                    503:   Ted Unangst and Theo de Raadt, November 18, 2015, OpenBSD 5.9
1.43      tj        504: <li><a href="http://man.openbsd.org/recallocarray.3">recallocarray(3)</a>:
                    505:   Otto Moerbeek, Joel Sing and Theo de Raadt, March 6, 2017, OpenBSD 6.1
1.1       schwarze  506: </ul>
                    507:
1.11      deraadt   508: <h3>Projects maintained by OpenBSD developers outside OpenBSD</h3>
1.1       schwarze  509:
                    510: <ul>
                    511: <li><a href="http://www.sudo.ws/">sudo</a>:
                    512:   Started by Bob Coggeshall and Cliff Spencer around 1980.
                    513:   Imported November 18, 1999, first released with OpenBSD 2.7.
1.16      deraadt   514:   Now maintained by Todd Miller.
1.24      schwarze  515: <li><a href="http://bulabula.org/femail/">femail</a>:
                    516:   Written and maintained by Henning Brauer.
                    517:   Port available since September 22, 2005.
1.1       schwarze  518: <li><a href="http://www.midish.org/">midish</a>:
                    519:   Written and maintained by Alexandre Ratchov.
1.16      deraadt   520:   Port available since November 4, 2005.
1.7       schwarze  521: <li><a href="https://github.com/nicm/fdm">fdm</a>:
1.1       schwarze  522:   Written and maintained by Nicholas Marriott.
1.16      deraadt   523:   Port available since January 18, 2007.
1.3       schwarze  524: <li><a href="https://github.com/ajacoutot/toad/">toad</a>:
                    525:   Written and maintained by Antoine Jacoutot.
1.16      deraadt   526:   Port available since October 8, 2013.
1.1       schwarze  527: <li><a href="http://jasperla.github.io/portroach/">portroach</a>:
                    528:   Written and maintained by Jasper Lievisse Adriaanse,
                    529:   originally forked from FreeBSD's portscout.
1.16      deraadt   530:   Port available since September 5, 2014.
1.1       schwarze  531: </ul>
                    532:
                    533: </body>
                    534: </html>