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

Annotation of www/69.html, Revision 1.24

1.1       deraadt     1: <!doctype html>
                      2: <html lang=en id=release>
                      3: <meta charset=utf-8>
                      4:
                      5: <title>OpenBSD 6.9</title>
                      6: <meta name="description" content="OpenBSD 6.9">
                      7: <meta name="viewport" content="width=device-width, initial-scale=1">
                      8: <link rel="stylesheet" type="text/css" href="openbsd.css">
                      9: <link rel="canonical" href="https://www.openbsd.org/69.html">
                     10:
                     11: <h2 id=OpenBSD>
                     12: <a href="index.html">
                     13: <i>Open</i><b>BSD</b></a>
                     14: 6.9
                     15: </h2>
                     16:
                     17: <table>
                     18: <tr>
                     19: <td>
                     20: <a href="images/XXX.png">
                     21: <img width="227" height="303" src="images/XXX-s.gif" alt="XXX"></a>
                     22: <td>
1.2       kn         23: Released May 1, 2021.<br>
                     24: Copyright 1997-2021, Theo de Raadt.<br>
1.1       deraadt    25: <br>
                     26: 6.9 Song:
                     27: <a href="lyrics.html#69">"XXX"</a>.
                     28: <br>
1.7       job        29: Artwork by Joy San.
1.1       deraadt    30: <br>
                     31: <ul>
                     32: <li>See the information on <a href="ftp.html">the FTP page</a> for
                     33:     a list of mirror machines.
                     34: <li>Go to the <code class=reldir>pub/OpenBSD/6.9/</code> directory on
                     35:     one of the mirror sites.
                     36: <li>Have a look at <a href="errata69.html">the 6.9 errata page</a> for a list
                     37:     of bugs and workarounds.
                     38: <li>See a <a href="plus69.html">detailed log of changes</a> between the
                     39:     6.8 and 6.9 releases.
                     40: <p>
                     41: <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
                     42:     pubkeys for this release:<p>
                     43:
                     44: <table class=signify>
                     45: <tr><td>
                     46: openbsd-69-base.pub:
                     47: <td>
                     48: <a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/openbsd-69-base.pub">
                     49: RWQZj25CSG5R2oLo5735Hh6C48kkjFsj5rJDjW+fGZwyY+BkD5/zps8f</a>
                     50: <tr><td>
                     51: openbsd-69-fw.pub:
                     52: <td>
                     53: RWSYx4htNi/zavF8ZToMBDFz2xymRfFnnR1MEKV9csYbvnrTBwdkXhdy
                     54: <tr><td>
                     55: openbsd-69-pkg.pub:
                     56: <td>
                     57: RWQlDXyHx5KlPoEiz4yWRK/Gt/rvPwI8KEAt3utge/dBS7R+EscdzA5K
                     58: <tr><td>
                     59: openbsd-69-syspatch.pub:
                     60: <td>
                     61: RWRWuHkSV0U8PUX24vGa3ywrvKNQY6llV3PLvKEzDTiTVPfIRaXPfvzR
                     62: </table>
                     63: </ul>
                     64: <p>
                     65: All applicable copyrights and credits are in the src.tar.gz,
                     66: sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
                     67: files fetched via <code>ports.tar.gz</code>.
                     68: </table>
                     69:
                     70: <hr>
                     71:
                     72: <section id=new>
                     73: <h3>What's New</h3>
                     74: <p>
                     75: This is a partial list of new features and systems included in OpenBSD 6.9.
                     76: For a comprehensive list, see the <a href="plus69.html">changelog</a> leading
                     77: to 6.9.
                     78:
                     79: <ul>
                     80:
                     81: <li>New/extended platforms:
                     82:   <ul>
1.15      benno      83:     <li>Support for the <a href="powerpc64.html">powerpc64</a> platform was improved:
                     84:     <ul>
1.3       benno      85:        <li>Added <a href="https://man.openbsd.org/astfb.4">astfb(4)</a>, a
                     86:                driver for the framebuffer of the Aspeed BMC found on many POWER8 and
                     87:                POWER9 systems.
                     88:        <li>Added bsd.mp to powerpc64's installXX.{img,iso}.
                     89:        <li>Added RETGUARD implementation for powerpc and powerpc64.
                     90:        <li>Added powerpc64 retguard macros for setjmp/longjmp.
                     91:        <li>Added retguard macros to powerpc64 locore functions.
                     92:        <li>Added a workaround for PCIO devices that cannot address the full
                     93:                64-bit PCI address space to powerpc64. Needed for <a
                     94:                href="https://man.openbsd.org/radeondrm.4">radeondrm(4)</a> and <a
                     95:                href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> since Radeon
                     96:                GPUs only implement 36, 40, or 44 bits of address space.
                     97:        <li>Added limited emulation of unaligned access in the powerpc64 kernel.
                     98:        <li>Changed <a href="https://man.openbsd.org/astfb.4">astfb(4)</a> to
                     99:                allow it to become the console on powerpc64.
                    100:        <li>Added support for passing a bootmac command line argument to
                    101:                RAMDISK on powerpc64.
1.5       benno     102:        <li>Fixed booting on powerpc64 machines with memory banks higher in
                    103:                physical address space, needing a larger TCE table.
                    104:        <li>Introduced power-saving mode on POWER9 (ISA v3).
1.9       benno     105:        <li>Enabled floating-point exceptions on powerpc64.
1.10      benno     106:        <li>Added support for <a
                    107:                href="https://man.openbsd.org/ipmi.4">ipmi(4)</a> on PowerNV systems.
1.15      benno     108:     </ul>
                    109:     <li>Support was added for devices using the Apple M1 SoC:
                    110:     <ul>
1.10      benno     111:        <li>Recognized Apple Icestorm cores on arm64.
                    112:        <li>Added basic support for BCM4379, found on the Apple M1 SoCs, to
                    113:                <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>.
                    114:        <li>Added <a href="https://man.openbsd.org/exuart.4">exuart(4)</a>
                    115:                support for hte UART found on the Apple M1 SoC.
                    116:        <li>Added <a href="https://man.openbsd.org/apldog.4">apldog(4)</a>, a
                    117:                driver for the watchdog on Apple M1 SoCs, allowing reboot of the
                    118:                machine.
                    119:        <li>Added <a href="https://man.openbsd.org/aplintc.4">aplintc(4)</a>,
                    120:                a driver for the interrupt controller found on Apple M1 SoCs.
                    121:        <li>Added <a href="https://man.openbsd.org/aplpcie.4">aplpcie(4)</a>,
                    122:                a driver for the PCIe host bridge on Apple M1 SoCs.
                    123:        <li>Increased RX buffers available to the <a
                    124:                href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> chip to 256,
                    125:                allowing use of the Apple M1's wifi.
                    126:        <li>Added <a href="https://man.openbsd.org/apldart.4">apldart(4)</a>,
                    127:                a driver for the IOMMU on Apple M1 SoCs.
                    128:        <li>Added <a href="https://man.openbsd.org/smmu.4">smmu(4)</a>, a
                    129:                driver for the ARM System MMU.
1.15      benno     130:        <li>Added an initial attempt to support 8-bit ASIDs such as those on
                    131:                Apple's M1 SoC.
                    132:        <li>Recognized Apple Firestorm cores on arm64.
                    133:        <li>Added SMP support to <a
                    134:                href="https://man.openbsd.org/aplintc.4">aplintc(4)</a>, the interrupt
                    135:                controller driver on Apple M1 SoCs.
                    136:     </ul>
                    137:     <li>The arm64 platform support was improved with the following changes:
                    138:     <ul>
                    139:        <li>Optimized arm64 <a
                    140:                href="https://man.openbsd.org/copyin.9">copyin(9)</a>, <a
                    141:                href="https://man.openbsd.org/copyout.9">copyout(9)</a> and <a
                    142:                href="https://man.openbsd.org/kcopy.9">kcopy(9)</a> by doing 16-byte
                    143:                copies if possible.
                    144:        <li>Added recognition of Cortex-A78AE, Cortex-X1 and Neoverse V1 arm64 CPUs.
                    145:        <li>Added clock support for i.MX8MP.
                    146:        <li>Added support for the VF610 I2C controller to <a
                    147:                href="https://man.openbsd.org/imxiic.4">imxiic(4)</a>.
                    148:        <li>Fixed a panic seen with mbuf chains on arm64.
                    149:        <li>Added <a href="https://man.openbsd.org/dwgpio.4">dwgpio(4)</a>, a
                    150:                driver for the Synopsys DesignWare GPIO controller.
                    151:        <li>Added "amlogic,meson-g12a-dwmac" to <a
                    152:                href="https://man.openbsd.org/dwge.4">dwge(4)</a>.
                    153:        <li>Added <a
                    154:                href="https://man.openbsd.org/amlpinctrl.4">amlpinctrl(4)</a> support
                    155:                for the "Always On" GPIOs.
                    156:        <li>Added PCIe clocks to <a
                    157:                href="https://man.openbsd.org/amlclock.4">amlclock(4)</a>.
                    158:        <li>Made large read and write transactions work in <a
                    159:                href="https://man.openbsd.org/amliic.4">amliic(4)</a>.
                    160:        <li>Added PCIe support to <a
                    161:                href="https://man.openbsd.org/amlpciephy.4">amlpciephy(4)</a>.
                    162:        <li>Added support to <a
                    163:                href="https://man.openbsd.org/dwpcie.4">dwpcie(4)</a> for the PCIe
                    164:                controller found on Amlogic G12A/G12B/SM1 SoCs.
                    165:        <li>Implemented intx support in <a
                    166:                href="https://man.openbsd.org/mvkpcie.4">mvkpcie(4)</a>.
                    167:        <li>Added <a href="https://man.openbsd.org/cryptox.4">cryptox(4)</a>,
                    168:                a driver for armv8 cryptographic extensions.
                    169:        <li>Added support for PCIe on the NanoPi R4S to <a
                    170:                href="https://man.openbsd.org/rkpcie.4">rkpcie(4)</a>.
                    171:        <li>Introduced an IOVA allocator, improving the way <a
                    172:                href="https://man.openbsd.org/smmu.4">smmu(4)</a> maps pages.
                    173:        <li>Added support for rk809 to <a
                    174:                href="https://man.openbsd.org/rkpmic.4">rkpmic(4)</a>, as seen on the
                    175:                Rock Pi N10 with the rk3399pro.
                    176:        <li>Added support for <a
                    177:                href="https://man.openbsd.org/sdhc.4">sdhc(4)</a> on the Raspberry Pi
                    178:                in ACPI mode.
                    179:        <li>Enabled <a href="https://man.openbsd.org/ixl.4">ixl(4)</a> on arm64.
                    180:        <li>Updated device-tree bindings for <a
                    181:                href="https://man.openbsd.org/cwfg.4">cwfg(4)</a> battery capacity
                    182:                driver to correct attaching and account for monitoring interval
                    183:                change, making cwfg(4) export values under hw.sensors as expected when
                    184:                using a Pinebook Pro.
                    185:        <li>Added ARMv8-5 instruction set related CPU features to arm64.
                    186:     </ul>
                    187:   </ul>
1.3       benno     188:
1.15      benno     189: <li>Various kernel improvements:
1.1       deraadt   190:   <ul>
1.15      benno     191:        <li>Added the RAID1C (encrypted raid1) <a
                    192:                href="https://man.openbsd.org/softraid.4">softraid(4)</a> discipline,
                    193:                encrypting data like the CRYPTO discipline and accepting multiple
                    194:                chunks during creation and assembly like the RAID1 discipline.
                    195:        <li>Corrected raidlevel verification specified by the -c option in <a
                    196:                href="https://man.openbsd.org/bioctl.8">bioctl(8)</a>.
                    197:
                    198:        <li>Introduced kern.video.record for <a
                    199:                href="https://man.openbsd.org/video.4">video(4)</a> devices, a privacy feature analog
                    200:                to the kern.audio.record <a
                    201:                href="https://man.openbsd.org/sysctl.8">sysctl(8)</a> parameter for <a
                    202:                href="https://man.openbsd.org/audio.4">audio(4)</a> devices. By
                    203:                default, kern.video.record will be set to zero and blank all data
                    204:                delivered by drivers attaching to <a
                    205:                href="https://man.openbsd.org/video.4">video(4)</a>.
                    206:        <li>Allowed a process to open a <a
                    207:                href="https://man.openbsd.org/video.4">video(4)</a> device multiple
                    208:                times. Fixes webcam usage with Firefox and BigBlueButton.
                    209:        <li>Enabled multiple opens of a <a
                    210:                href="https://man.openbsd.org/video.4">video(4)</a> device as
                    211:                described in the V4L2 specification.
1.9       benno     212:
1.15      benno     213:        <li>Added basic support for kclock timeouts to <a
                    214:                href="https://man.openbsd.org/timeout.9">timeout(9)</a>.
                    215:        <li>Changed the <a href="https://man.openbsd.org/pool.9">pool(9)</a>
                    216:                timeouts to use the system uptime instead of ticks.
1.9       benno     217:        <li>Ensured <a href="https://man.openbsd.org/sleep.3">sleep(3)</a>
                    218:                calls <a href="https://man.openbsd.org/nanosleep.2">nanosleep(2)</a>
                    219:                if seconds is zero, now delegating all decisions about whether or not
                    220:                to yield the CPU.
1.5       benno     221:        <li>Added a top-level 'reboot' command to <a
                    222:                href="https://man.openbsd.org/ddb.4">ddb(4)</a>.
                    223:        <li>Added <a href="https://man.openbsd.org/witness.4">witness(4)</a>
                    224:                check for uninitialized (or zeroed) lock usage.
                    225:        <li>Added fd close notification for kqueue-based <a
                    226:                href="https://man.openbsd.org/poll.2">poll(2)</a> and <a
                    227:                href="https://man.openbsd.org/select.2">select(2)</a>.
                    228:        <li>Added a global "nowake" channel for threads avoiding <a
                    229:                href="https://man.openbsd.org/wakeup.9">wakeup(9)</a> to <a
                    230:                href="https://man.openbsd.org/tsleep.9">tsleep(9)</a>.
1.15      benno     231:
1.5       benno     232:        <li>Added trace points for <a
                    233:                href="https://man.openbsd.org/malloc.9">malloc(9)</a> and <a
                    234:                href="https://man.openbsd.org/free.9">free(9)</a>, making them
                    235:                traceabe via <a href="https://man.openbsd.org/dt.4">dt(4)</a> and <a
                    236:                href="https://man.openbsd.org/btrace.8">btrace(8)</a>.
1.15      benno     237:                <li>Added <a href="https://man.openbsd.org/btrace.8">btrace(8)</a> -n
                    238:                (no action) mode, which parses the program and then exits.
1.9       benno     239:        <li>Fixed a boot-time crash on sparc64 due to mutex use during the
                    240:                message buffer initialization.
1.15      benno     241:        <li>Prevented a panic in some ACPI firmware that provided invalid
1.9       benno     242:                memory regions in their reserved memory region reporting table.
                    243:
1.10      benno     244:
                    245:        <li>Added a barrier between reading the cqe flags and the command ID
                    246:                to prevent completion of the wrong scsi io for <a
                    247:                href="https://man.openbsd.org/nvme.4">nvme(4)</a> drives.
                    248:        <li>Prevent <a href="https://man.openbsd.org/nvme.4">nvme(4)</a>
                    249:                attachment to devices with size zero.
1.9       benno     250:        <li>Introduced new function <a
                    251:                href="https://man.openbsd.org/if_unit.9">if_unit(9)</a>, returning a
                    252:                pointer to the interface descriptor corresponding to the unique name.
1.10      benno     253:        <li>Clear interrupts on luna88k processors more efficiently at boot
                    254:                time.
                    255:        <li>Added <a
                    256:                href="https://man.openbsd.org/acpiiort.4">acpiiort(4)</a>, a driver
                    257:                for the ACPI I/O Remapping Table.
1.15      benno     258:        <li>Updated clock interrupt count atomically on mips64.
                    259:        <li>Prevented an amd64 kernel crash with protection fault due to an
                    260:                invalid offset when reading /dev/kmem.
                    261:        <li>Permitted access to kern.somaxconn sysctl information when the
                    262:                unix <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> is used,
                    263:                allowing Go programs to use "unix" without also including "inet".
                    264:        <li>Excluded the first page and added a guard page between I/O
                    265:                virtual address space allocations on arm64.
1.20      benno     266:   </ul>
1.22      benno     267:
1.20      benno     268: <li>SMP Improvements
                    269:   <ul>
1.23      benno     270:        <li>Introduced "if_cloners_lock" rwlock and used it to serialize
                    271:                if_clone_{create,destroy}(), avoiding multiple race conditions.
1.20      benno     272:        <li>Introduced a system-wide mutex that serializes msgbuf operations.
1.23      benno     273:        <li>Made <a
                    274:                href="https://man.openbsd.org/uvm_pagealloc.9">uvm_pagealloc(9)</a> of
                    275:                the physical memory allocator mp-safe.
1.20      benno     276:        <li>Unlocked <a href="https://man.openbsd.org/getppid.2">getppid(2)</a>.
                    277:        <li>Introduced locking for amaps and anons, improving build performance.
1.23      benno     278:        <li>Moved UNIX domain sockets out of the kernel lock, using the new
                    279:                "unp_lock" <a href="https://man.openbsd.org/rwlock.9">rwlock(9)</a> as
                    280:                solock()'s backend to protect the whole layer.
1.20      benno     281:        <li>Unlocked <a href="https://man.openbsd.org/sendsyslog.2">sendsyslog(2)</a>.
                    282:        <li>Used per-CPU counter for fault and stats counters reached in uvm_fault().
                    283:   </ul>
1.22      benno     284:
1.20      benno     285: <li>Direct Rendering Manager
                    286:   <ul>
1.23      benno     287:        <li>Implemented linux interval tree functions for <a
                    288:                href="https://man.openbsd.org/drm.4">drm(4)</a>.
                    289:        <li>Fixed <a
                    290:                href="https://man.openbsd.org/wsconsctl.8">wsconsctl(8)</a> display
                    291:                commands when using <a href="https://man.openbsd.org/drm.4">drm(4)</a>
                    292:                drivers on macppc.
                    293:        <li>Changed from <a
                    294:                href="https://man.openbsd.org/rwlock.9">rwlock(9)</a> to <a
                    295:                href="https://man.openbsd.org/mutex.9">mutex(9)</a> for linux rwlocks.
                    296:        <li>Fixed a panic associated with locks and <a
                    297:                href="https://man.openbsd.org/drm.4">drm(4)</a> on macppc with
                    298:                Powerbook5,6 and RV350.
                    299:        <li>Revised the initialization of the <a
                    300:                href="https://man.openbsd.org/drm.4">drm(4)</a> Linux emulation layer
                    301:                to call it only when the first drm instance attaches.
                    302:        <li>Fixed DRI3 support on <a
                    303:                href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> and <a
                    304:                href="https://man.openbsd.org/ati.4">ati(4)</a>.
                    305:        <li>Created /dev/ drm nodes with the same names as linux to simplify
                    306:                libdrm and negate the need for certain ports patches.
1.20      benno     307:   </ul>
1.22      benno     308:
1.20      benno     309: <li>VMM/VMD improvements
                    310:   <ul>
1.10      benno     311:        <li>Prevented memory corruption or improper page access in <a
                    312:                href="https://man.openbsd.org/vmm.4">vmm(4)</a> due to improper TLB
                    313:                flushing for now by wiring the pages used by virtual machines.
1.15      benno     314:        <li>Removed the ability of <a
                    315:                href="https://man.openbsd.org/vmd.8">vmd(8)</a> to boot from kernels
                    316:                in raw/qcow2 images.
                    317:        <li>Made <a href="https://man.openbsd.org/vmctl.8">vmctl(8)</a>
                    318:                properly indicate VMs are stopped instead of "running" with "vmctl
                    319:                status".
                    320:        <li>Cleaned up events on <a
                    321:                href="https://man.openbsd.org/vmd.8">vmd(8)</a> pause or resume and
                    322:                fixed an issue leading to broken serial console by cleanly tearing
                    323:                down and restoring emulated device state on vm send/receive.
                    324:        <li>Propagated host-side <a
                    325:                href="https://man.openbsd.org/tap.4">tap(4)</a> lladdr to guest vm
                    326:                process to allow unicast dhcp and bootp renewals with <a
                    327:                href="https://man.openbsd.org/vmd.8">vmd(8)</a>'s built-in dhcp
                    328:                server.
1.1       deraadt   329:   </ul>
                    330:
                    331: <li>Various new userland features:
                    332:   <ul>
1.3       benno     333:        <li>Added <a
                    334:                href="https://man.openbsd.org/doas.conf.5">doas.conf(5)</a> "nolog"
                    335:                option to avoid <a
                    336:                href="https://man.openbsd.org/syslog.3">syslog(3)</a>.
                    337:        <li>Allowed specific <a
                    338:                href="https://man.openbsd.org/sndio.7">sndio(7)</a> devices to be used
                    339:                for play-only and rec-only modes.
1.9       benno     340:        <li>Use an 8th order FIR low-pass filter for resampling in <a
                    341:                href="https://man.openbsd.org/sndiod.8">sndiod(8)</a> and for <a
                    342:                href="https://man.openbsd.org/aucat.1">aucat(1)</a>, removing most of
                    343:                the aliasing noise during resampling.
1.10      benno     344:        <li>Disabled <a href="https://man.openbsd.org/sndiod.8">sndiod(8)</a>
                    345:                autovolume by default and set the default volume to 127. Setting "-w
                    346:                on" will replicate the previous behavior of automatically decreasing
                    347:                playback volume when new programs start playing.
                    348:        <li>Allowed mixing of alternative devices (-F) with different
                    349:                capabilities in <a
                    350:                href="https://man.openbsd.org/sndiod.8">sndiod(8)</a> by treating any
                    351:                device as full-duplex.
1.15      benno     352:        <li>Fixed visibility of <a
                    353:                href="https://man.openbsd.org/sndioctl.1">sndioctl(1)</a> output when
                    354:                used through a pipe.
                    355:
1.10      benno     356:        <li>Enabled build and install of <a href="https://man.openbsd.org/lldb.1">lldb(1)</a>.
                    357:        <li>Added <a href="https://man.openbsd.org/logger.1">logger(1)</a>
                    358:                support to <a href="https://man.openbsd.org/rcctl.8">rcctl(8)</a>, <a
                    359:                href="https://man.openbsd.org/rc.subr.8">rc.subr(8)</a> and <a
                    360:                href="https://man.openbsd.org/rc.d.8">rc.d(8)</a> for daemons logging
                    361:                to stdout/stderr.
                    362:
1.15      benno     363:        <li>Added a configurable button mapping for tap gestures on touchpads
                    364:                to <a href="https://man.openbsd.org/wsconsctl.8">wsconsctl(8)</a>.
                    365:        <li>Made <a href="https://man.openbsd.org/wscons.4">wscons(4)</a>
                    366:                touchpad tap detection less restrictive for multi-finger taps and
                    367:                improved tap detection.
                    368:        <li>Enable <a
                    369:                href="https://man.openbsd.org/man4/arm64/apm.4">apm(4)</a> on arm64 to
                    370:                display meaningful information about battery use and capacity.
1.1       deraadt   371:   </ul>
                    372:
                    373: <li>Various bugfixes and tweaks in userland:
                    374:   <ul>
1.3       benno     375:        <li>Fixed a pledge violation in <a
                    376:                href="https://man.openbsd.org/csh.1">csh(1)</a> where redirecting
                    377:                input from a file containing ^T would cause csh(1) to perform a tty
                    378:                ioctl operation against a non-tty.
1.14      tb        379:        <li>Made <a href="https://man.openbsd.org/syspatch.8">syspatch(8)</a> work
                    380:                again when fewer than 3 patches are available.
1.3       benno     381:        <li>Stopped exempting file systems from <a
                    382:                href="https://man.openbsd.org/security.8">security(8)</a> on the basis
                    383:                of nodev and nosuid options, which may not be used for file systems
                    384:                mounted beneath.
                    385:        <li>Modified <a href="https://man.openbsd.org/daily.8">daily(8)</a>
                    386:                to stop reporting disk status and networking statistics.
                    387:        <li>Made <a
                    388:                href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a> specify
                    389:                a version when it uses <a
                    390:                href="https://man.openbsd.org/fw_update.1">fw_update(1)</a> to avoid
                    391:                the situation where upgrading a pre-6.8 snapshot to 6.8 release with
                    392:                "-r" would install firmware packages from snapshots.
                    393:        <li>Increased speed of the dependency check pass for <a
                    394:                href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a>.
                    395:
                    396:        <li>Prevented process exit in multithreaded programs from reporting
                    397:                the wrong error code.
                    398:
1.5       benno     399:        <li>Allowed booting of amd64/i386 from 4TB GPT formatted disks.
                    400:
                    401:        <li>When using the <a href="https://man.openbsd.org/cat.1">cat(1)</a>
                    402:                -n flag, correctly enumerate files with more than INT_MAX lines.
                    403:        <li>Fixed a memory leak in ld.so's malloc.
1.15      benno     404:
1.9       benno     405:        <li>Added a "xenodm" login class for <a
                    406:                href="https://man.openbsd.org/xenodm.1">xenodm(1)</a> and increased
                    407:                openfiles to 512 to avoid running out of file descriptors with a busy
                    408:                desktop.
1.15      benno     409:        <li>Stopped <a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a>
                    410:                from adding authorizations for TCP connections by default and added
                    411:                "listenTCP" to explicitly add authorizations for existing IP addresses
                    412:                on startup.
                    413:        <li>Skip <a href="https://man.openbsd.org/xenodm.1">xenodm(1)</a>
                    414:                from adding the IPv6 link local addresses for TCP listener
                    415:                authorizations, matching what is done by <a
                    416:                href="https://man.openbsd.org/startx.1">startx(1)</a>.
                    417:
1.9       benno     418:        <li>Fixed -s option for <a href="https://man.openbsd.org/cmp.1">cmp(1)</a>.
                    419:        <li>Improve pledge in <a
                    420:                href="https://man.openbsd.org/doas.1">doas(1)</a>, specifically added
                    421:                pledge to the "-C" code path.
1.6       otto      422:        <li>Inproved performance of <a
                    423:                href="https://man.openbsd.org/malloc.3">malloc(3)</a>'s cache.
1.10      benno     424:        <li>Made editing GPT in <a
                    425:                href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> safer by
                    426:                defaulting offset to the beginning of the largest free space and
                    427:                preventing the creation of overlapping partitions.
                    428:        <li>Fixed a crash that could occur in <a
                    429:                href="https://man.openbsd.org/sndiod.8">sndiod(8)</a> when a usb
                    430:                device is unplugged.
                    431:        <li>Append .html suffixes to temporary files in <a
                    432:                href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> to allow
                    433:                recognition by browsers.
                    434:        <li>Allow specification of a path to the <a
                    435:                href="https://man.openbsd.org/mg.1">mg(1)</a> startup file on the
                    436:                command line.
1.15      benno     437:        <li>Added a "batch" mode to <a
                    438:                href="https://man.openbsd.org/mg.1">mg(1)</a> via the "-b" command
                    439:                line option which will initialize a pty, run the specified file of mg
                    440:                commands and then exit.
                    441:        <li>Inverted the <a href="https://man.openbsd.org/mg.1">mg(1)</a> "R"
                    442:                indicator to mean that a "*" next to a file's name indicates that it
                    443:                is read-only. Made the active buffer indicator more visible by
                    444:                changing it to ">".
                    445:
                    446:        <li>Fixed <a href="https://man.openbsd.org/ksh.1">ksh(1)</a>
                    447:                redrawing of a multiline PS1 prompt in vi mode and added support for
                    448:                ^R (redraw) in insert mode.
                    449:        <li>Used <a href="https://man.openbsd.org/unveil.2">unveil(2)</a> to
                    450:                restrict filesystem access in <a
                    451:                href="https://man.openbsd.org/apmd.8">apmd(8)</a>.
                    452:        <li>Removed the 30s minimum delay for <a
                    453:                href="https://man.openbsd.org/xlock.1">xlock(1)</a> timeouts.
                    454:        <li>Stopped deleting the control socket on exit in <a
                    455:                href="https://man.openbsd.org/apmd.8">apmd(8)</a> exit, as deleting
                    456:                the socket in process after calling <a
                    457:                href="https://man.openbsd.org/unveil.2">unveil(2)</a> would cause a
                    458:                unveil restriction violation,
1.1       deraadt   459:   </ul>
                    460:
                    461: <li>Improved hardware support and driver bugfixes, including:
                    462:   <ul>
1.15      benno     463:        <li>Corrected accounting of zero length Transfer Descriptors in <a
                    464:                href="https://man.openbsd.org/xhci.4">xhci(4)</a>, preventing running
                    465:                out of free Transfer Ring Blocks.
1.3       benno     466:        <li>Moved mfokclock(4) from loongson to make it available for other
                    467:                platforms and renamed it to <a
                    468:                href="https://man.openbsd.org/mfokrtc.4">mfokrtc(4)</a>.
                    469:        <li>Fixed brightness setting on MacBooks.
                    470:        <li>Added AMD Vi and Intel VTD IOMMU support. This creates separate
                    471:                domains for each PCI device and can provide protection against invalid
                    472:                memory access.
                    473:        <li>Enabled brightness keys on powerbooks where the keyboard attaches
                    474:                as <a href="https://man.openbsd.org/ukbd.4">ukbd(4)</a>.
                    475:        <li>Set initial default display brightness on macppc via
                    476:                of_setbrightness() to ensure <a
                    477:                href="https://man.openbsd.org/wscons.4">wscons(4)</a> and ofw are in
                    478:                sync.
                    479:        <li>Added the ClearFog GT 8K to <a
                    480:                href="https://man.openbsd.org/mvclock.4">mvclock(4)</a>.
                    481:        <li>Added support for the PL2303HXN series chips to <a
                    482:                href="https://man.openbsd.org/uplcom.4">uplcom(4)</a>.
                    483:        <li>Added support for the PCA9547 I2C mux to <a
                    484:                href="https://man.openbsd.org/pcamux.4">pcamux(4)</a>.
                    485:        <li>Extended <a href="https://man.openbsd.org/pcamux.4">pcamux(4)</a>
                    486:                with ACPI support.
                    487:        <li>Added <a href="https://man.openbsd.org/acpige.4">acpige(4)</a>, a
                    488:                driver for ACPI generic event devices, used on te HoneyComb LX2K to
                    489:                implement power button handling.
                    490:        <li>Added <a href="https://man.openbsd.org/pchgpio.4">pchgpio(4)</a>,
                    491:                a driver for the GPIO controllers found on modern Intel PCHs.
                    492:        <li>Added ACPI support to <a
                    493:                href="https://man.openbsd.org/imxiic.4">imxiic(4)</a>.
                    494:        <li>Fixed panics on the HoneyComb LX2K with <a
                    495:                href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a>.
                    496:        <li>Fixed very old <a
                    497:                href="https://man.openbsd.org/umass.4">umass(4)</a> devices where the
                    498:                INQUIRY command succeeds but with a residue equal to the requested
                    499:                bytes.
1.5       benno     500:        <li>Added Gemini Lake I2C id to <a
                    501:                href="https://man.openbsd.org/dwiic.4">dwiic(4)</a>, making the
                    502:                touchpad work on the Teclast F7 Plus laptop.
1.10      benno     503:        <li>Introduced <a href="https://man.openbsd.org/ujoy.4">ujoy(4)</a>, a
                    504:                restricted subset of <a
                    505:                href="https://man.openbsd.org/uhid.4">uhid(4)</a> for game controllers
                    506:                which uses /dev/ujoy/* device nodes.
                    507:        <li>Set up <a href="https://man.openbsd.org/ims.4">ims(4)</a> devices
                    508:                in X11 to behave like touchpads.
                    509:        <li>Stopped relying on USB devices to correctly present their
                    510:                indices, instead searching for the correct interfaces. This fixes E+
                    511:                Corp. DAC Audio devices.
                    512:        <li>Introduced <a
                    513:                href="https://man.openbsd.org/uhidpp.4">uhidpp(4)</a>, a driver for
                    514:                Logitech HID++ devices.
1.15      benno     515:        <li>Separated reading of general and touchpad-specific <a
                    516:                href="https://man.openbsd.org/wsmouse.4">wsmouse(4)</a> settings and
                    517:                corrected identification of device type when reading touchpad
                    518:                parameters fails.
                    519:
                    520:        <li>Added support for 30-bit color modes to <a
                    521:                href="https://man.openbsd.org/simplefb.4">simplefb(4)</a>.
                    522:        <li>Added <a href="https://man.openbsd.org/wsfb.4">wsfb(4)</a>
                    523:                support for 30-bit color.
1.10      benno     524:
1.15      benno     525:        <li>Made loongson kernels recognize Lynloong LM9002/9003 and LM9013 models.
                    526:        <li>Use native display resolution 1368x768 for Lynloong all-in-one computers.
1.1       deraadt   527:   </ul>
                    528:
                    529: <li>New or improved network hardware support:
                    530:   <ul>
1.3       benno     531:        <li>Fixed link state change behavior in 82598 <a
                    532:                href="https://man.openbsd.org/ix.4">ix(4)</a> chips.
                    533:        <li>Fixed issues with network stopping after the first down/up cycle
                    534:                in <a href="https://man.openbsd.org/mvpp.4">mvpp(4)</a> Marvel Armada
                    535:                Ethernet device.
                    536:        <li>Added SFP+ support to ofw, including support for direct attach cables.
                    537:        <li>Added 10G media support to <a
                    538:                href="https://man.openbsd.org/mvpp.4">mvpp(4)</a>.
                    539:        <li>Added support for 1000base-x and 2500base-x connections to <a
                    540:                href="https://man.openbsd.org/mvneta.4">mvneta(4)</a>.
                    541:        <li>Added <a href="https://man.openbsd.org/mvsw.4">mvsw(4)</a>, a
                    542:                driver for Marvel "SOHO" switches.
1.5       benno     543:        <li>Enabled auto-negotiation on the SerDes links, allowing
                    544:                in-band-status to work between <a
                    545:                href="https://man.openbsd.org/mvpp.4">mvpp(4)</a> and <a
                    546:                href="https://man.openbsd.org/mvsw.4">mvsw(4)</a> on the ClearFog GT
                    547:                8K.
                    548:        <li>Added support for the i.MX8MP PCIe clocks, USB clocks and second
                    549:                ethernet.
                    550:        <li>Added Wake on LAN support to <a
                    551:                href="https://man.openbsd.org/rge.4">rge(4)</a>.
                    552:        <li>Enabled IPv4 and TCP/UDP checksum offload on transmission in <a
                    553:                href="https://man.openbsd.org/ogx.4">ogx(4)</a>.
1.10      benno     554:        <li>Raised the maximum number of queues/interrupts from 1 to 16 on <a
                    555:                href="https://man.openbsd.org/mcx.4">mcx(4)</a> devices.
                    556:        <li>Added support for the Netgear ProSecure UTM25 to octeon.
1.15      benno     557:        <li>Added vid/pid table to <a
                    558:                href="https://man.openbsd.org/umb.4">umb(4)</a> allowing matching to
                    559:                alternate configurations.
1.1       deraadt   560:   </ul>
                    561:
                    562: <li>Added or improved wireless network drivers:
                    563:   <ul>
1.3       benno     564:        <li>Fixed <a href="https://man.openbsd.org/athn.4">athn(4)</a> in
                    565:                client mode against APs that use WPA1/TKIP as the group cipher.
                    566:        <li>Fixed <a href="https://man.openbsd.org/urtwn.4">urtwn(4)</a>
                    567:                against access points using WPA1/TKIP as the group cipher.
                    568:        <li>Added multicast support to <a
                    569:                href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> to allow IPv6.
                    570:        <li>Fixed <a href="https://man.openbsd.org/urtwn.4">urtwn(4)</a>
                    571:                repeated DEAUTH and loss/restoration of link.
1.5       benno     572:        <li>Introduced a delay to work around an issue in <a
                    573:                href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> on the BCM43602 that
                    574:                was triggering "unexpected pairwise key update" errors.
1.9       benno     575:        <li>Enabled <a href="https://man.openbsd.org/athn.4">athn(4)</a> for arm64.
1.10      benno     576:        <li>Added support for version 7 of the <a
                    577:                href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> PCIe interface.
1.17      stsp      578:        <li>Implemented RA (new 11n Tx rate adaptation) in <a
1.15      benno     579:                href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a
                    580:                href="https://man.openbsd.org/iwn.4">iwn(4)</a>.
                    581:        <li>Prevented a WPA failure in <a
                    582:                href="https://man.openbsd.org/ipw.4">ipw(4)</a> due to a state
                    583:                mismatch between firmware and net80211 during the association
                    584:                sequence.
                    585:        <li>Ensured WEP and plaintext interface link state update by <a
                    586:                href="https://man.openbsd.org/ipw.4">ipw(4)</a>.
                    587:        <li>Made <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> attach to
                    588:                AX201 devices with PCI ID 0x34f0. Needs <a
                    589:                href="https://man.openbsd.org/fw_update.1">fw_update(1)</a>.
                    590:        <li>Fixed a problem where <a
                    591:                href="https://man.openbsd.org/iwn.4">iwn(4)</a> firmware would
                    592:                generate bogus block ack requests and stall traffic.
1.1       deraadt   593:   </ul>
                    594:
                    595: <li>IEEE 802.11 wireless stack improvements and bugfixes:
                    596:   <ul>
1.5       benno     597:        <li>Fixed the calculation of "maxlen" in <a
                    598:                href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a
                    599:                href="https://man.openbsd.org/iwx.4">iwx(4)</a> when there are
                    600:                multiple MPDUs in one packet.
                    601:        <li>Fixed 802.11 RSN capabilities announced to peers.
                    602:        <li>Flushed the reorder buffer after gap timeout to prevent frames
                    603:                from remaining in the buffer until the next frame is received.
                    604:        <li>Avoided spurious "input packet decapsulations failed" errors in
                    605:                <a href="https://man.openbsd.org/netstat.1">netstat(1)</a> -W with
                    606:                A-MSDU enabled.
1.17      stsp      607:        <li>Introduced RA, a new 11n Tx rate adaptation module for net80211.
1.15      benno     608:                Unlike MiRa, RA does not attempt to precisely measure actual
                    609:                throughput but simply deducts a loss percentage from the theoretical
                    610:                throughput which can be achieved by a given MCS.
1.1       deraadt   611:   </ul>
                    612:
                    613: <li>Generic network stack improvements and bugfixes:
                    614:   <ul>
1.10      benno     615:        <li>Removed the direct ACK on every other data segment. After
                    616:                receiving a data segment, we were sending out two ACKs, the first one
                    617:                in tcp_input() direct after receiving and the second ACK after the
                    618:                userland or the sosplice task read some data out of the socket buffer.
                    619:                This change removes the ACK in tcp_input(), saving processing time and
                    620:                improving network performance.
                    621:        <li>Removed the maxburst feature from tcp_output().
                    622:        <li>Added a MONITOR feature to interfaces. Packets received on these
                    623:                interfaces do not enter the network stack for further processing. This
                    624:                can be used to watch traffic, for example with <a
                    625:                href="https://man.openbsd.org/bpf.4">bpf(4)</a> without risk of the packets
                    626:                interfering with the system.
                    627:
                    628:        <li>Added etherbridge, the internals of a reusable learning bridge
                    629:                interface providing common code reusable for other drivers needing a
                    630:                mac learning bridge.
                    631:        <li>Introduced <a href="https://man.openbsd.org/veb.4">veb(4)</a>, a
                    632:                Virtual Ethernet Bridge driver.
1.3       benno     633:
1.15      benno     634:        <li>Added the ability to force the selection of source IP address for
                    635:                programs that do not specify a source IP, overriding the default
                    636:                source IP selection algorithm. This is configurable via <a
                    637:                href="https://man.openbsd.org/route.8">route(8)</a>
                    638:                <tt>sourceaddr</tt> command.
                    639:
                    640:        <li>Bring interfaces up when autoconfiguration for inetor inet6 is
                    641:                enabled (AUTOCONF4 or AUTOCONF6 flags).
                    642:        <li>Adjust terminology in <a
                    643:                href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a> to refer to
                    644:                "temporary address extensions" rather than the former "privacy
                    645:                extensions," including the addition of an AUTOCONF6TEMP flag (to
                    646:                replace the negative flag "INET6_NOPRIVACY").  The autoconfprivacy
                    647:                option if <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
                    648:                has been deprecated.
                    649:        <li>Made it possible to disable the "autoconf" flag but keep
                    650:                "temporary" enabled in <a
                    651:                href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
                    652:        <li>For IPv6 addresses, added tracking of address proposal creation
                    653:                times to be able to establish total lifetime. This information is used
                    654:                to renew pltime/vltime of privacy addresse per RFC 4941.
1.3       benno     655:
1.15      benno     656:        <li>Prevented kernel reuse of mbuf memory when generating the ICMP6
                    657:                response to an IPv6 packet.
                    658:        <li>Use the toeplitz hash algorithm to a flowid for tcp packets,
                    659:                which in turn is used to choose the tx ring on network cards with
                    660:                multiple rings.
                    661:        <li>Fixed <a href="https://man.openbsd.org/wg.4">wg(4)</a> on macppc
                    662:                by keeping track of allowed ips pointer correctly.
                    663:        <li>Fixed <a href="https://man.openbsd.org/wg.4">wg(4)</a> ioctl to
                    664:                handle multiple wgpeers.
                    665:        <li>Fixed a race between tx/rx handshakes in <a
                    666:                href="https://man.openbsd.org/wg.4">wg(4)</a>.
                    667:        <li>Prevented a potential hang when trying to remove a <a
                    668:                href="https://man.openbsd.org/tun.4">tun(4)</a> interface.
                    669:        <li>Used the correct rdomain when adding and deleting routes with <a
                    670:                href="https://man.openbsd.org/mpip.4">mpip(4)</a> and <a
                    671:                href="https://man.openbsd.org/mpw.4">mpw(4)</a>.
                    672:        <li>Made <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
                    673:                "-mplslabel" work with <a
                    674:                href="https://man.openbsd.org/mpw.4">mpw(4)</a>.
1.1       deraadt   675:   </ul>
                    676:
1.15      benno     677: <li>Installer and upgrade improvements:
1.1       deraadt   678:   <ul>
1.5       benno     679:        <li>Prevented a race in <a
                    680:                href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> privsep
                    681:                which could cause autoinstall to fail by calling <a
                    682:                href="https://man.openbsd.org/ftp.1">ftp(1)</a> without a local
                    683:                address.
                    684:        <li>Fixed hangs on amd64 bsd.rd due to misreported core clock
                    685:                frequency on newer Intel Comet Lake models.
1.15      benno     686:        <li>Began distributing the gzip'd version of bsd.rd on all platforms
                    687:                with boot methods supporting it.
                    688:        <li>Fixed a problem which prevented use of <a
                    689:                href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a> when an
                    690:                interface failed to come up and <a
                    691:                href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> didn't
                    692:                notice link-timeout expiration.
                    693:        <li>Prevented <a
                    694:                href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> from
                    695:                adjusting the swap 'b' partition size if physmem is zero to keep the
                    696:                auto-allocate code from putting a filesystem on that partition.
                    697:        <li>Emulate "[inet] autoconf" <a
                    698:                href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a> lines
                    699:                with "dhcp" so users testing <a
                    700:                href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> will
                    701:                still be able to upgrade manually while the installer uses only <a
                    702:                href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>.
1.5       benno     703:
1.1       deraadt   704:  </ul>
                    705:
                    706: <li>Security improvements:
                    707:   <ul>
1.3       benno     708:        <li>Added notices to syslog whenever the "%n" format string component of <a href="https://man.openbsd.org/printf.3">printf(3)</a> is used.
1.15      benno     709:        <li>Removed workaround permitting Go executables to do syscalls directly, forcing them to use shared libc like all other dynamic binaries.
1.1       deraadt   710:   </ul>
                    711:
                    712: <li>Routing daemons and other userland network improvements:
                    713:   <ul>
1.15      benno     714:     <li>The <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> daemon saw the following changes:
                    715:     <ul>
1.3       benno     716:        <li>Fixed a memory leak when parsing <a
                    717:                href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> roa-set lists.
                    718:        <li>Stopped allowing configuration of the same neighbor multiple
                    719:                times in <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
1.5       benno     720:        <li>When exporting prefixes from multiple sessions in <a
                    721:                href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> into the same <a
                    722:                href="https://man.openbsd.org/pf.4">pf(4)</a> table, now prefixes are
                    723:                only removed from the table when withdrawn from all sessions that
                    724:                announced them.
                    725:        <li>Introduced a send hold timer in <a
                    726:                href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> to detect stalls on
                    727:                the sending side of a TCP connection, acting as a last resort to
                    728:                detect faulty peers.
                    729:        <li>Added <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>
                    730:                "show sets" to display information about the roa-set, as-sets and
                    731:                prefix-sets loaded into <a
                    732:                href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
1.10      benno     733:        <li>Introduced the <a
                    734:                href="https://man.openbsd.org/bgpd.conf.5">bgpd.conf(5)</a> per
                    735:                neighbor and global config option "reject as-set yes/no" to allow
                    736:                rejection of received UPDATES with AS_SET segments. These rejected
                    737:                prefixes can be viewed with <a
                    738:                href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a> "show rib in
                    739:                error".
                    740:        <li>Properly implemented "rde med compare strict" in <a
                    741:                href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> and ensured that the
                    742:                order of prefixes is always correct.
                    743:        <li>Added RTR support to <a href="https://man.openbsd.org/bgpd.8">OpenBGPD</a>.
                    744:        <li>Added <a href="https://man.openbsd.org/bgpctl.8">bgpctl(8)</a>
                    745:                "show rtr" to display basic information about RTR sessions.
                    746:        <li>Introduced <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>
                    747:                <code>rde evaluate all</code> to work around path hiding in IXP
                    748:                route-server environments.
1.15      benno     749:     </ul>
1.10      benno     750:
1.15      benno     751:     <li>The <a
                    752:        href="https://man.openbsd.org/ospfd.8">ospfd(8)</a> and <a
                    753:        href="https://man.openbsd.org/ospf6d.8">ospf6d(8)</a>  routing
                    754:        daemons saw various internal refactoring to keep the code similar to
                    755:        changes in other routing daemons and improve maintainability.<br>
                    756:        Additionally, support was added in <a
                    757:        href="https://man.openbsd.org/ospfd.8">ospfd(8)</a> for interfaces
                    758:        that share the same IP.
1.10      benno     759:
1.15      benno     760:     <li>The <a href="https://man.openbsd.org/pf.4">pf(4)</a> packet filter and it's userland utility:
                    761:     <ul>
                    762:        <li>Relaxed checks in <a
                    763:                href="https://man.openbsd.org/pfctl.8">pfctl(8)</a> and <a
                    764:                href="https://man.openbsd.org/pf.4">pf(4)</a> to accept any valid
                    765:                routing domain, even if it does not yet exist.
                    766:        <li>Made <a href="https://man.openbsd.org/pfctl.8">pfctl(8)</a>
                    767:                detect and reject bogus ranges before loading the ruleset to prevent a
                    768:                panic.
                    769:        <li>Changed route-to in <a
                    770:                href="https://man.openbsd.org/pf.conf.5">pf.conf(5)</a> to send
                    771:                packets to IPs instead of interfaces.
                    772:        <li>Changed pf_route so <a
                    773:                href="https://man.openbsd.org/pf.4">pf(4)</a> only runs when packets
                    774:                enter and leave the stack. Running the same packet through pf multiple
                    775:                times creates confusion for the state table. By default, pf states are
                    776:                floating, meaning that packets are matched to states regardless of
                    777:                which interface they're going over. This diff avoids multiple pf(4)
                    778:                traversals of one packet causing confusion in the state table.
                    779:        <li>Prevented the kernel from being stuck in an endless recursion
                    780:                during TCP path MTU discovery when <a
                    781:                href="https://man.openbsd.org/pf.4">pf(4)</a> changes the routing
                    782:                table when sending packets.
                    783:        <li>When cutting off the head of an overlapping fragment during <a
                    784:                href="https://man.openbsd.org/pf.4">pf(4)</a> reassembly, reinserted
                    785:                the fragment into the lookup table with the correct index.
                    786:     </ul>
1.5       benno     787:
1.15      benno     788:     <li>IPSEC support in the kernel and the <a href="https://man.openbsd.org/iked.8">iked(8)</a> userland daemon:
                    789:     <ul>
1.3       benno     790:        <li>Added support to request IP addresses as IKEv2 initiator to <a
                    791:                href="https://man.openbsd.org/iked.8">iked(8)</a>. If 'request addr
                    792:                0.0.0.0' is configured, any address will be accepted.
                    793:        <li>Make <a href="https://man.openbsd.org/iked.8">iked(8)</a> accept
                    794:                ANY dynamic address with 'request addr 0.0.0.0'.
                    795:        <li>Added 'dynamic' keyword to <a
                    796:                href="https://man.openbsd.org/iked.conf.5">iked.conf(5)</a> to allow
                    797:                configuration of flows to dynamically assigned addresses.
                    798:        <li>Added the 'any' keyword to <a
                    799:                href="https://man.openbsd.org/iked.conf.5">iked.conf(5)</a> for
                    800:                requests to allow "request address any".
                    801:        <li>Enabled <a href="https://man.openbsd.org/iked.8">iked(8)</a>
                    802:                support for ASN1_DN ipsec identifiers.
                    803:        <li>Implemented <a href="https://man.openbsd.org/iked.8">iked(8)</a>
                    804:                "from dynamic," installing flows where "dynamic" is replaced by the
                    805:                received dynamic IP address.
                    806:        <li>Made sure not to replace 0.0.0.0 with a dynamic address in <a
                    807:                href="https://man.openbsd.org/iked.8">iked(8)</a> if it is a network
                    808:                address.
                    809:        <li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a> -s
                    810:                socket option to specify a control socket.
                    811:        <li>Used a counter instead of random IV for AES-GCM in <a
                    812:                href="https://man.openbsd.org/iked.8">iked(8)</a>, eliminating the
                    813:                risk of random collisions.
                    814:        <li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a>
                    815:                support for multiple address pools.
                    816:        <li>Added the <a href="https://man.openbsd.org/iked.8">iked(8)</a>
                    817:                "set stickyaddress" option, which attempts to assign the same "config
                    818:                address" when an IKESA is negotiated with the DSTID of an existing
                    819:                IKESA.
                    820:        <li>Ensured rekeying of every child SA in <a
                    821:                href="https://man.openbsd.org/iked.8">iked(8)</a>.
1.5       benno     822:        <li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a> support
                    823:                for RSASSA-PSS signature verification (RFC 7427).
                    824:        <li>Corrected the first packet of an <a
                    825:                href="https://man.openbsd.org/ipsec.4">ipsec(4)</a> SA to have
                    826:                sequence number 1.
                    827:        <li>Accepted reject and blackhole routes for IPsec PMTU discovery.
                    828:        <li>Prevented leaking of ipsec_hosts in <a
                    829:                href="https://man.openbsd.org/iked.8">iked(8)</a> when building
                    830:                hosts_list.
                    831:        <li>Prevented initiation of new additional SAs for each policy upon
                    832:                every <a href="https://man.openbsd.org/ikectl.8">ikectl(8)</a> config
                    833:                reload.
                    834:        <li>Fixed "any" and "dynamic" keywords for flows in <a
                    835:                href="https://man.openbsd.org/iked.8">iked(8)</a> and added proper
                    836:                IPv6 support.
1.9       benno     837:        <li>Created a path MTU host route for <a
                    838:                href="https://man.openbsd.org/ipsec.4">IPsec(4)</a> over IPv6.
1.10      benno     839:        <li>Added support for INVALID_KE_PAYLOAD in <a
                    840:                href="https://man.openbsd.org/iked.8">iked(8)</a> CREATE_CHILD_SA
                    841:                exchange.
                    842:        <li>Added support for RSA-PSS PKCS1 signatures to <a
                    843:                href="https://man.openbsd.org/iked.8">iked(8)</a>.
                    844:        <li>Fixed path MTU discovery for ESP tunnels in IPv6.
                    845:        <li>Upgraded to OpenSSL 1.1 compatible crypto API in <a
                    846:                href="https://man.openbsd.org/iked.8">iked(8)</a>.
                    847:        <li>Added an optional "group none" transform for child SAs in <a
                    848:                href="https://man.openbsd.org/iked.8">iked(8)</a> to ensure the
                    849:                ability to negotiate optional PFS.
                    850:        <li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a>
                    851:                dynamic address configuration for roadwarrior clients, with a new
                    852:                "iface" config option which can be used to specify an interface for
                    853:                the virtual addresses received from the peer.
1.15      benno     854:        <li>Fixed an <a href="https://man.openbsd.org/iked.8">iked(8)</a>
                    855:                interop problem with strongswan if make-before-break is enabled.
                    856:     </ul>
1.3       benno     857:
1.16      tb        858:     <li>The <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> webserver saw numerous improvements:
1.15      benno     859:     <ul>
                    860:        <li>Prevented a crash due to
                    861:                <a href="https://man.openbsd.org/httpd.8">httpd(8)</a> listening on port
                    862:                443 with missing TLS certificates.
                    863:        <li>Created a new "location (found|notfound)" option for
                    864:                <a href="https://man.openbsd.org/httpd.conf.5">httpd.conf(5)</a> to allow
                    865:                testing for resource path existence.
                    866:        <li>Added a directive to <a
                    867:                href="https://man.openbsd.org/httpd.8">httpd(8)</a> to check if a path
                    868:                is accessible.
                    869:        <li>Fixed detection of duplicate locations in <a
                    870:                href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
                    871:        <li>Fixed leak of access and error log filenames on config reload in
                    872:                <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
                    873:        <li>Avoid leaking the log message in
                    874:                <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>'s
                    875:                server_sendlog.
                    876:        <li>Incorrect order of
                    877:                <a href="https://man.openbsd.org/close.2">close(2)</a> and
                    878:                <a href="https://man.openbsd.org/tls_close.3">tls_close(3)</a>
1.16      tb        879:                together with a bug in libssl led to leaking memory in
1.15      benno     880:                <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>
                    881:                for each TLS connection.
                    882:        <li>Fixed the <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>
                    883:                example configuration not to generate errors when running without TLS
                    884:                keys already in place.
                    885:        <li>Optimize disk reads of
                    886:                <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>
                    887:                by using st_blocksize as high water mark instead of
                    888:                the socket buffer size.
                    889:     </ul>
1.3       benno     890:
1.24    ! benno     891:     <li><a
        !           892:        href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>
        !           893:        received the following new features and bugfixes:
1.15      benno     894:     <ul>
                    895:        <li>Added RRDP (The RPKI Repository Delta Protocol, RFC 8182) support
                    896:                to <a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
                    897:        <li>Supported use of more than one URI in the TAL file for <a
                    898:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>,
                    899:                sorting with a preference for https.
                    900:        <li>Validated ghostbuster records (RFC 6493) in <a
                    901:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
                    902:        <li>Fixed <a
                    903:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> checks
                    904:                for the manifest validity interval.
                    905:        <li>The connection is now killed when the rsync server stalls.
                    906:        <li>Limited the URL embedded in .cer files in <a
                    907:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> to
                    908:                alphanumeric characters and punctuation.
                    909:        <li>Added <a
                    910:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> -V
                    911:                option to show version.
                    912:        <li>Included the default cert.pem file path in tls_load_file error
                    913:                messages in <a
                    914:                href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a>.
                    915:     </ul>
1.3       benno     916:
1.24    ! benno     917:     <li>The <a href="https://man.openbsd.org/dig.1">dig(1)</a> DNS
        !           918:        utility received the following updates:
1.15      benno     919:     <ul>
1.5       benno     920:        <li>Implemented RFC 8914 Extended DNS Errors for <a
                    921:                href="https://man.openbsd.org/dig.1">dig(1)</a>.
                    922:        <li>Fixed <a href="https://man.openbsd.org/dig.1">dig(1)</a> EDNS
                    923:                Client Subnet option (+subnet=).
                    924:        <li>Fixed IPv6 link-local address handling for nameservers to talk to
                    925:                and address to bind to in <a
                    926:                href="https://man.openbsd.org/dig.1">dig(1)</a>.
1.15      benno     927:        <li>Implemented ZONEMD (RFC 8976) in <a
                    928:                href="https://man.openbsd.org/dig.1">dig(1)</a> to convey a message
                    929:                digest of the content of a DNS zone.
                    930:     </ul>
1.5       benno     931:
1.15      benno     932:     <li>Changes to <a href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>:
                    933:     <ul>
1.5       benno     934:        <li>Fixed incorrect behavior when using <a
                    935:                href="https://man.openbsd.org/dhclient.conf.5">dhclient.conf(5)</a> to
                    936:                change the lease renew/rebind/expiry timing.
                    937:        <li>Allowed the provision of <a
                    938:                href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> options on
                    939:                "dhcp" lines in <a
                    940:                href="https://man.openbsd.org/hostname.if.5">hostname.if(5)</a> files.
1.15      benno     941:        <li>Finished conversion of <a
                    942:                href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> timers to
                    943:                allow monotonic accounting for the active lease.
                    944:     </ul>
1.5       benno     945:
1.15      benno     946:     <li>Two new daemons, <a
                    947:        href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> and <a
                    948:        href="https://man.openbsd.org/resolvd.8">resolvd(8)</a> were added.
                    949:        These work alongside with <a
                    950:        href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> and <a
                    951:        href="https://man.openbsd.org/unwind.8">unwind(8)</a> to provide a
                    952:        coherent and simple automatic configration of network interfaces and
                    953:        DNS resolution.<br>
                    954:        The two daemons are not enabled by default for now, but can be tested
                    955:        by enableing them with <a href="https://man.openbsd.org/rcctl.8">rcctl(8)</a>.
                    956:     <ul>
                    957:        <li><a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a>
                    958:                implements the DHCP protocol to acquire IPv4 address leases from
                    959:                servers.
                    960:        <li><a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>
                    961:                manages the content of <a
                    962:                href="https://man.openbsd.org/resolv.conf.5">resolv.conf(5)</a> based
                    963:                on nameserver proposals from dhcpleased(8) and slaacd(8).
                    964:     </ul>
                    965:     <li>Other userland network changes:
                    966:     <ul>
                    967:        <li>Fixed <a href="https://man.openbsd.org/ldapd.8">ldapd(8)</a> cert
                    968:                and key path inference for absolute paths.
                    969:        <li>Fixed incorrect cast in a
                    970:                <a href="https://man.openbsd.org/vsnprintf(3)">vsnprintf(3)</a>
                    971:                error check
                    972:                in <a href="https://man.openbsd.org/ldapd.8">ldapd(8)</a>.
                    973:        <li>Applied <a href="https://man.openbsd.org/unveil.2">unveil(2)</a>
                    974:                to <a href="https://man.openbsd.org/ldapd.8">ldapd(8)</a>.
1.5       benno     975:
1.3       benno     976:        <li>Changed <a href="https://man.openbsd.org/ping.8">ping(8)</a> to
                    977:                drain the raw socket of packets received before we were fully setup to
                    978:                avoid reporting ICMP responses intended for other instances of ping(8)
                    979:                running in parallel.
1.10      benno     980:        <li>Added <a href="https://man.openbsd.org/ping.8">ping(8)</a> -g
                    981:                option to provide a visual display of packets received and lost.
1.3       benno     982:
                    983:        <li>Changed <a href="https://man.openbsd.org/slaacd.8">slaacd(8)</a>
                    984:                Duplicate Address Detection (DAD) to only generate a new address if we
                    985:                are using Semantically Opaque Interface Identifiers.
                    986:        <li>Handled an autoconf interface changing its rdomain in <a
                    987:                href="https://man.openbsd.org/slaacd.8">slaacd(8)</a>.
1.15      benno     988:        <li>Completed <a
                    989:                href="https://man.openbsd.org/slaacd.8">slaacd(8)</a> implementation
                    990:                of RFC 8981 temporary address extensions.
                    991:
1.14      tb        992:        <li>Do not leak the domains listed in
                    993:                <a href="https://man.openbsd.org/unwind.8">unwind(8)</a>'s
                    994:                blocklist file on each config reload.
                    995:        <li>Do not leak duplicate domain nodes when loading the
                    996:                <a href="https://man.openbsd.org/unwind.8">unwind(8)</a>
                    997:                config.
1.3       benno     998:        <li>Fixed rare crashes of <a
                    999:                href="https://man.openbsd.org/unwind.8">unwind(8)</a> when DNS answers
                   1000:                are larger than the maximum imsg size.
1.9       benno    1001:        <li>Implemented <a
                   1002:                href="https://man.openbsd.org/unwind.8">unwind(8)</a> listening on
                   1003:                TCP.
1.10      benno    1004:        <li>Implemented DNS64 synthesis in <a
                   1005:                href="https://man.openbsd.org/unwind.8">unwind(8)</a>.
                   1006:        <li>Disabled logging to <a
                   1007:                href="https://man.openbsd.org/syslog.3">syslog(3)</a> for libunbound
                   1008:                with <a href="https://man.openbsd.org/unwind.8">unwind(8)</a>. Does
                   1009:                not prevent logging to stderr with "unwind -d".
                   1010:
1.3       benno    1011:        <li>Removed the -L option from <a
                   1012:                href="https://man.openbsd.org/dhclient.8">dhclient(8)</a>.
                   1013:        <li>Added a simple --timeout implementation to <a
                   1014:                href="https://man.openbsd.org/openrsync.1">openrsync(1)</a>.
1.15      benno    1015:        <li>Added the <a href="https://man.openbsd.org/rsync.1">rsync(1)</a>
                   1016:                option --no-motd to suppress the information output by the client at
                   1017:                the start of a daemon transfer.
1.3       benno    1018:        <li>Added support for the use of !command to <a
                   1019:                href="https://man.openbsd.org/mygate.5">mygate(5)</a>, so that
                   1020:                netstart has a late opportunity to perform network configuration.
1.5       benno    1021:        <li>Make <a href="https://man.openbsd.org/rad.8">rad(8)</a> to handle
                   1022:                multiple rdomains in a single daemon (instead of running it in
                   1023:                multiple rdomains).
                   1024:        <li>Added a specific headline to <a
                   1025:                href="https://man.openbsd.org/netstat.1">netstat(1)</a> for TCP state
                   1026:                and IP protocol.
1.9       benno    1027:        <li>Handle permanent redirects (RFC 7538) in <a
1.5       benno    1028:                href="https://man.openbsd.org/ftp.1">ftp(1)</a> fetch.
1.10      benno    1029:        <li>Introduced <a href="https://man.openbsd.org/ftp.1">ftp(1)</a>
                   1030:                support for sending the If-Modified-Since header while fetching over
                   1031:                http or https. Switched to using the timestamps from the remote
                   1032:                server's Last-Modified header if available when saving local files and
                   1033:                introduced the ftp "-u" flag to disable this behavior.
1.15      benno    1034:        <li>Made <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> set
                   1035:                timestamps only on files.
1.10      benno    1036:
1.9       benno    1037:        <li>Added requests for a new certificate without requiring -F when <a
                   1038:                href="https://man.openbsd.org/acme-client.1">acme-client(1)</a>
                   1039:                detects an added or removed SAN in the config file not reflected in
                   1040:                the existing certificate on disk.
                   1041:        <li>Print rewritten addresses in <a
                   1042:                href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> logged with <a
                   1043:                href="https://man.openbsd.org/pflog.4">pflog(4)</a> for rdr-to, nat-to
                   1044:                and af-to rules.
1.10      benno    1045:        <li>Removed the <a
                   1046:                href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> traphandler
                   1047:                process.
                   1048:        <li>When calling <a
                   1049:                href="https://man.openbsd.org/getaddrinfo.3">getaddrinfo(3)</a> with
                   1050:                AI_ADDRCONFIG, consider the routing domain when checking for available
                   1051:                address families. This ensures that name resolution is only performed
                   1052:                for the address families available in the rdomain.
                   1053:        <li>Implemented the <a href="https://man.openbsd.org/nc.1">nc(1)</a>
                   1054:                -D socket debug option in <a
                   1055:                href="https://man.openbsd.org/tcpbench.1">tcpbench(1)</a>, allowing
                   1056:                analysis of TCP connections.
1.14      tb       1057:        <li>Avoid leaking the help text in
                   1058:                <a href="https://man.openbsd.org/tcpbench.1">systat(8)</a>.
                   1059:        <li>Simplify argument parsing of
1.15      benno    1060:                <tt><a href="https://man.openbsd.org/vmctl.8">vmctl(8)</a> stop</tt>
1.14      tb       1061:                thereby avoiding a
                   1062:                <a href="https://man.openbsd.org/printf.3">printf(3)</a> "%s" NULL,
                   1063:                a use of uninitialized and a dead else branch.
1.15      benno    1064:        <li>Increased the maximum length for CHAP challenges to 96 octets to
                   1065:                ensure <a href="https://man.openbsd.org/npppd.8">npppd(8)</a> can
                   1066:                handle longer challenges, such as those sent by Juniper.
                   1067:     </ul>
1.1       deraadt  1068:   </ul>
                   1069:
                   1070: <li><a href="https://man.openbsd.org/tmux">tmux(1)</a> improvements and bug fixes:
                   1071:   <ul>
1.5       benno    1072:        <li>Made <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> synchronize-panes a pane option and added set-option -U flag to unset an option on all panes.
1.15      benno    1073:        <li>Allowed use of ## and # in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> styles and added a "w" format modifier for width.
                   1074:        <li>Added a -C flag to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> run-shell to use a tmux command rather than a shell command.
                   1075:        <li>Added a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> -N flag to never start the server even if the command would normally do so.
                   1076:        <li>Added the new <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> -S flag to new-window to select the existing window if one with the given name already exists, rather than failing.
                   1077:        <li>Added support for X11 color names and other variations for OSC 10/11 and added OSC 110 and 111 to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
                   1078:        <li>Removed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> support for popups where the content is provided directly to tmux.
                   1079:        <li>Added a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> "absolute-centre" alignment to use the center of the total space instead of the available space.
                   1080:        <li>Added <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> split-window -Z to start the pane zoomed.
                   1081:        <li>Added client-detached notification in <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> control mode.
                   1082:        <li>Changed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> search-again with vi keys to work like <a href="https://man.openbsd.org/vi.1">vi(1)</a>.
1.1       deraadt  1083:   </ul>
                   1084:
                   1085: <li>OpenSMTPD 6.9.0
                   1086:   <ul>
1.5       benno    1087:        <li>Introduced <a href="https://man.openbsd.org/smtp.1">smtp(1)</a>
                   1088:                -a to perform authentication before sending a message.
                   1089:        <li>Fixed a memory leak in <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> resolver.
                   1090:        <li>Prevented a crash due to premature release of resources by the <a
                   1091:                href="https://man.openbsd.org/smtpd.8">smtpd(8)</a> filter state
                   1092:                machine.
1.12      eric     1093:        <li>Switch to libtls internally.
                   1094:        <li>Change the way SNI works in <a href="https://man.openbsd.org/smtpd.conf.5#pki~2">smtpd.conf(5)</a>.
                   1095:                TLS listeners may be configured with multiple certificates,
                   1096:                the matching is based on the names included in these certificates.
                   1097:        <li>Allow to specify tls protocols and ciphers per listener and relay action.
1.15      benno    1098:        <li>Allowed <a
                   1099:                href="https://man.openbsd.org/smtpd.conf.5">smtpd.conf(5)</a>
                   1100:                specification of tls protocols and ciphers on relay actions.
1.5       benno    1101:
1.1       deraadt  1102:   </ul>
                   1103:
1.15      benno    1104: <li>LibreSSL 3.2.5
1.1       deraadt  1105:   <ul>
                   1106:     <li>New Features
                   1107:     <ul>
1.15      benno    1108:
1.11      benno    1109: <!-- taken from plus.html, not sorted into categories:
1.15      benno    1110:
1.3       benno    1111:        <li>Added a -legacy_verify flag to <a href="https://man.openbsd.org/openssl.1">openssl(1)</a> to force use of the old validator.
                   1112:        <li>Changed <a href="https://man.openbsd.org/crypto.3">crypto(3)</a>
                   1113:                to call its get_issuer() callback to try and find a suitable
                   1114:                certificate in cases where it has failed to find a print certificate
                   1115:                from the supplied roots and intermediates.
                   1116:        <li>Corrected an issue where <a href="https://man.openbsd.org/openssl.1">openssl(1)</a> verify might not error on expired certificates.
                   1117:        <li>Fixed an issue in the TLS 1.3 code that caused stalls in haproxy and other software.
                   1118:        <li>Implemented auto chain for the TLSv1.3 server.
                   1119:        <li>Implemented the key material exporter for TLSv1.3.
1.9       benno    1120:        <li>Fixed problems which could arise with software such as bacula and icinga when a root certificate was specified as both a trusted and an untrusted certificate.
                   1121:        <li>Added support for <a href="https://man.openbsd.org/SSL_get_shared_ciphers.3">SSL_get_shared_ciphers(3)</a> in TLSv1.3 and fixed to correctly return ciphers shared by the client and the server.
1.15      benno    1122:        <li>Requested client certificate only when required in <a href="https://man.openbsd.org/smtpd.8">smtpd(8)</a>.
                   1123:        <li>Enabled DTLSv1.2.
1.11      benno    1124: -->
1.3       benno    1125:
1.1       deraadt  1126:     </ul>
                   1127:
                   1128:     <li>API and Documentation Enhancements
                   1129:     <ul>
                   1130:        <li>...
                   1131:     </ul>
                   1132:
                   1133:     <li>Compatibility Changes
                   1134:     <ul>
                   1135:        <li>...
                   1136:     </ul>
                   1137:
                   1138:     <li>Testing and Proactive Security
                   1139:     <ul>
                   1140:        <li>...
                   1141:     </ul>
                   1142:
                   1143:     <li>Internal Improvements
                   1144:       <ul>
                   1145:        <li>...
                   1146:       </ul>
                   1147:
                   1148:     <li>Portable Improvements
                   1149:     <ul>
                   1150:        <li>...
                   1151:     </ul>
                   1152:
                   1153:     <li>Bug Fixes
                   1154:     <ul>
                   1155:        <li>...
                   1156:     </ul>
                   1157:   </ul>
                   1158:
1.15      benno    1159: <li>OpenSSH 8.5
1.3       benno    1160:
1.1       deraadt  1161:   <ul>
1.3       benno    1162:
1.11      benno    1163: <!-- XXX taken from plus.html, not sorted into categories yet
1.3       benno    1164:        <li>Preferred ed25519 signature algorithm variants over ECDSA in <a
                   1165:                href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a> and <a
                   1166:                href="https://man.openbsd.org/sshd_config.5">sshd_config(5)</a>.
                   1167:        <li>Enabled <a
                   1168:                href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>
                   1169:                UpdateHostkeys by default when the configuration has not overridden
                   1170:                UserKnownHostFile.
                   1171:        <li>Prefixed <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>
                   1172:                keyboard interactive prompts with "user@host" for easier
                   1173:                identification of connections.
                   1174:        <li>Displayed any other hostnames/addresses associated with a new
                   1175:                hostkey when <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>
                   1176:                prompts the user to accept it.
                   1177:        <li>When doing an <a href="https://man.openbsd.org/sftp.1">sftp(1)</a>
                   1178:                recursive upload or download of a read-only directory, ensured that
                   1179:                the directory was created with write and execute permissions in the
                   1180:                interim to allow the transfer.
                   1181:        <li>Set the specified TOS/DSCP for interactive use prior to TCP
                   1182:                connect in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
                   1183:        <li>CLeaned up passing of struct passwd from monitor to preauth
                   1184:                privsep process in <a href="https://man.openbsd.org/ssh.1">ssh(1)</a>.
1.5       benno    1185:        <li>Added an <a
                   1186:                href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>
                   1187:                KnownHostsCommand that allows the client to obtain known_hosts data
                   1188:                from a command in addition to the usual files.
1.9       benno    1189:        <li>Made CheckHostIP default to "no" in <a
                   1190:                href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a>.
                   1191:        <li>Added PerSourceMaxStartups and PerSourceNetBlockSize options to
                   1192:                <a href="https://man.openbsd.org/sshd.8">sshd(8)</a>.
1.10      benno    1193:        <li>Renamed the PubkeyAcceptedKeyTypes keyword to
                   1194:                PubkeyAcceptedAlgorithms in <a
                   1195:                href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a> and <a
                   1196:                href="https://man.openbsd.org/sshd_config.5">sshd_config(5)</a>.
                   1197:        <li>Renamed the HostbasedKeyTypes keyword in <a
                   1198:                href="https://man.openbsd.org/ssh_config.5">ssh_config(5)</a> and the
                   1199:                HostbasedAcceptedKeyTypes keyword in <a
                   1200:                href="https://man.openbsd.org/sshd_config.5">sshd_config(5)</a> to
                   1201:                HostbasedAcceptedAlgorithms.
                   1202:        <li>Added PermitRemoteOpen to <a
                   1203:                href="https://man.openbsd.org/ssh.1">ssh(1)</a> for remote dynamic
                   1204:                forwarding with SOCKS.
1.15      benno    1205:        <li>Released <a href="https://www.openssh.com/txt/release-8.5">OpenSSH 8.5</a>.
1.11      benno    1206: -->
1.3       benno    1207:
1.1       deraadt  1208:     <li>Potentially incompatible changes.
                   1209:     <ul>
                   1210:        <li>...
                   1211:     </ul>
                   1212:     <li>New Features
                   1213:     <ul>
                   1214:        <li>...
                   1215:     </ul>
                   1216:     <li>Bugfixes
                   1217:     <ul>
                   1218:        <li>...
                   1219:     </ul>
                   1220:   </ul>
                   1221:
                   1222: <li>Ports and packages:
1.18      gnezdo   1223:   <p>The package system provides an easy way to install 3rd party software. New features include:
                   1224:   <ul>
                   1225:     <li>Upgraded GHC (The Glasgow Haskell Compiler) to 8.10.3.
                   1226:     <li>Reworked Haskell binary package builds using
                   1227:       <a href="https://man.openbsd.org/cabal-module.5">cabal.port.mk</a>. This
                   1228:       allowed new versions of preexisting Haskell packages and some
                   1229:       notable new packages like pandoc and hledger.
                   1230:   </ul>
                   1231:
1.1       deraadt  1232:   <p>Many pre-built packages for each architecture:
                   1233:   <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
                   1234:   <ul style="column-count: 3">
                   1235:     <li>aarch64:     XXX
                   1236:     <li>amd64:       XXX
                   1237:     <li>arm:         XXX
                   1238:     <li>i386:        XXX
                   1239:     <li>mips64:      XXX
                   1240:     <li>mips64el:    XXX
                   1241:     <li>powerpc:     XXX
                   1242:     <li>powerpc64:   XXX
                   1243:     <li>sparc64:     XXX
                   1244:   </ul>
                   1245:
                   1246: <li>As usual, steady improvements in manual pages and other documentation.
                   1247:
                   1248: <li>The system includes the following major components from outside suppliers:
                   1249:   <ul>
1.5       benno    1250:
                   1251:     <li>Xenocara (based on X.Org 7.7 with xserver 1.20.10 + patches,
1.10      benno    1252:         freetype 2.10.4, fontconfig 2.12.4, Mesa 20.0.8, xterm 366,
1.5       benno    1253:         xkeyboard-config 2.20, fonttosfnt 1.2.1 and more)
1.1       deraadt  1254:     <li>LLVM/Clang 10.0.1 (+ patches)
                   1255:     <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
1.10      benno    1256:     <li>Perl 5.32.1 (+ patches)
1.8       florian  1257:     <li>NSD 4.3.6
                   1258:     <li>Unbound 1.13.1
1.1       deraadt  1259:     <li>Ncurses 5.7
                   1260:     <li>Binutils 2.17 (+ patches)
                   1261:     <li>Gdb 6.3 (+ patches)
1.5       benno    1262:     <li>Awk December 18, 2020 version
                   1263:     <li>Expat 2.2.10
1.1       deraadt  1264:   </ul>
                   1265:
                   1266: </ul>
                   1267: </section>
                   1268:
                   1269: <hr>
                   1270:
                   1271: <section id=install>
                   1272: <h3>How to install</h3>
                   1273: <p>
                   1274: Please refer to the following files on the mirror site for
                   1275: extensive details on how to install OpenBSD 6.9 on your machine:
                   1276:
                   1277: <ul>
                   1278: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/alpha/INSTALL.alpha">
                   1279:        .../OpenBSD/6.9/alpha/INSTALL.alpha</a>
                   1280: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/amd64/INSTALL.amd64">
                   1281:        .../OpenBSD/6.9/amd64/INSTALL.amd64</a>
                   1282: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/arm64/INSTALL.arm64">
                   1283:        .../OpenBSD/6.9/arm64/INSTALL.arm64</a>
                   1284: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/armv7/INSTALL.armv7">
                   1285:        .../OpenBSD/6.9/armv7/INSTALL.armv7</a>
                   1286: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/hppa/INSTALL.hppa">
                   1287:        .../OpenBSD/6.9/hppa/INSTALL.hppa</a>
                   1288: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/i386/INSTALL.i386">
                   1289:        .../OpenBSD/6.9/i386/INSTALL.i386</a>
                   1290: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/landisk/INSTALL.landisk">
                   1291:        .../OpenBSD/6.9/landisk/INSTALL.landisk</a>
                   1292: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/loongson/INSTALL.loongson">
                   1293:        .../OpenBSD/6.9/loongson/INSTALL.loongson</a>
                   1294: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/luna88k/INSTALL.luna88k">
                   1295:        .../OpenBSD/6.9/luna88k/INSTALL.luna88k</a>
                   1296: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/macppc/INSTALL.macppc">
                   1297:        .../OpenBSD/6.9/macppc/INSTALL.macppc</a>
                   1298: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/octeon/INSTALL.octeon">
                   1299:        .../OpenBSD/6.9/octeon/INSTALL.octeon</a>
                   1300: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/powerpc64/INSTALL.powerpc64">
1.4       landry   1301:        .../OpenBSD/6.9/powerpc64/INSTALL.powerpc64</a>
1.1       deraadt  1302: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/sgi/INSTALL.sgi">
                   1303:        .../OpenBSD/6.9/sgi/INSTALL.sgi</a>
                   1304: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/6.9/sparc64/INSTALL.sparc64">
                   1305:        .../OpenBSD/6.9/sparc64/INSTALL.sparc64</a>
                   1306: </ul>
                   1307: </section>
                   1308:
                   1309: <hr>
                   1310:
                   1311: <section id=quickinstall>
                   1312: <p>
                   1313: Quick installer information for people familiar with OpenBSD, and the use of
                   1314: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
                   1315: If you are at all confused when installing OpenBSD, read the relevant
                   1316: INSTALL.* file as listed above!
                   1317:
                   1318: <h3>OpenBSD/alpha:</h3>
                   1319:
                   1320: <p>
                   1321: If your machine can boot from CD, you can write <i>install69.iso</i> or
                   1322: <i>cd69.iso</i> to a CD and boot from it.
                   1323: Refer to INSTALL.alpha for more details.
                   1324:
                   1325: <h3>OpenBSD/amd64:</h3>
                   1326:
                   1327: <p>
                   1328: If your machine can boot from CD, you can write <i>install69.iso</i> or
                   1329: <i>cd69.iso</i> to a CD and boot from it.
                   1330: You may need to adjust your BIOS options first.
                   1331:
                   1332: <p>
                   1333: If your machine can boot from USB, you can write <i>install69.img</i> or
                   1334: <i>miniroot69.img</i> to a USB stick and boot from it.
                   1335:
                   1336: <p>
                   1337: If you can't boot from a CD, floppy disk, or USB,
                   1338: you can install across the network using PXE as described in the included
                   1339: INSTALL.amd64 document.
                   1340:
                   1341: <p>
                   1342: If you are planning to dual boot OpenBSD with another OS, you will need to
                   1343: read INSTALL.amd64.
                   1344:
                   1345: <h3>OpenBSD/arm64:</h3>
                   1346:
                   1347: <p>
                   1348: Write <i>miniroot69.img</i> to a disk and boot from it after connecting
                   1349: to the serial console.  Refer to INSTALL.arm64 for more details.
                   1350:
                   1351: <h3>OpenBSD/armv7:</h3>
                   1352:
                   1353: <p>
                   1354: Write a system specific miniroot to an SD card and boot from it after connecting
                   1355: to the serial console.  Refer to INSTALL.armv7 for more details.
                   1356:
                   1357: <h3>OpenBSD/hppa:</h3>
                   1358:
                   1359: <p>
                   1360: Boot over the network by following the instructions in INSTALL.hppa or the
                   1361: <a href="hppa.html#install">hppa platform page</a>.
                   1362:
                   1363: <h3>OpenBSD/i386:</h3>
                   1364:
                   1365: <p>
                   1366: If your machine can boot from CD, you can write <i>install69.iso</i> or
                   1367: <i>cd69.iso</i> to a CD and boot from it.
                   1368: You may need to adjust your BIOS options first.
                   1369:
                   1370: <p>
                   1371: If your machine can boot from USB, you can write <i>install69.img</i> or
                   1372: <i>miniroot69.img</i> to a USB stick and boot from it.
                   1373:
                   1374: <p>
                   1375: If you can't boot from a CD, floppy disk, or USB,
                   1376: you can install across the network using PXE as described in
                   1377: the included INSTALL.i386 document.
                   1378:
                   1379: <p>
                   1380: If you are planning on dual booting OpenBSD with another OS, you will need to
                   1381: read INSTALL.i386.
                   1382:
                   1383: <h3>OpenBSD/landisk:</h3>
                   1384:
                   1385: <p>
                   1386: Write <i>miniroot69.img</i> to the start of the CF
                   1387: or disk, and boot normally.
                   1388:
                   1389: <h3>OpenBSD/loongson:</h3>
                   1390:
                   1391: <p>
                   1392: Write <i>miniroot69.img</i> to a USB stick and boot bsd.rd from it
                   1393: or boot bsd.rd via tftp.
                   1394: Refer to the instructions in INSTALL.loongson for more details.
                   1395:
                   1396: <h3>OpenBSD/luna88k:</h3>
                   1397:
                   1398: <p>
                   1399: Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
                   1400: from the PROM, and then bsd.rd from the bootloader.
                   1401: Refer to the instructions in INSTALL.luna88k for more details.
                   1402:
                   1403: <h3>OpenBSD/macppc:</h3>
                   1404:
                   1405: <p>
                   1406: Burn the image from a mirror site to a CDROM, and power on your machine
                   1407: while holding down the <i>C</i> key until the display turns on and
                   1408: shows <i>OpenBSD/macppc boot</i>.
                   1409:
                   1410: <p>
                   1411: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
                   1412: /6.9/macppc/bsd.rd</i>
                   1413:
                   1414: <h3>OpenBSD/octeon:</h3>
                   1415:
                   1416: <p>
                   1417: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
                   1418: Refer to the instructions in INSTALL.octeon for more details.
                   1419:
                   1420: <h3>OpenBSD/powerpc64:</h3>
                   1421:
                   1422: <p>
                   1423: To install, write <i>install69.img</i> or <i>miniroot69.img</i> to a
                   1424: USB stick, plug it into the machine and choose the <i>OpenBSD
                   1425: install</i> menu item in Petitboot.
                   1426: Refer to the instructions in INSTALL.powerpc64 for more details.
                   1427:
                   1428: <h3>OpenBSD/sgi:</h3>
                   1429:
                   1430: <p>
                   1431: To install, burn cd69.iso on a CD-R, put it in the CD drive of your
                   1432: machine and select <i>Install System Software</i> from the System Maintenance
                   1433: menu. Indigo/Indy/Indigo2 (R4000) systems will not boot automatically from
                   1434: CD-ROM, and need a proper invocation from the PROM prompt.
                   1435: Refer to the instructions in INSTALL.sgi for more details.
                   1436:
                   1437: <p>
                   1438: If your machine doesn't have a CD drive, you can setup a DHCP/tftp network
                   1439: server, and boot using "bootp()/bsd.rd.IP##" using the kernel matching your
                   1440: system type. Refer to the instructions in INSTALL.sgi for more details.
                   1441:
                   1442: <h3>OpenBSD/sparc64:</h3>
                   1443:
                   1444: <p>
                   1445: Burn the image from a mirror site to a CDROM, boot from it, and type
                   1446: <i>boot cdrom</i>.
                   1447:
                   1448: <p>
                   1449: If this doesn't work, or if you don't have a CDROM drive, you can write
                   1450: <i>floppy69.img</i> or <i>floppyB69.img</i>
                   1451: (depending on your machine) to a floppy and boot it with <i>boot
                   1452: floppy</i>. Refer to INSTALL.sparc64 for details.
                   1453:
                   1454: <p>
                   1455: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                   1456: will most likely fail.
                   1457:
                   1458: <p>
                   1459: You can also write <i>miniroot69.img</i> to the swap partition on
                   1460: the disk and boot with <i>boot disk:b</i>.
                   1461:
                   1462: <p>
                   1463: If nothing works, you can boot over the network as described in INSTALL.sparc64.
                   1464: </section>
                   1465:
                   1466: <hr>
                   1467:
                   1468: <section id=upgrade>
                   1469: <h3>How to upgrade</h3>
                   1470: <p>
1.22      benno    1471: If you already have an OpenBSD 6.8 system, and do not want to reinstall,
1.1       deraadt  1472: upgrade instructions and advice can be found in the
                   1473: <a href="faq/upgrade69.html">Upgrade Guide</a>.
                   1474: </section>
                   1475:
                   1476: <hr>
                   1477:
                   1478: <section id=sourcecode>
                   1479: <h3>Notes about the source code</h3>
                   1480: <p>
                   1481: <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
                   1482: This file contains everything you need except for the kernel sources,
                   1483: which are in a separate archive.
                   1484: To extract:
                   1485: <blockquote><pre>
                   1486: # <kbd>mkdir -p /usr/src</kbd>
                   1487: # <kbd>cd /usr/src</kbd>
                   1488: # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
                   1489: </pre></blockquote>
                   1490: <p>
                   1491: <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
                   1492: This file contains all the kernel sources you need to rebuild kernels.
                   1493: To extract:
                   1494: <blockquote><pre>
                   1495: # <kbd>mkdir -p /usr/src/sys</kbd>
                   1496: # <kbd>cd /usr/src</kbd>
                   1497: # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
                   1498: </pre></blockquote>
                   1499: <p>
                   1500: Both of these trees are a regular CVS checkout.  Using these trees it
                   1501: is possible to get a head-start on using the anoncvs servers as
                   1502: described <a href="anoncvs.html">here</a>.
                   1503: Using these files
                   1504: results in a much faster initial CVS update than you could expect from
                   1505: a fresh checkout of the full OpenBSD source tree.
                   1506: </section>
                   1507:
                   1508: <hr>
                   1509:
                   1510: <section id=ports>
                   1511: <h3>Ports Tree</h3>
                   1512: <p>
                   1513: A ports tree archive is also provided.  To extract:
                   1514: <blockquote><pre>
                   1515: # <kbd>cd /usr</kbd>
                   1516: # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
                   1517: </pre></blockquote>
                   1518: <p>
                   1519: Go read the <a href="faq/ports/index.html">ports</a> page
                   1520: if you know nothing about ports
                   1521: at this point.  This text is not a manual of how to use ports.
                   1522: Rather, it is a set of notes meant to kickstart the user on the
                   1523: OpenBSD ports system.
                   1524: <p>
                   1525: The <i>ports/</i> directory represents a CVS checkout of our ports.
                   1526: As with our complete source tree, our ports tree is available via
                   1527: <a href="anoncvs.html">AnonCVS</a>.
                   1528: So, in order to keep up to date with the -stable branch, you must make
                   1529: the <i>ports/</i> tree available on a read-write medium and update the tree
                   1530: with a command like:
                   1531: <blockquote><pre>
                   1532: # <kbd>cd /usr/ports</kbd>
                   1533: # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_6_9</kbd>
                   1534: </pre></blockquote>
                   1535: <p>
                   1536: [Of course, you must replace the server name here with a nearby anoncvs
                   1537: server.]
                   1538: <p>
                   1539: Note that most ports are available as packages on our mirrors. Updated
                   1540: ports for the 6.9 release will be made available if problems arise.
                   1541: <p>
                   1542: If you're interested in seeing a port added, would like to help out, or just
                   1543: would like to know more, the mailing list
                   1544: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
                   1545: </section>