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

Annotation of www/72.html, Revision 1.42

1.1       deraadt     1: <!doctype html>
                      2: <html lang=en id=release>
                      3: <head>
                      4: <meta charset=utf-8>
                      5:
                      6: <title>OpenBSD 7.2</title>
                      7: <meta name="description" content="OpenBSD 7.2">
                      8: <meta name="viewport" content="width=device-width, initial-scale=1">
                      9: <link rel="stylesheet" type="text/css" href="openbsd.css">
                     10: <link rel="canonical" href="https://www.openbsd.org/72.html">
                     11: </head><body>
                     12: <h2 id=OpenBSD>
                     13: <a href="index.html">
                     14: <i>Open</i><b>BSD</b></a>
                     15: 7.2
                     16: </h2>
                     17:
                     18: <table>
                     19: <tr>
                     20: <td>
                     21: <a href="images/XXX.png">
                     22: <img width="227" height="303" src="images/XXX-s.gif" alt="XXX"></a>
                     23: <td>
                     24: Released Oct 20, 2022. (53rd OpenBSD release)<br>
                     25: Copyright 1997-2022, Theo de Raadt.<br>
                     26: <br>
1.28      deraadt    27: Artwork by Jon Chad.
1.1       deraadt    28: <br>
                     29: <ul>
                     30: <li>See the information on <a href="ftp.html">the FTP page</a> for
                     31:     a list of mirror machines.
                     32: <li>Go to the <code class=reldir>pub/OpenBSD/7.2/</code> directory on
                     33:     one of the mirror sites.
                     34: <li>Have a look at <a href="errata72.html">the 7.2 errata page</a> for a list
                     35:     of bugs and workarounds.
                     36: <li>See a <a href="plus72.html">detailed log of changes</a> between the
                     37:     7.1 and 7.2 releases.
                     38: <p>
                     39: <li><a href="https://man.openbsd.org/signify.1">signify(1)</a>
                     40:     pubkeys for this release:<p>
                     41:
                     42: <table class=signify>
                     43: <tr><td>
                     44: openbsd-72-base.pub:
                     45: <td>
                     46: <a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/openbsd-72-base.pub">
1.17      jsg        47: RWQTKNnK3CZZ8Lid7/kWPO1WxjEsTeuxiXbJSSg6RDir9OJmV+t7GrOo</a>
1.1       deraadt    48: <tr><td>
                     49: openbsd-72-fw.pub:
                     50: <td>
                     51: RWRvwsB/ZxwZxiQBgNVhuCnEacKE1MhrcDX25jFccqaj0pxsY9oIPJq4
                     52: <tr><td>
                     53: openbsd-72-pkg.pub:
                     54: <td>
                     55: RWSyNc+EwQQo5bZ5XtDpnk0FUl8NrIl+Ocq4FV/5VTvP9rOgHzKEnBx0
                     56: <tr><td>
                     57: openbsd-72-syspatch.pub:
                     58: <td>
                     59: RWQuBB7PRAc2Zy+C7VAynLuan8WDVtQ9R4xLpl8yjf1zxfqEBRRJ+66w
                     60: </table>
                     61: </ul>
                     62: <p>
                     63: All applicable copyrights and credits are in the src.tar.gz,
                     64: sys.tar.gz, xenocara.tar.gz, ports.tar.gz files, or in the
                     65: files fetched via <code>ports.tar.gz</code>.
                     66: </table>
                     67:
                     68: <hr>
                     69:
                     70: <section id=new>
                     71: <h3>What's New</h3>
                     72: <p>
                     73: This is a partial list of new features and systems included in OpenBSD 7.2.
                     74: For a comprehensive list, see the <a href="plus72.html">changelog</a> leading
                     75: to 7.2.
                     76:
                     77: <ul>
                     78:
                     79: <li>New/extended platforms:
                     80:   <ul>
1.4       jsg        81:   <li>Added support for Ampere Altra
                     82:   <li>Added support for Apple M2
1.35      benno      83:   <li>Added support for Lenovo ThinkPad x13s and other machines using
1.34      benno      84:        the Qualcomm Snapdragon 8cx Gen 3 (SC8280XP) SoC.
1.1       deraadt    85:   <li>...
                     86:   </ul>
                     87:
                     88: <li>Various kernel improvements:
                     89:   <ul>
1.12      benno      90:   <li>Allowed bsd.rd and bsd/bsd.mp to boot on Oracle Cloud amd64 instances.
                     91:   <li>Added support for switching from glass console to serial console
                     92:        on arm64 systems that default to glass console.
1.16      jsg        93:   <li><a href="https://man.openbsd.org/pf.4">pf(4)</a> automatically allows
                     94:     IGMP and ICMP6 MLD packets with router alert option.
1.9       bluhm      95:     Special allow-opts rules are no longer needed for multicast
                     96:     discovery.
1.19      benno      97:   <li>Fixed a <a href="https://man.openbsd.org/pf.4">pf(4)</a> NULL
                     98:        dereference panic triggered by <a
                     99:        href="https://man.openbsd.org/relayd.8">relayd(8)</a>.
1.16      jsg       100:   <li>Implement "show all routes" to print routing tables in
                    101:       <a href="https://man.openbsd.org/ddb.4">ddb(4)</a>.
1.29      benno     102:   <li>Added a method (ESC D) to enter <a
                    103:        href="https://man.openbsd.org/ddb.4">ddb(4)</a> on serial drivers that
                    104:        do not have a true BREAK mechanism.
                    105:   <li>Added "show all routes" and the ability to show individual routes
                    106:        (e.g. "show route 0xfffffd807e9b0000") to <a
                    107:        href="https://man.openbsd.org/ddb.4">ddb(4)</a>.
                    108:   <li>Added a "show swap" command to <a
                    109:        href="https://man.openbsd.org/ddb.4">ddb(4)</a> to help debugging.
                    110:
                    111:
1.16      jsg       112:   <li>Count dropped network packets due to low memory in
                    113:       <a href="https://man.openbsd.org/netstat.1">netstat(1)</a>.
1.12      benno     114:   <li>Simplified machine command handling in <a
                    115:        href="https://man.openbsd.org/ddb.4">ddb(4)</a>.
                    116:   <li>Changed to a simpler formula to calculate a default kern.maxthread
                    117:        value: 2*NPROCESS.
                    118:   <li>Enabled <a href="https://man.openbsd.org/kstat.4">kstat(4)</a>, a
                    119:        device that exports kernel statistics that can be read by <a
1.23      jsg       120:        href="https://man.openbsd.org/kstat.1">kstat(1)</a>.
1.13      benno     121:   <li>Added cpu frequency sensors for each core on CPUs that have MPERF/APERF support.
1.14      benno     122:   <li>Merged the UVM swap-backed and object-backed inactive page lists.
                    123:   <li>Fixed <a href="https://man.openbsd.org/rwlock.9">rwlock(9)</a>
                    124:        implementation to be fair to writers. Previously, readers could grab
                    125:        the lock even if writers were waiting first.
                    126:   <li>Made the CPU frequency scaling duration relative to the load
                    127:        when in automatic mode on battery.
                    128:   <li>Fixed luna88k MULTIPROCESSOR kernels booting with CPU modules
                    129:        installed in arbitrary slots.
1.19      benno     130:   <li>Added a missing <a
                    131:        href="https://man.openbsd.org/kqueue.2">kqueue(2)</a> wakeup, found by
                    132:        a Go testcase hang.
                    133:   <li>Bumped the maximum number of supported CPUs to 256 on arm64.
                    134:
1.29      benno     135: <!-- XXX should the following be here (swapper, pmem...) or maybe one entry describing them together? -->
                    136:   <li>Ensure uvm_swap_io() can succeed, even in out of memory
                    137:        situations, by reserving a second segment for the page daemon.
                    138:   <li>Ensured progress in the swapper by pre-allocating pages in a DMA-reachable region.
                    139:   <li>Made the page daemon consider pmemrange regions when trying to
                    140:        free pages from the inactive list. Previously the page daemon could
                    141:        use a lot of CPU without freeing a page because the global limits were
                    142:        satisfied.
                    143:   <li>Ensured that uvm_swap_get() will always sleep rather than
                    144:        returning an error. Previously an error could be returned to the fault
                    145:        handler which would result in processes dying when a system was under
                    146:        a lot of memory pressure.
                    147:
                    148:
                    149:   <li>Added support for using non-standard UARTs (such as the Synopsys
                    150:        DesignWare UART) as an early console.
                    151:
                    152:   <li>Remove NexGen CPU identification code as the kernel cannot run on these CPUs anyway.
                    153:   <li>Remove Rise CPU identification code.
1.32      benno     154:   <li>Dropped detection code for 386sx/386dx CPUs. OpenBSD/i386 hasn't
                    155:        actually supported running on either for some time.
                    156:   <li>Dropped detection code for Cyrix CPUs older than the Cyrix M2.
1.29      benno     157:
                    158:   <li>Implemented the fundamentals for suspend/resume on arm64.
1.32      benno     159:   <li>Simplified TSC synchronization testing on amd64.
                    160:
                    161:   <li>Corrected sparc64 ofwboot to default to the <a
                    162:         href="https://man.openbsd.org/softraid.4">softraid(4)</a> volume on the
                    163:        boot device to make root on softraid work out of the box on sparc64
                    164:        and be more consistent with softraid boot on other architectures.
                    165:   <li>Added support for booting from RAID 1C <a
                    166:        href="https://man.openbsd.org/softraid.4">softraid(4)</a> volumes on
                    167:        amd64, sparc64 and arm64.
                    168:
                    169:   <li>Removed the obsolete kern.nselcoll <a
                    170:        href="https://man.openbsd.org/sysctl.2">sysctl(2)</a>.
                    171:   <li>Changed mips64, octeon, and loongson to trigger deferred clock
                    172:        interrupts from <a href="https://man.openbsd.org/splx.9">splx(9)</a>.
                    173:        This isolates the clock interrupt schedule from the MD clock interrupt
                    174:        code.
                    175:   <li>Fixed a potential kernel panic when an msdos partition is out
                    176:        of space by fixing instances where msdosfs passed a NULL proc pointer
                    177:        to detrunc().
                    178:   <li>Add a delay_init() function that helps on i386 and amd64
                    179:        architectures in setting up delay_func for different timers and
                    180:        switching between them depending on their quality properties.  This
                    181:        improves how timers backing <a
                    182:        href="https://man.openbsd.org/delay.9">delay(9)</a> are managed.
1.29      benno     183:
1.1       deraadt   184:   </ul>
                    185:
                    186: <li>SMP Improvements
                    187:   <ul>
1.39      jsg       188:   <li>Make route timer MP safe and use rttimer pool.
1.9       bluhm     189:   <li>Use kernel lock to protect parts of ARP, ND6 and PPPoE that
                    190:     are not MP safe.
                    191:     Lookup of existing ARP entry is MP safe and can run in parallel.
                    192:   <li>Start up to 4 softnet tasks to run IP input and forwarding
                    193:     in parallel on multiple cores.
                    194:   <li>Run IPv4 packet reassembly in parallel.
                    195:   <li>Run IPv6 hop-by-hop options processing in parallel.
                    196:   <li>Add a mutex to rate limiting functions to make them MP safe.
                    197:   <li>Introduce mutex and reference counter for internet protocol
                    198:     control block.
                    199:   <li>Protect UDP, raw IP, and divert packet input routines
                    200:     with a per socket mutex.
1.16      jsg       201:   <li>Protect <a href="https://man.openbsd.org/recv.2">recv(2)</a> system call
                    202:     for UDP and raw IP packets with a per socket mutex and shared netlock.
1.9       bluhm     203:     Allows to receive packets while forwarding in parallel.
                    204:   <li>Protect multicast deliver loop for UDP and raw IP sockets with rwlock.
1.13      benno     205:   <li>Only grab netlock in IGMP and MLD timer when necessary.
1.9       bluhm     206:   <li>TCP slow timer runs without netlock.
                    207:   <li>Rework rwlock so that a writer will get the lock eventually.
                    208:     Readers cannot share the lock forever.
                    209:     This prevents starvation of the writer.
                    210:   <li>Run interface media ioctl with shared netlock so packets
1.16      jsg       211:     can be processed while running
                    212:     <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>.
                    213:   <li><a href="https://man.openbsd.org/btrace.8">btrace(8)</a> can be used
                    214:       to debug reference counting.
1.9       bluhm     215:   <li>Use MP safe refcount for interface addresses.
1.29      benno     216:   <li>Unlocked <a href="https://man.openbsd.org/kbind.2">kbind(2)</a>.
                    217:   <li>Unlocked the <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> system call.
                    218:   <li>Made <a href="https://man.openbsd.org/unix.4">unix(4)</a> domain
                    219:        sockets locking per-socket rather than coarse locking of the entire
                    220:        domain sockets layer.
                    221:
1.1       deraadt   222:   <li>...
                    223:   </ul>
                    224:
1.13      benno     225: <li>Direct Rendering Manager and graphics drivers
1.1       deraadt   226:   <ul>
1.5       jsg       227:   <li>Updated <a href="https://man.openbsd.org/drm.4">drm(4)</a>
                    228:       to Linux 5.15.69
                    229:   <li><a href="https://man.openbsd.org/inteldrm.4">inteldrm(4)</a>:
                    230:       support for Alder Lake, Raptor Lake
1.42    ! jsg       231:   <li>Reimplemented the TTM page allocation code using <a
1.13      benno     232:        href="https://man.openbsd.org/bus_dma.9">bus_dma(9)</a> APIs to make
                    233:        sure DMA addresses are translated properly on architectures with an
                    234:        IOMMU. This fixed <a
                    235:        href="https://man.openbsd.org/amdgpu.4">amdgpu(4)</a> and <a
                    236:        href="https://man.openbsd.org/radeondrm.4">radeondrm(4)</a> on
1.42    ! jsg       237:        powerpc64, sparc64, and arm64 machines with SMMU.
1.29      benno     238:   <li>Implemented support for framebuffers that don't start on a page
1.41      jsg       239:        boundary (like those on the 2021 14" and 16" MacBook Pro).
1.29      benno     240:   <li>Added handling for framebuffers where the first pixel isn't
                    241:        page-aligned to <a href="https://man.openbsd.org/wsfb.4">wsfb(4)</a>.
1.32      benno     242:   <li>Fixed <a href="https://man.openbsd.org/Xorg.1">Xorg(1)</a> when
                    243:        using the luna88k 1bpp framebuffer hardware.
1.1       deraadt   244:   </ul>
                    245:
                    246: <li>VMM/VMD improvements
                    247:   <ul>
1.11      benno     248:   <li>Improved error handling and logging in <a
                    249:        href="https://man.openbsd.org/vmd.8">vmd(8)</a>
                    250:   <li>Unify all internal structures and interfaces between <a
                    251:        href="https://man.openbsd.org/vmd.8">vmd(8)</a>, <a
                    252:        href="https://man.openbsd.org/vmctl.8">vmctl(8)</a> and <a
                    253:        href="https://man.openbsd.org/vmm.4">vmm(4)</a> to use bytes for
1.13      benno     254:        memory and disk sizes.
1.18      jsg       255:   <li>Fix rebooting a received VM in <a
1.11      benno     256:         href="https://man.openbsd.org/vmd.8">vmd(8)</a>.
                    257:   <li>Have <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> provide
                    258:        a copy of bios at 4g boundary, SeaBIOS and newer Linux kernels expect
                    259:        it there.
                    260:   <li>In <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>, fix off by
1.18      jsg       261:        one in VM memory range check.
1.11      benno     262:   <li>In <a href="https://man.openbsd.org/vmd.8">vmd(8)</a>, add
1.18      jsg       263:        support for MMIO assist. In <a
                    264:        href="https://man.openbsd.org/vmm.4">vmm(4)</a>, send all port I/O
1.11      benno     265:        emulation to userland.
                    266:   <li>Have <a href="https://man.openbsd.org/vmd.8">vmd(8)</a> compute
                    267:        i8254 read-back command latch from singular timestamp.
                    268:   <li>Improve the command line parsing in <a
                    269:         href="https://man.openbsd.org/vmctl.8">vmctl(8)</a>.
                    270:   <li>Let <a href="https://man.openbsd.org/vmm.4">vmm(4)</a> allow
                    271:        reading MSR_TSC on Intel hosts.
                    272:   <li>In <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>, reference
1.18      jsg       273:        count VMs and VCPUs.
1.11      benno     274:   <li>In <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>, zero
1.18      jsg       275:        virtual addresses of VCPU state pages after freeing.
1.11      benno     276:   <li>Fix `vmctl send` on Intel hosts by load the vmcs before reading
1.18      jsg       277:        VCPU registers in <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>.
1.11      benno     278:   <li>Fix `vmctl receive` on Intel hosts by adding an additional fault
                    279:        type in <a href="https://man.openbsd.org/vmm.4">vmm(4)</a>.
                    280:   <li>Add additional <a href="https://man.openbsd.org/dt.4">dt(4)</a>
                    281:        tracepoints in various <a
                    282:        href="https://man.openbsd.org/vmm.4">vmm(4)</a> codepaths.
1.34      benno     283:   <li>Add <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>
                    284:        AgentX support based around VM-MIB (RFC7666).
1.1       deraadt   285:   </ul>
                    286:
                    287: <li>Various new userland features:
                    288:   <ul>
1.14      benno     289:   <li>Replaced <a href="https://man.openbsd.org/rc.d.8">rc.d(8)</a>
                    290:        $rcexec variable with an rc_exec function. <em>This will require a
                    291:        mechanical change from <code>${rcexec}</code> to <code>rc_exec</code>
                    292:        in rc.d scripts.</em> Kept compatibility to give people a chance to
                    293:        fix their custom scripts.
1.19      benno     294:   <li>Introduced a new daemon_execdir variable to <a
                    295:        href="https://man.openbsd.org/rc.d.8">rc.d(8)</a> for changing to a
1.24      ajacouto  296:        specified directory before running rc_exec.
1.29      benno     297:   <li>Added <a href="https://man.openbsd.org/ts.1">ts(1)</a>, a timestamp utility.
                    298:
1.24      ajacouto  299:   </ul>
1.1       deraadt   300:
                    301: <li>Various bugfixes and tweaks in userland:
                    302:   <ul>
1.37      benno     303:   <!-- openrsync -->
1.12      benno     304:   <li>Fixed <a href="https://man.openbsd.org/openrsync">openrsync(1)</a>
                    305:        on sparc64 by eliminating a redundant second conversion of the int
                    306:        value from little to host endian.
1.29      benno     307:   <li>Added connection timeout functionality to <a
                    308:        href="https://man.openbsd.org/openrsync.1">openrsync(1)</a> via the
                    309:        --contimeout option.
                    310:   <li>Set the default <a
                    311:        href="https://man.openbsd.org/openrsync.1">openrsync(1)</a> connection
                    312:        timeout that <a
                    313:        href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> uses
                    314:        to 15 seconds.
                    315:
1.37      benno     316:   <!-- pkg_add -->
1.12      benno     317:   <li>Made use of the fact that repositories are unique objects in <a
                    318:        href="https://man.openbsd.org/pkg_add">pkg_add(1)</a> and annotated
                    319:        the quirks repository as cached, allowing for a large speed increase.
1.14      benno     320:   <li>Enabled <a href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> caching by default.
1.19      benno     321:   <li>Changed the tied algorithm in <a
                    322:        href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> to prevent
                    323:        O(n^2) behavior when packages contain several hundred copies of the
                    324:        same file.
1.29      benno     325:   <li>Added a "processing" message for when <a
                    326:        href="https://man.openbsd.org/pkg_add.1">pkg_add(1)</a> is
                    327:        transferring data to inform the user that pkg_add is still working.
                    328:
1.37      benno     329:   <!-- fdisk -->
1.13      benno     330:   <li>Added missing uuid_dec_le() to init_fp() so <a
                    331:        href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> -A works on
                    332:        big-endian architectures.
1.14      benno     333:   <li>Aligned <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    334:        logic with that used in the kernel to allow the protective EFI GPT
                    335:        partition to be in MBR partitions 0-3, not just 0.
                    336:   <li>Prevented use of "-u" when <a
                    337:        href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> is operating on
                    338:        GPT formatted disks.
1.29      benno     339:   <li>Stopped telling <a
                    340:        href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> that macppc
                    341:        HAS_MBR.
                    342:   <li>Make <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    343:        reject input of excessive length.
                    344:   <li>Fixed an <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a>
                    345:         regression to allow editing an MBR of all zeroes.
                    346:   <li>Changed <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> to
                    347:         restrict user actions if neither GPT nor MBR structures can be found
                    348:         on the disk.
1.32      benno     349:   <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> print
                    350:        a warning when an MBR partition starts or extends past the end of the
                    351:        device.
                    352:   <li>Made <a href="https://man.openbsd.org/fdisk.8">fdisk(8)</a> print
                    353:        a warning when a GPT partition start or end is outside the usable LBA
                    354:        area of the device.
1.14      benno     355:
1.37      benno     356:   <!-- btrace -->
                    357:   <li>Installed useful <a
                    358:        href="https://man.openbsd.org/btrace.8">btrace(8)</a> scripts in
                    359:        /usr/share/btrace.
                    360:   <li>Made <a href="https://man.openbsd.org/btrace.8">btrace(8)</a>
                    361:        execute the END probe upon receiving a SIGTERM signal.
                    362:
                    363:   <!-- netstart/rc -->
                    364:   <li>Moved the wait for autoconf interfaces from <a
                    365:        href="https://man.openbsd.org/rc.8">rc(8)</a> to <a
                    366:        href="https://man.openbsd.org/netstart.8">netstart(8)</a> to fix
                    367:        tunnel interfaces that depend on working autoconf interfaces.
                    368:   <li>Made <a href="https://man.openbsd.org/netstart.8">netstart(8)</a>
                    369:        create virtual interfaces up front if specified on the command line.
                    370:   <li>Changed <a
                    371:        href="https://man.openbsd.org/rc.subr.8">rc.subr(8)</a> to copy the
                    372:        message to stdout when using <a
                    373:        href="https://man.openbsd.org/logger.1">logger(1)</a> to avoid needing
                    374:        to check syslog when running in debug mode.
                    375:   <li>Add a new <i>configtest</i> action to <a
                    376:        href="https://man.openbsd.org/rc.d.8">rc.d(8)</a> and <a
                    377:        href="https://man.openbsd.org/rcctl.8">rcctl(8)</a> to check
                    378:        configuration syntax of a daemon.
                    379:
                    380:   <li>Fixed <a href="https://man.openbsd.org/kbd.8">kbd(8)</a> so it
                    381:        doesn't fail silently when executed by a regular user.
1.14      benno     382:   <li>In the <i>sndio</i> library, added the function <a
                    383:        href="https://man.openbsd.org/sio_flush.3">sio_flush(3)</a> to stop
                    384:        playback immediately. Altered <a
                    385:        href="https://man.openbsd.org/sndiod.8">sndiod(8)</a> to wait until
                    386:        the buffer is drained before closing the device.
                    387:   <li>Made <a href="https://man.openbsd.org/xterm.1">xterm(1)</a> use a
                    388:        much safer FD-passing idiom for updating <a
                    389:        href="https://man.openbsd.org/utmp.5">utmp(5)</a>.
1.37      benno     390:   <li>Prevented a crash in <a
                    391:        href="https://man.openbsd.org/vi">vi(1)</a> when cursor key support is
                    392:        disabled.
                    393:   <li>Updated <a href="https://man.openbsd.org/vi">vi(1)</a> to apply
                    394:        expandtab to the output of a ! command.
1.14      benno     395:   <li>Made <a href="https://man.openbsd.org/mg.1">mg(1)</a>
                    396:        automatically delete trailing whitespace on RET in c-mode and
                    397:        auto-indent-mode.
1.19      benno     398:   <li>Made <a href="https://man.openbsd.org/grep.1">grep(1)</a> provide
                    399:        full context when using match count (<code>-m</code>
                    400:   <li>Added the --null flag to <a
                    401:        href="https://man.openbsd.org/grep.1">grep(1)</a> which makes grep
                    402:        print an ASCII NUL byte after the file name to make the output
                    403:        unambiguous.
1.37      benno     404:   <li>Fixed multiple memory leaks in <a
                    405:        href="https://man.openbsd.org/awk.1">awk(1)</a>.
                    406:   <li>Changed <a href="https://man.openbsd.org/compress">compress(1)</a>
                    407:        to print a more accurate message when -v is used with -k.
1.32      benno     408:   <li>Fixed <a href="https://man.openbsd.org/gzip.1">gzip(1)</a> byte
                    409:        counts with 32-bit integers.
                    410:   <li>Fixed the growth check in <a
                    411:        href="https://man.openbsd.org/compress.1">compress(1)</a> and <a
                    412:        href="https://man.openbsd.org/gzip.1">gzip(1)</a> in cases of small
                    413:        files or files with sufficiently random data.
1.29      benno     414:   <li>Made <a href="https://man.openbsd.org/timeout.1">timeout(1)</a> -s
                    415:        accept HUP like <a href="https://man.openbsd.org/kill.1">kill(1)</a>
                    416:        and GNU timeout(1) do.
                    417:   <li>Updated capitals and countries in the game <a
                    418:        href="https://man.openbsd.org/quiz.6">quiz(6)</a>.
                    419:   <li>Set default sleep value of <a
                    420:        href="https://man.openbsd.org/ico.1">ico(1)</a> to 10ms.
                    421:   <li>Fixed a bug in <a
                    422:        href="https://man.openbsd.org/cron.8">cron(8)</a> where it could exit
                    423:        silently if <a href="https://man.openbsd.org/ppoll.2">ppoll(2)</a>
                    424:        exited. Now it will log to <a
                    425:        href="https://man.openbsd.org/syslog.3">syslog(3)</a> instead of
                    426:        stderr.
                    427:   <li>Added <a
                    428:        href="https://man.openbsd.org/llvm-profdata.1">llvm-profdata(1)</a> to
                    429:        base so that ports can benefit from profiled builds.
                    430:   <li>Changed <a href="https://man.openbsd.org/rc.8">rc(8)</a> to only
                    431:        attempt to set the <a href="https://man.openbsd.org/yp.8">yp(8)</a>
                    432:        domainname if it has not been set yet.
                    433:   <li>Raised the "staff" login class data-size-cur on arm64 to be the
                    434:        same as that for amd64 in <a
                    435:        href="https://man.openbsd.org/login.conf.5">login.conf(5)</a> (1536M).
                    436:   <li>Fixed <a href="https://man.openbsd.org/patch.1">patch(1)</a>
                    437:        locate-hunk in empty files.
                    438:   <li>Fixed <a href="https://man.openbsd.org/patch.1">patch(1)</a> in
                    439:        the case of reversing a patch that creates a file.
                    440:   <li>Added seconds to the uptime display of <a
                    441:        href="https://man.openbsd.org/top.1">top(1)</a>.
                    442:   <li>Made <a href="https://man.openbsd.org/putenv.3">putenv(3)</a>
                    443:        return an error if the string starts with the '=' character. This
                    444:        matches the behavior on FreeBSD and NetBSD.
1.32      benno     445:   <li>Fixed overflow of the number of errors in <a
                    446:        href="https://man.openbsd.org/renice.8">renice(8)</a> by setting error
                    447:        instead of incrementing it.
                    448:   <li>Removed the "-c" compatibility option from <a
                    449:        href="https://man.openbsd.org/vnconfig.8">vnconfig(8)</a>.
                    450:   <li>Stopped <a
                    451:        href="https://man.openbsd.org/vnconfig.8">vnconfig(8)</a> from
                    452:        printing the device name on failure.
                    453:   <li>Added a printed message when <a
                    454:        href="https://man.openbsd.org/ld.so.1">ld.so(1)</a> fails inside <a
                    455:        href="https://man.openbsd.org/execve.2">execve(2)</a> to clarify the
                    456:        failure mode when a dynamic executable is run while /usr isn't
                    457:        mounted.
                    458:   <li>Improved <a href="https://man.openbsd.org/bioctl.8">bioctl(8)</a>
                    459:        RAID level parsing to check numeric levels before checking single
                    460:        character levels. This allows recognition of RAID 10 as a valid but
                    461:        unsupported level.
                    462:   <li>Fixed <a
                    463:        href="https://man.openbsd.org/installboot.8">installboot(8)</a>
                    464:        messaging when verbose (-v) and dry-run (-n) modes are combined with
                    465:        <a href="https://man.openbsd.org/softraid.4">softraid(4)</a>.
                    466:   <li>Added forest (-f) mode to <a
                    467:        href="https://man.openbsd.org/ps.1">ps(1)</a>.
1.33      benno     468:   <li>Sped up <a href="https://man.openbsd.org/wc.1">wc(1)</a> word counting.
1.32      benno     469:
1.1       deraadt   470:   </ul>
                    471:
                    472: <li>Improved hardware support and driver bugfixes, including:
                    473:   <ul>
1.7       jsg       474:   <li>New <a href="https://man.openbsd.org/arm64/aplaudio.4">aplaudio(4)</a>
                    475:       driver for Apple audio subsystem.
                    476:   <li>New <a href="https://man.openbsd.org/arm64/aplmca.4">aplmca(4)</a>
                    477:       driver for Apple MCA controller.
                    478:   <li>New <a href="https://man.openbsd.org/arm64/aplsart.4">aplsart(4)</a>
                    479:       driver for Apple SART address filter.
                    480:   <li>New alpdc, apldchidev, apldckbd, apldcms, and aplrtk drivers for
                    481:       keyboard and trackpad on Apple M2 laptops.
                    482:   <li>New <a href="https://man.openbsd.org/arm64/qcgpio.4">qcgpio(4)</a>
                    483:       driver for Qualcomm Snapdragon GPIO controller.
                    484:   <li>New <a href="https://man.openbsd.org/arm64/qciic.4">qciic(4)</a>
                    485:       driver for Qualcomm Snapdragon GENI I2C controller.
                    486:   <li>New <a href="https://man.openbsd.org/riscv64/sfgpio.4">sfgpio(4)</a>
                    487:       driver for SiFive GPIO controller.
                    488:   <li>New <a href="https://man.openbsd.org/riscv64/stfclock.4">stfclock(4)</a>
                    489:       driver for StarFive JH7100 clock controller.
                    490:   <li>New <a href="https://man.openbsd.org/riscv64/stfpinctrl.4">stfpinctrl(4)</a>
                    491:       driver for StarFive JH7100 pin configuration.
                    492:   <li>New stftemp
                    493:       driver for StarFive JH7100 temperature sensor.
                    494:   <li>New <a href="https://man.openbsd.org/sxirintc.4">sxirintc(4)</a>
                    495:       driver for Allwinner wakeup interrupt controller.
                    496:   <li>New gpiorestart
                    497:       driver for system reset via GPIO pin.
1.12      benno     498:   <li>Added support for more power sensors to <a
                    499:        href="https://man.openbsd.org/ipmi.4">ipmi(4)</a>.
1.14      benno     500:   <li>Added support for the <a
                    501:        href="https://man.openbsd.org/ehci.4">ehci(4)</a> controller on
1.18      jsg       502:        Marvell 3720 boards.
1.37      benno     503:   <li>Extended <a href="https://man.openbsd.org/ksmn.4">ksmn(4)</a> to
                    504:        show CCD temperatures if available.
1.19      benno     505:   <li>Fixed missing interrupts for trackpads on some machines after
                    506:        resume by making sure <a
                    507:        href="https://man.openbsd.org/amdgpio.4">amdgpio(4)</a> restores pin
                    508:        configuration on resume.
1.40      anton     509:   <li>Added FIFO support and allow baud rate changes to
                    510:       <a href="https://man.openbsd.org/pluart.4">pluart(4)</a>.
1.29      benno     511:   <li>Added support for the Synopsys DesignWare UART found on the Ryzen
                    512:        Embedded V1000 SoCs to <a
                    513:        href="https://man.openbsd.org/com.4">com(4)</a>.
                    514:   <li>Added <a href="https://man.openbsd.org/xhci.4">xhci(4)</a> support
                    515:        for the dual role controllers integrated on the Qualcomm Snapdragon
                    516:        8cx gen 3 SoC.
                    517:   <li>Added support for using the power button to wake up from suspend
                    518:        to <a href="https://man.openbsd.org/axppmic.4">axppmic(4)</a>.
                    519:   <li>Modified <a href="https://man.openbsd.org/pms.4">pms(4)</a> to
                    520:        discard relative movement packets outside of the [-127, 127] range to
                    521:        prevent cursor jumps when using the trackpoint on some Lenovo laptops.
1.32      benno     522:   <li>Allowed <a href="https://man.openbsd.org/spdmem.4">spdmem(4)</a>
                    523:        to attach to <a
                    524:        href="https://man.openbsd.org/loongson/gdiumiic.4">gdiumiic(4)</a>.
                    525:   <li>Make <a href="https://man.openbsd.org/spdmem.4">spdmem(4)</a>
                    526:        attach on 2F-based loongson systems.
                    527:   <li>Added power button support to <a
                    528:        href="https://man.openbsd.org/aplsmc.4">aplsmc(4)</a>.
1.33      benno     529:   <li>Changed the <a href="https://man.openbsd.org/mfii.4">mfii(4)</a>
                    530:        RAID controller driver to allow the firmware more time to transition
                    531:        out of the UNDEFINED state.
                    532:   <li>Added Wacom One S (CTL-472) support to <a
                    533:        href="https://man.openbsd.org/uwacom.4">uwacom(4)</a>.
1.32      benno     534:
1.1       deraadt   535:   </ul>
                    536:
                    537: <li>New or improved network hardware support:
                    538:   <ul>
1.37      benno     539:
                    540:   <li>Increased rx buffer size on <a
                    541:        href="https://man.openbsd.org/uaq.4">uaq(4)</a> to 62kB.
                    542:   <li>Repaired <a href="https://man.openbsd.org/rge.4">rge(4)</a>
                    543:        hardware VLAN tagging.
                    544:   <li>Provide statistics via kstats for <a
                    545:        href="https://man.openbsd.org/mvneta.4">mvneta(4)</a>.
1.19      benno     546:   <li>Enabled <a href="https://man.openbsd.org/aq.4">aq(4)</a> on arm64.
                    547:   <li>Implemented and enabled IPv4, TCP, and UDP checksum offloading for
                    548:        <a href="https://man.openbsd.org/igc.4">igc(4)</a>.
                    549:   <li>Fixed a panic triggered by ifconfig bnxt0 down by changing <a
                    550:        href="https://man.openbsd.org/bnxt.4">bnxt(4)</a> devices to not run
                    551:        rx and tx interrupt handlers when the interface is not running.
1.29      benno     552:   <li>Introduced Large Receive Offloading of TCP segment offloading in
                    553:        <a href="https://man.openbsd.org/ix.4">ix(4)</a>. Also added a tso
                    554:        option to <a href="https://man.openbsd.org/ifconfig.8">ifconfig(8)</a>
                    555:        to enable and disable this feature.
1.1       deraadt   556:   </ul>
                    557:
                    558: <li>Added or improved wireless network drivers:
                    559:   <ul>
1.19      benno     560:   <li>Made device matching in <a
1.22      jsg       561:        href="https://man.openbsd.org/iwx.4">iwx(4)</a> more similar to Linux
1.19      benno     562:        iwlwifi.
1.37      benno     563:   <li>Added support for AX210/AX211 devices to <a
                    564:        href="https://man.openbsd.org/iwx.4">iwx(4)</a>.
1.14      benno     565:   <li>Fixed <a href="https://man.openbsd.org/iwx.4">iwx(4)</a> setting
                    566:        of HT/VHT bits in rate flags of the Tx command that could cause a
                    567:        firmware panic.
1.19      benno     568:   <li>Added handling of 9k devices which do not support antenna B to <a
                    569:        href="https://man.openbsd.org/iwm.4">iwm(4)</a>.
                    570:   <li>Fixed <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a>
                    571:        ifconfig media display on devices with sta_info command version 3.
1.29      benno     572:   <li>Fixed a <a href="https://man.openbsd.org/bwfm.4">bwfm(4)</a> crash during USB detach.
1.32      benno     573:   <li>Corrected the rx data rate for rtl8192eu <a
                    574:        href="https://man.openbsd.org/urtwn.4">urtwn(4)</a> devices.
                    575:   <li>Fixed integer overflows in the <a
                    576:        href="https://man.openbsd.org/iwm.4">iwm(4)</a> and <a
                    577:        href="https://man.openbsd.org/iwx.4">iwx(4)</a> firmware file parsers.
                    578:
1.1       deraadt   579:   </ul>
                    580:
                    581: <li>IEEE 802.11 wireless stack improvements and bugfixes:
                    582:   <ul>
1.29      benno     583:   <li>Make sure drivers initialize all of ieee80211_rxinfo struct.
1.1       deraadt   584:   </ul>
                    585:
                    586: <li>Installer and upgrade improvements:
                    587:   <ul>
1.14      benno     588:   <li>Fixed the watchdog in the installer so that the watchdog is reset
                    589:        after each download and each set installation.
1.19      benno     590:   <li>Ensured that when running <a
                    591:        href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a> on
                    592:        -stable that it will move to the next release, not -current.
                    593:   <li>Added the -b option to <a
                    594:        href="https://man.openbsd.org/sysupgrade.8">sysupgrade(8)</a> to set
                    595:        an alternative base directory to which the installation files will be
                    596:        downloaded to.
                    597:   <li>Increased the <a
                    598:        href="https://man.openbsd.org/disklabel.8">disklabel(8)</a> auto
                    599:        partitioner's maximum size for /usr to 30G.
1.29      benno     600:   <li>Altered installer behavior so the <a
                    601:        href="https://man.openbsd.org/vlan.4">vlan(4)</a> question won't be
                    602:        asked unless another network interface exists.
                    603:   <li>Added support for wildcards in <a
                    604:        href="https://man.openbsd.org/fw_update.8">fw_update(8)</a> patterns.
1.33      benno     605:
                    606: <!-- XXX no idea where to put bootblock stuff -->
1.32      benno     607:   <li>Added NFS client support to the luna88k RAMDISK kernel.
1.33      benno     608:   <li>Made the EFI bootloader provide the extra parameters necessary to
                    609:        use non-standard UARTs on the AMD Ryzen Embedded V1000 SoCs as console.
                    610:   <li>Switched bootloaders to the extended BOOTARG_CONSDEV struct.
                    611:   <li>Added UFS2 support to landisk boot blocks.
                    612:
1.32      benno     613:
1.1       deraadt   614:   </ul>
                    615:
                    616: <li>Security improvements:
                    617:   <ul>
1.29      benno     618:   <li>Implemented privilege separation in <a
                    619:        href="https://man.openbsd.org/xlock.1">xlock(1)</a>.
1.32      benno     620:   <li>Added privilege separation to <a
                    621:        href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>.
1.29      benno     622:   <li>The TZ environment variable no longer supports absolute paths,
1.31      gnezdo    623:        to fit better into the <a
1.29      benno     624:        href="https://man.openbsd.org/pledge.2">pledge(2)</a> bypass model.
                    625:   <li>AF_UNIX socket <a
                    626:        href="https://man.openbsd.org/bind.2">bind(2)</a> and <a
                    627:        href="https://man.openbsd.org/connect.2">connect(2)</a> now follow <a
                    628:        href="https://man.openbsd.org/unveil.2">unveil(2)</a> configuration.
                    629:   <li>New <a
                    630:        href="https://man.openbsd.org/ypconnect.2">ypconnect(2)</a> system
                    631:        call creates a socket based upon the IP address encoded directly in a
                    632:        locked ypbinding file, thereby removing a horrible hack to support YP
1.31      gnezdo    633:        lookups in programs using strong
1.29      benno     634:        <a href="https://man.openbsd.org/pledge.2">pledge(2)</a> rules.
                    635:   <li>Restrict pledge("vminfo") callers to read-only <a
                    636:        href="https://man.openbsd.org/swapctl.2">swapctl(2)</a> operations.
                    637:   <li>Randomized the rekey interval of <a
                    638:        href="https://man.openbsd.org/arc4random.3">arc4random(3)</a>.
1.32      benno     639:   <li>Added local bind mode to <a
                    640:        href="https://man.openbsd.org/ypldap.8">ypldap(8)</a>. In this mode
                    641:        ypldap binds its RPC sockets to loopback, so YP services are only
                    642:        available to the host ypldap is running on. In local bind mode one
                    643:        does not need to run <a
                    644:        href="https://man.openbsd.org/portmap.8">portmap(8)</a>.
                    645:   <li>Changed the /sbin daemons <a
                    646:        href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a>, <a
                    647:        href="https://man.openbsd.org/mountd.8">mountd(8)</a>, <a
                    648:        href="https://man.openbsd.org/nfsd.8">nfsd(8)</a>, <a
                    649:        href="https://man.openbsd.org/pflogd.8">pflogd(8)</a>, <a
                    650:        href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>, <a
                    651:        href="https://man.openbsd.org/slaacd.8">slaacd(8)</a>, and <a
                    652:        href="https://man.openbsd.org/unwind.8">unwind(8)</a> to be
                    653:        dynamically linked to allow them to benefit from all the additional
                    654:        mitigations that dynamically linked executables gain. NFS mounting of
                    655:        /usr must now use statically configured IP addresses.
1.29      benno     656:
1.1       deraadt   657:   </ul>
                    658:
1.12      benno     659: <li>Changes in the network stack:
                    660:   <ul>
1.13      benno     661:   <li>Relaxed address availability check for <a
                    662:        href="https://man.openbsd.org/multicast.4">multicast(4)</a> binds so
                    663:        processes listening for the same multicast address do not need to be
                    664:        the same UID.
                    665:   <li>Introduced dedicated link entries for snapshots to <a
                    666:        href="https://man.openbsd.org/pfsync.4">pfsync(4)</a>.
1.14      benno     667:   <li>Changed <a href="https://man.openbsd.org/pf.4">pf(4)</a> handling
                    668:        of IGMP and ICMP6 MLD packets to allow multicast control packets to
                    669:        work by default.
1.39      jsg       670:   <li>Made <a href="https://man.openbsd.org/pf.4">pf(4)</a> more paranoid about
                    671:       IGMP/MLD messages.
1.19      benno     672:   <li>Fixed a logic bug in pf_find_state() that could cause <a
                    673:         href="https://man.openbsd.org/pf.4">pf(4)</a> to incorrectly block a
                    674:         packet.
1.39      jsg       675:   <li>Fixed <a href="https://man.openbsd.org/pf.4">pf(4)</a> syncookies during fast TCP port reuse.
1.29      benno     676:   <li>Fixed a bug in <a href="https://man.openbsd.org/pf.4">pf(4)</a>
                    677:        where a pool defined like "172.16.0.0/16" would count as a pool size
                    678:        of one address. Also fixed random selection of source address to be
                    679:        uniform across the whole pool.
                    680:
1.14      benno     681:   <li>Allow forwarding to and from IPs in the 240/4 range.
1.18      jsg       682:   <li>Corrected the Virtual Ethernet Bridge <a
1.14      benno     683:        href="https://man.openbsd.org/veb.4">veb(4)</a> to avoid calling
                    684:        if_enqueue from an smr critical section.
                    685:   <li>Fixed a kernel panic in <a
                    686:        href="https://man.openbsd.org/pf.4">pf(4)</a> if IP options with an
                    687:        ICMP payload were truncated. Such packets will now be dropped instead.
1.29      benno     688:   <li>Reworked the rttimer code to fix icmp_pmtu_timeout crashes.
                    689:   <li>Fixed an interrupt storm upon suspend on Amlogic arm64 boards.
                    690:
1.32      benno     691:   <li>Fixed a race between pflow_output_process() and
                    692:        pflow_clone_destroy() in <a
                    693:        href="https://man.openbsd.org/pflow.4">pflow(4)</a>.
                    694:   <li>Added a missing input validation step to <a
                    695:        href="https://man.openbsd.org/pipex.4">pipex(4)</a> mppe keylenbits.
1.33      benno     696:   <li>Added the <a
                    697:        href="https://man.openbsd.org/recvmmsg.2">recvmmsg(2)</a> system call
                    698:        that allows receiving multiple msghdrs at once.
                    699:
1.12      benno     700:   </ul>
                    701:
1.1       deraadt   702: <li>Routing daemons and other userland network improvements:
                    703:   <ul>
1.11      benno     704:   <li>IPsec support was improved:
                    705:   <ul>
1.29      benno     706:        <li>Made <a href="https://man.openbsd.org/iked.8">iked(8)</a> ignore
                    707:                any CERT payload after the first rather than failing the exchange when
                    708:                more than one CERT payload is received.
                    709:        <li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a> support
                    710:                for sending certificate chains with intermediate CAs in multiple CERT
                    711:                payloads.
                    712:        <li>Added an OpenIKED Vendor ID payload in the <a
                    713:                href="https://man.openbsd.org/iked.8">iked(8)</a> initial handshake to
                    714:                make it easier to handle interoperability problems with older versions
                    715:                in the future.
1.33      benno     716:        <li>Added <a href="https://man.openbsd.org/iked.8">iked(8)</a>
                    717:                connection statistics for successful and failed connections, error
                    718:                types, and other events that can be printed with "ikectl show stats".
1.29      benno     719:
1.11      benno     720:   </ul>
1.34      benno     721:   <li>In <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>,
1.11      benno     722:   <ul>
                    723:        <li>Implement max-communities filter to limit the number of allowed
                    724:                communities, ext-communities and large-communities.
                    725:        <li>Fix insertion of additional non-transitive extended communities when
                    726:                sending out prefixes.
                    727:        <li>Relax IP address limitation by allowing prefixes in 240/4.
                    728:        <li>Implement RFC 9234 - Route Leak Prevention and Detection Using Roles
                    729:                in UPDATE and OPEN Messages.
                    730:        <li>Full support for RFC 7911 - Advertisement of Multiple Paths in BGP.
                    731:        <li>Improve FIB code, handle IPv6 scoped addresses properly.
                    732:        <li>Add <a href="https://man.openbsd.org/bgplgd.8">bgplgd(8)</a>,
1.18      jsg       733:                a FastCGI server providing a REST API of bgpctl.
1.16      jsg       734:        <li>Bugfix: <a href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> could
                    735:            fail to invalidate nexthops and incorrectly leave them in the FIB or
                    736:            Adj-RIB-Out.
1.11      benno     737:        <li>Speedup <a href="https://man.openbsd.org/bgpctl.8">bgpctl</a>
                    738:                <code>show rib 10/8 or-longer</code> and <code>show rib 10/8
                    739:                or-shorter</code>
                    740:        <li>Switch various static hash tables to RB trees improving
                    741:                performance on large systems
                    742:        <li>Export per neighbor pending update and withdraw statistics
                    743:        <li>Fix race between a neighbor session reset and its update message
                    744:                backlog
                    745:        <li>Improve handling of nexthop reachability state changes
1.29      benno     746:        <li>Added send side RFC 7911 (ADD-PATH) support to <a
                    747:                href="https://man.openbsd.org/bgpd.8">bgpd(8)</a>.
1.32      benno     748:        <li>Made sure only one <a
                    749:                href="https://man.openbsd.org/bgpd.8">bgpd(8)</a> roa softreconfig
                    750:                runner is run at any time.
1.29      benno     751:
1.11      benno     752:   </ul>
                    753:   <li><a href="https://man.openbsd.org/rpki-client.8">rpki-client(8)</a> saw some changes:
                    754:   <ul>
1.12      benno     755:        <li>Allowed more than one CRL URI in certificates.
1.11      benno     756:        <li>Do not apply timezone offsets when converting X509 times.  X509
                    757:                times are in UTC and comparing them to times in different timezones
                    758:                would cause validity problems.
                    759:        <li>Add support for an operator-configurable skiplist facility.
                    760:                Operators can specify a list of FQDNs which should not be contacted
                    761:                when synchronizing the local cache to the network.
                    762:        <li>Emit a warning when a RRDP session serial number decreases.
                    763:        <li>DER decoding functions were refactored to leverage ASN.1 templates.
                    764:        <li>Add support to validate & inspect .sig files containing RPKI Signed
                    765:                Checklists in filemode (-f). (draft-ietf-sidrops-rpki-rsc-08)
                    766:        <li>Print various statistics after the completion of the main process.
                    767:        <li>Add support to decode & print TAL (RFC 8630) details in filemode (-f).
                    768:        <li>Emit objects in Concatenated JSON format when filemode (-f) and the JSON
                    769:                output flag (-j) are combined.
1.13      benno     770:        <li>Add support for validating Autonomous System Provider Authorization
1.11      benno     771:                (ASPA) objects conforming to draft-ietf-sidrops-aspa-profile-10.
                    772:                Validated ASPA payloads are visible in JSON and filemode (-f) output.
                    773:        <li>Set rsync connection I/O idle timeout to 15 seconds.
1.13      benno     774:        <li>Unify the maximum idle I/O and connect timeouts for rsync & HTTPS.
1.18      jsg       775:        <li>rpki-client now performs stricter EE certificate validation:
1.11      benno     776:        <ul>
                    777:                <li>Disallow AS Resources extensions in ROA EE certificates.
                    778:                <li>Disallow Subject Information Access (SIA) extensions in RPKI
                    779:                        Signed Checklist (RSC) EE certs.
                    780:                <li>Check the resources in ROAs and RSCs against EE certs.
                    781:        </ul>
                    782:        <li>Improve readability and add various information being printed in
                    783:                verbose mode.
                    784:        <li>Extend filemode (-f) output and print X.509 certificates in PEM
                    785:                format when increased verbosity (-vv) is specified.
                    786:        <li>Shorten the RRDP I/O idle timeout.
                    787:        <li>Introduce a deadline timer that aborts all repository synchronization
                    788:                after seven eights of timeout (-s). With this rpki-client has improved
1.13      benno     789:                chances to complete and produce an output even when a CA is excessively
1.11      benno     790:                slow.
                    791:        <li>Abort a currently running RRDP request process when the per-repository
                    792:                timeout is reached.
                    793:        <li>Permit multiple AccessDescription entries in SIA X.509 extensions. While
                    794:                fetching from secondary locations is not yet supported, rpki-client will
1.13      benno     795:                not treat occurrence as a fatal error.
1.11      benno     796:        <li>Resolve a potential for a race condition in non-atomic RRDP deltas.
                    797:        <li>Fix some memory leaks.
                    798:        <li>Improve compliance with the HTTP protocol specification.
                    799:   </ul>
                    800:
1.34      benno     801:   <li>In <a href="https://man.openbsd.org/ldapd.8">ldapd(8)</a>,
                    802:        match password schemas case sensitive.
                    803:
                    804:   <li>In <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>,
                    805:   <ul>
                    806:        <li>Allow object names to be used in addition to OIDs in
                    807:                <a href="https://man.openbsd.org/snmpd.conf.5">snmpd.conf</a>.
                    808:        <li>Better type hinting for debug logging.
                    809:        <li>Introduce a blocklist feature, which removes subtrees from view.
                    810:        <li>Reintroduce AgentX master support.
1.39      jsg       811:        <li>Move non-SNMP related metrics to their own AgentX based backend.
1.34      benno     812:        <li>The snmpe process is now pledged <code>stdio recvfd inet unix</code>.
                    813:        <li>Imported <a
                    814:                href="https://man.openbsd.org/snmpd_metrics.8">snmpd_metrics(8)</a>.
                    815:                This allows those who need to use net-snmpd the ability to access base
                    816:                <a href="https://man.openbsd.org/snmpd.8">snmpd(8)</a> metrics.
                    817:   </ul>
1.32      benno     818:
1.14      benno     819:   <li>In <a href="https://man.openbsd.org/ospfd.8">ospfd(8)</a>,
1.11      benno     820:        relax the limitations on what is an acceptable unicast IP. There are no
                    821:        more experiments in IPv4 and so there is less reason for network
                    822:        daemons to deny formerly experimental IP space.  Multicast IPs
1.13      benno     823:        (224/4) and loopback (127/8) are still disallowed.
1.14      benno     824:   <li>Added check to <a
                    825:        href="https://man.openbsd.org/acme-client.1">acme-client(1)</a> to
                    826:        ensure the challenge token is turned into a filename that is base64url
                    827:        encoded.
                    828:   <li>Added RFC 9234 "BGP Role" support to <a
                    829:        href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a>
1.19      benno     830:   <li>Have <a
                    831:        href="https://man.openbsd.org/tcpdump.8">tcpdump(8)</a> print
                    832:        ASnumbers in 'asplain' format instead the old 'asdot' format.
                    833:   <li>Fixed a crash in libpcap when it would walk off the end of the array performing frees.
1.39      jsg       834:   <li>Made -X connect SOCKS work with IPv6 addresses in <a href="https://man.openbsd.org/nc.1">nc(1)</a>.
1.29      benno     835:   <li>Introduced a blocklist backend and keyword to <a
                    836:        href="https://man.openbsd.org/snmpd.8">snmpd(8)</a>, This deprecates
                    837:        filter-pf-addresses.
                    838:   <li>Changed <a
                    839:        href="https://man.openbsd.org/dhclient.8">dhclient(8)</a> to defer to
                    840:        <a href="https://man.openbsd.org/dhcpleased.8">dhcpleased(8)</a> by
                    841:        doing execve ifconfig and providing syslog warnings about deprecated
                    842:        options.
                    843:   <li>Implemented <a href="https://man.openbsd.org/dig.1">dig(1)</a>
                    844:        support for SVCB and HTTPS record types.
1.32      benno     845:   <li>Made <a href="https://man.openbsd.org/resolvd.8">resolvd(8)</a>
                    846:        write /etc/resolv.conf in a more atomic manner.
                    847:   <li>Added a <a href="https://man.openbsd.org/slowcgi.8">slowcgi(8)</a>
                    848:        -t flag to change the request timeout.
1.39      jsg       849:   <li>Corrected handling of an abnormal FastCGI termination in <a
1.32      benno     850:        href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
                    851:   <li>Made newer mime type definitions take precedence over existing
                    852:        ones in <a href="https://man.openbsd.org/httpd.8">httpd(8)</a>.
1.33      benno     853:   <li>Moved the <a href="https://man.openbsd.org/relayd.8">relayd(8)</a>
                    854:        <a href="https://man.openbsd.org/daemon.3">daemon(3)</a> call to just
                    855:        before forking the children so the parent disassociates from its
                    856:        controlling terminal and shell, but not from its children.
                    857:   <li>Changed <a href="https://man.openbsd.org/ftp.1">ftp(1)</a> to use
                    858:        non-blocking <a
                    859:        href="https://man.openbsd.org/connect.2">connect(2)</a> with <a
                    860:        href="https://man.openbsd.org/ppoll.2">ppoll(2)</a> and timeout
                    861:        instead of <a href="https://man.openbsd.org/alarm.3">alarm(3)</a>.
                    862:        This allows failing over to another IP address for hosts that have
                    863:        more than one.
1.11      benno     864:
1.1       deraadt   865:   </ul>
                    866:
                    867: <li><a href="https://man.openbsd.org/tmux">tmux(1)</a> improvements and bug fixes:
                    868:   <ul>
1.19      benno     869:   <li>Added an ACL list for multiple users attaching to the <a
                    870:        href="https://man.openbsd.org/tmux.1">tmux(1)</a> socket.
                    871:   <li>Ensured cursor remains on selected item on menu in <a
                    872:        href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
1.29      benno     873:   <li>Added <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>
                    874:        support for OSC 8 hyperlinks.
                    875:   <li>Added support for hyperlinks with capture-pane -e and a
                    876:        mouse_hyperlink format to <a
                    877:        href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
                    878:   <li>Added an "all" state to <a
                    879:        href="https://man.openbsd.org/tmux.1">tmux(1)</a> allow-passthrough to
                    880:        work even in invisible panes.
                    881:   <li>Fixed a <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> crash
                    882:        when searching for .* with extremely long lines.
1.32      benno     883:   <li>Added <a href="https://man.openbsd.org/vi.1">vi(1)</a> Home/End
                    884:        bindings to <a href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
                    885:   <li>Added a Nobr terminfo capability to tell <a
                    886:        href="https://man.openbsd.org/tmux.1">tmux(1)</a> the terminal does
                    887:        not use bright colors for bold.
                    888:   <li>Added a notification when a paste buffer is deleted to <a
                    889:        href="https://man.openbsd.org/tmux.1">tmux(1)</a>.
                    890:   <li>Fixed <a href="https://man.openbsd.org/tmux.1">tmux(1)</a> window
                    891:        size reporting.
1.19      benno     892:
1.1       deraadt   893:   </ul>
                    894:
1.2       jsg       895: <li>LibreSSL version 3.6.0
1.1       deraadt   896:   <ul>
                    897:   <li>New Features
                    898:     <ul>
                    899:     <li>...
                    900:     </ul>
                    901:
                    902:   <li>Portable Improvements
                    903:     <ul>
                    904:     <li>...
                    905:     </ul>
                    906:
                    907:   <li>Compatibility Changes
                    908:     <ul>
                    909:     <li>...
                    910:     </ul>
                    911:
                    912:   <li>Bug fixes
                    913:     <ul>
                    914:     <li>...
                    915:     </ul>
                    916:
                    917:   <li>Internal Improvements
                    918:     <ul>
                    919:     <li>...
                    920:     </ul>
                    921:
                    922:   <li>Documentation improvements
                    923:     <ul>
                    924:     <li>...
                    925:     </ul>
                    926:   </ul>
                    927:
1.2       jsg       928: <li>OpenSSH 9.1
1.1       deraadt   929:   <ul>
                    930:   <li>...
                    931:   </ul>
                    932:
                    933: <li>mandoc 1.14.6 plus several bugfixes, including:
                    934:   <ul>
1.12      benno     935:   <li>Fixed calculation of the width of spanned columns in <a
                    936:        href="https://man.openbsd.org/mandoc">mandoc(1)</a>.
1.14      benno     937:   <li>Made <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>'s
                    938:        roff_expand() parse left-to-right rather than right-to-left.
1.19      benno     939:   <li>Implemented a rudimentary version of the <a
                    940:        href="https://man.openbsd.org/roff.7">roff(7)</a> <code>\A</code>
                    941:        escape sequence for <a
                    942:        href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>.
                    943:   <li>Matched groff behavior to allow arbitrary argument delimiters for
                    944:        \C in <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>.
                    945:   <li>Improved accessibility of <a
                    946:        href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> -T html -O toc
                    947:        output by using the &lt;nav&gt; element in the DPUB-ARIA doc-toc role.
1.29      benno     948:   <li>Improved accessibility of <a
                    949:        href="https://man.openbsd.org/man.cgi.8">man.cgi(8)</a> output.
                    950:   <li>Got rid of <a
                    951:        href="https://man.openbsd.org/mandoc.1">mandoc(1)</a> archaic table
                    952:        markup for header and footer lines in favor of flexbox CSS. Rendering
                    953:        now adapts to browser windows of arbitrary narrowness.
                    954:   <li>Prevented <a href="https://man.openbsd.org/mandoc.1">mandoc(1)</a>
                    955:        from turning breakable hyphens in segment identifiers into
                    956:        underscores.
1.1       deraadt   957:   </ul>
                    958:
                    959: <li>Ports and packages:
                    960:   <p>Many pre-built packages for each architecture:
                    961:   <!-- number of FTP packages minus SHA256, SHA256.sig, index.txt -->
                    962:   <ul style="column-count: 3">
1.27      naddy     963:     <li>aarch64:    11261
                    964:     <li>amd64:      11451
1.1       deraadt   965:     <li>arm:         XXXX
1.27      naddy     966:     <li>i386:       10225
1.1       deraadt   967:     <li>mips64:      XXXX
                    968:     <li>powerpc:     XXXX
                    969:     <li>powerpc64:   XXXX
                    970:     <li>riscv64:     XXXX
                    971:     <li>sparc64:     XXXX
                    972:   </ul>
                    973:
                    974:   <p>Some highlights:
                    975:   <ul style="column-count: 3">
1.3       sthen     976:     <li>Asterisk 16.28.0, 18.14.0 and 19.6.0
1.1       deraadt   977:     <li>Audacity 2.4.2
1.3       sthen     978:     <li>CMake 3.24.2
                    979:     <li>Chromium 105.0.5195.125
                    980:     <li>Emacs 28.2
                    981:     <li>FFmpeg 4.4.2
1.1       deraadt   982:     <li>GCC 8.4.0 and 11.2.0
1.3       sthen     983:     <li>GHC 9.2.4
                    984:     <li>GNOME 42.4
                    985:     <li>Go 1.19.1
                    986:     <li>JDK 8u342, 11.0.16 and 17.0.4
                    987:     <li>KDE Applications 22.08.1
                    988:     <li>KDE Frameworks 5.98.0
                    989:     <li>Krita 5.1.1
1.1       deraadt   990:     <li>LLVM/Clang 13.0.0
1.3       sthen     991:     <li>LibreOffice 7.4.1.2
1.1       deraadt   992:     <li>Lua 5.1.5, 5.2.4 and 5.3.6
1.3       sthen     993:     <li>MariaDB 10.9.3
                    994:     <li>Mono 6.12.0.182
                    995:     <li>Mozilla Firefox 105.0.1 and ESR 102.3.0
                    996:     <li>Mozilla Thunderbird 102.3.0
                    997:     <li>Mutt 2.2.7 and NeoMutt 20220429
                    998:     <li>Node.js 16.17.1
1.1       deraadt   999:     <li>OCaml 4.12.1
1.3       sthen    1000:     <li>OpenLDAP 2.6.3
                   1001:     <li>PHP 7.4.30, 8.0.23 and 8.1.10
                   1002:     <li>Postfix 3.7.2
                   1003:     <li>PostgreSQL 14.5
                   1004:     <li>Python 2.7.18, 3.9.14 and 3.10.7
                   1005:     <li>Qt 5.15.6 and 6.3.1
                   1006:     <li>R 4.2.1
                   1007:     <li>Ruby 2.7.6, 3.0.4 and 3.1.2
                   1008:     <li>Rust 1.63.0
                   1009:     <li>SQLite 3.39.3
                   1010:     <li>Shotcut 22.06.23
                   1011:     <li>Sudo 1.9.11.2
                   1012:     <li>Suricata 6.0.6
                   1013:     <li>Tcl/Tk 8.5.19 and 8.6.12
1.1       deraadt  1014:     <li>TeX Live 2021
1.3       sthen    1015:     <li>Vim 9.0.0192 and Neovim 0.7.2
1.1       deraadt  1016:     <li>Xfce 4.16
                   1017:   </ul>
                   1018:   <p>
                   1019:
                   1020: <li>As usual, steady improvements in manual pages and other documentation.
                   1021:
                   1022: <li>The system includes the following major components from outside suppliers:
                   1023:   <ul>
1.2       jsg      1024:     <li>Xenocara (based on X.Org 7.7 with xserver 21.1.4 + patches,
1.15      jsg      1025:         freetype 2.12.1, fontconfig 2.13.94, Mesa 22.1.7, xterm 372,
1.1       deraadt  1026:         xkeyboard-config 2.20, fonttosfnt 1.2.2 and more)
                   1027:     <li>LLVM/Clang 13.0.0 (+ patches)
                   1028:     <li>GCC 4.2.1 (+ patches) and 3.3.6 (+ patches)
                   1029:     <li>Perl 5.32.1 (+ patches)
1.2       jsg      1030:     <li>NSD 4.6.0
                   1031:     <li>Unbound 1.16.3
1.1       deraadt  1032:     <li>Ncurses 5.7
                   1033:     <li>Binutils 2.17 (+ patches)
                   1034:     <li>Gdb 6.3 (+ patches)
1.2       jsg      1035:     <li>Awk September 12, 2022
                   1036:     <li>Expat 2.4.9
1.1       deraadt  1037:   </ul>
                   1038:
                   1039: </ul>
                   1040: </section>
                   1041:
                   1042: <hr>
                   1043:
                   1044: <section id=install>
                   1045: <h3>How to install</h3>
                   1046: <p>
                   1047: Please refer to the following files on the mirror site for
                   1048: extensive details on how to install OpenBSD 7.2 on your machine:
                   1049:
                   1050: <ul>
                   1051: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/alpha/INSTALL.alpha">
                   1052:        .../OpenBSD/7.2/alpha/INSTALL.alpha</a>
                   1053: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/amd64/INSTALL.amd64">
                   1054:        .../OpenBSD/7.2/amd64/INSTALL.amd64</a>
                   1055: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/arm64/INSTALL.arm64">
                   1056:        .../OpenBSD/7.2/arm64/INSTALL.arm64</a>
                   1057: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/armv7/INSTALL.armv7">
                   1058:        .../OpenBSD/7.2/armv7/INSTALL.armv7</a>
                   1059: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/hppa/INSTALL.hppa">
                   1060:        .../OpenBSD/7.2/hppa/INSTALL.hppa</a>
                   1061: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/i386/INSTALL.i386">
                   1062:        .../OpenBSD/7.2/i386/INSTALL.i386</a>
                   1063: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/landisk/INSTALL.landisk">
                   1064:        .../OpenBSD/7.2/landisk/INSTALL.landisk</a>
1.8       jsg      1065: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/loongson/INSTALL.loongson">
                   1066:        .../OpenBSD/7.2/loongson/INSTALL.loongson</a>
1.1       deraadt  1067: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/luna88k/INSTALL.luna88k">
                   1068:        .../OpenBSD/7.2/luna88k/INSTALL.luna88k</a>
                   1069: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/macppc/INSTALL.macppc">
                   1070:        .../OpenBSD/7.2/macppc/INSTALL.macppc</a>
                   1071: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/octeon/INSTALL.octeon">
                   1072:        .../OpenBSD/7.2/octeon/INSTALL.octeon</a>
                   1073: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/powerpc64/INSTALL.powerpc64">
                   1074:        .../OpenBSD/7.2/powerpc64/INSTALL.powerpc64</a>
                   1075: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/riscv64/INSTALL.riscv64">
                   1076:        .../OpenBSD/7.2/riscv64/INSTALL.riscv64</a>
                   1077: <li><a href="https://ftp.openbsd.org/pub/OpenBSD/7.2/sparc64/INSTALL.sparc64">
                   1078:        .../OpenBSD/7.2/sparc64/INSTALL.sparc64</a>
                   1079: </ul>
                   1080: </section>
                   1081:
                   1082: <hr>
                   1083:
                   1084: <section id=quickinstall>
                   1085: <p>
                   1086: Quick installer information for people familiar with OpenBSD, and the use of
                   1087: the "<a href="https://man.openbsd.org/disklabel.8">disklabel</a> -E" command.
                   1088: If you are at all confused when installing OpenBSD, read the relevant
                   1089: INSTALL.* file as listed above!
                   1090:
                   1091: <h3>OpenBSD/alpha:</h3>
                   1092:
                   1093: <p>
                   1094: If your machine can boot from CD, you can write <i>install72.iso</i> or
                   1095: <i>cd72.iso</i> to a CD and boot from it.
                   1096: Refer to INSTALL.alpha for more details.
                   1097:
                   1098: <h3>OpenBSD/amd64:</h3>
                   1099:
                   1100: <p>
                   1101: If your machine can boot from CD, you can write <i>install72.iso</i> or
                   1102: <i>cd72.iso</i> to a CD and boot from it.
                   1103: You may need to adjust your BIOS options first.
                   1104:
                   1105: <p>
                   1106: If your machine can boot from USB, you can write <i>install72.img</i> or
                   1107: <i>miniroot72.img</i> to a USB stick and boot from it.
                   1108:
                   1109: <p>
                   1110: If you can't boot from a CD, floppy disk, or USB,
                   1111: you can install across the network using PXE as described in the included
                   1112: INSTALL.amd64 document.
                   1113:
                   1114: <p>
                   1115: If you are planning to dual boot OpenBSD with another OS, you will need to
                   1116: read INSTALL.amd64.
                   1117:
                   1118: <h3>OpenBSD/arm64:</h3>
                   1119:
                   1120: <p>
                   1121: Write <i>install72.img</i> or <i>miniroot72.img</i> to a disk and boot from it
                   1122: after connecting to the serial console.  Refer to INSTALL.arm64 for more
                   1123: details.
                   1124:
                   1125: <h3>OpenBSD/armv7:</h3>
                   1126:
                   1127: <p>
                   1128: Write a system specific miniroot to an SD card and boot from it after connecting
                   1129: to the serial console.  Refer to INSTALL.armv7 for more details.
                   1130:
                   1131: <h3>OpenBSD/hppa:</h3>
                   1132:
                   1133: <p>
                   1134: Boot over the network by following the instructions in INSTALL.hppa or the
                   1135: <a href="hppa.html#install">hppa platform page</a>.
                   1136:
                   1137: <h3>OpenBSD/i386:</h3>
                   1138:
                   1139: <p>
                   1140: If your machine can boot from CD, you can write <i>install72.iso</i> or
                   1141: <i>cd72.iso</i> to a CD and boot from it.
                   1142: You may need to adjust your BIOS options first.
                   1143:
                   1144: <p>
                   1145: If your machine can boot from USB, you can write <i>install72.img</i> or
                   1146: <i>miniroot72.img</i> to a USB stick and boot from it.
                   1147:
                   1148: <p>
                   1149: If you can't boot from a CD, floppy disk, or USB,
                   1150: you can install across the network using PXE as described in
                   1151: the included INSTALL.i386 document.
                   1152:
                   1153: <p>
                   1154: If you are planning on dual booting OpenBSD with another OS, you will need to
                   1155: read INSTALL.i386.
                   1156:
                   1157: <h3>OpenBSD/landisk:</h3>
                   1158:
                   1159: <p>
                   1160: Write <i>miniroot72.img</i> to the start of the CF
                   1161: or disk, and boot normally.
1.8       jsg      1162:
                   1163: <h3>OpenBSD/loongson:</h3>
                   1164:
                   1165: <p>
                   1166: Write <i>miniroot72.img</i> to a USB stick and boot bsd.rd from it
                   1167: or boot bsd.rd via tftp.
                   1168: Refer to the instructions in INSTALL.loongson for more details.
1.1       deraadt  1169:
                   1170: <h3>OpenBSD/luna88k:</h3>
                   1171:
                   1172: <p>
                   1173: Copy 'boot' and 'bsd.rd' to a Mach or UniOS partition, and boot the bootloader
                   1174: from the PROM, and then bsd.rd from the bootloader.
                   1175: Refer to the instructions in INSTALL.luna88k for more details.
                   1176:
                   1177: <h3>OpenBSD/macppc:</h3>
                   1178:
                   1179: <p>
                   1180: Burn the image from a mirror site to a CDROM, and power on your machine
                   1181: while holding down the <i>C</i> key until the display turns on and
                   1182: shows <i>OpenBSD/macppc boot</i>.
                   1183:
                   1184: <p>
                   1185: Alternatively, at the Open Firmware prompt, enter <i>boot cd:,ofwboot
                   1186: /7.2/macppc/bsd.rd</i>
                   1187:
                   1188: <h3>OpenBSD/octeon:</h3>
                   1189:
                   1190: <p>
                   1191: After connecting a serial port, boot bsd.rd over the network via DHCP/tftp.
                   1192: Refer to the instructions in INSTALL.octeon for more details.
                   1193:
                   1194: <h3>OpenBSD/powerpc64:</h3>
                   1195:
                   1196: <p>
                   1197: To install, write <i>install72.img</i> or <i>miniroot72.img</i> to a
                   1198: USB stick, plug it into the machine and choose the <i>OpenBSD
                   1199: install</i> menu item in Petitboot.
                   1200: Refer to the instructions in INSTALL.powerpc64 for more details.
                   1201:
                   1202: <h3>OpenBSD/riscv64:</h3>
                   1203:
                   1204: <p>
                   1205: To install, write <i>install72.img</i> or <i>miniroot72.img</i> to a
                   1206: USB stick, and boot with that drive plugged in.
                   1207: Make sure you also have the microSD card plugged in that shipped with the
                   1208: HiFive Unmatched board.
                   1209: Refer to the instructions in INSTALL.riscv64 for more details.
                   1210:
                   1211: <h3>OpenBSD/sparc64:</h3>
                   1212:
                   1213: <p>
                   1214: Burn the image from a mirror site to a CDROM, boot from it, and type
                   1215: <i>boot cdrom</i>.
                   1216:
                   1217: <p>
                   1218: If this doesn't work, or if you don't have a CDROM drive, you can write
                   1219: <i>floppy72.img</i> or <i>floppyB72.img</i>
                   1220: (depending on your machine) to a floppy and boot it with <i>boot
                   1221: floppy</i>. Refer to INSTALL.sparc64 for details.
                   1222:
                   1223: <p>
                   1224: Make sure you use a properly formatted floppy with NO BAD BLOCKS or your install
                   1225: will most likely fail.
                   1226:
                   1227: <p>
                   1228: You can also write <i>miniroot72.img</i> to the swap partition on
                   1229: the disk and boot with <i>boot disk:b</i>.
                   1230:
                   1231: <p>
                   1232: If nothing works, you can boot over the network as described in INSTALL.sparc64.
                   1233: </section>
                   1234:
                   1235: <hr>
                   1236:
                   1237: <section id=upgrade>
                   1238: <h3>How to upgrade</h3>
                   1239: <p>
1.10      benno    1240: If you already have an OpenBSD 7.1 system, and do not want to reinstall,
1.1       deraadt  1241: upgrade instructions and advice can be found in the
                   1242: <a href="faq/upgrade72.html">Upgrade Guide</a>.
                   1243: </section>
                   1244:
                   1245: <hr>
                   1246:
                   1247: <section id=sourcecode>
                   1248: <h3>Notes about the source code</h3>
                   1249: <p>
                   1250: <code>src.tar.gz</code> contains a source archive starting at <code>/usr/src</code>.
                   1251: This file contains everything you need except for the kernel sources,
                   1252: which are in a separate archive.
                   1253: To extract:
                   1254: <blockquote><pre>
                   1255: # <kbd>mkdir -p /usr/src</kbd>
                   1256: # <kbd>cd /usr/src</kbd>
                   1257: # <kbd>tar xvfz /tmp/src.tar.gz</kbd>
                   1258: </pre></blockquote>
                   1259: <p>
                   1260: <code>sys.tar.gz</code> contains a source archive starting at <code>/usr/src/sys</code>.
                   1261: This file contains all the kernel sources you need to rebuild kernels.
                   1262: To extract:
                   1263: <blockquote><pre>
                   1264: # <kbd>mkdir -p /usr/src/sys</kbd>
                   1265: # <kbd>cd /usr/src</kbd>
                   1266: # <kbd>tar xvfz /tmp/sys.tar.gz</kbd>
                   1267: </pre></blockquote>
                   1268: <p>
                   1269: Both of these trees are a regular CVS checkout.  Using these trees it
                   1270: is possible to get a head-start on using the anoncvs servers as
                   1271: described <a href="anoncvs.html">here</a>.
                   1272: Using these files
                   1273: results in a much faster initial CVS update than you could expect from
                   1274: a fresh checkout of the full OpenBSD source tree.
                   1275: </section>
                   1276:
                   1277: <hr>
                   1278:
                   1279: <section id=ports>
                   1280: <h3>Ports Tree</h3>
                   1281: <p>
                   1282: A ports tree archive is also provided.  To extract:
                   1283: <blockquote><pre>
                   1284: # <kbd>cd /usr</kbd>
                   1285: # <kbd>tar xvfz /tmp/ports.tar.gz</kbd>
                   1286: </pre></blockquote>
                   1287: <p>
                   1288: Go read the <a href="faq/ports/index.html">ports</a> page
                   1289: if you know nothing about ports
                   1290: at this point.  This text is not a manual of how to use ports.
                   1291: Rather, it is a set of notes meant to kickstart the user on the
                   1292: OpenBSD ports system.
                   1293: <p>
                   1294: The <i>ports/</i> directory represents a CVS checkout of our ports.
                   1295: As with our complete source tree, our ports tree is available via
                   1296: <a href="anoncvs.html">AnonCVS</a>.
                   1297: So, in order to keep up to date with the -stable branch, you must make
                   1298: the <i>ports/</i> tree available on a read-write medium and update the tree
                   1299: with a command like:
                   1300: <blockquote><pre>
                   1301: # <kbd>cd /usr/ports</kbd>
                   1302: # <kbd>cvs -d anoncvs@server.openbsd.org:/cvs update -Pd -rOPENBSD_7_2</kbd>
                   1303: </pre></blockquote>
                   1304: <p>
                   1305: [Of course, you must replace the server name here with a nearby anoncvs
                   1306: server.]
                   1307: <p>
                   1308: Note that most ports are available as packages on our mirrors. Updated
                   1309: ports for the 7.2 release will be made available if problems arise.
                   1310: <p>
                   1311: If you're interested in seeing a port added, would like to help out, or just
                   1312: would like to know more, the mailing list
                   1313: <a href="mail.html">ports@openbsd.org</a> is a good place to know.
                   1314: </section>
                   1315: </body>
                   1316: </html>