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

Annotation of www/innovations.html, Revision 1.51

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.
                    443: <li>C library order randomization:
1.49      tb        444:   In <a href="https://man.openbsd.org/rc.8">rc(8)</a>, re-link
1.44      schwarze  445:   <code>libc.so</code> on startup, placing the objects in a random order.
1.34      schwarze  446:   Theo de Raadt and Robert Peichaer, May 2016,
                    447:   enabled by default since OpenBSD 6.0.
1.39      tb        448: <li>Kernel-assisted lazy-binding for W^X safety in multi-threaded programs.
1.49      tb        449:   A new syscall <a href="https://man.openbsd.org/kbind.2">kbind(2)</a>
1.36      guenther  450:   permits lazy-binding to be W^X safe in multi-threaded programs.
                    451:   Implemented for OpenBSD 5.9 by Philip Guenther in July 2015.
                    452: <li>Process layouts in memory tightened to remove execute permission from
1.37      guenther  453:   all segmented, non-instruction data and to remove write permission from
1.36      guenther  454:   data that is only modified during loading and relocation.
1.37      guenther  455:   By combining the RELRO (Read-Only after Relocation) design from the
1.36      guenther  456:   GNU project with the original ASLR work from OpenBSD 3.3 and
                    457:   strict lazy-binding work from OpenBSD 5.9, this is applied to not
                    458:   just a subset of programs and libraries but rather to all programs
                    459:   and libraries.
                    460:   Implemented for OpenBSD 6.1 by Philip Guenther in August 2016.
1.40      deraadt   461: <li>Use of fork+exec in privilege separated programs.  The strategy is to give
                    462:   each process a fresh & unique address space for ASLR, stack protector -- as
                    463:   protection against address space discovery attacks.  Implemented first by
1.49      tb        464:   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   465:   Rafael Zalamena (various, 2016), and others.
1.51    ! deraadt   466: <li>trapsleds: Reduction of incidental nop instructions/sequences in the
        !           467:    instruction stream which could be be useful potentially for ROP attack methods
        !           468:    to innaccurately target gadgets.  These nops sequences are converted into
        !           469:    trap sequences where possible.  Todd Mortimer and Theo de Raadt, June 2017.
1.50      deraadt   470: <li>The .o files of the kernel are relinked in random order from a link-kit,
                    471:    before every reboot.  This provides substantial interior randomization in
                    472:    the kernel's text and data segments for layout and relative branches/calls.
                    473:    Basically a unique address space for each kernel boot, similar to the userland
                    474:    fork+exec model described above but for the kernel.  Theo de Raadt, June 2017.
1.16      deraadt   475: </ul>
                    476:
                    477: <h3>Functions</h3>
                    478:
                    479: <ul>
1.49      tb        480: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/arc4random.3">arc4random(3)</a>:
1.16      deraadt   481:   David Mazieres, December 28, 1996, OpenBSD 2.1
1.49      tb        482: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/bcrypt.3">bcrypt(3)</a>:
1.1       schwarze  483:   Implemented by <a href="https://www.usenix.org/legacy/events/usenix99/provos/provos_html/node1.html">Niels Provos and David Mazieres</a>
                    484:   Imported February 13, 1997 and first released with OpenBSD 2.1.
1.49      tb        485: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/strlcpy.3">strlcpy(3)</a>,
                    486:   <a href="https://man.openbsd.org/OpenBSD-current/man3/strlcat.3">strlcat(3)</a>:
1.16      deraadt   487:   Todd Miller and Theo de Raadt, July 1, 1998, OpenBSD 2.4
1.49      tb        488: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/strtonum.3">strtonum(3)</a>:
1.16      deraadt   489:   Ted Unangst, Todd Miller, and Theo de Raadt, May 3, 2004, OpenBSD 3.6
1.49      tb        490: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/imsg_init.3">imsg</a>:
1.12      schwarze  491:   Message passing API, written by Henning Brauer.
                    492:   In libutil since May 26, 2010, OpenBSD 4.8;
1.16      deraadt   493:   used by various daemons before that.
1.49      tb        494: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/timingsafe_bcmp.3">timingsafe_bcmp(3)</a>:
1.16      deraadt   495:   Damien Miller, July 13, 2010, OpenBSD 4.9
1.49      tb        496: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/explicit_bzero.3">explicit_bzero(3)</a>:
1.16      deraadt   497:   Ted Unangst and Matthew Dempsky, January 22, 2014, OpenBSD 5.5
1.49      tb        498: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/ohash_init.3">ohash</a>:
1.12      schwarze  499:   Written and maintained by Marc Espie.
                    500:   In libutil since May 12, 2014, OpenBSD 5.6;
1.16      deraadt   501:   used by make(1) and m4(1) before that.
1.49      tb        502: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/asr_run.3">asr</a>:
1.12      schwarze  503:   Replacement resolver written and maintained by Eric Faurot.
1.16      deraadt   504:   Imported April 14, 2012; activated on March 26, 2014, OpenBSD 5.6.
1.49      tb        505: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/reallocarray.3">reallocarray(3)</a>:
1.16      deraadt   506:   Theo de Raadt and Ted Unangst, April 22, 2014, OpenBSD 5.6
1.49      tb        507: <li><a href="https://man.openbsd.org/OpenBSD-current/man2/getentropy.2">getentropy(2)</a>:
1.16      deraadt   508:   Matthew Dempsky and Theo de Raadt, June 13, 2014, OpenBSD 5.6
1.49      tb        509: <li><a href="https://man.openbsd.org/OpenBSD-current/man2/sendsyslog.2">sendsyslog(2)</a>:
1.16      deraadt   510:   Theo de Raadt, July 10, 2014, OpenBSD 5.6
1.49      tb        511: <li><a href="https://man.openbsd.org/OpenBSD-current/man3/timingsafe_memcmp.3">timingsafe_memcmp(3)</a>:
1.16      deraadt   512:   Matthew Dempsky, July 13, 2014, OpenBSD 5.6
1.49      tb        513: <li><a href="https://man.openbsd.org/OpenBSD-current/man2/pledge.2">pledge(2)</a>:
1.16      deraadt   514:   Theo de Raadt, July 19, 2015, OpenBSD 5.9
1.49      tb        515: <li><a href="https://man.openbsd.org/getpwnam_shadow.3">getpwnam_shadow(3)</a>,
                    516:   <a href="https://man.openbsd.org/getpwuid_shadow.3">getpwuid_shadow(3)</a>:
1.34      schwarze  517:   Ted Unangst and Theo de Raadt, November 18, 2015, OpenBSD 5.9
1.49      tb        518: <li><a href="https://man.openbsd.org/recallocarray.3">recallocarray(3)</a>:
1.43      tj        519:   Otto Moerbeek, Joel Sing and Theo de Raadt, March 6, 2017, OpenBSD 6.1
1.49      tb        520: <li><a href="https://man.openbsd.org/freezero.3">freezero(3)</a>:
1.47      schwarze  521:   Otto Moerbeek, April 10, 2017, OpenBSD 6.2
1.1       schwarze  522: </ul>
                    523:
1.11      deraadt   524: <h3>Projects maintained by OpenBSD developers outside OpenBSD</h3>
1.1       schwarze  525:
                    526: <ul>
                    527: <li><a href="http://www.sudo.ws/">sudo</a>:
                    528:   Started by Bob Coggeshall and Cliff Spencer around 1980.
                    529:   Imported November 18, 1999, first released with OpenBSD 2.7.
1.16      deraadt   530:   Now maintained by Todd Miller.
1.24      schwarze  531: <li><a href="http://bulabula.org/femail/">femail</a>:
                    532:   Written and maintained by Henning Brauer.
                    533:   Port available since September 22, 2005.
1.1       schwarze  534: <li><a href="http://www.midish.org/">midish</a>:
                    535:   Written and maintained by Alexandre Ratchov.
1.16      deraadt   536:   Port available since November 4, 2005.
1.7       schwarze  537: <li><a href="https://github.com/nicm/fdm">fdm</a>:
1.1       schwarze  538:   Written and maintained by Nicholas Marriott.
1.16      deraadt   539:   Port available since January 18, 2007.
1.3       schwarze  540: <li><a href="https://github.com/ajacoutot/toad/">toad</a>:
                    541:   Written and maintained by Antoine Jacoutot.
1.16      deraadt   542:   Port available since October 8, 2013.
1.1       schwarze  543: <li><a href="http://jasperla.github.io/portroach/">portroach</a>:
                    544:   Written and maintained by Jasper Lievisse Adriaanse,
                    545:   originally forked from FreeBSD's portscout.
1.16      deraadt   546:   Port available since September 5, 2014.
1.1       schwarze  547: </ul>
                    548:
                    549: </body>
                    550: </html>