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

Annotation of www/63.html, Revision 1.42

1.1       deraadt     1: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                      2: <html>
                      3: <head>
                      4: <title>OpenBSD 6.3</title>
                      5: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                      6: <meta name="description" content="OpenBSD 6.3">
                      7: <meta name="copyright" content="This document copyright 2018 by OpenBSD.">
                      8: <meta name="viewport" content="width=device-width, initial-scale=1">
                      9: <link rel="stylesheet" type="text/css" href="openbsd.css">
                     10: <link rel="canonical" href="https://www.openbsd.org/63.html">
                     11: </head>
                     12:
                     13: <body bgcolor="#ffffff" text="#000000" link="#24248E">
                     14:
                     15: <h2>
                     16: <a href="index.html">
                     17: <i><font color="#0000ff">Open</font></i><font color="#000084">BSD</font></a>
                     18: <font color="#e00000">6.3</font>
                     19: </h2>
                     20:
                     21: <a href="images/XXX.gif">
                     22: <img align="left" width="227" height="343" hspace="24" src="images/XXX.gif"></a>
                     23: Released Apr 15, 2018<br>
                     24: Copyright 1997-2018, Theo de Raadt.<br>
                     25: <br>
                     26: <br>
                     27: 6.3 Song: XXX.
                     28:
                     29: <br>
                     30: <ul>
                     31: <li>See the information on <a href="ftp.html">the FTP page</a> for
                     32:     a list of mirror machines.
                     33: <li>Go to the <font color="#e00000">pub/OpenBSD/6.3/</font> directory on
                     34:     one of the mirror sites.
                     35: <li>Have a look at <a href="errata63.html">the 6.3 errata page</a> for a list
                     36:     of bugs and workarounds.
                     37: <li>See a <a href="plus63.html">detailed log of changes</a> between the
                     38:     6.2 and 6.3 releases.
                     39: <p>
                     40: <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
                     41:     pubkeys for this release:<br>
                     42: <pre>
1.6       sthen      43: base: RWRxzbLwAd76ZZxHU7wuIFUOVGwl6SjNNzanKWTql8w+hui7WLE/72mW
                     44: fw:   RWT3tdmiAc+DH/CJOxPFT10kUM90/UcLTgSEUEKzhKm9QEhy+UD4CWPy
                     45: pkg:  RWT58k1AWz/zZO9DHcPHXiHhDNP6hdwGjxNkyMoc/sh4O5NI8Zz1R1lD
1.1       deraadt    46: </pre>
                     47: <p>
                     48: All applicable copyrights and credits are in the src.tar.gz,
                     49: sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
                     50: files fetched via ports.tar.gz.
                     51: </ul>
                     52: <br clear=all>
                     53:
                     54: <hr>
                     55:
                     56: <h3 id="new"><font color="#0000e0">What's New</font></h3>
                     57:
                     58: This is a partial list of new features and systems included in OpenBSD 6.3.
                     59: For a comprehensive list, see the <a href="plus63.html">changelog</a> leading
                     60: to 6.3.
                     61:
                     62: <ul>
                     63:
                     64: <li>Improved hardware support, including:
                     65:     <ul>
1.26      kettenis   66:     <li>SMP support on OpenBSD/arm64 platforms.
1.28      kettenis   67:     <li>VFP and NEON support on OpenBSD/armv7 platforms.
1.21      jsg        68:     <li>New <a href="https://man.openbsd.org/acrtc.4">acrtc(4)</a> driver
                     69:        for X-Powers AC100 audio codec and Real Time Clock.
                     70:     <li>New <a href="https://man.openbsd.org/axppmic.4">axppmic(4)</a> driver
                     71:        for X-Powers AXP Power Management ICs.
                     72:     <li>New <a href="https://man.openbsd.org/bcmrng.4">bcmrng(4)</a> driver
                     73:        for Broadcom BCM2835/BCM2836/BCM2837 random number generator.
                     74:     <li>New <a href="https://man.openbsd.org/bcmtemp.4">bcmtemp(4)</a> driver
                     75:        for Broadcom BCM2835/BCM2836/BCM2837 temperature monitor.
                     76:     <li>New <a href="https://man.openbsd.org/bgw.4">bgw(4)</a> driver
                     77:        for Bosch motion sensor.
                     78:     <li>New <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> driver
                     79:        for Broadcom and Cypress FullMAC 802.11 devices.
                     80:     <li>New <a href="https://man.openbsd.org/efi.4">efi(4)</a> driver
                     81:        for EFI runtime services.
                     82:     <li>New <a href="https://man.openbsd.org/imxanatop.4">imxanatop(4)</a> driver
                     83:        for i.MX6 integrated regulator.
                     84:     <li>New <a href="https://man.openbsd.org/rkpcie.4">rkpcie(4)</a> driver
                     85:        for Rockchip RK3399 Host/PCIe bridge.
                     86:     <li>New <a href="https://man.openbsd.org/sxirsb.4">sxirsb(4)</a> driver
                     87:        for Allwinner Reduced Serial Bus controller.
                     88:     <li>New <a href="https://man.openbsd.org/sxitemp.4">sxitemp(4)</a> driver
                     89:        for Allwinner temperature monitor.
                     90:     <li>New <a href="https://man.openbsd.org/sxits.4">sxits(4)</a> driver
                     91:        for temperature sensor on Allwinner A10/A20 touchpad controller.
                     92:     <li>New <a href="https://man.openbsd.org/sxitwi.4">sxitwi(4)</a> driver
                     93:        for two-wire bus found on several Allwinner SoCs.
                     94:     <li>New <a href="https://man.openbsd.org/sypwr.4">sypwr(4)</a> driver
                     95:        for the Silergy SY8106A regulator.
1.26      kettenis   96:     <li>Support for Rockchip RK3328 SoCs has been added to the
                     97:         <a href="https://man.openbsd.org/dwge.4">dwge(4)</a>,
                     98:         <a href="https://man.openbsd.org/rkgrf.4">rkgrf(4)</a>,
                     99:        <a href="https://man.openbsd.org/rkclock.4">rkclock(4)</a> and
                    100:        <a href="https://man.openbsd.org/rkpinctrl.4">rkpinctrl(4)</a>
                    101:        drivers.
                    102:     <li>Support for Rockchip RK3228/3328 SoCs has been added to the
                    103:         <a href="https://man.openbsd.org/rktemp.4">rktemp(4)</a>
                    104:        driver.
                    105:     <li>Support for Allwinner A10/A20, A23/A33, A80 and R40/V40
                    106:         SoCs has been added to the
                    107:        <a href="https://man.openbsd.org/sxiccmu.4">sxiccmu(4)</a> driver.
                    108:     <li>Support for Allwinner A33, GR8 and R40/V40 SoCs has been
                    109:         added to the
                    110:        <a href="https://man.openbsd.org/sxipio.4">sxipio(4)</a> driver.
1.21      jsg       111:     <li>support for SAS3.5 MegaRAIDs was added to the
                    112:         <a href="https://man.openbsd.org/mfii.4">mfii(4)</a> driver.
                    113:     <li>support for Intel Cannon Lake and Ice Lake integrated Ethernet
                    114:         was added to the
                    115:         <a href="https://man.openbsd.org/em.4">em(4)</a> driver.
1.23      visa      116:     <li><a href="https://man.openbsd.org/cnmac.4">cnmac(4)</a> ports are now
                    117:         assigned to different CPU cores for distributed interrupt processing.
1.24      anton     118:     <li>The <a href="https://man.openbsd.org/pms.4">pms(4)</a> driver now
                    119:         detects and handles reset announcements.
1.25      jsg       120:     <li>On amd64 Intel CPU microcode is loaded on boot and installed/updated by
                    121:         <a href="https://man.openbsd.org/fw_update.1">fw_update(1)</a>.
1.35      kettenis  122:     <li>Support the sun4v hypervisor interrupt cookie API, adding support
                    123:         for SPARC T7-1/2/4 machines.
1.1       deraadt   124:     </ul>
                    125:
                    126: <p>
                    127: <li><a href="https://man.openbsd.org/amd64/vmm.4">vmm(4)</a>/
                    128:     <a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> improvements:
                    129:     <ul>
1.8       ccardena  130:     <li>Add CD-ROM/DVD ISO support to <a
                    131:         href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> via <a
                    132:        href="https://man.openbsd.org/vioscsi.4">vioscsi(4)</a>.
                    133:     <li><a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> no longer
                    134:        creates an underlying bridge interface for virtual switches defined in
1.18      mlarkin   135:        <a href="https://man.openbsd.org/amd64/vm.conf.5">vm.conf(5)</a>
1.8       ccardena  136:     <li><a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> receives
                    137:        switch information (rdomain, etc) from underlying switch interface in
                    138:        conjunction of settings in <a
1.18      mlarkin   139:        href="https://man.openbsd.org/amd64/vm.conf.5">vm.conf(5)</a>
                    140:     <li>TSC (time stamp counter) support in guest VMs
                    141:     <li>Support ukvm/Solo5 unikernels in
                    142:         <a href="https://man.openbsd.org/amd64/vmm.4">vmm(4)</a>
                    143:     <li>Handle valid (but uncommon) instruction encodings better
                    144:     <li>Better PAE paging support for 32-bit Linux guest VMs
                    145:     <li><a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> now allows up
                    146:         to 4 network interfaces in each VM
1.17      pd        147:     <li>Add paused migration and snapshotting support to <a
                    148:         href="https://man.openbsd.org/amd64/vmm.4">vmm(4)</a> for AMD SVM/RVI
                    149:         hosts.
1.37      deraadt   150:     <li>BREAK commands sent over a
1.33      mpi       151:      <a href="https://man.openbsd.org/pty.4">pty(4)</a> are now understood by
                    152:      <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
1.8       ccardena  153:     <li>Many fixes to <a href="https://man.openbsd.org/amd64/vmctl.8">vmctl(8)</a>
1.18      mlarkin   154:         and <a href="https://man.openbsd.org/amd64/vmd.8">vmd(8)</a> error handling
1.1       deraadt   155:     </ul>
                    156: <p>
                    157:
                    158: <li>IEEE 802.11 wireless stack improvements:
                    159:     <ul>
1.34      stsp      160:     <li>The <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> and
1.37      deraadt   161:        <a href="https://man.openbsd.org/iwn.4">iwn(4)</a> drivers will
                    162:        automatically roam between access points which share an ESSID.
                    163:         Forcing a particular AP's MAC address with ifconfig's <b>bssid</b>
                    164:         command disables roaming.
                    165:     <li>Automatically clear configured WEP/WPA keys when a new network ESSID
                    166:        is configured.
                    167:     <li>Removed the ability for userland to read configured WEP/WPA keys back
                    168:        from the kernel.
                    169:     <li>The <a href="https://man.openbsd.org/iwm.4">iwm(4)</a> driver can now
                    170:        connect to networks with a hidden SSID.
                    171:     <li>USB devices supported by the
                    172:        <a href="https://man.openbsd.org/athn.4">athn(4)</a> driver
                    173:         now use an open source firmware, and hostap mode now works with
                    174:        these devices.
1.1       deraadt   175:     </ul>
                    176: <p>
                    177:
                    178: <li>Generic network stack improvements:
                    179:     <ul>
1.37      deraadt   180:     <li>The network stack no longer runs with the KERNEL_LOCK() when IPsec is
                    181:          enabled.
1.42    ! bluhm     182:     <li>Processing of incoming TCP/UDP packets is now done without
1.37      deraadt   183:          KERNEL_LOCK().
1.42    ! bluhm     184:     <li>The socket splicing task runs without KERNEL_LOCK().
1.37      deraadt   185:     <li>Cleanup and removal of code in sys/netinet6 since autoconfiguration
                    186:         runs in userland now.
                    187:     <li><a href="https://man.openbsd.org/bridge.4">bridge(4)</a> members can
                    188:         now be prevented to talk to each others with the new <b>protected</b>
                    189:         option.
1.42    ! bluhm     190:     <li>The pf divert-packet feature has been simplified.
        !           191:        The IP_DIVERTFL socket option has been removed from <a
        !           192:        href="https://man.openbsd.org/divert.4">divert(4)</a>.
        !           193:     <li>Various corner cases of pf divert-to and divert-reply are
        !           194:        more consistent now.
        !           195:     <li>Enforce in <a href="https://man.openbsd.org/pf.4">pf(4)</a>
        !           196:        that all neighbor discovery packets have 255 in their IPv6
        !           197:        header hop limit field.
1.2       deraadt   198:     <li>...
1.1       deraadt   199:     </ul>
                    200: <p>
                    201:
                    202: <li>Installer improvements:
                    203:     <ul>
1.2       deraadt   204:     <li>...
1.1       deraadt   205:     </ul>
                    206: <p>
                    207:
                    208: <li>Routing daemons and other userland network improvements:
                    209:     <ul>
1.10      deraadt   210:     <li><a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> has a new
1.11      florian   211:         <b>ssv</b> option which outputs rib entries as a single semicolon-seperated
1.10      deraadt   212:         like for selection before output.
1.13      florian   213:     <li><a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> generates
                    214:         random but stable IPv6 stateless autoconfiguration addresses according
                    215:         to RFC 7217.
                    216:         These are enabled per default in accordance with RFC 8064.
1.15      florian   217:     <li><a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> can generate
                    218:         RFC 7217 (random but stable) and RFC 4941 (privacy) style stateless
                    219:         autoconfiguration addresses on non-/64 prefixes.
1.27      remi      220:     <li><a href="https://man.openbsd.org/ospfd.8">ospfd(8)</a> can now set the
                    221:         metric for a route depending on the status of an interface.
1.37      deraadt   222:     <li><a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> has a new
                    223:         <b>staticarp</b> option to make interfaces reply to ARP requests only.
                    224:     <li><a href="https://man.openbsd.org/ipsecctl.8">ipsecctl(8)</a> can now
                    225:         collapse flow outputs having the same source or destination
1.36      tb        226:     <li>The <tt>-n</tt> option in the
                    227:         <a href="https://man.openbsd.org/netstart.8">netstart(8)</a> no longer
                    228:         messes with the default route.
                    229:         It is now documented as well.
1.2       deraadt   230:     <li>...
1.1       deraadt   231:     </ul>
                    232: <p>
                    233:
                    234: <li>Security improvements:
                    235:     <ul>
1.10      deraadt   236:     <li>Use even more trap-sleds on various architectures.
                    237:     <li>More use of .rodata for constant variables in assembly source.
                    238:     <li>Stop using x86 "repz ret" in dusty corners of the tree.
                    239:     <li>Introduce "execpromises" in
                    240:         <a href="https://man.openbsd.org/pledge.2">pledge(2)</a>.
                    241:     <li>Prepare for the introduction of <b>MAP_STACK</b> to
                    242:         <a href="https://man.openbsd.org/mmap.2">mmap(2)</a> after 6.3.
                    243:     <li>Push a small piece of KARL-linked kernel text into the random
                    244:         number generator as entropy at startup.
                    245:     <li>Put a small random gap at the top of thread stacks, so that attackers
                    246:         have yet another calculation to perform for their ROP work.
1.19      mlarkin   247:     <li>Mitigation for Meltdown vulnerability for Intel brand amd64 CPUs
1.26      kettenis  248:     <li>OpenBSD/arm64 now uses kernel page table isolation to mitigate
                    249:         Spectre variant 3 (Meltdown) attacks.
                    250:     <li>OpenBSD/armv7 and OpenBSD/arm64 now flush the branch target
                    251:         cache (BTB) on processors that do speculative execution to
                    252:         mitigate Spectre variant 2 attacks.
1.2       deraadt   253:     <li>...
1.1       deraadt   254:     </ul>
                    255: <p>
                    256:
                    257: <li><a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> improvements:
                    258:     <ul>
1.32      krw       259:       <li>parsing <a href="https://man.openbsd.org/dhclient.conf.5">
                    260:        dhclient.conf(5)</a> no longer leaks SSID strings, strings that are
                    261:        too long for the parsing buffer or repeated string options and commands.
                    262:       <li>storing leases in <a href="https://man.openbsd.org/dhclient.conf.5">
                    263:          dhclient.conf(5)</a> is no longer supported.
                    264:       <li>'DENY' is no longer valid in  <a href="https://man.openbsd.org/dhclient.conf.5">
                    265:          dhclient.conf(5)</a>.
                    266:       <li><a href="https://man.openbsd.org/dhclient.conf.5">
                    267:          dhclient.conf(5)</a> and
                    268:        <a href="https://man.openbsd.org/dhclient.leases.5">
                    269:          dhclient.leases(5)</a>
                    270:        parsing error messages have been simplified and clarified, with
                    271:        improved behaviour in the presence of unexpected semicolons.
                    272:       <li>more care is taken to only use configuration information that was
                    273:        successfully parsed.
1.41      krw       274:       <li>'-n' has been added, which causes
                    275:        <a href="https://man.openbsd.org/dhclient.8">
                    276:          dhclient(8)</a> to exit after parsing
                    277:        <a href="https://man.openbsd.org/dhclient.conf.5">
                    278:          dhclient.conf(5)</a>.
                    279:       <li>default routes in options classless-static-routes (121) and
                    280:        classless-ms-static-routes (249) are now correctly represented in
                    281:        <a href="https://man.openbsd.org/dhclient.leases.5">
                    282:          dhclient.leases(5)</a> files.
                    283:     <li>overwrite the file specified with '-L' rather than appending to it.
                    284:     <li>leases in <a href="https://man.openbsd.org/dhclient.leases.5">
                    285:        dhclient.leases(5)</a> now contain an 'epoch' attribute recording
                    286:       the time the lease was accepted, which is used to calculate correct
                    287:       renewal, rebinding and expiry times.
                    288:     <li>no longer nag about underscores in names violating RFC 952.
                    289:     <li>unconditionally send host-name information when
                    290:       requesting a lease, eliminating the need for
                    291:        <a href="https://man.openbsd.org/dhclient.conf.5">
                    292:          dhclient.conf(5)</a> in the default installation.
                    293:     <li>be quiet by default. '-q' has been removed and '-v' added to
                    294:       enable verbose logging.
                    295:     <li>decline duplicate offers for the requested address.
                    296:     <li>unconditionally go into the background after link-timeout seconds.
                    297:     <li>significantly reduce logging when being quiet, but make '-v' log
                    298:       all debug information without needing to compile a custom executable.
                    299:     <li>ignore 'interface' statements in
                    300:        <a href="https://man.openbsd.org/dhclient.leases.5">
                    301:          dhclient.leases(5)</a> and assume all leases in the file are
                    302:        for the interface being configured.
                    303:     <li>display the source of the lease bound to the interface.
                    304:     <li>'ignore', 'request' and 'require' declarations in
                    305:        <a href="https://man.openbsd.org/dhclient.conf.5">
                    306:          dhclient.conf(5)</a> now add the specified options to the relevant
                    307:        list rather than replacing the list.
                    308:     <li>eliminate a startup race that could result in
                    309:        <a href="https://man.openbsd.org/dhclient.8">
                    310:          dhclient(8)</a> exiting without configuring the interface.
1.1       deraadt   311:     </ul>
                    312: <p>
                    313:
                    314: <li>Assorted improvements:
                    315:     <ul>
1.9       otto      316:     <li>Code reorganization and other improvements to
                    317:         <a href="https://man.openbsd.org/malloc.3">malloc(3)</a>
                    318:        and friends to make them more efficient.
1.10      deraadt   319:     <li>When performing suspend or hibernate operations, ensure all filesystems
                    320:         are properly syncronized and marked clean, or if they cannot be
                    321:         put into perfectly clean state on disk (due to open+unlinked files)
                    322:         then mark them dirty, so that a failed resume/unhinbernate is gauranteed
                    323:        to perform fsck.
1.16      florian   324:     <li><a href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>
                    325:         autodetects the agreement url and follows 30x http redirects.
1.20      guenther  326:     <li>Added __cxa_thread_atexit() to support modern C++ tool chains
                    327:     <li>Added EVFILT_DEVICE support to
                    328:        <a href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> for
                    329:        monitoring changes to drm devices.
1.23      visa      330:     <li><a href="https://man.openbsd.org/ldexp.3">ldexp(3)</a> now handles
1.30      krw       331:       the sign of denormal numbers correctly on mips64.
                    332:     <li><a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> now ensures the
                    333:       validity of MBR partition offsets entered while editing.
                    334:     <li><a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> now ensures that
                    335:       default values lie within the valid range.
                    336:     <li><a href="https://man.openbsd.org/less.1">less(1)</a> now splits only
1.32      krw       337:       the environment variable LESS on '$'.
1.30      krw       338:     <li><a href="https://man.openbsd.org/less.1">less(1)</a> no longer creates
                    339:       a spurious file when encountering '$' in the initial command.
                    340:     <li><a href="https://man.openbsd.org/softraid.4">softraid(4)</a> now validates
                    341:       the number of chunks when assembling a volume, ensuring the on-disk
                    342:       and in-memory metadata are in sync.
1.31      krw       343:     <li><a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> now
                    344:       always offers to edit an FFS partition's fragment size before offering to
                    345:       edit the blocksize.
                    346:     <li><a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> now
                    347:       allows editing the cylinders/group (cpg) attribute whenever the partition
                    348:       blocksize can be edited.
                    349:     <li><a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> now
                    350:       detects ^D and invalid input during (R)esize commands.
                    351:     <li><a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> now
                    352:       detects underflows and overflows when -/+ operators are used.
                    353:     <li><a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> now
                    354:       avoids an off-by-one when calculating the number of cylinders in a free
                    355:       chunk.
                    356:     <li><a href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> now
                    357:       validates the requested partition size against the size of the largest free
                    358:       chunk instead of the total free space.
1.37      deraadt   359:     <li>Support for dumping USB transfers via
                    360:         <a href="https://man.openbsd.org/bpf.4">bpf(4)</a>
                    361:     <li><a href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> can now
1.38      deraadt   362:         understand dumps of USB transfers in the
1.37      deraadt   363:         <a href="http://desowin.org/usbpcap/captureformat.html">USBPcap</a>
                    364:         format.
1.36      tb        365:     <li>The default prompts of <a href="https://man.openbsd.org/csh.1">csh(1)</a>,
                    366:         <a href="https://man.openbsd.org/ksh.1">ksh(1)</a> and
                    367:         <a href="https://man.openbsd.org/sh.1">sh(1)</a> now include the hostname.
                    368:     <li>Memory allocation in ksh was switched from
                    369:         <a href="https://man.openbsd.org/calloc.3">calloc(3)</a> back to
                    370:         <a href="https://man.openbsd.org/malloc.3">malloc(3)</a>,
                    371:         making it easier to recognize uninitialized memory.
                    372:         As a result, a history-related bug in emacs editing mode was discovered
                    373:         and fixed.
                    374:     <li>The <a href="https://man.openbsd.org/printf.3">printf(3)</a> format
                    375:         string is no longer validated when looking for <tt>%</tt> formats.
                    376:         Based on a commit by android and following most other operating systems.
                    377:     <li>Improved error checking in
                    378:         <a href="https://man.openbsd.org/vfwprintf.3">vfwprintf(3)</a>.
                    379:     <li>Many base programs have been audited and fixed for stale file descriptors,
                    380:         including
                    381:         <a href="https://man.openbsd.org/cron.8">cron(8)</a>,
                    382:         <a href="https://man.openbsd.org/ftp.1">ftp(1)</a>,
                    383:         <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>,
                    384:         <a href="https://man.openbsd.org/openssl.1">openssl(1)</a>,
                    385:         <a href="https://man.openbsd.org/ssh.1">ssh(1)</a> and
                    386:         <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>.
                    387:     <li>Various bug fixes and improvements in
                    388:         <a href="https://man.openbsd.org/jot.1">jot(1)</a>:
                    389:         <ul>
                    390:           <li>Arbitrary length limits for the arguments for the
                    391:               <tt>-b</tt>, <tt>-s</tt>, <tt>-w</tt> options were removed.
                    392:           <li>The <tt>%F</tt> format specifier is now supported and a bug
                    393:               in the <tt>%D</tt> format was fixed.
                    394:           <li>Better code coverage in regression tests.
                    395:           <li>Several buffer overruns were fixed.
                    396:         </ul>
                    397:     <li>The <a href="https://man.openbsd.org/patch.1">patch(1)</a> utility now
                    398:         copes better with git diffs that create or delete files.
                    399:     <li>The elfrdsetroot utility used to build ramdisks is now pledged.
1.42    ! bluhm     400:     <li><a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>
        !           401:        now has improved support for HTTP(S) redirectors such as
        !           402:        <i>cdn.openbsd.org</i>.
        !           403:     <li><a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
        !           404:        logs if there were warnings during startup.
        !           405:     <li><a href="https://man.openbsd.org/syslogd.8">syslogd(8)</a>
        !           406:        stopped logging to files in a full filesystem.  Now it
        !           407:        writes a warning and continues after space has been made
        !           408:        available.
1.2       deraadt   409:     <li>...
1.1       deraadt   410:     </ul>
                    411: <p>
                    412:
1.22      jsg       413: <li>OpenSMTPD 6.0.4
1.1       deraadt   414:     <ul>
1.2       deraadt   415:     <li>...
1.1       deraadt   416:     </ul>
                    417: <p>
                    418:
1.22      jsg       419: <li>OpenSSH 7.7
1.1       deraadt   420:     <ul>
                    421:     <li>Security:
                    422:       <ul>
1.2       deraadt   423:       <li>...
1.1       deraadt   424:       </ul>
                    425:     <li>New/changed features:
                    426:       <ul>
1.2       deraadt   427:       <li>...
1.1       deraadt   428:       </ul>
                    429:     <li>The following significant bugs have been fixed in this release:
                    430:       <ul>
1.2       deraadt   431:       <li>...
1.1       deraadt   432:       </ul>
                    433:     </ul>
                    434: <p>
                    435:
1.22      jsg       436: <li>LibreSSL 2.7.2
1.29      beck      437:    <ul>
                    438:    <li> Fixed a bug in int_x509_param_set_hosts, calling strlen() if name
                    439:    length provided is 0 to match the OpenSSL behaviour. Issue noticed
1.36      tb        440:    by Christian Heimes &lt;christian@python.org&gt;
1.29      beck      441:    <li> Added support for many OpenSSL 1.0.2 and 1.1 APIs, based on
                    442:    observations of real-world usage in applications. These are
                    443:    implemented in parallel with existing OpenSSL 1.0.1 APIs - visibility
                    444:    changes have not been made to existing structs, allowing code written
                    445:    for older OpenSSL APIs to continue working.
                    446:    <li> Extensive corrections, improvements, and additions to the
                    447:    API documentation, including new public APIs from OpenSSL that had
                    448:    no pre-existing documentation.
                    449:    <li> Added support for automatic library initialization in libcrypto,
                    450:    libssl, and libtls. Support for pthread_once or a compatible
                    451:    equivalent is now required of the target operating system. As a
                    452:    side-effect, minimum Windows support is Vista or higher.
                    453:    <li> Converted more packet handling methods to CBB, which improves
                    454:    resiliency when generating TLS messages.
                    455:    <li> Completed TLS extension handling rewrite, improving consistency of
                    456:    checks for malformed and duplicate extensions.
                    457:    <li>Rewrote ASN1_TYPE_{get,set}_octetstring() using templated ASN.1.
                    458:    This removes the last remaining use of the old M_ASN1_* macros
                    459:    (asn1_mac.h) from API that needs to continue to exist.
                    460:    <li> Added support for client-side session resumption in libtls.
                    461:    A libtls client can specify a session file descriptor (a regular
                    462:    file with appropriate ownership and permissions) and libtls will
                    463:    manage reading and writing of session data across TLS handshakes.
                    464:    <li> Improved support for strict alignment on ARMv7 architectures,
                    465:    conditionally enabling assembly in those cases.
                    466:    <li> Fixed a memory leak in libtls when reusing a tls_config.
                    467:    <li> Merged more DTLS support into the regular TLS code path, removing
                    468:    duplicated code.
                    469:    </ul>
1.1       deraadt   470: <p>
1.37      deraadt   471:
1.1       deraadt   472: <li>mandoc 1.14.3
                    473:     <ul>
1.2       deraadt   474:     <li>...
1.1       deraadt   475:     </ul>
                    476: <p>
                    477:
                    478: <li>Ports and packages:
                    479:     <dl>
                    480:     <dt>Many pre-built packages for each architecture:
                    481:     </dl>
                    482:     <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
                    483:     <table border=0 cellspacing=0 cellpadding=2 width="95%">
                    484:     <tr>
                    485:     <td valign="top" width="25%">
                    486:     <ul>
                    487:       <li>aarch64:    XXXX
                    488:       <li>amd64:      XXXX
                    489:       <li>arm:        XXXX
                    490:     </ul></td><td valign=top width="25%"><ul>
                    491:       <li>hppa:       XXXX
                    492:       <li>i386:       XXXX
                    493:       <li>mips64:     XXXX
                    494:     </ul></td><td valign=top width="25%"><ul>
                    495:       <li>mips64el:   XXXX
                    496:       <li>powerpc:    XXXX
                    497:       <li>sparc64:    XXXX
                    498:     </ul></td></tr></table>
                    499:     <p>
                    500:
                    501:     <dl>
                    502:     <dt>Some highlights:
                    503:     </dl>
                    504:     <table border=0 cellspacing=0 cellpadding=2 width="95%">
                    505:     <tr>
                    506:     <td valign="top" width="50%"><ul>
1.3       lteo      507:        <li>AFL 2.52b
                    508:        <li>CMake 3.10.2
1.14      kn        509:        <li>Chromium 65.0.3325.181
1.1       deraadt   510:        <li>Emacs 21.4 and 25.3
                    511:        <li>GCC 4.9.4
1.3       lteo      512:        <li>GHC 8.2.2
1.1       deraadt   513:        <li>Gimp 2.8.22
1.3       lteo      514:        <li>GNOME 3.26.2
                    515:        <li>Go 1.10
1.1       deraadt   516:        <li>Groff 1.22.3
                    517:        <li>JDK 8u144
                    518:        <li>KDE 3.5.10 and 4.14.3 (plus KDE4 core updates)
1.3       lteo      519:        <li>LLVM/Clang 5.0.1
                    520:        <li>LibreOffice 6.0.2.1
                    521:        <li>Lua 5.1.5, 5.2.4 and 5.3.4
                    522:        <li>MariaDB 10.0.34
1.40      landry    523:        <li>Mozilla Firefox 52.7.3esr and 59.0.2
                    524:        <li>Mozilla Thunderbird 52.7.0
1.1       deraadt   525:     </ul></td><td valign=top width="50%"><ul>
1.3       lteo      526:        <li>Mutt 1.9.4 and NeoMutt 20180223
                    527:        <li>Node.js 8.9.4
1.1       deraadt   528:        <li>Ocaml 4.03.0
                    529:        <li>OpenLDAP 2.3.43 and 2.4.45
1.3       lteo      530:        <li>PHP 5.6.34 and 7.0.28
                    531:        <li>Postfix 3.3.0 and 3.4-20180203
                    532:        <li>PostgreSQL 10.3
                    533:        <li>Python 2.7.14 and 3.6.4
1.7       lteo      534:        <li>R 3.4.4
1.3       lteo      535:        <li>Ruby 2.3.6, 2.4.3 and 2.5.0
                    536:        <li>Rust 1.24.0
1.1       deraadt   537:        <li>Sendmail 8.16.0.21
1.14      kn        538:        <li>SQLite3 3.22.0
1.3       lteo      539:        <li>Sudo 1.8.22
                    540:        <li>Tcl/Tk 8.5.19 and 8.6.8
                    541:        <li>TeX Live 2017
                    542:        <li>Vim 8.0.1589
1.1       deraadt   543:        <li>Xfce 4.12
                    544:     </ul></td></tr></table>
                    545: <p>
                    546:
                    547: <li>As usual, steady improvements in manual pages and other documentation.
                    548: <p>
                    549:
                    550: <li>The system includes the following major components from outside suppliers:
                    551:     <ul>
1.4       matthieu  552:     <li>Xenocara (based on X.Org 7.7 with xserver 1.19.6 + patches,
                    553:       freetype 2.8.1, fontconfig 2.12.4, Mesa 13.0.6, xterm 330,
1.1       deraadt   554:       xkeyboard-config 2.20 and more)
1.4       matthieu  555:     <li>LLVM/Clang 5.0.1 (+ patches)
1.1       deraadt   556:     <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
1.4       matthieu  557:     <li>Perl 5.24.3 (+ patches)
                    558:     <li>NSD 4.1.20
                    559:     <li>Unbound 1.6.8
1.1       deraadt   560:     <li>Ncurses 5.7
                    561:     <li>Binutils 2.17 (+ patches)
                    562:     <li>Gdb 6.3 (+ patches)
                    563:     <li>Awk Aug 10, 2011 version
1.4       matthieu  564:     <li>Expat 2.2.5
1.1       deraadt   565:     </ul>
                    566: </ul>
                    567:
                    568: <hr>
                    569:
                    570: <h3 id="install"><font color="#0000e0">How to install</font></h3>
                    571:
                    572: Please refer to the following files on the mirror site for
                    573: extensive details on how to install OpenBSD 6.3 on your machine:
                    574:
                    575: <ul>
                    576: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/alpha/INSTALL.alpha">
                    577:        .../OpenBSD/6.3/alpha/INSTALL.alpha</a>
                    578: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/amd64/INSTALL.amd64">
                    579:        .../OpenBSD/6.3/amd64/INSTALL.amd64</a>
                    580: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/arm64/INSTALL.arm64">
                    581:        .../OpenBSD/6.3/arm64/INSTALL.arm64</a>
                    582: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/armv7/INSTALL.armv7">
                    583:        .../OpenBSD/6.3/armv7/INSTALL.armv7</a>
                    584: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/hppa/INSTALL.hppa">
                    585:        .../OpenBSD/6.3/hppa/INSTALL.hppa</a>
                    586: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/i386/INSTALL.i386">
                    587:        .../OpenBSD/6.3/i386/INSTALL.i386</a>
                    588: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/landisk/INSTALL.landisk">
                    589:        .../OpenBSD/6.3/landisk/INSTALL.landisk</a>
                    590: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/loongson/INSTALL.loongson">
                    591:        .../OpenBSD/6.3/loongson/INSTALL.loongson</a>
                    592: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/luna88k/INSTALL.luna88k">
                    593:        .../OpenBSD/6.3/luna88k/INSTALL.luna88k</a>
                    594: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/macppc/INSTALL.macppc">
                    595:        .../OpenBSD/6.3/macppc/INSTALL.macppc</a>
                    596: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/octeon/INSTALL.octeon">
                    597:        .../OpenBSD/6.3/octeon/INSTALL.octeon</a>
                    598: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/sgi/INSTALL.sgi">
                    599:        .../OpenBSD/6.3/sgi/INSTALL.sgi</a>
                    600: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.3/sparc64/INSTALL.sparc64">
                    601:        .../OpenBSD/6.3/sparc64/INSTALL.sparc64</a>
                    602: </ul>
                    603:
                    604: <hr>
                    605:
                    606: <p>
                    607: Quick installer information for people familiar with OpenBSD, and the use of
                    608: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
                    609: If you are at all confused when installing OpenBSD, read the relevant
                    610: INSTALL.* file as listed above!
                    611:
                    612: <h3><font color="#e00000">OpenBSD/alpha:</font></h3>
                    613:
                    614: <ul style="list-style-type: none">
                    615: <li>
                    616: Write <i>floppy63.fs</i> or <i>floppyB63.fs</i> (depending on your machine)
                    617: to a diskette and enter <i>boot dva0</i>.
                    618: Refer to INSTALL.alpha for more details.
                    619: <p>
                    620: <li>
                    621: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                    622: will most likely fail.
                    623: </ul>
                    624:
                    625: <h3><font color="#e00000">OpenBSD/amd64:</font></h3>
                    626:
                    627: <ul style="list-style-type: none">
                    628: <li>
                    629: If your machine can boot from CD, you can write <i>install63.iso</i> or
                    630: <i>cd63.iso</i> to a CD and boot from it.
                    631: You may need to adjust your BIOS options first.
                    632: <p>
                    633: <li>
                    634: If your machine can boot from USB, you can write <i>install63.fs</i> or
                    635: <i>miniroot63.fs</i> to a USB stick and boot from it.
                    636: <p>
                    637: <li>
                    638: If you can't boot from a CD, floppy disk, or USB,
                    639: you can install across the network using PXE as described in the included
                    640: INSTALL.amd64 document.
                    641: <p>
                    642: <li>
                    643: If you are planning to dual boot OpenBSD with another OS, you will need to
                    644: read INSTALL.amd64.
                    645: </ul>
                    646:
                    647: <h3><font color="#e00000">OpenBSD/arm64:</font></h3>
                    648:
                    649: <ul style="list-style-type: none">
                    650: <li>
                    651: Write <i>miniroot63.fs</i> to a disk and boot from it after connecting
                    652: to the serial console.  Refer to INSTALL.arm64 for more details.
                    653: <p>
                    654: </ul>
                    655:
                    656: <h3><font color="#e00000">OpenBSD/armv7:</font></h3>
                    657:
                    658: <ul style="list-style-type: none">
                    659: <li>
                    660: Write a system specific miniroot to an SD card and boot from it after connecting
                    661: to the serial console.  Refer to INSTALL.armv7 for more details.
                    662: <p>
                    663: </ul>
                    664:
                    665: <h3><font color="#e00000">OpenBSD/hppa:</font></h3>
                    666:
                    667: <ul style="list-style-type: none">
                    668: <li>
                    669: Boot over the network by following the instructions in INSTALL.hppa or the
                    670: <a href="hppa.html#install">hppa platform page</a>.
                    671: </ul>
                    672:
                    673: <h3><font color="#e00000">OpenBSD/i386:</font></h3>
                    674:
                    675: <ul style="list-style-type: none">
                    676: <li>
                    677: If your machine can boot from CD, you can write <i>install63.iso</i> or
                    678: <i>cd63.iso</i> to a CD and boot from it.
                    679: You may need to adjust your BIOS options first.
                    680: <p>
                    681: <li>
                    682: If your machine can boot from USB, you can write <i>install63.fs</i> or
                    683: <i>miniroot63.fs</i> to a USB stick and boot from it.
                    684: <p>
                    685: <li>
                    686: If you can't boot from a CD, floppy disk, or USB,
                    687: you can install across the network using PXE as described in
                    688: the included INSTALL.i386 document.
                    689: <p>
                    690: <li>
                    691: If you are planning on dual booting OpenBSD with another OS, you will need to
                    692: read INSTALL.i386.
                    693: </ul>
                    694:
                    695: <h3><font color="#e00000">OpenBSD/landisk:</font></h3>
                    696:
                    697: <ul style="list-style-type: none">
                    698: <li>
                    699: Write <i>miniroot63.fs</i> to the start of the CF
                    700: or disk, and boot normally.
                    701: </ul>
                    702:
                    703: <h3><font color="#e00000">OpenBSD/loongson:</font></h3>
                    704:
                    705: <ul style="list-style-type: none">
                    706: <li>
                    707: Write <i>miniroot63.fs</i> to a USB stick and boot bsd.rd from it
                    708: or boot bsd.rd via tftp.
                    709: Refer to the instructions in INSTALL.loongson for more details.
                    710: </ul>
                    711:
                    712: <h3><font color="#e00000">OpenBSD/luna88k:</font></h3>
                    713:
                    714: <ul style="list-style-type: none">
                    715: <li>
                    716: Copy `boot' and `bsd.rd' to a Mach or UniOS partition, and boot the bootloader
                    717: from the PROM, and then bsd.rd from the bootloader.
                    718: Refer to the instructions in INSTALL.luna88k for more details.
                    719: </ul>
                    720:
                    721: <h3><font color="#e00000">OpenBSD/macppc:</font></h3>
                    722:
                    723: <ul style="list-style-type: none">
                    724: <li>
                    725: Burn the image from a mirror site to a CDROM, and power on your machine
                    726: while holding down the <i>C</i> key until the display turns on and
                    727: shows <i>OpenBSD/macppc boot</i>.
                    728: <p>
                    729: <li>
                    730: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
                    731: /6.3/macppc/bsd.rd</i>
                    732: </ul>
                    733:
                    734: <h3><font color="#e00000">OpenBSD/octeon:</font></h3>
                    735:
                    736: <ul style="list-style-type: none">
                    737: <li>
                    738: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
                    739: Refer to the instructions in INSTALL.octeon for more details.
                    740: </ul>
                    741:
                    742: <h3><font color="#e00000">OpenBSD/sgi:</font></h3>
                    743:
                    744: <ul style="list-style-type: none">
                    745: <li>
                    746: To install, burn cd63.iso on a CD-R, put it in the CD drive of your
                    747: machine and select <i>Install System Software</i> from the System Maintenance
                    748: menu. Indigo/Indy/Indigo2 (R4000) systems will not boot automatically from
                    749: CD-ROM, and need a proper invocation from the PROM prompt.
                    750: Refer to the instructions in INSTALL.sgi for more details.
                    751:
                    752: <p>
                    753: <li>
                    754: If your machine doesn't have a CD drive, you can setup a DHCP/tftp network
                    755: server, and boot using "bootp()/bsd.rd.IP##" using the kernel matching your
                    756: system type. Refer to the instructions in INSTALL.sgi for more details.
                    757: </ul>
                    758:
                    759: <h3><font color="#e00000">OpenBSD/sparc64:</font></h3>
                    760:
                    761: <ul style="list-style-type: none">
                    762: <li>
                    763: Burn the image from a mirror site to a CDROM, boot from it, and type
                    764: <i>boot cdrom</i>.
                    765: <p>
                    766: <li>
                    767: If this doesn't work, or if you don't have a CDROM drive, you can write
                    768: <i>floppy63.fs</i> or <i>floppyB63.fs</i>
                    769: (depending on your machine) to a floppy and boot it with <i>boot
                    770: floppy</i>. Refer to INSTALL.sparc64 for details.
                    771: <p>
                    772: <li>
                    773: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                    774: will most likely fail.
                    775: <p>
                    776: <li>
                    777: You can also write <i>miniroot63.fs</i> to the swap partition on
                    778: the disk and boot with <i>boot disk:b</i>.
                    779: <p>
                    780: <li>
                    781: If nothing works, you can boot over the network as described in INSTALL.sparc64.
                    782: </ul>
                    783:
                    784: <hr>
                    785:
                    786: <h3 id="upgrade"><font color="#0000e0">How to upgrade</font></h3>
                    787:
1.5       matthieu  788: If you already have an OpenBSD 6.2 system, and do not want to reinstall,
1.1       deraadt   789: upgrade instructions and advice can be found in the
                    790: <a href="faq/upgrade63.html">Upgrade Guide</a>.
                    791: <p>
                    792:
                    793: <hr>
                    794:
                    795: <h3 id="sourcecode"><font color="#0000e0">Notes about the source code</font></h3>
                    796:
                    797: <tt>src.tar.gz</tt> contains a source archive starting at <tt>/usr/src</tt>.
                    798: This file contains everything you need except for the kernel sources,
                    799: which are in a separate archive.
                    800: To extract:
                    801:
                    802: <blockquote><pre>
                    803: # <b>mkdir -p /usr/src</b>
                    804: # <b>cd /usr/src</b>
                    805: # <b>tar xvfz /tmp/src.tar.gz</b>
                    806: </pre></blockquote>
                    807:
                    808: <tt>sys.tar.gz</tt> contains a source archive starting at <tt>/usr/src/sys</tt>.
                    809: This file contains all the kernel sources you need to rebuild kernels.
                    810: To extract:
                    811:
                    812: <blockquote><pre>
                    813: # <b>mkdir -p /usr/src/sys</b>
                    814: # <b>cd /usr/src</b>
                    815: # <b>tar xvfz /tmp/sys.tar.gz</b>
                    816: </pre></blockquote>
                    817:
                    818: Both of these trees are a regular CVS checkout.  Using these trees it
                    819: is possible to get a head-start on using the anoncvs servers as
                    820: described <a href="anoncvs.html">here</a>.
                    821: Using these files
                    822: results in a much faster initial CVS update than you could expect from
                    823: a fresh checkout of the full OpenBSD source tree.
                    824: <p>
                    825:
                    826: <hr>
                    827:
                    828: <h3 id="ports"><font color="#0000e0">Ports Tree</font></h3>
                    829:
                    830: A ports tree archive is also provided.  To extract:
                    831:
                    832: <blockquote><pre>
                    833: # <b>cd /usr</b>
                    834: # <b>tar xvfz /tmp/ports.tar.gz</b>
                    835: </pre></blockquote>
                    836:
                    837: Go read the <a href="faq/ports/index.html">ports</a> page
                    838: if you know nothing about ports
                    839: at this point.  This text is not a manual of how to use ports.
                    840: Rather, it is a set of notes meant to kickstart the user on the
                    841: OpenBSD ports system.
                    842: <p>
                    843: The <i>ports/</i> directory represents a CVS checkout of our ports.
                    844: As with our complete source tree, our ports tree is available via
                    845: <a href="anoncvs.html">AnonCVS</a>.
                    846: So, in order to keep up to date with the -stable branch, you must make
                    847: the <i>ports/</i> tree available on a read-write medium and update the tree
                    848: with a command like:
                    849:
                    850: <blockquote><pre>
                    851: # <b>cd /usr/ports</b>
                    852: # <b>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_6_3</b>
                    853: </pre></blockquote>
                    854:
                    855: [Of course, you must replace the server name here with a nearby anoncvs
                    856: server.]
                    857: <p>
                    858: Note that most ports are available as packages on our mirrors. Updated
                    859: ports for the 6.3 release will be made available if problems arise.
                    860: <p>
                    861: If you're interested in seeing a port added, would like to help out, or just
                    862: would like to know more, the mailing list
                    863: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
                    864: <p>
                    865: </body>
                    866: </html>