aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap3
-rw-r--r--Makefile.inc155
-rw-r--r--RELNOTES2
-rw-r--r--UPDATING28
-rw-r--r--contrib/blocklist/bin/blacklistctl.8136
-rw-r--r--contrib/blocklist/bin/blacklistd.8308
-rw-r--r--contrib/blocklist/bin/blacklistd.conf.5242
-rw-r--r--contrib/blocklist/lib/libblacklist.3188
-rw-r--r--contrib/netbsd-tests/lib/libc/regex/t_exhaust.c10
-rw-r--r--crypto/.gitignore78
-rw-r--r--crypto/openssh/sshd-session.c2
-rw-r--r--crypto/openssl/BSDmakefile20
-rwxr-xr-xcrypto/openssl/configdata.pm36871
-rw-r--r--crypto/openssl/freebsd/dump_version_from_configdata.pl21
-rw-r--r--crypto/openssl/libcrypto.pc13
-rw-r--r--crypto/openssl/libssl.pc11
-rw-r--r--crypto/openssl/openssl.pc9
-rwxr-xr-xcrypto/openssl/util/wrap.pl133
-rw-r--r--etc/Makefile2
-rw-r--r--etc/mtree/BSD.tests.dist6
-rw-r--r--etc/mtree/BSD.var.dist4
-rw-r--r--include/stdckdint.h6
-rw-r--r--lib/libblacklist/Makefile17
-rw-r--r--lib/libc/inet/inet_net_ntop.c206
-rw-r--r--lib/libc/inet/inet_net_pton.c363
-rw-r--r--lib/libc/stdlib/realpath.312
-rw-r--r--lib/libc/stdlib/realpath.c14
-rw-r--r--lib/libc/stdtime/strptime.32
-rw-r--r--lib/libc/stdtime/strptime.c3
-rw-r--r--lib/libc/tests/gen/realpath2_test.c106
-rw-r--r--lib/libc/tests/net/Makefile2
-rw-r--r--lib/libc/tests/net/inet_net_test.cc333
-rw-r--r--lib/libpam/modules/modules.inc2
-rw-r--r--lib/libpam/modules/pam_xdg/pam_xdg.81
-rw-r--r--lib/libsys/kqueue.229
-rw-r--r--lib/libsys/socket.2302
-rw-r--r--lib/libunbound/Makefile6
-rw-r--r--lib/ncurses/Makefile.inc1
-rw-r--r--libexec/rc/rc.conf3
-rw-r--r--libexec/rc/rc.d/Makefile2
-rwxr-xr-xlibexec/rc/rc.d/dmesg2
-rw-r--r--release/Makefile.oracle19
-rw-r--r--release/packages/ucl/local-unbound-all.ucl (renamed from release/packages/ucl/unbound-all.ucl)0
-rw-r--r--release/packages/ucl/local-unbound.ucl27
-rwxr-xr-xrelease/scripts/pkg-stage.sh2
-rw-r--r--release/tools/vmimage.subr47
-rw-r--r--sbin/devd/snd.conf5
-rw-r--r--sbin/fsck_ffs/setup.c47
-rw-r--r--sbin/geom/Makefile2
-rw-r--r--sbin/geom/core/geom.c239
-rw-r--r--sbin/ifconfig/ifconfig.84
-rw-r--r--sbin/ipfw/tables.c3
-rwxr-xr-xsbin/mdconfig/tests/mdconfig_test.sh15
-rw-r--r--sbin/ping/tests/Makefile3
-rw-r--r--secure/lib/libcrypto/Makefile3
-rw-r--r--secure/lib/libcrypto/Makefile.inc12
-rw-r--r--secure/lib/libcrypto/Makefile.version2
-rw-r--r--secure/lib/libcrypto/tests/Makefile5
-rwxr-xr-xsecure/lib/libcrypto/tests/libcrypto_test.sh40
-rwxr-xr-xshare/examples/bhyve/vmrun.sh6
-rw-r--r--share/man/man4/bridge.4210
-rw-r--r--share/man/man4/linprocfs.44
-rw-r--r--share/man/man4/linsysfs.44
-rw-r--r--share/man/man4/nvd.46
-rw-r--r--share/man/man7/release.718
-rw-r--r--share/man/man9/VOP_OPENCLOSE.913
-rw-r--r--share/mk/bsd.man.mk8
-rw-r--r--stand/i386/boot2/Makefile3
-rw-r--r--stand/i386/gptboot/Makefile3
-rw-r--r--stand/i386/gptzfsboot/Makefile3
-rw-r--r--stand/i386/isoboot/Makefile3
-rw-r--r--sys/amd64/amd64/elf_machdep.c14
-rw-r--r--sys/amd64/include/vmm.h3
-rw-r--r--sys/amd64/linux/linux_sysvec.c12
-rw-r--r--sys/amd64/linux32/linux32_sysvec.c12
-rw-r--r--sys/amd64/pt/pt.c221
-rw-r--r--sys/amd64/sgx/sgx_linux.c11
-rw-r--r--sys/amd64/vmm/vmm.c177
-rw-r--r--sys/arm/allwinner/aw_sid.c2
-rw-r--r--sys/arm/arm/elf_machdep.c4
-rw-r--r--sys/arm/arm/pmap-v6.c2
-rw-r--r--sys/arm/arm/unwind.c4
-rw-r--r--sys/arm/ti/ti_pruss.c1
-rw-r--r--sys/arm64/arm64/cpu_errata.c96
-rw-r--r--sys/arm64/arm64/elf_machdep.c7
-rw-r--r--sys/arm64/arm64/spec_workaround.c166
-rw-r--r--sys/arm64/coresight/coresight.c2
-rw-r--r--sys/arm64/include/vmm.h2
-rw-r--r--sys/arm64/linux/linux_sysvec.c10
-rw-r--r--sys/arm64/vmm/vmm.c4
-rw-r--r--sys/cam/scsi/scsi_all.c6
-rw-r--r--sys/cam/scsi/scsi_enc_ses.c6
-rw-r--r--sys/cam/scsi/scsi_pass.c3
-rw-r--r--sys/cam/scsi/scsi_target.c1
-rw-r--r--sys/cddl/compat/opensolaris/kern/opensolaris.c2
-rw-r--r--sys/compat/ia32/ia32_sysvec.c24
-rw-r--r--sys/compat/linprocfs/linprocfs.c77
-rw-r--r--sys/compat/linux/linux.c26
-rw-r--r--sys/compat/linux/linux_common.h2
-rw-r--r--sys/compat/linux/linux_event.c2
-rw-r--r--sys/compat/linux/linux_futex.c2
-rw-r--r--sys/compat/linux/linux_ioctl.h12
-rw-r--r--sys/compat/linux/linux_socket.c32
-rw-r--r--sys/compat/linuxkpi/common/src/linux_compat.c2
-rw-r--r--sys/conf/NOTES3
-rw-r--r--sys/conf/files.arm641
-rw-r--r--sys/conf/options1
-rw-r--r--sys/conf/std.debug1
-rw-r--r--sys/conf/std.nodebug1
-rw-r--r--sys/contrib/libnv/bsd_nvpair.c8
-rwxr-xr-xsys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh11
-rw-r--r--sys/contrib/openzfs/.github/workflows/zfs-qemu.yml2
-rw-r--r--sys/contrib/openzfs/cmd/zdb/zdb.c185
-rw-r--r--sys/contrib/openzfs/cmd/zpool/zpool_vdev.c64
-rw-r--r--sys/contrib/openzfs/lib/libspl/include/sys/uio.h1
-rw-r--r--sys/contrib/openzfs/lib/libzfs/libzfs_status.c78
-rw-r--r--sys/contrib/openzfs/lib/libzpool/kernel.c79
-rw-r--r--sys/contrib/openzfs/man/man8/zdb.814
-rw-r--r--sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c41
-rw-r--r--sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c3
-rw-r--r--sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c31
-rw-r--r--sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c1
-rw-r--r--sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c77
-rw-r--r--sys/contrib/openzfs/module/zfs/arc.c16
-rw-r--r--sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c35
-rwxr-xr-xsys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh2
-rwxr-xr-xsys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh7
-rw-r--r--sys/crypto/chacha20/chacha.c6
-rw-r--r--sys/crypto/openssl/ossl_sha256.c4
-rw-r--r--sys/dev/aac/aac_linux.c10
-rw-r--r--sys/dev/aacraid/aacraid_linux.c10
-rw-r--r--sys/dev/ahci/ahciem.c2
-rw-r--r--sys/dev/aic7xxx/aic79xx.c4
-rw-r--r--sys/dev/aic7xxx/aic7xxx.c4
-rw-r--r--sys/dev/atkbdc/psm.c1
-rw-r--r--sys/dev/cyapa/cyapa.c3
-rw-r--r--sys/dev/dc/if_dc.c2
-rw-r--r--sys/dev/enetc/if_enetc.c6
-rw-r--r--sys/dev/evdev/cdev.c1
-rw-r--r--sys/dev/evdev/uinput.c1
-rw-r--r--sys/dev/fdt/fdt_slicer.c6
-rw-r--r--sys/dev/gpio/gpioc.c3
-rw-r--r--sys/dev/hid/hidraw.c1
-rw-r--r--sys/dev/hid/u2f.c1
-rw-r--r--sys/dev/hptmv/entry.c33
-rw-r--r--sys/dev/hptmv/gui_lib.c12
-rw-r--r--sys/dev/hptmv/hptproc.c2
-rw-r--r--sys/dev/iommu/iommu_gas.c2
-rw-r--r--sys/dev/ipmi/ipmi_linux.c10
-rw-r--r--sys/dev/ixl/if_ixl.c27
-rw-r--r--sys/dev/ixl/ixl.h1
-rw-r--r--sys/dev/ixl/ixl_pf_main.c110
-rw-r--r--sys/dev/mfi/mfi_linux.c10
-rw-r--r--sys/dev/mii/mv88e151x.c8
-rw-r--r--sys/dev/mps/mps_sas.c4
-rw-r--r--sys/dev/mpt/mpt_raid.c4
-rw-r--r--sys/dev/mrsas/mrsas_linux.c10
-rw-r--r--sys/dev/netmap/netmap_freebsd.c18
-rw-r--r--sys/dev/nfe/if_nfe.c4
-rw-r--r--sys/dev/null/null.c6
-rw-r--r--sys/dev/nvme/nvme.c4
-rw-r--r--sys/dev/nvme/nvme.h4
-rw-r--r--sys/dev/nvme/nvme_sim.c4
-rw-r--r--sys/dev/ocs_fc/ocs_mgmt.c14
-rw-r--r--sys/dev/pci/controller/pci_n1sdp.c12
-rw-r--r--sys/dev/ppc/ppc.c2
-rw-r--r--sys/dev/qat/qat_common/adf_freebsd_dev_processes.c1
-rw-r--r--sys/dev/smartpqi/smartpqi_event.c6
-rw-r--r--sys/dev/smartpqi/smartpqi_queue.c4
-rw-r--r--sys/dev/sound/pci/hda/hdac.c1
-rw-r--r--sys/dev/sound/pci/hda/hdac.h1
-rw-r--r--sys/dev/sym/sym_hipd.c12
-rw-r--r--sys/dev/tdfx/tdfx_linux.c2
-rw-r--r--sys/dev/tdfx/tdfx_linux.h12
-rw-r--r--sys/dev/tws/tws.c13
-rw-r--r--sys/dev/tws/tws_services.c2
-rw-r--r--sys/dev/usb/controller/ehci_pci.c7
-rw-r--r--sys/dev/usb/usb_dev.c2
-rw-r--r--sys/dev/vmm/vmm_dev.c28
-rw-r--r--sys/dev/xdma/xdma.c2
-rw-r--r--sys/dev/xen/bus/xen_intr.c6
-rw-r--r--sys/fs/cuse/cuse.c2
-rw-r--r--sys/fs/devfs/devfs_dir.c2
-rw-r--r--sys/fs/fuse/fuse_device.c2
-rw-r--r--sys/fs/fuse/fuse_vnops.c4
-rw-r--r--sys/fs/nfs/nfs_commonsubs.c23
-rw-r--r--sys/fs/nfs/nfs_var.h2
-rw-r--r--sys/fs/p9fs/p9_transport.c3
-rw-r--r--sys/fs/udf/osta.c4
-rw-r--r--sys/fs/unionfs/union_subr.c2
-rw-r--r--sys/fs/unionfs/union_vnops.c12
-rw-r--r--sys/geom/geom_dev.c1
-rw-r--r--sys/i386/i386/elf_machdep.c12
-rw-r--r--sys/i386/i386/in_cksum_machdep.c2
-rw-r--r--sys/i386/i386/machdep.c2
-rw-r--r--sys/i386/i386/pmap.c2
-rw-r--r--sys/i386/linux/linux_sysvec.c12
-rw-r--r--sys/kern/imgact_elf.c40
-rw-r--r--sys/kern/kern_boottrace.c2
-rw-r--r--sys/kern/kern_descrip.c55
-rw-r--r--sys/kern/kern_devctl.c3
-rw-r--r--sys/kern/kern_event.c271
-rw-r--r--sys/kern/kern_exec.c4
-rw-r--r--sys/kern/kern_exit.c2
-rw-r--r--sys/kern/kern_fork.c2
-rw-r--r--sys/kern/kern_jail.c21
-rw-r--r--sys/kern/kern_jaildesc.c1
-rw-r--r--sys/kern/kern_jailmeta.c8
-rw-r--r--sys/kern/kern_linker.c2
-rw-r--r--sys/kern/kern_malloc.c4
-rw-r--r--sys/kern/kern_racct.c4
-rw-r--r--sys/kern/kern_rangelock.c2
-rw-r--r--sys/kern/kern_rctl.c4
-rw-r--r--sys/kern/kern_sharedpage.c3
-rw-r--r--sys/kern/kern_sig.c5
-rw-r--r--sys/kern/kern_time.c4
-rw-r--r--sys/kern/subr_devstat.c2
-rw-r--r--sys/kern/subr_log.c1
-rw-r--r--sys/kern/subr_pcpu.c2
-rw-r--r--sys/kern/subr_prf.c2
-rw-r--r--sys/kern/sys_eventfd.c7
-rw-r--r--sys/kern/sys_pipe.c5
-rw-r--r--sys/kern/sys_procdesc.c1
-rw-r--r--sys/kern/sys_socket.c2
-rw-r--r--sys/kern/tty.c2
-rw-r--r--sys/kern/tty_pts.c2
-rw-r--r--sys/kern/uipc_mqueue.c2
-rw-r--r--sys/kern/uipc_socket.c3
-rw-r--r--sys/kern/uipc_usrreq.c42
-rw-r--r--sys/kern/vfs_aio.c4
-rw-r--r--sys/kern/vfs_inotify.c1
-rw-r--r--sys/kern/vfs_subr.c15
-rw-r--r--sys/libkern/arc4random.c4
-rw-r--r--sys/libkern/x86/crc32_sse42.c4
-rw-r--r--sys/modules/Makefile2
-rw-r--r--sys/modules/ktest/Makefile3
-rw-r--r--sys/modules/ktest/ktest_tcphpts/Makefile13
-rw-r--r--sys/modules/zfs/zfs_config.h4
-rw-r--r--sys/modules/zfs/zfs_gitrev.h2
-rw-r--r--sys/net/bpf.c2
-rw-r--r--sys/net/if_tuntap.c2
-rw-r--r--sys/net/route.c2
-rw-r--r--sys/net/route/route_tables.c2
-rw-r--r--sys/net/rtsock.c2
-rw-r--r--sys/net80211/ieee80211_ht.c2
-rw-r--r--sys/net80211/ieee80211_hwmp.c2
-rw-r--r--sys/net80211/ieee80211_mesh.c2
-rw-r--r--sys/net80211/ieee80211_phy.c2
-rw-r--r--sys/net80211/ieee80211_proto.c2
-rw-r--r--sys/net80211/ieee80211_vht.c2
-rw-r--r--sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c3
-rw-r--r--sys/netinet/cc/cc.c2
-rw-r--r--sys/netinet/in_fib_algo.c2
-rw-r--r--sys/netinet/in_mcast.c113
-rw-r--r--sys/netinet/libalias/alias_db.c2
-rw-r--r--sys/netinet/siftr.c2
-rw-r--r--sys/netinet/tcp_hpts.c933
-rw-r--r--sys/netinet/tcp_hpts.h50
-rw-r--r--sys/netinet/tcp_hpts_internal.h184
-rw-r--r--sys/netinet/tcp_hpts_test.c1682
-rw-r--r--sys/netinet/tcp_input.c2
-rw-r--r--sys/netinet/tcp_lro_hpts.c3
-rw-r--r--sys/netinet/tcp_output.c2
-rw-r--r--sys/netinet/tcp_stacks/bbr.c139
-rw-r--r--sys/netinet/tcp_stacks/rack.c335
-rw-r--r--sys/netinet/tcp_syncache.c33
-rw-r--r--sys/netinet6/in6_fib_algo.c2
-rw-r--r--sys/netipsec/xform_ipcomp.c4
-rw-r--r--sys/netpfil/ipfw/ip_dummynet.c4
-rw-r--r--sys/netpfil/ipfw/ip_fw2.c9
-rw-r--r--sys/netpfil/ipfw/ip_fw_nat.c16
-rw-r--r--sys/netpfil/pf/pf.c1
-rw-r--r--sys/netpfil/pf/pf_ioctl.c4
-rw-r--r--sys/netpfil/pf/pf_lb.c1
-rw-r--r--sys/nfs/nfs_diskless.c2
-rw-r--r--sys/powerpc/aim/mmu_oea64.c4
-rw-r--r--sys/powerpc/cpufreq/pmcr.c3
-rw-r--r--sys/powerpc/powerpc/elf32_machdep.c8
-rw-r--r--sys/powerpc/powerpc/elf64_machdep.c12
-rw-r--r--sys/riscv/include/vmm.h2
-rw-r--r--sys/riscv/riscv/elf_machdep.c4
-rw-r--r--sys/riscv/vmm/vmm.c4
-rw-r--r--sys/rpc/auth.h4
-rw-r--r--sys/rpc/authunix_prot.c93
-rw-r--r--sys/rpc/svc_auth_unix.c94
-rw-r--r--sys/security/audit/audit.c2
-rw-r--r--sys/security/audit/audit_pipe.c1
-rw-r--r--sys/security/mac/mac_framework.c4
-rw-r--r--sys/sys/event.h3
-rw-r--r--sys/sys/eventvar.h2
-rw-r--r--sys/sys/file.h4
-rw-r--r--sys/sys/filedesc.h2
-rw-r--r--sys/sys/imgact_elf.h14
-rw-r--r--sys/sys/proc.h2
-rw-r--r--sys/sys/sockbuf.h2
-rw-r--r--sys/sys/socket.h1
-rw-r--r--sys/sys/sockopt.h6
-rw-r--r--sys/sys/syscallsubr.h3
-rw-r--r--sys/sys/sysent.h3
-rw-r--r--sys/sys/tree.h57
-rw-r--r--sys/tests/ktest.h10
-rw-r--r--sys/ufs/ffs/ffs_inode.c4
-rw-r--r--sys/vm/vm_domainset.c10
-rw-r--r--sys/vm/vm_glue.c24
-rw-r--r--sys/vm/vm_meter.c2
-rw-r--r--sys/vm/vm_pageout.c4
-rw-r--r--sys/x86/acpica/acpi_apm.c1
-rw-r--r--sys/x86/x86/tsc.c2
-rw-r--r--sys/x86/xen/xen_apic.c2
-rw-r--r--tests/atf_python/ktest.py12
-rw-r--r--tests/sys/fs/fusefs/bad_server.cc5
-rw-r--r--tests/sys/geom/class/Makefile1
-rw-r--r--tests/sys/geom/class/label/Makefile7
-rwxr-xr-xtests/sys/geom/class/label/basic.sh59
-rw-r--r--tests/sys/kern/unix_stream.c27
-rw-r--r--tests/sys/netinet/Makefile1
-rwxr-xr-xtests/sys/netinet/carp.sh3
-rw-r--r--tests/sys/netinet/multicast-receive.c16
-rwxr-xr-xtests/sys/netinet/multicast.sh76
-rw-r--r--tests/sys/netinet/tcp_hpts_test.py4
-rw-r--r--tests/sys/netpfil/pf/rdr.sh51
-rw-r--r--tests/sys/vm/mmap_test.c31
-rwxr-xr-xtools/test/stress2/misc/kevent17.sh176
-rwxr-xr-xtools/test/stress2/misc/kevent18.sh152
-rwxr-xr-xtools/test/stress2/misc/kevent19.sh187
-rwxr-xr-xtools/test/stress2/misc/unionfs20.sh206
-rwxr-xr-xtools/tools/git/mfc-candidates.lua8
-rw-r--r--tools/tools/nanobsd/rescue/Files/root/ZFS_Create.txt8
-rw-r--r--tools/tools/netrate/tcpp/README2
-rw-r--r--tools/tools/sysdoc/tunables.mdoc2
-rw-r--r--usr.bin/calendar/calendars/calendar.freebsd1
-rw-r--r--usr.bin/find/find.c2
-rw-r--r--usr.bin/login/login.conf4
-rw-r--r--usr.bin/mkimg/mkimg.c21
-rw-r--r--usr.bin/ncurses/Makefile2
-rw-r--r--usr.bin/sockstat/main.c12
-rw-r--r--usr.bin/sockstat/sockstat.15
-rw-r--r--usr.bin/tar/Makefile1
-rw-r--r--usr.sbin/arp/arp.c32
-rw-r--r--usr.sbin/arp/arp.h9
-rw-r--r--usr.sbin/arp/arp_netlink.c20
-rw-r--r--usr.sbin/blacklistctl/Makefile3
-rw-r--r--usr.sbin/blacklistd/Makefile4
-rw-r--r--usr.sbin/bluetooth/rtlbtfw/main.c3
-rw-r--r--usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf10
-rw-r--r--usr.sbin/bsdinstall/Makefile3
-rw-r--r--usr.sbin/bsdinstall/partedit/part_wizard.c25
-rwxr-xr-xusr.sbin/bsdinstall/scripts/auto2
-rwxr-xr-xusr.sbin/bsdinstall/scripts/bootconfig2
-rwxr-xr-xusr.sbin/bsdinstall/scripts/jail2
-rwxr-xr-xusr.sbin/bsdinstall/scripts/keymap2
-rwxr-xr-xusr.sbin/bsdinstall/scripts/script2
-rwxr-xr-xusr.sbin/bsdinstall/scripts/zfsboot2
-rw-r--r--usr.sbin/certctl/certctl.86
-rw-r--r--usr.sbin/fwget/pci/pci_network_mediatek36
-rw-r--r--usr.sbin/quot/Makefile8
-rw-r--r--usr.sbin/quot/quot.89
-rw-r--r--usr.sbin/quot/quot.c320
-rw-r--r--usr.sbin/quot/tests/Makefile4
-rw-r--r--usr.sbin/quot/tests/quot_test.sh102
-rw-r--r--usr.sbin/unbound/Makefile.inc2
-rw-r--r--usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c1
-rw-r--r--usr.sbin/virtual_oss/virtual_oss/int.h3
-rw-r--r--usr.sbin/virtual_oss/virtual_oss/main.c1
-rw-r--r--usr.sbin/virtual_oss/virtual_oss/utils.h31
365 files changed, 8617 insertions, 40087 deletions
diff --git a/.mailmap b/.mailmap
index c546d84e41f2..10141fcf7b6c 100644
--- a/.mailmap
+++ b/.mailmap
@@ -12,7 +12,8 @@ Michal Meloun <mmel@FreeBSD.org> <strejda@users.noreply.github.com>
Dmitriy Alexandrov <d06alexandrov@gmail.com> <d06alexandrov@users.noreply.github.com>
Alfonso Gregory <gfunni234@gmail.com> <83477269+AtariDreams@users.noreply.github.com>
Alfonso Gregory <gfunni234@gmail.com> <83477269+gAlfonso-bit@users.noreply.github.com>
-Jose Luis Duran <jlduran@gmail.com> <jlduran@users.noreply.github.com>
+Jose Luis Duran <jlduran@FreeBSD.org> <jlduran@users.noreply.github.com>
+Jose Luis Duran <jlduran@FreeBSD.org> <jlduran@gmail.com>
Val Packett <val@packett.cool> <greg@unrelenting.technology>
Piotr Paweł Stefaniak <pstef@FreeBSD.org> <pstef@FreeBSD.org>
Sumit Saxena <ssaxena@FreeBSD.org> <sumit@FreeBSD.org>
diff --git a/Makefile.inc1 b/Makefile.inc1
index 74c4598dd092..e341599ac505 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -587,7 +587,16 @@ PKG_VERSION:= ${_PKG_REVISION}${EXTRA_REVISION:C/[[:space:]]//g}
.endif # !defined(_MKSHOWCONFIG)
+PKG_NAME_PREFIX?= FreeBSD
+PKG_MAINTAINER?= re@FreeBSD.org
+PKG_WWW?= https://www.FreeBSD.org
+PKG_WORKERS_COUNT?= 1
+
.if make(*package*)
+.export PKG_NAME_PREFIX
+.export PKG_MAINTAINER
+.export PKG_WWW
+
.if !defined(PKG_TIMESTAMP)
.if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git)
SOURCE_DATE_EPOCH!= ${GIT_CMD} -C ${SRCDIR} show -s --format=%ct HEAD
@@ -598,14 +607,6 @@ SOURCE_DATE_EPOCH= ${TIMEEPOCHNOW:gmtime}
.else
SOURCE_DATE_EPOCH= ${PKG_TIMESTAMP}
.endif
-PKG_WORKERS_COUNT?= 1
-
-PKG_NAME_PREFIX?= FreeBSD
-PKG_MAINTAINER?= re@FreeBSD.org
-PKG_WWW?= https://www.FreeBSD.org
-.export PKG_NAME_PREFIX
-.export PKG_MAINTAINER
-.export PKG_WWW
.endif
.if !defined(_MKSHOWCONFIG)
@@ -1353,6 +1354,28 @@ __installcheck_DESTDIR: .PHONY
.endif
.endif
+#
+# Don't allow installworld or installkernel on a pkgbase system. This avoids
+# accidentally updating a pkgbase system with install{world,kernel}, causing
+# the installed system to become out of date with the package database.
+#
+# Skip the check if DESTDIR is defined on the assumption the user knows what
+# they're doing. This means the check can be disabled for the running system
+# using DESTDIR=/.
+#
+.if !make(distributeworld) && !defined(DESTDIR)
+_installcheck_world: __installcheck_PKG
+_installcheck_kernel: __installcheck_PKG
+__installcheck_PKG: .PHONY
+.if exists(${LOCALBASE}/sbin/pkg-static)
+ @if ${LOCALBASE}/sbin/pkg-static info -e ${PKG_NAME_PREFIX}-runtime; then \
+ echo >&2 "ERROR: This target should not be used on a system installed from packages." ; \
+ echo >&2 " To override this check, set DESTDIR=/."; \
+ false; \
+ fi
+.endif
+.endif
+
.if !defined(DB_FROM_SRC)
#
# Check for missing UIDs/GIDs.
@@ -1964,6 +1987,7 @@ REPODIR?= ${OBJROOT}repo
PKG_FORMAT?= tzst
PKG_LEVEL?= -1
PKG_CLEVEL?= ${"${PKG_FORMAT:Mtar}" != "":?:-l ${PKG_LEVEL}}
+PKG_CTHREADS?= 0
PKG_REPO_SIGNING_KEY?= # empty
PKG_OUTPUT_DIR?= ${PKG_VERSION}
PKG_ABI_FILE?= ${WSTAGEDIR}/usr/bin/uname
@@ -2094,6 +2118,7 @@ create-packages-world: _pkgbootstrap _repodir .PHONY
.ORDER: create-packages-world create-packages-sets
.ORDER: create-packages-kernel create-packages-sets
+.ORDER: create-packages-source create-packages-sets
create-packages-sets: _pkgbootstrap _repodir .PHONY
${_+_}@cd ${.CURDIR}; \
${MAKE} -f Makefile.inc1 \
@@ -2143,7 +2168,7 @@ create-source-src-package: _pkgbootstrap .PHONY
${SSTAGEDIR}/src.ucl
${PKG_CMD} -o ABI=${PKG_ABI} \
-o OSVERSION="${SRCRELDATE}" \
- create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${SSTAGEDIR}/src.ucl \
-p ${SSTAGEDIR}/src.plist \
-r ${SRCDIR} \
@@ -2169,7 +2194,7 @@ create-source-src-sys-package: _pkgbootstrap .PHONY
${SSTAGEDIR}/src-sys.ucl
${PKG_CMD} -o ABI=${PKG_ABI} \
-o OSVERSION="${SRCRELDATE}" \
- create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${SSTAGEDIR}/src-sys.ucl \
-p ${SSTAGEDIR}/src-sys.plist \
-r ${SRCDIR} \
@@ -2209,7 +2234,7 @@ create-world-package-${pkgname}: .PHONY
' ${WSTAGEDIR}/${pkgname}.ucl
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
- create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${WSTAGEDIR}/${pkgname}.ucl \
-p ${WSTAGEDIR}/${pkgname}.plist \
-r ${WSTAGEDIR} \
@@ -2228,7 +2253,7 @@ create-sets-packages: .PHONY
@for manifest in ${WSTAGEDIR}/set-*.ucl; do \
echo "--> Processing manifest: $$manifest"; \
${PKG_CMD} -o ABI=${PKG_ABI} -o OSVERSION="${SRCRELDATE}" \
- create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M $$manifest \
-o "${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}" \
|| exit 1; \
@@ -2258,7 +2283,7 @@ create-dtb-package: .PHONY
${KSTAGEDIR}/${DISTDIR}/dtb.ucl ; \
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
- create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${KSTAGEDIR}/${DISTDIR}/dtb.ucl \
-p ${KSTAGEDIR}/${DISTDIR}/dtb.plist \
-r ${KSTAGEDIR}/${DISTDIR} \
@@ -2295,7 +2320,7 @@ create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
- create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl \
-p ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \
-r ${KSTAGEDIR}/${DISTDIR} \
@@ -2338,7 +2363,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kerne
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
- create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
+ create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl \
-p ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \
-r ${KSTAGEDIR}/kernel.${_kernel} \
diff --git a/RELNOTES b/RELNOTES
index 174ce12e4148..e34a5b23a005 100644
--- a/RELNOTES
+++ b/RELNOTES
@@ -11,7 +11,7 @@ newline. Entries should be separated by a newline.
Changes to this file should not be MFCed.
5000d023a446, 03da141d59ae:
- Add a "-f" option to "kadmin -l dump" with can be used to
+ Add a "-f" option to "kadmin -l dump" which can be used to
dump the Heimdal KDC database in a format that can be loaded
into the MIT KDC.
See https://wiki.freebsd.org/Kerberos/Heimdal2MIT_KDC_Migration
diff --git a/UPDATING b/UPDATING
index 4460898fca2d..02541eb4b41c 100644
--- a/UPDATING
+++ b/UPDATING
@@ -27,6 +27,32 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 16.x IS SLOW:
world, or to merely disable the most expensive debugging functionality
at runtime, run "ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20251016:
+ With the migration to OpenZFS in FreeBSD 13.x a number of ZFS sysctls
+ moved to new locations, but backwards compatibility aliases were
+ provided. These aliases will be removed in the near future. Please
+ update /etc/sysctl.conf to reference the new OIDs. For example,
+
+ vfs.zfs.min_auto_ashift=12
+
+ needs to be changed to
+
+ vfs.zfs.vdev.min_auto_ashift=12
+
+20251015:
+ The "FreeBSD-unbound" package is renamed to "FreeBSD-local-unbound".
+ If you have set-optional or set-base installed, the new package will
+ be installed automatically, otherwise you should manually install the
+ new package and remove the old one.
+
+ This change only affects pkgbase users.
+
+20251012:
+ Blacklist has been renamed upstream to Blocklist. If you have it
+ configured, rename all configuration files, firewall anchors or
+ sentinel files to reflect the new nomenclature. Old setups will
+ continue to work emitting a warning.
+
20251002:
Audio-related utilities including mixer(8) and virtual_oss(8) have
moved to the new FreeBSD-sound package. If you have set-optional or
@@ -700,7 +726,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 16.x IS SLOW:
Bump _FreeBSD_version to 1400078 to be able to detect this change.
20221212:
- llvm-objump is now always installed as objdump. Previously there was
+ llvm-objdump is now always installed as objdump. Previously there was
no /usr/bin/objdump unless the WITH_LLVM_BINUTILS knob was used.
Some LLVM objdump options have a different output format compared to
diff --git a/contrib/blocklist/bin/blacklistctl.8 b/contrib/blocklist/bin/blacklistctl.8
new file mode 100644
index 000000000000..4d557c0c979d
--- /dev/null
+++ b/contrib/blocklist/bin/blacklistctl.8
@@ -0,0 +1,136 @@
+.\" $NetBSD: blocklistctl.8,v 1.4 2025/02/07 01:35:38 kre Exp $
+.\"
+.\" Copyright (c) 2015 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Christos Zoulas.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd January 27, 2025
+.Dt BLACKLISTCTL 8
+.Os
+.Sh NAME
+.Nm blacklistctl
+.Nd display and change the state of the blacklistd database
+.Sh SYNOPSIS
+.Nm
+.Cm dump
+.Op Fl abdnrw
+.Op Fl D Ar dbname
+.Sh DESCRIPTION
+.Nm
+is a program used to display and change the state of the
+.Xr blacklistd 8
+database.
+The following sub-commands are supported:
+.Ss dump
+.Pp
+The following options are available for the
+.Cm dump
+sub-command:
+.Bl -tag -width indent
+.It Fl a
+Show all database entries, by default it shows only the active ones.
+Inactive entries will be shown with a last-access (or, with
+.Fl r ,
+the remaining) time of
+.Ql never .
+.It Fl b
+Show only the blocked entries.
+.It Fl D Ar dbname
+Specify the location of the
+.Ic blacklistd
+database file to use.
+The default is
+.Pa /var/db/blocklistd.db .
+.It Fl d
+Increase debugging level.
+.It Fl n
+Don't display a header.
+.It Fl r
+Show the remaining blocked time instead of the last activity time.
+.It Fl w
+Normally the width of addresses is good for IPv4, the
+.Fl w
+flag, makes the display wide enough for IPv6 addresses.
+.El
+.Pp
+The output of the
+.Cm dump
+sub-command consists of a header (unless
+.Fl n
+was given) and one line for each record in the database, where each line
+has the following columns:
+.Bl -tag -width indent
+.It Ql address/ma:port
+The remote address, mask, and local port number of the client connection
+associated with the database entry.
+.It Ql id
+column will show the identifier for the packet filter rule associated
+with the database entry, though this may only be the word
+.Ql OK
+for packet filters which do not creat a unique identifier for each rule.
+.It Ql nfail
+The number of
+.Em failures
+reported for the client on the noted port, as well as the number of
+failures allowed before blocking (or, with
+.Fl a ,
+an asterisk
+.Aq * )
+.It So last access Sc | So remaining time Sc
+The last time a the client was reported as attempting access, or, with
+.Fl r ,
+the time remaining before the rule blocking the client will be removed.
+.El
+.Sh SEE ALSO
+.Xr blacklistd 8
+.Sh NOTES
+The
+.Nm
+program has been renamed to
+.Xr blocklistctl 8 .
+.Pp
+Sometimes the reported number of failed attempts can exceed the number
+of attempts that
+.Xr blacklistd 8
+is configured to block.
+This can happen either because the rule has been removed manually, or
+because there were more attempts in flight while the rule block was being
+added.
+This condition is normal; in that case
+.Xr blacklistd 8
+will first attempt to remove the existing rule, and then it will re-add
+it to make sure that there is only one rule active.
+.Sh HISTORY
+.Nm
+first appeared in
+.Nx 7 .
+.Fx
+support for
+.Nm
+was implemented in
+.Fx 11 .
+.Sh AUTHORS
+.An Christos Zoulas
diff --git a/contrib/blocklist/bin/blacklistd.8 b/contrib/blocklist/bin/blacklistd.8
new file mode 100644
index 000000000000..9ca886e9c4d3
--- /dev/null
+++ b/contrib/blocklist/bin/blacklistd.8
@@ -0,0 +1,308 @@
+.\" $NetBSD: blocklistd.8,v 1.8 2025/02/25 22:13:34 christos Exp $
+.\"
+.\" Copyright (c) 2015 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Christos Zoulas.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd February 25, 2025
+.Dt BLACKLISTD 8
+.Os
+.Sh NAME
+.Nm blacklistd
+.Nd block and release ports on demand to avoid DoS abuse
+.Sh SYNOPSIS
+.Nm
+.Op Fl dfrv
+.Op Fl C Ar controlprog
+.Op Fl c Ar configfile
+.Op Fl D Ar dbfile
+.Op Fl P Ar sockpathsfile
+.Op Fl R Ar rulename
+.Op Fl s Ar sockpath
+.Op Fl t Ar timeout
+.Sh DESCRIPTION
+.Nm
+is a daemon similar to
+.Xr syslogd 8
+that listens to sockets at paths specified in the
+.Ar sockpathsfile
+for notifications from other daemons about successful or failed connection
+attempts.
+If no such file is specified, then it only listens to the socket path
+specified by
+.Ar sockpath
+or if that is not specified to
+.Pa /var/run/blocklistd.sock .
+Each notification contains an (action, port, protocol, address, owner) tuple
+that identifies the remote connection and the action.
+This tuple is consulted against entries from the
+.Ar configfile ,
+with the syntax specified in
+.Xr blacklistd.conf 5 .
+If an entry is matched, a state entry is created for that tuple.
+Each entry contains a number of tries limit and a duration.
+.Pp
+If
+.Ar configfile
+is a directory, or a directory exists with the same name as
+.Ar configfile
+with
+.Qq .d
+appended to it, each file in the directory will be read as configuration file.
+If
+.Ar configfile
+exists as a file it will be processed before the contents of the
+.Ar configfile Ns .d
+directory if that also exists.
+.Pp
+The way
+.Nm
+does configuration entry matching is by having the client side pass the
+file descriptor associated with the connection the client wants to blacklist
+as well as passing socket credentials.
+.Pp
+The file descriptor is used to retrieve information (address and port)
+about the remote side with
+.Xr getpeername 2
+and the local side with
+.Xr getsockname 2 .
+.Pp
+By examining the port of the local side,
+.Nm
+can determine if the client program
+.Dq owns
+the port.
+By examining the optional address portion on the local side, it can match
+interfaces.
+By examining the remote address, it can match specific allow or deny rules.
+.Pp
+Finally
+.Nm
+can examine the socket credentials to match the user in the configuration file.
+.Pp
+While this works well for TCP sockets, it cannot be relied on for unbound
+UDP sockets.
+It is also less meaningful when it comes to connections using non-privileged
+ports.
+On the other hand, if we receive a request that has a local endpoint indicating
+a UDP privileged port, we can presume that the client was privileged to be
+able to acquire that port.
+.Pp
+Once an entry is matched
+.Nm
+can perform various actions.
+If the action is
+.Dq add
+and the number of tries limit is reached, then a
+control script
+.Ar controlprog
+is invoked with arguments:
+.Bd -literal -offset indent
+control add <rulename> <proto> <address> <mask> <port>
+.Ed
+.Pp
+and should invoke a packet filter command to block the connection
+specified by the arguments.
+The
+.Ar rulename
+argument can be set from the command line (default
+.Dv blacklistd ) .
+The script could print a numerical id to stdout as a handle for
+the rule that can be used later to remove that connection, but
+that is not required as all information to remove the rule is
+kept.
+.Pp
+If the action is
+.Dq rem
+Then the same control script is invoked as:
+.Bd -literal -offset indent
+control rem <rulename> <proto> <address> <mask> <port> <id>
+.Ed
+.Pp
+where
+.Ar id
+is the number returned from the
+.Dq add
+action.
+.Pp
+.Nm
+maintains a database of known connections in
+.Ar dbfile .
+On startup it reads entries from that file, and updates its internal state.
+.Pp
+.Nm
+checks the list of active entries every
+.Ar timeout
+seconds (default
+.Dv 15 )
+and removes entries and block rules using the control program as necessary.
+.Pp
+The following options are available:
+.Bl -tag -width indent
+.It Fl C Ar controlprog
+Use
+.Ar controlprog
+to communicate with the packet filter, instead of the default, which is
+.Pa /usr/libexec/blacklistd-helper .
+The following arguments are passed to the control program:
+.Bl -tag -width protocol
+.It action
+The action to perform:
+.Dv add ,
+.Dv rem ,
+or
+.Dv flush ;
+to add, remove or flush a firewall rule.
+.It name
+The rule name.
+.It protocol
+The optional protocol name (can be empty):
+.Dv tcp ,
+.Dv tcp6 ,
+.Dv udp ,
+.Dv udp6 .
+.It address
+The IPv4 or IPv6 numeric address to be blocked or released.
+.It mask
+The numeric mask to be applied to the blocked or released address
+.It port
+The optional numeric port to be blocked (can be empty).
+.It id
+For packet filters that support removal of rules by rule identifier, the
+identifier of the rule to be removed.
+The add command is expected to return the rule identifier string to stdout.
+.El
+.It Fl c Ar configuration
+The name of the configuration file to read.
+The default when
+.Fl c
+is not given is
+.Pa /etc/blacklistd.conf .
+.It Fl D Ar dbfile
+The Berkeley DB file where
+.Nm
+stores its state.
+It defaults to
+.Pa /var/db/blocklistd.db .
+.It Fl d
+Normally,
+.Nm
+disassociates itself from the terminal unless the
+.Fl d
+flag is specified, in which case it stays in the foreground.
+.It Fl f
+Truncate the state database and flush all the rules named
+.Ar rulename
+are deleted by invoking the control script as:
+.Bd -literal -offset indent
+control flush <rulename>
+.Ed
+.It Fl P Ar sockpathsfile
+A file containing a list of pathnames, one per line that
+.Nm
+will create sockets to listen to.
+This is useful for chrooted environments.
+.It Fl R Ar rulename
+Specify the default rule name for the packet filter rules, usually
+.Dv blacklistd .
+.It Fl r
+Re-read the firewall rules from the internal database, then
+remove and re-add them.
+This helps for packet filters that do not retain state across reboots.
+.It Fl s Ar sockpath
+Add
+.Ar sockpath
+to the list of Unix sockets
+.Nm
+listens to.
+.It Fl t Ar timeout
+The interval in seconds
+.Nm
+polls the state file to update the rules.
+.It Fl v
+Cause
+.Nm
+to print
+diagnostic messages to
+.Dv stdout
+instead of
+.Xr syslogd 8 .
+.El
+.Sh SIGNAL HANDLING
+.Nm
+deals with the following signals:
+.Bl -tag -width "USR2"
+.It Dv HUP
+Receipt of this signal causes
+.Nm
+to re-read the configuration file.
+.It Dv INT , Dv TERM & Dv QUIT
+These signals tell
+.Nm
+to exit in an orderly fashion.
+.It Dv USR1
+This signal tells
+.Nm
+to increase the internal debugging level by 1.
+.It Dv USR2
+This signal tells
+.Nm
+to decrease the internal debugging level by 1.
+.El
+.Sh FILES
+.Bl -tag -width /usr/libexec/blacklistd-helper -compact
+.It Pa /usr/libexec/blacklistd-helper
+Shell script invoked to interface with the packet filter.
+.It Pa /etc/blacklistd.conf
+Configuration file.
+.It Pa /var/db/blocklistd.db
+Database of current connection entries.
+.It Pa /var/run/blocklistd.sock
+Socket to receive connection notifications.
+.El
+.Sh SEE ALSO
+.Xr blacklistd.conf 5 ,
+.Xr blacklistctl 8 ,
+.Xr ipf 8 ,
+.Xr ipfw 8 ,
+.Xr pfctl 8 ,
+.Xr syslogd 8
+.Sh NOTES
+The
+.Nm
+daemon has been renamed to
+.Xr blocklistd 8 .
+.Sh HISTORY
+.Nm
+first appeared in
+.Nx 7 .
+.Fx
+support for
+.Nm
+was implemented in
+.Fx 11 .
+.Sh AUTHORS
+.An Christos Zoulas
diff --git a/contrib/blocklist/bin/blacklistd.conf.5 b/contrib/blocklist/bin/blacklistd.conf.5
new file mode 100644
index 000000000000..e775d30e7e8e
--- /dev/null
+++ b/contrib/blocklist/bin/blacklistd.conf.5
@@ -0,0 +1,242 @@
+.\" $NetBSD: blocklistd.conf.5,v 1.7 2025/02/11 17:47:05 christos Exp $
+.\"
+.\" Copyright (c) 2015, 2025 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Christos Zoulas.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd February 5, 2025
+.Dt BLACKLISTD.CONF 5
+.Os
+.Sh NAME
+.Nm blacklistd.conf
+.Nd configuration file format for blacklistd
+.Sh DESCRIPTION
+The
+.Nm
+file contains configuration entries for
+.Xr blacklistd 8
+in a fashion similar to
+.Xr inetd.conf 5 .
+Only one entry per line is permitted.
+Every entry must have all fields populated.
+Each field can be separated by a tab or a space.
+Comments are denoted by a
+.Dq #
+at the beginning of a line.
+.Pp
+There are two kinds of configuration lines,
+.Va [local]
+and
+.Va [remote] .
+By default, configuration lines are
+.Va [local] ,
+i.e. the address specified refers to the addresses on the local machine.
+To switch to between
+.Va [local]
+and
+.Va [remote]
+configuration lines you can specify the stanzas:
+.Dq [local]
+and
+.Dq [remote] .
+.Pp
+On
+.Va [local]
+and
+.Va [remote]
+lines
+.Dq *
+means use the default, or wildcard match.
+In addition, for
+.Va [remote]
+lines
+.Dq =
+means use the values from the matched
+.Va [local]
+configuration line.
+.Pp
+The first four fields,
+.Va location ,
+.Va type ,
+.Va proto ,
+and
+.Va owner
+are used to match the
+.Va [local]
+or
+.Va [remote]
+addresses, whereas the last 3 fields
+.Va name ,
+.Va nfail ,
+and
+.Va disable
+are used to modify the filtering action.
+.Pp
+The first field denotes the
+.Va location
+as an address, mask, and port.
+The syntax for the
+.Va location
+is:
+.Bd -literal -offset indent
+ [<address>|<interface>][/<mask>][:<port>]
+.Ed
+.Pp
+The
+.Dv address
+can be an IPv4 address in numeric format, an IPv6 address
+in numeric format and enclosed by square brackets, or an interface name.
+Mask modifiers are not allowed on interfaces because interfaces
+can have multiple addresses in different protocols where the mask has a
+different size.
+.Pp
+The
+.Dv mask
+is always numeric, but the
+.Dv port
+can be either numeric or symbolic.
+.Pp
+The second field is the socket
+.Va type :
+.Dv stream ,
+.Dv dgram ,
+or numeric.
+The third field is the
+.Va protocol :
+.Dv tcp ,
+.Dv udp ,
+.Dv tcp6 ,
+.Dv udp6 ,
+or numeric.
+The fourth field is the effective user
+.Va ( owner )
+of the daemon process reporting the event,
+either as a username or a userid.
+.Pp
+The rest of the fields control the behavior of the filter.
+.Pp
+The
+.Va name
+field, is the name of the packet filter rule to be used.
+If the
+.Va name
+starts with a hyphen
+.Pq Dq - ,
+then the default rulename is prepended to the given name.
+If the
+.Dv name
+contains a
+.Dq / ,
+the remaining portion of the name is interpreted as the mask to be
+applied to the address specified in the rule, causing a single rule violation to
+block the entire subnet for the configured prefix.
+.Pp
+The
+.Va nfail
+field contains the number of failed attempts before access is blocked,
+defaulting to
+.Dq *
+meaning never, and the last field
+.Va duration
+specifies the amount of time since the last access that the blocking
+rule should be active, defaulting to
+.Dq *
+meaning forever.
+The default unit for
+.Va duration
+is seconds, but one can specify suffixes for different units, such as
+.Dq m
+for minutes
+.Dq h
+for hours and
+.Dq d
+for days.
+.Pp
+Matching is done first by checking the
+.Va [local]
+rules individually, in the order of the most specific to the least specific.
+If a match is found, then the matching
+.Va [remote]
+rules are applied.
+The
+.Va name ,
+.Va nfail ,
+and
+.Va duration
+fields can be altered by the
+.Va [remote]
+rule that matched.
+.Pp
+The
+.Va [remote]
+rules can be used for allowing specific addresses, changing the mask
+size (via
+.Va name ) ,
+the rule that the packet filter uses (also via
+.Va name ) ,
+the number of failed attempts (via
+.Va nfail ) ,
+or the duration to block (via
+.Va duration ) .
+.Sh FILES
+.Bl -tag -width /etc/blacklistd.conf -compact
+.It Pa /etc/blacklistd.conf
+Configuration file.
+.El
+.Sh EXAMPLES
+.Bd -literal -offset 8n
+# Block ssh, after 3 attempts for 6 hours on the bnx0 interface
+[local]
+# location type proto owner name nfail duration
+bnx0:ssh * * * * 3 6h
+[remote]
+# Never block 1.2.3.4
+1.2.3.4:ssh * * * * * *
+# Never block the example IPv6 subnet either
+[2001:db8::]/32:ssh * * * * * *
+# For addresses coming from 8.8.0.0/16 block whole /24 networks instead
+# individual hosts, but keep the rest of the blocking parameters the same.
+8.8.0.0/16:ssh * * * /24 = =
+.Ed
+.Sh SEE ALSO
+.Xr blacklistctl 8 ,
+.Xr blacklistd 8
+.Sh NOTES
+The
+.Nm
+file has been renamed to
+.Xr blocklistd.conf 8 .
+.Sh HISTORY
+.Nm
+first appeared in
+.Nx 7 .
+.Fx
+support for
+.Nm
+was implemented in
+.Fx 11 .
+.Sh AUTHORS
+.An Christos Zoulas
diff --git a/contrib/blocklist/lib/libblacklist.3 b/contrib/blocklist/lib/libblacklist.3
new file mode 100644
index 000000000000..5bc093c38f79
--- /dev/null
+++ b/contrib/blocklist/lib/libblacklist.3
@@ -0,0 +1,188 @@
+.\" $NetBSD: libblocklist.3,v 1.7 2025/02/05 20:14:30 christos Exp $
+.\"
+.\" Copyright (c) 2015 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Christos Zoulas.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"
+.Dd February 5, 2025
+.Dt LIBBLACKLIST 3
+.Os
+.Sh NAME
+.Nm blacklist_open ,
+.Nm blacklist_open2 ,
+.Nm blacklist_close ,
+.Nm blacklist_r ,
+.Nm blacklist ,
+.Nm blacklist_sa ,
+.Nm blacklist_sa_r
+.Nd Blacklistd notification library
+.Sh LIBRARY
+.Lb libblacklist
+.Sh SYNOPSIS
+.In blacklist.h
+.Ft struct blacklist *
+.Fn blacklist_open "void"
+.Ft struct blacklist *
+.Fn blacklist_open2 "void (*logger)(int, struct syslog_data *, va_list)"
+.Ft void
+.Fn blacklist_close "struct blacklist *cookie"
+.Ft int
+.Fn blacklist "int action" "int fd" "const char *msg"
+.Ft int
+.Fn blacklist_r "struct blacklist *cookie" "int action" "int fd" "const char *msg"
+.Ft int
+.Fn blacklist_sa "int action" "int fd" "const struct sockaddr *sa" "socklen_t salen" "const char *msg"
+.Ft int
+.Fn blacklist_sa_r "struct blacklist *cookie" "int action" "int fd" "const struct sockaddr *sa" "socklen_t salen" "const char *msg"
+.Sh DESCRIPTION
+These functions can be used by daemons to notify
+.Xr blacklistd 8
+about successful and failed remote connections so that blacklistd can
+block or release port access to prevent Denial of Service attacks.
+.Pp
+The function
+.Fn blacklist_open
+creates the necessary state to communicate with
+.Xr blacklistd 8
+and returns a pointer to it, or
+.Dv NULL
+on failure.
+.Pp
+The function
+.Fn blacklist_open2
+is similar to
+.Fn blacklist_open
+but allows a
+.Fa logger
+to be specified.
+If the
+.Fa logger
+is
+.Dv NULL ,
+then no logging is performed.
+.Pp
+The
+.Fn blacklist_close
+function frees all memory and resources used.
+.Pp
+The
+.Fn blacklist
+function sends a message to
+.Xr blacklistd 8 ,
+with an integer
+.Ar action
+argument specifying the type of notification,
+a file descriptor
+.Ar fd
+specifying the accepted file descriptor connected to the client,
+and an optional message in the
+.Ar msg
+argument.
+.Pp
+The
+.Ar action
+parameter can take these values:
+.Bl -tag -width ".Dv BLACKLIST_ABUSIVE_BEHAVIOR"
+.It Dv BLACKLIST_AUTH_FAIL
+There was an unsuccessful authentication attempt.
+.It Dv BLACKLIST_AUTH_OK
+A user successfully authenticated.
+.It Dv BLACKLIST_ABUSIVE_BEHAVIOR
+The sending daemon has detected abusive behavior
+from the remote system.
+The remote address should
+be blocked as soon as possible.
+.It Dv BLACKLIST_BAD_USER
+The sending daemon has determined the username
+presented for authentication is invalid.
+The
+.Xr blacklistd 8
+daemon compares the username to a configured list of forbidden
+usernames and
+blocks the address immediately if a forbidden username matches.
+(The
+.Dv BLACKLIST_BAD_USER
+support is not currently available.)
+.El
+.Pp
+The
+.Fn blacklist_r
+function is more efficient because it keeps the blacklist state around.
+.Pp
+The
+.Fn blacklist_sa
+and
+.Fn blacklist_sa_r
+functions can be used with unconnected sockets, where
+.Xr getpeername 2
+will not work, the server will pass the peer name in the message.
+.Pp
+In all cases the file descriptor passed in the
+.Fa fd
+argument must be pointing to a valid socket so that
+.Xr blacklistd 8
+can establish ownership of the local endpoint
+using
+.Xr getsockname 2 .
+.Pp
+By default,
+.Xr syslogd 8
+is used for message logging.
+The internal
+.Fn bl_create
+function can be used to create the required internal
+state and specify a custom logging function.
+.Sh RETURN VALUES
+The function
+.Fn blacklist_open
+returns a cookie on success and
+.Dv NULL
+on failure setting
+.Dv errno
+to an appropriate value.
+.Pp
+The functions
+.Fn blacklist ,
+.Fn blacklist_sa ,
+and
+.Fn blacklist_sa_r
+return
+.Dv 0
+on success and
+.Dv \-1
+on failure setting
+.Dv errno
+to an appropriate value.
+.Sh NOTES
+The
+.Lb libblacklist
+has been renamed to
+.Xr libblocklist 3 .
+.Sh SEE ALSO
+.Xr blacklistd.conf 5 ,
+.Xr blacklistd 8
+.Sh AUTHORS
+.An Christos Zoulas
diff --git a/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c b/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c
index dd2e55635653..2f3d1025536b 100644
--- a/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c
+++ b/contrib/netbsd-tests/lib/libc/regex/t_exhaust.c
@@ -1,4 +1,4 @@
-/* $NetBSD: t_exhaust.c,v 1.9 2019/03/16 21:57:15 christos Exp $ */
+/* $NetBSD: t_exhaust.c,v 1.10 2019/07/09 13:59:25 gson Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: t_exhaust.c,v 1.9 2019/03/16 21:57:15 christos Exp $");
+__RCSID("$NetBSD: t_exhaust.c,v 1.10 2019/07/09 13:59:25 gson Exp $");
#include <sys/resource.h>
#include <atf-c.h>
@@ -177,7 +177,7 @@ ATF_TC_HEAD(regcomp_too_big, tc)
" crash, but return a proper error code");
// libtre needs it.
atf_tc_set_md_var(tc, "timeout", "600");
- atf_tc_set_md_var(tc, "require.memory", "64M");
+ atf_tc_set_md_var(tc, "require.memory", "256M");
}
ATF_TC_BODY(regcomp_too_big, tc)
@@ -186,10 +186,8 @@ ATF_TC_BODY(regcomp_too_big, tc)
int e;
struct rlimit limit;
-#if defined(__i386__)
if (atf_tc_get_config_var_as_bool_wd(tc, "ci", false))
- atf_tc_skip("https://bugs.freebsd.org/237450");
-#endif
+ atf_tc_skip("https://bugs.freebsd.org/259971");
limit.rlim_cur = limit.rlim_max = 256 * 1024 * 1024;
ATF_REQUIRE(setrlimit(RLIMIT_VMEM, &limit) != -1);
diff --git a/crypto/.gitignore b/crypto/.gitignore
new file mode 100644
index 000000000000..4c6e1f0fe03f
--- /dev/null
+++ b/crypto/.gitignore
@@ -0,0 +1,78 @@
+# OpenSSL: the following are generated paths that generally should not be committed to FreeBSD.
+openssl/apps/tsget.pl
+openssl/crypto/buildinf.h
+openssl/doc/html
+openssl/doc/man
+openssl/test/buildtest_*.c
+openssl/util/wrap.pl
+openssl/**/*.cmake
+openssl/**/*.ld
+openssl/**/*.s
+openssl/*.pc
+openssl/Makefile
+openssl/Makefile.in
+openssl/builddata.pm
+openssl/configdata.pm
+openssl/installdata.pm
+openssl/pod2htmd.tmp
+
+# .pod files generated from .pod.in files.
+#
+# List can be easily updated via this command:
+#
+# % find openssl/doc -name \*.pod.in | sed -e 's,\.in,,g'
+openssl/doc/man1/openssl-asn1parse.pod
+openssl/doc/man1/openssl-ca.pod
+openssl/doc/man1/openssl-ciphers.pod
+openssl/doc/man1/openssl-cmds.pod
+openssl/doc/man1/openssl-cmp.pod
+openssl/doc/man1/openssl-cms.pod
+openssl/doc/man1/openssl-crl.pod
+openssl/doc/man1/openssl-crl2pkcs7.pod
+openssl/doc/man1/openssl-dgst.pod
+openssl/doc/man1/openssl-dhparam.pod
+openssl/doc/man1/openssl-dsa.pod
+openssl/doc/man1/openssl-dsaparam.pod
+openssl/doc/man1/openssl-ec.pod
+openssl/doc/man1/openssl-ecparam.pod
+openssl/doc/man1/openssl-enc.pod
+openssl/doc/man1/openssl-engine.pod
+openssl/doc/man1/openssl-errstr.pod
+openssl/doc/man1/openssl-fipsinstall.pod
+openssl/doc/man1/openssl-gendsa.pod
+openssl/doc/man1/openssl-genpkey.pod
+openssl/doc/man1/openssl-genrsa.pod
+openssl/doc/man1/openssl-info.pod
+openssl/doc/man1/openssl-kdf.pod
+openssl/doc/man1/openssl-list.pod
+openssl/doc/man1/openssl-mac.pod
+openssl/doc/man1/openssl-nseq.pod
+openssl/doc/man1/openssl-ocsp.pod
+openssl/doc/man1/openssl-passwd.pod
+openssl/doc/man1/openssl-pkcs12.pod
+openssl/doc/man1/openssl-pkcs7.pod
+openssl/doc/man1/openssl-pkcs8.pod
+openssl/doc/man1/openssl-pkey.pod
+openssl/doc/man1/openssl-pkeyparam.pod
+openssl/doc/man1/openssl-pkeyutl.pod
+openssl/doc/man1/openssl-prime.pod
+openssl/doc/man1/openssl-rand.pod
+openssl/doc/man1/openssl-rehash.pod
+openssl/doc/man1/openssl-req.pod
+openssl/doc/man1/openssl-rsa.pod
+openssl/doc/man1/openssl-rsautl.pod
+openssl/doc/man1/openssl-s_client.pod
+openssl/doc/man1/openssl-s_server.pod
+openssl/doc/man1/openssl-s_time.pod
+openssl/doc/man1/openssl-sess_id.pod
+openssl/doc/man1/openssl-skeyutl.pod
+openssl/doc/man1/openssl-smime.pod
+openssl/doc/man1/openssl-speed.pod
+openssl/doc/man1/openssl-spkac.pod
+openssl/doc/man1/openssl-srp.pod
+openssl/doc/man1/openssl-storeutl.pod
+openssl/doc/man1/openssl-ts.pod
+openssl/doc/man1/openssl-verify.pod
+openssl/doc/man1/openssl-version.pod
+openssl/doc/man1/openssl-x509.pod
+openssl/doc/man7/openssl_user_macros.pod
diff --git a/crypto/openssh/sshd-session.c b/crypto/openssh/sshd-session.c
index e8299c254567..ca35790149ac 100644
--- a/crypto/openssh/sshd-session.c
+++ b/crypto/openssh/sshd-session.c
@@ -217,8 +217,6 @@ mm_is_monitor(void)
static void
grace_alarm_handler(int sig)
{
- BLOCKLIST_NOTIFY(the_active_state, BLOCKLIST_AUTH_FAIL,
- "Grace period expired");
/*
* Try to kill any processes that we have spawned, E.g. authorized
* keys command helpers or privsep children.
diff --git a/crypto/openssl/BSDmakefile b/crypto/openssl/BSDmakefile
index d260808ffac3..a45dc2b532f3 100644
--- a/crypto/openssl/BSDmakefile
+++ b/crypto/openssl/BSDmakefile
@@ -48,32 +48,12 @@ configure:
enable-sctp \
--openssldir=etc \
--prefix=/usr)
- @echo "Building configdata.pm for later use."
- @(cd ${.CURDIR} && \
- ${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} configdata.pm)
-
- @echo "Populating Makefile.version with release information"
- @(cd ${LCRYPTO_SRC} && ${SETENVI} ${WRK_ENV} ${PERL} \
- ${LCRYPTO_SRC}/freebsd/dump_version_from_configdata.pl > \
- ${SRCTOP}/secure/lib/libcrypto/Makefile.version)
all: patch
@echo "==> Building generated files (headers, manpages, etc)"
@(cd ${.CURDIR} && \
${SETENVI} ${WRK_ENV} ${GMAKE} -j ${.MAKE.JOBS} build_all_generated)
- # 1. Fix --prefix.
- # a. Not sure why --prefix isn't honored properly, even though it's
- # passed to Configure; the files might be getting rebuilt
- # post-Configure, somehow.
- # 2. Remove duplicate path in CFLAGS.
- # 3. Remove duplicate path in includedir(s).
- @echo "==> Fixing pkgconfig files"
- @find . -name \*.pc -print -exec sed -i '' -E \
- -e 's,^prefix=.+,prefix=/usr,' \
- -e 's,[[:space:]]+(\-I)?\$\{prefix\}/\./include[[:space:]]*,,g' \
- {} +
-
@echo "==> Cleaning / rebuilding ASM"
@(cd ${SRCTOP}/secure/lib/libcrypto && \
${SETENVI} ${WRK_ENV} ${MAKE} cleanasm && \
diff --git a/crypto/openssl/configdata.pm b/crypto/openssl/configdata.pm
deleted file mode 100755
index 4a2c9307aa86..000000000000
--- a/crypto/openssl/configdata.pm
+++ /dev/null
@@ -1,36871 +0,0 @@
-#! /usr/bin/env perl
-# -*- mode: perl -*-
-
-package configdata;
-
-use strict;
-use warnings;
-
-use Exporter;
-our @ISA = qw(Exporter);
-our @EXPORT = qw(
- %config %target %disabled %withargs %unified_info
- @disablables @disablables_int
-);
-
-our %config = (
- "AR" => "ar",
- "ARFLAGS" => [
- "qc"
- ],
- "ASFLAGS" => [],
- "CC" => "cc",
- "CFLAGS" => [
- "-Wall -O3"
- ],
- "CPPDEFINES" => [],
- "CPPFLAGS" => [],
- "CPPINCLUDES" => [],
- "CXXFLAGS" => [],
- "FIPSKEY" => "f4556650ac31d35461610bac4ed81b1a181b2d8a43ea2854cbae22ca74560813",
- "FIPS_VENDOR" => "OpenSSL non-compliant FIPS Provider",
- "HASHBANGPERL" => "/usr/bin/env perl",
- "LD" => "ld",
- "LDFLAGS" => [],
- "LDLIBS" => [],
- "OBJCOPY" => "objcopy",
- "PERL" => "/usr/local/bin/perl",
- "RANLIB" => "ranlib",
- "RC" => "windres",
- "RCFLAGS" => [],
- "afalgeng" => "",
- "api" => "30500",
- "b32" => "0",
- "b64" => "0",
- "b64l" => "1",
- "bn_ll" => "0",
- "build_file" => "Makefile",
- "build_file_templates" => [
- "Configurations/common0.tmpl",
- "Configurations/unix-Makefile.tmpl"
- ],
- "build_infos" => [
- "./build.info",
- "crypto/build.info",
- "ssl/build.info",
- "apps/build.info",
- "util/build.info",
- "tools/build.info",
- "fuzz/build.info",
- "providers/build.info",
- "doc/build.info",
- "test/build.info",
- "engines/build.info",
- "exporters/build.info",
- "crypto/objects/build.info",
- "crypto/buffer/build.info",
- "crypto/bio/build.info",
- "crypto/stack/build.info",
- "crypto/lhash/build.info",
- "crypto/hashtable/build.info",
- "crypto/rand/build.info",
- "crypto/evp/build.info",
- "crypto/asn1/build.info",
- "crypto/pem/build.info",
- "crypto/x509/build.info",
- "crypto/conf/build.info",
- "crypto/txt_db/build.info",
- "crypto/pkcs7/build.info",
- "crypto/pkcs12/build.info",
- "crypto/ui/build.info",
- "crypto/kdf/build.info",
- "crypto/store/build.info",
- "crypto/property/build.info",
- "crypto/md4/build.info",
- "crypto/md5/build.info",
- "crypto/sha/build.info",
- "crypto/ml_kem/build.info",
- "crypto/hmac/build.info",
- "crypto/ripemd/build.info",
- "crypto/whrlpool/build.info",
- "crypto/poly1305/build.info",
- "crypto/siphash/build.info",
- "crypto/des/build.info",
- "crypto/aes/build.info",
- "crypto/rc2/build.info",
- "crypto/rc4/build.info",
- "crypto/bf/build.info",
- "crypto/cast/build.info",
- "crypto/camellia/build.info",
- "crypto/seed/build.info",
- "crypto/chacha/build.info",
- "crypto/modes/build.info",
- "crypto/bn/build.info",
- "crypto/ec/build.info",
- "crypto/rsa/build.info",
- "crypto/dsa/build.info",
- "crypto/dh/build.info",
- "crypto/dso/build.info",
- "crypto/engine/build.info",
- "crypto/err/build.info",
- "crypto/comp/build.info",
- "crypto/http/build.info",
- "crypto/ocsp/build.info",
- "crypto/cms/build.info",
- "crypto/ts/build.info",
- "crypto/srp/build.info",
- "crypto/cmac/build.info",
- "crypto/ct/build.info",
- "crypto/async/build.info",
- "crypto/ess/build.info",
- "crypto/crmf/build.info",
- "crypto/cmp/build.info",
- "crypto/encode_decode/build.info",
- "crypto/ffc/build.info",
- "crypto/hpke/build.info",
- "crypto/thread/build.info",
- "crypto/ml_dsa/build.info",
- "crypto/slh_dsa/build.info",
- "ssl/record/build.info",
- "ssl/rio/build.info",
- "ssl/quic/build.info",
- "apps/lib/build.info",
- "providers/common/build.info",
- "providers/implementations/build.info",
- "doc/man1/build.info",
- "ssl/record/methods/build.info",
- "providers/common/der/build.info",
- "providers/implementations/digests/build.info",
- "providers/implementations/ciphers/build.info",
- "providers/implementations/rands/build.info",
- "providers/implementations/macs/build.info",
- "providers/implementations/kdfs/build.info",
- "providers/implementations/exchange/build.info",
- "providers/implementations/keymgmt/build.info",
- "providers/implementations/signature/build.info",
- "providers/implementations/asymciphers/build.info",
- "providers/implementations/encode_decode/build.info",
- "providers/implementations/storemgmt/build.info",
- "providers/implementations/kem/build.info",
- "providers/implementations/skeymgmt/build.info",
- "providers/implementations/rands/seeding/build.info"
- ],
- "build_metadata" => "",
- "build_type" => "release",
- "builddir" => ".",
- "cflags" => [
- "-Wa,--noexecstack",
- "-Qunused-arguments"
- ],
- "conf_files" => [
- "Configurations/00-base-templates.conf",
- "Configurations/10-main.conf"
- ],
- "cppflags" => [],
- "cxxflags" => [],
- "defines" => [
- "NDEBUG"
- ],
- "dynamic_engines" => "1",
- "ex_libs" => [],
- "full_version" => "3.5.4",
- "includes" => [],
- "ktls" => "",
- "lflags" => [],
- "lib_defines" => [
- "OPENSSL_PIC"
- ],
- "libdir" => "",
- "major" => "3",
- "makedep_scheme" => "gcc",
- "minor" => "5",
- "openssl_api_defines" => [
- "OPENSSL_CONFIGURED_API=30500"
- ],
- "openssl_feature_defines" => [
- "OPENSSL_RAND_SEED_OS",
- "OPENSSL_THREADS",
- "OPENSSL_NO_ACVP_TESTS",
- "OPENSSL_NO_AFALGENG",
- "OPENSSL_NO_ARIA",
- "OPENSSL_NO_ASAN",
- "OPENSSL_NO_BROTLI",
- "OPENSSL_NO_BROTLI_DYNAMIC",
- "OPENSSL_NO_CRYPTO_MDEBUG",
- "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE",
- "OPENSSL_NO_DEMOS",
- "OPENSSL_NO_EGD",
- "OPENSSL_NO_EXTERNAL_TESTS",
- "OPENSSL_NO_FIPS_JITTER",
- "OPENSSL_NO_FIPS_POST",
- "OPENSSL_NO_FIPS_SECURITYCHECKS",
- "OPENSSL_NO_FUZZ_AFL",
- "OPENSSL_NO_FUZZ_LIBFUZZER",
- "OPENSSL_NO_H3DEMO",
- "OPENSSL_NO_HQINTEROP",
- "OPENSSL_NO_IDEA",
- "OPENSSL_NO_JITTER",
- "OPENSSL_NO_MD2",
- "OPENSSL_NO_MDC2",
- "OPENSSL_NO_MSAN",
- "OPENSSL_NO_PIE",
- "OPENSSL_NO_RC5",
- "OPENSSL_NO_SM2",
- "OPENSSL_NO_SM3",
- "OPENSSL_NO_SM4",
- "OPENSSL_NO_SSL3",
- "OPENSSL_NO_SSL3_METHOD",
- "OPENSSL_NO_SSLKEYLOG",
- "OPENSSL_NO_TFO",
- "OPENSSL_NO_TRACE",
- "OPENSSL_NO_UBSAN",
- "OPENSSL_NO_UNIT_TEST",
- "OPENSSL_NO_UPLINK",
- "OPENSSL_NO_WEAK_SSL_CIPHERS",
- "OPENSSL_NO_WINSTORE",
- "OPENSSL_NO_ZLIB",
- "OPENSSL_NO_ZLIB_DYNAMIC",
- "OPENSSL_NO_ZSTD",
- "OPENSSL_NO_ZSTD_DYNAMIC",
- "OPENSSL_NO_STATIC_ENGINE"
- ],
- "openssl_sys_defines" => [],
- "openssldir" => "etc",
- "options" => "enable-ec_nistp_64_gcc_128 enable-ktls enable-sctp --openssldir=etc --prefix=/usr no-acvp-tests no-afalgeng no-aria no-asan no-brotli no-brotli-dynamic no-buildtest-c++ no-crypto-mdebug no-crypto-mdebug-backtrace no-demos no-egd no-external-tests no-fips no-fips-jitter no-fips-post no-fips-securitychecks no-fuzz-afl no-fuzz-libfuzzer no-h3demo no-hqinterop no-idea no-jitter no-md2 no-mdc2 no-msan no-pie no-rc5 no-sm2 no-sm3 no-sm4 no-ssl3 no-ssl3-method no-sslkeylog no-tfo no-trace no-ubsan no-unit-test no-uplink no-weak-ssl-ciphers no-winstore no-zlib no-zlib-dynamic no-zstd no-zstd-dynamic",
- "patch" => "4",
- "perl_archname" => "amd64-freebsd-thread-multi",
- "perl_cmd" => "/usr/local/bin/perl",
- "perl_version" => "5.40.3",
- "perlargv" => [
- "disable-aria",
- "disable-egd",
- "disable-idea",
- "disable-mdc2",
- "disable-sm2",
- "disable-sm3",
- "disable-sm4",
- "enable-ec_nistp_64_gcc_128",
- "enable-ktls",
- "enable-sctp",
- "--openssldir=etc",
- "--prefix=/usr"
- ],
- "perlenv" => {
- "AR" => undef,
- "ARFLAGS" => undef,
- "AS" => undef,
- "ASFLAGS" => undef,
- "BUILDFILE" => undef,
- "CC" => "cc",
- "CFLAGS" => undef,
- "CPP" => undef,
- "CPPDEFINES" => undef,
- "CPPFLAGS" => undef,
- "CPPINCLUDES" => undef,
- "CROSS_COMPILE" => undef,
- "CXX" => undef,
- "CXXFLAGS" => undef,
- "HASHBANGPERL" => undef,
- "LD" => "ld",
- "LDFLAGS" => undef,
- "LDLIBS" => undef,
- "MT" => undef,
- "MTFLAGS" => undef,
- "OBJCOPY" => undef,
- "OPENSSL_LOCAL_CONFIG_DIR" => undef,
- "PERL" => undef,
- "RANLIB" => undef,
- "RC" => undef,
- "RCFLAGS" => undef,
- "RM" => undef,
- "WINDRES" => undef,
- "__CNF_CFLAGS" => undef,
- "__CNF_CPPDEFINES" => undef,
- "__CNF_CPPFLAGS" => undef,
- "__CNF_CPPINCLUDES" => undef,
- "__CNF_CXXFLAGS" => undef,
- "__CNF_LDFLAGS" => undef,
- "__CNF_LDLIBS" => undef
- },
- "prefix" => "/usr",
- "prerelease" => "",
- "processor" => "",
- "rc4_int" => "unsigned int",
- "release_date" => "30 Sep 2025",
- "shlib_version" => "3",
- "sourcedir" => ".",
- "target" => "BSD-x86_64",
- "version" => "3.5.4"
-);
-our %target = (
- "AR" => "ar",
- "ARFLAGS" => "qc",
- "CC" => "cc",
- "CFLAGS" => "-Wall -O3",
- "HASHBANGPERL" => "/usr/bin/env perl",
- "OBJCOPY" => "objcopy",
- "RANLIB" => "ranlib",
- "RC" => "windres",
- "_conf_fname_int" => [
- "Configurations/00-base-templates.conf",
- "Configurations/00-base-templates.conf",
- "Configurations/10-main.conf",
- "Configurations/10-main.conf",
- "Configurations/10-main.conf",
- "Configurations/shared-info.pl"
- ],
- "asm_arch" => "x86_64",
- "bin_cflags" => "",
- "bin_lflags" => "",
- "bn_ops" => "SIXTY_FOUR_BIT_LONG",
- "build_file" => "Makefile",
- "build_scheme" => [
- "unified",
- "unix"
- ],
- "cflags" => "-pthread",
- "cppflags" => "-D_THREAD_SAFE -D_REENTRANT",
- "defines" => [
- "OPENSSL_BUILDING_OPENSSL"
- ],
- "disable" => [],
- "dso_ldflags" => "-Wl,-z,defs",
- "dso_scheme" => "dlfcn",
- "enable" => [
- "devcryptoeng"
- ],
- "ex_libs" => "-pthread",
- "includes" => [],
- "lflags" => "",
- "lib_cflags" => "",
- "lib_cppflags" => "-DL_ENDIAN",
- "lib_defines" => [],
- "module_cflags" => "-fPIC",
- "module_cxxflags" => undef,
- "module_ldflags" => "-shared -Wl,-Bsymbolic",
- "perl_platform" => "Unix",
- "perlasm_scheme" => "elf",
- "shared_cflag" => "-fPIC",
- "shared_defflag" => "-Wl,--version-script=",
- "shared_defines" => [],
- "shared_ldflag" => "-shared -Wl,-Bsymbolic",
- "shared_rcflag" => "",
- "shared_sonameflag" => "-Wl,-soname=",
- "shared_target" => "bsd-gcc-shared",
- "template" => "1",
- "thread_defines" => [],
- "thread_scheme" => "pthreads",
- "unistd" => "<unistd.h>"
-);
-our @disablables = (
- "acvp-tests",
- "afalgeng",
- "apps",
- "argon2",
- "aria",
- "asan",
- "asm",
- "async",
- "atexit",
- "autoalginit",
- "autoerrinit",
- "autoload-config",
- "bf",
- "blake2",
- "brotli",
- "brotli-dynamic",
- "buildtest-c++",
- "bulk",
- "cached-fetch",
- "camellia",
- "capieng",
- "winstore",
- "cast",
- "chacha",
- "cmac",
- "cmp",
- "cms",
- "comp",
- "crypto-mdebug",
- "ct",
- "default-thread-pool",
- "demos",
- "h3demo",
- "hqinterop",
- "deprecated",
- "des",
- "devcryptoeng",
- "dgram",
- "dh",
- "docs",
- "dsa",
- "dso",
- "dtls",
- "dynamic-engine",
- "ec",
- "ec2m",
- "ec_nistp_64_gcc_128",
- "ecdh",
- "ecdsa",
- "ecx",
- "egd",
- "engine",
- "err",
- "external-tests",
- "filenames",
- "fips",
- "fips-securitychecks",
- "fips-post",
- "fips-jitter",
- "fuzz-afl",
- "fuzz-libfuzzer",
- "gost",
- "http",
- "idea",
- "integrity-only-ciphers",
- "jitter",
- "ktls",
- "legacy",
- "loadereng",
- "makedepend",
- "md2",
- "md4",
- "mdc2",
- "ml-dsa",
- "ml-kem",
- "module",
- "msan",
- "multiblock",
- "nextprotoneg",
- "ocb",
- "ocsp",
- "padlockeng",
- "pic",
- "pie",
- "pinshared",
- "poly1305",
- "posix-io",
- "psk",
- "quic",
- "unstable-qlog",
- "rc2",
- "rc4",
- "rc5",
- "rdrand",
- "rfc3779",
- "rmd160",
- "scrypt",
- "sctp",
- "secure-memory",
- "seed",
- "shared",
- "siphash",
- "siv",
- "slh-dsa",
- "sm2",
- "sm2-precomp",
- "sm3",
- "sm4",
- "sock",
- "srp",
- "srtp",
- "sse2",
- "ssl",
- "ssl-trace",
- "static-engine",
- "stdio",
- "sslkeylog",
- "tests",
- "tfo",
- "thread-pool",
- "threads",
- "tls",
- "tls-deprecated-ec",
- "trace",
- "ts",
- "ubsan",
- "ui-console",
- "unit-test",
- "uplink",
- "weak-ssl-ciphers",
- "whirlpool",
- "zlib",
- "zlib-dynamic",
- "zstd",
- "zstd-dynamic",
- "ssl3",
- "ssl3-method",
- "tls1",
- "tls1-method",
- "tls1_1",
- "tls1_1-method",
- "tls1_2",
- "tls1_2-method",
- "tls1_3",
- "dtls1",
- "dtls1-method",
- "dtls1_2",
- "dtls1_2-method"
-);
-our @disablables_int = (
- "crmf"
-);
-our %disabled = (
- "acvp-tests" => "cascade",
- "afalgeng" => "not-linux",
- "aria" => "option",
- "asan" => "default",
- "brotli" => "default",
- "brotli-dynamic" => "default",
- "buildtest-c++" => "default",
- "crypto-mdebug" => "default",
- "crypto-mdebug-backtrace" => "default",
- "demos" => "default",
- "egd" => "option",
- "external-tests" => "default",
- "fips" => "default",
- "fips-jitter" => "default",
- "fips-post" => "cascade",
- "fips-securitychecks" => "cascade",
- "fuzz-afl" => "default",
- "fuzz-libfuzzer" => "default",
- "h3demo" => "default",
- "hqinterop" => "default",
- "idea" => "option",
- "jitter" => "default",
- "md2" => "default",
- "mdc2" => "option",
- "msan" => "default",
- "pie" => "default",
- "rc5" => "default",
- "sm2" => "option",
- "sm3" => "option",
- "sm4" => "option",
- "ssl3" => "default",
- "ssl3-method" => "default",
- "sslkeylog" => "default",
- "tfo" => "default",
- "trace" => "default",
- "ubsan" => "default",
- "unit-test" => "default",
- "uplink" => "no uplink_arch",
- "weak-ssl-ciphers" => "default",
- "winstore" => "not-windows",
- "zlib" => "default",
- "zlib-dynamic" => "default",
- "zstd" => "default",
- "zstd-dynamic" => "default"
-);
-our %withargs = ();
-our %unified_info = (
- "attributes" => {
- "depends" => {
- "doc/man1/openssl-asn1parse.pod" => {
- "doc/man1/openssl-asn1parse.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-ca.pod" => {
- "doc/man1/openssl-ca.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-ciphers.pod" => {
- "doc/man1/openssl-ciphers.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-cmds.pod" => {
- "doc/man1/openssl-cmds.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-cmp.pod" => {
- "doc/man1/openssl-cmp.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-cms.pod" => {
- "doc/man1/openssl-cms.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-crl.pod" => {
- "doc/man1/openssl-crl.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-crl2pkcs7.pod" => {
- "doc/man1/openssl-crl2pkcs7.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-dgst.pod" => {
- "doc/man1/openssl-dgst.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-dhparam.pod" => {
- "doc/man1/openssl-dhparam.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-dsa.pod" => {
- "doc/man1/openssl-dsa.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-dsaparam.pod" => {
- "doc/man1/openssl-dsaparam.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-ec.pod" => {
- "doc/man1/openssl-ec.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-ecparam.pod" => {
- "doc/man1/openssl-ecparam.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-enc.pod" => {
- "doc/man1/openssl-enc.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-engine.pod" => {
- "doc/man1/openssl-engine.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-errstr.pod" => {
- "doc/man1/openssl-errstr.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-fipsinstall.pod" => {
- "doc/man1/openssl-fipsinstall.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-gendsa.pod" => {
- "doc/man1/openssl-gendsa.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-genpkey.pod" => {
- "doc/man1/openssl-genpkey.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-genrsa.pod" => {
- "doc/man1/openssl-genrsa.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-info.pod" => {
- "doc/man1/openssl-info.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-kdf.pod" => {
- "doc/man1/openssl-kdf.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-list.pod" => {
- "doc/man1/openssl-list.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-mac.pod" => {
- "doc/man1/openssl-mac.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-nseq.pod" => {
- "doc/man1/openssl-nseq.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-ocsp.pod" => {
- "doc/man1/openssl-ocsp.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-passwd.pod" => {
- "doc/man1/openssl-passwd.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-pkcs12.pod" => {
- "doc/man1/openssl-pkcs12.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-pkcs7.pod" => {
- "doc/man1/openssl-pkcs7.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-pkcs8.pod" => {
- "doc/man1/openssl-pkcs8.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-pkey.pod" => {
- "doc/man1/openssl-pkey.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-pkeyparam.pod" => {
- "doc/man1/openssl-pkeyparam.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-pkeyutl.pod" => {
- "doc/man1/openssl-pkeyutl.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-prime.pod" => {
- "doc/man1/openssl-prime.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-rand.pod" => {
- "doc/man1/openssl-rand.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-rehash.pod" => {
- "doc/man1/openssl-rehash.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-req.pod" => {
- "doc/man1/openssl-req.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-rsa.pod" => {
- "doc/man1/openssl-rsa.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-rsautl.pod" => {
- "doc/man1/openssl-rsautl.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-s_client.pod" => {
- "doc/man1/openssl-s_client.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-s_server.pod" => {
- "doc/man1/openssl-s_server.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-s_time.pod" => {
- "doc/man1/openssl-s_time.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-sess_id.pod" => {
- "doc/man1/openssl-sess_id.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-skeyutl.pod" => {
- "doc/man1/openssl-skeyutl.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-smime.pod" => {
- "doc/man1/openssl-smime.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-speed.pod" => {
- "doc/man1/openssl-speed.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-spkac.pod" => {
- "doc/man1/openssl-spkac.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-srp.pod" => {
- "doc/man1/openssl-srp.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-storeutl.pod" => {
- "doc/man1/openssl-storeutl.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-ts.pod" => {
- "doc/man1/openssl-ts.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-verify.pod" => {
- "doc/man1/openssl-verify.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-version.pod" => {
- "doc/man1/openssl-version.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man1/openssl-x509.pod" => {
- "doc/man1/openssl-x509.pod.in" => {
- "pod" => "1"
- }
- },
- "doc/man7/openssl_user_macros.pod" => {
- "doc/man7/openssl_user_macros.pod.in" => {
- "pod" => "1"
- }
- },
- "providers/libcommon.a" => {
- "libcrypto" => {
- "weak" => "1"
- }
- }
- },
- "generate" => {
- "exporters/OpenSSLConfig.cmake" => {
- "exporter" => "cmake"
- },
- "exporters/OpenSSLConfigVersion.cmake" => {
- "exporter" => "cmake"
- },
- "exporters/libcrypto.pc" => {
- "exporter" => "pkg-config"
- },
- "exporters/libssl.pc" => {
- "exporter" => "pkg-config"
- },
- "exporters/openssl.pc" => {
- "exporter" => "pkg-config"
- },
- "include/openssl/configuration.h" => {
- "skip" => "1"
- }
- },
- "libraries" => {
- "apps/libapps.a" => {
- "noinst" => "1"
- },
- "providers/libcommon.a" => {
- "noinst" => "1"
- },
- "providers/libdefault.a" => {
- "noinst" => "1"
- },
- "providers/liblegacy.a" => {
- "noinst" => "1"
- },
- "providers/libtemplate.a" => {
- "noinst" => "1"
- },
- "test/libtestutil.a" => {
- "has_main" => "1",
- "noinst" => "1"
- }
- },
- "modules" => {
- "engines/capi" => {
- "engine" => "1"
- },
- "engines/dasync" => {
- "engine" => "1",
- "noinst" => "1"
- },
- "engines/devcrypto" => {
- "engine" => "1"
- },
- "engines/loader_attic" => {
- "engine" => "1"
- },
- "engines/ossltest" => {
- "engine" => "1",
- "noinst" => "1"
- },
- "engines/padlock" => {
- "engine" => "1"
- },
- "test/p_minimal" => {
- "noinst" => "1"
- },
- "test/p_test" => {
- "noinst" => "1"
- }
- },
- "programs" => {
- "fuzz/acert-test" => {
- "noinst" => "1"
- },
- "fuzz/asn1-test" => {
- "noinst" => "1"
- },
- "fuzz/asn1parse-test" => {
- "noinst" => "1"
- },
- "fuzz/bignum-test" => {
- "noinst" => "1"
- },
- "fuzz/bndiv-test" => {
- "noinst" => "1"
- },
- "fuzz/client-test" => {
- "noinst" => "1"
- },
- "fuzz/cmp-test" => {
- "noinst" => "1"
- },
- "fuzz/cms-test" => {
- "noinst" => "1"
- },
- "fuzz/conf-test" => {
- "noinst" => "1"
- },
- "fuzz/crl-test" => {
- "noinst" => "1"
- },
- "fuzz/ct-test" => {
- "noinst" => "1"
- },
- "fuzz/decoder-test" => {
- "noinst" => "1"
- },
- "fuzz/dtlsclient-test" => {
- "noinst" => "1"
- },
- "fuzz/dtlsserver-test" => {
- "noinst" => "1"
- },
- "fuzz/hashtable-test" => {
- "noinst" => "1"
- },
- "fuzz/ml-dsa-test" => {
- "noinst" => "1"
- },
- "fuzz/ml-kem-test" => {
- "noinst" => "1"
- },
- "fuzz/pem-test" => {
- "noinst" => "1"
- },
- "fuzz/provider-test" => {
- "noinst" => "1"
- },
- "fuzz/punycode-test" => {
- "noinst" => "1"
- },
- "fuzz/quic-client-test" => {
- "noinst" => "1"
- },
- "fuzz/quic-lcidm-test" => {
- "noinst" => "1"
- },
- "fuzz/quic-rcidm-test" => {
- "noinst" => "1"
- },
- "fuzz/quic-server-test" => {
- "noinst" => "1"
- },
- "fuzz/quic-srtm-test" => {
- "noinst" => "1"
- },
- "fuzz/server-test" => {
- "noinst" => "1"
- },
- "fuzz/slh-dsa-test" => {
- "noinst" => "1"
- },
- "fuzz/smime-test" => {
- "noinst" => "1"
- },
- "fuzz/v3name-test" => {
- "noinst" => "1"
- },
- "fuzz/x509-test" => {
- "noinst" => "1"
- },
- "test/aborttest" => {
- "noinst" => "1"
- },
- "test/aesgcmtest" => {
- "noinst" => "1"
- },
- "test/afalgtest" => {
- "noinst" => "1"
- },
- "test/algorithmid_test" => {
- "noinst" => "1"
- },
- "test/asn1_decode_test" => {
- "noinst" => "1"
- },
- "test/asn1_dsa_internal_test" => {
- "noinst" => "1"
- },
- "test/asn1_encode_test" => {
- "noinst" => "1"
- },
- "test/asn1_internal_test" => {
- "noinst" => "1"
- },
- "test/asn1_stable_parse_test" => {
- "noinst" => "1"
- },
- "test/asn1_string_table_test" => {
- "noinst" => "1"
- },
- "test/asn1_time_test" => {
- "noinst" => "1"
- },
- "test/asynciotest" => {
- "noinst" => "1"
- },
- "test/asynctest" => {
- "noinst" => "1"
- },
- "test/bad_dtls_test" => {
- "noinst" => "1"
- },
- "test/bftest" => {
- "noinst" => "1"
- },
- "test/bio_addr_test" => {
- "noinst" => "1"
- },
- "test/bio_base64_test" => {
- "noinst" => "1"
- },
- "test/bio_callback_test" => {
- "noinst" => "1"
- },
- "test/bio_core_test" => {
- "noinst" => "1"
- },
- "test/bio_dgram_test" => {
- "noinst" => "1"
- },
- "test/bio_enc_test" => {
- "noinst" => "1"
- },
- "test/bio_memleak_test" => {
- "noinst" => "1"
- },
- "test/bio_meth_test" => {
- "noinst" => "1"
- },
- "test/bio_prefix_text" => {
- "noinst" => "1"
- },
- "test/bio_pw_callback_test" => {
- "noinst" => "1"
- },
- "test/bio_readbuffer_test" => {
- "noinst" => "1"
- },
- "test/bio_tfo_test" => {
- "noinst" => "1"
- },
- "test/bioprinttest" => {
- "noinst" => "1"
- },
- "test/bn_internal_test" => {
- "noinst" => "1"
- },
- "test/bntest" => {
- "noinst" => "1"
- },
- "test/build_wincrypt_test" => {
- "noinst" => "1"
- },
- "test/buildtest_c_aes" => {
- "noinst" => "1"
- },
- "test/buildtest_c_asn1" => {
- "noinst" => "1"
- },
- "test/buildtest_c_asn1t" => {
- "noinst" => "1"
- },
- "test/buildtest_c_async" => {
- "noinst" => "1"
- },
- "test/buildtest_c_bio" => {
- "noinst" => "1"
- },
- "test/buildtest_c_blowfish" => {
- "noinst" => "1"
- },
- "test/buildtest_c_bn" => {
- "noinst" => "1"
- },
- "test/buildtest_c_buffer" => {
- "noinst" => "1"
- },
- "test/buildtest_c_byteorder" => {
- "noinst" => "1"
- },
- "test/buildtest_c_camellia" => {
- "noinst" => "1"
- },
- "test/buildtest_c_cast" => {
- "noinst" => "1"
- },
- "test/buildtest_c_cmac" => {
- "noinst" => "1"
- },
- "test/buildtest_c_cmp" => {
- "noinst" => "1"
- },
- "test/buildtest_c_cmp_util" => {
- "noinst" => "1"
- },
- "test/buildtest_c_cms" => {
- "noinst" => "1"
- },
- "test/buildtest_c_comp" => {
- "noinst" => "1"
- },
- "test/buildtest_c_conf" => {
- "noinst" => "1"
- },
- "test/buildtest_c_conf_api" => {
- "noinst" => "1"
- },
- "test/buildtest_c_configuration" => {
- "noinst" => "1"
- },
- "test/buildtest_c_conftypes" => {
- "noinst" => "1"
- },
- "test/buildtest_c_core" => {
- "noinst" => "1"
- },
- "test/buildtest_c_core_dispatch" => {
- "noinst" => "1"
- },
- "test/buildtest_c_core_names" => {
- "noinst" => "1"
- },
- "test/buildtest_c_core_object" => {
- "noinst" => "1"
- },
- "test/buildtest_c_crmf" => {
- "noinst" => "1"
- },
- "test/buildtest_c_crypto" => {
- "noinst" => "1"
- },
- "test/buildtest_c_cryptoerr_legacy" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ct" => {
- "noinst" => "1"
- },
- "test/buildtest_c_decoder" => {
- "noinst" => "1"
- },
- "test/buildtest_c_des" => {
- "noinst" => "1"
- },
- "test/buildtest_c_dh" => {
- "noinst" => "1"
- },
- "test/buildtest_c_dsa" => {
- "noinst" => "1"
- },
- "test/buildtest_c_dtls1" => {
- "noinst" => "1"
- },
- "test/buildtest_c_e_os2" => {
- "noinst" => "1"
- },
- "test/buildtest_c_e_ostime" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ebcdic" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ec" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ecdh" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ecdsa" => {
- "noinst" => "1"
- },
- "test/buildtest_c_encoder" => {
- "noinst" => "1"
- },
- "test/buildtest_c_engine" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ess" => {
- "noinst" => "1"
- },
- "test/buildtest_c_evp" => {
- "noinst" => "1"
- },
- "test/buildtest_c_fips_names" => {
- "noinst" => "1"
- },
- "test/buildtest_c_fipskey" => {
- "noinst" => "1"
- },
- "test/buildtest_c_hmac" => {
- "noinst" => "1"
- },
- "test/buildtest_c_hpke" => {
- "noinst" => "1"
- },
- "test/buildtest_c_http" => {
- "noinst" => "1"
- },
- "test/buildtest_c_indicator" => {
- "noinst" => "1"
- },
- "test/buildtest_c_kdf" => {
- "noinst" => "1"
- },
- "test/buildtest_c_lhash" => {
- "noinst" => "1"
- },
- "test/buildtest_c_macros" => {
- "noinst" => "1"
- },
- "test/buildtest_c_md4" => {
- "noinst" => "1"
- },
- "test/buildtest_c_md5" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ml_kem" => {
- "noinst" => "1"
- },
- "test/buildtest_c_modes" => {
- "noinst" => "1"
- },
- "test/buildtest_c_obj_mac" => {
- "noinst" => "1"
- },
- "test/buildtest_c_objects" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ocsp" => {
- "noinst" => "1"
- },
- "test/buildtest_c_opensslv" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ossl_typ" => {
- "noinst" => "1"
- },
- "test/buildtest_c_param_build" => {
- "noinst" => "1"
- },
- "test/buildtest_c_params" => {
- "noinst" => "1"
- },
- "test/buildtest_c_pem" => {
- "noinst" => "1"
- },
- "test/buildtest_c_pem2" => {
- "noinst" => "1"
- },
- "test/buildtest_c_pkcs12" => {
- "noinst" => "1"
- },
- "test/buildtest_c_pkcs7" => {
- "noinst" => "1"
- },
- "test/buildtest_c_prov_ssl" => {
- "noinst" => "1"
- },
- "test/buildtest_c_provider" => {
- "noinst" => "1"
- },
- "test/buildtest_c_quic" => {
- "noinst" => "1"
- },
- "test/buildtest_c_rand" => {
- "noinst" => "1"
- },
- "test/buildtest_c_rc2" => {
- "noinst" => "1"
- },
- "test/buildtest_c_rc4" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ripemd" => {
- "noinst" => "1"
- },
- "test/buildtest_c_rsa" => {
- "noinst" => "1"
- },
- "test/buildtest_c_safestack" => {
- "noinst" => "1"
- },
- "test/buildtest_c_seed" => {
- "noinst" => "1"
- },
- "test/buildtest_c_self_test" => {
- "noinst" => "1"
- },
- "test/buildtest_c_sha" => {
- "noinst" => "1"
- },
- "test/buildtest_c_srp" => {
- "noinst" => "1"
- },
- "test/buildtest_c_srtp" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ssl" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ssl2" => {
- "noinst" => "1"
- },
- "test/buildtest_c_sslerr_legacy" => {
- "noinst" => "1"
- },
- "test/buildtest_c_stack" => {
- "noinst" => "1"
- },
- "test/buildtest_c_store" => {
- "noinst" => "1"
- },
- "test/buildtest_c_symhacks" => {
- "noinst" => "1"
- },
- "test/buildtest_c_thread" => {
- "noinst" => "1"
- },
- "test/buildtest_c_tls1" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ts" => {
- "noinst" => "1"
- },
- "test/buildtest_c_txt_db" => {
- "noinst" => "1"
- },
- "test/buildtest_c_types" => {
- "noinst" => "1"
- },
- "test/buildtest_c_ui" => {
- "noinst" => "1"
- },
- "test/buildtest_c_whrlpool" => {
- "noinst" => "1"
- },
- "test/buildtest_c_x509" => {
- "noinst" => "1"
- },
- "test/buildtest_c_x509_acert" => {
- "noinst" => "1"
- },
- "test/buildtest_c_x509_vfy" => {
- "noinst" => "1"
- },
- "test/buildtest_c_x509v3" => {
- "noinst" => "1"
- },
- "test/byteorder_test" => {
- "noinst" => "1"
- },
- "test/ca_internals_test" => {
- "noinst" => "1"
- },
- "test/casttest" => {
- "noinst" => "1"
- },
- "test/chacha_internal_test" => {
- "noinst" => "1"
- },
- "test/cipher_overhead_test" => {
- "noinst" => "1"
- },
- "test/cipherbytes_test" => {
- "noinst" => "1"
- },
- "test/cipherlist_test" => {
- "noinst" => "1"
- },
- "test/ciphername_test" => {
- "noinst" => "1"
- },
- "test/clienthellotest" => {
- "noinst" => "1"
- },
- "test/cmactest" => {
- "noinst" => "1"
- },
- "test/cmp_asn_test" => {
- "noinst" => "1"
- },
- "test/cmp_client_test" => {
- "noinst" => "1"
- },
- "test/cmp_ctx_test" => {
- "noinst" => "1"
- },
- "test/cmp_hdr_test" => {
- "noinst" => "1"
- },
- "test/cmp_msg_test" => {
- "noinst" => "1"
- },
- "test/cmp_protect_test" => {
- "noinst" => "1"
- },
- "test/cmp_server_test" => {
- "noinst" => "1"
- },
- "test/cmp_status_test" => {
- "noinst" => "1"
- },
- "test/cmp_vfy_test" => {
- "noinst" => "1"
- },
- "test/cmsapitest" => {
- "noinst" => "1"
- },
- "test/conf_include_test" => {
- "noinst" => "1"
- },
- "test/confdump" => {
- "noinst" => "1"
- },
- "test/constant_time_test" => {
- "noinst" => "1"
- },
- "test/context_internal_test" => {
- "noinst" => "1"
- },
- "test/crltest" => {
- "noinst" => "1"
- },
- "test/ct_test" => {
- "noinst" => "1"
- },
- "test/ctype_internal_test" => {
- "noinst" => "1"
- },
- "test/curve448_internal_test" => {
- "noinst" => "1"
- },
- "test/d2i_test" => {
- "noinst" => "1"
- },
- "test/danetest" => {
- "noinst" => "1"
- },
- "test/decoder_propq_test" => {
- "noinst" => "1"
- },
- "test/defltfips_test" => {
- "noinst" => "1"
- },
- "test/destest" => {
- "noinst" => "1"
- },
- "test/dhtest" => {
- "noinst" => "1"
- },
- "test/drbgtest" => {
- "noinst" => "1"
- },
- "test/dsa_no_digest_size_test" => {
- "noinst" => "1"
- },
- "test/dsatest" => {
- "noinst" => "1"
- },
- "test/dtls_mtu_test" => {
- "noinst" => "1"
- },
- "test/dtlstest" => {
- "noinst" => "1"
- },
- "test/dtlsv1listentest" => {
- "noinst" => "1"
- },
- "test/ec_internal_test" => {
- "noinst" => "1"
- },
- "test/ecdsatest" => {
- "noinst" => "1"
- },
- "test/ecstresstest" => {
- "noinst" => "1"
- },
- "test/ectest" => {
- "noinst" => "1"
- },
- "test/endecode_test" => {
- "noinst" => "1"
- },
- "test/endecoder_legacy_test" => {
- "noinst" => "1"
- },
- "test/enginetest" => {
- "noinst" => "1"
- },
- "test/errtest" => {
- "noinst" => "1"
- },
- "test/evp_byname_test" => {
- "noinst" => "1"
- },
- "test/evp_extra_test" => {
- "noinst" => "1"
- },
- "test/evp_extra_test2" => {
- "noinst" => "1"
- },
- "test/evp_fetch_prov_test" => {
- "noinst" => "1"
- },
- "test/evp_kdf_test" => {
- "noinst" => "1"
- },
- "test/evp_libctx_test" => {
- "noinst" => "1"
- },
- "test/evp_pkey_ctx_new_from_name" => {
- "noinst" => "1"
- },
- "test/evp_pkey_dhkem_test" => {
- "noinst" => "1"
- },
- "test/evp_pkey_dparams_test" => {
- "noinst" => "1"
- },
- "test/evp_pkey_provided_test" => {
- "noinst" => "1"
- },
- "test/evp_skey_test" => {
- "noinst" => "1"
- },
- "test/evp_test" => {
- "noinst" => "1"
- },
- "test/evp_xof_test" => {
- "noinst" => "1"
- },
- "test/exdatatest" => {
- "noinst" => "1"
- },
- "test/exptest" => {
- "noinst" => "1"
- },
- "test/ext_internal_test" => {
- "noinst" => "1"
- },
- "test/fatalerrtest" => {
- "noinst" => "1"
- },
- "test/ffc_internal_test" => {
- "noinst" => "1"
- },
- "test/fips_version_test" => {
- "noinst" => "1"
- },
- "test/gmdifftest" => {
- "noinst" => "1"
- },
- "test/hexstr_test" => {
- "noinst" => "1"
- },
- "test/hmactest" => {
- "noinst" => "1"
- },
- "test/hpke_test" => {
- "noinst" => "1"
- },
- "test/http_test" => {
- "noinst" => "1"
- },
- "test/ideatest" => {
- "noinst" => "1"
- },
- "test/igetest" => {
- "noinst" => "1"
- },
- "test/json_test" => {
- "noinst" => "1"
- },
- "test/keymgmt_internal_test" => {
- "noinst" => "1"
- },
- "test/lhash_test" => {
- "noinst" => "1"
- },
- "test/list_test" => {
- "noinst" => "1"
- },
- "test/localetest" => {
- "noinst" => "1"
- },
- "test/mdc2test" => {
- "noinst" => "1"
- },
- "test/membio_test" => {
- "noinst" => "1"
- },
- "test/memleaktest" => {
- "noinst" => "1"
- },
- "test/ml_dsa_test" => {
- "noinst" => "1"
- },
- "test/ml_kem_evp_extra_test" => {
- "noinst" => "1"
- },
- "test/ml_kem_internal_test" => {
- "noinst" => "1"
- },
- "test/modes_internal_test" => {
- "noinst" => "1"
- },
- "test/moduleloadtest" => {
- "noinst" => "1"
- },
- "test/namemap_internal_test" => {
- "noinst" => "1"
- },
- "test/nodefltctxtest" => {
- "noinst" => "1"
- },
- "test/ocspapitest" => {
- "noinst" => "1"
- },
- "test/ossl_store_test" => {
- "noinst" => "1"
- },
- "test/packettest" => {
- "noinst" => "1"
- },
- "test/pairwise_fail_test" => {
- "noinst" => "1"
- },
- "test/param_build_test" => {
- "noinst" => "1"
- },
- "test/params_api_test" => {
- "noinst" => "1"
- },
- "test/params_conversion_test" => {
- "noinst" => "1"
- },
- "test/params_test" => {
- "noinst" => "1"
- },
- "test/pbelutest" => {
- "noinst" => "1"
- },
- "test/pbetest" => {
- "noinst" => "1"
- },
- "test/pem_read_depr_test" => {
- "noinst" => "1"
- },
- "test/pemtest" => {
- "noinst" => "1"
- },
- "test/pkcs12_api_test" => {
- "noinst" => "1"
- },
- "test/pkcs12_format_test" => {
- "noinst" => "1"
- },
- "test/pkcs7_test" => {
- "noinst" => "1"
- },
- "test/pkey_meth_kdf_test" => {
- "noinst" => "1"
- },
- "test/pkey_meth_test" => {
- "noinst" => "1"
- },
- "test/poly1305_internal_test" => {
- "noinst" => "1"
- },
- "test/priority_queue_test" => {
- "noinst" => "1"
- },
- "test/property_test" => {
- "noinst" => "1"
- },
- "test/prov_config_test" => {
- "noinst" => "1"
- },
- "test/provfetchtest" => {
- "noinst" => "1"
- },
- "test/provider_default_search_path_test" => {
- "noinst" => "1"
- },
- "test/provider_fallback_test" => {
- "noinst" => "1"
- },
- "test/provider_internal_test" => {
- "noinst" => "1"
- },
- "test/provider_pkey_test" => {
- "noinst" => "1"
- },
- "test/provider_status_test" => {
- "noinst" => "1"
- },
- "test/provider_test" => {
- "noinst" => "1"
- },
- "test/punycode_test" => {
- "noinst" => "1"
- },
- "test/quic_ackm_test" => {
- "noinst" => "1"
- },
- "test/quic_cc_test" => {
- "noinst" => "1"
- },
- "test/quic_cfq_test" => {
- "noinst" => "1"
- },
- "test/quic_client_test" => {
- "noinst" => "1"
- },
- "test/quic_fc_test" => {
- "noinst" => "1"
- },
- "test/quic_fifd_test" => {
- "noinst" => "1"
- },
- "test/quic_lcidm_test" => {
- "noinst" => "1"
- },
- "test/quic_multistream_test" => {
- "noinst" => "1"
- },
- "test/quic_newcid_test" => {
- "noinst" => "1"
- },
- "test/quic_qlog_test" => {
- "noinst" => "1"
- },
- "test/quic_radix_test" => {
- "noinst" => "1"
- },
- "test/quic_rcidm_test" => {
- "noinst" => "1"
- },
- "test/quic_record_test" => {
- "noinst" => "1"
- },
- "test/quic_srt_gen_test" => {
- "noinst" => "1"
- },
- "test/quic_srtm_test" => {
- "noinst" => "1"
- },
- "test/quic_stream_test" => {
- "noinst" => "1"
- },
- "test/quic_tserver_test" => {
- "noinst" => "1"
- },
- "test/quic_txp_test" => {
- "noinst" => "1"
- },
- "test/quic_txpim_test" => {
- "noinst" => "1"
- },
- "test/quic_wire_test" => {
- "noinst" => "1"
- },
- "test/quicapitest" => {
- "noinst" => "1"
- },
- "test/quicfaultstest" => {
- "noinst" => "1"
- },
- "test/rand_status_test" => {
- "noinst" => "1"
- },
- "test/rand_test" => {
- "noinst" => "1"
- },
- "test/rc2test" => {
- "noinst" => "1"
- },
- "test/rc4test" => {
- "noinst" => "1"
- },
- "test/rc5test" => {
- "noinst" => "1"
- },
- "test/rdcpu_sanitytest" => {
- "noinst" => "1"
- },
- "test/recordlentest" => {
- "noinst" => "1"
- },
- "test/rpktest" => {
- "noinst" => "1"
- },
- "test/rsa_complex" => {
- "noinst" => "1"
- },
- "test/rsa_mp_test" => {
- "noinst" => "1"
- },
- "test/rsa_sp800_56b_test" => {
- "noinst" => "1"
- },
- "test/rsa_test" => {
- "noinst" => "1"
- },
- "test/rsa_x931_test" => {
- "noinst" => "1"
- },
- "test/safe_math_test" => {
- "noinst" => "1"
- },
- "test/sanitytest" => {
- "noinst" => "1"
- },
- "test/secmemtest" => {
- "noinst" => "1"
- },
- "test/servername_test" => {
- "noinst" => "1"
- },
- "test/sha_test" => {
- "noinst" => "1"
- },
- "test/shlibloadtest" => {
- "noinst" => "1"
- },
- "test/siphash_internal_test" => {
- "noinst" => "1"
- },
- "test/slh_dsa_test" => {
- "noinst" => "1"
- },
- "test/sparse_array_test" => {
- "noinst" => "1"
- },
- "test/srptest" => {
- "noinst" => "1"
- },
- "test/ssl_cert_table_internal_test" => {
- "noinst" => "1"
- },
- "test/ssl_ctx_test" => {
- "noinst" => "1"
- },
- "test/ssl_handshake_rtt_test" => {
- "noinst" => "1"
- },
- "test/ssl_old_test" => {
- "noinst" => "1"
- },
- "test/ssl_test" => {
- "noinst" => "1"
- },
- "test/ssl_test_ctx_test" => {
- "noinst" => "1"
- },
- "test/sslapitest" => {
- "noinst" => "1"
- },
- "test/sslbuffertest" => {
- "noinst" => "1"
- },
- "test/sslcorrupttest" => {
- "noinst" => "1"
- },
- "test/stack_test" => {
- "noinst" => "1"
- },
- "test/strtoultest" => {
- "noinst" => "1"
- },
- "test/sysdefaulttest" => {
- "noinst" => "1"
- },
- "test/test_test" => {
- "noinst" => "1"
- },
- "test/threadpool_test" => {
- "noinst" => "1"
- },
- "test/threadstest" => {
- "noinst" => "1"
- },
- "test/threadstest_fips" => {
- "noinst" => "1"
- },
- "test/time_offset_test" => {
- "noinst" => "1"
- },
- "test/time_test" => {
- "noinst" => "1"
- },
- "test/timing_load_creds" => {
- "noinst" => "1"
- },
- "test/tls13ccstest" => {
- "noinst" => "1"
- },
- "test/tls13encryptiontest" => {
- "noinst" => "1"
- },
- "test/tls13groupselection_test" => {
- "noinst" => "1"
- },
- "test/tls13secretstest" => {
- "noinst" => "1"
- },
- "test/trace_api_test" => {
- "noinst" => "1"
- },
- "test/uitest" => {
- "noinst" => "1"
- },
- "test/upcallstest" => {
- "noinst" => "1"
- },
- "test/user_property_test" => {
- "noinst" => "1"
- },
- "test/v3ext" => {
- "noinst" => "1"
- },
- "test/v3nametest" => {
- "noinst" => "1"
- },
- "test/verify_extra_test" => {
- "noinst" => "1"
- },
- "test/versions" => {
- "noinst" => "1"
- },
- "test/wpackettest" => {
- "noinst" => "1"
- },
- "test/x509_acert_test" => {
- "noinst" => "1"
- },
- "test/x509_check_cert_pkey_test" => {
- "noinst" => "1"
- },
- "test/x509_dup_cert_test" => {
- "noinst" => "1"
- },
- "test/x509_internal_test" => {
- "noinst" => "1"
- },
- "test/x509_load_cert_file_test" => {
- "noinst" => "1"
- },
- "test/x509_req_test" => {
- "noinst" => "1"
- },
- "test/x509_test" => {
- "noinst" => "1"
- },
- "test/x509_time_test" => {
- "noinst" => "1"
- },
- "test/x509aux" => {
- "noinst" => "1"
- }
- },
- "scripts" => {
- "apps/CA.pl" => {
- "misc" => "1"
- },
- "apps/tsget.pl" => {
- "linkname" => "tsget",
- "misc" => "1"
- },
- "util/shlib_wrap.sh" => {
- "noinst" => "1"
- },
- "util/wrap.pl" => {
- "noinst" => "1"
- }
- },
- "sources" => {
- "apps/openssl" => {
- "apps/openssl-bin-progs.o" => {
- "nocheck" => "1"
- }
- },
- "apps/openssl-bin-progs.o" => {
- "apps/progs.c" => {
- "nocheck" => "1"
- }
- },
- "apps/progs.o" => {}
- }
- },
- "defines" => {
- "engines/loader_attic" => [
- "OPENSSL_NO_PROVIDER_CODE"
- ],
- "engines/padlock" => [
- "PADLOCK_ASM"
- ],
- "libcrypto" => [
- "AES_ASM",
- "BSAES_ASM",
- "CMLL_ASM",
- "ECP_NISTZ256_ASM",
- "GHASH_ASM",
- "KECCAK1600_ASM",
- "MD5_ASM",
- "OPENSSL_BN_ASM_GF2m",
- "OPENSSL_BN_ASM_MONT",
- "OPENSSL_BN_ASM_MONT5",
- "OPENSSL_CPUID_OBJ",
- "OPENSSL_IA32_SSE2",
- "POLY1305_ASM",
- "RC4_ASM",
- "SHA1_ASM",
- "SHA256_ASM",
- "SHA512_ASM",
- "VPAES_ASM",
- "WHIRLPOOL_ASM",
- "X25519_ASM"
- ],
- "libssl" => [
- "AES_ASM"
- ],
- "providers/legacy" => [
- "OPENSSL_CPUID_OBJ"
- ],
- "providers/libcommon.a" => [
- "OPENSSL_BN_ASM_GF2m",
- "OPENSSL_BN_ASM_MONT",
- "OPENSSL_BN_ASM_MONT5",
- "OPENSSL_CPUID_OBJ",
- "OPENSSL_IA32_SSE2"
- ],
- "providers/libdefault.a" => [
- "AES_ASM",
- "BSAES_ASM",
- "ECP_NISTZ256_ASM",
- "KECCAK1600_ASM",
- "OPENSSL_CPUID_OBJ",
- "OPENSSL_IA32_SSE2",
- "SHA1_ASM",
- "SHA256_ASM",
- "SHA512_ASM",
- "VPAES_ASM",
- "X25519_ASM"
- ],
- "providers/libfips.a" => [
- "AES_ASM",
- "BSAES_ASM",
- "ECP_NISTZ256_ASM",
- "FIPS_MODULE",
- "GHASH_ASM",
- "KECCAK1600_ASM",
- "OPENSSL_BN_ASM_GF2m",
- "OPENSSL_BN_ASM_MONT",
- "OPENSSL_BN_ASM_MONT5",
- "OPENSSL_CPUID_OBJ",
- "OPENSSL_IA32_SSE2",
- "SHA1_ASM",
- "SHA256_ASM",
- "SHA512_ASM",
- "VPAES_ASM",
- "X25519_ASM"
- ],
- "providers/liblegacy.a" => [
- "AES_ASM",
- "BSAES_ASM",
- "ECP_NISTZ256_ASM",
- "KECCAK1600_ASM",
- "MD5_ASM",
- "RC4_ASM",
- "SHA1_ASM",
- "SHA256_ASM",
- "SHA512_ASM",
- "VPAES_ASM",
- "X25519_ASM"
- ],
- "test/endecode_test" => [
- "STATIC_LEGACY"
- ],
- "test/evp_extra_test" => [
- "STATIC_LEGACY"
- ],
- "test/provider_internal_test" => [
- "PROVIDER_INIT_FUNCTION_NAME=p_test_init"
- ],
- "test/provider_test" => [
- "PROVIDER_INIT_FUNCTION_NAME=p_test_init"
- ],
- "test/tls13secretstest" => [
- "OPENSSL_NO_KTLS"
- ]
- },
- "depends" => {
- "" => [
- "OpenSSLConfigVersion.cmake",
- "crypto/params_idx.c",
- "exporters/OpenSSLConfigVersion.cmake",
- "exporters/openssl.pc",
- "include/crypto/bn_conf.h",
- "include/crypto/dso_conf.h",
- "include/internal/param_names.h",
- "include/openssl/asn1.h",
- "include/openssl/asn1t.h",
- "include/openssl/bio.h",
- "include/openssl/cmp.h",
- "include/openssl/cms.h",
- "include/openssl/comp.h",
- "include/openssl/conf.h",
- "include/openssl/core_names.h",
- "include/openssl/crmf.h",
- "include/openssl/crypto.h",
- "include/openssl/ct.h",
- "include/openssl/err.h",
- "include/openssl/ess.h",
- "include/openssl/fipskey.h",
- "include/openssl/lhash.h",
- "include/openssl/ocsp.h",
- "include/openssl/opensslv.h",
- "include/openssl/pkcs12.h",
- "include/openssl/pkcs7.h",
- "include/openssl/safestack.h",
- "include/openssl/srp.h",
- "include/openssl/ssl.h",
- "include/openssl/ui.h",
- "include/openssl/x509.h",
- "include/openssl/x509_acert.h",
- "include/openssl/x509_vfy.h",
- "include/openssl/x509v3.h",
- "openssl.pc",
- "test/provider_internal_test.cnf"
- ],
- "OpenSSLConfig.cmake" => [
- "builddata.pm"
- ],
- "OpenSSLConfigVersion.cmake" => [
- "OpenSSLConfig.cmake",
- "builddata.pm"
- ],
- "apps/ca_internals_test-bin-ca.o" => [
- "apps/progs.h"
- ],
- "apps/lib/cmp_client_test-bin-cmp_mock_srv.o" => [
- "apps/progs.h"
- ],
- "apps/lib/openssl-bin-cmp_mock_srv.o" => [
- "apps/progs.h"
- ],
- "apps/openssl" => [
- "apps/libapps.a",
- "libssl"
- ],
- "apps/openssl-bin-asn1parse.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-ca.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-ciphers.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-cmp.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-cms.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-crl.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-crl2pkcs7.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-dgst.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-dhparam.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-dsa.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-dsaparam.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-ec.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-ecparam.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-enc.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-engine.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-errstr.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-fipsinstall.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-gendsa.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-genpkey.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-genrsa.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-info.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-kdf.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-list.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-mac.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-nseq.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-ocsp.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-openssl.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-passwd.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-pkcs12.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-pkcs7.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-pkcs8.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-pkey.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-pkeyparam.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-pkeyutl.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-prime.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-progs.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-rand.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-rehash.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-req.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-rsa.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-rsautl.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-s_client.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-s_server.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-s_time.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-sess_id.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-skeyutl.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-smime.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-speed.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-spkac.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-srp.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-storeutl.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-ts.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-verify.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-version.o" => [
- "apps/progs.h"
- ],
- "apps/openssl-bin-x509.o" => [
- "apps/progs.h"
- ],
- "apps/progs.c" => [
- "configdata.pm"
- ],
- "apps/progs.h" => [
- "apps/progs.c"
- ],
- "crypto/aes/aes-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/aes/aesni-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/aes/aest4-sparcv9.S" => [
- "crypto/perlasm/sparcv9_modes.pl"
- ],
- "crypto/aes/vpaes-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/bf/bf-586.S" => [
- "crypto/perlasm/cbc.pl",
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/bn/bn-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/bn/co-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/bn/x86-gf2m.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/bn/x86-mont.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/camellia/cmll-x86.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/camellia/cmllt4-sparcv9.S" => [
- "crypto/perlasm/sparcv9_modes.pl"
- ],
- "crypto/cast/cast-586.S" => [
- "crypto/perlasm/cbc.pl",
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/des/crypt586.S" => [
- "crypto/perlasm/cbc.pl",
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/des/des-586.S" => [
- "crypto/perlasm/cbc.pl",
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/libcrypto-lib-cversion.o" => [
- "crypto/buildinf.h"
- ],
- "crypto/libcrypto-lib-info.o" => [
- "crypto/buildinf.h"
- ],
- "crypto/libcrypto-shlib-cversion.o" => [
- "crypto/buildinf.h"
- ],
- "crypto/libcrypto-shlib-info.o" => [
- "crypto/buildinf.h"
- ],
- "crypto/params_idx.c" => [
- "util/perl|OpenSSL/paramnames.pm"
- ],
- "crypto/rc4/rc4-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/ripemd/rmd-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/sha/sha1-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/sha/sha256-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/sha/sha512-586.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/whrlpool/wp-mmx.S" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "crypto/x86cpuid.s" => [
- "crypto/perlasm/x86asm.pl"
- ],
- "doc/html/man1/CA.pl.html" => [
- "doc/man1/CA.pl.pod"
- ],
- "doc/html/man1/openssl-asn1parse.html" => [
- "doc/man1/openssl-asn1parse.pod"
- ],
- "doc/html/man1/openssl-ca.html" => [
- "doc/man1/openssl-ca.pod"
- ],
- "doc/html/man1/openssl-ciphers.html" => [
- "doc/man1/openssl-ciphers.pod"
- ],
- "doc/html/man1/openssl-cmds.html" => [
- "doc/man1/openssl-cmds.pod"
- ],
- "doc/html/man1/openssl-cmp.html" => [
- "doc/man1/openssl-cmp.pod"
- ],
- "doc/html/man1/openssl-cms.html" => [
- "doc/man1/openssl-cms.pod"
- ],
- "doc/html/man1/openssl-crl.html" => [
- "doc/man1/openssl-crl.pod"
- ],
- "doc/html/man1/openssl-crl2pkcs7.html" => [
- "doc/man1/openssl-crl2pkcs7.pod"
- ],
- "doc/html/man1/openssl-dgst.html" => [
- "doc/man1/openssl-dgst.pod"
- ],
- "doc/html/man1/openssl-dhparam.html" => [
- "doc/man1/openssl-dhparam.pod"
- ],
- "doc/html/man1/openssl-dsa.html" => [
- "doc/man1/openssl-dsa.pod"
- ],
- "doc/html/man1/openssl-dsaparam.html" => [
- "doc/man1/openssl-dsaparam.pod"
- ],
- "doc/html/man1/openssl-ec.html" => [
- "doc/man1/openssl-ec.pod"
- ],
- "doc/html/man1/openssl-ecparam.html" => [
- "doc/man1/openssl-ecparam.pod"
- ],
- "doc/html/man1/openssl-enc.html" => [
- "doc/man1/openssl-enc.pod"
- ],
- "doc/html/man1/openssl-engine.html" => [
- "doc/man1/openssl-engine.pod"
- ],
- "doc/html/man1/openssl-errstr.html" => [
- "doc/man1/openssl-errstr.pod"
- ],
- "doc/html/man1/openssl-fipsinstall.html" => [
- "doc/man1/openssl-fipsinstall.pod"
- ],
- "doc/html/man1/openssl-format-options.html" => [
- "doc/man1/openssl-format-options.pod"
- ],
- "doc/html/man1/openssl-gendsa.html" => [
- "doc/man1/openssl-gendsa.pod"
- ],
- "doc/html/man1/openssl-genpkey.html" => [
- "doc/man1/openssl-genpkey.pod"
- ],
- "doc/html/man1/openssl-genrsa.html" => [
- "doc/man1/openssl-genrsa.pod"
- ],
- "doc/html/man1/openssl-info.html" => [
- "doc/man1/openssl-info.pod"
- ],
- "doc/html/man1/openssl-kdf.html" => [
- "doc/man1/openssl-kdf.pod"
- ],
- "doc/html/man1/openssl-list.html" => [
- "doc/man1/openssl-list.pod"
- ],
- "doc/html/man1/openssl-mac.html" => [
- "doc/man1/openssl-mac.pod"
- ],
- "doc/html/man1/openssl-namedisplay-options.html" => [
- "doc/man1/openssl-namedisplay-options.pod"
- ],
- "doc/html/man1/openssl-nseq.html" => [
- "doc/man1/openssl-nseq.pod"
- ],
- "doc/html/man1/openssl-ocsp.html" => [
- "doc/man1/openssl-ocsp.pod"
- ],
- "doc/html/man1/openssl-passphrase-options.html" => [
- "doc/man1/openssl-passphrase-options.pod"
- ],
- "doc/html/man1/openssl-passwd.html" => [
- "doc/man1/openssl-passwd.pod"
- ],
- "doc/html/man1/openssl-pkcs12.html" => [
- "doc/man1/openssl-pkcs12.pod"
- ],
- "doc/html/man1/openssl-pkcs7.html" => [
- "doc/man1/openssl-pkcs7.pod"
- ],
- "doc/html/man1/openssl-pkcs8.html" => [
- "doc/man1/openssl-pkcs8.pod"
- ],
- "doc/html/man1/openssl-pkey.html" => [
- "doc/man1/openssl-pkey.pod"
- ],
- "doc/html/man1/openssl-pkeyparam.html" => [
- "doc/man1/openssl-pkeyparam.pod"
- ],
- "doc/html/man1/openssl-pkeyutl.html" => [
- "doc/man1/openssl-pkeyutl.pod"
- ],
- "doc/html/man1/openssl-prime.html" => [
- "doc/man1/openssl-prime.pod"
- ],
- "doc/html/man1/openssl-rand.html" => [
- "doc/man1/openssl-rand.pod"
- ],
- "doc/html/man1/openssl-rehash.html" => [
- "doc/man1/openssl-rehash.pod"
- ],
- "doc/html/man1/openssl-req.html" => [
- "doc/man1/openssl-req.pod"
- ],
- "doc/html/man1/openssl-rsa.html" => [
- "doc/man1/openssl-rsa.pod"
- ],
- "doc/html/man1/openssl-rsautl.html" => [
- "doc/man1/openssl-rsautl.pod"
- ],
- "doc/html/man1/openssl-s_client.html" => [
- "doc/man1/openssl-s_client.pod"
- ],
- "doc/html/man1/openssl-s_server.html" => [
- "doc/man1/openssl-s_server.pod"
- ],
- "doc/html/man1/openssl-s_time.html" => [
- "doc/man1/openssl-s_time.pod"
- ],
- "doc/html/man1/openssl-sess_id.html" => [
- "doc/man1/openssl-sess_id.pod"
- ],
- "doc/html/man1/openssl-skeyutl.html" => [
- "doc/man1/openssl-skeyutl.pod"
- ],
- "doc/html/man1/openssl-smime.html" => [
- "doc/man1/openssl-smime.pod"
- ],
- "doc/html/man1/openssl-speed.html" => [
- "doc/man1/openssl-speed.pod"
- ],
- "doc/html/man1/openssl-spkac.html" => [
- "doc/man1/openssl-spkac.pod"
- ],
- "doc/html/man1/openssl-srp.html" => [
- "doc/man1/openssl-srp.pod"
- ],
- "doc/html/man1/openssl-storeutl.html" => [
- "doc/man1/openssl-storeutl.pod"
- ],
- "doc/html/man1/openssl-ts.html" => [
- "doc/man1/openssl-ts.pod"
- ],
- "doc/html/man1/openssl-verification-options.html" => [
- "doc/man1/openssl-verification-options.pod"
- ],
- "doc/html/man1/openssl-verify.html" => [
- "doc/man1/openssl-verify.pod"
- ],
- "doc/html/man1/openssl-version.html" => [
- "doc/man1/openssl-version.pod"
- ],
- "doc/html/man1/openssl-x509.html" => [
- "doc/man1/openssl-x509.pod"
- ],
- "doc/html/man1/openssl.html" => [
- "doc/man1/openssl.pod"
- ],
- "doc/html/man1/tsget.html" => [
- "doc/man1/tsget.pod"
- ],
- "doc/html/man3/ADMISSIONS.html" => [
- "doc/man3/ADMISSIONS.pod"
- ],
- "doc/html/man3/ASN1_EXTERN_FUNCS.html" => [
- "doc/man3/ASN1_EXTERN_FUNCS.pod"
- ],
- "doc/html/man3/ASN1_INTEGER_get_int64.html" => [
- "doc/man3/ASN1_INTEGER_get_int64.pod"
- ],
- "doc/html/man3/ASN1_INTEGER_new.html" => [
- "doc/man3/ASN1_INTEGER_new.pod"
- ],
- "doc/html/man3/ASN1_ITEM_lookup.html" => [
- "doc/man3/ASN1_ITEM_lookup.pod"
- ],
- "doc/html/man3/ASN1_OBJECT_new.html" => [
- "doc/man3/ASN1_OBJECT_new.pod"
- ],
- "doc/html/man3/ASN1_STRING_TABLE_add.html" => [
- "doc/man3/ASN1_STRING_TABLE_add.pod"
- ],
- "doc/html/man3/ASN1_STRING_length.html" => [
- "doc/man3/ASN1_STRING_length.pod"
- ],
- "doc/html/man3/ASN1_STRING_new.html" => [
- "doc/man3/ASN1_STRING_new.pod"
- ],
- "doc/html/man3/ASN1_STRING_print_ex.html" => [
- "doc/man3/ASN1_STRING_print_ex.pod"
- ],
- "doc/html/man3/ASN1_TIME_set.html" => [
- "doc/man3/ASN1_TIME_set.pod"
- ],
- "doc/html/man3/ASN1_TYPE_get.html" => [
- "doc/man3/ASN1_TYPE_get.pod"
- ],
- "doc/html/man3/ASN1_aux_cb.html" => [
- "doc/man3/ASN1_aux_cb.pod"
- ],
- "doc/html/man3/ASN1_generate_nconf.html" => [
- "doc/man3/ASN1_generate_nconf.pod"
- ],
- "doc/html/man3/ASN1_item_d2i_bio.html" => [
- "doc/man3/ASN1_item_d2i_bio.pod"
- ],
- "doc/html/man3/ASN1_item_new.html" => [
- "doc/man3/ASN1_item_new.pod"
- ],
- "doc/html/man3/ASN1_item_sign.html" => [
- "doc/man3/ASN1_item_sign.pod"
- ],
- "doc/html/man3/ASYNC_WAIT_CTX_new.html" => [
- "doc/man3/ASYNC_WAIT_CTX_new.pod"
- ],
- "doc/html/man3/ASYNC_start_job.html" => [
- "doc/man3/ASYNC_start_job.pod"
- ],
- "doc/html/man3/BF_encrypt.html" => [
- "doc/man3/BF_encrypt.pod"
- ],
- "doc/html/man3/BIO_ADDR.html" => [
- "doc/man3/BIO_ADDR.pod"
- ],
- "doc/html/man3/BIO_ADDRINFO.html" => [
- "doc/man3/BIO_ADDRINFO.pod"
- ],
- "doc/html/man3/BIO_connect.html" => [
- "doc/man3/BIO_connect.pod"
- ],
- "doc/html/man3/BIO_ctrl.html" => [
- "doc/man3/BIO_ctrl.pod"
- ],
- "doc/html/man3/BIO_f_base64.html" => [
- "doc/man3/BIO_f_base64.pod"
- ],
- "doc/html/man3/BIO_f_buffer.html" => [
- "doc/man3/BIO_f_buffer.pod"
- ],
- "doc/html/man3/BIO_f_cipher.html" => [
- "doc/man3/BIO_f_cipher.pod"
- ],
- "doc/html/man3/BIO_f_md.html" => [
- "doc/man3/BIO_f_md.pod"
- ],
- "doc/html/man3/BIO_f_null.html" => [
- "doc/man3/BIO_f_null.pod"
- ],
- "doc/html/man3/BIO_f_prefix.html" => [
- "doc/man3/BIO_f_prefix.pod"
- ],
- "doc/html/man3/BIO_f_readbuffer.html" => [
- "doc/man3/BIO_f_readbuffer.pod"
- ],
- "doc/html/man3/BIO_f_ssl.html" => [
- "doc/man3/BIO_f_ssl.pod"
- ],
- "doc/html/man3/BIO_find_type.html" => [
- "doc/man3/BIO_find_type.pod"
- ],
- "doc/html/man3/BIO_get_data.html" => [
- "doc/man3/BIO_get_data.pod"
- ],
- "doc/html/man3/BIO_get_ex_new_index.html" => [
- "doc/man3/BIO_get_ex_new_index.pod"
- ],
- "doc/html/man3/BIO_get_rpoll_descriptor.html" => [
- "doc/man3/BIO_get_rpoll_descriptor.pod"
- ],
- "doc/html/man3/BIO_meth_new.html" => [
- "doc/man3/BIO_meth_new.pod"
- ],
- "doc/html/man3/BIO_new.html" => [
- "doc/man3/BIO_new.pod"
- ],
- "doc/html/man3/BIO_new_CMS.html" => [
- "doc/man3/BIO_new_CMS.pod"
- ],
- "doc/html/man3/BIO_parse_hostserv.html" => [
- "doc/man3/BIO_parse_hostserv.pod"
- ],
- "doc/html/man3/BIO_printf.html" => [
- "doc/man3/BIO_printf.pod"
- ],
- "doc/html/man3/BIO_push.html" => [
- "doc/man3/BIO_push.pod"
- ],
- "doc/html/man3/BIO_read.html" => [
- "doc/man3/BIO_read.pod"
- ],
- "doc/html/man3/BIO_s_accept.html" => [
- "doc/man3/BIO_s_accept.pod"
- ],
- "doc/html/man3/BIO_s_bio.html" => [
- "doc/man3/BIO_s_bio.pod"
- ],
- "doc/html/man3/BIO_s_connect.html" => [
- "doc/man3/BIO_s_connect.pod"
- ],
- "doc/html/man3/BIO_s_core.html" => [
- "doc/man3/BIO_s_core.pod"
- ],
- "doc/html/man3/BIO_s_datagram.html" => [
- "doc/man3/BIO_s_datagram.pod"
- ],
- "doc/html/man3/BIO_s_dgram_pair.html" => [
- "doc/man3/BIO_s_dgram_pair.pod"
- ],
- "doc/html/man3/BIO_s_fd.html" => [
- "doc/man3/BIO_s_fd.pod"
- ],
- "doc/html/man3/BIO_s_file.html" => [
- "doc/man3/BIO_s_file.pod"
- ],
- "doc/html/man3/BIO_s_mem.html" => [
- "doc/man3/BIO_s_mem.pod"
- ],
- "doc/html/man3/BIO_s_null.html" => [
- "doc/man3/BIO_s_null.pod"
- ],
- "doc/html/man3/BIO_s_socket.html" => [
- "doc/man3/BIO_s_socket.pod"
- ],
- "doc/html/man3/BIO_sendmmsg.html" => [
- "doc/man3/BIO_sendmmsg.pod"
- ],
- "doc/html/man3/BIO_set_callback.html" => [
- "doc/man3/BIO_set_callback.pod"
- ],
- "doc/html/man3/BIO_should_retry.html" => [
- "doc/man3/BIO_should_retry.pod"
- ],
- "doc/html/man3/BIO_socket_wait.html" => [
- "doc/man3/BIO_socket_wait.pod"
- ],
- "doc/html/man3/BN_BLINDING_new.html" => [
- "doc/man3/BN_BLINDING_new.pod"
- ],
- "doc/html/man3/BN_CTX_new.html" => [
- "doc/man3/BN_CTX_new.pod"
- ],
- "doc/html/man3/BN_CTX_start.html" => [
- "doc/man3/BN_CTX_start.pod"
- ],
- "doc/html/man3/BN_add.html" => [
- "doc/man3/BN_add.pod"
- ],
- "doc/html/man3/BN_add_word.html" => [
- "doc/man3/BN_add_word.pod"
- ],
- "doc/html/man3/BN_bn2bin.html" => [
- "doc/man3/BN_bn2bin.pod"
- ],
- "doc/html/man3/BN_cmp.html" => [
- "doc/man3/BN_cmp.pod"
- ],
- "doc/html/man3/BN_copy.html" => [
- "doc/man3/BN_copy.pod"
- ],
- "doc/html/man3/BN_generate_prime.html" => [
- "doc/man3/BN_generate_prime.pod"
- ],
- "doc/html/man3/BN_mod_exp_mont.html" => [
- "doc/man3/BN_mod_exp_mont.pod"
- ],
- "doc/html/man3/BN_mod_inverse.html" => [
- "doc/man3/BN_mod_inverse.pod"
- ],
- "doc/html/man3/BN_mod_mul_montgomery.html" => [
- "doc/man3/BN_mod_mul_montgomery.pod"
- ],
- "doc/html/man3/BN_mod_mul_reciprocal.html" => [
- "doc/man3/BN_mod_mul_reciprocal.pod"
- ],
- "doc/html/man3/BN_new.html" => [
- "doc/man3/BN_new.pod"
- ],
- "doc/html/man3/BN_num_bytes.html" => [
- "doc/man3/BN_num_bytes.pod"
- ],
- "doc/html/man3/BN_rand.html" => [
- "doc/man3/BN_rand.pod"
- ],
- "doc/html/man3/BN_security_bits.html" => [
- "doc/man3/BN_security_bits.pod"
- ],
- "doc/html/man3/BN_set_bit.html" => [
- "doc/man3/BN_set_bit.pod"
- ],
- "doc/html/man3/BN_swap.html" => [
- "doc/man3/BN_swap.pod"
- ],
- "doc/html/man3/BN_zero.html" => [
- "doc/man3/BN_zero.pod"
- ],
- "doc/html/man3/BUF_MEM_new.html" => [
- "doc/man3/BUF_MEM_new.pod"
- ],
- "doc/html/man3/CMAC_CTX.html" => [
- "doc/man3/CMAC_CTX.pod"
- ],
- "doc/html/man3/CMS_EncryptedData_decrypt.html" => [
- "doc/man3/CMS_EncryptedData_decrypt.pod"
- ],
- "doc/html/man3/CMS_EncryptedData_encrypt.html" => [
- "doc/man3/CMS_EncryptedData_encrypt.pod"
- ],
- "doc/html/man3/CMS_EnvelopedData_create.html" => [
- "doc/man3/CMS_EnvelopedData_create.pod"
- ],
- "doc/html/man3/CMS_add0_cert.html" => [
- "doc/man3/CMS_add0_cert.pod"
- ],
- "doc/html/man3/CMS_add1_recipient_cert.html" => [
- "doc/man3/CMS_add1_recipient_cert.pod"
- ],
- "doc/html/man3/CMS_add1_signer.html" => [
- "doc/man3/CMS_add1_signer.pod"
- ],
- "doc/html/man3/CMS_compress.html" => [
- "doc/man3/CMS_compress.pod"
- ],
- "doc/html/man3/CMS_data_create.html" => [
- "doc/man3/CMS_data_create.pod"
- ],
- "doc/html/man3/CMS_decrypt.html" => [
- "doc/man3/CMS_decrypt.pod"
- ],
- "doc/html/man3/CMS_digest_create.html" => [
- "doc/man3/CMS_digest_create.pod"
- ],
- "doc/html/man3/CMS_encrypt.html" => [
- "doc/man3/CMS_encrypt.pod"
- ],
- "doc/html/man3/CMS_final.html" => [
- "doc/man3/CMS_final.pod"
- ],
- "doc/html/man3/CMS_get0_RecipientInfos.html" => [
- "doc/man3/CMS_get0_RecipientInfos.pod"
- ],
- "doc/html/man3/CMS_get0_SignerInfos.html" => [
- "doc/man3/CMS_get0_SignerInfos.pod"
- ],
- "doc/html/man3/CMS_get0_type.html" => [
- "doc/man3/CMS_get0_type.pod"
- ],
- "doc/html/man3/CMS_get1_ReceiptRequest.html" => [
- "doc/man3/CMS_get1_ReceiptRequest.pod"
- ],
- "doc/html/man3/CMS_sign.html" => [
- "doc/man3/CMS_sign.pod"
- ],
- "doc/html/man3/CMS_sign_receipt.html" => [
- "doc/man3/CMS_sign_receipt.pod"
- ],
- "doc/html/man3/CMS_signed_get_attr.html" => [
- "doc/man3/CMS_signed_get_attr.pod"
- ],
- "doc/html/man3/CMS_uncompress.html" => [
- "doc/man3/CMS_uncompress.pod"
- ],
- "doc/html/man3/CMS_verify.html" => [
- "doc/man3/CMS_verify.pod"
- ],
- "doc/html/man3/CMS_verify_receipt.html" => [
- "doc/man3/CMS_verify_receipt.pod"
- ],
- "doc/html/man3/COMP_CTX_new.html" => [
- "doc/man3/COMP_CTX_new.pod"
- ],
- "doc/html/man3/CONF_modules_free.html" => [
- "doc/man3/CONF_modules_free.pod"
- ],
- "doc/html/man3/CONF_modules_load_file.html" => [
- "doc/man3/CONF_modules_load_file.pod"
- ],
- "doc/html/man3/CRYPTO_THREAD_run_once.html" => [
- "doc/man3/CRYPTO_THREAD_run_once.pod"
- ],
- "doc/html/man3/CRYPTO_get_ex_new_index.html" => [
- "doc/man3/CRYPTO_get_ex_new_index.pod"
- ],
- "doc/html/man3/CRYPTO_memcmp.html" => [
- "doc/man3/CRYPTO_memcmp.pod"
- ],
- "doc/html/man3/CTLOG_STORE_get0_log_by_id.html" => [
- "doc/man3/CTLOG_STORE_get0_log_by_id.pod"
- ],
- "doc/html/man3/CTLOG_STORE_new.html" => [
- "doc/man3/CTLOG_STORE_new.pod"
- ],
- "doc/html/man3/CTLOG_new.html" => [
- "doc/man3/CTLOG_new.pod"
- ],
- "doc/html/man3/CT_POLICY_EVAL_CTX_new.html" => [
- "doc/man3/CT_POLICY_EVAL_CTX_new.pod"
- ],
- "doc/html/man3/DEFINE_STACK_OF.html" => [
- "doc/man3/DEFINE_STACK_OF.pod"
- ],
- "doc/html/man3/DES_random_key.html" => [
- "doc/man3/DES_random_key.pod"
- ],
- "doc/html/man3/DH_generate_key.html" => [
- "doc/man3/DH_generate_key.pod"
- ],
- "doc/html/man3/DH_generate_parameters.html" => [
- "doc/man3/DH_generate_parameters.pod"
- ],
- "doc/html/man3/DH_get0_pqg.html" => [
- "doc/man3/DH_get0_pqg.pod"
- ],
- "doc/html/man3/DH_get_1024_160.html" => [
- "doc/man3/DH_get_1024_160.pod"
- ],
- "doc/html/man3/DH_meth_new.html" => [
- "doc/man3/DH_meth_new.pod"
- ],
- "doc/html/man3/DH_new.html" => [
- "doc/man3/DH_new.pod"
- ],
- "doc/html/man3/DH_new_by_nid.html" => [
- "doc/man3/DH_new_by_nid.pod"
- ],
- "doc/html/man3/DH_set_method.html" => [
- "doc/man3/DH_set_method.pod"
- ],
- "doc/html/man3/DH_size.html" => [
- "doc/man3/DH_size.pod"
- ],
- "doc/html/man3/DSA_SIG_new.html" => [
- "doc/man3/DSA_SIG_new.pod"
- ],
- "doc/html/man3/DSA_do_sign.html" => [
- "doc/man3/DSA_do_sign.pod"
- ],
- "doc/html/man3/DSA_dup_DH.html" => [
- "doc/man3/DSA_dup_DH.pod"
- ],
- "doc/html/man3/DSA_generate_key.html" => [
- "doc/man3/DSA_generate_key.pod"
- ],
- "doc/html/man3/DSA_generate_parameters.html" => [
- "doc/man3/DSA_generate_parameters.pod"
- ],
- "doc/html/man3/DSA_get0_pqg.html" => [
- "doc/man3/DSA_get0_pqg.pod"
- ],
- "doc/html/man3/DSA_meth_new.html" => [
- "doc/man3/DSA_meth_new.pod"
- ],
- "doc/html/man3/DSA_new.html" => [
- "doc/man3/DSA_new.pod"
- ],
- "doc/html/man3/DSA_set_method.html" => [
- "doc/man3/DSA_set_method.pod"
- ],
- "doc/html/man3/DSA_sign.html" => [
- "doc/man3/DSA_sign.pod"
- ],
- "doc/html/man3/DSA_size.html" => [
- "doc/man3/DSA_size.pod"
- ],
- "doc/html/man3/DTLS_get_data_mtu.html" => [
- "doc/man3/DTLS_get_data_mtu.pod"
- ],
- "doc/html/man3/DTLS_set_timer_cb.html" => [
- "doc/man3/DTLS_set_timer_cb.pod"
- ],
- "doc/html/man3/DTLSv1_get_timeout.html" => [
- "doc/man3/DTLSv1_get_timeout.pod"
- ],
- "doc/html/man3/DTLSv1_handle_timeout.html" => [
- "doc/man3/DTLSv1_handle_timeout.pod"
- ],
- "doc/html/man3/DTLSv1_listen.html" => [
- "doc/man3/DTLSv1_listen.pod"
- ],
- "doc/html/man3/ECDSA_SIG_new.html" => [
- "doc/man3/ECDSA_SIG_new.pod"
- ],
- "doc/html/man3/ECDSA_sign.html" => [
- "doc/man3/ECDSA_sign.pod"
- ],
- "doc/html/man3/ECPKParameters_print.html" => [
- "doc/man3/ECPKParameters_print.pod"
- ],
- "doc/html/man3/EC_GFp_simple_method.html" => [
- "doc/man3/EC_GFp_simple_method.pod"
- ],
- "doc/html/man3/EC_GROUP_copy.html" => [
- "doc/man3/EC_GROUP_copy.pod"
- ],
- "doc/html/man3/EC_GROUP_new.html" => [
- "doc/man3/EC_GROUP_new.pod"
- ],
- "doc/html/man3/EC_KEY_get_enc_flags.html" => [
- "doc/man3/EC_KEY_get_enc_flags.pod"
- ],
- "doc/html/man3/EC_KEY_new.html" => [
- "doc/man3/EC_KEY_new.pod"
- ],
- "doc/html/man3/EC_POINT_add.html" => [
- "doc/man3/EC_POINT_add.pod"
- ],
- "doc/html/man3/EC_POINT_new.html" => [
- "doc/man3/EC_POINT_new.pod"
- ],
- "doc/html/man3/ENGINE_add.html" => [
- "doc/man3/ENGINE_add.pod"
- ],
- "doc/html/man3/ERR_GET_LIB.html" => [
- "doc/man3/ERR_GET_LIB.pod"
- ],
- "doc/html/man3/ERR_clear_error.html" => [
- "doc/man3/ERR_clear_error.pod"
- ],
- "doc/html/man3/ERR_error_string.html" => [
- "doc/man3/ERR_error_string.pod"
- ],
- "doc/html/man3/ERR_get_error.html" => [
- "doc/man3/ERR_get_error.pod"
- ],
- "doc/html/man3/ERR_load_crypto_strings.html" => [
- "doc/man3/ERR_load_crypto_strings.pod"
- ],
- "doc/html/man3/ERR_load_strings.html" => [
- "doc/man3/ERR_load_strings.pod"
- ],
- "doc/html/man3/ERR_new.html" => [
- "doc/man3/ERR_new.pod"
- ],
- "doc/html/man3/ERR_print_errors.html" => [
- "doc/man3/ERR_print_errors.pod"
- ],
- "doc/html/man3/ERR_put_error.html" => [
- "doc/man3/ERR_put_error.pod"
- ],
- "doc/html/man3/ERR_remove_state.html" => [
- "doc/man3/ERR_remove_state.pod"
- ],
- "doc/html/man3/ERR_set_mark.html" => [
- "doc/man3/ERR_set_mark.pod"
- ],
- "doc/html/man3/EVP_ASYM_CIPHER_free.html" => [
- "doc/man3/EVP_ASYM_CIPHER_free.pod"
- ],
- "doc/html/man3/EVP_BytesToKey.html" => [
- "doc/man3/EVP_BytesToKey.pod"
- ],
- "doc/html/man3/EVP_CIPHER_CTX_get_cipher_data.html" => [
- "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod"
- ],
- "doc/html/man3/EVP_CIPHER_CTX_get_original_iv.html" => [
- "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod"
- ],
- "doc/html/man3/EVP_CIPHER_meth_new.html" => [
- "doc/man3/EVP_CIPHER_meth_new.pod"
- ],
- "doc/html/man3/EVP_DigestInit.html" => [
- "doc/man3/EVP_DigestInit.pod"
- ],
- "doc/html/man3/EVP_DigestSignInit.html" => [
- "doc/man3/EVP_DigestSignInit.pod"
- ],
- "doc/html/man3/EVP_DigestVerifyInit.html" => [
- "doc/man3/EVP_DigestVerifyInit.pod"
- ],
- "doc/html/man3/EVP_EncodeInit.html" => [
- "doc/man3/EVP_EncodeInit.pod"
- ],
- "doc/html/man3/EVP_EncryptInit.html" => [
- "doc/man3/EVP_EncryptInit.pod"
- ],
- "doc/html/man3/EVP_KDF.html" => [
- "doc/man3/EVP_KDF.pod"
- ],
- "doc/html/man3/EVP_KEM_free.html" => [
- "doc/man3/EVP_KEM_free.pod"
- ],
- "doc/html/man3/EVP_KEYEXCH_free.html" => [
- "doc/man3/EVP_KEYEXCH_free.pod"
- ],
- "doc/html/man3/EVP_KEYMGMT.html" => [
- "doc/man3/EVP_KEYMGMT.pod"
- ],
- "doc/html/man3/EVP_MAC.html" => [
- "doc/man3/EVP_MAC.pod"
- ],
- "doc/html/man3/EVP_MD_meth_new.html" => [
- "doc/man3/EVP_MD_meth_new.pod"
- ],
- "doc/html/man3/EVP_OpenInit.html" => [
- "doc/man3/EVP_OpenInit.pod"
- ],
- "doc/html/man3/EVP_PBE_CipherInit.html" => [
- "doc/man3/EVP_PBE_CipherInit.pod"
- ],
- "doc/html/man3/EVP_PKEY2PKCS8.html" => [
- "doc/man3/EVP_PKEY2PKCS8.pod"
- ],
- "doc/html/man3/EVP_PKEY_ASN1_METHOD.html" => [
- "doc/man3/EVP_PKEY_ASN1_METHOD.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_ctrl.html" => [
- "doc/man3/EVP_PKEY_CTX_ctrl.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_get0_libctx.html" => [
- "doc/man3/EVP_PKEY_CTX_get0_libctx.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_get0_pkey.html" => [
- "doc/man3/EVP_PKEY_CTX_get0_pkey.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_get_algor.html" => [
- "doc/man3/EVP_PKEY_CTX_get_algor.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_new.html" => [
- "doc/man3/EVP_PKEY_CTX_new.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html" => [
- "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_hkdf_md.html" => [
- "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_params.html" => [
- "doc/man3/EVP_PKEY_CTX_set_params.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html" => [
- "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_scrypt_N.html" => [
- "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html" => [
- "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod"
- ],
- "doc/html/man3/EVP_PKEY_asn1_get_count.html" => [
- "doc/man3/EVP_PKEY_asn1_get_count.pod"
- ],
- "doc/html/man3/EVP_PKEY_check.html" => [
- "doc/man3/EVP_PKEY_check.pod"
- ],
- "doc/html/man3/EVP_PKEY_copy_parameters.html" => [
- "doc/man3/EVP_PKEY_copy_parameters.pod"
- ],
- "doc/html/man3/EVP_PKEY_decapsulate.html" => [
- "doc/man3/EVP_PKEY_decapsulate.pod"
- ],
- "doc/html/man3/EVP_PKEY_decrypt.html" => [
- "doc/man3/EVP_PKEY_decrypt.pod"
- ],
- "doc/html/man3/EVP_PKEY_derive.html" => [
- "doc/man3/EVP_PKEY_derive.pod"
- ],
- "doc/html/man3/EVP_PKEY_digestsign_supports_digest.html" => [
- "doc/man3/EVP_PKEY_digestsign_supports_digest.pod"
- ],
- "doc/html/man3/EVP_PKEY_encapsulate.html" => [
- "doc/man3/EVP_PKEY_encapsulate.pod"
- ],
- "doc/html/man3/EVP_PKEY_encrypt.html" => [
- "doc/man3/EVP_PKEY_encrypt.pod"
- ],
- "doc/html/man3/EVP_PKEY_fromdata.html" => [
- "doc/man3/EVP_PKEY_fromdata.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_attr.html" => [
- "doc/man3/EVP_PKEY_get_attr.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_default_digest_nid.html" => [
- "doc/man3/EVP_PKEY_get_default_digest_nid.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_field_type.html" => [
- "doc/man3/EVP_PKEY_get_field_type.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_group_name.html" => [
- "doc/man3/EVP_PKEY_get_group_name.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_size.html" => [
- "doc/man3/EVP_PKEY_get_size.pod"
- ],
- "doc/html/man3/EVP_PKEY_gettable_params.html" => [
- "doc/man3/EVP_PKEY_gettable_params.pod"
- ],
- "doc/html/man3/EVP_PKEY_is_a.html" => [
- "doc/man3/EVP_PKEY_is_a.pod"
- ],
- "doc/html/man3/EVP_PKEY_keygen.html" => [
- "doc/man3/EVP_PKEY_keygen.pod"
- ],
- "doc/html/man3/EVP_PKEY_meth_get_count.html" => [
- "doc/man3/EVP_PKEY_meth_get_count.pod"
- ],
- "doc/html/man3/EVP_PKEY_meth_new.html" => [
- "doc/man3/EVP_PKEY_meth_new.pod"
- ],
- "doc/html/man3/EVP_PKEY_new.html" => [
- "doc/man3/EVP_PKEY_new.pod"
- ],
- "doc/html/man3/EVP_PKEY_print_private.html" => [
- "doc/man3/EVP_PKEY_print_private.pod"
- ],
- "doc/html/man3/EVP_PKEY_set1_RSA.html" => [
- "doc/man3/EVP_PKEY_set1_RSA.pod"
- ],
- "doc/html/man3/EVP_PKEY_set1_encoded_public_key.html" => [
- "doc/man3/EVP_PKEY_set1_encoded_public_key.pod"
- ],
- "doc/html/man3/EVP_PKEY_set_type.html" => [
- "doc/man3/EVP_PKEY_set_type.pod"
- ],
- "doc/html/man3/EVP_PKEY_settable_params.html" => [
- "doc/man3/EVP_PKEY_settable_params.pod"
- ],
- "doc/html/man3/EVP_PKEY_sign.html" => [
- "doc/man3/EVP_PKEY_sign.pod"
- ],
- "doc/html/man3/EVP_PKEY_todata.html" => [
- "doc/man3/EVP_PKEY_todata.pod"
- ],
- "doc/html/man3/EVP_PKEY_verify.html" => [
- "doc/man3/EVP_PKEY_verify.pod"
- ],
- "doc/html/man3/EVP_PKEY_verify_recover.html" => [
- "doc/man3/EVP_PKEY_verify_recover.pod"
- ],
- "doc/html/man3/EVP_RAND.html" => [
- "doc/man3/EVP_RAND.pod"
- ],
- "doc/html/man3/EVP_SIGNATURE.html" => [
- "doc/man3/EVP_SIGNATURE.pod"
- ],
- "doc/html/man3/EVP_SKEY.html" => [
- "doc/man3/EVP_SKEY.pod"
- ],
- "doc/html/man3/EVP_SKEYMGMT.html" => [
- "doc/man3/EVP_SKEYMGMT.pod"
- ],
- "doc/html/man3/EVP_SealInit.html" => [
- "doc/man3/EVP_SealInit.pod"
- ],
- "doc/html/man3/EVP_SignInit.html" => [
- "doc/man3/EVP_SignInit.pod"
- ],
- "doc/html/man3/EVP_VerifyInit.html" => [
- "doc/man3/EVP_VerifyInit.pod"
- ],
- "doc/html/man3/EVP_aes_128_gcm.html" => [
- "doc/man3/EVP_aes_128_gcm.pod"
- ],
- "doc/html/man3/EVP_aria_128_gcm.html" => [
- "doc/man3/EVP_aria_128_gcm.pod"
- ],
- "doc/html/man3/EVP_bf_cbc.html" => [
- "doc/man3/EVP_bf_cbc.pod"
- ],
- "doc/html/man3/EVP_blake2b512.html" => [
- "doc/man3/EVP_blake2b512.pod"
- ],
- "doc/html/man3/EVP_camellia_128_ecb.html" => [
- "doc/man3/EVP_camellia_128_ecb.pod"
- ],
- "doc/html/man3/EVP_cast5_cbc.html" => [
- "doc/man3/EVP_cast5_cbc.pod"
- ],
- "doc/html/man3/EVP_chacha20.html" => [
- "doc/man3/EVP_chacha20.pod"
- ],
- "doc/html/man3/EVP_des_cbc.html" => [
- "doc/man3/EVP_des_cbc.pod"
- ],
- "doc/html/man3/EVP_desx_cbc.html" => [
- "doc/man3/EVP_desx_cbc.pod"
- ],
- "doc/html/man3/EVP_idea_cbc.html" => [
- "doc/man3/EVP_idea_cbc.pod"
- ],
- "doc/html/man3/EVP_md2.html" => [
- "doc/man3/EVP_md2.pod"
- ],
- "doc/html/man3/EVP_md4.html" => [
- "doc/man3/EVP_md4.pod"
- ],
- "doc/html/man3/EVP_md5.html" => [
- "doc/man3/EVP_md5.pod"
- ],
- "doc/html/man3/EVP_mdc2.html" => [
- "doc/man3/EVP_mdc2.pod"
- ],
- "doc/html/man3/EVP_rc2_cbc.html" => [
- "doc/man3/EVP_rc2_cbc.pod"
- ],
- "doc/html/man3/EVP_rc4.html" => [
- "doc/man3/EVP_rc4.pod"
- ],
- "doc/html/man3/EVP_rc5_32_12_16_cbc.html" => [
- "doc/man3/EVP_rc5_32_12_16_cbc.pod"
- ],
- "doc/html/man3/EVP_ripemd160.html" => [
- "doc/man3/EVP_ripemd160.pod"
- ],
- "doc/html/man3/EVP_seed_cbc.html" => [
- "doc/man3/EVP_seed_cbc.pod"
- ],
- "doc/html/man3/EVP_set_default_properties.html" => [
- "doc/man3/EVP_set_default_properties.pod"
- ],
- "doc/html/man3/EVP_sha1.html" => [
- "doc/man3/EVP_sha1.pod"
- ],
- "doc/html/man3/EVP_sha224.html" => [
- "doc/man3/EVP_sha224.pod"
- ],
- "doc/html/man3/EVP_sha3_224.html" => [
- "doc/man3/EVP_sha3_224.pod"
- ],
- "doc/html/man3/EVP_sm3.html" => [
- "doc/man3/EVP_sm3.pod"
- ],
- "doc/html/man3/EVP_sm4_cbc.html" => [
- "doc/man3/EVP_sm4_cbc.pod"
- ],
- "doc/html/man3/EVP_whirlpool.html" => [
- "doc/man3/EVP_whirlpool.pod"
- ],
- "doc/html/man3/GENERAL_NAME.html" => [
- "doc/man3/GENERAL_NAME.pod"
- ],
- "doc/html/man3/HMAC.html" => [
- "doc/man3/HMAC.pod"
- ],
- "doc/html/man3/MD5.html" => [
- "doc/man3/MD5.pod"
- ],
- "doc/html/man3/MDC2_Init.html" => [
- "doc/man3/MDC2_Init.pod"
- ],
- "doc/html/man3/NCONF_new_ex.html" => [
- "doc/man3/NCONF_new_ex.pod"
- ],
- "doc/html/man3/OBJ_nid2obj.html" => [
- "doc/man3/OBJ_nid2obj.pod"
- ],
- "doc/html/man3/OCSP_REQUEST_new.html" => [
- "doc/man3/OCSP_REQUEST_new.pod"
- ],
- "doc/html/man3/OCSP_cert_to_id.html" => [
- "doc/man3/OCSP_cert_to_id.pod"
- ],
- "doc/html/man3/OCSP_request_add1_nonce.html" => [
- "doc/man3/OCSP_request_add1_nonce.pod"
- ],
- "doc/html/man3/OCSP_resp_find_status.html" => [
- "doc/man3/OCSP_resp_find_status.pod"
- ],
- "doc/html/man3/OCSP_response_status.html" => [
- "doc/man3/OCSP_response_status.pod"
- ],
- "doc/html/man3/OCSP_sendreq_new.html" => [
- "doc/man3/OCSP_sendreq_new.pod"
- ],
- "doc/html/man3/OPENSSL_Applink.html" => [
- "doc/man3/OPENSSL_Applink.pod"
- ],
- "doc/html/man3/OPENSSL_FILE.html" => [
- "doc/man3/OPENSSL_FILE.pod"
- ],
- "doc/html/man3/OPENSSL_LH_COMPFUNC.html" => [
- "doc/man3/OPENSSL_LH_COMPFUNC.pod"
- ],
- "doc/html/man3/OPENSSL_LH_stats.html" => [
- "doc/man3/OPENSSL_LH_stats.pod"
- ],
- "doc/html/man3/OPENSSL_config.html" => [
- "doc/man3/OPENSSL_config.pod"
- ],
- "doc/html/man3/OPENSSL_fork_prepare.html" => [
- "doc/man3/OPENSSL_fork_prepare.pod"
- ],
- "doc/html/man3/OPENSSL_gmtime.html" => [
- "doc/man3/OPENSSL_gmtime.pod"
- ],
- "doc/html/man3/OPENSSL_hexchar2int.html" => [
- "doc/man3/OPENSSL_hexchar2int.pod"
- ],
- "doc/html/man3/OPENSSL_ia32cap.html" => [
- "doc/man3/OPENSSL_ia32cap.pod"
- ],
- "doc/html/man3/OPENSSL_init_crypto.html" => [
- "doc/man3/OPENSSL_init_crypto.pod"
- ],
- "doc/html/man3/OPENSSL_init_ssl.html" => [
- "doc/man3/OPENSSL_init_ssl.pod"
- ],
- "doc/html/man3/OPENSSL_instrument_bus.html" => [
- "doc/man3/OPENSSL_instrument_bus.pod"
- ],
- "doc/html/man3/OPENSSL_load_builtin_modules.html" => [
- "doc/man3/OPENSSL_load_builtin_modules.pod"
- ],
- "doc/html/man3/OPENSSL_load_u16_le.html" => [
- "doc/man3/OPENSSL_load_u16_le.pod"
- ],
- "doc/html/man3/OPENSSL_malloc.html" => [
- "doc/man3/OPENSSL_malloc.pod"
- ],
- "doc/html/man3/OPENSSL_riscvcap.html" => [
- "doc/man3/OPENSSL_riscvcap.pod"
- ],
- "doc/html/man3/OPENSSL_s390xcap.html" => [
- "doc/man3/OPENSSL_s390xcap.pod"
- ],
- "doc/html/man3/OPENSSL_secure_malloc.html" => [
- "doc/man3/OPENSSL_secure_malloc.pod"
- ],
- "doc/html/man3/OPENSSL_strcasecmp.html" => [
- "doc/man3/OPENSSL_strcasecmp.pod"
- ],
- "doc/html/man3/OSSL_ALGORITHM.html" => [
- "doc/man3/OSSL_ALGORITHM.pod"
- ],
- "doc/html/man3/OSSL_CALLBACK.html" => [
- "doc/man3/OSSL_CALLBACK.pod"
- ],
- "doc/html/man3/OSSL_CMP_ATAV_set0.html" => [
- "doc/man3/OSSL_CMP_ATAV_set0.pod"
- ],
- "doc/html/man3/OSSL_CMP_CTX_new.html" => [
- "doc/man3/OSSL_CMP_CTX_new.pod"
- ],
- "doc/html/man3/OSSL_CMP_HDR_get0_transactionID.html" => [
- "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod"
- ],
- "doc/html/man3/OSSL_CMP_ITAV_new_caCerts.html" => [
- "doc/man3/OSSL_CMP_ITAV_new_caCerts.pod"
- ],
- "doc/html/man3/OSSL_CMP_ITAV_set0.html" => [
- "doc/man3/OSSL_CMP_ITAV_set0.pod"
- ],
- "doc/html/man3/OSSL_CMP_MSG_get0_header.html" => [
- "doc/man3/OSSL_CMP_MSG_get0_header.pod"
- ],
- "doc/html/man3/OSSL_CMP_MSG_http_perform.html" => [
- "doc/man3/OSSL_CMP_MSG_http_perform.pod"
- ],
- "doc/html/man3/OSSL_CMP_SRV_CTX_new.html" => [
- "doc/man3/OSSL_CMP_SRV_CTX_new.pod"
- ],
- "doc/html/man3/OSSL_CMP_STATUSINFO_new.html" => [
- "doc/man3/OSSL_CMP_STATUSINFO_new.pod"
- ],
- "doc/html/man3/OSSL_CMP_exec_certreq.html" => [
- "doc/man3/OSSL_CMP_exec_certreq.pod"
- ],
- "doc/html/man3/OSSL_CMP_log_open.html" => [
- "doc/man3/OSSL_CMP_log_open.pod"
- ],
- "doc/html/man3/OSSL_CMP_validate_msg.html" => [
- "doc/man3/OSSL_CMP_validate_msg.pod"
- ],
- "doc/html/man3/OSSL_CORE_MAKE_FUNC.html" => [
- "doc/man3/OSSL_CORE_MAKE_FUNC.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_get0_tmpl.html" => [
- "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_set0_validity.html" => [
- "doc/man3/OSSL_CRMF_MSG_set0_validity.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.html" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.html" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod"
- ],
- "doc/html/man3/OSSL_CRMF_pbmp_new.html" => [
- "doc/man3/OSSL_CRMF_pbmp_new.pod"
- ],
- "doc/html/man3/OSSL_DECODER.html" => [
- "doc/man3/OSSL_DECODER.pod"
- ],
- "doc/html/man3/OSSL_DECODER_CTX.html" => [
- "doc/man3/OSSL_DECODER_CTX.pod"
- ],
- "doc/html/man3/OSSL_DECODER_CTX_new_for_pkey.html" => [
- "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod"
- ],
- "doc/html/man3/OSSL_DECODER_from_bio.html" => [
- "doc/man3/OSSL_DECODER_from_bio.pod"
- ],
- "doc/html/man3/OSSL_DISPATCH.html" => [
- "doc/man3/OSSL_DISPATCH.pod"
- ],
- "doc/html/man3/OSSL_ENCODER.html" => [
- "doc/man3/OSSL_ENCODER.pod"
- ],
- "doc/html/man3/OSSL_ENCODER_CTX.html" => [
- "doc/man3/OSSL_ENCODER_CTX.pod"
- ],
- "doc/html/man3/OSSL_ENCODER_CTX_new_for_pkey.html" => [
- "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod"
- ],
- "doc/html/man3/OSSL_ENCODER_to_bio.html" => [
- "doc/man3/OSSL_ENCODER_to_bio.pod"
- ],
- "doc/html/man3/OSSL_ERR_STATE_save.html" => [
- "doc/man3/OSSL_ERR_STATE_save.pod"
- ],
- "doc/html/man3/OSSL_ESS_check_signing_certs.html" => [
- "doc/man3/OSSL_ESS_check_signing_certs.pod"
- ],
- "doc/html/man3/OSSL_GENERAL_NAMES_print.html" => [
- "doc/man3/OSSL_GENERAL_NAMES_print.pod"
- ],
- "doc/html/man3/OSSL_HPKE_CTX_new.html" => [
- "doc/man3/OSSL_HPKE_CTX_new.pod"
- ],
- "doc/html/man3/OSSL_HTTP_REQ_CTX.html" => [
- "doc/man3/OSSL_HTTP_REQ_CTX.pod"
- ],
- "doc/html/man3/OSSL_HTTP_parse_url.html" => [
- "doc/man3/OSSL_HTTP_parse_url.pod"
- ],
- "doc/html/man3/OSSL_HTTP_transfer.html" => [
- "doc/man3/OSSL_HTTP_transfer.pod"
- ],
- "doc/html/man3/OSSL_IETF_ATTR_SYNTAX.html" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX.pod"
- ],
- "doc/html/man3/OSSL_IETF_ATTR_SYNTAX_print.html" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX_print.pod"
- ],
- "doc/html/man3/OSSL_INDICATOR_set_callback.html" => [
- "doc/man3/OSSL_INDICATOR_set_callback.pod"
- ],
- "doc/html/man3/OSSL_ITEM.html" => [
- "doc/man3/OSSL_ITEM.pod"
- ],
- "doc/html/man3/OSSL_LIB_CTX.html" => [
- "doc/man3/OSSL_LIB_CTX.pod"
- ],
- "doc/html/man3/OSSL_LIB_CTX_set_conf_diagnostics.html" => [
- "doc/man3/OSSL_LIB_CTX_set_conf_diagnostics.pod"
- ],
- "doc/html/man3/OSSL_PARAM.html" => [
- "doc/man3/OSSL_PARAM.pod"
- ],
- "doc/html/man3/OSSL_PARAM_BLD.html" => [
- "doc/man3/OSSL_PARAM_BLD.pod"
- ],
- "doc/html/man3/OSSL_PARAM_allocate_from_text.html" => [
- "doc/man3/OSSL_PARAM_allocate_from_text.pod"
- ],
- "doc/html/man3/OSSL_PARAM_dup.html" => [
- "doc/man3/OSSL_PARAM_dup.pod"
- ],
- "doc/html/man3/OSSL_PARAM_int.html" => [
- "doc/man3/OSSL_PARAM_int.pod"
- ],
- "doc/html/man3/OSSL_PARAM_print_to_bio.html" => [
- "doc/man3/OSSL_PARAM_print_to_bio.pod"
- ],
- "doc/html/man3/OSSL_PROVIDER.html" => [
- "doc/man3/OSSL_PROVIDER.pod"
- ],
- "doc/html/man3/OSSL_QUIC_client_method.html" => [
- "doc/man3/OSSL_QUIC_client_method.pod"
- ],
- "doc/html/man3/OSSL_SELF_TEST_new.html" => [
- "doc/man3/OSSL_SELF_TEST_new.pod"
- ],
- "doc/html/man3/OSSL_SELF_TEST_set_callback.html" => [
- "doc/man3/OSSL_SELF_TEST_set_callback.pod"
- ],
- "doc/html/man3/OSSL_STORE_INFO.html" => [
- "doc/man3/OSSL_STORE_INFO.pod"
- ],
- "doc/html/man3/OSSL_STORE_LOADER.html" => [
- "doc/man3/OSSL_STORE_LOADER.pod"
- ],
- "doc/html/man3/OSSL_STORE_SEARCH.html" => [
- "doc/man3/OSSL_STORE_SEARCH.pod"
- ],
- "doc/html/man3/OSSL_STORE_attach.html" => [
- "doc/man3/OSSL_STORE_attach.pod"
- ],
- "doc/html/man3/OSSL_STORE_expect.html" => [
- "doc/man3/OSSL_STORE_expect.pod"
- ],
- "doc/html/man3/OSSL_STORE_open.html" => [
- "doc/man3/OSSL_STORE_open.pod"
- ],
- "doc/html/man3/OSSL_sleep.html" => [
- "doc/man3/OSSL_sleep.pod"
- ],
- "doc/html/man3/OSSL_trace_enabled.html" => [
- "doc/man3/OSSL_trace_enabled.pod"
- ],
- "doc/html/man3/OSSL_trace_get_category_num.html" => [
- "doc/man3/OSSL_trace_get_category_num.pod"
- ],
- "doc/html/man3/OSSL_trace_set_channel.html" => [
- "doc/man3/OSSL_trace_set_channel.pod"
- ],
- "doc/html/man3/OpenSSL_add_all_algorithms.html" => [
- "doc/man3/OpenSSL_add_all_algorithms.pod"
- ],
- "doc/html/man3/OpenSSL_version.html" => [
- "doc/man3/OpenSSL_version.pod"
- ],
- "doc/html/man3/PBMAC1_get1_pbkdf2_param.html" => [
- "doc/man3/PBMAC1_get1_pbkdf2_param.pod"
- ],
- "doc/html/man3/PEM_X509_INFO_read_bio_ex.html" => [
- "doc/man3/PEM_X509_INFO_read_bio_ex.pod"
- ],
- "doc/html/man3/PEM_bytes_read_bio.html" => [
- "doc/man3/PEM_bytes_read_bio.pod"
- ],
- "doc/html/man3/PEM_read.html" => [
- "doc/man3/PEM_read.pod"
- ],
- "doc/html/man3/PEM_read_CMS.html" => [
- "doc/man3/PEM_read_CMS.pod"
- ],
- "doc/html/man3/PEM_read_bio_PrivateKey.html" => [
- "doc/man3/PEM_read_bio_PrivateKey.pod"
- ],
- "doc/html/man3/PEM_read_bio_ex.html" => [
- "doc/man3/PEM_read_bio_ex.pod"
- ],
- "doc/html/man3/PEM_write_bio_CMS_stream.html" => [
- "doc/man3/PEM_write_bio_CMS_stream.pod"
- ],
- "doc/html/man3/PEM_write_bio_PKCS7_stream.html" => [
- "doc/man3/PEM_write_bio_PKCS7_stream.pod"
- ],
- "doc/html/man3/PKCS12_PBE_keyivgen.html" => [
- "doc/man3/PKCS12_PBE_keyivgen.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_create_cert.html" => [
- "doc/man3/PKCS12_SAFEBAG_create_cert.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_get0_attrs.html" => [
- "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_get1_cert.html" => [
- "doc/man3/PKCS12_SAFEBAG_get1_cert.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_set0_attrs.html" => [
- "doc/man3/PKCS12_SAFEBAG_set0_attrs.pod"
- ],
- "doc/html/man3/PKCS12_add1_attr_by_NID.html" => [
- "doc/man3/PKCS12_add1_attr_by_NID.pod"
- ],
- "doc/html/man3/PKCS12_add_CSPName_asc.html" => [
- "doc/man3/PKCS12_add_CSPName_asc.pod"
- ],
- "doc/html/man3/PKCS12_add_cert.html" => [
- "doc/man3/PKCS12_add_cert.pod"
- ],
- "doc/html/man3/PKCS12_add_friendlyname_asc.html" => [
- "doc/man3/PKCS12_add_friendlyname_asc.pod"
- ],
- "doc/html/man3/PKCS12_add_localkeyid.html" => [
- "doc/man3/PKCS12_add_localkeyid.pod"
- ],
- "doc/html/man3/PKCS12_add_safe.html" => [
- "doc/man3/PKCS12_add_safe.pod"
- ],
- "doc/html/man3/PKCS12_create.html" => [
- "doc/man3/PKCS12_create.pod"
- ],
- "doc/html/man3/PKCS12_decrypt_skey.html" => [
- "doc/man3/PKCS12_decrypt_skey.pod"
- ],
- "doc/html/man3/PKCS12_gen_mac.html" => [
- "doc/man3/PKCS12_gen_mac.pod"
- ],
- "doc/html/man3/PKCS12_get_friendlyname.html" => [
- "doc/man3/PKCS12_get_friendlyname.pod"
- ],
- "doc/html/man3/PKCS12_init.html" => [
- "doc/man3/PKCS12_init.pod"
- ],
- "doc/html/man3/PKCS12_item_decrypt_d2i.html" => [
- "doc/man3/PKCS12_item_decrypt_d2i.pod"
- ],
- "doc/html/man3/PKCS12_key_gen_utf8_ex.html" => [
- "doc/man3/PKCS12_key_gen_utf8_ex.pod"
- ],
- "doc/html/man3/PKCS12_newpass.html" => [
- "doc/man3/PKCS12_newpass.pod"
- ],
- "doc/html/man3/PKCS12_pack_p7encdata.html" => [
- "doc/man3/PKCS12_pack_p7encdata.pod"
- ],
- "doc/html/man3/PKCS12_parse.html" => [
- "doc/man3/PKCS12_parse.pod"
- ],
- "doc/html/man3/PKCS5_PBE_keyivgen.html" => [
- "doc/man3/PKCS5_PBE_keyivgen.pod"
- ],
- "doc/html/man3/PKCS5_PBKDF2_HMAC.html" => [
- "doc/man3/PKCS5_PBKDF2_HMAC.pod"
- ],
- "doc/html/man3/PKCS7_decrypt.html" => [
- "doc/man3/PKCS7_decrypt.pod"
- ],
- "doc/html/man3/PKCS7_encrypt.html" => [
- "doc/man3/PKCS7_encrypt.pod"
- ],
- "doc/html/man3/PKCS7_get_octet_string.html" => [
- "doc/man3/PKCS7_get_octet_string.pod"
- ],
- "doc/html/man3/PKCS7_sign.html" => [
- "doc/man3/PKCS7_sign.pod"
- ],
- "doc/html/man3/PKCS7_sign_add_signer.html" => [
- "doc/man3/PKCS7_sign_add_signer.pod"
- ],
- "doc/html/man3/PKCS7_type_is_other.html" => [
- "doc/man3/PKCS7_type_is_other.pod"
- ],
- "doc/html/man3/PKCS7_verify.html" => [
- "doc/man3/PKCS7_verify.pod"
- ],
- "doc/html/man3/PKCS8_encrypt.html" => [
- "doc/man3/PKCS8_encrypt.pod"
- ],
- "doc/html/man3/PKCS8_pkey_add1_attr.html" => [
- "doc/man3/PKCS8_pkey_add1_attr.pod"
- ],
- "doc/html/man3/RAND_add.html" => [
- "doc/man3/RAND_add.pod"
- ],
- "doc/html/man3/RAND_bytes.html" => [
- "doc/man3/RAND_bytes.pod"
- ],
- "doc/html/man3/RAND_cleanup.html" => [
- "doc/man3/RAND_cleanup.pod"
- ],
- "doc/html/man3/RAND_egd.html" => [
- "doc/man3/RAND_egd.pod"
- ],
- "doc/html/man3/RAND_get0_primary.html" => [
- "doc/man3/RAND_get0_primary.pod"
- ],
- "doc/html/man3/RAND_load_file.html" => [
- "doc/man3/RAND_load_file.pod"
- ],
- "doc/html/man3/RAND_set_DRBG_type.html" => [
- "doc/man3/RAND_set_DRBG_type.pod"
- ],
- "doc/html/man3/RAND_set_rand_method.html" => [
- "doc/man3/RAND_set_rand_method.pod"
- ],
- "doc/html/man3/RC4_set_key.html" => [
- "doc/man3/RC4_set_key.pod"
- ],
- "doc/html/man3/RIPEMD160_Init.html" => [
- "doc/man3/RIPEMD160_Init.pod"
- ],
- "doc/html/man3/RSA_blinding_on.html" => [
- "doc/man3/RSA_blinding_on.pod"
- ],
- "doc/html/man3/RSA_check_key.html" => [
- "doc/man3/RSA_check_key.pod"
- ],
- "doc/html/man3/RSA_generate_key.html" => [
- "doc/man3/RSA_generate_key.pod"
- ],
- "doc/html/man3/RSA_get0_key.html" => [
- "doc/man3/RSA_get0_key.pod"
- ],
- "doc/html/man3/RSA_meth_new.html" => [
- "doc/man3/RSA_meth_new.pod"
- ],
- "doc/html/man3/RSA_new.html" => [
- "doc/man3/RSA_new.pod"
- ],
- "doc/html/man3/RSA_padding_add_PKCS1_type_1.html" => [
- "doc/man3/RSA_padding_add_PKCS1_type_1.pod"
- ],
- "doc/html/man3/RSA_print.html" => [
- "doc/man3/RSA_print.pod"
- ],
- "doc/html/man3/RSA_private_encrypt.html" => [
- "doc/man3/RSA_private_encrypt.pod"
- ],
- "doc/html/man3/RSA_public_encrypt.html" => [
- "doc/man3/RSA_public_encrypt.pod"
- ],
- "doc/html/man3/RSA_set_method.html" => [
- "doc/man3/RSA_set_method.pod"
- ],
- "doc/html/man3/RSA_sign.html" => [
- "doc/man3/RSA_sign.pod"
- ],
- "doc/html/man3/RSA_sign_ASN1_OCTET_STRING.html" => [
- "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod"
- ],
- "doc/html/man3/RSA_size.html" => [
- "doc/man3/RSA_size.pod"
- ],
- "doc/html/man3/SCT_new.html" => [
- "doc/man3/SCT_new.pod"
- ],
- "doc/html/man3/SCT_print.html" => [
- "doc/man3/SCT_print.pod"
- ],
- "doc/html/man3/SCT_validate.html" => [
- "doc/man3/SCT_validate.pod"
- ],
- "doc/html/man3/SHA256_Init.html" => [
- "doc/man3/SHA256_Init.pod"
- ],
- "doc/html/man3/SMIME_read_ASN1.html" => [
- "doc/man3/SMIME_read_ASN1.pod"
- ],
- "doc/html/man3/SMIME_read_CMS.html" => [
- "doc/man3/SMIME_read_CMS.pod"
- ],
- "doc/html/man3/SMIME_read_PKCS7.html" => [
- "doc/man3/SMIME_read_PKCS7.pod"
- ],
- "doc/html/man3/SMIME_write_ASN1.html" => [
- "doc/man3/SMIME_write_ASN1.pod"
- ],
- "doc/html/man3/SMIME_write_CMS.html" => [
- "doc/man3/SMIME_write_CMS.pod"
- ],
- "doc/html/man3/SMIME_write_PKCS7.html" => [
- "doc/man3/SMIME_write_PKCS7.pod"
- ],
- "doc/html/man3/SRP_Calc_B.html" => [
- "doc/man3/SRP_Calc_B.pod"
- ],
- "doc/html/man3/SRP_VBASE_new.html" => [
- "doc/man3/SRP_VBASE_new.pod"
- ],
- "doc/html/man3/SRP_create_verifier.html" => [
- "doc/man3/SRP_create_verifier.pod"
- ],
- "doc/html/man3/SRP_user_pwd_new.html" => [
- "doc/man3/SRP_user_pwd_new.pod"
- ],
- "doc/html/man3/SSL_CIPHER_get_name.html" => [
- "doc/man3/SSL_CIPHER_get_name.pod"
- ],
- "doc/html/man3/SSL_COMP_add_compression_method.html" => [
- "doc/man3/SSL_COMP_add_compression_method.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_new.html" => [
- "doc/man3/SSL_CONF_CTX_new.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_set1_prefix.html" => [
- "doc/man3/SSL_CONF_CTX_set1_prefix.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_set_flags.html" => [
- "doc/man3/SSL_CONF_CTX_set_flags.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_set_ssl_ctx.html" => [
- "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod"
- ],
- "doc/html/man3/SSL_CONF_cmd.html" => [
- "doc/man3/SSL_CONF_cmd.pod"
- ],
- "doc/html/man3/SSL_CONF_cmd_argv.html" => [
- "doc/man3/SSL_CONF_cmd_argv.pod"
- ],
- "doc/html/man3/SSL_CTX_add1_chain_cert.html" => [
- "doc/man3/SSL_CTX_add1_chain_cert.pod"
- ],
- "doc/html/man3/SSL_CTX_add_extra_chain_cert.html" => [
- "doc/man3/SSL_CTX_add_extra_chain_cert.pod"
- ],
- "doc/html/man3/SSL_CTX_add_session.html" => [
- "doc/man3/SSL_CTX_add_session.pod"
- ],
- "doc/html/man3/SSL_CTX_config.html" => [
- "doc/man3/SSL_CTX_config.pod"
- ],
- "doc/html/man3/SSL_CTX_ctrl.html" => [
- "doc/man3/SSL_CTX_ctrl.pod"
- ],
- "doc/html/man3/SSL_CTX_dane_enable.html" => [
- "doc/man3/SSL_CTX_dane_enable.pod"
- ],
- "doc/html/man3/SSL_CTX_flush_sessions.html" => [
- "doc/man3/SSL_CTX_flush_sessions.pod"
- ],
- "doc/html/man3/SSL_CTX_free.html" => [
- "doc/man3/SSL_CTX_free.pod"
- ],
- "doc/html/man3/SSL_CTX_get0_param.html" => [
- "doc/man3/SSL_CTX_get0_param.pod"
- ],
- "doc/html/man3/SSL_CTX_get_verify_mode.html" => [
- "doc/man3/SSL_CTX_get_verify_mode.pod"
- ],
- "doc/html/man3/SSL_CTX_has_client_custom_ext.html" => [
- "doc/man3/SSL_CTX_has_client_custom_ext.pod"
- ],
- "doc/html/man3/SSL_CTX_load_verify_locations.html" => [
- "doc/man3/SSL_CTX_load_verify_locations.pod"
- ],
- "doc/html/man3/SSL_CTX_new.html" => [
- "doc/man3/SSL_CTX_new.pod"
- ],
- "doc/html/man3/SSL_CTX_sess_number.html" => [
- "doc/man3/SSL_CTX_sess_number.pod"
- ],
- "doc/html/man3/SSL_CTX_sess_set_cache_size.html" => [
- "doc/man3/SSL_CTX_sess_set_cache_size.pod"
- ],
- "doc/html/man3/SSL_CTX_sess_set_get_cb.html" => [
- "doc/man3/SSL_CTX_sess_set_get_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_sessions.html" => [
- "doc/man3/SSL_CTX_sessions.pod"
- ],
- "doc/html/man3/SSL_CTX_set0_CA_list.html" => [
- "doc/man3/SSL_CTX_set0_CA_list.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_cert_comp_preference.html" => [
- "doc/man3/SSL_CTX_set1_cert_comp_preference.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_curves.html" => [
- "doc/man3/SSL_CTX_set1_curves.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_sigalgs.html" => [
- "doc/man3/SSL_CTX_set1_sigalgs.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_verify_cert_store.html" => [
- "doc/man3/SSL_CTX_set1_verify_cert_store.pod"
- ],
- "doc/html/man3/SSL_CTX_set_alpn_select_cb.html" => [
- "doc/man3/SSL_CTX_set_alpn_select_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cert_cb.html" => [
- "doc/man3/SSL_CTX_set_cert_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cert_store.html" => [
- "doc/man3/SSL_CTX_set_cert_store.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cert_verify_callback.html" => [
- "doc/man3/SSL_CTX_set_cert_verify_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cipher_list.html" => [
- "doc/man3/SSL_CTX_set_cipher_list.pod"
- ],
- "doc/html/man3/SSL_CTX_set_client_cert_cb.html" => [
- "doc/man3/SSL_CTX_set_client_cert_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_client_hello_cb.html" => [
- "doc/man3/SSL_CTX_set_client_hello_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_ct_validation_callback.html" => [
- "doc/man3/SSL_CTX_set_ct_validation_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_ctlog_list_file.html" => [
- "doc/man3/SSL_CTX_set_ctlog_list_file.pod"
- ],
- "doc/html/man3/SSL_CTX_set_default_passwd_cb.html" => [
- "doc/man3/SSL_CTX_set_default_passwd_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_domain_flags.html" => [
- "doc/man3/SSL_CTX_set_domain_flags.pod"
- ],
- "doc/html/man3/SSL_CTX_set_generate_session_id.html" => [
- "doc/man3/SSL_CTX_set_generate_session_id.pod"
- ],
- "doc/html/man3/SSL_CTX_set_info_callback.html" => [
- "doc/man3/SSL_CTX_set_info_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_keylog_callback.html" => [
- "doc/man3/SSL_CTX_set_keylog_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_max_cert_list.html" => [
- "doc/man3/SSL_CTX_set_max_cert_list.pod"
- ],
- "doc/html/man3/SSL_CTX_set_min_proto_version.html" => [
- "doc/man3/SSL_CTX_set_min_proto_version.pod"
- ],
- "doc/html/man3/SSL_CTX_set_mode.html" => [
- "doc/man3/SSL_CTX_set_mode.pod"
- ],
- "doc/html/man3/SSL_CTX_set_msg_callback.html" => [
- "doc/man3/SSL_CTX_set_msg_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_new_pending_conn_cb.html" => [
- "doc/man3/SSL_CTX_set_new_pending_conn_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_num_tickets.html" => [
- "doc/man3/SSL_CTX_set_num_tickets.pod"
- ],
- "doc/html/man3/SSL_CTX_set_options.html" => [
- "doc/man3/SSL_CTX_set_options.pod"
- ],
- "doc/html/man3/SSL_CTX_set_psk_client_callback.html" => [
- "doc/man3/SSL_CTX_set_psk_client_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_quiet_shutdown.html" => [
- "doc/man3/SSL_CTX_set_quiet_shutdown.pod"
- ],
- "doc/html/man3/SSL_CTX_set_read_ahead.html" => [
- "doc/man3/SSL_CTX_set_read_ahead.pod"
- ],
- "doc/html/man3/SSL_CTX_set_record_padding_callback.html" => [
- "doc/man3/SSL_CTX_set_record_padding_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_security_level.html" => [
- "doc/man3/SSL_CTX_set_security_level.pod"
- ],
- "doc/html/man3/SSL_CTX_set_session_cache_mode.html" => [
- "doc/man3/SSL_CTX_set_session_cache_mode.pod"
- ],
- "doc/html/man3/SSL_CTX_set_session_id_context.html" => [
- "doc/man3/SSL_CTX_set_session_id_context.pod"
- ],
- "doc/html/man3/SSL_CTX_set_session_ticket_cb.html" => [
- "doc/man3/SSL_CTX_set_session_ticket_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_split_send_fragment.html" => [
- "doc/man3/SSL_CTX_set_split_send_fragment.pod"
- ],
- "doc/html/man3/SSL_CTX_set_srp_password.html" => [
- "doc/man3/SSL_CTX_set_srp_password.pod"
- ],
- "doc/html/man3/SSL_CTX_set_ssl_version.html" => [
- "doc/man3/SSL_CTX_set_ssl_version.pod"
- ],
- "doc/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html" => [
- "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_timeout.html" => [
- "doc/man3/SSL_CTX_set_timeout.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_servername_callback.html" => [
- "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_status_cb.html" => [
- "doc/man3/SSL_CTX_set_tlsext_status_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html" => [
- "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_use_srtp.html" => [
- "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tmp_dh_callback.html" => [
- "doc/man3/SSL_CTX_set_tmp_dh_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tmp_ecdh.html" => [
- "doc/man3/SSL_CTX_set_tmp_ecdh.pod"
- ],
- "doc/html/man3/SSL_CTX_set_verify.html" => [
- "doc/man3/SSL_CTX_set_verify.pod"
- ],
- "doc/html/man3/SSL_CTX_use_certificate.html" => [
- "doc/man3/SSL_CTX_use_certificate.pod"
- ],
- "doc/html/man3/SSL_CTX_use_psk_identity_hint.html" => [
- "doc/man3/SSL_CTX_use_psk_identity_hint.pod"
- ],
- "doc/html/man3/SSL_CTX_use_serverinfo.html" => [
- "doc/man3/SSL_CTX_use_serverinfo.pod"
- ],
- "doc/html/man3/SSL_SESSION_free.html" => [
- "doc/man3/SSL_SESSION_free.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_cipher.html" => [
- "doc/man3/SSL_SESSION_get0_cipher.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_hostname.html" => [
- "doc/man3/SSL_SESSION_get0_hostname.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_id_context.html" => [
- "doc/man3/SSL_SESSION_get0_id_context.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_peer.html" => [
- "doc/man3/SSL_SESSION_get0_peer.pod"
- ],
- "doc/html/man3/SSL_SESSION_get_compress_id.html" => [
- "doc/man3/SSL_SESSION_get_compress_id.pod"
- ],
- "doc/html/man3/SSL_SESSION_get_protocol_version.html" => [
- "doc/man3/SSL_SESSION_get_protocol_version.pod"
- ],
- "doc/html/man3/SSL_SESSION_get_time.html" => [
- "doc/man3/SSL_SESSION_get_time.pod"
- ],
- "doc/html/man3/SSL_SESSION_has_ticket.html" => [
- "doc/man3/SSL_SESSION_has_ticket.pod"
- ],
- "doc/html/man3/SSL_SESSION_is_resumable.html" => [
- "doc/man3/SSL_SESSION_is_resumable.pod"
- ],
- "doc/html/man3/SSL_SESSION_print.html" => [
- "doc/man3/SSL_SESSION_print.pod"
- ],
- "doc/html/man3/SSL_SESSION_set1_id.html" => [
- "doc/man3/SSL_SESSION_set1_id.pod"
- ],
- "doc/html/man3/SSL_accept.html" => [
- "doc/man3/SSL_accept.pod"
- ],
- "doc/html/man3/SSL_accept_stream.html" => [
- "doc/man3/SSL_accept_stream.pod"
- ],
- "doc/html/man3/SSL_alert_type_string.html" => [
- "doc/man3/SSL_alert_type_string.pod"
- ],
- "doc/html/man3/SSL_alloc_buffers.html" => [
- "doc/man3/SSL_alloc_buffers.pod"
- ],
- "doc/html/man3/SSL_check_chain.html" => [
- "doc/man3/SSL_check_chain.pod"
- ],
- "doc/html/man3/SSL_clear.html" => [
- "doc/man3/SSL_clear.pod"
- ],
- "doc/html/man3/SSL_connect.html" => [
- "doc/man3/SSL_connect.pod"
- ],
- "doc/html/man3/SSL_do_handshake.html" => [
- "doc/man3/SSL_do_handshake.pod"
- ],
- "doc/html/man3/SSL_export_keying_material.html" => [
- "doc/man3/SSL_export_keying_material.pod"
- ],
- "doc/html/man3/SSL_extension_supported.html" => [
- "doc/man3/SSL_extension_supported.pod"
- ],
- "doc/html/man3/SSL_free.html" => [
- "doc/man3/SSL_free.pod"
- ],
- "doc/html/man3/SSL_get0_connection.html" => [
- "doc/man3/SSL_get0_connection.pod"
- ],
- "doc/html/man3/SSL_get0_group_name.html" => [
- "doc/man3/SSL_get0_group_name.pod"
- ],
- "doc/html/man3/SSL_get0_peer_rpk.html" => [
- "doc/man3/SSL_get0_peer_rpk.pod"
- ],
- "doc/html/man3/SSL_get0_peer_scts.html" => [
- "doc/man3/SSL_get0_peer_scts.pod"
- ],
- "doc/html/man3/SSL_get1_builtin_sigalgs.html" => [
- "doc/man3/SSL_get1_builtin_sigalgs.pod"
- ],
- "doc/html/man3/SSL_get_SSL_CTX.html" => [
- "doc/man3/SSL_get_SSL_CTX.pod"
- ],
- "doc/html/man3/SSL_get_all_async_fds.html" => [
- "doc/man3/SSL_get_all_async_fds.pod"
- ],
- "doc/html/man3/SSL_get_certificate.html" => [
- "doc/man3/SSL_get_certificate.pod"
- ],
- "doc/html/man3/SSL_get_ciphers.html" => [
- "doc/man3/SSL_get_ciphers.pod"
- ],
- "doc/html/man3/SSL_get_client_random.html" => [
- "doc/man3/SSL_get_client_random.pod"
- ],
- "doc/html/man3/SSL_get_conn_close_info.html" => [
- "doc/man3/SSL_get_conn_close_info.pod"
- ],
- "doc/html/man3/SSL_get_current_cipher.html" => [
- "doc/man3/SSL_get_current_cipher.pod"
- ],
- "doc/html/man3/SSL_get_default_timeout.html" => [
- "doc/man3/SSL_get_default_timeout.pod"
- ],
- "doc/html/man3/SSL_get_error.html" => [
- "doc/man3/SSL_get_error.pod"
- ],
- "doc/html/man3/SSL_get_event_timeout.html" => [
- "doc/man3/SSL_get_event_timeout.pod"
- ],
- "doc/html/man3/SSL_get_extms_support.html" => [
- "doc/man3/SSL_get_extms_support.pod"
- ],
- "doc/html/man3/SSL_get_fd.html" => [
- "doc/man3/SSL_get_fd.pod"
- ],
- "doc/html/man3/SSL_get_handshake_rtt.html" => [
- "doc/man3/SSL_get_handshake_rtt.pod"
- ],
- "doc/html/man3/SSL_get_peer_cert_chain.html" => [
- "doc/man3/SSL_get_peer_cert_chain.pod"
- ],
- "doc/html/man3/SSL_get_peer_certificate.html" => [
- "doc/man3/SSL_get_peer_certificate.pod"
- ],
- "doc/html/man3/SSL_get_peer_signature_nid.html" => [
- "doc/man3/SSL_get_peer_signature_nid.pod"
- ],
- "doc/html/man3/SSL_get_peer_tmp_key.html" => [
- "doc/man3/SSL_get_peer_tmp_key.pod"
- ],
- "doc/html/man3/SSL_get_psk_identity.html" => [
- "doc/man3/SSL_get_psk_identity.pod"
- ],
- "doc/html/man3/SSL_get_rbio.html" => [
- "doc/man3/SSL_get_rbio.pod"
- ],
- "doc/html/man3/SSL_get_rpoll_descriptor.html" => [
- "doc/man3/SSL_get_rpoll_descriptor.pod"
- ],
- "doc/html/man3/SSL_get_session.html" => [
- "doc/man3/SSL_get_session.pod"
- ],
- "doc/html/man3/SSL_get_shared_sigalgs.html" => [
- "doc/man3/SSL_get_shared_sigalgs.pod"
- ],
- "doc/html/man3/SSL_get_stream_id.html" => [
- "doc/man3/SSL_get_stream_id.pod"
- ],
- "doc/html/man3/SSL_get_stream_read_state.html" => [
- "doc/man3/SSL_get_stream_read_state.pod"
- ],
- "doc/html/man3/SSL_get_value_uint.html" => [
- "doc/man3/SSL_get_value_uint.pod"
- ],
- "doc/html/man3/SSL_get_verify_result.html" => [
- "doc/man3/SSL_get_verify_result.pod"
- ],
- "doc/html/man3/SSL_get_version.html" => [
- "doc/man3/SSL_get_version.pod"
- ],
- "doc/html/man3/SSL_group_to_name.html" => [
- "doc/man3/SSL_group_to_name.pod"
- ],
- "doc/html/man3/SSL_handle_events.html" => [
- "doc/man3/SSL_handle_events.pod"
- ],
- "doc/html/man3/SSL_in_init.html" => [
- "doc/man3/SSL_in_init.pod"
- ],
- "doc/html/man3/SSL_inject_net_dgram.html" => [
- "doc/man3/SSL_inject_net_dgram.pod"
- ],
- "doc/html/man3/SSL_key_update.html" => [
- "doc/man3/SSL_key_update.pod"
- ],
- "doc/html/man3/SSL_library_init.html" => [
- "doc/man3/SSL_library_init.pod"
- ],
- "doc/html/man3/SSL_load_client_CA_file.html" => [
- "doc/man3/SSL_load_client_CA_file.pod"
- ],
- "doc/html/man3/SSL_new.html" => [
- "doc/man3/SSL_new.pod"
- ],
- "doc/html/man3/SSL_new_domain.html" => [
- "doc/man3/SSL_new_domain.pod"
- ],
- "doc/html/man3/SSL_new_listener.html" => [
- "doc/man3/SSL_new_listener.pod"
- ],
- "doc/html/man3/SSL_new_stream.html" => [
- "doc/man3/SSL_new_stream.pod"
- ],
- "doc/html/man3/SSL_pending.html" => [
- "doc/man3/SSL_pending.pod"
- ],
- "doc/html/man3/SSL_poll.html" => [
- "doc/man3/SSL_poll.pod"
- ],
- "doc/html/man3/SSL_read.html" => [
- "doc/man3/SSL_read.pod"
- ],
- "doc/html/man3/SSL_read_early_data.html" => [
- "doc/man3/SSL_read_early_data.pod"
- ],
- "doc/html/man3/SSL_rstate_string.html" => [
- "doc/man3/SSL_rstate_string.pod"
- ],
- "doc/html/man3/SSL_session_reused.html" => [
- "doc/man3/SSL_session_reused.pod"
- ],
- "doc/html/man3/SSL_set1_host.html" => [
- "doc/man3/SSL_set1_host.pod"
- ],
- "doc/html/man3/SSL_set1_initial_peer_addr.html" => [
- "doc/man3/SSL_set1_initial_peer_addr.pod"
- ],
- "doc/html/man3/SSL_set1_server_cert_type.html" => [
- "doc/man3/SSL_set1_server_cert_type.pod"
- ],
- "doc/html/man3/SSL_set_async_callback.html" => [
- "doc/man3/SSL_set_async_callback.pod"
- ],
- "doc/html/man3/SSL_set_bio.html" => [
- "doc/man3/SSL_set_bio.pod"
- ],
- "doc/html/man3/SSL_set_blocking_mode.html" => [
- "doc/man3/SSL_set_blocking_mode.pod"
- ],
- "doc/html/man3/SSL_set_connect_state.html" => [
- "doc/man3/SSL_set_connect_state.pod"
- ],
- "doc/html/man3/SSL_set_default_stream_mode.html" => [
- "doc/man3/SSL_set_default_stream_mode.pod"
- ],
- "doc/html/man3/SSL_set_fd.html" => [
- "doc/man3/SSL_set_fd.pod"
- ],
- "doc/html/man3/SSL_set_incoming_stream_policy.html" => [
- "doc/man3/SSL_set_incoming_stream_policy.pod"
- ],
- "doc/html/man3/SSL_set_quic_tls_cbs.html" => [
- "doc/man3/SSL_set_quic_tls_cbs.pod"
- ],
- "doc/html/man3/SSL_set_retry_verify.html" => [
- "doc/man3/SSL_set_retry_verify.pod"
- ],
- "doc/html/man3/SSL_set_session.html" => [
- "doc/man3/SSL_set_session.pod"
- ],
- "doc/html/man3/SSL_set_session_secret_cb.html" => [
- "doc/man3/SSL_set_session_secret_cb.pod"
- ],
- "doc/html/man3/SSL_set_shutdown.html" => [
- "doc/man3/SSL_set_shutdown.pod"
- ],
- "doc/html/man3/SSL_set_verify_result.html" => [
- "doc/man3/SSL_set_verify_result.pod"
- ],
- "doc/html/man3/SSL_shutdown.html" => [
- "doc/man3/SSL_shutdown.pod"
- ],
- "doc/html/man3/SSL_state_string.html" => [
- "doc/man3/SSL_state_string.pod"
- ],
- "doc/html/man3/SSL_stream_conclude.html" => [
- "doc/man3/SSL_stream_conclude.pod"
- ],
- "doc/html/man3/SSL_stream_reset.html" => [
- "doc/man3/SSL_stream_reset.pod"
- ],
- "doc/html/man3/SSL_want.html" => [
- "doc/man3/SSL_want.pod"
- ],
- "doc/html/man3/SSL_write.html" => [
- "doc/man3/SSL_write.pod"
- ],
- "doc/html/man3/TS_RESP_CTX_new.html" => [
- "doc/man3/TS_RESP_CTX_new.pod"
- ],
- "doc/html/man3/TS_VERIFY_CTX.html" => [
- "doc/man3/TS_VERIFY_CTX.pod"
- ],
- "doc/html/man3/UI_STRING.html" => [
- "doc/man3/UI_STRING.pod"
- ],
- "doc/html/man3/UI_UTIL_read_pw.html" => [
- "doc/man3/UI_UTIL_read_pw.pod"
- ],
- "doc/html/man3/UI_create_method.html" => [
- "doc/man3/UI_create_method.pod"
- ],
- "doc/html/man3/UI_new.html" => [
- "doc/man3/UI_new.pod"
- ],
- "doc/html/man3/X509V3_get_d2i.html" => [
- "doc/man3/X509V3_get_d2i.pod"
- ],
- "doc/html/man3/X509V3_set_ctx.html" => [
- "doc/man3/X509V3_set_ctx.pod"
- ],
- "doc/html/man3/X509_ACERT_add1_attr.html" => [
- "doc/man3/X509_ACERT_add1_attr.pod"
- ],
- "doc/html/man3/X509_ACERT_add_attr_nconf.html" => [
- "doc/man3/X509_ACERT_add_attr_nconf.pod"
- ],
- "doc/html/man3/X509_ACERT_get0_holder_baseCertId.html" => [
- "doc/man3/X509_ACERT_get0_holder_baseCertId.pod"
- ],
- "doc/html/man3/X509_ACERT_get_attr.html" => [
- "doc/man3/X509_ACERT_get_attr.pod"
- ],
- "doc/html/man3/X509_ACERT_print_ex.html" => [
- "doc/man3/X509_ACERT_print_ex.pod"
- ],
- "doc/html/man3/X509_ALGOR_dup.html" => [
- "doc/man3/X509_ALGOR_dup.pod"
- ],
- "doc/html/man3/X509_ATTRIBUTE.html" => [
- "doc/man3/X509_ATTRIBUTE.pod"
- ],
- "doc/html/man3/X509_CRL_get0_by_serial.html" => [
- "doc/man3/X509_CRL_get0_by_serial.pod"
- ],
- "doc/html/man3/X509_EXTENSION_set_object.html" => [
- "doc/man3/X509_EXTENSION_set_object.pod"
- ],
- "doc/html/man3/X509_LOOKUP.html" => [
- "doc/man3/X509_LOOKUP.pod"
- ],
- "doc/html/man3/X509_LOOKUP_hash_dir.html" => [
- "doc/man3/X509_LOOKUP_hash_dir.pod"
- ],
- "doc/html/man3/X509_LOOKUP_meth_new.html" => [
- "doc/man3/X509_LOOKUP_meth_new.pod"
- ],
- "doc/html/man3/X509_NAME_ENTRY_get_object.html" => [
- "doc/man3/X509_NAME_ENTRY_get_object.pod"
- ],
- "doc/html/man3/X509_NAME_add_entry_by_txt.html" => [
- "doc/man3/X509_NAME_add_entry_by_txt.pod"
- ],
- "doc/html/man3/X509_NAME_get0_der.html" => [
- "doc/man3/X509_NAME_get0_der.pod"
- ],
- "doc/html/man3/X509_NAME_get_index_by_NID.html" => [
- "doc/man3/X509_NAME_get_index_by_NID.pod"
- ],
- "doc/html/man3/X509_NAME_print_ex.html" => [
- "doc/man3/X509_NAME_print_ex.pod"
- ],
- "doc/html/man3/X509_PUBKEY_new.html" => [
- "doc/man3/X509_PUBKEY_new.pod"
- ],
- "doc/html/man3/X509_REQ_get_attr.html" => [
- "doc/man3/X509_REQ_get_attr.pod"
- ],
- "doc/html/man3/X509_REQ_get_extensions.html" => [
- "doc/man3/X509_REQ_get_extensions.pod"
- ],
- "doc/html/man3/X509_SIG_get0.html" => [
- "doc/man3/X509_SIG_get0.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_get_by_subject.html" => [
- "doc/man3/X509_STORE_CTX_get_by_subject.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_get_error.html" => [
- "doc/man3/X509_STORE_CTX_get_error.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_new.html" => [
- "doc/man3/X509_STORE_CTX_new.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_set_verify_cb.html" => [
- "doc/man3/X509_STORE_CTX_set_verify_cb.pod"
- ],
- "doc/html/man3/X509_STORE_add_cert.html" => [
- "doc/man3/X509_STORE_add_cert.pod"
- ],
- "doc/html/man3/X509_STORE_get0_param.html" => [
- "doc/man3/X509_STORE_get0_param.pod"
- ],
- "doc/html/man3/X509_STORE_new.html" => [
- "doc/man3/X509_STORE_new.pod"
- ],
- "doc/html/man3/X509_STORE_set_verify_cb_func.html" => [
- "doc/man3/X509_STORE_set_verify_cb_func.pod"
- ],
- "doc/html/man3/X509_VERIFY_PARAM_set_flags.html" => [
- "doc/man3/X509_VERIFY_PARAM_set_flags.pod"
- ],
- "doc/html/man3/X509_add_cert.html" => [
- "doc/man3/X509_add_cert.pod"
- ],
- "doc/html/man3/X509_check_ca.html" => [
- "doc/man3/X509_check_ca.pod"
- ],
- "doc/html/man3/X509_check_host.html" => [
- "doc/man3/X509_check_host.pod"
- ],
- "doc/html/man3/X509_check_issued.html" => [
- "doc/man3/X509_check_issued.pod"
- ],
- "doc/html/man3/X509_check_private_key.html" => [
- "doc/man3/X509_check_private_key.pod"
- ],
- "doc/html/man3/X509_check_purpose.html" => [
- "doc/man3/X509_check_purpose.pod"
- ],
- "doc/html/man3/X509_cmp.html" => [
- "doc/man3/X509_cmp.pod"
- ],
- "doc/html/man3/X509_cmp_time.html" => [
- "doc/man3/X509_cmp_time.pod"
- ],
- "doc/html/man3/X509_digest.html" => [
- "doc/man3/X509_digest.pod"
- ],
- "doc/html/man3/X509_dup.html" => [
- "doc/man3/X509_dup.pod"
- ],
- "doc/html/man3/X509_get0_distinguishing_id.html" => [
- "doc/man3/X509_get0_distinguishing_id.pod"
- ],
- "doc/html/man3/X509_get0_notBefore.html" => [
- "doc/man3/X509_get0_notBefore.pod"
- ],
- "doc/html/man3/X509_get0_signature.html" => [
- "doc/man3/X509_get0_signature.pod"
- ],
- "doc/html/man3/X509_get0_uids.html" => [
- "doc/man3/X509_get0_uids.pod"
- ],
- "doc/html/man3/X509_get_default_cert_file.html" => [
- "doc/man3/X509_get_default_cert_file.pod"
- ],
- "doc/html/man3/X509_get_extension_flags.html" => [
- "doc/man3/X509_get_extension_flags.pod"
- ],
- "doc/html/man3/X509_get_pubkey.html" => [
- "doc/man3/X509_get_pubkey.pod"
- ],
- "doc/html/man3/X509_get_serialNumber.html" => [
- "doc/man3/X509_get_serialNumber.pod"
- ],
- "doc/html/man3/X509_get_subject_name.html" => [
- "doc/man3/X509_get_subject_name.pod"
- ],
- "doc/html/man3/X509_get_version.html" => [
- "doc/man3/X509_get_version.pod"
- ],
- "doc/html/man3/X509_load_http.html" => [
- "doc/man3/X509_load_http.pod"
- ],
- "doc/html/man3/X509_new.html" => [
- "doc/man3/X509_new.pod"
- ],
- "doc/html/man3/X509_sign.html" => [
- "doc/man3/X509_sign.pod"
- ],
- "doc/html/man3/X509_verify.html" => [
- "doc/man3/X509_verify.pod"
- ],
- "doc/html/man3/X509_verify_cert.html" => [
- "doc/man3/X509_verify_cert.pod"
- ],
- "doc/html/man3/X509v3_get_ext_by_NID.html" => [
- "doc/man3/X509v3_get_ext_by_NID.pod"
- ],
- "doc/html/man3/b2i_PVK_bio_ex.html" => [
- "doc/man3/b2i_PVK_bio_ex.pod"
- ],
- "doc/html/man3/d2i_PKCS8PrivateKey_bio.html" => [
- "doc/man3/d2i_PKCS8PrivateKey_bio.pod"
- ],
- "doc/html/man3/d2i_PrivateKey.html" => [
- "doc/man3/d2i_PrivateKey.pod"
- ],
- "doc/html/man3/d2i_RSAPrivateKey.html" => [
- "doc/man3/d2i_RSAPrivateKey.pod"
- ],
- "doc/html/man3/d2i_SSL_SESSION.html" => [
- "doc/man3/d2i_SSL_SESSION.pod"
- ],
- "doc/html/man3/d2i_X509.html" => [
- "doc/man3/d2i_X509.pod"
- ],
- "doc/html/man3/i2d_CMS_bio_stream.html" => [
- "doc/man3/i2d_CMS_bio_stream.pod"
- ],
- "doc/html/man3/i2d_PKCS7_bio_stream.html" => [
- "doc/man3/i2d_PKCS7_bio_stream.pod"
- ],
- "doc/html/man3/i2d_re_X509_tbs.html" => [
- "doc/man3/i2d_re_X509_tbs.pod"
- ],
- "doc/html/man3/o2i_SCT_LIST.html" => [
- "doc/man3/o2i_SCT_LIST.pod"
- ],
- "doc/html/man3/s2i_ASN1_IA5STRING.html" => [
- "doc/man3/s2i_ASN1_IA5STRING.pod"
- ],
- "doc/html/man5/config.html" => [
- "doc/man5/config.pod"
- ],
- "doc/html/man5/fips_config.html" => [
- "doc/man5/fips_config.pod"
- ],
- "doc/html/man5/x509v3_config.html" => [
- "doc/man5/x509v3_config.pod"
- ],
- "doc/html/man7/EVP_ASYM_CIPHER-RSA.html" => [
- "doc/man7/EVP_ASYM_CIPHER-RSA.pod"
- ],
- "doc/html/man7/EVP_ASYM_CIPHER-SM2.html" => [
- "doc/man7/EVP_ASYM_CIPHER-SM2.pod"
- ],
- "doc/html/man7/EVP_CIPHER-AES.html" => [
- "doc/man7/EVP_CIPHER-AES.pod"
- ],
- "doc/html/man7/EVP_CIPHER-ARIA.html" => [
- "doc/man7/EVP_CIPHER-ARIA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-BLOWFISH.html" => [
- "doc/man7/EVP_CIPHER-BLOWFISH.pod"
- ],
- "doc/html/man7/EVP_CIPHER-CAMELLIA.html" => [
- "doc/man7/EVP_CIPHER-CAMELLIA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-CAST.html" => [
- "doc/man7/EVP_CIPHER-CAST.pod"
- ],
- "doc/html/man7/EVP_CIPHER-CHACHA.html" => [
- "doc/man7/EVP_CIPHER-CHACHA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-DES.html" => [
- "doc/man7/EVP_CIPHER-DES.pod"
- ],
- "doc/html/man7/EVP_CIPHER-IDEA.html" => [
- "doc/man7/EVP_CIPHER-IDEA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-NULL.html" => [
- "doc/man7/EVP_CIPHER-NULL.pod"
- ],
- "doc/html/man7/EVP_CIPHER-RC2.html" => [
- "doc/man7/EVP_CIPHER-RC2.pod"
- ],
- "doc/html/man7/EVP_CIPHER-RC4.html" => [
- "doc/man7/EVP_CIPHER-RC4.pod"
- ],
- "doc/html/man7/EVP_CIPHER-RC5.html" => [
- "doc/man7/EVP_CIPHER-RC5.pod"
- ],
- "doc/html/man7/EVP_CIPHER-SEED.html" => [
- "doc/man7/EVP_CIPHER-SEED.pod"
- ],
- "doc/html/man7/EVP_CIPHER-SM4.html" => [
- "doc/man7/EVP_CIPHER-SM4.pod"
- ],
- "doc/html/man7/EVP_KDF-ARGON2.html" => [
- "doc/man7/EVP_KDF-ARGON2.pod"
- ],
- "doc/html/man7/EVP_KDF-HKDF.html" => [
- "doc/man7/EVP_KDF-HKDF.pod"
- ],
- "doc/html/man7/EVP_KDF-HMAC-DRBG.html" => [
- "doc/man7/EVP_KDF-HMAC-DRBG.pod"
- ],
- "doc/html/man7/EVP_KDF-KB.html" => [
- "doc/man7/EVP_KDF-KB.pod"
- ],
- "doc/html/man7/EVP_KDF-KRB5KDF.html" => [
- "doc/man7/EVP_KDF-KRB5KDF.pod"
- ],
- "doc/html/man7/EVP_KDF-PBKDF1.html" => [
- "doc/man7/EVP_KDF-PBKDF1.pod"
- ],
- "doc/html/man7/EVP_KDF-PBKDF2.html" => [
- "doc/man7/EVP_KDF-PBKDF2.pod"
- ],
- "doc/html/man7/EVP_KDF-PKCS12KDF.html" => [
- "doc/man7/EVP_KDF-PKCS12KDF.pod"
- ],
- "doc/html/man7/EVP_KDF-PVKKDF.html" => [
- "doc/man7/EVP_KDF-PVKKDF.pod"
- ],
- "doc/html/man7/EVP_KDF-SCRYPT.html" => [
- "doc/man7/EVP_KDF-SCRYPT.pod"
- ],
- "doc/html/man7/EVP_KDF-SS.html" => [
- "doc/man7/EVP_KDF-SS.pod"
- ],
- "doc/html/man7/EVP_KDF-SSHKDF.html" => [
- "doc/man7/EVP_KDF-SSHKDF.pod"
- ],
- "doc/html/man7/EVP_KDF-TLS13_KDF.html" => [
- "doc/man7/EVP_KDF-TLS13_KDF.pod"
- ],
- "doc/html/man7/EVP_KDF-TLS1_PRF.html" => [
- "doc/man7/EVP_KDF-TLS1_PRF.pod"
- ],
- "doc/html/man7/EVP_KDF-X942-ASN1.html" => [
- "doc/man7/EVP_KDF-X942-ASN1.pod"
- ],
- "doc/html/man7/EVP_KDF-X942-CONCAT.html" => [
- "doc/man7/EVP_KDF-X942-CONCAT.pod"
- ],
- "doc/html/man7/EVP_KDF-X963.html" => [
- "doc/man7/EVP_KDF-X963.pod"
- ],
- "doc/html/man7/EVP_KEM-EC.html" => [
- "doc/man7/EVP_KEM-EC.pod"
- ],
- "doc/html/man7/EVP_KEM-ML-KEM.html" => [
- "doc/man7/EVP_KEM-ML-KEM.pod"
- ],
- "doc/html/man7/EVP_KEM-RSA.html" => [
- "doc/man7/EVP_KEM-RSA.pod"
- ],
- "doc/html/man7/EVP_KEM-X25519.html" => [
- "doc/man7/EVP_KEM-X25519.pod"
- ],
- "doc/html/man7/EVP_KEYEXCH-DH.html" => [
- "doc/man7/EVP_KEYEXCH-DH.pod"
- ],
- "doc/html/man7/EVP_KEYEXCH-ECDH.html" => [
- "doc/man7/EVP_KEYEXCH-ECDH.pod"
- ],
- "doc/html/man7/EVP_KEYEXCH-X25519.html" => [
- "doc/man7/EVP_KEYEXCH-X25519.pod"
- ],
- "doc/html/man7/EVP_MAC-BLAKE2.html" => [
- "doc/man7/EVP_MAC-BLAKE2.pod"
- ],
- "doc/html/man7/EVP_MAC-CMAC.html" => [
- "doc/man7/EVP_MAC-CMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-GMAC.html" => [
- "doc/man7/EVP_MAC-GMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-HMAC.html" => [
- "doc/man7/EVP_MAC-HMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-KMAC.html" => [
- "doc/man7/EVP_MAC-KMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-Poly1305.html" => [
- "doc/man7/EVP_MAC-Poly1305.pod"
- ],
- "doc/html/man7/EVP_MAC-Siphash.html" => [
- "doc/man7/EVP_MAC-Siphash.pod"
- ],
- "doc/html/man7/EVP_MD-BLAKE2.html" => [
- "doc/man7/EVP_MD-BLAKE2.pod"
- ],
- "doc/html/man7/EVP_MD-KECCAK.html" => [
- "doc/man7/EVP_MD-KECCAK.pod"
- ],
- "doc/html/man7/EVP_MD-MD2.html" => [
- "doc/man7/EVP_MD-MD2.pod"
- ],
- "doc/html/man7/EVP_MD-MD4.html" => [
- "doc/man7/EVP_MD-MD4.pod"
- ],
- "doc/html/man7/EVP_MD-MD5-SHA1.html" => [
- "doc/man7/EVP_MD-MD5-SHA1.pod"
- ],
- "doc/html/man7/EVP_MD-MD5.html" => [
- "doc/man7/EVP_MD-MD5.pod"
- ],
- "doc/html/man7/EVP_MD-MDC2.html" => [
- "doc/man7/EVP_MD-MDC2.pod"
- ],
- "doc/html/man7/EVP_MD-NULL.html" => [
- "doc/man7/EVP_MD-NULL.pod"
- ],
- "doc/html/man7/EVP_MD-RIPEMD160.html" => [
- "doc/man7/EVP_MD-RIPEMD160.pod"
- ],
- "doc/html/man7/EVP_MD-SHA1.html" => [
- "doc/man7/EVP_MD-SHA1.pod"
- ],
- "doc/html/man7/EVP_MD-SHA2.html" => [
- "doc/man7/EVP_MD-SHA2.pod"
- ],
- "doc/html/man7/EVP_MD-SHA3.html" => [
- "doc/man7/EVP_MD-SHA3.pod"
- ],
- "doc/html/man7/EVP_MD-SHAKE.html" => [
- "doc/man7/EVP_MD-SHAKE.pod"
- ],
- "doc/html/man7/EVP_MD-SM3.html" => [
- "doc/man7/EVP_MD-SM3.pod"
- ],
- "doc/html/man7/EVP_MD-WHIRLPOOL.html" => [
- "doc/man7/EVP_MD-WHIRLPOOL.pod"
- ],
- "doc/html/man7/EVP_MD-common.html" => [
- "doc/man7/EVP_MD-common.pod"
- ],
- "doc/html/man7/EVP_PKEY-DH.html" => [
- "doc/man7/EVP_PKEY-DH.pod"
- ],
- "doc/html/man7/EVP_PKEY-DSA.html" => [
- "doc/man7/EVP_PKEY-DSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-EC.html" => [
- "doc/man7/EVP_PKEY-EC.pod"
- ],
- "doc/html/man7/EVP_PKEY-FFC.html" => [
- "doc/man7/EVP_PKEY-FFC.pod"
- ],
- "doc/html/man7/EVP_PKEY-HMAC.html" => [
- "doc/man7/EVP_PKEY-HMAC.pod"
- ],
- "doc/html/man7/EVP_PKEY-ML-DSA.html" => [
- "doc/man7/EVP_PKEY-ML-DSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-ML-KEM.html" => [
- "doc/man7/EVP_PKEY-ML-KEM.pod"
- ],
- "doc/html/man7/EVP_PKEY-RSA.html" => [
- "doc/man7/EVP_PKEY-RSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-SLH-DSA.html" => [
- "doc/man7/EVP_PKEY-SLH-DSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-SM2.html" => [
- "doc/man7/EVP_PKEY-SM2.pod"
- ],
- "doc/html/man7/EVP_PKEY-X25519.html" => [
- "doc/man7/EVP_PKEY-X25519.pod"
- ],
- "doc/html/man7/EVP_RAND-CRNG-TEST.html" => [
- "doc/man7/EVP_RAND-CRNG-TEST.pod"
- ],
- "doc/html/man7/EVP_RAND-CTR-DRBG.html" => [
- "doc/man7/EVP_RAND-CTR-DRBG.pod"
- ],
- "doc/html/man7/EVP_RAND-HASH-DRBG.html" => [
- "doc/man7/EVP_RAND-HASH-DRBG.pod"
- ],
- "doc/html/man7/EVP_RAND-HMAC-DRBG.html" => [
- "doc/man7/EVP_RAND-HMAC-DRBG.pod"
- ],
- "doc/html/man7/EVP_RAND-JITTER.html" => [
- "doc/man7/EVP_RAND-JITTER.pod"
- ],
- "doc/html/man7/EVP_RAND-SEED-SRC.html" => [
- "doc/man7/EVP_RAND-SEED-SRC.pod"
- ],
- "doc/html/man7/EVP_RAND-TEST-RAND.html" => [
- "doc/man7/EVP_RAND-TEST-RAND.pod"
- ],
- "doc/html/man7/EVP_RAND.html" => [
- "doc/man7/EVP_RAND.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-DSA.html" => [
- "doc/man7/EVP_SIGNATURE-DSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-ECDSA.html" => [
- "doc/man7/EVP_SIGNATURE-ECDSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-ED25519.html" => [
- "doc/man7/EVP_SIGNATURE-ED25519.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-HMAC.html" => [
- "doc/man7/EVP_SIGNATURE-HMAC.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-ML-DSA.html" => [
- "doc/man7/EVP_SIGNATURE-ML-DSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-RSA.html" => [
- "doc/man7/EVP_SIGNATURE-RSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-SLH-DSA.html" => [
- "doc/man7/EVP_SIGNATURE-SLH-DSA.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-FIPS.html" => [
- "doc/man7/OSSL_PROVIDER-FIPS.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-base.html" => [
- "doc/man7/OSSL_PROVIDER-base.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-default.html" => [
- "doc/man7/OSSL_PROVIDER-default.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-legacy.html" => [
- "doc/man7/OSSL_PROVIDER-legacy.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-null.html" => [
- "doc/man7/OSSL_PROVIDER-null.pod"
- ],
- "doc/html/man7/OSSL_STORE-winstore.html" => [
- "doc/man7/OSSL_STORE-winstore.pod"
- ],
- "doc/html/man7/RAND.html" => [
- "doc/man7/RAND.pod"
- ],
- "doc/html/man7/RSA-PSS.html" => [
- "doc/man7/RSA-PSS.pod"
- ],
- "doc/html/man7/X25519.html" => [
- "doc/man7/X25519.pod"
- ],
- "doc/html/man7/bio.html" => [
- "doc/man7/bio.pod"
- ],
- "doc/html/man7/ct.html" => [
- "doc/man7/ct.pod"
- ],
- "doc/html/man7/des_modes.html" => [
- "doc/man7/des_modes.pod"
- ],
- "doc/html/man7/evp.html" => [
- "doc/man7/evp.pod"
- ],
- "doc/html/man7/fips_module.html" => [
- "doc/man7/fips_module.pod"
- ],
- "doc/html/man7/life_cycle-cipher.html" => [
- "doc/man7/life_cycle-cipher.pod"
- ],
- "doc/html/man7/life_cycle-digest.html" => [
- "doc/man7/life_cycle-digest.pod"
- ],
- "doc/html/man7/life_cycle-kdf.html" => [
- "doc/man7/life_cycle-kdf.pod"
- ],
- "doc/html/man7/life_cycle-mac.html" => [
- "doc/man7/life_cycle-mac.pod"
- ],
- "doc/html/man7/life_cycle-pkey.html" => [
- "doc/man7/life_cycle-pkey.pod"
- ],
- "doc/html/man7/life_cycle-rand.html" => [
- "doc/man7/life_cycle-rand.pod"
- ],
- "doc/html/man7/openssl-core.h.html" => [
- "doc/man7/openssl-core.h.pod"
- ],
- "doc/html/man7/openssl-core_dispatch.h.html" => [
- "doc/man7/openssl-core_dispatch.h.pod"
- ],
- "doc/html/man7/openssl-core_names.h.html" => [
- "doc/man7/openssl-core_names.h.pod"
- ],
- "doc/html/man7/openssl-env.html" => [
- "doc/man7/openssl-env.pod"
- ],
- "doc/html/man7/openssl-glossary.html" => [
- "doc/man7/openssl-glossary.pod"
- ],
- "doc/html/man7/openssl-qlog.html" => [
- "doc/man7/openssl-qlog.pod"
- ],
- "doc/html/man7/openssl-quic-concurrency.html" => [
- "doc/man7/openssl-quic-concurrency.pod"
- ],
- "doc/html/man7/openssl-quic.html" => [
- "doc/man7/openssl-quic.pod"
- ],
- "doc/html/man7/openssl-threads.html" => [
- "doc/man7/openssl-threads.pod"
- ],
- "doc/html/man7/openssl_user_macros.html" => [
- "doc/man7/openssl_user_macros.pod"
- ],
- "doc/html/man7/ossl-guide-introduction.html" => [
- "doc/man7/ossl-guide-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-libcrypto-introduction.html" => [
- "doc/man7/ossl-guide-libcrypto-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-libraries-introduction.html" => [
- "doc/man7/ossl-guide-libraries-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-libssl-introduction.html" => [
- "doc/man7/ossl-guide-libssl-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-migration.html" => [
- "doc/man7/ossl-guide-migration.pod"
- ],
- "doc/html/man7/ossl-guide-quic-client-block.html" => [
- "doc/man7/ossl-guide-quic-client-block.pod"
- ],
- "doc/html/man7/ossl-guide-quic-client-non-block.html" => [
- "doc/man7/ossl-guide-quic-client-non-block.pod"
- ],
- "doc/html/man7/ossl-guide-quic-introduction.html" => [
- "doc/man7/ossl-guide-quic-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-quic-multi-stream.html" => [
- "doc/man7/ossl-guide-quic-multi-stream.pod"
- ],
- "doc/html/man7/ossl-guide-quic-server-block.html" => [
- "doc/man7/ossl-guide-quic-server-block.pod"
- ],
- "doc/html/man7/ossl-guide-quic-server-non-block.html" => [
- "doc/man7/ossl-guide-quic-server-non-block.pod"
- ],
- "doc/html/man7/ossl-guide-tls-client-block.html" => [
- "doc/man7/ossl-guide-tls-client-block.pod"
- ],
- "doc/html/man7/ossl-guide-tls-client-non-block.html" => [
- "doc/man7/ossl-guide-tls-client-non-block.pod"
- ],
- "doc/html/man7/ossl-guide-tls-introduction.html" => [
- "doc/man7/ossl-guide-tls-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-tls-server-block.html" => [
- "doc/man7/ossl-guide-tls-server-block.pod"
- ],
- "doc/html/man7/ossl_store-file.html" => [
- "doc/man7/ossl_store-file.pod"
- ],
- "doc/html/man7/ossl_store.html" => [
- "doc/man7/ossl_store.pod"
- ],
- "doc/html/man7/passphrase-encoding.html" => [
- "doc/man7/passphrase-encoding.pod"
- ],
- "doc/html/man7/property.html" => [
- "doc/man7/property.pod"
- ],
- "doc/html/man7/provider-asym_cipher.html" => [
- "doc/man7/provider-asym_cipher.pod"
- ],
- "doc/html/man7/provider-base.html" => [
- "doc/man7/provider-base.pod"
- ],
- "doc/html/man7/provider-cipher.html" => [
- "doc/man7/provider-cipher.pod"
- ],
- "doc/html/man7/provider-decoder.html" => [
- "doc/man7/provider-decoder.pod"
- ],
- "doc/html/man7/provider-digest.html" => [
- "doc/man7/provider-digest.pod"
- ],
- "doc/html/man7/provider-encoder.html" => [
- "doc/man7/provider-encoder.pod"
- ],
- "doc/html/man7/provider-kdf.html" => [
- "doc/man7/provider-kdf.pod"
- ],
- "doc/html/man7/provider-kem.html" => [
- "doc/man7/provider-kem.pod"
- ],
- "doc/html/man7/provider-keyexch.html" => [
- "doc/man7/provider-keyexch.pod"
- ],
- "doc/html/man7/provider-keymgmt.html" => [
- "doc/man7/provider-keymgmt.pod"
- ],
- "doc/html/man7/provider-mac.html" => [
- "doc/man7/provider-mac.pod"
- ],
- "doc/html/man7/provider-object.html" => [
- "doc/man7/provider-object.pod"
- ],
- "doc/html/man7/provider-rand.html" => [
- "doc/man7/provider-rand.pod"
- ],
- "doc/html/man7/provider-signature.html" => [
- "doc/man7/provider-signature.pod"
- ],
- "doc/html/man7/provider-skeymgmt.html" => [
- "doc/man7/provider-skeymgmt.pod"
- ],
- "doc/html/man7/provider-storemgmt.html" => [
- "doc/man7/provider-storemgmt.pod"
- ],
- "doc/html/man7/provider.html" => [
- "doc/man7/provider.pod"
- ],
- "doc/html/man7/proxy-certificates.html" => [
- "doc/man7/proxy-certificates.pod"
- ],
- "doc/html/man7/x509.html" => [
- "doc/man7/x509.pod"
- ],
- "doc/man/man1/CA.pl.1" => [
- "doc/man1/CA.pl.pod"
- ],
- "doc/man/man1/openssl-asn1parse.1" => [
- "doc/man1/openssl-asn1parse.pod"
- ],
- "doc/man/man1/openssl-ca.1" => [
- "doc/man1/openssl-ca.pod"
- ],
- "doc/man/man1/openssl-ciphers.1" => [
- "doc/man1/openssl-ciphers.pod"
- ],
- "doc/man/man1/openssl-cmds.1" => [
- "doc/man1/openssl-cmds.pod"
- ],
- "doc/man/man1/openssl-cmp.1" => [
- "doc/man1/openssl-cmp.pod"
- ],
- "doc/man/man1/openssl-cms.1" => [
- "doc/man1/openssl-cms.pod"
- ],
- "doc/man/man1/openssl-crl.1" => [
- "doc/man1/openssl-crl.pod"
- ],
- "doc/man/man1/openssl-crl2pkcs7.1" => [
- "doc/man1/openssl-crl2pkcs7.pod"
- ],
- "doc/man/man1/openssl-dgst.1" => [
- "doc/man1/openssl-dgst.pod"
- ],
- "doc/man/man1/openssl-dhparam.1" => [
- "doc/man1/openssl-dhparam.pod"
- ],
- "doc/man/man1/openssl-dsa.1" => [
- "doc/man1/openssl-dsa.pod"
- ],
- "doc/man/man1/openssl-dsaparam.1" => [
- "doc/man1/openssl-dsaparam.pod"
- ],
- "doc/man/man1/openssl-ec.1" => [
- "doc/man1/openssl-ec.pod"
- ],
- "doc/man/man1/openssl-ecparam.1" => [
- "doc/man1/openssl-ecparam.pod"
- ],
- "doc/man/man1/openssl-enc.1" => [
- "doc/man1/openssl-enc.pod"
- ],
- "doc/man/man1/openssl-engine.1" => [
- "doc/man1/openssl-engine.pod"
- ],
- "doc/man/man1/openssl-errstr.1" => [
- "doc/man1/openssl-errstr.pod"
- ],
- "doc/man/man1/openssl-fipsinstall.1" => [
- "doc/man1/openssl-fipsinstall.pod"
- ],
- "doc/man/man1/openssl-format-options.1" => [
- "doc/man1/openssl-format-options.pod"
- ],
- "doc/man/man1/openssl-gendsa.1" => [
- "doc/man1/openssl-gendsa.pod"
- ],
- "doc/man/man1/openssl-genpkey.1" => [
- "doc/man1/openssl-genpkey.pod"
- ],
- "doc/man/man1/openssl-genrsa.1" => [
- "doc/man1/openssl-genrsa.pod"
- ],
- "doc/man/man1/openssl-info.1" => [
- "doc/man1/openssl-info.pod"
- ],
- "doc/man/man1/openssl-kdf.1" => [
- "doc/man1/openssl-kdf.pod"
- ],
- "doc/man/man1/openssl-list.1" => [
- "doc/man1/openssl-list.pod"
- ],
- "doc/man/man1/openssl-mac.1" => [
- "doc/man1/openssl-mac.pod"
- ],
- "doc/man/man1/openssl-namedisplay-options.1" => [
- "doc/man1/openssl-namedisplay-options.pod"
- ],
- "doc/man/man1/openssl-nseq.1" => [
- "doc/man1/openssl-nseq.pod"
- ],
- "doc/man/man1/openssl-ocsp.1" => [
- "doc/man1/openssl-ocsp.pod"
- ],
- "doc/man/man1/openssl-passphrase-options.1" => [
- "doc/man1/openssl-passphrase-options.pod"
- ],
- "doc/man/man1/openssl-passwd.1" => [
- "doc/man1/openssl-passwd.pod"
- ],
- "doc/man/man1/openssl-pkcs12.1" => [
- "doc/man1/openssl-pkcs12.pod"
- ],
- "doc/man/man1/openssl-pkcs7.1" => [
- "doc/man1/openssl-pkcs7.pod"
- ],
- "doc/man/man1/openssl-pkcs8.1" => [
- "doc/man1/openssl-pkcs8.pod"
- ],
- "doc/man/man1/openssl-pkey.1" => [
- "doc/man1/openssl-pkey.pod"
- ],
- "doc/man/man1/openssl-pkeyparam.1" => [
- "doc/man1/openssl-pkeyparam.pod"
- ],
- "doc/man/man1/openssl-pkeyutl.1" => [
- "doc/man1/openssl-pkeyutl.pod"
- ],
- "doc/man/man1/openssl-prime.1" => [
- "doc/man1/openssl-prime.pod"
- ],
- "doc/man/man1/openssl-rand.1" => [
- "doc/man1/openssl-rand.pod"
- ],
- "doc/man/man1/openssl-rehash.1" => [
- "doc/man1/openssl-rehash.pod"
- ],
- "doc/man/man1/openssl-req.1" => [
- "doc/man1/openssl-req.pod"
- ],
- "doc/man/man1/openssl-rsa.1" => [
- "doc/man1/openssl-rsa.pod"
- ],
- "doc/man/man1/openssl-rsautl.1" => [
- "doc/man1/openssl-rsautl.pod"
- ],
- "doc/man/man1/openssl-s_client.1" => [
- "doc/man1/openssl-s_client.pod"
- ],
- "doc/man/man1/openssl-s_server.1" => [
- "doc/man1/openssl-s_server.pod"
- ],
- "doc/man/man1/openssl-s_time.1" => [
- "doc/man1/openssl-s_time.pod"
- ],
- "doc/man/man1/openssl-sess_id.1" => [
- "doc/man1/openssl-sess_id.pod"
- ],
- "doc/man/man1/openssl-skeyutl.1" => [
- "doc/man1/openssl-skeyutl.pod"
- ],
- "doc/man/man1/openssl-smime.1" => [
- "doc/man1/openssl-smime.pod"
- ],
- "doc/man/man1/openssl-speed.1" => [
- "doc/man1/openssl-speed.pod"
- ],
- "doc/man/man1/openssl-spkac.1" => [
- "doc/man1/openssl-spkac.pod"
- ],
- "doc/man/man1/openssl-srp.1" => [
- "doc/man1/openssl-srp.pod"
- ],
- "doc/man/man1/openssl-storeutl.1" => [
- "doc/man1/openssl-storeutl.pod"
- ],
- "doc/man/man1/openssl-ts.1" => [
- "doc/man1/openssl-ts.pod"
- ],
- "doc/man/man1/openssl-verification-options.1" => [
- "doc/man1/openssl-verification-options.pod"
- ],
- "doc/man/man1/openssl-verify.1" => [
- "doc/man1/openssl-verify.pod"
- ],
- "doc/man/man1/openssl-version.1" => [
- "doc/man1/openssl-version.pod"
- ],
- "doc/man/man1/openssl-x509.1" => [
- "doc/man1/openssl-x509.pod"
- ],
- "doc/man/man1/openssl.1" => [
- "doc/man1/openssl.pod"
- ],
- "doc/man/man1/tsget.1" => [
- "doc/man1/tsget.pod"
- ],
- "doc/man/man3/ADMISSIONS.3" => [
- "doc/man3/ADMISSIONS.pod"
- ],
- "doc/man/man3/ASN1_EXTERN_FUNCS.3" => [
- "doc/man3/ASN1_EXTERN_FUNCS.pod"
- ],
- "doc/man/man3/ASN1_INTEGER_get_int64.3" => [
- "doc/man3/ASN1_INTEGER_get_int64.pod"
- ],
- "doc/man/man3/ASN1_INTEGER_new.3" => [
- "doc/man3/ASN1_INTEGER_new.pod"
- ],
- "doc/man/man3/ASN1_ITEM_lookup.3" => [
- "doc/man3/ASN1_ITEM_lookup.pod"
- ],
- "doc/man/man3/ASN1_OBJECT_new.3" => [
- "doc/man3/ASN1_OBJECT_new.pod"
- ],
- "doc/man/man3/ASN1_STRING_TABLE_add.3" => [
- "doc/man3/ASN1_STRING_TABLE_add.pod"
- ],
- "doc/man/man3/ASN1_STRING_length.3" => [
- "doc/man3/ASN1_STRING_length.pod"
- ],
- "doc/man/man3/ASN1_STRING_new.3" => [
- "doc/man3/ASN1_STRING_new.pod"
- ],
- "doc/man/man3/ASN1_STRING_print_ex.3" => [
- "doc/man3/ASN1_STRING_print_ex.pod"
- ],
- "doc/man/man3/ASN1_TIME_set.3" => [
- "doc/man3/ASN1_TIME_set.pod"
- ],
- "doc/man/man3/ASN1_TYPE_get.3" => [
- "doc/man3/ASN1_TYPE_get.pod"
- ],
- "doc/man/man3/ASN1_aux_cb.3" => [
- "doc/man3/ASN1_aux_cb.pod"
- ],
- "doc/man/man3/ASN1_generate_nconf.3" => [
- "doc/man3/ASN1_generate_nconf.pod"
- ],
- "doc/man/man3/ASN1_item_d2i_bio.3" => [
- "doc/man3/ASN1_item_d2i_bio.pod"
- ],
- "doc/man/man3/ASN1_item_new.3" => [
- "doc/man3/ASN1_item_new.pod"
- ],
- "doc/man/man3/ASN1_item_sign.3" => [
- "doc/man3/ASN1_item_sign.pod"
- ],
- "doc/man/man3/ASYNC_WAIT_CTX_new.3" => [
- "doc/man3/ASYNC_WAIT_CTX_new.pod"
- ],
- "doc/man/man3/ASYNC_start_job.3" => [
- "doc/man3/ASYNC_start_job.pod"
- ],
- "doc/man/man3/BF_encrypt.3" => [
- "doc/man3/BF_encrypt.pod"
- ],
- "doc/man/man3/BIO_ADDR.3" => [
- "doc/man3/BIO_ADDR.pod"
- ],
- "doc/man/man3/BIO_ADDRINFO.3" => [
- "doc/man3/BIO_ADDRINFO.pod"
- ],
- "doc/man/man3/BIO_connect.3" => [
- "doc/man3/BIO_connect.pod"
- ],
- "doc/man/man3/BIO_ctrl.3" => [
- "doc/man3/BIO_ctrl.pod"
- ],
- "doc/man/man3/BIO_f_base64.3" => [
- "doc/man3/BIO_f_base64.pod"
- ],
- "doc/man/man3/BIO_f_buffer.3" => [
- "doc/man3/BIO_f_buffer.pod"
- ],
- "doc/man/man3/BIO_f_cipher.3" => [
- "doc/man3/BIO_f_cipher.pod"
- ],
- "doc/man/man3/BIO_f_md.3" => [
- "doc/man3/BIO_f_md.pod"
- ],
- "doc/man/man3/BIO_f_null.3" => [
- "doc/man3/BIO_f_null.pod"
- ],
- "doc/man/man3/BIO_f_prefix.3" => [
- "doc/man3/BIO_f_prefix.pod"
- ],
- "doc/man/man3/BIO_f_readbuffer.3" => [
- "doc/man3/BIO_f_readbuffer.pod"
- ],
- "doc/man/man3/BIO_f_ssl.3" => [
- "doc/man3/BIO_f_ssl.pod"
- ],
- "doc/man/man3/BIO_find_type.3" => [
- "doc/man3/BIO_find_type.pod"
- ],
- "doc/man/man3/BIO_get_data.3" => [
- "doc/man3/BIO_get_data.pod"
- ],
- "doc/man/man3/BIO_get_ex_new_index.3" => [
- "doc/man3/BIO_get_ex_new_index.pod"
- ],
- "doc/man/man3/BIO_get_rpoll_descriptor.3" => [
- "doc/man3/BIO_get_rpoll_descriptor.pod"
- ],
- "doc/man/man3/BIO_meth_new.3" => [
- "doc/man3/BIO_meth_new.pod"
- ],
- "doc/man/man3/BIO_new.3" => [
- "doc/man3/BIO_new.pod"
- ],
- "doc/man/man3/BIO_new_CMS.3" => [
- "doc/man3/BIO_new_CMS.pod"
- ],
- "doc/man/man3/BIO_parse_hostserv.3" => [
- "doc/man3/BIO_parse_hostserv.pod"
- ],
- "doc/man/man3/BIO_printf.3" => [
- "doc/man3/BIO_printf.pod"
- ],
- "doc/man/man3/BIO_push.3" => [
- "doc/man3/BIO_push.pod"
- ],
- "doc/man/man3/BIO_read.3" => [
- "doc/man3/BIO_read.pod"
- ],
- "doc/man/man3/BIO_s_accept.3" => [
- "doc/man3/BIO_s_accept.pod"
- ],
- "doc/man/man3/BIO_s_bio.3" => [
- "doc/man3/BIO_s_bio.pod"
- ],
- "doc/man/man3/BIO_s_connect.3" => [
- "doc/man3/BIO_s_connect.pod"
- ],
- "doc/man/man3/BIO_s_core.3" => [
- "doc/man3/BIO_s_core.pod"
- ],
- "doc/man/man3/BIO_s_datagram.3" => [
- "doc/man3/BIO_s_datagram.pod"
- ],
- "doc/man/man3/BIO_s_dgram_pair.3" => [
- "doc/man3/BIO_s_dgram_pair.pod"
- ],
- "doc/man/man3/BIO_s_fd.3" => [
- "doc/man3/BIO_s_fd.pod"
- ],
- "doc/man/man3/BIO_s_file.3" => [
- "doc/man3/BIO_s_file.pod"
- ],
- "doc/man/man3/BIO_s_mem.3" => [
- "doc/man3/BIO_s_mem.pod"
- ],
- "doc/man/man3/BIO_s_null.3" => [
- "doc/man3/BIO_s_null.pod"
- ],
- "doc/man/man3/BIO_s_socket.3" => [
- "doc/man3/BIO_s_socket.pod"
- ],
- "doc/man/man3/BIO_sendmmsg.3" => [
- "doc/man3/BIO_sendmmsg.pod"
- ],
- "doc/man/man3/BIO_set_callback.3" => [
- "doc/man3/BIO_set_callback.pod"
- ],
- "doc/man/man3/BIO_should_retry.3" => [
- "doc/man3/BIO_should_retry.pod"
- ],
- "doc/man/man3/BIO_socket_wait.3" => [
- "doc/man3/BIO_socket_wait.pod"
- ],
- "doc/man/man3/BN_BLINDING_new.3" => [
- "doc/man3/BN_BLINDING_new.pod"
- ],
- "doc/man/man3/BN_CTX_new.3" => [
- "doc/man3/BN_CTX_new.pod"
- ],
- "doc/man/man3/BN_CTX_start.3" => [
- "doc/man3/BN_CTX_start.pod"
- ],
- "doc/man/man3/BN_add.3" => [
- "doc/man3/BN_add.pod"
- ],
- "doc/man/man3/BN_add_word.3" => [
- "doc/man3/BN_add_word.pod"
- ],
- "doc/man/man3/BN_bn2bin.3" => [
- "doc/man3/BN_bn2bin.pod"
- ],
- "doc/man/man3/BN_cmp.3" => [
- "doc/man3/BN_cmp.pod"
- ],
- "doc/man/man3/BN_copy.3" => [
- "doc/man3/BN_copy.pod"
- ],
- "doc/man/man3/BN_generate_prime.3" => [
- "doc/man3/BN_generate_prime.pod"
- ],
- "doc/man/man3/BN_mod_exp_mont.3" => [
- "doc/man3/BN_mod_exp_mont.pod"
- ],
- "doc/man/man3/BN_mod_inverse.3" => [
- "doc/man3/BN_mod_inverse.pod"
- ],
- "doc/man/man3/BN_mod_mul_montgomery.3" => [
- "doc/man3/BN_mod_mul_montgomery.pod"
- ],
- "doc/man/man3/BN_mod_mul_reciprocal.3" => [
- "doc/man3/BN_mod_mul_reciprocal.pod"
- ],
- "doc/man/man3/BN_new.3" => [
- "doc/man3/BN_new.pod"
- ],
- "doc/man/man3/BN_num_bytes.3" => [
- "doc/man3/BN_num_bytes.pod"
- ],
- "doc/man/man3/BN_rand.3" => [
- "doc/man3/BN_rand.pod"
- ],
- "doc/man/man3/BN_security_bits.3" => [
- "doc/man3/BN_security_bits.pod"
- ],
- "doc/man/man3/BN_set_bit.3" => [
- "doc/man3/BN_set_bit.pod"
- ],
- "doc/man/man3/BN_swap.3" => [
- "doc/man3/BN_swap.pod"
- ],
- "doc/man/man3/BN_zero.3" => [
- "doc/man3/BN_zero.pod"
- ],
- "doc/man/man3/BUF_MEM_new.3" => [
- "doc/man3/BUF_MEM_new.pod"
- ],
- "doc/man/man3/CMAC_CTX.3" => [
- "doc/man3/CMAC_CTX.pod"
- ],
- "doc/man/man3/CMS_EncryptedData_decrypt.3" => [
- "doc/man3/CMS_EncryptedData_decrypt.pod"
- ],
- "doc/man/man3/CMS_EncryptedData_encrypt.3" => [
- "doc/man3/CMS_EncryptedData_encrypt.pod"
- ],
- "doc/man/man3/CMS_EnvelopedData_create.3" => [
- "doc/man3/CMS_EnvelopedData_create.pod"
- ],
- "doc/man/man3/CMS_add0_cert.3" => [
- "doc/man3/CMS_add0_cert.pod"
- ],
- "doc/man/man3/CMS_add1_recipient_cert.3" => [
- "doc/man3/CMS_add1_recipient_cert.pod"
- ],
- "doc/man/man3/CMS_add1_signer.3" => [
- "doc/man3/CMS_add1_signer.pod"
- ],
- "doc/man/man3/CMS_compress.3" => [
- "doc/man3/CMS_compress.pod"
- ],
- "doc/man/man3/CMS_data_create.3" => [
- "doc/man3/CMS_data_create.pod"
- ],
- "doc/man/man3/CMS_decrypt.3" => [
- "doc/man3/CMS_decrypt.pod"
- ],
- "doc/man/man3/CMS_digest_create.3" => [
- "doc/man3/CMS_digest_create.pod"
- ],
- "doc/man/man3/CMS_encrypt.3" => [
- "doc/man3/CMS_encrypt.pod"
- ],
- "doc/man/man3/CMS_final.3" => [
- "doc/man3/CMS_final.pod"
- ],
- "doc/man/man3/CMS_get0_RecipientInfos.3" => [
- "doc/man3/CMS_get0_RecipientInfos.pod"
- ],
- "doc/man/man3/CMS_get0_SignerInfos.3" => [
- "doc/man3/CMS_get0_SignerInfos.pod"
- ],
- "doc/man/man3/CMS_get0_type.3" => [
- "doc/man3/CMS_get0_type.pod"
- ],
- "doc/man/man3/CMS_get1_ReceiptRequest.3" => [
- "doc/man3/CMS_get1_ReceiptRequest.pod"
- ],
- "doc/man/man3/CMS_sign.3" => [
- "doc/man3/CMS_sign.pod"
- ],
- "doc/man/man3/CMS_sign_receipt.3" => [
- "doc/man3/CMS_sign_receipt.pod"
- ],
- "doc/man/man3/CMS_signed_get_attr.3" => [
- "doc/man3/CMS_signed_get_attr.pod"
- ],
- "doc/man/man3/CMS_uncompress.3" => [
- "doc/man3/CMS_uncompress.pod"
- ],
- "doc/man/man3/CMS_verify.3" => [
- "doc/man3/CMS_verify.pod"
- ],
- "doc/man/man3/CMS_verify_receipt.3" => [
- "doc/man3/CMS_verify_receipt.pod"
- ],
- "doc/man/man3/COMP_CTX_new.3" => [
- "doc/man3/COMP_CTX_new.pod"
- ],
- "doc/man/man3/CONF_modules_free.3" => [
- "doc/man3/CONF_modules_free.pod"
- ],
- "doc/man/man3/CONF_modules_load_file.3" => [
- "doc/man3/CONF_modules_load_file.pod"
- ],
- "doc/man/man3/CRYPTO_THREAD_run_once.3" => [
- "doc/man3/CRYPTO_THREAD_run_once.pod"
- ],
- "doc/man/man3/CRYPTO_get_ex_new_index.3" => [
- "doc/man3/CRYPTO_get_ex_new_index.pod"
- ],
- "doc/man/man3/CRYPTO_memcmp.3" => [
- "doc/man3/CRYPTO_memcmp.pod"
- ],
- "doc/man/man3/CTLOG_STORE_get0_log_by_id.3" => [
- "doc/man3/CTLOG_STORE_get0_log_by_id.pod"
- ],
- "doc/man/man3/CTLOG_STORE_new.3" => [
- "doc/man3/CTLOG_STORE_new.pod"
- ],
- "doc/man/man3/CTLOG_new.3" => [
- "doc/man3/CTLOG_new.pod"
- ],
- "doc/man/man3/CT_POLICY_EVAL_CTX_new.3" => [
- "doc/man3/CT_POLICY_EVAL_CTX_new.pod"
- ],
- "doc/man/man3/DEFINE_STACK_OF.3" => [
- "doc/man3/DEFINE_STACK_OF.pod"
- ],
- "doc/man/man3/DES_random_key.3" => [
- "doc/man3/DES_random_key.pod"
- ],
- "doc/man/man3/DH_generate_key.3" => [
- "doc/man3/DH_generate_key.pod"
- ],
- "doc/man/man3/DH_generate_parameters.3" => [
- "doc/man3/DH_generate_parameters.pod"
- ],
- "doc/man/man3/DH_get0_pqg.3" => [
- "doc/man3/DH_get0_pqg.pod"
- ],
- "doc/man/man3/DH_get_1024_160.3" => [
- "doc/man3/DH_get_1024_160.pod"
- ],
- "doc/man/man3/DH_meth_new.3" => [
- "doc/man3/DH_meth_new.pod"
- ],
- "doc/man/man3/DH_new.3" => [
- "doc/man3/DH_new.pod"
- ],
- "doc/man/man3/DH_new_by_nid.3" => [
- "doc/man3/DH_new_by_nid.pod"
- ],
- "doc/man/man3/DH_set_method.3" => [
- "doc/man3/DH_set_method.pod"
- ],
- "doc/man/man3/DH_size.3" => [
- "doc/man3/DH_size.pod"
- ],
- "doc/man/man3/DSA_SIG_new.3" => [
- "doc/man3/DSA_SIG_new.pod"
- ],
- "doc/man/man3/DSA_do_sign.3" => [
- "doc/man3/DSA_do_sign.pod"
- ],
- "doc/man/man3/DSA_dup_DH.3" => [
- "doc/man3/DSA_dup_DH.pod"
- ],
- "doc/man/man3/DSA_generate_key.3" => [
- "doc/man3/DSA_generate_key.pod"
- ],
- "doc/man/man3/DSA_generate_parameters.3" => [
- "doc/man3/DSA_generate_parameters.pod"
- ],
- "doc/man/man3/DSA_get0_pqg.3" => [
- "doc/man3/DSA_get0_pqg.pod"
- ],
- "doc/man/man3/DSA_meth_new.3" => [
- "doc/man3/DSA_meth_new.pod"
- ],
- "doc/man/man3/DSA_new.3" => [
- "doc/man3/DSA_new.pod"
- ],
- "doc/man/man3/DSA_set_method.3" => [
- "doc/man3/DSA_set_method.pod"
- ],
- "doc/man/man3/DSA_sign.3" => [
- "doc/man3/DSA_sign.pod"
- ],
- "doc/man/man3/DSA_size.3" => [
- "doc/man3/DSA_size.pod"
- ],
- "doc/man/man3/DTLS_get_data_mtu.3" => [
- "doc/man3/DTLS_get_data_mtu.pod"
- ],
- "doc/man/man3/DTLS_set_timer_cb.3" => [
- "doc/man3/DTLS_set_timer_cb.pod"
- ],
- "doc/man/man3/DTLSv1_get_timeout.3" => [
- "doc/man3/DTLSv1_get_timeout.pod"
- ],
- "doc/man/man3/DTLSv1_handle_timeout.3" => [
- "doc/man3/DTLSv1_handle_timeout.pod"
- ],
- "doc/man/man3/DTLSv1_listen.3" => [
- "doc/man3/DTLSv1_listen.pod"
- ],
- "doc/man/man3/ECDSA_SIG_new.3" => [
- "doc/man3/ECDSA_SIG_new.pod"
- ],
- "doc/man/man3/ECDSA_sign.3" => [
- "doc/man3/ECDSA_sign.pod"
- ],
- "doc/man/man3/ECPKParameters_print.3" => [
- "doc/man3/ECPKParameters_print.pod"
- ],
- "doc/man/man3/EC_GFp_simple_method.3" => [
- "doc/man3/EC_GFp_simple_method.pod"
- ],
- "doc/man/man3/EC_GROUP_copy.3" => [
- "doc/man3/EC_GROUP_copy.pod"
- ],
- "doc/man/man3/EC_GROUP_new.3" => [
- "doc/man3/EC_GROUP_new.pod"
- ],
- "doc/man/man3/EC_KEY_get_enc_flags.3" => [
- "doc/man3/EC_KEY_get_enc_flags.pod"
- ],
- "doc/man/man3/EC_KEY_new.3" => [
- "doc/man3/EC_KEY_new.pod"
- ],
- "doc/man/man3/EC_POINT_add.3" => [
- "doc/man3/EC_POINT_add.pod"
- ],
- "doc/man/man3/EC_POINT_new.3" => [
- "doc/man3/EC_POINT_new.pod"
- ],
- "doc/man/man3/ENGINE_add.3" => [
- "doc/man3/ENGINE_add.pod"
- ],
- "doc/man/man3/ERR_GET_LIB.3" => [
- "doc/man3/ERR_GET_LIB.pod"
- ],
- "doc/man/man3/ERR_clear_error.3" => [
- "doc/man3/ERR_clear_error.pod"
- ],
- "doc/man/man3/ERR_error_string.3" => [
- "doc/man3/ERR_error_string.pod"
- ],
- "doc/man/man3/ERR_get_error.3" => [
- "doc/man3/ERR_get_error.pod"
- ],
- "doc/man/man3/ERR_load_crypto_strings.3" => [
- "doc/man3/ERR_load_crypto_strings.pod"
- ],
- "doc/man/man3/ERR_load_strings.3" => [
- "doc/man3/ERR_load_strings.pod"
- ],
- "doc/man/man3/ERR_new.3" => [
- "doc/man3/ERR_new.pod"
- ],
- "doc/man/man3/ERR_print_errors.3" => [
- "doc/man3/ERR_print_errors.pod"
- ],
- "doc/man/man3/ERR_put_error.3" => [
- "doc/man3/ERR_put_error.pod"
- ],
- "doc/man/man3/ERR_remove_state.3" => [
- "doc/man3/ERR_remove_state.pod"
- ],
- "doc/man/man3/ERR_set_mark.3" => [
- "doc/man3/ERR_set_mark.pod"
- ],
- "doc/man/man3/EVP_ASYM_CIPHER_free.3" => [
- "doc/man3/EVP_ASYM_CIPHER_free.pod"
- ],
- "doc/man/man3/EVP_BytesToKey.3" => [
- "doc/man3/EVP_BytesToKey.pod"
- ],
- "doc/man/man3/EVP_CIPHER_CTX_get_cipher_data.3" => [
- "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod"
- ],
- "doc/man/man3/EVP_CIPHER_CTX_get_original_iv.3" => [
- "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod"
- ],
- "doc/man/man3/EVP_CIPHER_meth_new.3" => [
- "doc/man3/EVP_CIPHER_meth_new.pod"
- ],
- "doc/man/man3/EVP_DigestInit.3" => [
- "doc/man3/EVP_DigestInit.pod"
- ],
- "doc/man/man3/EVP_DigestSignInit.3" => [
- "doc/man3/EVP_DigestSignInit.pod"
- ],
- "doc/man/man3/EVP_DigestVerifyInit.3" => [
- "doc/man3/EVP_DigestVerifyInit.pod"
- ],
- "doc/man/man3/EVP_EncodeInit.3" => [
- "doc/man3/EVP_EncodeInit.pod"
- ],
- "doc/man/man3/EVP_EncryptInit.3" => [
- "doc/man3/EVP_EncryptInit.pod"
- ],
- "doc/man/man3/EVP_KDF.3" => [
- "doc/man3/EVP_KDF.pod"
- ],
- "doc/man/man3/EVP_KEM_free.3" => [
- "doc/man3/EVP_KEM_free.pod"
- ],
- "doc/man/man3/EVP_KEYEXCH_free.3" => [
- "doc/man3/EVP_KEYEXCH_free.pod"
- ],
- "doc/man/man3/EVP_KEYMGMT.3" => [
- "doc/man3/EVP_KEYMGMT.pod"
- ],
- "doc/man/man3/EVP_MAC.3" => [
- "doc/man3/EVP_MAC.pod"
- ],
- "doc/man/man3/EVP_MD_meth_new.3" => [
- "doc/man3/EVP_MD_meth_new.pod"
- ],
- "doc/man/man3/EVP_OpenInit.3" => [
- "doc/man3/EVP_OpenInit.pod"
- ],
- "doc/man/man3/EVP_PBE_CipherInit.3" => [
- "doc/man3/EVP_PBE_CipherInit.pod"
- ],
- "doc/man/man3/EVP_PKEY2PKCS8.3" => [
- "doc/man3/EVP_PKEY2PKCS8.pod"
- ],
- "doc/man/man3/EVP_PKEY_ASN1_METHOD.3" => [
- "doc/man3/EVP_PKEY_ASN1_METHOD.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_ctrl.3" => [
- "doc/man3/EVP_PKEY_CTX_ctrl.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_get0_libctx.3" => [
- "doc/man3/EVP_PKEY_CTX_get0_libctx.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_get0_pkey.3" => [
- "doc/man3/EVP_PKEY_CTX_get0_pkey.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_get_algor.3" => [
- "doc/man3/EVP_PKEY_CTX_get_algor.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_new.3" => [
- "doc/man3/EVP_PKEY_CTX_new.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3" => [
- "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_hkdf_md.3" => [
- "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_params.3" => [
- "doc/man3/EVP_PKEY_CTX_set_params.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3" => [
- "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_scrypt_N.3" => [
- "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3" => [
- "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod"
- ],
- "doc/man/man3/EVP_PKEY_asn1_get_count.3" => [
- "doc/man3/EVP_PKEY_asn1_get_count.pod"
- ],
- "doc/man/man3/EVP_PKEY_check.3" => [
- "doc/man3/EVP_PKEY_check.pod"
- ],
- "doc/man/man3/EVP_PKEY_copy_parameters.3" => [
- "doc/man3/EVP_PKEY_copy_parameters.pod"
- ],
- "doc/man/man3/EVP_PKEY_decapsulate.3" => [
- "doc/man3/EVP_PKEY_decapsulate.pod"
- ],
- "doc/man/man3/EVP_PKEY_decrypt.3" => [
- "doc/man3/EVP_PKEY_decrypt.pod"
- ],
- "doc/man/man3/EVP_PKEY_derive.3" => [
- "doc/man3/EVP_PKEY_derive.pod"
- ],
- "doc/man/man3/EVP_PKEY_digestsign_supports_digest.3" => [
- "doc/man3/EVP_PKEY_digestsign_supports_digest.pod"
- ],
- "doc/man/man3/EVP_PKEY_encapsulate.3" => [
- "doc/man3/EVP_PKEY_encapsulate.pod"
- ],
- "doc/man/man3/EVP_PKEY_encrypt.3" => [
- "doc/man3/EVP_PKEY_encrypt.pod"
- ],
- "doc/man/man3/EVP_PKEY_fromdata.3" => [
- "doc/man3/EVP_PKEY_fromdata.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_attr.3" => [
- "doc/man3/EVP_PKEY_get_attr.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_default_digest_nid.3" => [
- "doc/man3/EVP_PKEY_get_default_digest_nid.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_field_type.3" => [
- "doc/man3/EVP_PKEY_get_field_type.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_group_name.3" => [
- "doc/man3/EVP_PKEY_get_group_name.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_size.3" => [
- "doc/man3/EVP_PKEY_get_size.pod"
- ],
- "doc/man/man3/EVP_PKEY_gettable_params.3" => [
- "doc/man3/EVP_PKEY_gettable_params.pod"
- ],
- "doc/man/man3/EVP_PKEY_is_a.3" => [
- "doc/man3/EVP_PKEY_is_a.pod"
- ],
- "doc/man/man3/EVP_PKEY_keygen.3" => [
- "doc/man3/EVP_PKEY_keygen.pod"
- ],
- "doc/man/man3/EVP_PKEY_meth_get_count.3" => [
- "doc/man3/EVP_PKEY_meth_get_count.pod"
- ],
- "doc/man/man3/EVP_PKEY_meth_new.3" => [
- "doc/man3/EVP_PKEY_meth_new.pod"
- ],
- "doc/man/man3/EVP_PKEY_new.3" => [
- "doc/man3/EVP_PKEY_new.pod"
- ],
- "doc/man/man3/EVP_PKEY_print_private.3" => [
- "doc/man3/EVP_PKEY_print_private.pod"
- ],
- "doc/man/man3/EVP_PKEY_set1_RSA.3" => [
- "doc/man3/EVP_PKEY_set1_RSA.pod"
- ],
- "doc/man/man3/EVP_PKEY_set1_encoded_public_key.3" => [
- "doc/man3/EVP_PKEY_set1_encoded_public_key.pod"
- ],
- "doc/man/man3/EVP_PKEY_set_type.3" => [
- "doc/man3/EVP_PKEY_set_type.pod"
- ],
- "doc/man/man3/EVP_PKEY_settable_params.3" => [
- "doc/man3/EVP_PKEY_settable_params.pod"
- ],
- "doc/man/man3/EVP_PKEY_sign.3" => [
- "doc/man3/EVP_PKEY_sign.pod"
- ],
- "doc/man/man3/EVP_PKEY_todata.3" => [
- "doc/man3/EVP_PKEY_todata.pod"
- ],
- "doc/man/man3/EVP_PKEY_verify.3" => [
- "doc/man3/EVP_PKEY_verify.pod"
- ],
- "doc/man/man3/EVP_PKEY_verify_recover.3" => [
- "doc/man3/EVP_PKEY_verify_recover.pod"
- ],
- "doc/man/man3/EVP_RAND.3" => [
- "doc/man3/EVP_RAND.pod"
- ],
- "doc/man/man3/EVP_SIGNATURE.3" => [
- "doc/man3/EVP_SIGNATURE.pod"
- ],
- "doc/man/man3/EVP_SKEY.3" => [
- "doc/man3/EVP_SKEY.pod"
- ],
- "doc/man/man3/EVP_SKEYMGMT.3" => [
- "doc/man3/EVP_SKEYMGMT.pod"
- ],
- "doc/man/man3/EVP_SealInit.3" => [
- "doc/man3/EVP_SealInit.pod"
- ],
- "doc/man/man3/EVP_SignInit.3" => [
- "doc/man3/EVP_SignInit.pod"
- ],
- "doc/man/man3/EVP_VerifyInit.3" => [
- "doc/man3/EVP_VerifyInit.pod"
- ],
- "doc/man/man3/EVP_aes_128_gcm.3" => [
- "doc/man3/EVP_aes_128_gcm.pod"
- ],
- "doc/man/man3/EVP_aria_128_gcm.3" => [
- "doc/man3/EVP_aria_128_gcm.pod"
- ],
- "doc/man/man3/EVP_bf_cbc.3" => [
- "doc/man3/EVP_bf_cbc.pod"
- ],
- "doc/man/man3/EVP_blake2b512.3" => [
- "doc/man3/EVP_blake2b512.pod"
- ],
- "doc/man/man3/EVP_camellia_128_ecb.3" => [
- "doc/man3/EVP_camellia_128_ecb.pod"
- ],
- "doc/man/man3/EVP_cast5_cbc.3" => [
- "doc/man3/EVP_cast5_cbc.pod"
- ],
- "doc/man/man3/EVP_chacha20.3" => [
- "doc/man3/EVP_chacha20.pod"
- ],
- "doc/man/man3/EVP_des_cbc.3" => [
- "doc/man3/EVP_des_cbc.pod"
- ],
- "doc/man/man3/EVP_desx_cbc.3" => [
- "doc/man3/EVP_desx_cbc.pod"
- ],
- "doc/man/man3/EVP_idea_cbc.3" => [
- "doc/man3/EVP_idea_cbc.pod"
- ],
- "doc/man/man3/EVP_md2.3" => [
- "doc/man3/EVP_md2.pod"
- ],
- "doc/man/man3/EVP_md4.3" => [
- "doc/man3/EVP_md4.pod"
- ],
- "doc/man/man3/EVP_md5.3" => [
- "doc/man3/EVP_md5.pod"
- ],
- "doc/man/man3/EVP_mdc2.3" => [
- "doc/man3/EVP_mdc2.pod"
- ],
- "doc/man/man3/EVP_rc2_cbc.3" => [
- "doc/man3/EVP_rc2_cbc.pod"
- ],
- "doc/man/man3/EVP_rc4.3" => [
- "doc/man3/EVP_rc4.pod"
- ],
- "doc/man/man3/EVP_rc5_32_12_16_cbc.3" => [
- "doc/man3/EVP_rc5_32_12_16_cbc.pod"
- ],
- "doc/man/man3/EVP_ripemd160.3" => [
- "doc/man3/EVP_ripemd160.pod"
- ],
- "doc/man/man3/EVP_seed_cbc.3" => [
- "doc/man3/EVP_seed_cbc.pod"
- ],
- "doc/man/man3/EVP_set_default_properties.3" => [
- "doc/man3/EVP_set_default_properties.pod"
- ],
- "doc/man/man3/EVP_sha1.3" => [
- "doc/man3/EVP_sha1.pod"
- ],
- "doc/man/man3/EVP_sha224.3" => [
- "doc/man3/EVP_sha224.pod"
- ],
- "doc/man/man3/EVP_sha3_224.3" => [
- "doc/man3/EVP_sha3_224.pod"
- ],
- "doc/man/man3/EVP_sm3.3" => [
- "doc/man3/EVP_sm3.pod"
- ],
- "doc/man/man3/EVP_sm4_cbc.3" => [
- "doc/man3/EVP_sm4_cbc.pod"
- ],
- "doc/man/man3/EVP_whirlpool.3" => [
- "doc/man3/EVP_whirlpool.pod"
- ],
- "doc/man/man3/GENERAL_NAME.3" => [
- "doc/man3/GENERAL_NAME.pod"
- ],
- "doc/man/man3/HMAC.3" => [
- "doc/man3/HMAC.pod"
- ],
- "doc/man/man3/MD5.3" => [
- "doc/man3/MD5.pod"
- ],
- "doc/man/man3/MDC2_Init.3" => [
- "doc/man3/MDC2_Init.pod"
- ],
- "doc/man/man3/NCONF_new_ex.3" => [
- "doc/man3/NCONF_new_ex.pod"
- ],
- "doc/man/man3/OBJ_nid2obj.3" => [
- "doc/man3/OBJ_nid2obj.pod"
- ],
- "doc/man/man3/OCSP_REQUEST_new.3" => [
- "doc/man3/OCSP_REQUEST_new.pod"
- ],
- "doc/man/man3/OCSP_cert_to_id.3" => [
- "doc/man3/OCSP_cert_to_id.pod"
- ],
- "doc/man/man3/OCSP_request_add1_nonce.3" => [
- "doc/man3/OCSP_request_add1_nonce.pod"
- ],
- "doc/man/man3/OCSP_resp_find_status.3" => [
- "doc/man3/OCSP_resp_find_status.pod"
- ],
- "doc/man/man3/OCSP_response_status.3" => [
- "doc/man3/OCSP_response_status.pod"
- ],
- "doc/man/man3/OCSP_sendreq_new.3" => [
- "doc/man3/OCSP_sendreq_new.pod"
- ],
- "doc/man/man3/OPENSSL_Applink.3" => [
- "doc/man3/OPENSSL_Applink.pod"
- ],
- "doc/man/man3/OPENSSL_FILE.3" => [
- "doc/man3/OPENSSL_FILE.pod"
- ],
- "doc/man/man3/OPENSSL_LH_COMPFUNC.3" => [
- "doc/man3/OPENSSL_LH_COMPFUNC.pod"
- ],
- "doc/man/man3/OPENSSL_LH_stats.3" => [
- "doc/man3/OPENSSL_LH_stats.pod"
- ],
- "doc/man/man3/OPENSSL_config.3" => [
- "doc/man3/OPENSSL_config.pod"
- ],
- "doc/man/man3/OPENSSL_fork_prepare.3" => [
- "doc/man3/OPENSSL_fork_prepare.pod"
- ],
- "doc/man/man3/OPENSSL_gmtime.3" => [
- "doc/man3/OPENSSL_gmtime.pod"
- ],
- "doc/man/man3/OPENSSL_hexchar2int.3" => [
- "doc/man3/OPENSSL_hexchar2int.pod"
- ],
- "doc/man/man3/OPENSSL_ia32cap.3" => [
- "doc/man3/OPENSSL_ia32cap.pod"
- ],
- "doc/man/man3/OPENSSL_init_crypto.3" => [
- "doc/man3/OPENSSL_init_crypto.pod"
- ],
- "doc/man/man3/OPENSSL_init_ssl.3" => [
- "doc/man3/OPENSSL_init_ssl.pod"
- ],
- "doc/man/man3/OPENSSL_instrument_bus.3" => [
- "doc/man3/OPENSSL_instrument_bus.pod"
- ],
- "doc/man/man3/OPENSSL_load_builtin_modules.3" => [
- "doc/man3/OPENSSL_load_builtin_modules.pod"
- ],
- "doc/man/man3/OPENSSL_load_u16_le.3" => [
- "doc/man3/OPENSSL_load_u16_le.pod"
- ],
- "doc/man/man3/OPENSSL_malloc.3" => [
- "doc/man3/OPENSSL_malloc.pod"
- ],
- "doc/man/man3/OPENSSL_riscvcap.3" => [
- "doc/man3/OPENSSL_riscvcap.pod"
- ],
- "doc/man/man3/OPENSSL_s390xcap.3" => [
- "doc/man3/OPENSSL_s390xcap.pod"
- ],
- "doc/man/man3/OPENSSL_secure_malloc.3" => [
- "doc/man3/OPENSSL_secure_malloc.pod"
- ],
- "doc/man/man3/OPENSSL_strcasecmp.3" => [
- "doc/man3/OPENSSL_strcasecmp.pod"
- ],
- "doc/man/man3/OSSL_ALGORITHM.3" => [
- "doc/man3/OSSL_ALGORITHM.pod"
- ],
- "doc/man/man3/OSSL_CALLBACK.3" => [
- "doc/man3/OSSL_CALLBACK.pod"
- ],
- "doc/man/man3/OSSL_CMP_ATAV_set0.3" => [
- "doc/man3/OSSL_CMP_ATAV_set0.pod"
- ],
- "doc/man/man3/OSSL_CMP_CTX_new.3" => [
- "doc/man3/OSSL_CMP_CTX_new.pod"
- ],
- "doc/man/man3/OSSL_CMP_HDR_get0_transactionID.3" => [
- "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod"
- ],
- "doc/man/man3/OSSL_CMP_ITAV_new_caCerts.3" => [
- "doc/man3/OSSL_CMP_ITAV_new_caCerts.pod"
- ],
- "doc/man/man3/OSSL_CMP_ITAV_set0.3" => [
- "doc/man3/OSSL_CMP_ITAV_set0.pod"
- ],
- "doc/man/man3/OSSL_CMP_MSG_get0_header.3" => [
- "doc/man3/OSSL_CMP_MSG_get0_header.pod"
- ],
- "doc/man/man3/OSSL_CMP_MSG_http_perform.3" => [
- "doc/man3/OSSL_CMP_MSG_http_perform.pod"
- ],
- "doc/man/man3/OSSL_CMP_SRV_CTX_new.3" => [
- "doc/man3/OSSL_CMP_SRV_CTX_new.pod"
- ],
- "doc/man/man3/OSSL_CMP_STATUSINFO_new.3" => [
- "doc/man3/OSSL_CMP_STATUSINFO_new.pod"
- ],
- "doc/man/man3/OSSL_CMP_exec_certreq.3" => [
- "doc/man3/OSSL_CMP_exec_certreq.pod"
- ],
- "doc/man/man3/OSSL_CMP_log_open.3" => [
- "doc/man3/OSSL_CMP_log_open.pod"
- ],
- "doc/man/man3/OSSL_CMP_validate_msg.3" => [
- "doc/man3/OSSL_CMP_validate_msg.pod"
- ],
- "doc/man/man3/OSSL_CORE_MAKE_FUNC.3" => [
- "doc/man3/OSSL_CORE_MAKE_FUNC.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_get0_tmpl.3" => [
- "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_set0_validity.3" => [
- "doc/man3/OSSL_CRMF_MSG_set0_validity.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod"
- ],
- "doc/man/man3/OSSL_CRMF_pbmp_new.3" => [
- "doc/man3/OSSL_CRMF_pbmp_new.pod"
- ],
- "doc/man/man3/OSSL_DECODER.3" => [
- "doc/man3/OSSL_DECODER.pod"
- ],
- "doc/man/man3/OSSL_DECODER_CTX.3" => [
- "doc/man3/OSSL_DECODER_CTX.pod"
- ],
- "doc/man/man3/OSSL_DECODER_CTX_new_for_pkey.3" => [
- "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod"
- ],
- "doc/man/man3/OSSL_DECODER_from_bio.3" => [
- "doc/man3/OSSL_DECODER_from_bio.pod"
- ],
- "doc/man/man3/OSSL_DISPATCH.3" => [
- "doc/man3/OSSL_DISPATCH.pod"
- ],
- "doc/man/man3/OSSL_ENCODER.3" => [
- "doc/man3/OSSL_ENCODER.pod"
- ],
- "doc/man/man3/OSSL_ENCODER_CTX.3" => [
- "doc/man3/OSSL_ENCODER_CTX.pod"
- ],
- "doc/man/man3/OSSL_ENCODER_CTX_new_for_pkey.3" => [
- "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod"
- ],
- "doc/man/man3/OSSL_ENCODER_to_bio.3" => [
- "doc/man3/OSSL_ENCODER_to_bio.pod"
- ],
- "doc/man/man3/OSSL_ERR_STATE_save.3" => [
- "doc/man3/OSSL_ERR_STATE_save.pod"
- ],
- "doc/man/man3/OSSL_ESS_check_signing_certs.3" => [
- "doc/man3/OSSL_ESS_check_signing_certs.pod"
- ],
- "doc/man/man3/OSSL_GENERAL_NAMES_print.3" => [
- "doc/man3/OSSL_GENERAL_NAMES_print.pod"
- ],
- "doc/man/man3/OSSL_HPKE_CTX_new.3" => [
- "doc/man3/OSSL_HPKE_CTX_new.pod"
- ],
- "doc/man/man3/OSSL_HTTP_REQ_CTX.3" => [
- "doc/man3/OSSL_HTTP_REQ_CTX.pod"
- ],
- "doc/man/man3/OSSL_HTTP_parse_url.3" => [
- "doc/man3/OSSL_HTTP_parse_url.pod"
- ],
- "doc/man/man3/OSSL_HTTP_transfer.3" => [
- "doc/man3/OSSL_HTTP_transfer.pod"
- ],
- "doc/man/man3/OSSL_IETF_ATTR_SYNTAX.3" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX.pod"
- ],
- "doc/man/man3/OSSL_IETF_ATTR_SYNTAX_print.3" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX_print.pod"
- ],
- "doc/man/man3/OSSL_INDICATOR_set_callback.3" => [
- "doc/man3/OSSL_INDICATOR_set_callback.pod"
- ],
- "doc/man/man3/OSSL_ITEM.3" => [
- "doc/man3/OSSL_ITEM.pod"
- ],
- "doc/man/man3/OSSL_LIB_CTX.3" => [
- "doc/man3/OSSL_LIB_CTX.pod"
- ],
- "doc/man/man3/OSSL_LIB_CTX_set_conf_diagnostics.3" => [
- "doc/man3/OSSL_LIB_CTX_set_conf_diagnostics.pod"
- ],
- "doc/man/man3/OSSL_PARAM.3" => [
- "doc/man3/OSSL_PARAM.pod"
- ],
- "doc/man/man3/OSSL_PARAM_BLD.3" => [
- "doc/man3/OSSL_PARAM_BLD.pod"
- ],
- "doc/man/man3/OSSL_PARAM_allocate_from_text.3" => [
- "doc/man3/OSSL_PARAM_allocate_from_text.pod"
- ],
- "doc/man/man3/OSSL_PARAM_dup.3" => [
- "doc/man3/OSSL_PARAM_dup.pod"
- ],
- "doc/man/man3/OSSL_PARAM_int.3" => [
- "doc/man3/OSSL_PARAM_int.pod"
- ],
- "doc/man/man3/OSSL_PARAM_print_to_bio.3" => [
- "doc/man3/OSSL_PARAM_print_to_bio.pod"
- ],
- "doc/man/man3/OSSL_PROVIDER.3" => [
- "doc/man3/OSSL_PROVIDER.pod"
- ],
- "doc/man/man3/OSSL_QUIC_client_method.3" => [
- "doc/man3/OSSL_QUIC_client_method.pod"
- ],
- "doc/man/man3/OSSL_SELF_TEST_new.3" => [
- "doc/man3/OSSL_SELF_TEST_new.pod"
- ],
- "doc/man/man3/OSSL_SELF_TEST_set_callback.3" => [
- "doc/man3/OSSL_SELF_TEST_set_callback.pod"
- ],
- "doc/man/man3/OSSL_STORE_INFO.3" => [
- "doc/man3/OSSL_STORE_INFO.pod"
- ],
- "doc/man/man3/OSSL_STORE_LOADER.3" => [
- "doc/man3/OSSL_STORE_LOADER.pod"
- ],
- "doc/man/man3/OSSL_STORE_SEARCH.3" => [
- "doc/man3/OSSL_STORE_SEARCH.pod"
- ],
- "doc/man/man3/OSSL_STORE_attach.3" => [
- "doc/man3/OSSL_STORE_attach.pod"
- ],
- "doc/man/man3/OSSL_STORE_expect.3" => [
- "doc/man3/OSSL_STORE_expect.pod"
- ],
- "doc/man/man3/OSSL_STORE_open.3" => [
- "doc/man3/OSSL_STORE_open.pod"
- ],
- "doc/man/man3/OSSL_sleep.3" => [
- "doc/man3/OSSL_sleep.pod"
- ],
- "doc/man/man3/OSSL_trace_enabled.3" => [
- "doc/man3/OSSL_trace_enabled.pod"
- ],
- "doc/man/man3/OSSL_trace_get_category_num.3" => [
- "doc/man3/OSSL_trace_get_category_num.pod"
- ],
- "doc/man/man3/OSSL_trace_set_channel.3" => [
- "doc/man3/OSSL_trace_set_channel.pod"
- ],
- "doc/man/man3/OpenSSL_add_all_algorithms.3" => [
- "doc/man3/OpenSSL_add_all_algorithms.pod"
- ],
- "doc/man/man3/OpenSSL_version.3" => [
- "doc/man3/OpenSSL_version.pod"
- ],
- "doc/man/man3/PBMAC1_get1_pbkdf2_param.3" => [
- "doc/man3/PBMAC1_get1_pbkdf2_param.pod"
- ],
- "doc/man/man3/PEM_X509_INFO_read_bio_ex.3" => [
- "doc/man3/PEM_X509_INFO_read_bio_ex.pod"
- ],
- "doc/man/man3/PEM_bytes_read_bio.3" => [
- "doc/man3/PEM_bytes_read_bio.pod"
- ],
- "doc/man/man3/PEM_read.3" => [
- "doc/man3/PEM_read.pod"
- ],
- "doc/man/man3/PEM_read_CMS.3" => [
- "doc/man3/PEM_read_CMS.pod"
- ],
- "doc/man/man3/PEM_read_bio_PrivateKey.3" => [
- "doc/man3/PEM_read_bio_PrivateKey.pod"
- ],
- "doc/man/man3/PEM_read_bio_ex.3" => [
- "doc/man3/PEM_read_bio_ex.pod"
- ],
- "doc/man/man3/PEM_write_bio_CMS_stream.3" => [
- "doc/man3/PEM_write_bio_CMS_stream.pod"
- ],
- "doc/man/man3/PEM_write_bio_PKCS7_stream.3" => [
- "doc/man3/PEM_write_bio_PKCS7_stream.pod"
- ],
- "doc/man/man3/PKCS12_PBE_keyivgen.3" => [
- "doc/man3/PKCS12_PBE_keyivgen.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_create_cert.3" => [
- "doc/man3/PKCS12_SAFEBAG_create_cert.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_get0_attrs.3" => [
- "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_get1_cert.3" => [
- "doc/man3/PKCS12_SAFEBAG_get1_cert.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_set0_attrs.3" => [
- "doc/man3/PKCS12_SAFEBAG_set0_attrs.pod"
- ],
- "doc/man/man3/PKCS12_add1_attr_by_NID.3" => [
- "doc/man3/PKCS12_add1_attr_by_NID.pod"
- ],
- "doc/man/man3/PKCS12_add_CSPName_asc.3" => [
- "doc/man3/PKCS12_add_CSPName_asc.pod"
- ],
- "doc/man/man3/PKCS12_add_cert.3" => [
- "doc/man3/PKCS12_add_cert.pod"
- ],
- "doc/man/man3/PKCS12_add_friendlyname_asc.3" => [
- "doc/man3/PKCS12_add_friendlyname_asc.pod"
- ],
- "doc/man/man3/PKCS12_add_localkeyid.3" => [
- "doc/man3/PKCS12_add_localkeyid.pod"
- ],
- "doc/man/man3/PKCS12_add_safe.3" => [
- "doc/man3/PKCS12_add_safe.pod"
- ],
- "doc/man/man3/PKCS12_create.3" => [
- "doc/man3/PKCS12_create.pod"
- ],
- "doc/man/man3/PKCS12_decrypt_skey.3" => [
- "doc/man3/PKCS12_decrypt_skey.pod"
- ],
- "doc/man/man3/PKCS12_gen_mac.3" => [
- "doc/man3/PKCS12_gen_mac.pod"
- ],
- "doc/man/man3/PKCS12_get_friendlyname.3" => [
- "doc/man3/PKCS12_get_friendlyname.pod"
- ],
- "doc/man/man3/PKCS12_init.3" => [
- "doc/man3/PKCS12_init.pod"
- ],
- "doc/man/man3/PKCS12_item_decrypt_d2i.3" => [
- "doc/man3/PKCS12_item_decrypt_d2i.pod"
- ],
- "doc/man/man3/PKCS12_key_gen_utf8_ex.3" => [
- "doc/man3/PKCS12_key_gen_utf8_ex.pod"
- ],
- "doc/man/man3/PKCS12_newpass.3" => [
- "doc/man3/PKCS12_newpass.pod"
- ],
- "doc/man/man3/PKCS12_pack_p7encdata.3" => [
- "doc/man3/PKCS12_pack_p7encdata.pod"
- ],
- "doc/man/man3/PKCS12_parse.3" => [
- "doc/man3/PKCS12_parse.pod"
- ],
- "doc/man/man3/PKCS5_PBE_keyivgen.3" => [
- "doc/man3/PKCS5_PBE_keyivgen.pod"
- ],
- "doc/man/man3/PKCS5_PBKDF2_HMAC.3" => [
- "doc/man3/PKCS5_PBKDF2_HMAC.pod"
- ],
- "doc/man/man3/PKCS7_decrypt.3" => [
- "doc/man3/PKCS7_decrypt.pod"
- ],
- "doc/man/man3/PKCS7_encrypt.3" => [
- "doc/man3/PKCS7_encrypt.pod"
- ],
- "doc/man/man3/PKCS7_get_octet_string.3" => [
- "doc/man3/PKCS7_get_octet_string.pod"
- ],
- "doc/man/man3/PKCS7_sign.3" => [
- "doc/man3/PKCS7_sign.pod"
- ],
- "doc/man/man3/PKCS7_sign_add_signer.3" => [
- "doc/man3/PKCS7_sign_add_signer.pod"
- ],
- "doc/man/man3/PKCS7_type_is_other.3" => [
- "doc/man3/PKCS7_type_is_other.pod"
- ],
- "doc/man/man3/PKCS7_verify.3" => [
- "doc/man3/PKCS7_verify.pod"
- ],
- "doc/man/man3/PKCS8_encrypt.3" => [
- "doc/man3/PKCS8_encrypt.pod"
- ],
- "doc/man/man3/PKCS8_pkey_add1_attr.3" => [
- "doc/man3/PKCS8_pkey_add1_attr.pod"
- ],
- "doc/man/man3/RAND_add.3" => [
- "doc/man3/RAND_add.pod"
- ],
- "doc/man/man3/RAND_bytes.3" => [
- "doc/man3/RAND_bytes.pod"
- ],
- "doc/man/man3/RAND_cleanup.3" => [
- "doc/man3/RAND_cleanup.pod"
- ],
- "doc/man/man3/RAND_egd.3" => [
- "doc/man3/RAND_egd.pod"
- ],
- "doc/man/man3/RAND_get0_primary.3" => [
- "doc/man3/RAND_get0_primary.pod"
- ],
- "doc/man/man3/RAND_load_file.3" => [
- "doc/man3/RAND_load_file.pod"
- ],
- "doc/man/man3/RAND_set_DRBG_type.3" => [
- "doc/man3/RAND_set_DRBG_type.pod"
- ],
- "doc/man/man3/RAND_set_rand_method.3" => [
- "doc/man3/RAND_set_rand_method.pod"
- ],
- "doc/man/man3/RC4_set_key.3" => [
- "doc/man3/RC4_set_key.pod"
- ],
- "doc/man/man3/RIPEMD160_Init.3" => [
- "doc/man3/RIPEMD160_Init.pod"
- ],
- "doc/man/man3/RSA_blinding_on.3" => [
- "doc/man3/RSA_blinding_on.pod"
- ],
- "doc/man/man3/RSA_check_key.3" => [
- "doc/man3/RSA_check_key.pod"
- ],
- "doc/man/man3/RSA_generate_key.3" => [
- "doc/man3/RSA_generate_key.pod"
- ],
- "doc/man/man3/RSA_get0_key.3" => [
- "doc/man3/RSA_get0_key.pod"
- ],
- "doc/man/man3/RSA_meth_new.3" => [
- "doc/man3/RSA_meth_new.pod"
- ],
- "doc/man/man3/RSA_new.3" => [
- "doc/man3/RSA_new.pod"
- ],
- "doc/man/man3/RSA_padding_add_PKCS1_type_1.3" => [
- "doc/man3/RSA_padding_add_PKCS1_type_1.pod"
- ],
- "doc/man/man3/RSA_print.3" => [
- "doc/man3/RSA_print.pod"
- ],
- "doc/man/man3/RSA_private_encrypt.3" => [
- "doc/man3/RSA_private_encrypt.pod"
- ],
- "doc/man/man3/RSA_public_encrypt.3" => [
- "doc/man3/RSA_public_encrypt.pod"
- ],
- "doc/man/man3/RSA_set_method.3" => [
- "doc/man3/RSA_set_method.pod"
- ],
- "doc/man/man3/RSA_sign.3" => [
- "doc/man3/RSA_sign.pod"
- ],
- "doc/man/man3/RSA_sign_ASN1_OCTET_STRING.3" => [
- "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod"
- ],
- "doc/man/man3/RSA_size.3" => [
- "doc/man3/RSA_size.pod"
- ],
- "doc/man/man3/SCT_new.3" => [
- "doc/man3/SCT_new.pod"
- ],
- "doc/man/man3/SCT_print.3" => [
- "doc/man3/SCT_print.pod"
- ],
- "doc/man/man3/SCT_validate.3" => [
- "doc/man3/SCT_validate.pod"
- ],
- "doc/man/man3/SHA256_Init.3" => [
- "doc/man3/SHA256_Init.pod"
- ],
- "doc/man/man3/SMIME_read_ASN1.3" => [
- "doc/man3/SMIME_read_ASN1.pod"
- ],
- "doc/man/man3/SMIME_read_CMS.3" => [
- "doc/man3/SMIME_read_CMS.pod"
- ],
- "doc/man/man3/SMIME_read_PKCS7.3" => [
- "doc/man3/SMIME_read_PKCS7.pod"
- ],
- "doc/man/man3/SMIME_write_ASN1.3" => [
- "doc/man3/SMIME_write_ASN1.pod"
- ],
- "doc/man/man3/SMIME_write_CMS.3" => [
- "doc/man3/SMIME_write_CMS.pod"
- ],
- "doc/man/man3/SMIME_write_PKCS7.3" => [
- "doc/man3/SMIME_write_PKCS7.pod"
- ],
- "doc/man/man3/SRP_Calc_B.3" => [
- "doc/man3/SRP_Calc_B.pod"
- ],
- "doc/man/man3/SRP_VBASE_new.3" => [
- "doc/man3/SRP_VBASE_new.pod"
- ],
- "doc/man/man3/SRP_create_verifier.3" => [
- "doc/man3/SRP_create_verifier.pod"
- ],
- "doc/man/man3/SRP_user_pwd_new.3" => [
- "doc/man3/SRP_user_pwd_new.pod"
- ],
- "doc/man/man3/SSL_CIPHER_get_name.3" => [
- "doc/man3/SSL_CIPHER_get_name.pod"
- ],
- "doc/man/man3/SSL_COMP_add_compression_method.3" => [
- "doc/man3/SSL_COMP_add_compression_method.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_new.3" => [
- "doc/man3/SSL_CONF_CTX_new.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_set1_prefix.3" => [
- "doc/man3/SSL_CONF_CTX_set1_prefix.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_set_flags.3" => [
- "doc/man3/SSL_CONF_CTX_set_flags.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_set_ssl_ctx.3" => [
- "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod"
- ],
- "doc/man/man3/SSL_CONF_cmd.3" => [
- "doc/man3/SSL_CONF_cmd.pod"
- ],
- "doc/man/man3/SSL_CONF_cmd_argv.3" => [
- "doc/man3/SSL_CONF_cmd_argv.pod"
- ],
- "doc/man/man3/SSL_CTX_add1_chain_cert.3" => [
- "doc/man3/SSL_CTX_add1_chain_cert.pod"
- ],
- "doc/man/man3/SSL_CTX_add_extra_chain_cert.3" => [
- "doc/man3/SSL_CTX_add_extra_chain_cert.pod"
- ],
- "doc/man/man3/SSL_CTX_add_session.3" => [
- "doc/man3/SSL_CTX_add_session.pod"
- ],
- "doc/man/man3/SSL_CTX_config.3" => [
- "doc/man3/SSL_CTX_config.pod"
- ],
- "doc/man/man3/SSL_CTX_ctrl.3" => [
- "doc/man3/SSL_CTX_ctrl.pod"
- ],
- "doc/man/man3/SSL_CTX_dane_enable.3" => [
- "doc/man3/SSL_CTX_dane_enable.pod"
- ],
- "doc/man/man3/SSL_CTX_flush_sessions.3" => [
- "doc/man3/SSL_CTX_flush_sessions.pod"
- ],
- "doc/man/man3/SSL_CTX_free.3" => [
- "doc/man3/SSL_CTX_free.pod"
- ],
- "doc/man/man3/SSL_CTX_get0_param.3" => [
- "doc/man3/SSL_CTX_get0_param.pod"
- ],
- "doc/man/man3/SSL_CTX_get_verify_mode.3" => [
- "doc/man3/SSL_CTX_get_verify_mode.pod"
- ],
- "doc/man/man3/SSL_CTX_has_client_custom_ext.3" => [
- "doc/man3/SSL_CTX_has_client_custom_ext.pod"
- ],
- "doc/man/man3/SSL_CTX_load_verify_locations.3" => [
- "doc/man3/SSL_CTX_load_verify_locations.pod"
- ],
- "doc/man/man3/SSL_CTX_new.3" => [
- "doc/man3/SSL_CTX_new.pod"
- ],
- "doc/man/man3/SSL_CTX_sess_number.3" => [
- "doc/man3/SSL_CTX_sess_number.pod"
- ],
- "doc/man/man3/SSL_CTX_sess_set_cache_size.3" => [
- "doc/man3/SSL_CTX_sess_set_cache_size.pod"
- ],
- "doc/man/man3/SSL_CTX_sess_set_get_cb.3" => [
- "doc/man3/SSL_CTX_sess_set_get_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_sessions.3" => [
- "doc/man3/SSL_CTX_sessions.pod"
- ],
- "doc/man/man3/SSL_CTX_set0_CA_list.3" => [
- "doc/man3/SSL_CTX_set0_CA_list.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_cert_comp_preference.3" => [
- "doc/man3/SSL_CTX_set1_cert_comp_preference.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_curves.3" => [
- "doc/man3/SSL_CTX_set1_curves.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_sigalgs.3" => [
- "doc/man3/SSL_CTX_set1_sigalgs.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_verify_cert_store.3" => [
- "doc/man3/SSL_CTX_set1_verify_cert_store.pod"
- ],
- "doc/man/man3/SSL_CTX_set_alpn_select_cb.3" => [
- "doc/man3/SSL_CTX_set_alpn_select_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cert_cb.3" => [
- "doc/man3/SSL_CTX_set_cert_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cert_store.3" => [
- "doc/man3/SSL_CTX_set_cert_store.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cert_verify_callback.3" => [
- "doc/man3/SSL_CTX_set_cert_verify_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cipher_list.3" => [
- "doc/man3/SSL_CTX_set_cipher_list.pod"
- ],
- "doc/man/man3/SSL_CTX_set_client_cert_cb.3" => [
- "doc/man3/SSL_CTX_set_client_cert_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_client_hello_cb.3" => [
- "doc/man3/SSL_CTX_set_client_hello_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_ct_validation_callback.3" => [
- "doc/man3/SSL_CTX_set_ct_validation_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_ctlog_list_file.3" => [
- "doc/man3/SSL_CTX_set_ctlog_list_file.pod"
- ],
- "doc/man/man3/SSL_CTX_set_default_passwd_cb.3" => [
- "doc/man3/SSL_CTX_set_default_passwd_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_domain_flags.3" => [
- "doc/man3/SSL_CTX_set_domain_flags.pod"
- ],
- "doc/man/man3/SSL_CTX_set_generate_session_id.3" => [
- "doc/man3/SSL_CTX_set_generate_session_id.pod"
- ],
- "doc/man/man3/SSL_CTX_set_info_callback.3" => [
- "doc/man3/SSL_CTX_set_info_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_keylog_callback.3" => [
- "doc/man3/SSL_CTX_set_keylog_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_max_cert_list.3" => [
- "doc/man3/SSL_CTX_set_max_cert_list.pod"
- ],
- "doc/man/man3/SSL_CTX_set_min_proto_version.3" => [
- "doc/man3/SSL_CTX_set_min_proto_version.pod"
- ],
- "doc/man/man3/SSL_CTX_set_mode.3" => [
- "doc/man3/SSL_CTX_set_mode.pod"
- ],
- "doc/man/man3/SSL_CTX_set_msg_callback.3" => [
- "doc/man3/SSL_CTX_set_msg_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_new_pending_conn_cb.3" => [
- "doc/man3/SSL_CTX_set_new_pending_conn_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_num_tickets.3" => [
- "doc/man3/SSL_CTX_set_num_tickets.pod"
- ],
- "doc/man/man3/SSL_CTX_set_options.3" => [
- "doc/man3/SSL_CTX_set_options.pod"
- ],
- "doc/man/man3/SSL_CTX_set_psk_client_callback.3" => [
- "doc/man3/SSL_CTX_set_psk_client_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_quiet_shutdown.3" => [
- "doc/man3/SSL_CTX_set_quiet_shutdown.pod"
- ],
- "doc/man/man3/SSL_CTX_set_read_ahead.3" => [
- "doc/man3/SSL_CTX_set_read_ahead.pod"
- ],
- "doc/man/man3/SSL_CTX_set_record_padding_callback.3" => [
- "doc/man3/SSL_CTX_set_record_padding_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_security_level.3" => [
- "doc/man3/SSL_CTX_set_security_level.pod"
- ],
- "doc/man/man3/SSL_CTX_set_session_cache_mode.3" => [
- "doc/man3/SSL_CTX_set_session_cache_mode.pod"
- ],
- "doc/man/man3/SSL_CTX_set_session_id_context.3" => [
- "doc/man3/SSL_CTX_set_session_id_context.pod"
- ],
- "doc/man/man3/SSL_CTX_set_session_ticket_cb.3" => [
- "doc/man3/SSL_CTX_set_session_ticket_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_split_send_fragment.3" => [
- "doc/man3/SSL_CTX_set_split_send_fragment.pod"
- ],
- "doc/man/man3/SSL_CTX_set_srp_password.3" => [
- "doc/man3/SSL_CTX_set_srp_password.pod"
- ],
- "doc/man/man3/SSL_CTX_set_ssl_version.3" => [
- "doc/man3/SSL_CTX_set_ssl_version.pod"
- ],
- "doc/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3" => [
- "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_timeout.3" => [
- "doc/man3/SSL_CTX_set_timeout.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_servername_callback.3" => [
- "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_status_cb.3" => [
- "doc/man3/SSL_CTX_set_tlsext_status_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3" => [
- "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_use_srtp.3" => [
- "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tmp_dh_callback.3" => [
- "doc/man3/SSL_CTX_set_tmp_dh_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tmp_ecdh.3" => [
- "doc/man3/SSL_CTX_set_tmp_ecdh.pod"
- ],
- "doc/man/man3/SSL_CTX_set_verify.3" => [
- "doc/man3/SSL_CTX_set_verify.pod"
- ],
- "doc/man/man3/SSL_CTX_use_certificate.3" => [
- "doc/man3/SSL_CTX_use_certificate.pod"
- ],
- "doc/man/man3/SSL_CTX_use_psk_identity_hint.3" => [
- "doc/man3/SSL_CTX_use_psk_identity_hint.pod"
- ],
- "doc/man/man3/SSL_CTX_use_serverinfo.3" => [
- "doc/man3/SSL_CTX_use_serverinfo.pod"
- ],
- "doc/man/man3/SSL_SESSION_free.3" => [
- "doc/man3/SSL_SESSION_free.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_cipher.3" => [
- "doc/man3/SSL_SESSION_get0_cipher.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_hostname.3" => [
- "doc/man3/SSL_SESSION_get0_hostname.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_id_context.3" => [
- "doc/man3/SSL_SESSION_get0_id_context.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_peer.3" => [
- "doc/man3/SSL_SESSION_get0_peer.pod"
- ],
- "doc/man/man3/SSL_SESSION_get_compress_id.3" => [
- "doc/man3/SSL_SESSION_get_compress_id.pod"
- ],
- "doc/man/man3/SSL_SESSION_get_protocol_version.3" => [
- "doc/man3/SSL_SESSION_get_protocol_version.pod"
- ],
- "doc/man/man3/SSL_SESSION_get_time.3" => [
- "doc/man3/SSL_SESSION_get_time.pod"
- ],
- "doc/man/man3/SSL_SESSION_has_ticket.3" => [
- "doc/man3/SSL_SESSION_has_ticket.pod"
- ],
- "doc/man/man3/SSL_SESSION_is_resumable.3" => [
- "doc/man3/SSL_SESSION_is_resumable.pod"
- ],
- "doc/man/man3/SSL_SESSION_print.3" => [
- "doc/man3/SSL_SESSION_print.pod"
- ],
- "doc/man/man3/SSL_SESSION_set1_id.3" => [
- "doc/man3/SSL_SESSION_set1_id.pod"
- ],
- "doc/man/man3/SSL_accept.3" => [
- "doc/man3/SSL_accept.pod"
- ],
- "doc/man/man3/SSL_accept_stream.3" => [
- "doc/man3/SSL_accept_stream.pod"
- ],
- "doc/man/man3/SSL_alert_type_string.3" => [
- "doc/man3/SSL_alert_type_string.pod"
- ],
- "doc/man/man3/SSL_alloc_buffers.3" => [
- "doc/man3/SSL_alloc_buffers.pod"
- ],
- "doc/man/man3/SSL_check_chain.3" => [
- "doc/man3/SSL_check_chain.pod"
- ],
- "doc/man/man3/SSL_clear.3" => [
- "doc/man3/SSL_clear.pod"
- ],
- "doc/man/man3/SSL_connect.3" => [
- "doc/man3/SSL_connect.pod"
- ],
- "doc/man/man3/SSL_do_handshake.3" => [
- "doc/man3/SSL_do_handshake.pod"
- ],
- "doc/man/man3/SSL_export_keying_material.3" => [
- "doc/man3/SSL_export_keying_material.pod"
- ],
- "doc/man/man3/SSL_extension_supported.3" => [
- "doc/man3/SSL_extension_supported.pod"
- ],
- "doc/man/man3/SSL_free.3" => [
- "doc/man3/SSL_free.pod"
- ],
- "doc/man/man3/SSL_get0_connection.3" => [
- "doc/man3/SSL_get0_connection.pod"
- ],
- "doc/man/man3/SSL_get0_group_name.3" => [
- "doc/man3/SSL_get0_group_name.pod"
- ],
- "doc/man/man3/SSL_get0_peer_rpk.3" => [
- "doc/man3/SSL_get0_peer_rpk.pod"
- ],
- "doc/man/man3/SSL_get0_peer_scts.3" => [
- "doc/man3/SSL_get0_peer_scts.pod"
- ],
- "doc/man/man3/SSL_get1_builtin_sigalgs.3" => [
- "doc/man3/SSL_get1_builtin_sigalgs.pod"
- ],
- "doc/man/man3/SSL_get_SSL_CTX.3" => [
- "doc/man3/SSL_get_SSL_CTX.pod"
- ],
- "doc/man/man3/SSL_get_all_async_fds.3" => [
- "doc/man3/SSL_get_all_async_fds.pod"
- ],
- "doc/man/man3/SSL_get_certificate.3" => [
- "doc/man3/SSL_get_certificate.pod"
- ],
- "doc/man/man3/SSL_get_ciphers.3" => [
- "doc/man3/SSL_get_ciphers.pod"
- ],
- "doc/man/man3/SSL_get_client_random.3" => [
- "doc/man3/SSL_get_client_random.pod"
- ],
- "doc/man/man3/SSL_get_conn_close_info.3" => [
- "doc/man3/SSL_get_conn_close_info.pod"
- ],
- "doc/man/man3/SSL_get_current_cipher.3" => [
- "doc/man3/SSL_get_current_cipher.pod"
- ],
- "doc/man/man3/SSL_get_default_timeout.3" => [
- "doc/man3/SSL_get_default_timeout.pod"
- ],
- "doc/man/man3/SSL_get_error.3" => [
- "doc/man3/SSL_get_error.pod"
- ],
- "doc/man/man3/SSL_get_event_timeout.3" => [
- "doc/man3/SSL_get_event_timeout.pod"
- ],
- "doc/man/man3/SSL_get_extms_support.3" => [
- "doc/man3/SSL_get_extms_support.pod"
- ],
- "doc/man/man3/SSL_get_fd.3" => [
- "doc/man3/SSL_get_fd.pod"
- ],
- "doc/man/man3/SSL_get_handshake_rtt.3" => [
- "doc/man3/SSL_get_handshake_rtt.pod"
- ],
- "doc/man/man3/SSL_get_peer_cert_chain.3" => [
- "doc/man3/SSL_get_peer_cert_chain.pod"
- ],
- "doc/man/man3/SSL_get_peer_certificate.3" => [
- "doc/man3/SSL_get_peer_certificate.pod"
- ],
- "doc/man/man3/SSL_get_peer_signature_nid.3" => [
- "doc/man3/SSL_get_peer_signature_nid.pod"
- ],
- "doc/man/man3/SSL_get_peer_tmp_key.3" => [
- "doc/man3/SSL_get_peer_tmp_key.pod"
- ],
- "doc/man/man3/SSL_get_psk_identity.3" => [
- "doc/man3/SSL_get_psk_identity.pod"
- ],
- "doc/man/man3/SSL_get_rbio.3" => [
- "doc/man3/SSL_get_rbio.pod"
- ],
- "doc/man/man3/SSL_get_rpoll_descriptor.3" => [
- "doc/man3/SSL_get_rpoll_descriptor.pod"
- ],
- "doc/man/man3/SSL_get_session.3" => [
- "doc/man3/SSL_get_session.pod"
- ],
- "doc/man/man3/SSL_get_shared_sigalgs.3" => [
- "doc/man3/SSL_get_shared_sigalgs.pod"
- ],
- "doc/man/man3/SSL_get_stream_id.3" => [
- "doc/man3/SSL_get_stream_id.pod"
- ],
- "doc/man/man3/SSL_get_stream_read_state.3" => [
- "doc/man3/SSL_get_stream_read_state.pod"
- ],
- "doc/man/man3/SSL_get_value_uint.3" => [
- "doc/man3/SSL_get_value_uint.pod"
- ],
- "doc/man/man3/SSL_get_verify_result.3" => [
- "doc/man3/SSL_get_verify_result.pod"
- ],
- "doc/man/man3/SSL_get_version.3" => [
- "doc/man3/SSL_get_version.pod"
- ],
- "doc/man/man3/SSL_group_to_name.3" => [
- "doc/man3/SSL_group_to_name.pod"
- ],
- "doc/man/man3/SSL_handle_events.3" => [
- "doc/man3/SSL_handle_events.pod"
- ],
- "doc/man/man3/SSL_in_init.3" => [
- "doc/man3/SSL_in_init.pod"
- ],
- "doc/man/man3/SSL_inject_net_dgram.3" => [
- "doc/man3/SSL_inject_net_dgram.pod"
- ],
- "doc/man/man3/SSL_key_update.3" => [
- "doc/man3/SSL_key_update.pod"
- ],
- "doc/man/man3/SSL_library_init.3" => [
- "doc/man3/SSL_library_init.pod"
- ],
- "doc/man/man3/SSL_load_client_CA_file.3" => [
- "doc/man3/SSL_load_client_CA_file.pod"
- ],
- "doc/man/man3/SSL_new.3" => [
- "doc/man3/SSL_new.pod"
- ],
- "doc/man/man3/SSL_new_domain.3" => [
- "doc/man3/SSL_new_domain.pod"
- ],
- "doc/man/man3/SSL_new_listener.3" => [
- "doc/man3/SSL_new_listener.pod"
- ],
- "doc/man/man3/SSL_new_stream.3" => [
- "doc/man3/SSL_new_stream.pod"
- ],
- "doc/man/man3/SSL_pending.3" => [
- "doc/man3/SSL_pending.pod"
- ],
- "doc/man/man3/SSL_poll.3" => [
- "doc/man3/SSL_poll.pod"
- ],
- "doc/man/man3/SSL_read.3" => [
- "doc/man3/SSL_read.pod"
- ],
- "doc/man/man3/SSL_read_early_data.3" => [
- "doc/man3/SSL_read_early_data.pod"
- ],
- "doc/man/man3/SSL_rstate_string.3" => [
- "doc/man3/SSL_rstate_string.pod"
- ],
- "doc/man/man3/SSL_session_reused.3" => [
- "doc/man3/SSL_session_reused.pod"
- ],
- "doc/man/man3/SSL_set1_host.3" => [
- "doc/man3/SSL_set1_host.pod"
- ],
- "doc/man/man3/SSL_set1_initial_peer_addr.3" => [
- "doc/man3/SSL_set1_initial_peer_addr.pod"
- ],
- "doc/man/man3/SSL_set1_server_cert_type.3" => [
- "doc/man3/SSL_set1_server_cert_type.pod"
- ],
- "doc/man/man3/SSL_set_async_callback.3" => [
- "doc/man3/SSL_set_async_callback.pod"
- ],
- "doc/man/man3/SSL_set_bio.3" => [
- "doc/man3/SSL_set_bio.pod"
- ],
- "doc/man/man3/SSL_set_blocking_mode.3" => [
- "doc/man3/SSL_set_blocking_mode.pod"
- ],
- "doc/man/man3/SSL_set_connect_state.3" => [
- "doc/man3/SSL_set_connect_state.pod"
- ],
- "doc/man/man3/SSL_set_default_stream_mode.3" => [
- "doc/man3/SSL_set_default_stream_mode.pod"
- ],
- "doc/man/man3/SSL_set_fd.3" => [
- "doc/man3/SSL_set_fd.pod"
- ],
- "doc/man/man3/SSL_set_incoming_stream_policy.3" => [
- "doc/man3/SSL_set_incoming_stream_policy.pod"
- ],
- "doc/man/man3/SSL_set_quic_tls_cbs.3" => [
- "doc/man3/SSL_set_quic_tls_cbs.pod"
- ],
- "doc/man/man3/SSL_set_retry_verify.3" => [
- "doc/man3/SSL_set_retry_verify.pod"
- ],
- "doc/man/man3/SSL_set_session.3" => [
- "doc/man3/SSL_set_session.pod"
- ],
- "doc/man/man3/SSL_set_session_secret_cb.3" => [
- "doc/man3/SSL_set_session_secret_cb.pod"
- ],
- "doc/man/man3/SSL_set_shutdown.3" => [
- "doc/man3/SSL_set_shutdown.pod"
- ],
- "doc/man/man3/SSL_set_verify_result.3" => [
- "doc/man3/SSL_set_verify_result.pod"
- ],
- "doc/man/man3/SSL_shutdown.3" => [
- "doc/man3/SSL_shutdown.pod"
- ],
- "doc/man/man3/SSL_state_string.3" => [
- "doc/man3/SSL_state_string.pod"
- ],
- "doc/man/man3/SSL_stream_conclude.3" => [
- "doc/man3/SSL_stream_conclude.pod"
- ],
- "doc/man/man3/SSL_stream_reset.3" => [
- "doc/man3/SSL_stream_reset.pod"
- ],
- "doc/man/man3/SSL_want.3" => [
- "doc/man3/SSL_want.pod"
- ],
- "doc/man/man3/SSL_write.3" => [
- "doc/man3/SSL_write.pod"
- ],
- "doc/man/man3/TS_RESP_CTX_new.3" => [
- "doc/man3/TS_RESP_CTX_new.pod"
- ],
- "doc/man/man3/TS_VERIFY_CTX.3" => [
- "doc/man3/TS_VERIFY_CTX.pod"
- ],
- "doc/man/man3/UI_STRING.3" => [
- "doc/man3/UI_STRING.pod"
- ],
- "doc/man/man3/UI_UTIL_read_pw.3" => [
- "doc/man3/UI_UTIL_read_pw.pod"
- ],
- "doc/man/man3/UI_create_method.3" => [
- "doc/man3/UI_create_method.pod"
- ],
- "doc/man/man3/UI_new.3" => [
- "doc/man3/UI_new.pod"
- ],
- "doc/man/man3/X509V3_get_d2i.3" => [
- "doc/man3/X509V3_get_d2i.pod"
- ],
- "doc/man/man3/X509V3_set_ctx.3" => [
- "doc/man3/X509V3_set_ctx.pod"
- ],
- "doc/man/man3/X509_ACERT_add1_attr.3" => [
- "doc/man3/X509_ACERT_add1_attr.pod"
- ],
- "doc/man/man3/X509_ACERT_add_attr_nconf.3" => [
- "doc/man3/X509_ACERT_add_attr_nconf.pod"
- ],
- "doc/man/man3/X509_ACERT_get0_holder_baseCertId.3" => [
- "doc/man3/X509_ACERT_get0_holder_baseCertId.pod"
- ],
- "doc/man/man3/X509_ACERT_get_attr.3" => [
- "doc/man3/X509_ACERT_get_attr.pod"
- ],
- "doc/man/man3/X509_ACERT_print_ex.3" => [
- "doc/man3/X509_ACERT_print_ex.pod"
- ],
- "doc/man/man3/X509_ALGOR_dup.3" => [
- "doc/man3/X509_ALGOR_dup.pod"
- ],
- "doc/man/man3/X509_ATTRIBUTE.3" => [
- "doc/man3/X509_ATTRIBUTE.pod"
- ],
- "doc/man/man3/X509_CRL_get0_by_serial.3" => [
- "doc/man3/X509_CRL_get0_by_serial.pod"
- ],
- "doc/man/man3/X509_EXTENSION_set_object.3" => [
- "doc/man3/X509_EXTENSION_set_object.pod"
- ],
- "doc/man/man3/X509_LOOKUP.3" => [
- "doc/man3/X509_LOOKUP.pod"
- ],
- "doc/man/man3/X509_LOOKUP_hash_dir.3" => [
- "doc/man3/X509_LOOKUP_hash_dir.pod"
- ],
- "doc/man/man3/X509_LOOKUP_meth_new.3" => [
- "doc/man3/X509_LOOKUP_meth_new.pod"
- ],
- "doc/man/man3/X509_NAME_ENTRY_get_object.3" => [
- "doc/man3/X509_NAME_ENTRY_get_object.pod"
- ],
- "doc/man/man3/X509_NAME_add_entry_by_txt.3" => [
- "doc/man3/X509_NAME_add_entry_by_txt.pod"
- ],
- "doc/man/man3/X509_NAME_get0_der.3" => [
- "doc/man3/X509_NAME_get0_der.pod"
- ],
- "doc/man/man3/X509_NAME_get_index_by_NID.3" => [
- "doc/man3/X509_NAME_get_index_by_NID.pod"
- ],
- "doc/man/man3/X509_NAME_print_ex.3" => [
- "doc/man3/X509_NAME_print_ex.pod"
- ],
- "doc/man/man3/X509_PUBKEY_new.3" => [
- "doc/man3/X509_PUBKEY_new.pod"
- ],
- "doc/man/man3/X509_REQ_get_attr.3" => [
- "doc/man3/X509_REQ_get_attr.pod"
- ],
- "doc/man/man3/X509_REQ_get_extensions.3" => [
- "doc/man3/X509_REQ_get_extensions.pod"
- ],
- "doc/man/man3/X509_SIG_get0.3" => [
- "doc/man3/X509_SIG_get0.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_get_by_subject.3" => [
- "doc/man3/X509_STORE_CTX_get_by_subject.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_get_error.3" => [
- "doc/man3/X509_STORE_CTX_get_error.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_new.3" => [
- "doc/man3/X509_STORE_CTX_new.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_set_verify_cb.3" => [
- "doc/man3/X509_STORE_CTX_set_verify_cb.pod"
- ],
- "doc/man/man3/X509_STORE_add_cert.3" => [
- "doc/man3/X509_STORE_add_cert.pod"
- ],
- "doc/man/man3/X509_STORE_get0_param.3" => [
- "doc/man3/X509_STORE_get0_param.pod"
- ],
- "doc/man/man3/X509_STORE_new.3" => [
- "doc/man3/X509_STORE_new.pod"
- ],
- "doc/man/man3/X509_STORE_set_verify_cb_func.3" => [
- "doc/man3/X509_STORE_set_verify_cb_func.pod"
- ],
- "doc/man/man3/X509_VERIFY_PARAM_set_flags.3" => [
- "doc/man3/X509_VERIFY_PARAM_set_flags.pod"
- ],
- "doc/man/man3/X509_add_cert.3" => [
- "doc/man3/X509_add_cert.pod"
- ],
- "doc/man/man3/X509_check_ca.3" => [
- "doc/man3/X509_check_ca.pod"
- ],
- "doc/man/man3/X509_check_host.3" => [
- "doc/man3/X509_check_host.pod"
- ],
- "doc/man/man3/X509_check_issued.3" => [
- "doc/man3/X509_check_issued.pod"
- ],
- "doc/man/man3/X509_check_private_key.3" => [
- "doc/man3/X509_check_private_key.pod"
- ],
- "doc/man/man3/X509_check_purpose.3" => [
- "doc/man3/X509_check_purpose.pod"
- ],
- "doc/man/man3/X509_cmp.3" => [
- "doc/man3/X509_cmp.pod"
- ],
- "doc/man/man3/X509_cmp_time.3" => [
- "doc/man3/X509_cmp_time.pod"
- ],
- "doc/man/man3/X509_digest.3" => [
- "doc/man3/X509_digest.pod"
- ],
- "doc/man/man3/X509_dup.3" => [
- "doc/man3/X509_dup.pod"
- ],
- "doc/man/man3/X509_get0_distinguishing_id.3" => [
- "doc/man3/X509_get0_distinguishing_id.pod"
- ],
- "doc/man/man3/X509_get0_notBefore.3" => [
- "doc/man3/X509_get0_notBefore.pod"
- ],
- "doc/man/man3/X509_get0_signature.3" => [
- "doc/man3/X509_get0_signature.pod"
- ],
- "doc/man/man3/X509_get0_uids.3" => [
- "doc/man3/X509_get0_uids.pod"
- ],
- "doc/man/man3/X509_get_default_cert_file.3" => [
- "doc/man3/X509_get_default_cert_file.pod"
- ],
- "doc/man/man3/X509_get_extension_flags.3" => [
- "doc/man3/X509_get_extension_flags.pod"
- ],
- "doc/man/man3/X509_get_pubkey.3" => [
- "doc/man3/X509_get_pubkey.pod"
- ],
- "doc/man/man3/X509_get_serialNumber.3" => [
- "doc/man3/X509_get_serialNumber.pod"
- ],
- "doc/man/man3/X509_get_subject_name.3" => [
- "doc/man3/X509_get_subject_name.pod"
- ],
- "doc/man/man3/X509_get_version.3" => [
- "doc/man3/X509_get_version.pod"
- ],
- "doc/man/man3/X509_load_http.3" => [
- "doc/man3/X509_load_http.pod"
- ],
- "doc/man/man3/X509_new.3" => [
- "doc/man3/X509_new.pod"
- ],
- "doc/man/man3/X509_sign.3" => [
- "doc/man3/X509_sign.pod"
- ],
- "doc/man/man3/X509_verify.3" => [
- "doc/man3/X509_verify.pod"
- ],
- "doc/man/man3/X509_verify_cert.3" => [
- "doc/man3/X509_verify_cert.pod"
- ],
- "doc/man/man3/X509v3_get_ext_by_NID.3" => [
- "doc/man3/X509v3_get_ext_by_NID.pod"
- ],
- "doc/man/man3/b2i_PVK_bio_ex.3" => [
- "doc/man3/b2i_PVK_bio_ex.pod"
- ],
- "doc/man/man3/d2i_PKCS8PrivateKey_bio.3" => [
- "doc/man3/d2i_PKCS8PrivateKey_bio.pod"
- ],
- "doc/man/man3/d2i_PrivateKey.3" => [
- "doc/man3/d2i_PrivateKey.pod"
- ],
- "doc/man/man3/d2i_RSAPrivateKey.3" => [
- "doc/man3/d2i_RSAPrivateKey.pod"
- ],
- "doc/man/man3/d2i_SSL_SESSION.3" => [
- "doc/man3/d2i_SSL_SESSION.pod"
- ],
- "doc/man/man3/d2i_X509.3" => [
- "doc/man3/d2i_X509.pod"
- ],
- "doc/man/man3/i2d_CMS_bio_stream.3" => [
- "doc/man3/i2d_CMS_bio_stream.pod"
- ],
- "doc/man/man3/i2d_PKCS7_bio_stream.3" => [
- "doc/man3/i2d_PKCS7_bio_stream.pod"
- ],
- "doc/man/man3/i2d_re_X509_tbs.3" => [
- "doc/man3/i2d_re_X509_tbs.pod"
- ],
- "doc/man/man3/o2i_SCT_LIST.3" => [
- "doc/man3/o2i_SCT_LIST.pod"
- ],
- "doc/man/man3/s2i_ASN1_IA5STRING.3" => [
- "doc/man3/s2i_ASN1_IA5STRING.pod"
- ],
- "doc/man/man5/config.5" => [
- "doc/man5/config.pod"
- ],
- "doc/man/man5/fips_config.5" => [
- "doc/man5/fips_config.pod"
- ],
- "doc/man/man5/x509v3_config.5" => [
- "doc/man5/x509v3_config.pod"
- ],
- "doc/man/man7/EVP_ASYM_CIPHER-RSA.7" => [
- "doc/man7/EVP_ASYM_CIPHER-RSA.pod"
- ],
- "doc/man/man7/EVP_ASYM_CIPHER-SM2.7" => [
- "doc/man7/EVP_ASYM_CIPHER-SM2.pod"
- ],
- "doc/man/man7/EVP_CIPHER-AES.7" => [
- "doc/man7/EVP_CIPHER-AES.pod"
- ],
- "doc/man/man7/EVP_CIPHER-ARIA.7" => [
- "doc/man7/EVP_CIPHER-ARIA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-BLOWFISH.7" => [
- "doc/man7/EVP_CIPHER-BLOWFISH.pod"
- ],
- "doc/man/man7/EVP_CIPHER-CAMELLIA.7" => [
- "doc/man7/EVP_CIPHER-CAMELLIA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-CAST.7" => [
- "doc/man7/EVP_CIPHER-CAST.pod"
- ],
- "doc/man/man7/EVP_CIPHER-CHACHA.7" => [
- "doc/man7/EVP_CIPHER-CHACHA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-DES.7" => [
- "doc/man7/EVP_CIPHER-DES.pod"
- ],
- "doc/man/man7/EVP_CIPHER-IDEA.7" => [
- "doc/man7/EVP_CIPHER-IDEA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-NULL.7" => [
- "doc/man7/EVP_CIPHER-NULL.pod"
- ],
- "doc/man/man7/EVP_CIPHER-RC2.7" => [
- "doc/man7/EVP_CIPHER-RC2.pod"
- ],
- "doc/man/man7/EVP_CIPHER-RC4.7" => [
- "doc/man7/EVP_CIPHER-RC4.pod"
- ],
- "doc/man/man7/EVP_CIPHER-RC5.7" => [
- "doc/man7/EVP_CIPHER-RC5.pod"
- ],
- "doc/man/man7/EVP_CIPHER-SEED.7" => [
- "doc/man7/EVP_CIPHER-SEED.pod"
- ],
- "doc/man/man7/EVP_CIPHER-SM4.7" => [
- "doc/man7/EVP_CIPHER-SM4.pod"
- ],
- "doc/man/man7/EVP_KDF-ARGON2.7" => [
- "doc/man7/EVP_KDF-ARGON2.pod"
- ],
- "doc/man/man7/EVP_KDF-HKDF.7" => [
- "doc/man7/EVP_KDF-HKDF.pod"
- ],
- "doc/man/man7/EVP_KDF-HMAC-DRBG.7" => [
- "doc/man7/EVP_KDF-HMAC-DRBG.pod"
- ],
- "doc/man/man7/EVP_KDF-KB.7" => [
- "doc/man7/EVP_KDF-KB.pod"
- ],
- "doc/man/man7/EVP_KDF-KRB5KDF.7" => [
- "doc/man7/EVP_KDF-KRB5KDF.pod"
- ],
- "doc/man/man7/EVP_KDF-PBKDF1.7" => [
- "doc/man7/EVP_KDF-PBKDF1.pod"
- ],
- "doc/man/man7/EVP_KDF-PBKDF2.7" => [
- "doc/man7/EVP_KDF-PBKDF2.pod"
- ],
- "doc/man/man7/EVP_KDF-PKCS12KDF.7" => [
- "doc/man7/EVP_KDF-PKCS12KDF.pod"
- ],
- "doc/man/man7/EVP_KDF-PVKKDF.7" => [
- "doc/man7/EVP_KDF-PVKKDF.pod"
- ],
- "doc/man/man7/EVP_KDF-SCRYPT.7" => [
- "doc/man7/EVP_KDF-SCRYPT.pod"
- ],
- "doc/man/man7/EVP_KDF-SS.7" => [
- "doc/man7/EVP_KDF-SS.pod"
- ],
- "doc/man/man7/EVP_KDF-SSHKDF.7" => [
- "doc/man7/EVP_KDF-SSHKDF.pod"
- ],
- "doc/man/man7/EVP_KDF-TLS13_KDF.7" => [
- "doc/man7/EVP_KDF-TLS13_KDF.pod"
- ],
- "doc/man/man7/EVP_KDF-TLS1_PRF.7" => [
- "doc/man7/EVP_KDF-TLS1_PRF.pod"
- ],
- "doc/man/man7/EVP_KDF-X942-ASN1.7" => [
- "doc/man7/EVP_KDF-X942-ASN1.pod"
- ],
- "doc/man/man7/EVP_KDF-X942-CONCAT.7" => [
- "doc/man7/EVP_KDF-X942-CONCAT.pod"
- ],
- "doc/man/man7/EVP_KDF-X963.7" => [
- "doc/man7/EVP_KDF-X963.pod"
- ],
- "doc/man/man7/EVP_KEM-EC.7" => [
- "doc/man7/EVP_KEM-EC.pod"
- ],
- "doc/man/man7/EVP_KEM-ML-KEM.7" => [
- "doc/man7/EVP_KEM-ML-KEM.pod"
- ],
- "doc/man/man7/EVP_KEM-RSA.7" => [
- "doc/man7/EVP_KEM-RSA.pod"
- ],
- "doc/man/man7/EVP_KEM-X25519.7" => [
- "doc/man7/EVP_KEM-X25519.pod"
- ],
- "doc/man/man7/EVP_KEYEXCH-DH.7" => [
- "doc/man7/EVP_KEYEXCH-DH.pod"
- ],
- "doc/man/man7/EVP_KEYEXCH-ECDH.7" => [
- "doc/man7/EVP_KEYEXCH-ECDH.pod"
- ],
- "doc/man/man7/EVP_KEYEXCH-X25519.7" => [
- "doc/man7/EVP_KEYEXCH-X25519.pod"
- ],
- "doc/man/man7/EVP_MAC-BLAKE2.7" => [
- "doc/man7/EVP_MAC-BLAKE2.pod"
- ],
- "doc/man/man7/EVP_MAC-CMAC.7" => [
- "doc/man7/EVP_MAC-CMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-GMAC.7" => [
- "doc/man7/EVP_MAC-GMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-HMAC.7" => [
- "doc/man7/EVP_MAC-HMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-KMAC.7" => [
- "doc/man7/EVP_MAC-KMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-Poly1305.7" => [
- "doc/man7/EVP_MAC-Poly1305.pod"
- ],
- "doc/man/man7/EVP_MAC-Siphash.7" => [
- "doc/man7/EVP_MAC-Siphash.pod"
- ],
- "doc/man/man7/EVP_MD-BLAKE2.7" => [
- "doc/man7/EVP_MD-BLAKE2.pod"
- ],
- "doc/man/man7/EVP_MD-KECCAK.7" => [
- "doc/man7/EVP_MD-KECCAK.pod"
- ],
- "doc/man/man7/EVP_MD-MD2.7" => [
- "doc/man7/EVP_MD-MD2.pod"
- ],
- "doc/man/man7/EVP_MD-MD4.7" => [
- "doc/man7/EVP_MD-MD4.pod"
- ],
- "doc/man/man7/EVP_MD-MD5-SHA1.7" => [
- "doc/man7/EVP_MD-MD5-SHA1.pod"
- ],
- "doc/man/man7/EVP_MD-MD5.7" => [
- "doc/man7/EVP_MD-MD5.pod"
- ],
- "doc/man/man7/EVP_MD-MDC2.7" => [
- "doc/man7/EVP_MD-MDC2.pod"
- ],
- "doc/man/man7/EVP_MD-NULL.7" => [
- "doc/man7/EVP_MD-NULL.pod"
- ],
- "doc/man/man7/EVP_MD-RIPEMD160.7" => [
- "doc/man7/EVP_MD-RIPEMD160.pod"
- ],
- "doc/man/man7/EVP_MD-SHA1.7" => [
- "doc/man7/EVP_MD-SHA1.pod"
- ],
- "doc/man/man7/EVP_MD-SHA2.7" => [
- "doc/man7/EVP_MD-SHA2.pod"
- ],
- "doc/man/man7/EVP_MD-SHA3.7" => [
- "doc/man7/EVP_MD-SHA3.pod"
- ],
- "doc/man/man7/EVP_MD-SHAKE.7" => [
- "doc/man7/EVP_MD-SHAKE.pod"
- ],
- "doc/man/man7/EVP_MD-SM3.7" => [
- "doc/man7/EVP_MD-SM3.pod"
- ],
- "doc/man/man7/EVP_MD-WHIRLPOOL.7" => [
- "doc/man7/EVP_MD-WHIRLPOOL.pod"
- ],
- "doc/man/man7/EVP_MD-common.7" => [
- "doc/man7/EVP_MD-common.pod"
- ],
- "doc/man/man7/EVP_PKEY-DH.7" => [
- "doc/man7/EVP_PKEY-DH.pod"
- ],
- "doc/man/man7/EVP_PKEY-DSA.7" => [
- "doc/man7/EVP_PKEY-DSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-EC.7" => [
- "doc/man7/EVP_PKEY-EC.pod"
- ],
- "doc/man/man7/EVP_PKEY-FFC.7" => [
- "doc/man7/EVP_PKEY-FFC.pod"
- ],
- "doc/man/man7/EVP_PKEY-HMAC.7" => [
- "doc/man7/EVP_PKEY-HMAC.pod"
- ],
- "doc/man/man7/EVP_PKEY-ML-DSA.7" => [
- "doc/man7/EVP_PKEY-ML-DSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-ML-KEM.7" => [
- "doc/man7/EVP_PKEY-ML-KEM.pod"
- ],
- "doc/man/man7/EVP_PKEY-RSA.7" => [
- "doc/man7/EVP_PKEY-RSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-SLH-DSA.7" => [
- "doc/man7/EVP_PKEY-SLH-DSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-SM2.7" => [
- "doc/man7/EVP_PKEY-SM2.pod"
- ],
- "doc/man/man7/EVP_PKEY-X25519.7" => [
- "doc/man7/EVP_PKEY-X25519.pod"
- ],
- "doc/man/man7/EVP_RAND-CRNG-TEST.7" => [
- "doc/man7/EVP_RAND-CRNG-TEST.pod"
- ],
- "doc/man/man7/EVP_RAND-CTR-DRBG.7" => [
- "doc/man7/EVP_RAND-CTR-DRBG.pod"
- ],
- "doc/man/man7/EVP_RAND-HASH-DRBG.7" => [
- "doc/man7/EVP_RAND-HASH-DRBG.pod"
- ],
- "doc/man/man7/EVP_RAND-HMAC-DRBG.7" => [
- "doc/man7/EVP_RAND-HMAC-DRBG.pod"
- ],
- "doc/man/man7/EVP_RAND-JITTER.7" => [
- "doc/man7/EVP_RAND-JITTER.pod"
- ],
- "doc/man/man7/EVP_RAND-SEED-SRC.7" => [
- "doc/man7/EVP_RAND-SEED-SRC.pod"
- ],
- "doc/man/man7/EVP_RAND-TEST-RAND.7" => [
- "doc/man7/EVP_RAND-TEST-RAND.pod"
- ],
- "doc/man/man7/EVP_RAND.7" => [
- "doc/man7/EVP_RAND.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-DSA.7" => [
- "doc/man7/EVP_SIGNATURE-DSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-ECDSA.7" => [
- "doc/man7/EVP_SIGNATURE-ECDSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-ED25519.7" => [
- "doc/man7/EVP_SIGNATURE-ED25519.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-HMAC.7" => [
- "doc/man7/EVP_SIGNATURE-HMAC.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-ML-DSA.7" => [
- "doc/man7/EVP_SIGNATURE-ML-DSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-RSA.7" => [
- "doc/man7/EVP_SIGNATURE-RSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-SLH-DSA.7" => [
- "doc/man7/EVP_SIGNATURE-SLH-DSA.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-FIPS.7" => [
- "doc/man7/OSSL_PROVIDER-FIPS.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-base.7" => [
- "doc/man7/OSSL_PROVIDER-base.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-default.7" => [
- "doc/man7/OSSL_PROVIDER-default.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-legacy.7" => [
- "doc/man7/OSSL_PROVIDER-legacy.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-null.7" => [
- "doc/man7/OSSL_PROVIDER-null.pod"
- ],
- "doc/man/man7/OSSL_STORE-winstore.7" => [
- "doc/man7/OSSL_STORE-winstore.pod"
- ],
- "doc/man/man7/RAND.7" => [
- "doc/man7/RAND.pod"
- ],
- "doc/man/man7/RSA-PSS.7" => [
- "doc/man7/RSA-PSS.pod"
- ],
- "doc/man/man7/X25519.7" => [
- "doc/man7/X25519.pod"
- ],
- "doc/man/man7/bio.7" => [
- "doc/man7/bio.pod"
- ],
- "doc/man/man7/ct.7" => [
- "doc/man7/ct.pod"
- ],
- "doc/man/man7/des_modes.7" => [
- "doc/man7/des_modes.pod"
- ],
- "doc/man/man7/evp.7" => [
- "doc/man7/evp.pod"
- ],
- "doc/man/man7/fips_module.7" => [
- "doc/man7/fips_module.pod"
- ],
- "doc/man/man7/life_cycle-cipher.7" => [
- "doc/man7/life_cycle-cipher.pod"
- ],
- "doc/man/man7/life_cycle-digest.7" => [
- "doc/man7/life_cycle-digest.pod"
- ],
- "doc/man/man7/life_cycle-kdf.7" => [
- "doc/man7/life_cycle-kdf.pod"
- ],
- "doc/man/man7/life_cycle-mac.7" => [
- "doc/man7/life_cycle-mac.pod"
- ],
- "doc/man/man7/life_cycle-pkey.7" => [
- "doc/man7/life_cycle-pkey.pod"
- ],
- "doc/man/man7/life_cycle-rand.7" => [
- "doc/man7/life_cycle-rand.pod"
- ],
- "doc/man/man7/openssl-core.h.7" => [
- "doc/man7/openssl-core.h.pod"
- ],
- "doc/man/man7/openssl-core_dispatch.h.7" => [
- "doc/man7/openssl-core_dispatch.h.pod"
- ],
- "doc/man/man7/openssl-core_names.h.7" => [
- "doc/man7/openssl-core_names.h.pod"
- ],
- "doc/man/man7/openssl-env.7" => [
- "doc/man7/openssl-env.pod"
- ],
- "doc/man/man7/openssl-glossary.7" => [
- "doc/man7/openssl-glossary.pod"
- ],
- "doc/man/man7/openssl-qlog.7" => [
- "doc/man7/openssl-qlog.pod"
- ],
- "doc/man/man7/openssl-quic-concurrency.7" => [
- "doc/man7/openssl-quic-concurrency.pod"
- ],
- "doc/man/man7/openssl-quic.7" => [
- "doc/man7/openssl-quic.pod"
- ],
- "doc/man/man7/openssl-threads.7" => [
- "doc/man7/openssl-threads.pod"
- ],
- "doc/man/man7/openssl_user_macros.7" => [
- "doc/man7/openssl_user_macros.pod"
- ],
- "doc/man/man7/ossl-guide-introduction.7" => [
- "doc/man7/ossl-guide-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-libcrypto-introduction.7" => [
- "doc/man7/ossl-guide-libcrypto-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-libraries-introduction.7" => [
- "doc/man7/ossl-guide-libraries-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-libssl-introduction.7" => [
- "doc/man7/ossl-guide-libssl-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-migration.7" => [
- "doc/man7/ossl-guide-migration.pod"
- ],
- "doc/man/man7/ossl-guide-quic-client-block.7" => [
- "doc/man7/ossl-guide-quic-client-block.pod"
- ],
- "doc/man/man7/ossl-guide-quic-client-non-block.7" => [
- "doc/man7/ossl-guide-quic-client-non-block.pod"
- ],
- "doc/man/man7/ossl-guide-quic-introduction.7" => [
- "doc/man7/ossl-guide-quic-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-quic-multi-stream.7" => [
- "doc/man7/ossl-guide-quic-multi-stream.pod"
- ],
- "doc/man/man7/ossl-guide-quic-server-block.7" => [
- "doc/man7/ossl-guide-quic-server-block.pod"
- ],
- "doc/man/man7/ossl-guide-quic-server-non-block.7" => [
- "doc/man7/ossl-guide-quic-server-non-block.pod"
- ],
- "doc/man/man7/ossl-guide-tls-client-block.7" => [
- "doc/man7/ossl-guide-tls-client-block.pod"
- ],
- "doc/man/man7/ossl-guide-tls-client-non-block.7" => [
- "doc/man7/ossl-guide-tls-client-non-block.pod"
- ],
- "doc/man/man7/ossl-guide-tls-introduction.7" => [
- "doc/man7/ossl-guide-tls-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-tls-server-block.7" => [
- "doc/man7/ossl-guide-tls-server-block.pod"
- ],
- "doc/man/man7/ossl_store-file.7" => [
- "doc/man7/ossl_store-file.pod"
- ],
- "doc/man/man7/ossl_store.7" => [
- "doc/man7/ossl_store.pod"
- ],
- "doc/man/man7/passphrase-encoding.7" => [
- "doc/man7/passphrase-encoding.pod"
- ],
- "doc/man/man7/property.7" => [
- "doc/man7/property.pod"
- ],
- "doc/man/man7/provider-asym_cipher.7" => [
- "doc/man7/provider-asym_cipher.pod"
- ],
- "doc/man/man7/provider-base.7" => [
- "doc/man7/provider-base.pod"
- ],
- "doc/man/man7/provider-cipher.7" => [
- "doc/man7/provider-cipher.pod"
- ],
- "doc/man/man7/provider-decoder.7" => [
- "doc/man7/provider-decoder.pod"
- ],
- "doc/man/man7/provider-digest.7" => [
- "doc/man7/provider-digest.pod"
- ],
- "doc/man/man7/provider-encoder.7" => [
- "doc/man7/provider-encoder.pod"
- ],
- "doc/man/man7/provider-kdf.7" => [
- "doc/man7/provider-kdf.pod"
- ],
- "doc/man/man7/provider-kem.7" => [
- "doc/man7/provider-kem.pod"
- ],
- "doc/man/man7/provider-keyexch.7" => [
- "doc/man7/provider-keyexch.pod"
- ],
- "doc/man/man7/provider-keymgmt.7" => [
- "doc/man7/provider-keymgmt.pod"
- ],
- "doc/man/man7/provider-mac.7" => [
- "doc/man7/provider-mac.pod"
- ],
- "doc/man/man7/provider-object.7" => [
- "doc/man7/provider-object.pod"
- ],
- "doc/man/man7/provider-rand.7" => [
- "doc/man7/provider-rand.pod"
- ],
- "doc/man/man7/provider-signature.7" => [
- "doc/man7/provider-signature.pod"
- ],
- "doc/man/man7/provider-skeymgmt.7" => [
- "doc/man7/provider-skeymgmt.pod"
- ],
- "doc/man/man7/provider-storemgmt.7" => [
- "doc/man7/provider-storemgmt.pod"
- ],
- "doc/man/man7/provider.7" => [
- "doc/man7/provider.pod"
- ],
- "doc/man/man7/proxy-certificates.7" => [
- "doc/man7/proxy-certificates.pod"
- ],
- "doc/man/man7/x509.7" => [
- "doc/man7/x509.pod"
- ],
- "doc/man1/openssl-asn1parse.pod" => [
- "doc/man1/openssl-asn1parse.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-ca.pod" => [
- "doc/man1/openssl-ca.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-ciphers.pod" => [
- "doc/man1/openssl-ciphers.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-cmds.pod" => [
- "doc/man1/openssl-cmds.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-cmp.pod" => [
- "doc/man1/openssl-cmp.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-cms.pod" => [
- "doc/man1/openssl-cms.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-crl.pod" => [
- "doc/man1/openssl-crl.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-crl2pkcs7.pod" => [
- "doc/man1/openssl-crl2pkcs7.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-dgst.pod" => [
- "doc/man1/openssl-dgst.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-dhparam.pod" => [
- "doc/man1/openssl-dhparam.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-dsa.pod" => [
- "doc/man1/openssl-dsa.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-dsaparam.pod" => [
- "doc/man1/openssl-dsaparam.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-ec.pod" => [
- "doc/man1/openssl-ec.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-ecparam.pod" => [
- "doc/man1/openssl-ecparam.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-enc.pod" => [
- "doc/man1/openssl-enc.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-engine.pod" => [
- "doc/man1/openssl-engine.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-errstr.pod" => [
- "doc/man1/openssl-errstr.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-fipsinstall.pod" => [
- "doc/man1/openssl-fipsinstall.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-gendsa.pod" => [
- "doc/man1/openssl-gendsa.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-genpkey.pod" => [
- "doc/man1/openssl-genpkey.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-genrsa.pod" => [
- "doc/man1/openssl-genrsa.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-info.pod" => [
- "doc/man1/openssl-info.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-kdf.pod" => [
- "doc/man1/openssl-kdf.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-list.pod" => [
- "doc/man1/openssl-list.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-mac.pod" => [
- "doc/man1/openssl-mac.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-nseq.pod" => [
- "doc/man1/openssl-nseq.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-ocsp.pod" => [
- "doc/man1/openssl-ocsp.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-passwd.pod" => [
- "doc/man1/openssl-passwd.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-pkcs12.pod" => [
- "doc/man1/openssl-pkcs12.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-pkcs7.pod" => [
- "doc/man1/openssl-pkcs7.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-pkcs8.pod" => [
- "doc/man1/openssl-pkcs8.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-pkey.pod" => [
- "doc/man1/openssl-pkey.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-pkeyparam.pod" => [
- "doc/man1/openssl-pkeyparam.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-pkeyutl.pod" => [
- "doc/man1/openssl-pkeyutl.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-prime.pod" => [
- "doc/man1/openssl-prime.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-rand.pod" => [
- "doc/man1/openssl-rand.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-rehash.pod" => [
- "doc/man1/openssl-rehash.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-req.pod" => [
- "doc/man1/openssl-req.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-rsa.pod" => [
- "doc/man1/openssl-rsa.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-rsautl.pod" => [
- "doc/man1/openssl-rsautl.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-s_client.pod" => [
- "doc/man1/openssl-s_client.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-s_server.pod" => [
- "doc/man1/openssl-s_server.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-s_time.pod" => [
- "doc/man1/openssl-s_time.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-sess_id.pod" => [
- "doc/man1/openssl-sess_id.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-skeyutl.pod" => [
- "doc/man1/openssl-skeyutl.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-smime.pod" => [
- "doc/man1/openssl-smime.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-speed.pod" => [
- "doc/man1/openssl-speed.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-spkac.pod" => [
- "doc/man1/openssl-spkac.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-srp.pod" => [
- "doc/man1/openssl-srp.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-storeutl.pod" => [
- "doc/man1/openssl-storeutl.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-ts.pod" => [
- "doc/man1/openssl-ts.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-verify.pod" => [
- "doc/man1/openssl-verify.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-version.pod" => [
- "doc/man1/openssl-version.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man1/openssl-x509.pod" => [
- "doc/man1/openssl-x509.pod.in",
- "doc/perlvars.pm"
- ],
- "doc/man7/openssl_user_macros.pod" => [
- "doc/man7/openssl_user_macros.pod.in"
- ],
- "engines/capi" => [
- "libcrypto"
- ],
- "engines/dasync" => [
- "libcrypto"
- ],
- "engines/devcrypto" => [
- "libcrypto"
- ],
- "engines/loader_attic" => [
- "libcrypto"
- ],
- "engines/ossltest" => [
- "libcrypto"
- ],
- "engines/padlock" => [
- "libcrypto"
- ],
- "exporters/OpenSSLConfig.cmake" => [
- "installdata.pm"
- ],
- "exporters/OpenSSLConfigVersion.cmake" => [
- "exporters/OpenSSLConfig.cmake",
- "installdata.pm"
- ],
- "exporters/libcrypto.pc" => [
- "installdata.pm"
- ],
- "exporters/libssl.pc" => [
- "installdata.pm"
- ],
- "exporters/openssl.pc" => [
- "exporters/libcrypto.pc",
- "exporters/libssl.pc",
- "installdata.pm"
- ],
- "fuzz/acert-test" => [
- "libcrypto"
- ],
- "fuzz/asn1-test" => [
- "libcrypto",
- "libssl"
- ],
- "fuzz/asn1parse-test" => [
- "libcrypto"
- ],
- "fuzz/bignum-test" => [
- "libcrypto"
- ],
- "fuzz/bndiv-test" => [
- "libcrypto"
- ],
- "fuzz/client-test" => [
- "libcrypto",
- "libssl"
- ],
- "fuzz/cmp-test" => [
- "libcrypto.a"
- ],
- "fuzz/cms-test" => [
- "libcrypto"
- ],
- "fuzz/conf-test" => [
- "libcrypto"
- ],
- "fuzz/crl-test" => [
- "libcrypto"
- ],
- "fuzz/ct-test" => [
- "libcrypto"
- ],
- "fuzz/decoder-test" => [
- "libcrypto"
- ],
- "fuzz/dtlsclient-test" => [
- "libcrypto",
- "libssl"
- ],
- "fuzz/dtlsserver-test" => [
- "libcrypto",
- "libssl"
- ],
- "fuzz/hashtable-test" => [
- "libcrypto.a"
- ],
- "fuzz/ml-dsa-test" => [
- "libcrypto.a"
- ],
- "fuzz/ml-kem-test" => [
- "libcrypto.a"
- ],
- "fuzz/pem-test" => [
- "libcrypto.a"
- ],
- "fuzz/provider-test" => [
- "libcrypto"
- ],
- "fuzz/punycode-test" => [
- "libcrypto.a"
- ],
- "fuzz/quic-client-test" => [
- "libcrypto.a",
- "libssl.a"
- ],
- "fuzz/quic-lcidm-test" => [
- "libcrypto.a",
- "libssl.a"
- ],
- "fuzz/quic-rcidm-test" => [
- "libcrypto.a",
- "libssl.a"
- ],
- "fuzz/quic-server-test" => [
- "libcrypto.a",
- "libssl.a"
- ],
- "fuzz/quic-srtm-test" => [
- "libcrypto.a",
- "libssl.a"
- ],
- "fuzz/server-test" => [
- "libcrypto",
- "libssl"
- ],
- "fuzz/slh-dsa-test" => [
- "libcrypto.a"
- ],
- "fuzz/smime-test" => [
- "libcrypto",
- "libssl"
- ],
- "fuzz/v3name-test" => [
- "libcrypto.a"
- ],
- "fuzz/x509-test" => [
- "libcrypto"
- ],
- "include/internal/param_names.h" => [
- "util/perl|OpenSSL/paramnames.pm"
- ],
- "include/openssl/core_names.h" => [
- "util/perl|OpenSSL/paramnames.pm"
- ],
- "libcrypto.ld" => [
- "configdata.pm",
- "util/perl/OpenSSL/Ordinals.pm"
- ],
- "libcrypto.pc" => [
- "builddata.pm"
- ],
- "libssl" => [
- "libcrypto"
- ],
- "libssl.ld" => [
- "configdata.pm",
- "util/perl/OpenSSL/Ordinals.pm"
- ],
- "libssl.pc" => [
- "builddata.pm"
- ],
- "openssl.pc" => [
- "builddata.pm",
- "libcrypto.pc",
- "libssl.pc"
- ],
- "providers/common/der/der_digests_gen.c" => [
- "providers/common/der/DIGESTS.asn1",
- "providers/common/der/NIST.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/der/der_dsa_gen.c" => [
- "providers/common/der/DSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/der/der_ec_gen.c" => [
- "providers/common/der/EC.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/der/der_ecx_gen.c" => [
- "providers/common/der/ECX.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/der/der_ml_dsa_gen.c" => [
- "providers/common/der/ML_DSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/der/der_rsa_gen.c" => [
- "providers/common/der/NIST.asn1",
- "providers/common/der/RSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/der/der_slh_dsa_gen.c" => [
- "providers/common/der/SLH_DSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/der/der_wrap_gen.c" => [
- "providers/common/der/oids_to_c.pm",
- "providers/common/der/wrap.asn1"
- ],
- "providers/common/der/libcommon-lib-der_digests_gen.o" => [
- "providers/common/include/prov/der_digests.h"
- ],
- "providers/common/der/libcommon-lib-der_dsa_gen.o" => [
- "providers/common/include/prov/der_dsa.h"
- ],
- "providers/common/der/libcommon-lib-der_dsa_key.o" => [
- "providers/common/include/prov/der_digests.h",
- "providers/common/include/prov/der_dsa.h"
- ],
- "providers/common/der/libcommon-lib-der_dsa_sig.o" => [
- "providers/common/include/prov/der_digests.h",
- "providers/common/include/prov/der_dsa.h"
- ],
- "providers/common/der/libcommon-lib-der_ec_gen.o" => [
- "providers/common/include/prov/der_ec.h"
- ],
- "providers/common/der/libcommon-lib-der_ec_key.o" => [
- "providers/common/include/prov/der_digests.h",
- "providers/common/include/prov/der_ec.h"
- ],
- "providers/common/der/libcommon-lib-der_ec_sig.o" => [
- "providers/common/include/prov/der_digests.h",
- "providers/common/include/prov/der_ec.h"
- ],
- "providers/common/der/libcommon-lib-der_ecx_gen.o" => [
- "providers/common/include/prov/der_ecx.h"
- ],
- "providers/common/der/libcommon-lib-der_ecx_key.o" => [
- "providers/common/include/prov/der_ecx.h"
- ],
- "providers/common/der/libcommon-lib-der_ml_dsa_gen.o" => [
- "providers/common/include/prov/der_ml_dsa.h"
- ],
- "providers/common/der/libcommon-lib-der_ml_dsa_key.o" => [
- "providers/common/include/prov/der_ml_dsa.h"
- ],
- "providers/common/der/libcommon-lib-der_rsa_gen.o" => [
- "providers/common/include/prov/der_rsa.h"
- ],
- "providers/common/der/libcommon-lib-der_rsa_key.o" => [
- "providers/common/include/prov/der_digests.h",
- "providers/common/include/prov/der_rsa.h"
- ],
- "providers/common/der/libcommon-lib-der_slh_dsa_gen.o" => [
- "providers/common/include/prov/der_slh_dsa.h"
- ],
- "providers/common/der/libcommon-lib-der_slh_dsa_key.o" => [
- "providers/common/include/prov/der_slh_dsa.h"
- ],
- "providers/common/der/libcommon-lib-der_wrap_gen.o" => [
- "providers/common/include/prov/der_wrap.h"
- ],
- "providers/common/der/libdefault-lib-der_rsa_sig.o" => [
- "providers/common/include/prov/der_digests.h",
- "providers/common/include/prov/der_rsa.h"
- ],
- "providers/common/include/prov/der_digests.h" => [
- "providers/common/der/DIGESTS.asn1",
- "providers/common/der/NIST.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/include/prov/der_dsa.h" => [
- "providers/common/der/DSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/include/prov/der_ec.h" => [
- "providers/common/der/EC.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/include/prov/der_ecx.h" => [
- "providers/common/der/ECX.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/include/prov/der_ml_dsa.h" => [
- "providers/common/der/ML_DSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/include/prov/der_rsa.h" => [
- "providers/common/der/NIST.asn1",
- "providers/common/der/RSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/include/prov/der_slh_dsa.h" => [
- "providers/common/der/SLH_DSA.asn1",
- "providers/common/der/oids_to_c.pm"
- ],
- "providers/common/include/prov/der_wrap.h" => [
- "providers/common/der/oids_to_c.pm",
- "providers/common/der/wrap.asn1"
- ],
- "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o" => [
- "providers/common/include/prov/der_rsa.h"
- ],
- "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [
- "providers/common/include/prov/der_wrap.h"
- ],
- "providers/implementations/signature/libdefault-lib-dsa_sig.o" => [
- "providers/common/include/prov/der_dsa.h"
- ],
- "providers/implementations/signature/libdefault-lib-ecdsa_sig.o" => [
- "providers/common/include/prov/der_ec.h"
- ],
- "providers/implementations/signature/libdefault-lib-eddsa_sig.o" => [
- "providers/common/include/prov/der_ecx.h"
- ],
- "providers/implementations/signature/libdefault-lib-ml_dsa_sig.o" => [
- "providers/common/include/prov/der_ml_dsa.h"
- ],
- "providers/implementations/signature/libdefault-lib-rsa_sig.o" => [
- "providers/common/include/prov/der_rsa.h"
- ],
- "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o" => [
- "providers/common/include/prov/der_slh_dsa.h"
- ],
- "providers/implementations/signature/sm2_sig.o" => [
- "providers/common/include/prov/der_sm2.h"
- ],
- "providers/legacy" => [
- "libcrypto",
- "providers/liblegacy.a"
- ],
- "providers/libcommon.a" => [
- "libcrypto"
- ],
- "providers/libdefault.a" => [
- "providers/libcommon.a"
- ],
- "providers/liblegacy.a" => [
- "providers/libcommon.a"
- ],
- "test/aborttest" => [
- "libcrypto"
- ],
- "test/aesgcmtest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/afalgtest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/algorithmid_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/asn1_decode_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/asn1_dsa_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/asn1_encode_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/asn1_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/asn1_stable_parse_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/asn1_string_table_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/asn1_time_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/asynciotest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/asynctest" => [
- "libcrypto"
- ],
- "test/bad_dtls_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/bftest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_addr_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_base64_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_callback_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_core_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_dgram_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_enc_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_memleak_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_meth_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_prefix_text" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_pw_callback_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_readbuffer_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bio_tfo_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bioprinttest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/bn_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/bntest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/build_wincrypt_test" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_aes" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_asn1" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_asn1t" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_async" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_bio" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_blowfish" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_bn" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_buffer" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_byteorder" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_camellia" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_cast" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_cmac" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_cmp" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_cmp_util" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_cms" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_comp" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_conf" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_conf_api" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_configuration" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_conftypes" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_core" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_core_dispatch" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_core_names" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_core_object" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_crmf" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_crypto" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_cryptoerr_legacy" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ct" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_decoder" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_des" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_dh" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_dsa" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_dtls1" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_e_os2" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_e_ostime" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ebcdic" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ec" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ecdh" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ecdsa" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_encoder" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_engine" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ess" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_evp" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_fips_names" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_fipskey" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_hmac" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_hpke" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_http" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_indicator" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_kdf" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_lhash" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_macros" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_md4" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_md5" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ml_kem" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_modes" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_obj_mac" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_objects" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ocsp" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_opensslv" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ossl_typ" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_param_build" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_params" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_pem" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_pem2" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_pkcs12" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_pkcs7" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_prov_ssl" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_provider" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_quic" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_rand" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_rc2" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_rc4" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ripemd" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_rsa" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_safestack" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_seed" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_self_test" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_sha" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_srp" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_srtp" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ssl" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ssl2" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_sslerr_legacy" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_stack" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_store" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_symhacks" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_thread" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_tls1" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ts" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_txt_db" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_types" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_ui" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_whrlpool" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_x509" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_x509_acert" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_x509_vfy" => [
- "libcrypto",
- "libssl"
- ],
- "test/buildtest_c_x509v3" => [
- "libcrypto",
- "libssl"
- ],
- "test/byteorder_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/ca_internals_test" => [
- "libssl",
- "test/libtestutil.a"
- ],
- "test/casttest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/cert_comp_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/chacha_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cipher_overhead_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/cipherbytes_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/cipherlist_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/ciphername_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/clienthellotest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/cmactest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_asn_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_client_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_ctx_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_hdr_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_msg_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_protect_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_server_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_status_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmp_vfy_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/cmsapitest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/conf_include_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/confdump" => [
- "libcrypto"
- ],
- "test/constant_time_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/context_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/crltest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ct_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ctype_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/curve448_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/d2i_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/danetest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/decoder_propq_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/defltfips_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/destest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/dhtest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/drbgtest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/dsa_no_digest_size_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/dsatest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/dtls_mtu_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/dtlstest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/dtlsv1listentest" => [
- "libssl",
- "test/libtestutil.a"
- ],
- "test/ec_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/ecdsatest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/ecstresstest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ectest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/endecode_test" => [
- "libcrypto.a",
- "providers/libcommon.a",
- "providers/liblegacy.a",
- "test/libtestutil.a"
- ],
- "test/endecoder_legacy_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/enginetest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/errtest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_byname_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_extra_test" => [
- "libcrypto.a",
- "providers/libcommon.a",
- "providers/liblegacy.a",
- "test/libtestutil.a"
- ],
- "test/evp_extra_test2" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_fetch_prov_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_kdf_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_libctx_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/evp_pkey_ctx_new_from_name" => [
- "libcrypto"
- ],
- "test/evp_pkey_dhkem_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/evp_pkey_dparams_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_pkey_provided_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/evp_skey_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/evp_xof_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/exdatatest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/exptest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ext_internal_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/fatalerrtest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/ffc_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/fips_version_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/gmdifftest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/hexstr_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/hmactest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/hpke_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/http_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ideatest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/igetest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/json_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/keymgmt_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/lhash_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/libtestutil.a" => [
- "libcrypto"
- ],
- "test/list_test" => [
- "test/libtestutil.a"
- ],
- "test/localetest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/mdc2_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/mdc2test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/membio_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/memleaktest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ml_dsa_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/ml_kem_evp_extra_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/ml_kem_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/modes_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/namemap_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/nodefltctxtest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/ocspapitest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ossl_store_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/packettest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pairwise_fail_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/param_build_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/params_api_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/params_conversion_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/params_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/pbelutest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pbetest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pem_read_depr_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pemtest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pkcs12_api_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pkcs12_format_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pkcs7_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pkey_meth_kdf_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/pkey_meth_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/poly1305_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/priority_queue_test" => [
- "libcrypto",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/property_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/prov_config_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/provfetchtest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/provider_default_search_path_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/provider_fallback_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/provider_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/provider_pkey_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/provider_status_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/provider_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/punycode_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/quic_ackm_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_cc_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_cfq_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_client_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_fc_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_fifd_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_lcidm_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_multistream_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_newcid_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_qlog_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_radix_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_rcidm_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_record_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_srt_gen_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_srtm_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_stream_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_tserver_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_txp_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_txpim_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quic_wire_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quicapitest" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/quicfaultstest" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/rand_status_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/rand_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/rc2test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/rc4test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/rc5test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/rdcpu_sanitytest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/recordlentest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/rpktest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/rsa_mp_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/rsa_sp800_56b_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/rsa_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/rsa_x931_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/safe_math_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/sanitytest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/secmemtest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/servername_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/sha_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/siphash_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/slh_dsa_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/sm2_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/sm3_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/sm4_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/sparse_array_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/srptest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ssl_cert_table_internal_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/ssl_ctx_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/ssl_handshake_rtt_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/ssl_old_test" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/ssl_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/ssl_test_ctx_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/sslapitest" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/sslbuffertest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/sslcorrupttest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/stack_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/strtoultest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/sysdefaulttest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/test_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/threadpool_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/threadstest" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/threadstest_fips" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/time_offset_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/time_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/timing_load_creds" => [
- "libcrypto.a"
- ],
- "test/tls13ccstest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/tls13encryptiontest" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/tls13groupselection_test" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/tls13secretstest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/trace_api_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/uitest" => [
- "libcrypto",
- "libssl",
- "test/libtestutil.a"
- ],
- "test/upcallstest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/user_property_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/v3ext" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/v3nametest" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/verify_extra_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/versions" => [
- "libcrypto"
- ],
- "test/wpackettest" => [
- "libcrypto.a",
- "libssl.a",
- "test/libtestutil.a"
- ],
- "test/x509_acert_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/x509_check_cert_pkey_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/x509_dup_cert_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/x509_internal_test" => [
- "libcrypto.a",
- "test/libtestutil.a"
- ],
- "test/x509_load_cert_file_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/x509_req_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/x509_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/x509_time_test" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "test/x509aux" => [
- "libcrypto",
- "test/libtestutil.a"
- ],
- "util/wrap.pl" => [
- "configdata.pm"
- ]
- },
- "dirinfo" => {
- "apps" => {
- "deps" => [
- "apps/ca_internals_test-bin-ca.o"
- ],
- "products" => {
- "bin" => [
- "apps/openssl",
- "test/ca_internals_test"
- ],
- "script" => [
- "apps/CA.pl",
- "apps/tsget.pl"
- ]
- }
- },
- "apps/lib" => {
- "deps" => [
- "apps/lib/openssl-bin-cmp_mock_srv.o",
- "apps/lib/ca_internals_test-bin-app_libctx.o",
- "apps/lib/ca_internals_test-bin-app_provider.o",
- "apps/lib/ca_internals_test-bin-app_rand.o",
- "apps/lib/ca_internals_test-bin-app_x509.o",
- "apps/lib/ca_internals_test-bin-apps.o",
- "apps/lib/ca_internals_test-bin-apps_ui.o",
- "apps/lib/ca_internals_test-bin-engine.o",
- "apps/lib/ca_internals_test-bin-fmt.o",
- "apps/lib/cmp_client_test-bin-cmp_mock_srv.o",
- "apps/lib/uitest-bin-apps_ui.o",
- "apps/lib/libapps-lib-app_libctx.o",
- "apps/lib/libapps-lib-app_params.o",
- "apps/lib/libapps-lib-app_provider.o",
- "apps/lib/libapps-lib-app_rand.o",
- "apps/lib/libapps-lib-app_x509.o",
- "apps/lib/libapps-lib-apps.o",
- "apps/lib/libapps-lib-apps_opt_printf.o",
- "apps/lib/libapps-lib-apps_ui.o",
- "apps/lib/libapps-lib-columns.o",
- "apps/lib/libapps-lib-engine.o",
- "apps/lib/libapps-lib-engine_loader.o",
- "apps/lib/libapps-lib-fmt.o",
- "apps/lib/libapps-lib-http_server.o",
- "apps/lib/libapps-lib-log.o",
- "apps/lib/libapps-lib-names.o",
- "apps/lib/libapps-lib-opt.o",
- "apps/lib/libapps-lib-s_cb.o",
- "apps/lib/libapps-lib-s_socket.o",
- "apps/lib/libapps-lib-tlssrp_depr.o",
- "apps/lib/libtestutil-lib-opt.o"
- ],
- "products" => {
- "bin" => [
- "apps/openssl",
- "test/ca_internals_test",
- "test/cmp_client_test",
- "test/uitest"
- ],
- "lib" => [
- "apps/libapps.a",
- "test/libtestutil.a"
- ]
- }
- },
- "crypto" => {
- "deps" => [
- "crypto/asn1_time_test-bin-ctype.o",
- "crypto/ca_internals_test-bin-ctype.o",
- "crypto/packettest-bin-quic_vlint.o",
- "crypto/tls13secretstest-bin-packet.o",
- "crypto/tls13secretstest-bin-quic_vlint.o",
- "crypto/legacy-dso-cpuid.o",
- "crypto/legacy-dso-ctype.o",
- "crypto/legacy-dso-x86_64cpuid.o",
- "crypto/libcrypto-lib-asn1_dsa.o",
- "crypto/libcrypto-lib-bsearch.o",
- "crypto/libcrypto-lib-comp_methods.o",
- "crypto/libcrypto-lib-context.o",
- "crypto/libcrypto-lib-core_algorithm.o",
- "crypto/libcrypto-lib-core_fetch.o",
- "crypto/libcrypto-lib-core_namemap.o",
- "crypto/libcrypto-lib-cpt_err.o",
- "crypto/libcrypto-lib-cpuid.o",
- "crypto/libcrypto-lib-cryptlib.o",
- "crypto/libcrypto-lib-ctype.o",
- "crypto/libcrypto-lib-cversion.o",
- "crypto/libcrypto-lib-defaults.o",
- "crypto/libcrypto-lib-der_writer.o",
- "crypto/libcrypto-lib-deterministic_nonce.o",
- "crypto/libcrypto-lib-ebcdic.o",
- "crypto/libcrypto-lib-ex_data.o",
- "crypto/libcrypto-lib-getenv.o",
- "crypto/libcrypto-lib-indicator_core.o",
- "crypto/libcrypto-lib-info.o",
- "crypto/libcrypto-lib-init.o",
- "crypto/libcrypto-lib-initthread.o",
- "crypto/libcrypto-lib-mem.o",
- "crypto/libcrypto-lib-mem_sec.o",
- "crypto/libcrypto-lib-o_dir.o",
- "crypto/libcrypto-lib-o_fopen.o",
- "crypto/libcrypto-lib-o_init.o",
- "crypto/libcrypto-lib-o_str.o",
- "crypto/libcrypto-lib-o_time.o",
- "crypto/libcrypto-lib-packet.o",
- "crypto/libcrypto-lib-param_build.o",
- "crypto/libcrypto-lib-param_build_set.o",
- "crypto/libcrypto-lib-params.o",
- "crypto/libcrypto-lib-params_dup.o",
- "crypto/libcrypto-lib-params_from_text.o",
- "crypto/libcrypto-lib-params_idx.o",
- "crypto/libcrypto-lib-passphrase.o",
- "crypto/libcrypto-lib-provider.o",
- "crypto/libcrypto-lib-provider_child.o",
- "crypto/libcrypto-lib-provider_conf.o",
- "crypto/libcrypto-lib-provider_core.o",
- "crypto/libcrypto-lib-provider_predefined.o",
- "crypto/libcrypto-lib-punycode.o",
- "crypto/libcrypto-lib-quic_vlint.o",
- "crypto/libcrypto-lib-self_test_core.o",
- "crypto/libcrypto-lib-sleep.o",
- "crypto/libcrypto-lib-sparse_array.o",
- "crypto/libcrypto-lib-ssl_err.o",
- "crypto/libcrypto-lib-threads_lib.o",
- "crypto/libcrypto-lib-threads_none.o",
- "crypto/libcrypto-lib-threads_pthread.o",
- "crypto/libcrypto-lib-threads_win.o",
- "crypto/libcrypto-lib-time.o",
- "crypto/libcrypto-lib-trace.o",
- "crypto/libcrypto-lib-uid.o",
- "crypto/libcrypto-lib-x86_64cpuid.o",
- "crypto/libcrypto-shlib-asn1_dsa.o",
- "crypto/libcrypto-shlib-bsearch.o",
- "crypto/libcrypto-shlib-comp_methods.o",
- "crypto/libcrypto-shlib-context.o",
- "crypto/libcrypto-shlib-core_algorithm.o",
- "crypto/libcrypto-shlib-core_fetch.o",
- "crypto/libcrypto-shlib-core_namemap.o",
- "crypto/libcrypto-shlib-cpt_err.o",
- "crypto/libcrypto-shlib-cpuid.o",
- "crypto/libcrypto-shlib-cryptlib.o",
- "crypto/libcrypto-shlib-ctype.o",
- "crypto/libcrypto-shlib-cversion.o",
- "crypto/libcrypto-shlib-defaults.o",
- "crypto/libcrypto-shlib-der_writer.o",
- "crypto/libcrypto-shlib-deterministic_nonce.o",
- "crypto/libcrypto-shlib-ebcdic.o",
- "crypto/libcrypto-shlib-ex_data.o",
- "crypto/libcrypto-shlib-getenv.o",
- "crypto/libcrypto-shlib-indicator_core.o",
- "crypto/libcrypto-shlib-info.o",
- "crypto/libcrypto-shlib-init.o",
- "crypto/libcrypto-shlib-initthread.o",
- "crypto/libcrypto-shlib-mem.o",
- "crypto/libcrypto-shlib-mem_sec.o",
- "crypto/libcrypto-shlib-o_dir.o",
- "crypto/libcrypto-shlib-o_fopen.o",
- "crypto/libcrypto-shlib-o_init.o",
- "crypto/libcrypto-shlib-o_str.o",
- "crypto/libcrypto-shlib-o_time.o",
- "crypto/libcrypto-shlib-packet.o",
- "crypto/libcrypto-shlib-param_build.o",
- "crypto/libcrypto-shlib-param_build_set.o",
- "crypto/libcrypto-shlib-params.o",
- "crypto/libcrypto-shlib-params_dup.o",
- "crypto/libcrypto-shlib-params_from_text.o",
- "crypto/libcrypto-shlib-params_idx.o",
- "crypto/libcrypto-shlib-passphrase.o",
- "crypto/libcrypto-shlib-provider.o",
- "crypto/libcrypto-shlib-provider_child.o",
- "crypto/libcrypto-shlib-provider_conf.o",
- "crypto/libcrypto-shlib-provider_core.o",
- "crypto/libcrypto-shlib-provider_predefined.o",
- "crypto/libcrypto-shlib-punycode.o",
- "crypto/libcrypto-shlib-quic_vlint.o",
- "crypto/libcrypto-shlib-self_test_core.o",
- "crypto/libcrypto-shlib-sleep.o",
- "crypto/libcrypto-shlib-sparse_array.o",
- "crypto/libcrypto-shlib-ssl_err.o",
- "crypto/libcrypto-shlib-threads_lib.o",
- "crypto/libcrypto-shlib-threads_none.o",
- "crypto/libcrypto-shlib-threads_pthread.o",
- "crypto/libcrypto-shlib-threads_win.o",
- "crypto/libcrypto-shlib-time.o",
- "crypto/libcrypto-shlib-trace.o",
- "crypto/libcrypto-shlib-uid.o",
- "crypto/libcrypto-shlib-x86_64cpuid.o",
- "crypto/libssl-shlib-ctype.o",
- "crypto/libssl-shlib-getenv.o",
- "crypto/libssl-shlib-packet.o",
- "crypto/libssl-shlib-quic_vlint.o",
- "crypto/libssl-shlib-time.o"
- ],
- "products" => {
- "bin" => [
- "test/asn1_time_test",
- "test/ca_internals_test",
- "test/packettest",
- "test/tls13secretstest"
- ],
- "dso" => [
- "providers/legacy"
- ],
- "lib" => [
- "libcrypto",
- "libssl"
- ]
- }
- },
- "crypto/aes" => {
- "deps" => [
- "crypto/aes/libcrypto-lib-aes-x86_64.o",
- "crypto/aes/libcrypto-lib-aes_cfb.o",
- "crypto/aes/libcrypto-lib-aes_ecb.o",
- "crypto/aes/libcrypto-lib-aes_ige.o",
- "crypto/aes/libcrypto-lib-aes_misc.o",
- "crypto/aes/libcrypto-lib-aes_ofb.o",
- "crypto/aes/libcrypto-lib-aes_wrap.o",
- "crypto/aes/libcrypto-lib-aesni-mb-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-sha1-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-sha256-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-xts-avx512.o",
- "crypto/aes/libcrypto-lib-bsaes-x86_64.o",
- "crypto/aes/libcrypto-lib-vpaes-x86_64.o",
- "crypto/aes/libcrypto-shlib-aes-x86_64.o",
- "crypto/aes/libcrypto-shlib-aes_cfb.o",
- "crypto/aes/libcrypto-shlib-aes_ecb.o",
- "crypto/aes/libcrypto-shlib-aes_ige.o",
- "crypto/aes/libcrypto-shlib-aes_misc.o",
- "crypto/aes/libcrypto-shlib-aes_ofb.o",
- "crypto/aes/libcrypto-shlib-aes_wrap.o",
- "crypto/aes/libcrypto-shlib-aesni-mb-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-sha1-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-sha256-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-xts-avx512.o",
- "crypto/aes/libcrypto-shlib-bsaes-x86_64.o",
- "crypto/aes/libcrypto-shlib-vpaes-x86_64.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/asn1" => {
- "deps" => [
- "crypto/asn1/asn1_time_test-bin-a_time.o",
- "crypto/asn1/ca_internals_test-bin-a_time.o",
- "crypto/asn1/libcrypto-lib-a_bitstr.o",
- "crypto/asn1/libcrypto-lib-a_d2i_fp.o",
- "crypto/asn1/libcrypto-lib-a_digest.o",
- "crypto/asn1/libcrypto-lib-a_dup.o",
- "crypto/asn1/libcrypto-lib-a_gentm.o",
- "crypto/asn1/libcrypto-lib-a_i2d_fp.o",
- "crypto/asn1/libcrypto-lib-a_int.o",
- "crypto/asn1/libcrypto-lib-a_mbstr.o",
- "crypto/asn1/libcrypto-lib-a_object.o",
- "crypto/asn1/libcrypto-lib-a_octet.o",
- "crypto/asn1/libcrypto-lib-a_print.o",
- "crypto/asn1/libcrypto-lib-a_sign.o",
- "crypto/asn1/libcrypto-lib-a_strex.o",
- "crypto/asn1/libcrypto-lib-a_strnid.o",
- "crypto/asn1/libcrypto-lib-a_time.o",
- "crypto/asn1/libcrypto-lib-a_type.o",
- "crypto/asn1/libcrypto-lib-a_utctm.o",
- "crypto/asn1/libcrypto-lib-a_utf8.o",
- "crypto/asn1/libcrypto-lib-a_verify.o",
- "crypto/asn1/libcrypto-lib-ameth_lib.o",
- "crypto/asn1/libcrypto-lib-asn1_err.o",
- "crypto/asn1/libcrypto-lib-asn1_gen.o",
- "crypto/asn1/libcrypto-lib-asn1_item_list.o",
- "crypto/asn1/libcrypto-lib-asn1_lib.o",
- "crypto/asn1/libcrypto-lib-asn1_parse.o",
- "crypto/asn1/libcrypto-lib-asn_mime.o",
- "crypto/asn1/libcrypto-lib-asn_moid.o",
- "crypto/asn1/libcrypto-lib-asn_mstbl.o",
- "crypto/asn1/libcrypto-lib-asn_pack.o",
- "crypto/asn1/libcrypto-lib-bio_asn1.o",
- "crypto/asn1/libcrypto-lib-bio_ndef.o",
- "crypto/asn1/libcrypto-lib-d2i_param.o",
- "crypto/asn1/libcrypto-lib-d2i_pr.o",
- "crypto/asn1/libcrypto-lib-d2i_pu.o",
- "crypto/asn1/libcrypto-lib-evp_asn1.o",
- "crypto/asn1/libcrypto-lib-f_int.o",
- "crypto/asn1/libcrypto-lib-f_string.o",
- "crypto/asn1/libcrypto-lib-i2d_evp.o",
- "crypto/asn1/libcrypto-lib-n_pkey.o",
- "crypto/asn1/libcrypto-lib-nsseq.o",
- "crypto/asn1/libcrypto-lib-p5_pbe.o",
- "crypto/asn1/libcrypto-lib-p5_pbev2.o",
- "crypto/asn1/libcrypto-lib-p5_scrypt.o",
- "crypto/asn1/libcrypto-lib-p8_pkey.o",
- "crypto/asn1/libcrypto-lib-t_bitst.o",
- "crypto/asn1/libcrypto-lib-t_pkey.o",
- "crypto/asn1/libcrypto-lib-t_spki.o",
- "crypto/asn1/libcrypto-lib-tasn_dec.o",
- "crypto/asn1/libcrypto-lib-tasn_enc.o",
- "crypto/asn1/libcrypto-lib-tasn_fre.o",
- "crypto/asn1/libcrypto-lib-tasn_new.o",
- "crypto/asn1/libcrypto-lib-tasn_prn.o",
- "crypto/asn1/libcrypto-lib-tasn_scn.o",
- "crypto/asn1/libcrypto-lib-tasn_typ.o",
- "crypto/asn1/libcrypto-lib-tasn_utl.o",
- "crypto/asn1/libcrypto-lib-x_algor.o",
- "crypto/asn1/libcrypto-lib-x_bignum.o",
- "crypto/asn1/libcrypto-lib-x_info.o",
- "crypto/asn1/libcrypto-lib-x_int64.o",
- "crypto/asn1/libcrypto-lib-x_long.o",
- "crypto/asn1/libcrypto-lib-x_pkey.o",
- "crypto/asn1/libcrypto-lib-x_sig.o",
- "crypto/asn1/libcrypto-lib-x_spki.o",
- "crypto/asn1/libcrypto-lib-x_val.o",
- "crypto/asn1/libcrypto-shlib-a_bitstr.o",
- "crypto/asn1/libcrypto-shlib-a_d2i_fp.o",
- "crypto/asn1/libcrypto-shlib-a_digest.o",
- "crypto/asn1/libcrypto-shlib-a_dup.o",
- "crypto/asn1/libcrypto-shlib-a_gentm.o",
- "crypto/asn1/libcrypto-shlib-a_i2d_fp.o",
- "crypto/asn1/libcrypto-shlib-a_int.o",
- "crypto/asn1/libcrypto-shlib-a_mbstr.o",
- "crypto/asn1/libcrypto-shlib-a_object.o",
- "crypto/asn1/libcrypto-shlib-a_octet.o",
- "crypto/asn1/libcrypto-shlib-a_print.o",
- "crypto/asn1/libcrypto-shlib-a_sign.o",
- "crypto/asn1/libcrypto-shlib-a_strex.o",
- "crypto/asn1/libcrypto-shlib-a_strnid.o",
- "crypto/asn1/libcrypto-shlib-a_time.o",
- "crypto/asn1/libcrypto-shlib-a_type.o",
- "crypto/asn1/libcrypto-shlib-a_utctm.o",
- "crypto/asn1/libcrypto-shlib-a_utf8.o",
- "crypto/asn1/libcrypto-shlib-a_verify.o",
- "crypto/asn1/libcrypto-shlib-ameth_lib.o",
- "crypto/asn1/libcrypto-shlib-asn1_err.o",
- "crypto/asn1/libcrypto-shlib-asn1_gen.o",
- "crypto/asn1/libcrypto-shlib-asn1_item_list.o",
- "crypto/asn1/libcrypto-shlib-asn1_lib.o",
- "crypto/asn1/libcrypto-shlib-asn1_parse.o",
- "crypto/asn1/libcrypto-shlib-asn_mime.o",
- "crypto/asn1/libcrypto-shlib-asn_moid.o",
- "crypto/asn1/libcrypto-shlib-asn_mstbl.o",
- "crypto/asn1/libcrypto-shlib-asn_pack.o",
- "crypto/asn1/libcrypto-shlib-bio_asn1.o",
- "crypto/asn1/libcrypto-shlib-bio_ndef.o",
- "crypto/asn1/libcrypto-shlib-d2i_param.o",
- "crypto/asn1/libcrypto-shlib-d2i_pr.o",
- "crypto/asn1/libcrypto-shlib-d2i_pu.o",
- "crypto/asn1/libcrypto-shlib-evp_asn1.o",
- "crypto/asn1/libcrypto-shlib-f_int.o",
- "crypto/asn1/libcrypto-shlib-f_string.o",
- "crypto/asn1/libcrypto-shlib-i2d_evp.o",
- "crypto/asn1/libcrypto-shlib-n_pkey.o",
- "crypto/asn1/libcrypto-shlib-nsseq.o",
- "crypto/asn1/libcrypto-shlib-p5_pbe.o",
- "crypto/asn1/libcrypto-shlib-p5_pbev2.o",
- "crypto/asn1/libcrypto-shlib-p5_scrypt.o",
- "crypto/asn1/libcrypto-shlib-p8_pkey.o",
- "crypto/asn1/libcrypto-shlib-t_bitst.o",
- "crypto/asn1/libcrypto-shlib-t_pkey.o",
- "crypto/asn1/libcrypto-shlib-t_spki.o",
- "crypto/asn1/libcrypto-shlib-tasn_dec.o",
- "crypto/asn1/libcrypto-shlib-tasn_enc.o",
- "crypto/asn1/libcrypto-shlib-tasn_fre.o",
- "crypto/asn1/libcrypto-shlib-tasn_new.o",
- "crypto/asn1/libcrypto-shlib-tasn_prn.o",
- "crypto/asn1/libcrypto-shlib-tasn_scn.o",
- "crypto/asn1/libcrypto-shlib-tasn_typ.o",
- "crypto/asn1/libcrypto-shlib-tasn_utl.o",
- "crypto/asn1/libcrypto-shlib-x_algor.o",
- "crypto/asn1/libcrypto-shlib-x_bignum.o",
- "crypto/asn1/libcrypto-shlib-x_info.o",
- "crypto/asn1/libcrypto-shlib-x_int64.o",
- "crypto/asn1/libcrypto-shlib-x_long.o",
- "crypto/asn1/libcrypto-shlib-x_pkey.o",
- "crypto/asn1/libcrypto-shlib-x_sig.o",
- "crypto/asn1/libcrypto-shlib-x_spki.o",
- "crypto/asn1/libcrypto-shlib-x_val.o"
- ],
- "products" => {
- "bin" => [
- "test/asn1_time_test",
- "test/ca_internals_test"
- ],
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/async" => {
- "deps" => [
- "crypto/async/libcrypto-lib-async.o",
- "crypto/async/libcrypto-lib-async_err.o",
- "crypto/async/libcrypto-lib-async_wait.o",
- "crypto/async/libcrypto-shlib-async.o",
- "crypto/async/libcrypto-shlib-async_err.o",
- "crypto/async/libcrypto-shlib-async_wait.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/async/arch" => {
- "deps" => [
- "crypto/async/arch/libcrypto-lib-async_null.o",
- "crypto/async/arch/libcrypto-lib-async_posix.o",
- "crypto/async/arch/libcrypto-lib-async_win.o",
- "crypto/async/arch/libcrypto-shlib-async_null.o",
- "crypto/async/arch/libcrypto-shlib-async_posix.o",
- "crypto/async/arch/libcrypto-shlib-async_win.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/bf" => {
- "deps" => [
- "crypto/bf/libcrypto-lib-bf_cfb64.o",
- "crypto/bf/libcrypto-lib-bf_ecb.o",
- "crypto/bf/libcrypto-lib-bf_enc.o",
- "crypto/bf/libcrypto-lib-bf_ofb64.o",
- "crypto/bf/libcrypto-lib-bf_skey.o",
- "crypto/bf/libcrypto-shlib-bf_cfb64.o",
- "crypto/bf/libcrypto-shlib-bf_ecb.o",
- "crypto/bf/libcrypto-shlib-bf_enc.o",
- "crypto/bf/libcrypto-shlib-bf_ofb64.o",
- "crypto/bf/libcrypto-shlib-bf_skey.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/bio" => {
- "deps" => [
- "crypto/bio/libcrypto-lib-bf_buff.o",
- "crypto/bio/libcrypto-lib-bf_lbuf.o",
- "crypto/bio/libcrypto-lib-bf_nbio.o",
- "crypto/bio/libcrypto-lib-bf_null.o",
- "crypto/bio/libcrypto-lib-bf_prefix.o",
- "crypto/bio/libcrypto-lib-bf_readbuff.o",
- "crypto/bio/libcrypto-lib-bio_addr.o",
- "crypto/bio/libcrypto-lib-bio_cb.o",
- "crypto/bio/libcrypto-lib-bio_dump.o",
- "crypto/bio/libcrypto-lib-bio_err.o",
- "crypto/bio/libcrypto-lib-bio_lib.o",
- "crypto/bio/libcrypto-lib-bio_meth.o",
- "crypto/bio/libcrypto-lib-bio_print.o",
- "crypto/bio/libcrypto-lib-bio_sock.o",
- "crypto/bio/libcrypto-lib-bio_sock2.o",
- "crypto/bio/libcrypto-lib-bss_acpt.o",
- "crypto/bio/libcrypto-lib-bss_bio.o",
- "crypto/bio/libcrypto-lib-bss_conn.o",
- "crypto/bio/libcrypto-lib-bss_core.o",
- "crypto/bio/libcrypto-lib-bss_dgram.o",
- "crypto/bio/libcrypto-lib-bss_dgram_pair.o",
- "crypto/bio/libcrypto-lib-bss_fd.o",
- "crypto/bio/libcrypto-lib-bss_file.o",
- "crypto/bio/libcrypto-lib-bss_log.o",
- "crypto/bio/libcrypto-lib-bss_mem.o",
- "crypto/bio/libcrypto-lib-bss_null.o",
- "crypto/bio/libcrypto-lib-bss_sock.o",
- "crypto/bio/libcrypto-lib-ossl_core_bio.o",
- "crypto/bio/libcrypto-shlib-bf_buff.o",
- "crypto/bio/libcrypto-shlib-bf_lbuf.o",
- "crypto/bio/libcrypto-shlib-bf_nbio.o",
- "crypto/bio/libcrypto-shlib-bf_null.o",
- "crypto/bio/libcrypto-shlib-bf_prefix.o",
- "crypto/bio/libcrypto-shlib-bf_readbuff.o",
- "crypto/bio/libcrypto-shlib-bio_addr.o",
- "crypto/bio/libcrypto-shlib-bio_cb.o",
- "crypto/bio/libcrypto-shlib-bio_dump.o",
- "crypto/bio/libcrypto-shlib-bio_err.o",
- "crypto/bio/libcrypto-shlib-bio_lib.o",
- "crypto/bio/libcrypto-shlib-bio_meth.o",
- "crypto/bio/libcrypto-shlib-bio_print.o",
- "crypto/bio/libcrypto-shlib-bio_sock.o",
- "crypto/bio/libcrypto-shlib-bio_sock2.o",
- "crypto/bio/libcrypto-shlib-bss_acpt.o",
- "crypto/bio/libcrypto-shlib-bss_bio.o",
- "crypto/bio/libcrypto-shlib-bss_conn.o",
- "crypto/bio/libcrypto-shlib-bss_core.o",
- "crypto/bio/libcrypto-shlib-bss_dgram.o",
- "crypto/bio/libcrypto-shlib-bss_dgram_pair.o",
- "crypto/bio/libcrypto-shlib-bss_fd.o",
- "crypto/bio/libcrypto-shlib-bss_file.o",
- "crypto/bio/libcrypto-shlib-bss_log.o",
- "crypto/bio/libcrypto-shlib-bss_mem.o",
- "crypto/bio/libcrypto-shlib-bss_null.o",
- "crypto/bio/libcrypto-shlib-bss_sock.o",
- "crypto/bio/libcrypto-shlib-ossl_core_bio.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/bn" => {
- "deps" => [
- "crypto/bn/libcrypto-lib-bn_add.o",
- "crypto/bn/libcrypto-lib-bn_blind.o",
- "crypto/bn/libcrypto-lib-bn_const.o",
- "crypto/bn/libcrypto-lib-bn_conv.o",
- "crypto/bn/libcrypto-lib-bn_ctx.o",
- "crypto/bn/libcrypto-lib-bn_depr.o",
- "crypto/bn/libcrypto-lib-bn_dh.o",
- "crypto/bn/libcrypto-lib-bn_div.o",
- "crypto/bn/libcrypto-lib-bn_err.o",
- "crypto/bn/libcrypto-lib-bn_exp.o",
- "crypto/bn/libcrypto-lib-bn_exp2.o",
- "crypto/bn/libcrypto-lib-bn_gcd.o",
- "crypto/bn/libcrypto-lib-bn_gf2m.o",
- "crypto/bn/libcrypto-lib-bn_intern.o",
- "crypto/bn/libcrypto-lib-bn_kron.o",
- "crypto/bn/libcrypto-lib-bn_lib.o",
- "crypto/bn/libcrypto-lib-bn_mod.o",
- "crypto/bn/libcrypto-lib-bn_mont.o",
- "crypto/bn/libcrypto-lib-bn_mpi.o",
- "crypto/bn/libcrypto-lib-bn_mul.o",
- "crypto/bn/libcrypto-lib-bn_nist.o",
- "crypto/bn/libcrypto-lib-bn_prime.o",
- "crypto/bn/libcrypto-lib-bn_print.o",
- "crypto/bn/libcrypto-lib-bn_rand.o",
- "crypto/bn/libcrypto-lib-bn_recp.o",
- "crypto/bn/libcrypto-lib-bn_rsa_fips186_4.o",
- "crypto/bn/libcrypto-lib-bn_shift.o",
- "crypto/bn/libcrypto-lib-bn_sqr.o",
- "crypto/bn/libcrypto-lib-bn_sqrt.o",
- "crypto/bn/libcrypto-lib-bn_srp.o",
- "crypto/bn/libcrypto-lib-bn_word.o",
- "crypto/bn/libcrypto-lib-bn_x931p.o",
- "crypto/bn/libcrypto-lib-rsaz-2k-avx512.o",
- "crypto/bn/libcrypto-lib-rsaz-2k-avxifma.o",
- "crypto/bn/libcrypto-lib-rsaz-3k-avx512.o",
- "crypto/bn/libcrypto-lib-rsaz-3k-avxifma.o",
- "crypto/bn/libcrypto-lib-rsaz-4k-avx512.o",
- "crypto/bn/libcrypto-lib-rsaz-4k-avxifma.o",
- "crypto/bn/libcrypto-lib-rsaz-avx2.o",
- "crypto/bn/libcrypto-lib-rsaz-x86_64.o",
- "crypto/bn/libcrypto-lib-rsaz_exp.o",
- "crypto/bn/libcrypto-lib-rsaz_exp_x2.o",
- "crypto/bn/libcrypto-lib-x86_64-gf2m.o",
- "crypto/bn/libcrypto-lib-x86_64-mont.o",
- "crypto/bn/libcrypto-lib-x86_64-mont5.o",
- "crypto/bn/libcrypto-shlib-bn_add.o",
- "crypto/bn/libcrypto-shlib-bn_blind.o",
- "crypto/bn/libcrypto-shlib-bn_const.o",
- "crypto/bn/libcrypto-shlib-bn_conv.o",
- "crypto/bn/libcrypto-shlib-bn_ctx.o",
- "crypto/bn/libcrypto-shlib-bn_depr.o",
- "crypto/bn/libcrypto-shlib-bn_dh.o",
- "crypto/bn/libcrypto-shlib-bn_div.o",
- "crypto/bn/libcrypto-shlib-bn_err.o",
- "crypto/bn/libcrypto-shlib-bn_exp.o",
- "crypto/bn/libcrypto-shlib-bn_exp2.o",
- "crypto/bn/libcrypto-shlib-bn_gcd.o",
- "crypto/bn/libcrypto-shlib-bn_gf2m.o",
- "crypto/bn/libcrypto-shlib-bn_intern.o",
- "crypto/bn/libcrypto-shlib-bn_kron.o",
- "crypto/bn/libcrypto-shlib-bn_lib.o",
- "crypto/bn/libcrypto-shlib-bn_mod.o",
- "crypto/bn/libcrypto-shlib-bn_mont.o",
- "crypto/bn/libcrypto-shlib-bn_mpi.o",
- "crypto/bn/libcrypto-shlib-bn_mul.o",
- "crypto/bn/libcrypto-shlib-bn_nist.o",
- "crypto/bn/libcrypto-shlib-bn_prime.o",
- "crypto/bn/libcrypto-shlib-bn_print.o",
- "crypto/bn/libcrypto-shlib-bn_rand.o",
- "crypto/bn/libcrypto-shlib-bn_recp.o",
- "crypto/bn/libcrypto-shlib-bn_rsa_fips186_4.o",
- "crypto/bn/libcrypto-shlib-bn_shift.o",
- "crypto/bn/libcrypto-shlib-bn_sqr.o",
- "crypto/bn/libcrypto-shlib-bn_sqrt.o",
- "crypto/bn/libcrypto-shlib-bn_srp.o",
- "crypto/bn/libcrypto-shlib-bn_word.o",
- "crypto/bn/libcrypto-shlib-bn_x931p.o",
- "crypto/bn/libcrypto-shlib-rsaz-2k-avx512.o",
- "crypto/bn/libcrypto-shlib-rsaz-2k-avxifma.o",
- "crypto/bn/libcrypto-shlib-rsaz-3k-avx512.o",
- "crypto/bn/libcrypto-shlib-rsaz-3k-avxifma.o",
- "crypto/bn/libcrypto-shlib-rsaz-4k-avx512.o",
- "crypto/bn/libcrypto-shlib-rsaz-4k-avxifma.o",
- "crypto/bn/libcrypto-shlib-rsaz-avx2.o",
- "crypto/bn/libcrypto-shlib-rsaz-x86_64.o",
- "crypto/bn/libcrypto-shlib-rsaz_exp.o",
- "crypto/bn/libcrypto-shlib-rsaz_exp_x2.o",
- "crypto/bn/libcrypto-shlib-x86_64-gf2m.o",
- "crypto/bn/libcrypto-shlib-x86_64-mont.o",
- "crypto/bn/libcrypto-shlib-x86_64-mont5.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/bn/asm" => {
- "deps" => [
- "crypto/bn/asm/libcrypto-lib-x86_64-gcc.o",
- "crypto/bn/asm/libcrypto-shlib-x86_64-gcc.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/buffer" => {
- "deps" => [
- "crypto/buffer/libcrypto-lib-buf_err.o",
- "crypto/buffer/libcrypto-lib-buffer.o",
- "crypto/buffer/libcrypto-shlib-buf_err.o",
- "crypto/buffer/libcrypto-shlib-buffer.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/camellia" => {
- "deps" => [
- "crypto/camellia/libcrypto-lib-cmll-x86_64.o",
- "crypto/camellia/libcrypto-lib-cmll_cfb.o",
- "crypto/camellia/libcrypto-lib-cmll_ctr.o",
- "crypto/camellia/libcrypto-lib-cmll_ecb.o",
- "crypto/camellia/libcrypto-lib-cmll_misc.o",
- "crypto/camellia/libcrypto-lib-cmll_ofb.o",
- "crypto/camellia/libcrypto-shlib-cmll-x86_64.o",
- "crypto/camellia/libcrypto-shlib-cmll_cfb.o",
- "crypto/camellia/libcrypto-shlib-cmll_ctr.o",
- "crypto/camellia/libcrypto-shlib-cmll_ecb.o",
- "crypto/camellia/libcrypto-shlib-cmll_misc.o",
- "crypto/camellia/libcrypto-shlib-cmll_ofb.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/cast" => {
- "deps" => [
- "crypto/cast/libcrypto-lib-c_cfb64.o",
- "crypto/cast/libcrypto-lib-c_ecb.o",
- "crypto/cast/libcrypto-lib-c_enc.o",
- "crypto/cast/libcrypto-lib-c_ofb64.o",
- "crypto/cast/libcrypto-lib-c_skey.o",
- "crypto/cast/libcrypto-shlib-c_cfb64.o",
- "crypto/cast/libcrypto-shlib-c_ecb.o",
- "crypto/cast/libcrypto-shlib-c_enc.o",
- "crypto/cast/libcrypto-shlib-c_ofb64.o",
- "crypto/cast/libcrypto-shlib-c_skey.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/chacha" => {
- "deps" => [
- "crypto/chacha/libcrypto-lib-chacha-x86_64.o",
- "crypto/chacha/libcrypto-shlib-chacha-x86_64.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/cmac" => {
- "deps" => [
- "crypto/cmac/libcrypto-lib-cmac.o",
- "crypto/cmac/libcrypto-shlib-cmac.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/cmp" => {
- "deps" => [
- "crypto/cmp/libcrypto-lib-cmp_asn.o",
- "crypto/cmp/libcrypto-lib-cmp_client.o",
- "crypto/cmp/libcrypto-lib-cmp_ctx.o",
- "crypto/cmp/libcrypto-lib-cmp_err.o",
- "crypto/cmp/libcrypto-lib-cmp_genm.o",
- "crypto/cmp/libcrypto-lib-cmp_hdr.o",
- "crypto/cmp/libcrypto-lib-cmp_http.o",
- "crypto/cmp/libcrypto-lib-cmp_msg.o",
- "crypto/cmp/libcrypto-lib-cmp_protect.o",
- "crypto/cmp/libcrypto-lib-cmp_server.o",
- "crypto/cmp/libcrypto-lib-cmp_status.o",
- "crypto/cmp/libcrypto-lib-cmp_util.o",
- "crypto/cmp/libcrypto-lib-cmp_vfy.o",
- "crypto/cmp/libcrypto-shlib-cmp_asn.o",
- "crypto/cmp/libcrypto-shlib-cmp_client.o",
- "crypto/cmp/libcrypto-shlib-cmp_ctx.o",
- "crypto/cmp/libcrypto-shlib-cmp_err.o",
- "crypto/cmp/libcrypto-shlib-cmp_genm.o",
- "crypto/cmp/libcrypto-shlib-cmp_hdr.o",
- "crypto/cmp/libcrypto-shlib-cmp_http.o",
- "crypto/cmp/libcrypto-shlib-cmp_msg.o",
- "crypto/cmp/libcrypto-shlib-cmp_protect.o",
- "crypto/cmp/libcrypto-shlib-cmp_server.o",
- "crypto/cmp/libcrypto-shlib-cmp_status.o",
- "crypto/cmp/libcrypto-shlib-cmp_util.o",
- "crypto/cmp/libcrypto-shlib-cmp_vfy.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/cms" => {
- "deps" => [
- "crypto/cms/libcrypto-lib-cms_asn1.o",
- "crypto/cms/libcrypto-lib-cms_att.o",
- "crypto/cms/libcrypto-lib-cms_cd.o",
- "crypto/cms/libcrypto-lib-cms_dd.o",
- "crypto/cms/libcrypto-lib-cms_dh.o",
- "crypto/cms/libcrypto-lib-cms_ec.o",
- "crypto/cms/libcrypto-lib-cms_enc.o",
- "crypto/cms/libcrypto-lib-cms_env.o",
- "crypto/cms/libcrypto-lib-cms_err.o",
- "crypto/cms/libcrypto-lib-cms_ess.o",
- "crypto/cms/libcrypto-lib-cms_io.o",
- "crypto/cms/libcrypto-lib-cms_kari.o",
- "crypto/cms/libcrypto-lib-cms_lib.o",
- "crypto/cms/libcrypto-lib-cms_pwri.o",
- "crypto/cms/libcrypto-lib-cms_rsa.o",
- "crypto/cms/libcrypto-lib-cms_sd.o",
- "crypto/cms/libcrypto-lib-cms_smime.o",
- "crypto/cms/libcrypto-shlib-cms_asn1.o",
- "crypto/cms/libcrypto-shlib-cms_att.o",
- "crypto/cms/libcrypto-shlib-cms_cd.o",
- "crypto/cms/libcrypto-shlib-cms_dd.o",
- "crypto/cms/libcrypto-shlib-cms_dh.o",
- "crypto/cms/libcrypto-shlib-cms_ec.o",
- "crypto/cms/libcrypto-shlib-cms_enc.o",
- "crypto/cms/libcrypto-shlib-cms_env.o",
- "crypto/cms/libcrypto-shlib-cms_err.o",
- "crypto/cms/libcrypto-shlib-cms_ess.o",
- "crypto/cms/libcrypto-shlib-cms_io.o",
- "crypto/cms/libcrypto-shlib-cms_kari.o",
- "crypto/cms/libcrypto-shlib-cms_lib.o",
- "crypto/cms/libcrypto-shlib-cms_pwri.o",
- "crypto/cms/libcrypto-shlib-cms_rsa.o",
- "crypto/cms/libcrypto-shlib-cms_sd.o",
- "crypto/cms/libcrypto-shlib-cms_smime.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/comp" => {
- "deps" => [
- "crypto/comp/libcrypto-lib-c_brotli.o",
- "crypto/comp/libcrypto-lib-c_zlib.o",
- "crypto/comp/libcrypto-lib-c_zstd.o",
- "crypto/comp/libcrypto-lib-comp_err.o",
- "crypto/comp/libcrypto-lib-comp_lib.o",
- "crypto/comp/libcrypto-shlib-c_brotli.o",
- "crypto/comp/libcrypto-shlib-c_zlib.o",
- "crypto/comp/libcrypto-shlib-c_zstd.o",
- "crypto/comp/libcrypto-shlib-comp_err.o",
- "crypto/comp/libcrypto-shlib-comp_lib.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/conf" => {
- "deps" => [
- "crypto/conf/libcrypto-lib-conf_api.o",
- "crypto/conf/libcrypto-lib-conf_def.o",
- "crypto/conf/libcrypto-lib-conf_err.o",
- "crypto/conf/libcrypto-lib-conf_lib.o",
- "crypto/conf/libcrypto-lib-conf_mall.o",
- "crypto/conf/libcrypto-lib-conf_mod.o",
- "crypto/conf/libcrypto-lib-conf_sap.o",
- "crypto/conf/libcrypto-lib-conf_ssl.o",
- "crypto/conf/libcrypto-shlib-conf_api.o",
- "crypto/conf/libcrypto-shlib-conf_def.o",
- "crypto/conf/libcrypto-shlib-conf_err.o",
- "crypto/conf/libcrypto-shlib-conf_lib.o",
- "crypto/conf/libcrypto-shlib-conf_mall.o",
- "crypto/conf/libcrypto-shlib-conf_mod.o",
- "crypto/conf/libcrypto-shlib-conf_sap.o",
- "crypto/conf/libcrypto-shlib-conf_ssl.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/crmf" => {
- "deps" => [
- "crypto/crmf/libcrypto-lib-crmf_asn.o",
- "crypto/crmf/libcrypto-lib-crmf_err.o",
- "crypto/crmf/libcrypto-lib-crmf_lib.o",
- "crypto/crmf/libcrypto-lib-crmf_pbm.o",
- "crypto/crmf/libcrypto-shlib-crmf_asn.o",
- "crypto/crmf/libcrypto-shlib-crmf_err.o",
- "crypto/crmf/libcrypto-shlib-crmf_lib.o",
- "crypto/crmf/libcrypto-shlib-crmf_pbm.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ct" => {
- "deps" => [
- "crypto/ct/libcrypto-lib-ct_b64.o",
- "crypto/ct/libcrypto-lib-ct_err.o",
- "crypto/ct/libcrypto-lib-ct_log.o",
- "crypto/ct/libcrypto-lib-ct_oct.o",
- "crypto/ct/libcrypto-lib-ct_policy.o",
- "crypto/ct/libcrypto-lib-ct_prn.o",
- "crypto/ct/libcrypto-lib-ct_sct.o",
- "crypto/ct/libcrypto-lib-ct_sct_ctx.o",
- "crypto/ct/libcrypto-lib-ct_vfy.o",
- "crypto/ct/libcrypto-lib-ct_x509v3.o",
- "crypto/ct/libcrypto-shlib-ct_b64.o",
- "crypto/ct/libcrypto-shlib-ct_err.o",
- "crypto/ct/libcrypto-shlib-ct_log.o",
- "crypto/ct/libcrypto-shlib-ct_oct.o",
- "crypto/ct/libcrypto-shlib-ct_policy.o",
- "crypto/ct/libcrypto-shlib-ct_prn.o",
- "crypto/ct/libcrypto-shlib-ct_sct.o",
- "crypto/ct/libcrypto-shlib-ct_sct_ctx.o",
- "crypto/ct/libcrypto-shlib-ct_vfy.o",
- "crypto/ct/libcrypto-shlib-ct_x509v3.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/des" => {
- "deps" => [
- "crypto/des/libcrypto-lib-cbc_cksm.o",
- "crypto/des/libcrypto-lib-cbc_enc.o",
- "crypto/des/libcrypto-lib-cfb64ede.o",
- "crypto/des/libcrypto-lib-cfb64enc.o",
- "crypto/des/libcrypto-lib-cfb_enc.o",
- "crypto/des/libcrypto-lib-des_enc.o",
- "crypto/des/libcrypto-lib-ecb3_enc.o",
- "crypto/des/libcrypto-lib-ecb_enc.o",
- "crypto/des/libcrypto-lib-fcrypt.o",
- "crypto/des/libcrypto-lib-fcrypt_b.o",
- "crypto/des/libcrypto-lib-ofb64ede.o",
- "crypto/des/libcrypto-lib-ofb64enc.o",
- "crypto/des/libcrypto-lib-ofb_enc.o",
- "crypto/des/libcrypto-lib-pcbc_enc.o",
- "crypto/des/libcrypto-lib-qud_cksm.o",
- "crypto/des/libcrypto-lib-rand_key.o",
- "crypto/des/libcrypto-lib-set_key.o",
- "crypto/des/libcrypto-lib-str2key.o",
- "crypto/des/libcrypto-lib-xcbc_enc.o",
- "crypto/des/libcrypto-shlib-cbc_cksm.o",
- "crypto/des/libcrypto-shlib-cbc_enc.o",
- "crypto/des/libcrypto-shlib-cfb64ede.o",
- "crypto/des/libcrypto-shlib-cfb64enc.o",
- "crypto/des/libcrypto-shlib-cfb_enc.o",
- "crypto/des/libcrypto-shlib-des_enc.o",
- "crypto/des/libcrypto-shlib-ecb3_enc.o",
- "crypto/des/libcrypto-shlib-ecb_enc.o",
- "crypto/des/libcrypto-shlib-fcrypt.o",
- "crypto/des/libcrypto-shlib-fcrypt_b.o",
- "crypto/des/libcrypto-shlib-ofb64ede.o",
- "crypto/des/libcrypto-shlib-ofb64enc.o",
- "crypto/des/libcrypto-shlib-ofb_enc.o",
- "crypto/des/libcrypto-shlib-pcbc_enc.o",
- "crypto/des/libcrypto-shlib-qud_cksm.o",
- "crypto/des/libcrypto-shlib-rand_key.o",
- "crypto/des/libcrypto-shlib-set_key.o",
- "crypto/des/libcrypto-shlib-str2key.o",
- "crypto/des/libcrypto-shlib-xcbc_enc.o",
- "crypto/des/liblegacy-lib-des_enc.o",
- "crypto/des/liblegacy-lib-fcrypt_b.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto",
- "providers/liblegacy.a"
- ]
- }
- },
- "crypto/dh" => {
- "deps" => [
- "crypto/dh/libcrypto-lib-dh_ameth.o",
- "crypto/dh/libcrypto-lib-dh_asn1.o",
- "crypto/dh/libcrypto-lib-dh_backend.o",
- "crypto/dh/libcrypto-lib-dh_check.o",
- "crypto/dh/libcrypto-lib-dh_depr.o",
- "crypto/dh/libcrypto-lib-dh_err.o",
- "crypto/dh/libcrypto-lib-dh_gen.o",
- "crypto/dh/libcrypto-lib-dh_group_params.o",
- "crypto/dh/libcrypto-lib-dh_kdf.o",
- "crypto/dh/libcrypto-lib-dh_key.o",
- "crypto/dh/libcrypto-lib-dh_lib.o",
- "crypto/dh/libcrypto-lib-dh_meth.o",
- "crypto/dh/libcrypto-lib-dh_pmeth.o",
- "crypto/dh/libcrypto-lib-dh_prn.o",
- "crypto/dh/libcrypto-lib-dh_rfc5114.o",
- "crypto/dh/libcrypto-shlib-dh_ameth.o",
- "crypto/dh/libcrypto-shlib-dh_asn1.o",
- "crypto/dh/libcrypto-shlib-dh_backend.o",
- "crypto/dh/libcrypto-shlib-dh_check.o",
- "crypto/dh/libcrypto-shlib-dh_depr.o",
- "crypto/dh/libcrypto-shlib-dh_err.o",
- "crypto/dh/libcrypto-shlib-dh_gen.o",
- "crypto/dh/libcrypto-shlib-dh_group_params.o",
- "crypto/dh/libcrypto-shlib-dh_kdf.o",
- "crypto/dh/libcrypto-shlib-dh_key.o",
- "crypto/dh/libcrypto-shlib-dh_lib.o",
- "crypto/dh/libcrypto-shlib-dh_meth.o",
- "crypto/dh/libcrypto-shlib-dh_pmeth.o",
- "crypto/dh/libcrypto-shlib-dh_prn.o",
- "crypto/dh/libcrypto-shlib-dh_rfc5114.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/dsa" => {
- "deps" => [
- "crypto/dsa/libcrypto-lib-dsa_ameth.o",
- "crypto/dsa/libcrypto-lib-dsa_asn1.o",
- "crypto/dsa/libcrypto-lib-dsa_backend.o",
- "crypto/dsa/libcrypto-lib-dsa_check.o",
- "crypto/dsa/libcrypto-lib-dsa_depr.o",
- "crypto/dsa/libcrypto-lib-dsa_err.o",
- "crypto/dsa/libcrypto-lib-dsa_gen.o",
- "crypto/dsa/libcrypto-lib-dsa_key.o",
- "crypto/dsa/libcrypto-lib-dsa_lib.o",
- "crypto/dsa/libcrypto-lib-dsa_meth.o",
- "crypto/dsa/libcrypto-lib-dsa_ossl.o",
- "crypto/dsa/libcrypto-lib-dsa_pmeth.o",
- "crypto/dsa/libcrypto-lib-dsa_prn.o",
- "crypto/dsa/libcrypto-lib-dsa_sign.o",
- "crypto/dsa/libcrypto-lib-dsa_vrf.o",
- "crypto/dsa/libcrypto-shlib-dsa_ameth.o",
- "crypto/dsa/libcrypto-shlib-dsa_asn1.o",
- "crypto/dsa/libcrypto-shlib-dsa_backend.o",
- "crypto/dsa/libcrypto-shlib-dsa_check.o",
- "crypto/dsa/libcrypto-shlib-dsa_depr.o",
- "crypto/dsa/libcrypto-shlib-dsa_err.o",
- "crypto/dsa/libcrypto-shlib-dsa_gen.o",
- "crypto/dsa/libcrypto-shlib-dsa_key.o",
- "crypto/dsa/libcrypto-shlib-dsa_lib.o",
- "crypto/dsa/libcrypto-shlib-dsa_meth.o",
- "crypto/dsa/libcrypto-shlib-dsa_ossl.o",
- "crypto/dsa/libcrypto-shlib-dsa_pmeth.o",
- "crypto/dsa/libcrypto-shlib-dsa_prn.o",
- "crypto/dsa/libcrypto-shlib-dsa_sign.o",
- "crypto/dsa/libcrypto-shlib-dsa_vrf.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/dso" => {
- "deps" => [
- "crypto/dso/libcrypto-lib-dso_dl.o",
- "crypto/dso/libcrypto-lib-dso_dlfcn.o",
- "crypto/dso/libcrypto-lib-dso_err.o",
- "crypto/dso/libcrypto-lib-dso_lib.o",
- "crypto/dso/libcrypto-lib-dso_openssl.o",
- "crypto/dso/libcrypto-lib-dso_vms.o",
- "crypto/dso/libcrypto-lib-dso_win32.o",
- "crypto/dso/libcrypto-shlib-dso_dl.o",
- "crypto/dso/libcrypto-shlib-dso_dlfcn.o",
- "crypto/dso/libcrypto-shlib-dso_err.o",
- "crypto/dso/libcrypto-shlib-dso_lib.o",
- "crypto/dso/libcrypto-shlib-dso_openssl.o",
- "crypto/dso/libcrypto-shlib-dso_vms.o",
- "crypto/dso/libcrypto-shlib-dso_win32.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ec" => {
- "deps" => [
- "crypto/ec/libcrypto-lib-curve25519.o",
- "crypto/ec/libcrypto-lib-ec2_oct.o",
- "crypto/ec/libcrypto-lib-ec2_smpl.o",
- "crypto/ec/libcrypto-lib-ec_ameth.o",
- "crypto/ec/libcrypto-lib-ec_asn1.o",
- "crypto/ec/libcrypto-lib-ec_backend.o",
- "crypto/ec/libcrypto-lib-ec_check.o",
- "crypto/ec/libcrypto-lib-ec_curve.o",
- "crypto/ec/libcrypto-lib-ec_cvt.o",
- "crypto/ec/libcrypto-lib-ec_deprecated.o",
- "crypto/ec/libcrypto-lib-ec_err.o",
- "crypto/ec/libcrypto-lib-ec_key.o",
- "crypto/ec/libcrypto-lib-ec_kmeth.o",
- "crypto/ec/libcrypto-lib-ec_lib.o",
- "crypto/ec/libcrypto-lib-ec_mult.o",
- "crypto/ec/libcrypto-lib-ec_oct.o",
- "crypto/ec/libcrypto-lib-ec_pmeth.o",
- "crypto/ec/libcrypto-lib-ec_print.o",
- "crypto/ec/libcrypto-lib-ecdh_kdf.o",
- "crypto/ec/libcrypto-lib-ecdh_ossl.o",
- "crypto/ec/libcrypto-lib-ecdsa_ossl.o",
- "crypto/ec/libcrypto-lib-ecdsa_sign.o",
- "crypto/ec/libcrypto-lib-ecdsa_vrf.o",
- "crypto/ec/libcrypto-lib-eck_prn.o",
- "crypto/ec/libcrypto-lib-ecp_mont.o",
- "crypto/ec/libcrypto-lib-ecp_nist.o",
- "crypto/ec/libcrypto-lib-ecp_nistp224.o",
- "crypto/ec/libcrypto-lib-ecp_nistp256.o",
- "crypto/ec/libcrypto-lib-ecp_nistp384.o",
- "crypto/ec/libcrypto-lib-ecp_nistp521.o",
- "crypto/ec/libcrypto-lib-ecp_nistputil.o",
- "crypto/ec/libcrypto-lib-ecp_nistz256-x86_64.o",
- "crypto/ec/libcrypto-lib-ecp_nistz256.o",
- "crypto/ec/libcrypto-lib-ecp_oct.o",
- "crypto/ec/libcrypto-lib-ecp_smpl.o",
- "crypto/ec/libcrypto-lib-ecx_backend.o",
- "crypto/ec/libcrypto-lib-ecx_key.o",
- "crypto/ec/libcrypto-lib-ecx_meth.o",
- "crypto/ec/libcrypto-lib-x25519-x86_64.o",
- "crypto/ec/libcrypto-shlib-curve25519.o",
- "crypto/ec/libcrypto-shlib-ec2_oct.o",
- "crypto/ec/libcrypto-shlib-ec2_smpl.o",
- "crypto/ec/libcrypto-shlib-ec_ameth.o",
- "crypto/ec/libcrypto-shlib-ec_asn1.o",
- "crypto/ec/libcrypto-shlib-ec_backend.o",
- "crypto/ec/libcrypto-shlib-ec_check.o",
- "crypto/ec/libcrypto-shlib-ec_curve.o",
- "crypto/ec/libcrypto-shlib-ec_cvt.o",
- "crypto/ec/libcrypto-shlib-ec_deprecated.o",
- "crypto/ec/libcrypto-shlib-ec_err.o",
- "crypto/ec/libcrypto-shlib-ec_key.o",
- "crypto/ec/libcrypto-shlib-ec_kmeth.o",
- "crypto/ec/libcrypto-shlib-ec_lib.o",
- "crypto/ec/libcrypto-shlib-ec_mult.o",
- "crypto/ec/libcrypto-shlib-ec_oct.o",
- "crypto/ec/libcrypto-shlib-ec_pmeth.o",
- "crypto/ec/libcrypto-shlib-ec_print.o",
- "crypto/ec/libcrypto-shlib-ecdh_kdf.o",
- "crypto/ec/libcrypto-shlib-ecdh_ossl.o",
- "crypto/ec/libcrypto-shlib-ecdsa_ossl.o",
- "crypto/ec/libcrypto-shlib-ecdsa_sign.o",
- "crypto/ec/libcrypto-shlib-ecdsa_vrf.o",
- "crypto/ec/libcrypto-shlib-eck_prn.o",
- "crypto/ec/libcrypto-shlib-ecp_mont.o",
- "crypto/ec/libcrypto-shlib-ecp_nist.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp224.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp256.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp384.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp521.o",
- "crypto/ec/libcrypto-shlib-ecp_nistputil.o",
- "crypto/ec/libcrypto-shlib-ecp_nistz256-x86_64.o",
- "crypto/ec/libcrypto-shlib-ecp_nistz256.o",
- "crypto/ec/libcrypto-shlib-ecp_oct.o",
- "crypto/ec/libcrypto-shlib-ecp_smpl.o",
- "crypto/ec/libcrypto-shlib-ecx_backend.o",
- "crypto/ec/libcrypto-shlib-ecx_key.o",
- "crypto/ec/libcrypto-shlib-ecx_meth.o",
- "crypto/ec/libcrypto-shlib-x25519-x86_64.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ec/curve448" => {
- "deps" => [
- "crypto/ec/curve448/libcrypto-lib-curve448.o",
- "crypto/ec/curve448/libcrypto-lib-curve448_tables.o",
- "crypto/ec/curve448/libcrypto-lib-eddsa.o",
- "crypto/ec/curve448/libcrypto-lib-f_generic.o",
- "crypto/ec/curve448/libcrypto-lib-scalar.o",
- "crypto/ec/curve448/libcrypto-shlib-curve448.o",
- "crypto/ec/curve448/libcrypto-shlib-curve448_tables.o",
- "crypto/ec/curve448/libcrypto-shlib-eddsa.o",
- "crypto/ec/curve448/libcrypto-shlib-f_generic.o",
- "crypto/ec/curve448/libcrypto-shlib-scalar.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ec/curve448/arch_32" => {
- "deps" => [
- "crypto/ec/curve448/arch_32/libcrypto-lib-f_impl32.o",
- "crypto/ec/curve448/arch_32/libcrypto-shlib-f_impl32.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ec/curve448/arch_64" => {
- "deps" => [
- "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o",
- "crypto/ec/curve448/arch_64/libcrypto-shlib-f_impl64.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/encode_decode" => {
- "deps" => [
- "crypto/encode_decode/libcrypto-lib-decoder_err.o",
- "crypto/encode_decode/libcrypto-lib-decoder_lib.o",
- "crypto/encode_decode/libcrypto-lib-decoder_meth.o",
- "crypto/encode_decode/libcrypto-lib-decoder_pkey.o",
- "crypto/encode_decode/libcrypto-lib-encoder_err.o",
- "crypto/encode_decode/libcrypto-lib-encoder_lib.o",
- "crypto/encode_decode/libcrypto-lib-encoder_meth.o",
- "crypto/encode_decode/libcrypto-lib-encoder_pkey.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_err.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_lib.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_meth.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_pkey.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_err.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_lib.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_meth.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_pkey.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/engine" => {
- "deps" => [
- "crypto/engine/libcrypto-lib-eng_all.o",
- "crypto/engine/libcrypto-lib-eng_cnf.o",
- "crypto/engine/libcrypto-lib-eng_ctrl.o",
- "crypto/engine/libcrypto-lib-eng_dyn.o",
- "crypto/engine/libcrypto-lib-eng_err.o",
- "crypto/engine/libcrypto-lib-eng_fat.o",
- "crypto/engine/libcrypto-lib-eng_init.o",
- "crypto/engine/libcrypto-lib-eng_lib.o",
- "crypto/engine/libcrypto-lib-eng_list.o",
- "crypto/engine/libcrypto-lib-eng_openssl.o",
- "crypto/engine/libcrypto-lib-eng_pkey.o",
- "crypto/engine/libcrypto-lib-eng_rdrand.o",
- "crypto/engine/libcrypto-lib-eng_table.o",
- "crypto/engine/libcrypto-lib-tb_asnmth.o",
- "crypto/engine/libcrypto-lib-tb_cipher.o",
- "crypto/engine/libcrypto-lib-tb_dh.o",
- "crypto/engine/libcrypto-lib-tb_digest.o",
- "crypto/engine/libcrypto-lib-tb_dsa.o",
- "crypto/engine/libcrypto-lib-tb_eckey.o",
- "crypto/engine/libcrypto-lib-tb_pkmeth.o",
- "crypto/engine/libcrypto-lib-tb_rand.o",
- "crypto/engine/libcrypto-lib-tb_rsa.o",
- "crypto/engine/libcrypto-shlib-eng_all.o",
- "crypto/engine/libcrypto-shlib-eng_cnf.o",
- "crypto/engine/libcrypto-shlib-eng_ctrl.o",
- "crypto/engine/libcrypto-shlib-eng_dyn.o",
- "crypto/engine/libcrypto-shlib-eng_err.o",
- "crypto/engine/libcrypto-shlib-eng_fat.o",
- "crypto/engine/libcrypto-shlib-eng_init.o",
- "crypto/engine/libcrypto-shlib-eng_lib.o",
- "crypto/engine/libcrypto-shlib-eng_list.o",
- "crypto/engine/libcrypto-shlib-eng_openssl.o",
- "crypto/engine/libcrypto-shlib-eng_pkey.o",
- "crypto/engine/libcrypto-shlib-eng_rdrand.o",
- "crypto/engine/libcrypto-shlib-eng_table.o",
- "crypto/engine/libcrypto-shlib-tb_asnmth.o",
- "crypto/engine/libcrypto-shlib-tb_cipher.o",
- "crypto/engine/libcrypto-shlib-tb_dh.o",
- "crypto/engine/libcrypto-shlib-tb_digest.o",
- "crypto/engine/libcrypto-shlib-tb_dsa.o",
- "crypto/engine/libcrypto-shlib-tb_eckey.o",
- "crypto/engine/libcrypto-shlib-tb_pkmeth.o",
- "crypto/engine/libcrypto-shlib-tb_rand.o",
- "crypto/engine/libcrypto-shlib-tb_rsa.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/err" => {
- "deps" => [
- "crypto/err/libcrypto-lib-err.o",
- "crypto/err/libcrypto-lib-err_all.o",
- "crypto/err/libcrypto-lib-err_all_legacy.o",
- "crypto/err/libcrypto-lib-err_blocks.o",
- "crypto/err/libcrypto-lib-err_mark.o",
- "crypto/err/libcrypto-lib-err_prn.o",
- "crypto/err/libcrypto-lib-err_save.o",
- "crypto/err/libcrypto-shlib-err.o",
- "crypto/err/libcrypto-shlib-err_all.o",
- "crypto/err/libcrypto-shlib-err_all_legacy.o",
- "crypto/err/libcrypto-shlib-err_blocks.o",
- "crypto/err/libcrypto-shlib-err_mark.o",
- "crypto/err/libcrypto-shlib-err_prn.o",
- "crypto/err/libcrypto-shlib-err_save.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ess" => {
- "deps" => [
- "crypto/ess/libcrypto-lib-ess_asn1.o",
- "crypto/ess/libcrypto-lib-ess_err.o",
- "crypto/ess/libcrypto-lib-ess_lib.o",
- "crypto/ess/libcrypto-shlib-ess_asn1.o",
- "crypto/ess/libcrypto-shlib-ess_err.o",
- "crypto/ess/libcrypto-shlib-ess_lib.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/evp" => {
- "deps" => [
- "crypto/evp/libcrypto-lib-asymcipher.o",
- "crypto/evp/libcrypto-lib-bio_b64.o",
- "crypto/evp/libcrypto-lib-bio_enc.o",
- "crypto/evp/libcrypto-lib-bio_md.o",
- "crypto/evp/libcrypto-lib-bio_ok.o",
- "crypto/evp/libcrypto-lib-c_allc.o",
- "crypto/evp/libcrypto-lib-c_alld.o",
- "crypto/evp/libcrypto-lib-cmeth_lib.o",
- "crypto/evp/libcrypto-lib-ctrl_params_translate.o",
- "crypto/evp/libcrypto-lib-dh_ctrl.o",
- "crypto/evp/libcrypto-lib-dh_support.o",
- "crypto/evp/libcrypto-lib-digest.o",
- "crypto/evp/libcrypto-lib-dsa_ctrl.o",
- "crypto/evp/libcrypto-lib-e_aes.o",
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o",
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o",
- "crypto/evp/libcrypto-lib-e_aria.o",
- "crypto/evp/libcrypto-lib-e_bf.o",
- "crypto/evp/libcrypto-lib-e_camellia.o",
- "crypto/evp/libcrypto-lib-e_cast.o",
- "crypto/evp/libcrypto-lib-e_chacha20_poly1305.o",
- "crypto/evp/libcrypto-lib-e_des.o",
- "crypto/evp/libcrypto-lib-e_des3.o",
- "crypto/evp/libcrypto-lib-e_idea.o",
- "crypto/evp/libcrypto-lib-e_null.o",
- "crypto/evp/libcrypto-lib-e_old.o",
- "crypto/evp/libcrypto-lib-e_rc2.o",
- "crypto/evp/libcrypto-lib-e_rc4.o",
- "crypto/evp/libcrypto-lib-e_rc4_hmac_md5.o",
- "crypto/evp/libcrypto-lib-e_rc5.o",
- "crypto/evp/libcrypto-lib-e_seed.o",
- "crypto/evp/libcrypto-lib-e_sm4.o",
- "crypto/evp/libcrypto-lib-e_xcbc_d.o",
- "crypto/evp/libcrypto-lib-ec_ctrl.o",
- "crypto/evp/libcrypto-lib-ec_support.o",
- "crypto/evp/libcrypto-lib-encode.o",
- "crypto/evp/libcrypto-lib-evp_cnf.o",
- "crypto/evp/libcrypto-lib-evp_enc.o",
- "crypto/evp/libcrypto-lib-evp_err.o",
- "crypto/evp/libcrypto-lib-evp_fetch.o",
- "crypto/evp/libcrypto-lib-evp_key.o",
- "crypto/evp/libcrypto-lib-evp_lib.o",
- "crypto/evp/libcrypto-lib-evp_pbe.o",
- "crypto/evp/libcrypto-lib-evp_pkey.o",
- "crypto/evp/libcrypto-lib-evp_rand.o",
- "crypto/evp/libcrypto-lib-evp_utils.o",
- "crypto/evp/libcrypto-lib-exchange.o",
- "crypto/evp/libcrypto-lib-kdf_lib.o",
- "crypto/evp/libcrypto-lib-kdf_meth.o",
- "crypto/evp/libcrypto-lib-kem.o",
- "crypto/evp/libcrypto-lib-keymgmt_lib.o",
- "crypto/evp/libcrypto-lib-keymgmt_meth.o",
- "crypto/evp/libcrypto-lib-legacy_blake2.o",
- "crypto/evp/libcrypto-lib-legacy_md4.o",
- "crypto/evp/libcrypto-lib-legacy_md5.o",
- "crypto/evp/libcrypto-lib-legacy_md5_sha1.o",
- "crypto/evp/libcrypto-lib-legacy_ripemd.o",
- "crypto/evp/libcrypto-lib-legacy_sha.o",
- "crypto/evp/libcrypto-lib-legacy_wp.o",
- "crypto/evp/libcrypto-lib-m_null.o",
- "crypto/evp/libcrypto-lib-m_sigver.o",
- "crypto/evp/libcrypto-lib-mac_lib.o",
- "crypto/evp/libcrypto-lib-mac_meth.o",
- "crypto/evp/libcrypto-lib-names.o",
- "crypto/evp/libcrypto-lib-p5_crpt.o",
- "crypto/evp/libcrypto-lib-p5_crpt2.o",
- "crypto/evp/libcrypto-lib-p_dec.o",
- "crypto/evp/libcrypto-lib-p_enc.o",
- "crypto/evp/libcrypto-lib-p_legacy.o",
- "crypto/evp/libcrypto-lib-p_lib.o",
- "crypto/evp/libcrypto-lib-p_open.o",
- "crypto/evp/libcrypto-lib-p_seal.o",
- "crypto/evp/libcrypto-lib-p_sign.o",
- "crypto/evp/libcrypto-lib-p_verify.o",
- "crypto/evp/libcrypto-lib-pbe_scrypt.o",
- "crypto/evp/libcrypto-lib-pmeth_check.o",
- "crypto/evp/libcrypto-lib-pmeth_gn.o",
- "crypto/evp/libcrypto-lib-pmeth_lib.o",
- "crypto/evp/libcrypto-lib-s_lib.o",
- "crypto/evp/libcrypto-lib-signature.o",
- "crypto/evp/libcrypto-lib-skeymgmt_meth.o",
- "crypto/evp/libcrypto-shlib-asymcipher.o",
- "crypto/evp/libcrypto-shlib-bio_b64.o",
- "crypto/evp/libcrypto-shlib-bio_enc.o",
- "crypto/evp/libcrypto-shlib-bio_md.o",
- "crypto/evp/libcrypto-shlib-bio_ok.o",
- "crypto/evp/libcrypto-shlib-c_allc.o",
- "crypto/evp/libcrypto-shlib-c_alld.o",
- "crypto/evp/libcrypto-shlib-cmeth_lib.o",
- "crypto/evp/libcrypto-shlib-ctrl_params_translate.o",
- "crypto/evp/libcrypto-shlib-dh_ctrl.o",
- "crypto/evp/libcrypto-shlib-dh_support.o",
- "crypto/evp/libcrypto-shlib-digest.o",
- "crypto/evp/libcrypto-shlib-dsa_ctrl.o",
- "crypto/evp/libcrypto-shlib-e_aes.o",
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha1.o",
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha256.o",
- "crypto/evp/libcrypto-shlib-e_aria.o",
- "crypto/evp/libcrypto-shlib-e_bf.o",
- "crypto/evp/libcrypto-shlib-e_camellia.o",
- "crypto/evp/libcrypto-shlib-e_cast.o",
- "crypto/evp/libcrypto-shlib-e_chacha20_poly1305.o",
- "crypto/evp/libcrypto-shlib-e_des.o",
- "crypto/evp/libcrypto-shlib-e_des3.o",
- "crypto/evp/libcrypto-shlib-e_idea.o",
- "crypto/evp/libcrypto-shlib-e_null.o",
- "crypto/evp/libcrypto-shlib-e_old.o",
- "crypto/evp/libcrypto-shlib-e_rc2.o",
- "crypto/evp/libcrypto-shlib-e_rc4.o",
- "crypto/evp/libcrypto-shlib-e_rc4_hmac_md5.o",
- "crypto/evp/libcrypto-shlib-e_rc5.o",
- "crypto/evp/libcrypto-shlib-e_seed.o",
- "crypto/evp/libcrypto-shlib-e_sm4.o",
- "crypto/evp/libcrypto-shlib-e_xcbc_d.o",
- "crypto/evp/libcrypto-shlib-ec_ctrl.o",
- "crypto/evp/libcrypto-shlib-ec_support.o",
- "crypto/evp/libcrypto-shlib-encode.o",
- "crypto/evp/libcrypto-shlib-evp_cnf.o",
- "crypto/evp/libcrypto-shlib-evp_enc.o",
- "crypto/evp/libcrypto-shlib-evp_err.o",
- "crypto/evp/libcrypto-shlib-evp_fetch.o",
- "crypto/evp/libcrypto-shlib-evp_key.o",
- "crypto/evp/libcrypto-shlib-evp_lib.o",
- "crypto/evp/libcrypto-shlib-evp_pbe.o",
- "crypto/evp/libcrypto-shlib-evp_pkey.o",
- "crypto/evp/libcrypto-shlib-evp_rand.o",
- "crypto/evp/libcrypto-shlib-evp_utils.o",
- "crypto/evp/libcrypto-shlib-exchange.o",
- "crypto/evp/libcrypto-shlib-kdf_lib.o",
- "crypto/evp/libcrypto-shlib-kdf_meth.o",
- "crypto/evp/libcrypto-shlib-kem.o",
- "crypto/evp/libcrypto-shlib-keymgmt_lib.o",
- "crypto/evp/libcrypto-shlib-keymgmt_meth.o",
- "crypto/evp/libcrypto-shlib-legacy_blake2.o",
- "crypto/evp/libcrypto-shlib-legacy_md4.o",
- "crypto/evp/libcrypto-shlib-legacy_md5.o",
- "crypto/evp/libcrypto-shlib-legacy_md5_sha1.o",
- "crypto/evp/libcrypto-shlib-legacy_ripemd.o",
- "crypto/evp/libcrypto-shlib-legacy_sha.o",
- "crypto/evp/libcrypto-shlib-legacy_wp.o",
- "crypto/evp/libcrypto-shlib-m_null.o",
- "crypto/evp/libcrypto-shlib-m_sigver.o",
- "crypto/evp/libcrypto-shlib-mac_lib.o",
- "crypto/evp/libcrypto-shlib-mac_meth.o",
- "crypto/evp/libcrypto-shlib-names.o",
- "crypto/evp/libcrypto-shlib-p5_crpt.o",
- "crypto/evp/libcrypto-shlib-p5_crpt2.o",
- "crypto/evp/libcrypto-shlib-p_dec.o",
- "crypto/evp/libcrypto-shlib-p_enc.o",
- "crypto/evp/libcrypto-shlib-p_legacy.o",
- "crypto/evp/libcrypto-shlib-p_lib.o",
- "crypto/evp/libcrypto-shlib-p_open.o",
- "crypto/evp/libcrypto-shlib-p_seal.o",
- "crypto/evp/libcrypto-shlib-p_sign.o",
- "crypto/evp/libcrypto-shlib-p_verify.o",
- "crypto/evp/libcrypto-shlib-pbe_scrypt.o",
- "crypto/evp/libcrypto-shlib-pmeth_check.o",
- "crypto/evp/libcrypto-shlib-pmeth_gn.o",
- "crypto/evp/libcrypto-shlib-pmeth_lib.o",
- "crypto/evp/libcrypto-shlib-s_lib.o",
- "crypto/evp/libcrypto-shlib-signature.o",
- "crypto/evp/libcrypto-shlib-skeymgmt_meth.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ffc" => {
- "deps" => [
- "crypto/ffc/libcrypto-lib-ffc_backend.o",
- "crypto/ffc/libcrypto-lib-ffc_dh.o",
- "crypto/ffc/libcrypto-lib-ffc_key_generate.o",
- "crypto/ffc/libcrypto-lib-ffc_key_validate.o",
- "crypto/ffc/libcrypto-lib-ffc_params.o",
- "crypto/ffc/libcrypto-lib-ffc_params_generate.o",
- "crypto/ffc/libcrypto-lib-ffc_params_validate.o",
- "crypto/ffc/libcrypto-shlib-ffc_backend.o",
- "crypto/ffc/libcrypto-shlib-ffc_dh.o",
- "crypto/ffc/libcrypto-shlib-ffc_key_generate.o",
- "crypto/ffc/libcrypto-shlib-ffc_key_validate.o",
- "crypto/ffc/libcrypto-shlib-ffc_params.o",
- "crypto/ffc/libcrypto-shlib-ffc_params_generate.o",
- "crypto/ffc/libcrypto-shlib-ffc_params_validate.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/hashtable" => {
- "deps" => [
- "crypto/hashtable/libcrypto-lib-hashfunc.o",
- "crypto/hashtable/libcrypto-lib-hashtable.o",
- "crypto/hashtable/libcrypto-shlib-hashfunc.o",
- "crypto/hashtable/libcrypto-shlib-hashtable.o",
- "crypto/hashtable/libssl-shlib-hashfunc.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto",
- "libssl"
- ]
- }
- },
- "crypto/hmac" => {
- "deps" => [
- "crypto/hmac/libcrypto-lib-hmac.o",
- "crypto/hmac/libcrypto-shlib-hmac.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/hpke" => {
- "deps" => [
- "crypto/hpke/libcrypto-lib-hpke.o",
- "crypto/hpke/libcrypto-lib-hpke_util.o",
- "crypto/hpke/libcrypto-shlib-hpke.o",
- "crypto/hpke/libcrypto-shlib-hpke_util.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/http" => {
- "deps" => [
- "crypto/http/libcrypto-lib-http_client.o",
- "crypto/http/libcrypto-lib-http_err.o",
- "crypto/http/libcrypto-lib-http_lib.o",
- "crypto/http/libcrypto-shlib-http_client.o",
- "crypto/http/libcrypto-shlib-http_err.o",
- "crypto/http/libcrypto-shlib-http_lib.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/kdf" => {
- "deps" => [
- "crypto/kdf/libcrypto-lib-kdf_err.o",
- "crypto/kdf/libcrypto-shlib-kdf_err.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/lhash" => {
- "deps" => [
- "crypto/lhash/libcrypto-lib-lh_stats.o",
- "crypto/lhash/libcrypto-lib-lhash.o",
- "crypto/lhash/libcrypto-shlib-lh_stats.o",
- "crypto/lhash/libcrypto-shlib-lhash.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/md4" => {
- "deps" => [
- "crypto/md4/libcrypto-lib-md4_dgst.o",
- "crypto/md4/libcrypto-lib-md4_one.o",
- "crypto/md4/libcrypto-shlib-md4_dgst.o",
- "crypto/md4/libcrypto-shlib-md4_one.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/md5" => {
- "deps" => [
- "crypto/md5/libcrypto-lib-md5-x86_64.o",
- "crypto/md5/libcrypto-lib-md5_dgst.o",
- "crypto/md5/libcrypto-lib-md5_one.o",
- "crypto/md5/libcrypto-lib-md5_sha1.o",
- "crypto/md5/libcrypto-shlib-md5-x86_64.o",
- "crypto/md5/libcrypto-shlib-md5_dgst.o",
- "crypto/md5/libcrypto-shlib-md5_one.o",
- "crypto/md5/libcrypto-shlib-md5_sha1.o",
- "crypto/md5/liblegacy-lib-md5-x86_64.o",
- "crypto/md5/liblegacy-lib-md5_dgst.o",
- "crypto/md5/liblegacy-lib-md5_one.o",
- "crypto/md5/liblegacy-lib-md5_sha1.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto",
- "providers/liblegacy.a"
- ]
- }
- },
- "crypto/ml_dsa" => {
- "deps" => [
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_encoders.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_key.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_key_compress.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_matrix.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_ntt.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_params.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_sample.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_sign.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_encoders.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_key.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_key_compress.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_matrix.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_ntt.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_params.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sample.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sign.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ml_kem" => {
- "deps" => [
- "crypto/ml_kem/libcrypto-lib-ml_kem.o",
- "crypto/ml_kem/libcrypto-shlib-ml_kem.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/modes" => {
- "deps" => [
- "crypto/modes/libcrypto-lib-aes-gcm-avx512.o",
- "crypto/modes/libcrypto-lib-aesni-gcm-x86_64.o",
- "crypto/modes/libcrypto-lib-cbc128.o",
- "crypto/modes/libcrypto-lib-ccm128.o",
- "crypto/modes/libcrypto-lib-cfb128.o",
- "crypto/modes/libcrypto-lib-ctr128.o",
- "crypto/modes/libcrypto-lib-cts128.o",
- "crypto/modes/libcrypto-lib-gcm128.o",
- "crypto/modes/libcrypto-lib-ghash-x86_64.o",
- "crypto/modes/libcrypto-lib-ocb128.o",
- "crypto/modes/libcrypto-lib-ofb128.o",
- "crypto/modes/libcrypto-lib-siv128.o",
- "crypto/modes/libcrypto-lib-wrap128.o",
- "crypto/modes/libcrypto-lib-xts128.o",
- "crypto/modes/libcrypto-lib-xts128gb.o",
- "crypto/modes/libcrypto-shlib-aes-gcm-avx512.o",
- "crypto/modes/libcrypto-shlib-aesni-gcm-x86_64.o",
- "crypto/modes/libcrypto-shlib-cbc128.o",
- "crypto/modes/libcrypto-shlib-ccm128.o",
- "crypto/modes/libcrypto-shlib-cfb128.o",
- "crypto/modes/libcrypto-shlib-ctr128.o",
- "crypto/modes/libcrypto-shlib-cts128.o",
- "crypto/modes/libcrypto-shlib-gcm128.o",
- "crypto/modes/libcrypto-shlib-ghash-x86_64.o",
- "crypto/modes/libcrypto-shlib-ocb128.o",
- "crypto/modes/libcrypto-shlib-ofb128.o",
- "crypto/modes/libcrypto-shlib-siv128.o",
- "crypto/modes/libcrypto-shlib-wrap128.o",
- "crypto/modes/libcrypto-shlib-xts128.o",
- "crypto/modes/libcrypto-shlib-xts128gb.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/objects" => {
- "deps" => [
- "crypto/objects/libcrypto-lib-o_names.o",
- "crypto/objects/libcrypto-lib-obj_dat.o",
- "crypto/objects/libcrypto-lib-obj_err.o",
- "crypto/objects/libcrypto-lib-obj_lib.o",
- "crypto/objects/libcrypto-lib-obj_xref.o",
- "crypto/objects/libcrypto-shlib-o_names.o",
- "crypto/objects/libcrypto-shlib-obj_dat.o",
- "crypto/objects/libcrypto-shlib-obj_err.o",
- "crypto/objects/libcrypto-shlib-obj_lib.o",
- "crypto/objects/libcrypto-shlib-obj_xref.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ocsp" => {
- "deps" => [
- "crypto/ocsp/libcrypto-lib-ocsp_asn.o",
- "crypto/ocsp/libcrypto-lib-ocsp_cl.o",
- "crypto/ocsp/libcrypto-lib-ocsp_err.o",
- "crypto/ocsp/libcrypto-lib-ocsp_ext.o",
- "crypto/ocsp/libcrypto-lib-ocsp_http.o",
- "crypto/ocsp/libcrypto-lib-ocsp_lib.o",
- "crypto/ocsp/libcrypto-lib-ocsp_prn.o",
- "crypto/ocsp/libcrypto-lib-ocsp_srv.o",
- "crypto/ocsp/libcrypto-lib-ocsp_vfy.o",
- "crypto/ocsp/libcrypto-lib-v3_ocsp.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_asn.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_cl.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_err.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_ext.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_http.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_lib.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_prn.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_srv.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_vfy.o",
- "crypto/ocsp/libcrypto-shlib-v3_ocsp.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/pem" => {
- "deps" => [
- "crypto/pem/loader_attic-dso-pvkfmt.o",
- "crypto/pem/libcrypto-lib-pem_all.o",
- "crypto/pem/libcrypto-lib-pem_err.o",
- "crypto/pem/libcrypto-lib-pem_info.o",
- "crypto/pem/libcrypto-lib-pem_lib.o",
- "crypto/pem/libcrypto-lib-pem_oth.o",
- "crypto/pem/libcrypto-lib-pem_pk8.o",
- "crypto/pem/libcrypto-lib-pem_pkey.o",
- "crypto/pem/libcrypto-lib-pem_sign.o",
- "crypto/pem/libcrypto-lib-pem_x509.o",
- "crypto/pem/libcrypto-lib-pem_xaux.o",
- "crypto/pem/libcrypto-lib-pvkfmt.o",
- "crypto/pem/libcrypto-shlib-pem_all.o",
- "crypto/pem/libcrypto-shlib-pem_err.o",
- "crypto/pem/libcrypto-shlib-pem_info.o",
- "crypto/pem/libcrypto-shlib-pem_lib.o",
- "crypto/pem/libcrypto-shlib-pem_oth.o",
- "crypto/pem/libcrypto-shlib-pem_pk8.o",
- "crypto/pem/libcrypto-shlib-pem_pkey.o",
- "crypto/pem/libcrypto-shlib-pem_sign.o",
- "crypto/pem/libcrypto-shlib-pem_x509.o",
- "crypto/pem/libcrypto-shlib-pem_xaux.o",
- "crypto/pem/libcrypto-shlib-pvkfmt.o"
- ],
- "products" => {
- "dso" => [
- "engines/loader_attic"
- ],
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/pkcs12" => {
- "deps" => [
- "crypto/pkcs12/libcrypto-lib-p12_add.o",
- "crypto/pkcs12/libcrypto-lib-p12_asn.o",
- "crypto/pkcs12/libcrypto-lib-p12_attr.o",
- "crypto/pkcs12/libcrypto-lib-p12_crpt.o",
- "crypto/pkcs12/libcrypto-lib-p12_crt.o",
- "crypto/pkcs12/libcrypto-lib-p12_decr.o",
- "crypto/pkcs12/libcrypto-lib-p12_init.o",
- "crypto/pkcs12/libcrypto-lib-p12_key.o",
- "crypto/pkcs12/libcrypto-lib-p12_kiss.o",
- "crypto/pkcs12/libcrypto-lib-p12_mutl.o",
- "crypto/pkcs12/libcrypto-lib-p12_npas.o",
- "crypto/pkcs12/libcrypto-lib-p12_p8d.o",
- "crypto/pkcs12/libcrypto-lib-p12_p8e.o",
- "crypto/pkcs12/libcrypto-lib-p12_sbag.o",
- "crypto/pkcs12/libcrypto-lib-p12_utl.o",
- "crypto/pkcs12/libcrypto-lib-pk12err.o",
- "crypto/pkcs12/libcrypto-shlib-p12_add.o",
- "crypto/pkcs12/libcrypto-shlib-p12_asn.o",
- "crypto/pkcs12/libcrypto-shlib-p12_attr.o",
- "crypto/pkcs12/libcrypto-shlib-p12_crpt.o",
- "crypto/pkcs12/libcrypto-shlib-p12_crt.o",
- "crypto/pkcs12/libcrypto-shlib-p12_decr.o",
- "crypto/pkcs12/libcrypto-shlib-p12_init.o",
- "crypto/pkcs12/libcrypto-shlib-p12_key.o",
- "crypto/pkcs12/libcrypto-shlib-p12_kiss.o",
- "crypto/pkcs12/libcrypto-shlib-p12_mutl.o",
- "crypto/pkcs12/libcrypto-shlib-p12_npas.o",
- "crypto/pkcs12/libcrypto-shlib-p12_p8d.o",
- "crypto/pkcs12/libcrypto-shlib-p12_p8e.o",
- "crypto/pkcs12/libcrypto-shlib-p12_sbag.o",
- "crypto/pkcs12/libcrypto-shlib-p12_utl.o",
- "crypto/pkcs12/libcrypto-shlib-pk12err.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/pkcs7" => {
- "deps" => [
- "crypto/pkcs7/libcrypto-lib-bio_pk7.o",
- "crypto/pkcs7/libcrypto-lib-pk7_asn1.o",
- "crypto/pkcs7/libcrypto-lib-pk7_attr.o",
- "crypto/pkcs7/libcrypto-lib-pk7_doit.o",
- "crypto/pkcs7/libcrypto-lib-pk7_lib.o",
- "crypto/pkcs7/libcrypto-lib-pk7_mime.o",
- "crypto/pkcs7/libcrypto-lib-pk7_smime.o",
- "crypto/pkcs7/libcrypto-lib-pkcs7err.o",
- "crypto/pkcs7/libcrypto-shlib-bio_pk7.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_asn1.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_attr.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_doit.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_lib.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_mime.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_smime.o",
- "crypto/pkcs7/libcrypto-shlib-pkcs7err.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/poly1305" => {
- "deps" => [
- "crypto/poly1305/libcrypto-lib-poly1305-x86_64.o",
- "crypto/poly1305/libcrypto-lib-poly1305.o",
- "crypto/poly1305/libcrypto-shlib-poly1305-x86_64.o",
- "crypto/poly1305/libcrypto-shlib-poly1305.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/property" => {
- "deps" => [
- "crypto/property/libcrypto-lib-defn_cache.o",
- "crypto/property/libcrypto-lib-property.o",
- "crypto/property/libcrypto-lib-property_err.o",
- "crypto/property/libcrypto-lib-property_parse.o",
- "crypto/property/libcrypto-lib-property_query.o",
- "crypto/property/libcrypto-lib-property_string.o",
- "crypto/property/libcrypto-shlib-defn_cache.o",
- "crypto/property/libcrypto-shlib-property.o",
- "crypto/property/libcrypto-shlib-property_err.o",
- "crypto/property/libcrypto-shlib-property_parse.o",
- "crypto/property/libcrypto-shlib-property_query.o",
- "crypto/property/libcrypto-shlib-property_string.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/rand" => {
- "deps" => [
- "crypto/rand/libcrypto-lib-prov_seed.o",
- "crypto/rand/libcrypto-lib-rand_deprecated.o",
- "crypto/rand/libcrypto-lib-rand_err.o",
- "crypto/rand/libcrypto-lib-rand_lib.o",
- "crypto/rand/libcrypto-lib-rand_meth.o",
- "crypto/rand/libcrypto-lib-rand_pool.o",
- "crypto/rand/libcrypto-lib-rand_uniform.o",
- "crypto/rand/libcrypto-lib-randfile.o",
- "crypto/rand/libcrypto-shlib-prov_seed.o",
- "crypto/rand/libcrypto-shlib-rand_deprecated.o",
- "crypto/rand/libcrypto-shlib-rand_err.o",
- "crypto/rand/libcrypto-shlib-rand_lib.o",
- "crypto/rand/libcrypto-shlib-rand_meth.o",
- "crypto/rand/libcrypto-shlib-rand_pool.o",
- "crypto/rand/libcrypto-shlib-rand_uniform.o",
- "crypto/rand/libcrypto-shlib-randfile.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/rc2" => {
- "deps" => [
- "crypto/rc2/libcrypto-lib-rc2_cbc.o",
- "crypto/rc2/libcrypto-lib-rc2_ecb.o",
- "crypto/rc2/libcrypto-lib-rc2_skey.o",
- "crypto/rc2/libcrypto-lib-rc2cfb64.o",
- "crypto/rc2/libcrypto-lib-rc2ofb64.o",
- "crypto/rc2/libcrypto-shlib-rc2_cbc.o",
- "crypto/rc2/libcrypto-shlib-rc2_ecb.o",
- "crypto/rc2/libcrypto-shlib-rc2_skey.o",
- "crypto/rc2/libcrypto-shlib-rc2cfb64.o",
- "crypto/rc2/libcrypto-shlib-rc2ofb64.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/rc4" => {
- "deps" => [
- "crypto/rc4/libcrypto-lib-rc4-md5-x86_64.o",
- "crypto/rc4/libcrypto-lib-rc4-x86_64.o",
- "crypto/rc4/libcrypto-shlib-rc4-md5-x86_64.o",
- "crypto/rc4/libcrypto-shlib-rc4-x86_64.o",
- "crypto/rc4/liblegacy-lib-rc4-md5-x86_64.o",
- "crypto/rc4/liblegacy-lib-rc4-x86_64.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto",
- "providers/liblegacy.a"
- ]
- }
- },
- "crypto/ripemd" => {
- "deps" => [
- "crypto/ripemd/libcrypto-lib-rmd_dgst.o",
- "crypto/ripemd/libcrypto-lib-rmd_one.o",
- "crypto/ripemd/libcrypto-shlib-rmd_dgst.o",
- "crypto/ripemd/libcrypto-shlib-rmd_one.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/rsa" => {
- "deps" => [
- "crypto/rsa/libcrypto-lib-rsa_ameth.o",
- "crypto/rsa/libcrypto-lib-rsa_asn1.o",
- "crypto/rsa/libcrypto-lib-rsa_backend.o",
- "crypto/rsa/libcrypto-lib-rsa_chk.o",
- "crypto/rsa/libcrypto-lib-rsa_crpt.o",
- "crypto/rsa/libcrypto-lib-rsa_depr.o",
- "crypto/rsa/libcrypto-lib-rsa_err.o",
- "crypto/rsa/libcrypto-lib-rsa_gen.o",
- "crypto/rsa/libcrypto-lib-rsa_lib.o",
- "crypto/rsa/libcrypto-lib-rsa_meth.o",
- "crypto/rsa/libcrypto-lib-rsa_mp.o",
- "crypto/rsa/libcrypto-lib-rsa_mp_names.o",
- "crypto/rsa/libcrypto-lib-rsa_none.o",
- "crypto/rsa/libcrypto-lib-rsa_oaep.o",
- "crypto/rsa/libcrypto-lib-rsa_ossl.o",
- "crypto/rsa/libcrypto-lib-rsa_pk1.o",
- "crypto/rsa/libcrypto-lib-rsa_pmeth.o",
- "crypto/rsa/libcrypto-lib-rsa_prn.o",
- "crypto/rsa/libcrypto-lib-rsa_pss.o",
- "crypto/rsa/libcrypto-lib-rsa_saos.o",
- "crypto/rsa/libcrypto-lib-rsa_schemes.o",
- "crypto/rsa/libcrypto-lib-rsa_sign.o",
- "crypto/rsa/libcrypto-lib-rsa_sp800_56b_check.o",
- "crypto/rsa/libcrypto-lib-rsa_sp800_56b_gen.o",
- "crypto/rsa/libcrypto-lib-rsa_x931.o",
- "crypto/rsa/libcrypto-lib-rsa_x931g.o",
- "crypto/rsa/libcrypto-shlib-rsa_ameth.o",
- "crypto/rsa/libcrypto-shlib-rsa_asn1.o",
- "crypto/rsa/libcrypto-shlib-rsa_backend.o",
- "crypto/rsa/libcrypto-shlib-rsa_chk.o",
- "crypto/rsa/libcrypto-shlib-rsa_crpt.o",
- "crypto/rsa/libcrypto-shlib-rsa_depr.o",
- "crypto/rsa/libcrypto-shlib-rsa_err.o",
- "crypto/rsa/libcrypto-shlib-rsa_gen.o",
- "crypto/rsa/libcrypto-shlib-rsa_lib.o",
- "crypto/rsa/libcrypto-shlib-rsa_meth.o",
- "crypto/rsa/libcrypto-shlib-rsa_mp.o",
- "crypto/rsa/libcrypto-shlib-rsa_mp_names.o",
- "crypto/rsa/libcrypto-shlib-rsa_none.o",
- "crypto/rsa/libcrypto-shlib-rsa_oaep.o",
- "crypto/rsa/libcrypto-shlib-rsa_ossl.o",
- "crypto/rsa/libcrypto-shlib-rsa_pk1.o",
- "crypto/rsa/libcrypto-shlib-rsa_pmeth.o",
- "crypto/rsa/libcrypto-shlib-rsa_prn.o",
- "crypto/rsa/libcrypto-shlib-rsa_pss.o",
- "crypto/rsa/libcrypto-shlib-rsa_saos.o",
- "crypto/rsa/libcrypto-shlib-rsa_schemes.o",
- "crypto/rsa/libcrypto-shlib-rsa_sign.o",
- "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_check.o",
- "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_gen.o",
- "crypto/rsa/libcrypto-shlib-rsa_x931.o",
- "crypto/rsa/libcrypto-shlib-rsa_x931g.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/seed" => {
- "deps" => [
- "crypto/seed/libcrypto-lib-seed.o",
- "crypto/seed/libcrypto-lib-seed_cbc.o",
- "crypto/seed/libcrypto-lib-seed_cfb.o",
- "crypto/seed/libcrypto-lib-seed_ecb.o",
- "crypto/seed/libcrypto-lib-seed_ofb.o",
- "crypto/seed/libcrypto-shlib-seed.o",
- "crypto/seed/libcrypto-shlib-seed_cbc.o",
- "crypto/seed/libcrypto-shlib-seed_cfb.o",
- "crypto/seed/libcrypto-shlib-seed_ecb.o",
- "crypto/seed/libcrypto-shlib-seed_ofb.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/sha" => {
- "deps" => [
- "crypto/sha/libcrypto-lib-keccak1600-x86_64.o",
- "crypto/sha/libcrypto-lib-sha1-mb-x86_64.o",
- "crypto/sha/libcrypto-lib-sha1-x86_64.o",
- "crypto/sha/libcrypto-lib-sha1_one.o",
- "crypto/sha/libcrypto-lib-sha1dgst.o",
- "crypto/sha/libcrypto-lib-sha256-mb-x86_64.o",
- "crypto/sha/libcrypto-lib-sha256-x86_64.o",
- "crypto/sha/libcrypto-lib-sha256.o",
- "crypto/sha/libcrypto-lib-sha3.o",
- "crypto/sha/libcrypto-lib-sha512-x86_64.o",
- "crypto/sha/libcrypto-lib-sha512.o",
- "crypto/sha/libcrypto-shlib-keccak1600-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha1-mb-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha1-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha1_one.o",
- "crypto/sha/libcrypto-shlib-sha1dgst.o",
- "crypto/sha/libcrypto-shlib-sha256-mb-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha256-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha256.o",
- "crypto/sha/libcrypto-shlib-sha3.o",
- "crypto/sha/libcrypto-shlib-sha512-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha512.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/siphash" => {
- "deps" => [
- "crypto/siphash/libcrypto-lib-siphash.o",
- "crypto/siphash/libcrypto-shlib-siphash.o",
- "crypto/siphash/libssl-shlib-siphash.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto",
- "libssl"
- ]
- }
- },
- "crypto/slh_dsa" => {
- "deps" => [
- "crypto/slh_dsa/libcrypto-lib-slh_adrs.o",
- "crypto/slh_dsa/libcrypto-lib-slh_dsa.o",
- "crypto/slh_dsa/libcrypto-lib-slh_dsa_hash_ctx.o",
- "crypto/slh_dsa/libcrypto-lib-slh_dsa_key.o",
- "crypto/slh_dsa/libcrypto-lib-slh_fors.o",
- "crypto/slh_dsa/libcrypto-lib-slh_hash.o",
- "crypto/slh_dsa/libcrypto-lib-slh_hypertree.o",
- "crypto/slh_dsa/libcrypto-lib-slh_params.o",
- "crypto/slh_dsa/libcrypto-lib-slh_wots.o",
- "crypto/slh_dsa/libcrypto-lib-slh_xmss.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_adrs.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa_hash_ctx.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa_key.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_fors.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_hash.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_hypertree.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_params.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_wots.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_xmss.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/srp" => {
- "deps" => [
- "crypto/srp/libcrypto-lib-srp_lib.o",
- "crypto/srp/libcrypto-lib-srp_vfy.o",
- "crypto/srp/libcrypto-shlib-srp_lib.o",
- "crypto/srp/libcrypto-shlib-srp_vfy.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/stack" => {
- "deps" => [
- "crypto/stack/libcrypto-lib-stack.o",
- "crypto/stack/libcrypto-shlib-stack.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/store" => {
- "deps" => [
- "crypto/store/libcrypto-lib-store_err.o",
- "crypto/store/libcrypto-lib-store_init.o",
- "crypto/store/libcrypto-lib-store_lib.o",
- "crypto/store/libcrypto-lib-store_meth.o",
- "crypto/store/libcrypto-lib-store_register.o",
- "crypto/store/libcrypto-lib-store_result.o",
- "crypto/store/libcrypto-lib-store_strings.o",
- "crypto/store/libcrypto-shlib-store_err.o",
- "crypto/store/libcrypto-shlib-store_init.o",
- "crypto/store/libcrypto-shlib-store_lib.o",
- "crypto/store/libcrypto-shlib-store_meth.o",
- "crypto/store/libcrypto-shlib-store_register.o",
- "crypto/store/libcrypto-shlib-store_result.o",
- "crypto/store/libcrypto-shlib-store_strings.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/thread" => {
- "deps" => [
- "crypto/thread/libcrypto-lib-api.o",
- "crypto/thread/libcrypto-lib-arch.o",
- "crypto/thread/libcrypto-lib-internal.o",
- "crypto/thread/libcrypto-shlib-api.o",
- "crypto/thread/libcrypto-shlib-arch.o",
- "crypto/thread/libcrypto-shlib-internal.o",
- "crypto/thread/libssl-shlib-arch.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto",
- "libssl"
- ]
- }
- },
- "crypto/thread/arch" => {
- "deps" => [
- "crypto/thread/arch/libcrypto-lib-thread_none.o",
- "crypto/thread/arch/libcrypto-lib-thread_posix.o",
- "crypto/thread/arch/libcrypto-lib-thread_win.o",
- "crypto/thread/arch/libcrypto-shlib-thread_none.o",
- "crypto/thread/arch/libcrypto-shlib-thread_posix.o",
- "crypto/thread/arch/libcrypto-shlib-thread_win.o",
- "crypto/thread/arch/libssl-shlib-thread_none.o",
- "crypto/thread/arch/libssl-shlib-thread_posix.o",
- "crypto/thread/arch/libssl-shlib-thread_win.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto",
- "libssl"
- ]
- }
- },
- "crypto/ts" => {
- "deps" => [
- "crypto/ts/libcrypto-lib-ts_asn1.o",
- "crypto/ts/libcrypto-lib-ts_conf.o",
- "crypto/ts/libcrypto-lib-ts_err.o",
- "crypto/ts/libcrypto-lib-ts_lib.o",
- "crypto/ts/libcrypto-lib-ts_req_print.o",
- "crypto/ts/libcrypto-lib-ts_req_utils.o",
- "crypto/ts/libcrypto-lib-ts_rsp_print.o",
- "crypto/ts/libcrypto-lib-ts_rsp_sign.o",
- "crypto/ts/libcrypto-lib-ts_rsp_utils.o",
- "crypto/ts/libcrypto-lib-ts_rsp_verify.o",
- "crypto/ts/libcrypto-lib-ts_verify_ctx.o",
- "crypto/ts/libcrypto-shlib-ts_asn1.o",
- "crypto/ts/libcrypto-shlib-ts_conf.o",
- "crypto/ts/libcrypto-shlib-ts_err.o",
- "crypto/ts/libcrypto-shlib-ts_lib.o",
- "crypto/ts/libcrypto-shlib-ts_req_print.o",
- "crypto/ts/libcrypto-shlib-ts_req_utils.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_print.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_sign.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_utils.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_verify.o",
- "crypto/ts/libcrypto-shlib-ts_verify_ctx.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/txt_db" => {
- "deps" => [
- "crypto/txt_db/libcrypto-lib-txt_db.o",
- "crypto/txt_db/libcrypto-shlib-txt_db.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/ui" => {
- "deps" => [
- "crypto/ui/libcrypto-lib-ui_err.o",
- "crypto/ui/libcrypto-lib-ui_lib.o",
- "crypto/ui/libcrypto-lib-ui_null.o",
- "crypto/ui/libcrypto-lib-ui_openssl.o",
- "crypto/ui/libcrypto-lib-ui_util.o",
- "crypto/ui/libcrypto-shlib-ui_err.o",
- "crypto/ui/libcrypto-shlib-ui_lib.o",
- "crypto/ui/libcrypto-shlib-ui_null.o",
- "crypto/ui/libcrypto-shlib-ui_openssl.o",
- "crypto/ui/libcrypto-shlib-ui_util.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/whrlpool" => {
- "deps" => [
- "crypto/whrlpool/libcrypto-lib-wp-x86_64.o",
- "crypto/whrlpool/libcrypto-lib-wp_dgst.o",
- "crypto/whrlpool/libcrypto-shlib-wp-x86_64.o",
- "crypto/whrlpool/libcrypto-shlib-wp_dgst.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "crypto/x509" => {
- "deps" => [
- "crypto/x509/libcrypto-lib-by_dir.o",
- "crypto/x509/libcrypto-lib-by_file.o",
- "crypto/x509/libcrypto-lib-by_store.o",
- "crypto/x509/libcrypto-lib-pcy_cache.o",
- "crypto/x509/libcrypto-lib-pcy_data.o",
- "crypto/x509/libcrypto-lib-pcy_lib.o",
- "crypto/x509/libcrypto-lib-pcy_map.o",
- "crypto/x509/libcrypto-lib-pcy_node.o",
- "crypto/x509/libcrypto-lib-pcy_tree.o",
- "crypto/x509/libcrypto-lib-t_acert.o",
- "crypto/x509/libcrypto-lib-t_crl.o",
- "crypto/x509/libcrypto-lib-t_req.o",
- "crypto/x509/libcrypto-lib-t_x509.o",
- "crypto/x509/libcrypto-lib-v3_aaa.o",
- "crypto/x509/libcrypto-lib-v3_ac_tgt.o",
- "crypto/x509/libcrypto-lib-v3_addr.o",
- "crypto/x509/libcrypto-lib-v3_admis.o",
- "crypto/x509/libcrypto-lib-v3_akeya.o",
- "crypto/x509/libcrypto-lib-v3_akid.o",
- "crypto/x509/libcrypto-lib-v3_asid.o",
- "crypto/x509/libcrypto-lib-v3_attrdesc.o",
- "crypto/x509/libcrypto-lib-v3_attrmap.o",
- "crypto/x509/libcrypto-lib-v3_audit_id.o",
- "crypto/x509/libcrypto-lib-v3_authattid.o",
- "crypto/x509/libcrypto-lib-v3_battcons.o",
- "crypto/x509/libcrypto-lib-v3_bcons.o",
- "crypto/x509/libcrypto-lib-v3_bitst.o",
- "crypto/x509/libcrypto-lib-v3_conf.o",
- "crypto/x509/libcrypto-lib-v3_cpols.o",
- "crypto/x509/libcrypto-lib-v3_crld.o",
- "crypto/x509/libcrypto-lib-v3_enum.o",
- "crypto/x509/libcrypto-lib-v3_extku.o",
- "crypto/x509/libcrypto-lib-v3_genn.o",
- "crypto/x509/libcrypto-lib-v3_group_ac.o",
- "crypto/x509/libcrypto-lib-v3_ia5.o",
- "crypto/x509/libcrypto-lib-v3_ind_iss.o",
- "crypto/x509/libcrypto-lib-v3_info.o",
- "crypto/x509/libcrypto-lib-v3_int.o",
- "crypto/x509/libcrypto-lib-v3_iobo.o",
- "crypto/x509/libcrypto-lib-v3_ist.o",
- "crypto/x509/libcrypto-lib-v3_lib.o",
- "crypto/x509/libcrypto-lib-v3_ncons.o",
- "crypto/x509/libcrypto-lib-v3_no_ass.o",
- "crypto/x509/libcrypto-lib-v3_no_rev_avail.o",
- "crypto/x509/libcrypto-lib-v3_pci.o",
- "crypto/x509/libcrypto-lib-v3_pcia.o",
- "crypto/x509/libcrypto-lib-v3_pcons.o",
- "crypto/x509/libcrypto-lib-v3_pku.o",
- "crypto/x509/libcrypto-lib-v3_pmaps.o",
- "crypto/x509/libcrypto-lib-v3_prn.o",
- "crypto/x509/libcrypto-lib-v3_purp.o",
- "crypto/x509/libcrypto-lib-v3_rolespec.o",
- "crypto/x509/libcrypto-lib-v3_san.o",
- "crypto/x509/libcrypto-lib-v3_sda.o",
- "crypto/x509/libcrypto-lib-v3_single_use.o",
- "crypto/x509/libcrypto-lib-v3_skid.o",
- "crypto/x509/libcrypto-lib-v3_soa_id.o",
- "crypto/x509/libcrypto-lib-v3_sxnet.o",
- "crypto/x509/libcrypto-lib-v3_timespec.o",
- "crypto/x509/libcrypto-lib-v3_tlsf.o",
- "crypto/x509/libcrypto-lib-v3_usernotice.o",
- "crypto/x509/libcrypto-lib-v3_utf8.o",
- "crypto/x509/libcrypto-lib-v3_utl.o",
- "crypto/x509/libcrypto-lib-v3err.o",
- "crypto/x509/libcrypto-lib-x509_acert.o",
- "crypto/x509/libcrypto-lib-x509_att.o",
- "crypto/x509/libcrypto-lib-x509_cmp.o",
- "crypto/x509/libcrypto-lib-x509_d2.o",
- "crypto/x509/libcrypto-lib-x509_def.o",
- "crypto/x509/libcrypto-lib-x509_err.o",
- "crypto/x509/libcrypto-lib-x509_ext.o",
- "crypto/x509/libcrypto-lib-x509_lu.o",
- "crypto/x509/libcrypto-lib-x509_meth.o",
- "crypto/x509/libcrypto-lib-x509_obj.o",
- "crypto/x509/libcrypto-lib-x509_r2x.o",
- "crypto/x509/libcrypto-lib-x509_req.o",
- "crypto/x509/libcrypto-lib-x509_set.o",
- "crypto/x509/libcrypto-lib-x509_trust.o",
- "crypto/x509/libcrypto-lib-x509_txt.o",
- "crypto/x509/libcrypto-lib-x509_v3.o",
- "crypto/x509/libcrypto-lib-x509_vfy.o",
- "crypto/x509/libcrypto-lib-x509_vpm.o",
- "crypto/x509/libcrypto-lib-x509aset.o",
- "crypto/x509/libcrypto-lib-x509cset.o",
- "crypto/x509/libcrypto-lib-x509name.o",
- "crypto/x509/libcrypto-lib-x509rset.o",
- "crypto/x509/libcrypto-lib-x509spki.o",
- "crypto/x509/libcrypto-lib-x509type.o",
- "crypto/x509/libcrypto-lib-x_all.o",
- "crypto/x509/libcrypto-lib-x_attrib.o",
- "crypto/x509/libcrypto-lib-x_crl.o",
- "crypto/x509/libcrypto-lib-x_exten.o",
- "crypto/x509/libcrypto-lib-x_ietfatt.o",
- "crypto/x509/libcrypto-lib-x_name.o",
- "crypto/x509/libcrypto-lib-x_pubkey.o",
- "crypto/x509/libcrypto-lib-x_req.o",
- "crypto/x509/libcrypto-lib-x_x509.o",
- "crypto/x509/libcrypto-lib-x_x509a.o",
- "crypto/x509/libcrypto-shlib-by_dir.o",
- "crypto/x509/libcrypto-shlib-by_file.o",
- "crypto/x509/libcrypto-shlib-by_store.o",
- "crypto/x509/libcrypto-shlib-pcy_cache.o",
- "crypto/x509/libcrypto-shlib-pcy_data.o",
- "crypto/x509/libcrypto-shlib-pcy_lib.o",
- "crypto/x509/libcrypto-shlib-pcy_map.o",
- "crypto/x509/libcrypto-shlib-pcy_node.o",
- "crypto/x509/libcrypto-shlib-pcy_tree.o",
- "crypto/x509/libcrypto-shlib-t_acert.o",
- "crypto/x509/libcrypto-shlib-t_crl.o",
- "crypto/x509/libcrypto-shlib-t_req.o",
- "crypto/x509/libcrypto-shlib-t_x509.o",
- "crypto/x509/libcrypto-shlib-v3_aaa.o",
- "crypto/x509/libcrypto-shlib-v3_ac_tgt.o",
- "crypto/x509/libcrypto-shlib-v3_addr.o",
- "crypto/x509/libcrypto-shlib-v3_admis.o",
- "crypto/x509/libcrypto-shlib-v3_akeya.o",
- "crypto/x509/libcrypto-shlib-v3_akid.o",
- "crypto/x509/libcrypto-shlib-v3_asid.o",
- "crypto/x509/libcrypto-shlib-v3_attrdesc.o",
- "crypto/x509/libcrypto-shlib-v3_attrmap.o",
- "crypto/x509/libcrypto-shlib-v3_audit_id.o",
- "crypto/x509/libcrypto-shlib-v3_authattid.o",
- "crypto/x509/libcrypto-shlib-v3_battcons.o",
- "crypto/x509/libcrypto-shlib-v3_bcons.o",
- "crypto/x509/libcrypto-shlib-v3_bitst.o",
- "crypto/x509/libcrypto-shlib-v3_conf.o",
- "crypto/x509/libcrypto-shlib-v3_cpols.o",
- "crypto/x509/libcrypto-shlib-v3_crld.o",
- "crypto/x509/libcrypto-shlib-v3_enum.o",
- "crypto/x509/libcrypto-shlib-v3_extku.o",
- "crypto/x509/libcrypto-shlib-v3_genn.o",
- "crypto/x509/libcrypto-shlib-v3_group_ac.o",
- "crypto/x509/libcrypto-shlib-v3_ia5.o",
- "crypto/x509/libcrypto-shlib-v3_ind_iss.o",
- "crypto/x509/libcrypto-shlib-v3_info.o",
- "crypto/x509/libcrypto-shlib-v3_int.o",
- "crypto/x509/libcrypto-shlib-v3_iobo.o",
- "crypto/x509/libcrypto-shlib-v3_ist.o",
- "crypto/x509/libcrypto-shlib-v3_lib.o",
- "crypto/x509/libcrypto-shlib-v3_ncons.o",
- "crypto/x509/libcrypto-shlib-v3_no_ass.o",
- "crypto/x509/libcrypto-shlib-v3_no_rev_avail.o",
- "crypto/x509/libcrypto-shlib-v3_pci.o",
- "crypto/x509/libcrypto-shlib-v3_pcia.o",
- "crypto/x509/libcrypto-shlib-v3_pcons.o",
- "crypto/x509/libcrypto-shlib-v3_pku.o",
- "crypto/x509/libcrypto-shlib-v3_pmaps.o",
- "crypto/x509/libcrypto-shlib-v3_prn.o",
- "crypto/x509/libcrypto-shlib-v3_purp.o",
- "crypto/x509/libcrypto-shlib-v3_rolespec.o",
- "crypto/x509/libcrypto-shlib-v3_san.o",
- "crypto/x509/libcrypto-shlib-v3_sda.o",
- "crypto/x509/libcrypto-shlib-v3_single_use.o",
- "crypto/x509/libcrypto-shlib-v3_skid.o",
- "crypto/x509/libcrypto-shlib-v3_soa_id.o",
- "crypto/x509/libcrypto-shlib-v3_sxnet.o",
- "crypto/x509/libcrypto-shlib-v3_timespec.o",
- "crypto/x509/libcrypto-shlib-v3_tlsf.o",
- "crypto/x509/libcrypto-shlib-v3_usernotice.o",
- "crypto/x509/libcrypto-shlib-v3_utf8.o",
- "crypto/x509/libcrypto-shlib-v3_utl.o",
- "crypto/x509/libcrypto-shlib-v3err.o",
- "crypto/x509/libcrypto-shlib-x509_acert.o",
- "crypto/x509/libcrypto-shlib-x509_att.o",
- "crypto/x509/libcrypto-shlib-x509_cmp.o",
- "crypto/x509/libcrypto-shlib-x509_d2.o",
- "crypto/x509/libcrypto-shlib-x509_def.o",
- "crypto/x509/libcrypto-shlib-x509_err.o",
- "crypto/x509/libcrypto-shlib-x509_ext.o",
- "crypto/x509/libcrypto-shlib-x509_lu.o",
- "crypto/x509/libcrypto-shlib-x509_meth.o",
- "crypto/x509/libcrypto-shlib-x509_obj.o",
- "crypto/x509/libcrypto-shlib-x509_r2x.o",
- "crypto/x509/libcrypto-shlib-x509_req.o",
- "crypto/x509/libcrypto-shlib-x509_set.o",
- "crypto/x509/libcrypto-shlib-x509_trust.o",
- "crypto/x509/libcrypto-shlib-x509_txt.o",
- "crypto/x509/libcrypto-shlib-x509_v3.o",
- "crypto/x509/libcrypto-shlib-x509_vfy.o",
- "crypto/x509/libcrypto-shlib-x509_vpm.o",
- "crypto/x509/libcrypto-shlib-x509aset.o",
- "crypto/x509/libcrypto-shlib-x509cset.o",
- "crypto/x509/libcrypto-shlib-x509name.o",
- "crypto/x509/libcrypto-shlib-x509rset.o",
- "crypto/x509/libcrypto-shlib-x509spki.o",
- "crypto/x509/libcrypto-shlib-x509type.o",
- "crypto/x509/libcrypto-shlib-x_all.o",
- "crypto/x509/libcrypto-shlib-x_attrib.o",
- "crypto/x509/libcrypto-shlib-x_crl.o",
- "crypto/x509/libcrypto-shlib-x_exten.o",
- "crypto/x509/libcrypto-shlib-x_ietfatt.o",
- "crypto/x509/libcrypto-shlib-x_name.o",
- "crypto/x509/libcrypto-shlib-x_pubkey.o",
- "crypto/x509/libcrypto-shlib-x_req.o",
- "crypto/x509/libcrypto-shlib-x_x509.o",
- "crypto/x509/libcrypto-shlib-x_x509a.o"
- ],
- "products" => {
- "lib" => [
- "libcrypto"
- ]
- }
- },
- "engines" => {
- "products" => {
- "dso" => [
- "engines/capi",
- "engines/dasync",
- "engines/devcrypto",
- "engines/loader_attic",
- "engines/ossltest",
- "engines/padlock"
- ]
- }
- },
- "fuzz" => {
- "products" => {
- "bin" => [
- "fuzz/acert-test",
- "fuzz/asn1-test",
- "fuzz/asn1parse-test",
- "fuzz/bignum-test",
- "fuzz/bndiv-test",
- "fuzz/client-test",
- "fuzz/cmp-test",
- "fuzz/cms-test",
- "fuzz/conf-test",
- "fuzz/crl-test",
- "fuzz/ct-test",
- "fuzz/decoder-test",
- "fuzz/dtlsclient-test",
- "fuzz/dtlsserver-test",
- "fuzz/hashtable-test",
- "fuzz/ml-dsa-test",
- "fuzz/ml-kem-test",
- "fuzz/pem-test",
- "fuzz/provider-test",
- "fuzz/punycode-test",
- "fuzz/quic-client-test",
- "fuzz/quic-lcidm-test",
- "fuzz/quic-rcidm-test",
- "fuzz/quic-server-test",
- "fuzz/quic-srtm-test",
- "fuzz/server-test",
- "fuzz/slh-dsa-test",
- "fuzz/smime-test",
- "fuzz/v3name-test",
- "fuzz/x509-test"
- ]
- }
- },
- "providers" => {
- "deps" => [
- "providers/endecode_test-bin-legacyprov.o",
- "providers/evp_extra_test-bin-legacyprov.o",
- "providers/libcrypto-lib-baseprov.o",
- "providers/libcrypto-lib-defltprov.o",
- "providers/libcrypto-lib-nullprov.o",
- "providers/libcrypto-lib-prov_running.o",
- "providers/libdefault.a",
- "providers/libcrypto-shlib-baseprov.o",
- "providers/libcrypto-shlib-defltprov.o",
- "providers/libcrypto-shlib-nullprov.o",
- "providers/libcrypto-shlib-prov_running.o",
- "providers/libdefault.a"
- ],
- "products" => {
- "bin" => [
- "test/endecode_test",
- "test/evp_extra_test"
- ],
- "dso" => [
- "providers/legacy"
- ],
- "lib" => [
- "libcrypto",
- "providers/liblegacy.a"
- ]
- }
- },
- "providers/common" => {
- "deps" => [
- "providers/common/libcommon-lib-provider_ctx.o",
- "providers/common/libcommon-lib-provider_err.o",
- "providers/common/libdefault-lib-bio_prov.o",
- "providers/common/libdefault-lib-capabilities.o",
- "providers/common/libdefault-lib-digest_to_nid.o",
- "providers/common/libdefault-lib-provider_seeding.o",
- "providers/common/libdefault-lib-provider_util.o",
- "providers/common/libdefault-lib-securitycheck.o",
- "providers/common/libdefault-lib-securitycheck_default.o",
- "providers/common/liblegacy-lib-provider_util.o"
- ],
- "products" => {
- "lib" => [
- "providers/libcommon.a",
- "providers/libdefault.a",
- "providers/liblegacy.a"
- ]
- }
- },
- "providers/common/der" => {
- "deps" => [
- "providers/common/der/libcommon-lib-der_digests_gen.o",
- "providers/common/der/libcommon-lib-der_dsa_gen.o",
- "providers/common/der/libcommon-lib-der_dsa_key.o",
- "providers/common/der/libcommon-lib-der_dsa_sig.o",
- "providers/common/der/libcommon-lib-der_ec_gen.o",
- "providers/common/der/libcommon-lib-der_ec_key.o",
- "providers/common/der/libcommon-lib-der_ec_sig.o",
- "providers/common/der/libcommon-lib-der_ecx_gen.o",
- "providers/common/der/libcommon-lib-der_ecx_key.o",
- "providers/common/der/libcommon-lib-der_ml_dsa_gen.o",
- "providers/common/der/libcommon-lib-der_ml_dsa_key.o",
- "providers/common/der/libcommon-lib-der_rsa_gen.o",
- "providers/common/der/libcommon-lib-der_rsa_key.o",
- "providers/common/der/libcommon-lib-der_slh_dsa_gen.o",
- "providers/common/der/libcommon-lib-der_slh_dsa_key.o",
- "providers/common/der/libcommon-lib-der_wrap_gen.o",
- "providers/common/der/libdefault-lib-der_rsa_sig.o"
- ],
- "products" => {
- "lib" => [
- "providers/libcommon.a",
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/asymciphers" => {
- "deps" => [
- "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/ciphers" => {
- "deps" => [
- "providers/implementations/ciphers/libcommon-lib-ciphercommon.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_block.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm_hw.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm_hw.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha1_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha256_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv_polyval.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_wrp.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_fips.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_camellia.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_camellia_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_cts.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_null.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_common.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_des.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o"
- ],
- "products" => {
- "lib" => [
- "providers/libcommon.a",
- "providers/libdefault.a",
- "providers/liblegacy.a"
- ]
- }
- },
- "providers/implementations/digests" => {
- "deps" => [
- "providers/implementations/digests/libcommon-lib-digestcommon.o",
- "providers/implementations/digests/libdefault-lib-blake2_prov.o",
- "providers/implementations/digests/libdefault-lib-blake2b_prov.o",
- "providers/implementations/digests/libdefault-lib-blake2s_prov.o",
- "providers/implementations/digests/libdefault-lib-md5_prov.o",
- "providers/implementations/digests/libdefault-lib-md5_sha1_prov.o",
- "providers/implementations/digests/libdefault-lib-null_prov.o",
- "providers/implementations/digests/libdefault-lib-ripemd_prov.o",
- "providers/implementations/digests/libdefault-lib-sha2_prov.o",
- "providers/implementations/digests/libdefault-lib-sha3_prov.o",
- "providers/implementations/digests/liblegacy-lib-md4_prov.o",
- "providers/implementations/digests/liblegacy-lib-ripemd_prov.o",
- "providers/implementations/digests/liblegacy-lib-wp_prov.o"
- ],
- "products" => {
- "lib" => [
- "providers/libcommon.a",
- "providers/libdefault.a",
- "providers/liblegacy.a"
- ]
- }
- },
- "providers/implementations/encode_decode" => {
- "deps" => [
- "providers/implementations/encode_decode/libdefault-lib-decode_der2key.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_epki2pki.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_msblob2key.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_pem2der.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_pvk2key.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_spki2typespki.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2blob.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2ms.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2text.o",
- "providers/implementations/encode_decode/libdefault-lib-endecoder_common.o",
- "providers/implementations/encode_decode/libdefault-lib-ml_common_codecs.o",
- "providers/implementations/encode_decode/libdefault-lib-ml_dsa_codecs.o",
- "providers/implementations/encode_decode/libdefault-lib-ml_kem_codecs.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/exchange" => {
- "deps" => [
- "providers/implementations/exchange/libdefault-lib-dh_exch.o",
- "providers/implementations/exchange/libdefault-lib-ecdh_exch.o",
- "providers/implementations/exchange/libdefault-lib-ecx_exch.o",
- "providers/implementations/exchange/libdefault-lib-kdf_exch.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/kdfs" => {
- "deps" => [
- "providers/implementations/kdfs/libdefault-lib-argon2.o",
- "providers/implementations/kdfs/libdefault-lib-hkdf.o",
- "providers/implementations/kdfs/libdefault-lib-hmacdrbg_kdf.o",
- "providers/implementations/kdfs/libdefault-lib-kbkdf.o",
- "providers/implementations/kdfs/libdefault-lib-krb5kdf.o",
- "providers/implementations/kdfs/libdefault-lib-pbkdf2.o",
- "providers/implementations/kdfs/libdefault-lib-pbkdf2_fips.o",
- "providers/implementations/kdfs/libdefault-lib-pkcs12kdf.o",
- "providers/implementations/kdfs/libdefault-lib-scrypt.o",
- "providers/implementations/kdfs/libdefault-lib-sshkdf.o",
- "providers/implementations/kdfs/libdefault-lib-sskdf.o",
- "providers/implementations/kdfs/libdefault-lib-tls1_prf.o",
- "providers/implementations/kdfs/libdefault-lib-x942kdf.o",
- "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o",
- "providers/implementations/kdfs/liblegacy-lib-pvkkdf.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a",
- "providers/liblegacy.a"
- ]
- }
- },
- "providers/implementations/kem" => {
- "deps" => [
- "providers/implementations/kem/libdefault-lib-ec_kem.o",
- "providers/implementations/kem/libdefault-lib-ecx_kem.o",
- "providers/implementations/kem/libdefault-lib-kem_util.o",
- "providers/implementations/kem/libdefault-lib-ml_kem_kem.o",
- "providers/implementations/kem/libdefault-lib-mlx_kem.o",
- "providers/implementations/kem/libdefault-lib-rsa_kem.o",
- "providers/implementations/kem/libtemplate-lib-template_kem.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a",
- "providers/libtemplate.a"
- ]
- }
- },
- "providers/implementations/keymgmt" => {
- "deps" => [
- "providers/implementations/keymgmt/libdefault-lib-dh_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-dsa_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ec_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ecx_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-kdf_legacy_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-mac_legacy_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ml_dsa_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ml_kem_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-mlx_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-rsa_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-slh_dsa_kmgmt.o",
- "providers/implementations/keymgmt/libtemplate-lib-template_kmgmt.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a",
- "providers/libtemplate.a"
- ]
- }
- },
- "providers/implementations/macs" => {
- "deps" => [
- "providers/implementations/macs/libdefault-lib-blake2b_mac.o",
- "providers/implementations/macs/libdefault-lib-blake2s_mac.o",
- "providers/implementations/macs/libdefault-lib-cmac_prov.o",
- "providers/implementations/macs/libdefault-lib-gmac_prov.o",
- "providers/implementations/macs/libdefault-lib-hmac_prov.o",
- "providers/implementations/macs/libdefault-lib-kmac_prov.o",
- "providers/implementations/macs/libdefault-lib-poly1305_prov.o",
- "providers/implementations/macs/libdefault-lib-siphash_prov.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/rands" => {
- "deps" => [
- "providers/implementations/rands/libdefault-lib-drbg.o",
- "providers/implementations/rands/libdefault-lib-drbg_ctr.o",
- "providers/implementations/rands/libdefault-lib-drbg_hash.o",
- "providers/implementations/rands/libdefault-lib-drbg_hmac.o",
- "providers/implementations/rands/libdefault-lib-seed_src.o",
- "providers/implementations/rands/libdefault-lib-seed_src_jitter.o",
- "providers/implementations/rands/libdefault-lib-test_rng.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/rands/seeding" => {
- "deps" => [
- "providers/implementations/rands/seeding/libdefault-lib-rand_cpu_x86.o",
- "providers/implementations/rands/seeding/libdefault-lib-rand_tsc.o",
- "providers/implementations/rands/seeding/libdefault-lib-rand_unix.o",
- "providers/implementations/rands/seeding/libdefault-lib-rand_win.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/signature" => {
- "deps" => [
- "providers/implementations/signature/libdefault-lib-dsa_sig.o",
- "providers/implementations/signature/libdefault-lib-ecdsa_sig.o",
- "providers/implementations/signature/libdefault-lib-eddsa_sig.o",
- "providers/implementations/signature/libdefault-lib-mac_legacy_sig.o",
- "providers/implementations/signature/libdefault-lib-ml_dsa_sig.o",
- "providers/implementations/signature/libdefault-lib-rsa_sig.o",
- "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/skeymgmt" => {
- "deps" => [
- "providers/implementations/skeymgmt/libdefault-lib-aes_skmgmt.o",
- "providers/implementations/skeymgmt/libdefault-lib-generic.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "providers/implementations/storemgmt" => {
- "deps" => [
- "providers/implementations/storemgmt/libdefault-lib-file_store.o",
- "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o"
- ],
- "products" => {
- "lib" => [
- "providers/libdefault.a"
- ]
- }
- },
- "ssl" => {
- "deps" => [
- "ssl/tls13secretstest-bin-tls13_enc.o",
- "ssl/libssl-lib-bio_ssl.o",
- "ssl/libssl-lib-d1_lib.o",
- "ssl/libssl-lib-d1_msg.o",
- "ssl/libssl-lib-d1_srtp.o",
- "ssl/libssl-lib-methods.o",
- "ssl/libssl-lib-pqueue.o",
- "ssl/libssl-lib-priority_queue.o",
- "ssl/libssl-lib-s3_enc.o",
- "ssl/libssl-lib-s3_lib.o",
- "ssl/libssl-lib-s3_msg.o",
- "ssl/libssl-lib-ssl_asn1.o",
- "ssl/libssl-lib-ssl_cert.o",
- "ssl/libssl-lib-ssl_cert_comp.o",
- "ssl/libssl-lib-ssl_ciph.o",
- "ssl/libssl-lib-ssl_conf.o",
- "ssl/libssl-lib-ssl_err_legacy.o",
- "ssl/libssl-lib-ssl_init.o",
- "ssl/libssl-lib-ssl_lib.o",
- "ssl/libssl-lib-ssl_mcnf.o",
- "ssl/libssl-lib-ssl_rsa.o",
- "ssl/libssl-lib-ssl_rsa_legacy.o",
- "ssl/libssl-lib-ssl_sess.o",
- "ssl/libssl-lib-ssl_stat.o",
- "ssl/libssl-lib-ssl_txt.o",
- "ssl/libssl-lib-ssl_utst.o",
- "ssl/libssl-lib-t1_enc.o",
- "ssl/libssl-lib-t1_lib.o",
- "ssl/libssl-lib-t1_trce.o",
- "ssl/libssl-lib-tls13_enc.o",
- "ssl/libssl-lib-tls_depr.o",
- "ssl/libssl-lib-tls_srp.o",
- "ssl/libssl-shlib-bio_ssl.o",
- "ssl/libssl-shlib-d1_lib.o",
- "ssl/libssl-shlib-d1_msg.o",
- "ssl/libssl-shlib-d1_srtp.o",
- "ssl/libssl-shlib-methods.o",
- "ssl/libssl-shlib-pqueue.o",
- "ssl/libssl-shlib-priority_queue.o",
- "ssl/libssl-shlib-s3_enc.o",
- "ssl/libssl-shlib-s3_lib.o",
- "ssl/libssl-shlib-s3_msg.o",
- "ssl/libssl-shlib-ssl_asn1.o",
- "ssl/libssl-shlib-ssl_cert.o",
- "ssl/libssl-shlib-ssl_cert_comp.o",
- "ssl/libssl-shlib-ssl_ciph.o",
- "ssl/libssl-shlib-ssl_conf.o",
- "ssl/libssl-shlib-ssl_err_legacy.o",
- "ssl/libssl-shlib-ssl_init.o",
- "ssl/libssl-shlib-ssl_lib.o",
- "ssl/libssl-shlib-ssl_mcnf.o",
- "ssl/libssl-shlib-ssl_rsa.o",
- "ssl/libssl-shlib-ssl_rsa_legacy.o",
- "ssl/libssl-shlib-ssl_sess.o",
- "ssl/libssl-shlib-ssl_stat.o",
- "ssl/libssl-shlib-ssl_txt.o",
- "ssl/libssl-shlib-ssl_utst.o",
- "ssl/libssl-shlib-t1_enc.o",
- "ssl/libssl-shlib-t1_lib.o",
- "ssl/libssl-shlib-t1_trce.o",
- "ssl/libssl-shlib-tls13_enc.o",
- "ssl/libssl-shlib-tls_depr.o",
- "ssl/libssl-shlib-tls_srp.o"
- ],
- "products" => {
- "bin" => [
- "test/tls13secretstest"
- ],
- "lib" => [
- "libssl"
- ]
- }
- },
- "ssl/quic" => {
- "deps" => [
- "ssl/quic/libssl-lib-cc_newreno.o",
- "ssl/quic/libssl-lib-json_enc.o",
- "ssl/quic/libssl-lib-qlog.o",
- "ssl/quic/libssl-lib-qlog_event_helpers.o",
- "ssl/quic/libssl-lib-quic_ackm.o",
- "ssl/quic/libssl-lib-quic_cfq.o",
- "ssl/quic/libssl-lib-quic_channel.o",
- "ssl/quic/libssl-lib-quic_demux.o",
- "ssl/quic/libssl-lib-quic_engine.o",
- "ssl/quic/libssl-lib-quic_fc.o",
- "ssl/quic/libssl-lib-quic_fifd.o",
- "ssl/quic/libssl-lib-quic_impl.o",
- "ssl/quic/libssl-lib-quic_lcidm.o",
- "ssl/quic/libssl-lib-quic_method.o",
- "ssl/quic/libssl-lib-quic_obj.o",
- "ssl/quic/libssl-lib-quic_port.o",
- "ssl/quic/libssl-lib-quic_rcidm.o",
- "ssl/quic/libssl-lib-quic_reactor.o",
- "ssl/quic/libssl-lib-quic_reactor_wait_ctx.o",
- "ssl/quic/libssl-lib-quic_record_rx.o",
- "ssl/quic/libssl-lib-quic_record_shared.o",
- "ssl/quic/libssl-lib-quic_record_tx.o",
- "ssl/quic/libssl-lib-quic_record_util.o",
- "ssl/quic/libssl-lib-quic_rstream.o",
- "ssl/quic/libssl-lib-quic_rx_depack.o",
- "ssl/quic/libssl-lib-quic_sf_list.o",
- "ssl/quic/libssl-lib-quic_srt_gen.o",
- "ssl/quic/libssl-lib-quic_srtm.o",
- "ssl/quic/libssl-lib-quic_sstream.o",
- "ssl/quic/libssl-lib-quic_statm.o",
- "ssl/quic/libssl-lib-quic_stream_map.o",
- "ssl/quic/libssl-lib-quic_thread_assist.o",
- "ssl/quic/libssl-lib-quic_tls.o",
- "ssl/quic/libssl-lib-quic_tls_api.o",
- "ssl/quic/libssl-lib-quic_trace.o",
- "ssl/quic/libssl-lib-quic_tserver.o",
- "ssl/quic/libssl-lib-quic_txp.o",
- "ssl/quic/libssl-lib-quic_txpim.o",
- "ssl/quic/libssl-lib-quic_types.o",
- "ssl/quic/libssl-lib-quic_wire.o",
- "ssl/quic/libssl-lib-quic_wire_pkt.o",
- "ssl/quic/libssl-lib-uint_set.o",
- "ssl/quic/libssl-shlib-cc_newreno.o",
- "ssl/quic/libssl-shlib-json_enc.o",
- "ssl/quic/libssl-shlib-qlog.o",
- "ssl/quic/libssl-shlib-qlog_event_helpers.o",
- "ssl/quic/libssl-shlib-quic_ackm.o",
- "ssl/quic/libssl-shlib-quic_cfq.o",
- "ssl/quic/libssl-shlib-quic_channel.o",
- "ssl/quic/libssl-shlib-quic_demux.o",
- "ssl/quic/libssl-shlib-quic_engine.o",
- "ssl/quic/libssl-shlib-quic_fc.o",
- "ssl/quic/libssl-shlib-quic_fifd.o",
- "ssl/quic/libssl-shlib-quic_impl.o",
- "ssl/quic/libssl-shlib-quic_lcidm.o",
- "ssl/quic/libssl-shlib-quic_method.o",
- "ssl/quic/libssl-shlib-quic_obj.o",
- "ssl/quic/libssl-shlib-quic_port.o",
- "ssl/quic/libssl-shlib-quic_rcidm.o",
- "ssl/quic/libssl-shlib-quic_reactor.o",
- "ssl/quic/libssl-shlib-quic_reactor_wait_ctx.o",
- "ssl/quic/libssl-shlib-quic_record_rx.o",
- "ssl/quic/libssl-shlib-quic_record_shared.o",
- "ssl/quic/libssl-shlib-quic_record_tx.o",
- "ssl/quic/libssl-shlib-quic_record_util.o",
- "ssl/quic/libssl-shlib-quic_rstream.o",
- "ssl/quic/libssl-shlib-quic_rx_depack.o",
- "ssl/quic/libssl-shlib-quic_sf_list.o",
- "ssl/quic/libssl-shlib-quic_srt_gen.o",
- "ssl/quic/libssl-shlib-quic_srtm.o",
- "ssl/quic/libssl-shlib-quic_sstream.o",
- "ssl/quic/libssl-shlib-quic_statm.o",
- "ssl/quic/libssl-shlib-quic_stream_map.o",
- "ssl/quic/libssl-shlib-quic_thread_assist.o",
- "ssl/quic/libssl-shlib-quic_tls.o",
- "ssl/quic/libssl-shlib-quic_tls_api.o",
- "ssl/quic/libssl-shlib-quic_trace.o",
- "ssl/quic/libssl-shlib-quic_tserver.o",
- "ssl/quic/libssl-shlib-quic_txp.o",
- "ssl/quic/libssl-shlib-quic_txpim.o",
- "ssl/quic/libssl-shlib-quic_types.o",
- "ssl/quic/libssl-shlib-quic_wire.o",
- "ssl/quic/libssl-shlib-quic_wire_pkt.o",
- "ssl/quic/libssl-shlib-uint_set.o"
- ],
- "products" => {
- "lib" => [
- "libssl"
- ]
- }
- },
- "ssl/record" => {
- "deps" => [
- "ssl/record/libssl-lib-rec_layer_d1.o",
- "ssl/record/libssl-lib-rec_layer_s3.o",
- "ssl/record/libssl-shlib-rec_layer_d1.o",
- "ssl/record/libssl-shlib-rec_layer_s3.o"
- ],
- "products" => {
- "lib" => [
- "libssl"
- ]
- }
- },
- "ssl/record/methods" => {
- "deps" => [
- "ssl/record/methods/libssl-lib-dtls_meth.o",
- "ssl/record/methods/libssl-lib-ktls_meth.o",
- "ssl/record/methods/libssl-lib-ssl3_meth.o",
- "ssl/record/methods/libssl-lib-tls13_meth.o",
- "ssl/record/methods/libssl-lib-tls1_meth.o",
- "ssl/record/methods/libssl-lib-tls_common.o",
- "ssl/record/methods/libssl-lib-tls_multib.o",
- "ssl/record/methods/libssl-lib-tlsany_meth.o",
- "ssl/record/methods/libssl-shlib-dtls_meth.o",
- "ssl/record/methods/libssl-shlib-ktls_meth.o",
- "ssl/record/methods/libssl-shlib-ssl3_cbc.o",
- "ssl/record/methods/libssl-shlib-ssl3_meth.o",
- "ssl/record/methods/libssl-shlib-tls13_meth.o",
- "ssl/record/methods/libssl-shlib-tls1_meth.o",
- "ssl/record/methods/libssl-shlib-tls_common.o",
- "ssl/record/methods/libssl-shlib-tls_multib.o",
- "ssl/record/methods/libssl-shlib-tls_pad.o",
- "ssl/record/methods/libssl-shlib-tlsany_meth.o",
- "ssl/record/methods/libcommon-lib-tls_pad.o",
- "ssl/record/methods/libdefault-lib-ssl3_cbc.o"
- ],
- "products" => {
- "lib" => [
- "libssl",
- "providers/libcommon.a",
- "providers/libdefault.a"
- ]
- }
- },
- "ssl/rio" => {
- "deps" => [
- "ssl/rio/libssl-lib-poll_builder.o",
- "ssl/rio/libssl-lib-poll_immediate.o",
- "ssl/rio/libssl-lib-rio_notifier.o",
- "ssl/rio/libssl-shlib-poll_builder.o",
- "ssl/rio/libssl-shlib-poll_immediate.o",
- "ssl/rio/libssl-shlib-rio_notifier.o"
- ],
- "products" => {
- "lib" => [
- "libssl"
- ]
- }
- },
- "ssl/statem" => {
- "deps" => [
- "ssl/statem/libssl-lib-extensions.o",
- "ssl/statem/libssl-lib-extensions_clnt.o",
- "ssl/statem/libssl-lib-extensions_cust.o",
- "ssl/statem/libssl-lib-extensions_srvr.o",
- "ssl/statem/libssl-lib-statem.o",
- "ssl/statem/libssl-lib-statem_clnt.o",
- "ssl/statem/libssl-lib-statem_dtls.o",
- "ssl/statem/libssl-lib-statem_lib.o",
- "ssl/statem/libssl-lib-statem_srvr.o",
- "ssl/statem/libssl-shlib-extensions.o",
- "ssl/statem/libssl-shlib-extensions_clnt.o",
- "ssl/statem/libssl-shlib-extensions_cust.o",
- "ssl/statem/libssl-shlib-extensions_srvr.o",
- "ssl/statem/libssl-shlib-statem.o",
- "ssl/statem/libssl-shlib-statem_clnt.o",
- "ssl/statem/libssl-shlib-statem_dtls.o",
- "ssl/statem/libssl-shlib-statem_lib.o",
- "ssl/statem/libssl-shlib-statem_srvr.o"
- ],
- "products" => {
- "lib" => [
- "libssl"
- ]
- }
- },
- "test/helpers" => {
- "deps" => [
- "test/helpers/asynciotest-bin-ssltestlib.o",
- "test/helpers/cmp_asn_test-bin-cmp_testlib.o",
- "test/helpers/cmp_client_test-bin-cmp_testlib.o",
- "test/helpers/cmp_ctx_test-bin-cmp_testlib.o",
- "test/helpers/cmp_hdr_test-bin-cmp_testlib.o",
- "test/helpers/cmp_msg_test-bin-cmp_testlib.o",
- "test/helpers/cmp_protect_test-bin-cmp_testlib.o",
- "test/helpers/cmp_server_test-bin-cmp_testlib.o",
- "test/helpers/cmp_status_test-bin-cmp_testlib.o",
- "test/helpers/cmp_vfy_test-bin-cmp_testlib.o",
- "test/helpers/dtls_mtu_test-bin-ssltestlib.o",
- "test/helpers/dtlstest-bin-ssltestlib.o",
- "test/helpers/endecode_test-bin-predefined_dhparams.o",
- "test/helpers/fatalerrtest-bin-ssltestlib.o",
- "test/helpers/json_test-bin-noisydgrambio.o",
- "test/helpers/json_test-bin-pktsplitbio.o",
- "test/helpers/json_test-bin-quictestlib.o",
- "test/helpers/json_test-bin-ssltestlib.o",
- "test/helpers/pkcs12_api_test-bin-pkcs12.o",
- "test/helpers/pkcs12_format_test-bin-pkcs12.o",
- "test/helpers/quic_multistream_test-bin-noisydgrambio.o",
- "test/helpers/quic_multistream_test-bin-pktsplitbio.o",
- "test/helpers/quic_multistream_test-bin-quictestlib.o",
- "test/helpers/quic_multistream_test-bin-ssltestlib.o",
- "test/helpers/quic_newcid_test-bin-noisydgrambio.o",
- "test/helpers/quic_newcid_test-bin-pktsplitbio.o",
- "test/helpers/quic_newcid_test-bin-quictestlib.o",
- "test/helpers/quic_newcid_test-bin-ssltestlib.o",
- "test/helpers/quic_radix_test-bin-noisydgrambio.o",
- "test/helpers/quic_radix_test-bin-pktsplitbio.o",
- "test/helpers/quic_radix_test-bin-quictestlib.o",
- "test/helpers/quic_radix_test-bin-ssltestlib.o",
- "test/helpers/quic_srt_gen_test-bin-noisydgrambio.o",
- "test/helpers/quic_srt_gen_test-bin-pktsplitbio.o",
- "test/helpers/quic_srt_gen_test-bin-quictestlib.o",
- "test/helpers/quic_srt_gen_test-bin-ssltestlib.o",
- "test/helpers/quicapitest-bin-noisydgrambio.o",
- "test/helpers/quicapitest-bin-pktsplitbio.o",
- "test/helpers/quicapitest-bin-quictestlib.o",
- "test/helpers/quicapitest-bin-ssltestlib.o",
- "test/helpers/quicfaultstest-bin-noisydgrambio.o",
- "test/helpers/quicfaultstest-bin-pktsplitbio.o",
- "test/helpers/quicfaultstest-bin-quictestlib.o",
- "test/helpers/quicfaultstest-bin-ssltestlib.o",
- "test/helpers/recordlentest-bin-ssltestlib.o",
- "test/helpers/rpktest-bin-ssltestlib.o",
- "test/helpers/servername_test-bin-ssltestlib.o",
- "test/helpers/ssl_handshake_rtt_test-bin-ssltestlib.o",
- "test/helpers/ssl_old_test-bin-predefined_dhparams.o",
- "test/helpers/ssl_test-bin-handshake.o",
- "test/helpers/ssl_test-bin-handshake_srp.o",
- "test/helpers/ssl_test-bin-ssl_test_ctx.o",
- "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o",
- "test/helpers/sslapitest-bin-ssltestlib.o",
- "test/helpers/sslbuffertest-bin-ssltestlib.o",
- "test/helpers/sslcorrupttest-bin-ssltestlib.o",
- "test/helpers/tls13ccstest-bin-ssltestlib.o",
- "test/helpers/tls13groupselection_test-bin-ssltestlib.o"
- ],
- "products" => {
- "bin" => [
- "test/asynciotest",
- "test/cmp_asn_test",
- "test/cmp_client_test",
- "test/cmp_ctx_test",
- "test/cmp_hdr_test",
- "test/cmp_msg_test",
- "test/cmp_protect_test",
- "test/cmp_server_test",
- "test/cmp_status_test",
- "test/cmp_vfy_test",
- "test/dtls_mtu_test",
- "test/dtlstest",
- "test/endecode_test",
- "test/fatalerrtest",
- "test/json_test",
- "test/pkcs12_api_test",
- "test/pkcs12_format_test",
- "test/quic_multistream_test",
- "test/quic_newcid_test",
- "test/quic_radix_test",
- "test/quic_srt_gen_test",
- "test/quicapitest",
- "test/quicfaultstest",
- "test/recordlentest",
- "test/rpktest",
- "test/servername_test",
- "test/ssl_handshake_rtt_test",
- "test/ssl_old_test",
- "test/ssl_test",
- "test/ssl_test_ctx_test",
- "test/sslapitest",
- "test/sslbuffertest",
- "test/sslcorrupttest",
- "test/tls13ccstest",
- "test/tls13groupselection_test"
- ]
- }
- },
- "test/radix" => {
- "deps" => [
- "test/radix/quic_radix_test-bin-quic_radix.o"
- ],
- "products" => {
- "bin" => [
- "test/quic_radix_test"
- ]
- }
- },
- "test/testutil" => {
- "deps" => [
- "test/testutil/libtestutil-lib-apps_shims.o",
- "test/testutil/libtestutil-lib-basic_output.o",
- "test/testutil/libtestutil-lib-cb.o",
- "test/testutil/libtestutil-lib-compare.o",
- "test/testutil/libtestutil-lib-driver.o",
- "test/testutil/libtestutil-lib-fake_random.o",
- "test/testutil/libtestutil-lib-format_output.o",
- "test/testutil/libtestutil-lib-helper.o",
- "test/testutil/libtestutil-lib-load.o",
- "test/testutil/libtestutil-lib-main.o",
- "test/testutil/libtestutil-lib-options.o",
- "test/testutil/libtestutil-lib-output.o",
- "test/testutil/libtestutil-lib-provider.o",
- "test/testutil/libtestutil-lib-random.o",
- "test/testutil/libtestutil-lib-stanza.o",
- "test/testutil/libtestutil-lib-test_cleanup.o",
- "test/testutil/libtestutil-lib-test_options.o",
- "test/testutil/libtestutil-lib-tests.o",
- "test/testutil/libtestutil-lib-testutil_init.o"
- ],
- "products" => {
- "lib" => [
- "test/libtestutil.a"
- ]
- }
- },
- "tools" => {
- "products" => {
- "script" => [
- "tools/c_rehash"
- ]
- }
- },
- "util" => {
- "products" => {
- "script" => [
- "util/shlib_wrap.sh",
- "util/wrap.pl"
- ]
- }
- }
- },
- "generate" => {
- "OpenSSLConfig.cmake" => [
- "exporters/cmake/OpenSSLConfig.cmake.in"
- ],
- "OpenSSLConfigVersion.cmake" => [
- "exporters/cmake/OpenSSLConfigVersion.cmake.in"
- ],
- "apps/progs.c" => [
- "apps/progs.pl",
- "\"-C\"",
- "\$(APPS_OPENSSL)"
- ],
- "apps/progs.h" => [
- "apps/progs.pl",
- "\"-H\"",
- "\$(APPS_OPENSSL)"
- ],
- "builddata.pm" => [
- "util/mkinstallvars.pl",
- "PREFIX=.",
- "BINDIR=apps",
- "APPLINKDIR=ms",
- "LIBDIR=",
- "INCLUDEDIR=include",
- "\"INCLUDEDIR=\$(SRCDIR)/include\"",
- "ENGINESDIR=engines",
- "MODULESDIR=providers",
- "\"VERSION=\$(VERSION)\"",
- "\"LDLIBS=\$(LIB_EX_LIBS)\""
- ],
- "crypto/aes/aes-586.S" => [
- "crypto/aes/asm/aes-586.pl"
- ],
- "crypto/aes/aes-armv4.S" => [
- "crypto/aes/asm/aes-armv4.pl"
- ],
- "crypto/aes/aes-c64xplus.S" => [
- "crypto/aes/asm/aes-c64xplus.pl"
- ],
- "crypto/aes/aes-ia64.s" => [
- "crypto/aes/asm/aes-ia64.S"
- ],
- "crypto/aes/aes-mips.S" => [
- "crypto/aes/asm/aes-mips.pl"
- ],
- "crypto/aes/aes-parisc.s" => [
- "crypto/aes/asm/aes-parisc.pl"
- ],
- "crypto/aes/aes-ppc.s" => [
- "crypto/aes/asm/aes-ppc.pl"
- ],
- "crypto/aes/aes-riscv32-zkn.s" => [
- "crypto/aes/asm/aes-riscv32-zkn.pl"
- ],
- "crypto/aes/aes-riscv64-zkn.s" => [
- "crypto/aes/asm/aes-riscv64-zkn.pl"
- ],
- "crypto/aes/aes-riscv64-zvbb-zvkg-zvkned.s" => [
- "crypto/aes/asm/aes-riscv64-zvbb-zvkg-zvkned.pl"
- ],
- "crypto/aes/aes-riscv64-zvkb-zvkned.s" => [
- "crypto/aes/asm/aes-riscv64-zvkb-zvkned.pl"
- ],
- "crypto/aes/aes-riscv64-zvkned.s" => [
- "crypto/aes/asm/aes-riscv64-zvkned.pl"
- ],
- "crypto/aes/aes-riscv64.s" => [
- "crypto/aes/asm/aes-riscv64.pl"
- ],
- "crypto/aes/aes-s390x.S" => [
- "crypto/aes/asm/aes-s390x.pl"
- ],
- "crypto/aes/aes-sparcv9.S" => [
- "crypto/aes/asm/aes-sparcv9.pl"
- ],
- "crypto/aes/aes-x86_64.s" => [
- "crypto/aes/asm/aes-x86_64.pl"
- ],
- "crypto/aes/aesfx-sparcv9.S" => [
- "crypto/aes/asm/aesfx-sparcv9.pl"
- ],
- "crypto/aes/aesni-mb-x86_64.s" => [
- "crypto/aes/asm/aesni-mb-x86_64.pl"
- ],
- "crypto/aes/aesni-sha1-x86_64.s" => [
- "crypto/aes/asm/aesni-sha1-x86_64.pl"
- ],
- "crypto/aes/aesni-sha256-x86_64.s" => [
- "crypto/aes/asm/aesni-sha256-x86_64.pl"
- ],
- "crypto/aes/aesni-x86.S" => [
- "crypto/aes/asm/aesni-x86.pl"
- ],
- "crypto/aes/aesni-x86_64.s" => [
- "crypto/aes/asm/aesni-x86_64.pl"
- ],
- "crypto/aes/aesni-xts-avx512.s" => [
- "crypto/aes/asm/aesni-xts-avx512.pl"
- ],
- "crypto/aes/aesp8-ppc.s" => [
- "crypto/aes/asm/aesp8-ppc.pl"
- ],
- "crypto/aes/aest4-sparcv9.S" => [
- "crypto/aes/asm/aest4-sparcv9.pl"
- ],
- "crypto/aes/aesv8-armx.S" => [
- "crypto/aes/asm/aesv8-armx.pl"
- ],
- "crypto/aes/bsaes-armv7.S" => [
- "crypto/aes/asm/bsaes-armv7.pl"
- ],
- "crypto/aes/bsaes-armv8.S" => [
- "crypto/aes/asm/bsaes-armv8.pl"
- ],
- "crypto/aes/bsaes-x86_64.s" => [
- "crypto/aes/asm/bsaes-x86_64.pl"
- ],
- "crypto/aes/vpaes-armv8.S" => [
- "crypto/aes/asm/vpaes-armv8.pl"
- ],
- "crypto/aes/vpaes-loongarch64.S" => [
- "crypto/aes/asm/vpaes-loongarch64.pl"
- ],
- "crypto/aes/vpaes-ppc.s" => [
- "crypto/aes/asm/vpaes-ppc.pl"
- ],
- "crypto/aes/vpaes-x86.S" => [
- "crypto/aes/asm/vpaes-x86.pl"
- ],
- "crypto/aes/vpaes-x86_64.s" => [
- "crypto/aes/asm/vpaes-x86_64.pl"
- ],
- "crypto/alphacpuid.s" => [
- "crypto/alphacpuid.pl"
- ],
- "crypto/arm64cpuid.S" => [
- "crypto/arm64cpuid.pl"
- ],
- "crypto/armv4cpuid.S" => [
- "crypto/armv4cpuid.pl"
- ],
- "crypto/bf/bf-586.S" => [
- "crypto/bf/asm/bf-586.pl"
- ],
- "crypto/bn/alpha-mont.S" => [
- "crypto/bn/asm/alpha-mont.pl"
- ],
- "crypto/bn/armv4-gf2m.S" => [
- "crypto/bn/asm/armv4-gf2m.pl"
- ],
- "crypto/bn/armv4-mont.S" => [
- "crypto/bn/asm/armv4-mont.pl"
- ],
- "crypto/bn/armv8-mont.S" => [
- "crypto/bn/asm/armv8-mont.pl"
- ],
- "crypto/bn/bn-586.S" => [
- "crypto/bn/asm/bn-586.pl"
- ],
- "crypto/bn/bn-ia64.s" => [
- "crypto/bn/asm/ia64.S"
- ],
- "crypto/bn/bn-mips.S" => [
- "crypto/bn/asm/mips.pl"
- ],
- "crypto/bn/bn-ppc.s" => [
- "crypto/bn/asm/ppc.pl"
- ],
- "crypto/bn/co-586.S" => [
- "crypto/bn/asm/co-586.pl"
- ],
- "crypto/bn/ia64-mont.s" => [
- "crypto/bn/asm/ia64-mont.pl"
- ],
- "crypto/bn/mips-mont.S" => [
- "crypto/bn/asm/mips-mont.pl"
- ],
- "crypto/bn/parisc-mont.s" => [
- "crypto/bn/asm/parisc-mont.pl"
- ],
- "crypto/bn/ppc-mont.s" => [
- "crypto/bn/asm/ppc-mont.pl"
- ],
- "crypto/bn/ppc64-mont-fixed.s" => [
- "crypto/bn/asm/ppc64-mont-fixed.pl"
- ],
- "crypto/bn/ppc64-mont.s" => [
- "crypto/bn/asm/ppc64-mont.pl"
- ],
- "crypto/bn/rsaz-2k-avx512.s" => [
- "crypto/bn/asm/rsaz-2k-avx512.pl"
- ],
- "crypto/bn/rsaz-2k-avxifma.s" => [
- "crypto/bn/asm/rsaz-2k-avxifma.pl"
- ],
- "crypto/bn/rsaz-3k-avx512.s" => [
- "crypto/bn/asm/rsaz-3k-avx512.pl"
- ],
- "crypto/bn/rsaz-3k-avxifma.s" => [
- "crypto/bn/asm/rsaz-3k-avxifma.pl"
- ],
- "crypto/bn/rsaz-4k-avx512.s" => [
- "crypto/bn/asm/rsaz-4k-avx512.pl"
- ],
- "crypto/bn/rsaz-4k-avxifma.s" => [
- "crypto/bn/asm/rsaz-4k-avxifma.pl"
- ],
- "crypto/bn/rsaz-avx2.s" => [
- "crypto/bn/asm/rsaz-avx2.pl"
- ],
- "crypto/bn/rsaz-x86_64.s" => [
- "crypto/bn/asm/rsaz-x86_64.pl"
- ],
- "crypto/bn/s390x-gf2m.s" => [
- "crypto/bn/asm/s390x-gf2m.pl"
- ],
- "crypto/bn/s390x-mont.S" => [
- "crypto/bn/asm/s390x-mont.pl"
- ],
- "crypto/bn/sparct4-mont.S" => [
- "crypto/bn/asm/sparct4-mont.pl"
- ],
- "crypto/bn/sparcv9-gf2m.S" => [
- "crypto/bn/asm/sparcv9-gf2m.pl"
- ],
- "crypto/bn/sparcv9-mont.S" => [
- "crypto/bn/asm/sparcv9-mont.pl"
- ],
- "crypto/bn/sparcv9a-mont.S" => [
- "crypto/bn/asm/sparcv9a-mont.pl"
- ],
- "crypto/bn/vis3-mont.S" => [
- "crypto/bn/asm/vis3-mont.pl"
- ],
- "crypto/bn/x86-gf2m.S" => [
- "crypto/bn/asm/x86-gf2m.pl"
- ],
- "crypto/bn/x86-mont.S" => [
- "crypto/bn/asm/x86-mont.pl"
- ],
- "crypto/bn/x86_64-gf2m.s" => [
- "crypto/bn/asm/x86_64-gf2m.pl"
- ],
- "crypto/bn/x86_64-mont.s" => [
- "crypto/bn/asm/x86_64-mont.pl"
- ],
- "crypto/bn/x86_64-mont5.s" => [
- "crypto/bn/asm/x86_64-mont5.pl"
- ],
- "crypto/buildinf.h" => [
- "util/mkbuildinf.pl",
- "\"\$(CC)",
- "\$(LIB_CFLAGS)",
- "\$(CPPFLAGS_Q)\"",
- "\"\$(PLATFORM)\""
- ],
- "crypto/camellia/cmll-x86.S" => [
- "crypto/camellia/asm/cmll-x86.pl"
- ],
- "crypto/camellia/cmll-x86_64.s" => [
- "crypto/camellia/asm/cmll-x86_64.pl"
- ],
- "crypto/camellia/cmllt4-sparcv9.S" => [
- "crypto/camellia/asm/cmllt4-sparcv9.pl"
- ],
- "crypto/cast/cast-586.S" => [
- "crypto/cast/asm/cast-586.pl"
- ],
- "crypto/chacha/chacha-armv4.S" => [
- "crypto/chacha/asm/chacha-armv4.pl"
- ],
- "crypto/chacha/chacha-armv8-sve.S" => [
- "crypto/chacha/asm/chacha-armv8-sve.pl"
- ],
- "crypto/chacha/chacha-armv8.S" => [
- "crypto/chacha/asm/chacha-armv8.pl"
- ],
- "crypto/chacha/chacha-c64xplus.S" => [
- "crypto/chacha/asm/chacha-c64xplus.pl"
- ],
- "crypto/chacha/chacha-ia64.S" => [
- "crypto/chacha/asm/chacha-ia64.pl"
- ],
- "crypto/chacha/chacha-ia64.s" => [
- "crypto/chacha/chacha-ia64.S"
- ],
- "crypto/chacha/chacha-loongarch64.S" => [
- "crypto/chacha/asm/chacha-loongarch64.pl"
- ],
- "crypto/chacha/chacha-ppc.s" => [
- "crypto/chacha/asm/chacha-ppc.pl"
- ],
- "crypto/chacha/chacha-riscv64-v-zbb-zvkb.s" => [
- "crypto/chacha/asm/chacha-riscv64-v-zbb.pl",
- "zvkb"
- ],
- "crypto/chacha/chacha-riscv64-v-zbb.s" => [
- "crypto/chacha/asm/chacha-riscv64-v-zbb.pl"
- ],
- "crypto/chacha/chacha-s390x.S" => [
- "crypto/chacha/asm/chacha-s390x.pl"
- ],
- "crypto/chacha/chacha-x86.S" => [
- "crypto/chacha/asm/chacha-x86.pl"
- ],
- "crypto/chacha/chacha-x86_64.s" => [
- "crypto/chacha/asm/chacha-x86_64.pl"
- ],
- "crypto/chacha/chachap10-ppc.s" => [
- "crypto/chacha/asm/chachap10-ppc.pl"
- ],
- "crypto/des/crypt586.S" => [
- "crypto/des/asm/crypt586.pl"
- ],
- "crypto/des/des-586.S" => [
- "crypto/des/asm/des-586.pl"
- ],
- "crypto/des/des_enc-sparc.S" => [
- "crypto/des/asm/des_enc.m4"
- ],
- "crypto/des/dest4-sparcv9.S" => [
- "crypto/des/asm/dest4-sparcv9.pl"
- ],
- "crypto/ec/ecp_nistp384-ppc64.s" => [
- "crypto/ec/asm/ecp_nistp384-ppc64.pl"
- ],
- "crypto/ec/ecp_nistp521-ppc64.s" => [
- "crypto/ec/asm/ecp_nistp521-ppc64.pl"
- ],
- "crypto/ec/ecp_nistz256-armv4.S" => [
- "crypto/ec/asm/ecp_nistz256-armv4.pl"
- ],
- "crypto/ec/ecp_nistz256-armv8.S" => [
- "crypto/ec/asm/ecp_nistz256-armv8.pl"
- ],
- "crypto/ec/ecp_nistz256-avx2.s" => [
- "crypto/ec/asm/ecp_nistz256-avx2.pl"
- ],
- "crypto/ec/ecp_nistz256-ppc64.s" => [
- "crypto/ec/asm/ecp_nistz256-ppc64.pl"
- ],
- "crypto/ec/ecp_nistz256-sparcv9.S" => [
- "crypto/ec/asm/ecp_nistz256-sparcv9.pl"
- ],
- "crypto/ec/ecp_nistz256-x86.S" => [
- "crypto/ec/asm/ecp_nistz256-x86.pl"
- ],
- "crypto/ec/ecp_nistz256-x86_64.s" => [
- "crypto/ec/asm/ecp_nistz256-x86_64.pl"
- ],
- "crypto/ec/x25519-ppc64.s" => [
- "crypto/ec/asm/x25519-ppc64.pl"
- ],
- "crypto/ec/x25519-x86_64.s" => [
- "crypto/ec/asm/x25519-x86_64.pl"
- ],
- "crypto/ia64cpuid.s" => [
- "crypto/ia64cpuid.S"
- ],
- "crypto/loongarch64cpuid.s" => [
- "crypto/loongarch64cpuid.pl"
- ],
- "crypto/md5/md5-586.S" => [
- "crypto/md5/asm/md5-586.pl"
- ],
- "crypto/md5/md5-aarch64.S" => [
- "crypto/md5/asm/md5-aarch64.pl"
- ],
- "crypto/md5/md5-loongarch64.S" => [
- "crypto/md5/asm/md5-loongarch64.pl"
- ],
- "crypto/md5/md5-sparcv9.S" => [
- "crypto/md5/asm/md5-sparcv9.pl"
- ],
- "crypto/md5/md5-x86_64.s" => [
- "crypto/md5/asm/md5-x86_64.pl"
- ],
- "crypto/modes/aes-gcm-armv8-unroll8_64.S" => [
- "crypto/modes/asm/aes-gcm-armv8-unroll8_64.pl"
- ],
- "crypto/modes/aes-gcm-armv8_64.S" => [
- "crypto/modes/asm/aes-gcm-armv8_64.pl"
- ],
- "crypto/modes/aes-gcm-avx512.s" => [
- "crypto/modes/asm/aes-gcm-avx512.pl"
- ],
- "crypto/modes/aes-gcm-ppc.s" => [
- "crypto/modes/asm/aes-gcm-ppc.pl"
- ],
- "crypto/modes/aes-gcm-riscv64-zvkb-zvkg-zvkned.s" => [
- "crypto/modes/asm/aes-gcm-riscv64-zvkb-zvkg-zvkned.pl"
- ],
- "crypto/modes/aesni-gcm-x86_64.s" => [
- "crypto/modes/asm/aesni-gcm-x86_64.pl"
- ],
- "crypto/modes/ghash-alpha.S" => [
- "crypto/modes/asm/ghash-alpha.pl"
- ],
- "crypto/modes/ghash-armv4.S" => [
- "crypto/modes/asm/ghash-armv4.pl"
- ],
- "crypto/modes/ghash-c64xplus.S" => [
- "crypto/modes/asm/ghash-c64xplus.pl"
- ],
- "crypto/modes/ghash-ia64.s" => [
- "crypto/modes/asm/ghash-ia64.pl"
- ],
- "crypto/modes/ghash-parisc.s" => [
- "crypto/modes/asm/ghash-parisc.pl"
- ],
- "crypto/modes/ghash-riscv64-zvkb-zvbc.s" => [
- "crypto/modes/asm/ghash-riscv64-zvkb-zvbc.pl"
- ],
- "crypto/modes/ghash-riscv64-zvkg.s" => [
- "crypto/modes/asm/ghash-riscv64-zvkg.pl"
- ],
- "crypto/modes/ghash-riscv64.s" => [
- "crypto/modes/asm/ghash-riscv64.pl"
- ],
- "crypto/modes/ghash-s390x.S" => [
- "crypto/modes/asm/ghash-s390x.pl"
- ],
- "crypto/modes/ghash-sparcv9.S" => [
- "crypto/modes/asm/ghash-sparcv9.pl"
- ],
- "crypto/modes/ghash-x86.S" => [
- "crypto/modes/asm/ghash-x86.pl"
- ],
- "crypto/modes/ghash-x86_64.s" => [
- "crypto/modes/asm/ghash-x86_64.pl"
- ],
- "crypto/modes/ghashp8-ppc.s" => [
- "crypto/modes/asm/ghashp8-ppc.pl"
- ],
- "crypto/modes/ghashv8-armx.S" => [
- "crypto/modes/asm/ghashv8-armx.pl"
- ],
- "crypto/params_idx.c" => [
- "crypto/params_idx.c.in"
- ],
- "crypto/pariscid.s" => [
- "crypto/pariscid.pl"
- ],
- "crypto/poly1305/poly1305-armv4.S" => [
- "crypto/poly1305/asm/poly1305-armv4.pl"
- ],
- "crypto/poly1305/poly1305-armv8.S" => [
- "crypto/poly1305/asm/poly1305-armv8.pl"
- ],
- "crypto/poly1305/poly1305-c64xplus.S" => [
- "crypto/poly1305/asm/poly1305-c64xplus.pl"
- ],
- "crypto/poly1305/poly1305-ia64.s" => [
- "crypto/poly1305/asm/poly1305-ia64.S"
- ],
- "crypto/poly1305/poly1305-mips.S" => [
- "crypto/poly1305/asm/poly1305-mips.pl"
- ],
- "crypto/poly1305/poly1305-ppc.s" => [
- "crypto/poly1305/asm/poly1305-ppc.pl"
- ],
- "crypto/poly1305/poly1305-ppcfp.s" => [
- "crypto/poly1305/asm/poly1305-ppcfp.pl"
- ],
- "crypto/poly1305/poly1305-s390x.S" => [
- "crypto/poly1305/asm/poly1305-s390x.pl"
- ],
- "crypto/poly1305/poly1305-sparcv9.S" => [
- "crypto/poly1305/asm/poly1305-sparcv9.pl"
- ],
- "crypto/poly1305/poly1305-x86.S" => [
- "crypto/poly1305/asm/poly1305-x86.pl"
- ],
- "crypto/poly1305/poly1305-x86_64.s" => [
- "crypto/poly1305/asm/poly1305-x86_64.pl"
- ],
- "crypto/ppccpuid.s" => [
- "crypto/ppccpuid.pl"
- ],
- "crypto/rc4/rc4-586.S" => [
- "crypto/rc4/asm/rc4-586.pl"
- ],
- "crypto/rc4/rc4-c64xplus.s" => [
- "crypto/rc4/asm/rc4-c64xplus.pl"
- ],
- "crypto/rc4/rc4-md5-x86_64.s" => [
- "crypto/rc4/asm/rc4-md5-x86_64.pl"
- ],
- "crypto/rc4/rc4-parisc.s" => [
- "crypto/rc4/asm/rc4-parisc.pl"
- ],
- "crypto/rc4/rc4-s390x.s" => [
- "crypto/rc4/asm/rc4-s390x.pl"
- ],
- "crypto/rc4/rc4-x86_64.s" => [
- "crypto/rc4/asm/rc4-x86_64.pl"
- ],
- "crypto/ripemd/rmd-586.S" => [
- "crypto/ripemd/asm/rmd-586.pl"
- ],
- "crypto/riscv32cpuid.s" => [
- "crypto/riscv32cpuid.pl"
- ],
- "crypto/riscv64cpuid.s" => [
- "crypto/riscv64cpuid.pl"
- ],
- "crypto/s390xcpuid.S" => [
- "crypto/s390xcpuid.pl"
- ],
- "crypto/sha/keccak1600-armv4.S" => [
- "crypto/sha/asm/keccak1600-armv4.pl"
- ],
- "crypto/sha/keccak1600-armv8.S" => [
- "crypto/sha/asm/keccak1600-armv8.pl"
- ],
- "crypto/sha/keccak1600-avx2.S" => [
- "crypto/sha/asm/keccak1600-avx2.pl"
- ],
- "crypto/sha/keccak1600-avx512.S" => [
- "crypto/sha/asm/keccak1600-avx512.pl"
- ],
- "crypto/sha/keccak1600-avx512vl.S" => [
- "crypto/sha/asm/keccak1600-avx512vl.pl"
- ],
- "crypto/sha/keccak1600-c64x.S" => [
- "crypto/sha/asm/keccak1600-c64x.pl"
- ],
- "crypto/sha/keccak1600-mmx.S" => [
- "crypto/sha/asm/keccak1600-mmx.pl"
- ],
- "crypto/sha/keccak1600-ppc64.s" => [
- "crypto/sha/asm/keccak1600-ppc64.pl"
- ],
- "crypto/sha/keccak1600-s390x.S" => [
- "crypto/sha/asm/keccak1600-s390x.pl"
- ],
- "crypto/sha/keccak1600-x86_64.s" => [
- "crypto/sha/asm/keccak1600-x86_64.pl"
- ],
- "crypto/sha/keccak1600p8-ppc.S" => [
- "crypto/sha/asm/keccak1600p8-ppc.pl"
- ],
- "crypto/sha/sha1-586.S" => [
- "crypto/sha/asm/sha1-586.pl"
- ],
- "crypto/sha/sha1-alpha.S" => [
- "crypto/sha/asm/sha1-alpha.pl"
- ],
- "crypto/sha/sha1-armv4-large.S" => [
- "crypto/sha/asm/sha1-armv4-large.pl"
- ],
- "crypto/sha/sha1-armv8.S" => [
- "crypto/sha/asm/sha1-armv8.pl"
- ],
- "crypto/sha/sha1-c64xplus.S" => [
- "crypto/sha/asm/sha1-c64xplus.pl"
- ],
- "crypto/sha/sha1-ia64.s" => [
- "crypto/sha/asm/sha1-ia64.pl"
- ],
- "crypto/sha/sha1-mb-x86_64.s" => [
- "crypto/sha/asm/sha1-mb-x86_64.pl"
- ],
- "crypto/sha/sha1-mips.S" => [
- "crypto/sha/asm/sha1-mips.pl"
- ],
- "crypto/sha/sha1-parisc.s" => [
- "crypto/sha/asm/sha1-parisc.pl"
- ],
- "crypto/sha/sha1-ppc.s" => [
- "crypto/sha/asm/sha1-ppc.pl"
- ],
- "crypto/sha/sha1-s390x.S" => [
- "crypto/sha/asm/sha1-s390x.pl"
- ],
- "crypto/sha/sha1-sparcv9.S" => [
- "crypto/sha/asm/sha1-sparcv9.pl"
- ],
- "crypto/sha/sha1-sparcv9a.S" => [
- "crypto/sha/asm/sha1-sparcv9a.pl"
- ],
- "crypto/sha/sha1-thumb.S" => [
- "crypto/sha/asm/sha1-thumb.pl"
- ],
- "crypto/sha/sha1-x86_64.s" => [
- "crypto/sha/asm/sha1-x86_64.pl"
- ],
- "crypto/sha/sha256-586.S" => [
- "crypto/sha/asm/sha256-586.pl"
- ],
- "crypto/sha/sha256-armv4.S" => [
- "crypto/sha/asm/sha256-armv4.pl"
- ],
- "crypto/sha/sha256-armv8.S" => [
- "crypto/sha/asm/sha512-armv8.pl"
- ],
- "crypto/sha/sha256-c64xplus.S" => [
- "crypto/sha/asm/sha256-c64xplus.pl"
- ],
- "crypto/sha/sha256-ia64.s" => [
- "crypto/sha/asm/sha512-ia64.pl"
- ],
- "crypto/sha/sha256-mb-x86_64.s" => [
- "crypto/sha/asm/sha256-mb-x86_64.pl"
- ],
- "crypto/sha/sha256-mips.S" => [
- "crypto/sha/asm/sha512-mips.pl"
- ],
- "crypto/sha/sha256-parisc.s" => [
- "crypto/sha/asm/sha512-parisc.pl"
- ],
- "crypto/sha/sha256-ppc.s" => [
- "crypto/sha/asm/sha512-ppc.pl"
- ],
- "crypto/sha/sha256-riscv64-zvkb-zvknha_or_zvknhb.S" => [
- "crypto/sha/asm/sha256-riscv64-zvkb-zvknha_or_zvknhb.pl"
- ],
- "crypto/sha/sha256-s390x.S" => [
- "crypto/sha/asm/sha512-s390x.pl"
- ],
- "crypto/sha/sha256-sparcv9.S" => [
- "crypto/sha/asm/sha512-sparcv9.pl"
- ],
- "crypto/sha/sha256-x86_64.s" => [
- "crypto/sha/asm/sha512-x86_64.pl"
- ],
- "crypto/sha/sha256p8-ppc.s" => [
- "crypto/sha/asm/sha512p8-ppc.pl"
- ],
- "crypto/sha/sha512-586.S" => [
- "crypto/sha/asm/sha512-586.pl"
- ],
- "crypto/sha/sha512-armv4.S" => [
- "crypto/sha/asm/sha512-armv4.pl"
- ],
- "crypto/sha/sha512-armv8.S" => [
- "crypto/sha/asm/sha512-armv8.pl"
- ],
- "crypto/sha/sha512-c64xplus.S" => [
- "crypto/sha/asm/sha512-c64xplus.pl"
- ],
- "crypto/sha/sha512-ia64.s" => [
- "crypto/sha/asm/sha512-ia64.pl"
- ],
- "crypto/sha/sha512-mips.S" => [
- "crypto/sha/asm/sha512-mips.pl"
- ],
- "crypto/sha/sha512-parisc.s" => [
- "crypto/sha/asm/sha512-parisc.pl"
- ],
- "crypto/sha/sha512-ppc.s" => [
- "crypto/sha/asm/sha512-ppc.pl"
- ],
- "crypto/sha/sha512-riscv64-zvkb-zvknhb.S" => [
- "crypto/sha/asm/sha512-riscv64-zvkb-zvknhb.pl"
- ],
- "crypto/sha/sha512-s390x.S" => [
- "crypto/sha/asm/sha512-s390x.pl"
- ],
- "crypto/sha/sha512-sparcv9.S" => [
- "crypto/sha/asm/sha512-sparcv9.pl"
- ],
- "crypto/sha/sha512-x86_64.s" => [
- "crypto/sha/asm/sha512-x86_64.pl"
- ],
- "crypto/sha/sha512p8-ppc.s" => [
- "crypto/sha/asm/sha512p8-ppc.pl"
- ],
- "crypto/uplink-ia64.s" => [
- "ms/uplink-ia64.pl"
- ],
- "crypto/uplink-x86.S" => [
- "ms/uplink-x86.pl"
- ],
- "crypto/uplink-x86_64.s" => [
- "ms/uplink-x86_64.pl"
- ],
- "crypto/whrlpool/wp-mmx.S" => [
- "crypto/whrlpool/asm/wp-mmx.pl"
- ],
- "crypto/whrlpool/wp-x86_64.s" => [
- "crypto/whrlpool/asm/wp-x86_64.pl"
- ],
- "crypto/x86_64cpuid.s" => [
- "crypto/x86_64cpuid.pl"
- ],
- "crypto/x86cpuid.S" => [
- "crypto/x86cpuid.pl"
- ],
- "doc/html/man1/CA.pl.html" => [
- "doc/man1/CA.pl.pod"
- ],
- "doc/html/man1/openssl-asn1parse.html" => [
- "doc/man1/openssl-asn1parse.pod"
- ],
- "doc/html/man1/openssl-ca.html" => [
- "doc/man1/openssl-ca.pod"
- ],
- "doc/html/man1/openssl-ciphers.html" => [
- "doc/man1/openssl-ciphers.pod"
- ],
- "doc/html/man1/openssl-cmds.html" => [
- "doc/man1/openssl-cmds.pod"
- ],
- "doc/html/man1/openssl-cmp.html" => [
- "doc/man1/openssl-cmp.pod"
- ],
- "doc/html/man1/openssl-cms.html" => [
- "doc/man1/openssl-cms.pod"
- ],
- "doc/html/man1/openssl-crl.html" => [
- "doc/man1/openssl-crl.pod"
- ],
- "doc/html/man1/openssl-crl2pkcs7.html" => [
- "doc/man1/openssl-crl2pkcs7.pod"
- ],
- "doc/html/man1/openssl-dgst.html" => [
- "doc/man1/openssl-dgst.pod"
- ],
- "doc/html/man1/openssl-dhparam.html" => [
- "doc/man1/openssl-dhparam.pod"
- ],
- "doc/html/man1/openssl-dsa.html" => [
- "doc/man1/openssl-dsa.pod"
- ],
- "doc/html/man1/openssl-dsaparam.html" => [
- "doc/man1/openssl-dsaparam.pod"
- ],
- "doc/html/man1/openssl-ec.html" => [
- "doc/man1/openssl-ec.pod"
- ],
- "doc/html/man1/openssl-ecparam.html" => [
- "doc/man1/openssl-ecparam.pod"
- ],
- "doc/html/man1/openssl-enc.html" => [
- "doc/man1/openssl-enc.pod"
- ],
- "doc/html/man1/openssl-engine.html" => [
- "doc/man1/openssl-engine.pod"
- ],
- "doc/html/man1/openssl-errstr.html" => [
- "doc/man1/openssl-errstr.pod"
- ],
- "doc/html/man1/openssl-fipsinstall.html" => [
- "doc/man1/openssl-fipsinstall.pod"
- ],
- "doc/html/man1/openssl-format-options.html" => [
- "doc/man1/openssl-format-options.pod"
- ],
- "doc/html/man1/openssl-gendsa.html" => [
- "doc/man1/openssl-gendsa.pod"
- ],
- "doc/html/man1/openssl-genpkey.html" => [
- "doc/man1/openssl-genpkey.pod"
- ],
- "doc/html/man1/openssl-genrsa.html" => [
- "doc/man1/openssl-genrsa.pod"
- ],
- "doc/html/man1/openssl-info.html" => [
- "doc/man1/openssl-info.pod"
- ],
- "doc/html/man1/openssl-kdf.html" => [
- "doc/man1/openssl-kdf.pod"
- ],
- "doc/html/man1/openssl-list.html" => [
- "doc/man1/openssl-list.pod"
- ],
- "doc/html/man1/openssl-mac.html" => [
- "doc/man1/openssl-mac.pod"
- ],
- "doc/html/man1/openssl-namedisplay-options.html" => [
- "doc/man1/openssl-namedisplay-options.pod"
- ],
- "doc/html/man1/openssl-nseq.html" => [
- "doc/man1/openssl-nseq.pod"
- ],
- "doc/html/man1/openssl-ocsp.html" => [
- "doc/man1/openssl-ocsp.pod"
- ],
- "doc/html/man1/openssl-passphrase-options.html" => [
- "doc/man1/openssl-passphrase-options.pod"
- ],
- "doc/html/man1/openssl-passwd.html" => [
- "doc/man1/openssl-passwd.pod"
- ],
- "doc/html/man1/openssl-pkcs12.html" => [
- "doc/man1/openssl-pkcs12.pod"
- ],
- "doc/html/man1/openssl-pkcs7.html" => [
- "doc/man1/openssl-pkcs7.pod"
- ],
- "doc/html/man1/openssl-pkcs8.html" => [
- "doc/man1/openssl-pkcs8.pod"
- ],
- "doc/html/man1/openssl-pkey.html" => [
- "doc/man1/openssl-pkey.pod"
- ],
- "doc/html/man1/openssl-pkeyparam.html" => [
- "doc/man1/openssl-pkeyparam.pod"
- ],
- "doc/html/man1/openssl-pkeyutl.html" => [
- "doc/man1/openssl-pkeyutl.pod"
- ],
- "doc/html/man1/openssl-prime.html" => [
- "doc/man1/openssl-prime.pod"
- ],
- "doc/html/man1/openssl-rand.html" => [
- "doc/man1/openssl-rand.pod"
- ],
- "doc/html/man1/openssl-rehash.html" => [
- "doc/man1/openssl-rehash.pod"
- ],
- "doc/html/man1/openssl-req.html" => [
- "doc/man1/openssl-req.pod"
- ],
- "doc/html/man1/openssl-rsa.html" => [
- "doc/man1/openssl-rsa.pod"
- ],
- "doc/html/man1/openssl-rsautl.html" => [
- "doc/man1/openssl-rsautl.pod"
- ],
- "doc/html/man1/openssl-s_client.html" => [
- "doc/man1/openssl-s_client.pod"
- ],
- "doc/html/man1/openssl-s_server.html" => [
- "doc/man1/openssl-s_server.pod"
- ],
- "doc/html/man1/openssl-s_time.html" => [
- "doc/man1/openssl-s_time.pod"
- ],
- "doc/html/man1/openssl-sess_id.html" => [
- "doc/man1/openssl-sess_id.pod"
- ],
- "doc/html/man1/openssl-skeyutl.html" => [
- "doc/man1/openssl-skeyutl.pod"
- ],
- "doc/html/man1/openssl-smime.html" => [
- "doc/man1/openssl-smime.pod"
- ],
- "doc/html/man1/openssl-speed.html" => [
- "doc/man1/openssl-speed.pod"
- ],
- "doc/html/man1/openssl-spkac.html" => [
- "doc/man1/openssl-spkac.pod"
- ],
- "doc/html/man1/openssl-srp.html" => [
- "doc/man1/openssl-srp.pod"
- ],
- "doc/html/man1/openssl-storeutl.html" => [
- "doc/man1/openssl-storeutl.pod"
- ],
- "doc/html/man1/openssl-ts.html" => [
- "doc/man1/openssl-ts.pod"
- ],
- "doc/html/man1/openssl-verification-options.html" => [
- "doc/man1/openssl-verification-options.pod"
- ],
- "doc/html/man1/openssl-verify.html" => [
- "doc/man1/openssl-verify.pod"
- ],
- "doc/html/man1/openssl-version.html" => [
- "doc/man1/openssl-version.pod"
- ],
- "doc/html/man1/openssl-x509.html" => [
- "doc/man1/openssl-x509.pod"
- ],
- "doc/html/man1/openssl.html" => [
- "doc/man1/openssl.pod"
- ],
- "doc/html/man1/tsget.html" => [
- "doc/man1/tsget.pod"
- ],
- "doc/html/man3/ADMISSIONS.html" => [
- "doc/man3/ADMISSIONS.pod"
- ],
- "doc/html/man3/ASN1_EXTERN_FUNCS.html" => [
- "doc/man3/ASN1_EXTERN_FUNCS.pod"
- ],
- "doc/html/man3/ASN1_INTEGER_get_int64.html" => [
- "doc/man3/ASN1_INTEGER_get_int64.pod"
- ],
- "doc/html/man3/ASN1_INTEGER_new.html" => [
- "doc/man3/ASN1_INTEGER_new.pod"
- ],
- "doc/html/man3/ASN1_ITEM_lookup.html" => [
- "doc/man3/ASN1_ITEM_lookup.pod"
- ],
- "doc/html/man3/ASN1_OBJECT_new.html" => [
- "doc/man3/ASN1_OBJECT_new.pod"
- ],
- "doc/html/man3/ASN1_STRING_TABLE_add.html" => [
- "doc/man3/ASN1_STRING_TABLE_add.pod"
- ],
- "doc/html/man3/ASN1_STRING_length.html" => [
- "doc/man3/ASN1_STRING_length.pod"
- ],
- "doc/html/man3/ASN1_STRING_new.html" => [
- "doc/man3/ASN1_STRING_new.pod"
- ],
- "doc/html/man3/ASN1_STRING_print_ex.html" => [
- "doc/man3/ASN1_STRING_print_ex.pod"
- ],
- "doc/html/man3/ASN1_TIME_set.html" => [
- "doc/man3/ASN1_TIME_set.pod"
- ],
- "doc/html/man3/ASN1_TYPE_get.html" => [
- "doc/man3/ASN1_TYPE_get.pod"
- ],
- "doc/html/man3/ASN1_aux_cb.html" => [
- "doc/man3/ASN1_aux_cb.pod"
- ],
- "doc/html/man3/ASN1_generate_nconf.html" => [
- "doc/man3/ASN1_generate_nconf.pod"
- ],
- "doc/html/man3/ASN1_item_d2i_bio.html" => [
- "doc/man3/ASN1_item_d2i_bio.pod"
- ],
- "doc/html/man3/ASN1_item_new.html" => [
- "doc/man3/ASN1_item_new.pod"
- ],
- "doc/html/man3/ASN1_item_sign.html" => [
- "doc/man3/ASN1_item_sign.pod"
- ],
- "doc/html/man3/ASYNC_WAIT_CTX_new.html" => [
- "doc/man3/ASYNC_WAIT_CTX_new.pod"
- ],
- "doc/html/man3/ASYNC_start_job.html" => [
- "doc/man3/ASYNC_start_job.pod"
- ],
- "doc/html/man3/BF_encrypt.html" => [
- "doc/man3/BF_encrypt.pod"
- ],
- "doc/html/man3/BIO_ADDR.html" => [
- "doc/man3/BIO_ADDR.pod"
- ],
- "doc/html/man3/BIO_ADDRINFO.html" => [
- "doc/man3/BIO_ADDRINFO.pod"
- ],
- "doc/html/man3/BIO_connect.html" => [
- "doc/man3/BIO_connect.pod"
- ],
- "doc/html/man3/BIO_ctrl.html" => [
- "doc/man3/BIO_ctrl.pod"
- ],
- "doc/html/man3/BIO_f_base64.html" => [
- "doc/man3/BIO_f_base64.pod"
- ],
- "doc/html/man3/BIO_f_buffer.html" => [
- "doc/man3/BIO_f_buffer.pod"
- ],
- "doc/html/man3/BIO_f_cipher.html" => [
- "doc/man3/BIO_f_cipher.pod"
- ],
- "doc/html/man3/BIO_f_md.html" => [
- "doc/man3/BIO_f_md.pod"
- ],
- "doc/html/man3/BIO_f_null.html" => [
- "doc/man3/BIO_f_null.pod"
- ],
- "doc/html/man3/BIO_f_prefix.html" => [
- "doc/man3/BIO_f_prefix.pod"
- ],
- "doc/html/man3/BIO_f_readbuffer.html" => [
- "doc/man3/BIO_f_readbuffer.pod"
- ],
- "doc/html/man3/BIO_f_ssl.html" => [
- "doc/man3/BIO_f_ssl.pod"
- ],
- "doc/html/man3/BIO_find_type.html" => [
- "doc/man3/BIO_find_type.pod"
- ],
- "doc/html/man3/BIO_get_data.html" => [
- "doc/man3/BIO_get_data.pod"
- ],
- "doc/html/man3/BIO_get_ex_new_index.html" => [
- "doc/man3/BIO_get_ex_new_index.pod"
- ],
- "doc/html/man3/BIO_get_rpoll_descriptor.html" => [
- "doc/man3/BIO_get_rpoll_descriptor.pod"
- ],
- "doc/html/man3/BIO_meth_new.html" => [
- "doc/man3/BIO_meth_new.pod"
- ],
- "doc/html/man3/BIO_new.html" => [
- "doc/man3/BIO_new.pod"
- ],
- "doc/html/man3/BIO_new_CMS.html" => [
- "doc/man3/BIO_new_CMS.pod"
- ],
- "doc/html/man3/BIO_parse_hostserv.html" => [
- "doc/man3/BIO_parse_hostserv.pod"
- ],
- "doc/html/man3/BIO_printf.html" => [
- "doc/man3/BIO_printf.pod"
- ],
- "doc/html/man3/BIO_push.html" => [
- "doc/man3/BIO_push.pod"
- ],
- "doc/html/man3/BIO_read.html" => [
- "doc/man3/BIO_read.pod"
- ],
- "doc/html/man3/BIO_s_accept.html" => [
- "doc/man3/BIO_s_accept.pod"
- ],
- "doc/html/man3/BIO_s_bio.html" => [
- "doc/man3/BIO_s_bio.pod"
- ],
- "doc/html/man3/BIO_s_connect.html" => [
- "doc/man3/BIO_s_connect.pod"
- ],
- "doc/html/man3/BIO_s_core.html" => [
- "doc/man3/BIO_s_core.pod"
- ],
- "doc/html/man3/BIO_s_datagram.html" => [
- "doc/man3/BIO_s_datagram.pod"
- ],
- "doc/html/man3/BIO_s_dgram_pair.html" => [
- "doc/man3/BIO_s_dgram_pair.pod"
- ],
- "doc/html/man3/BIO_s_fd.html" => [
- "doc/man3/BIO_s_fd.pod"
- ],
- "doc/html/man3/BIO_s_file.html" => [
- "doc/man3/BIO_s_file.pod"
- ],
- "doc/html/man3/BIO_s_mem.html" => [
- "doc/man3/BIO_s_mem.pod"
- ],
- "doc/html/man3/BIO_s_null.html" => [
- "doc/man3/BIO_s_null.pod"
- ],
- "doc/html/man3/BIO_s_socket.html" => [
- "doc/man3/BIO_s_socket.pod"
- ],
- "doc/html/man3/BIO_sendmmsg.html" => [
- "doc/man3/BIO_sendmmsg.pod"
- ],
- "doc/html/man3/BIO_set_callback.html" => [
- "doc/man3/BIO_set_callback.pod"
- ],
- "doc/html/man3/BIO_should_retry.html" => [
- "doc/man3/BIO_should_retry.pod"
- ],
- "doc/html/man3/BIO_socket_wait.html" => [
- "doc/man3/BIO_socket_wait.pod"
- ],
- "doc/html/man3/BN_BLINDING_new.html" => [
- "doc/man3/BN_BLINDING_new.pod"
- ],
- "doc/html/man3/BN_CTX_new.html" => [
- "doc/man3/BN_CTX_new.pod"
- ],
- "doc/html/man3/BN_CTX_start.html" => [
- "doc/man3/BN_CTX_start.pod"
- ],
- "doc/html/man3/BN_add.html" => [
- "doc/man3/BN_add.pod"
- ],
- "doc/html/man3/BN_add_word.html" => [
- "doc/man3/BN_add_word.pod"
- ],
- "doc/html/man3/BN_bn2bin.html" => [
- "doc/man3/BN_bn2bin.pod"
- ],
- "doc/html/man3/BN_cmp.html" => [
- "doc/man3/BN_cmp.pod"
- ],
- "doc/html/man3/BN_copy.html" => [
- "doc/man3/BN_copy.pod"
- ],
- "doc/html/man3/BN_generate_prime.html" => [
- "doc/man3/BN_generate_prime.pod"
- ],
- "doc/html/man3/BN_mod_exp_mont.html" => [
- "doc/man3/BN_mod_exp_mont.pod"
- ],
- "doc/html/man3/BN_mod_inverse.html" => [
- "doc/man3/BN_mod_inverse.pod"
- ],
- "doc/html/man3/BN_mod_mul_montgomery.html" => [
- "doc/man3/BN_mod_mul_montgomery.pod"
- ],
- "doc/html/man3/BN_mod_mul_reciprocal.html" => [
- "doc/man3/BN_mod_mul_reciprocal.pod"
- ],
- "doc/html/man3/BN_new.html" => [
- "doc/man3/BN_new.pod"
- ],
- "doc/html/man3/BN_num_bytes.html" => [
- "doc/man3/BN_num_bytes.pod"
- ],
- "doc/html/man3/BN_rand.html" => [
- "doc/man3/BN_rand.pod"
- ],
- "doc/html/man3/BN_security_bits.html" => [
- "doc/man3/BN_security_bits.pod"
- ],
- "doc/html/man3/BN_set_bit.html" => [
- "doc/man3/BN_set_bit.pod"
- ],
- "doc/html/man3/BN_swap.html" => [
- "doc/man3/BN_swap.pod"
- ],
- "doc/html/man3/BN_zero.html" => [
- "doc/man3/BN_zero.pod"
- ],
- "doc/html/man3/BUF_MEM_new.html" => [
- "doc/man3/BUF_MEM_new.pod"
- ],
- "doc/html/man3/CMAC_CTX.html" => [
- "doc/man3/CMAC_CTX.pod"
- ],
- "doc/html/man3/CMS_EncryptedData_decrypt.html" => [
- "doc/man3/CMS_EncryptedData_decrypt.pod"
- ],
- "doc/html/man3/CMS_EncryptedData_encrypt.html" => [
- "doc/man3/CMS_EncryptedData_encrypt.pod"
- ],
- "doc/html/man3/CMS_EnvelopedData_create.html" => [
- "doc/man3/CMS_EnvelopedData_create.pod"
- ],
- "doc/html/man3/CMS_add0_cert.html" => [
- "doc/man3/CMS_add0_cert.pod"
- ],
- "doc/html/man3/CMS_add1_recipient_cert.html" => [
- "doc/man3/CMS_add1_recipient_cert.pod"
- ],
- "doc/html/man3/CMS_add1_signer.html" => [
- "doc/man3/CMS_add1_signer.pod"
- ],
- "doc/html/man3/CMS_compress.html" => [
- "doc/man3/CMS_compress.pod"
- ],
- "doc/html/man3/CMS_data_create.html" => [
- "doc/man3/CMS_data_create.pod"
- ],
- "doc/html/man3/CMS_decrypt.html" => [
- "doc/man3/CMS_decrypt.pod"
- ],
- "doc/html/man3/CMS_digest_create.html" => [
- "doc/man3/CMS_digest_create.pod"
- ],
- "doc/html/man3/CMS_encrypt.html" => [
- "doc/man3/CMS_encrypt.pod"
- ],
- "doc/html/man3/CMS_final.html" => [
- "doc/man3/CMS_final.pod"
- ],
- "doc/html/man3/CMS_get0_RecipientInfos.html" => [
- "doc/man3/CMS_get0_RecipientInfos.pod"
- ],
- "doc/html/man3/CMS_get0_SignerInfos.html" => [
- "doc/man3/CMS_get0_SignerInfos.pod"
- ],
- "doc/html/man3/CMS_get0_type.html" => [
- "doc/man3/CMS_get0_type.pod"
- ],
- "doc/html/man3/CMS_get1_ReceiptRequest.html" => [
- "doc/man3/CMS_get1_ReceiptRequest.pod"
- ],
- "doc/html/man3/CMS_sign.html" => [
- "doc/man3/CMS_sign.pod"
- ],
- "doc/html/man3/CMS_sign_receipt.html" => [
- "doc/man3/CMS_sign_receipt.pod"
- ],
- "doc/html/man3/CMS_signed_get_attr.html" => [
- "doc/man3/CMS_signed_get_attr.pod"
- ],
- "doc/html/man3/CMS_uncompress.html" => [
- "doc/man3/CMS_uncompress.pod"
- ],
- "doc/html/man3/CMS_verify.html" => [
- "doc/man3/CMS_verify.pod"
- ],
- "doc/html/man3/CMS_verify_receipt.html" => [
- "doc/man3/CMS_verify_receipt.pod"
- ],
- "doc/html/man3/COMP_CTX_new.html" => [
- "doc/man3/COMP_CTX_new.pod"
- ],
- "doc/html/man3/CONF_modules_free.html" => [
- "doc/man3/CONF_modules_free.pod"
- ],
- "doc/html/man3/CONF_modules_load_file.html" => [
- "doc/man3/CONF_modules_load_file.pod"
- ],
- "doc/html/man3/CRYPTO_THREAD_run_once.html" => [
- "doc/man3/CRYPTO_THREAD_run_once.pod"
- ],
- "doc/html/man3/CRYPTO_get_ex_new_index.html" => [
- "doc/man3/CRYPTO_get_ex_new_index.pod"
- ],
- "doc/html/man3/CRYPTO_memcmp.html" => [
- "doc/man3/CRYPTO_memcmp.pod"
- ],
- "doc/html/man3/CTLOG_STORE_get0_log_by_id.html" => [
- "doc/man3/CTLOG_STORE_get0_log_by_id.pod"
- ],
- "doc/html/man3/CTLOG_STORE_new.html" => [
- "doc/man3/CTLOG_STORE_new.pod"
- ],
- "doc/html/man3/CTLOG_new.html" => [
- "doc/man3/CTLOG_new.pod"
- ],
- "doc/html/man3/CT_POLICY_EVAL_CTX_new.html" => [
- "doc/man3/CT_POLICY_EVAL_CTX_new.pod"
- ],
- "doc/html/man3/DEFINE_STACK_OF.html" => [
- "doc/man3/DEFINE_STACK_OF.pod"
- ],
- "doc/html/man3/DES_random_key.html" => [
- "doc/man3/DES_random_key.pod"
- ],
- "doc/html/man3/DH_generate_key.html" => [
- "doc/man3/DH_generate_key.pod"
- ],
- "doc/html/man3/DH_generate_parameters.html" => [
- "doc/man3/DH_generate_parameters.pod"
- ],
- "doc/html/man3/DH_get0_pqg.html" => [
- "doc/man3/DH_get0_pqg.pod"
- ],
- "doc/html/man3/DH_get_1024_160.html" => [
- "doc/man3/DH_get_1024_160.pod"
- ],
- "doc/html/man3/DH_meth_new.html" => [
- "doc/man3/DH_meth_new.pod"
- ],
- "doc/html/man3/DH_new.html" => [
- "doc/man3/DH_new.pod"
- ],
- "doc/html/man3/DH_new_by_nid.html" => [
- "doc/man3/DH_new_by_nid.pod"
- ],
- "doc/html/man3/DH_set_method.html" => [
- "doc/man3/DH_set_method.pod"
- ],
- "doc/html/man3/DH_size.html" => [
- "doc/man3/DH_size.pod"
- ],
- "doc/html/man3/DSA_SIG_new.html" => [
- "doc/man3/DSA_SIG_new.pod"
- ],
- "doc/html/man3/DSA_do_sign.html" => [
- "doc/man3/DSA_do_sign.pod"
- ],
- "doc/html/man3/DSA_dup_DH.html" => [
- "doc/man3/DSA_dup_DH.pod"
- ],
- "doc/html/man3/DSA_generate_key.html" => [
- "doc/man3/DSA_generate_key.pod"
- ],
- "doc/html/man3/DSA_generate_parameters.html" => [
- "doc/man3/DSA_generate_parameters.pod"
- ],
- "doc/html/man3/DSA_get0_pqg.html" => [
- "doc/man3/DSA_get0_pqg.pod"
- ],
- "doc/html/man3/DSA_meth_new.html" => [
- "doc/man3/DSA_meth_new.pod"
- ],
- "doc/html/man3/DSA_new.html" => [
- "doc/man3/DSA_new.pod"
- ],
- "doc/html/man3/DSA_set_method.html" => [
- "doc/man3/DSA_set_method.pod"
- ],
- "doc/html/man3/DSA_sign.html" => [
- "doc/man3/DSA_sign.pod"
- ],
- "doc/html/man3/DSA_size.html" => [
- "doc/man3/DSA_size.pod"
- ],
- "doc/html/man3/DTLS_get_data_mtu.html" => [
- "doc/man3/DTLS_get_data_mtu.pod"
- ],
- "doc/html/man3/DTLS_set_timer_cb.html" => [
- "doc/man3/DTLS_set_timer_cb.pod"
- ],
- "doc/html/man3/DTLSv1_get_timeout.html" => [
- "doc/man3/DTLSv1_get_timeout.pod"
- ],
- "doc/html/man3/DTLSv1_handle_timeout.html" => [
- "doc/man3/DTLSv1_handle_timeout.pod"
- ],
- "doc/html/man3/DTLSv1_listen.html" => [
- "doc/man3/DTLSv1_listen.pod"
- ],
- "doc/html/man3/ECDSA_SIG_new.html" => [
- "doc/man3/ECDSA_SIG_new.pod"
- ],
- "doc/html/man3/ECDSA_sign.html" => [
- "doc/man3/ECDSA_sign.pod"
- ],
- "doc/html/man3/ECPKParameters_print.html" => [
- "doc/man3/ECPKParameters_print.pod"
- ],
- "doc/html/man3/EC_GFp_simple_method.html" => [
- "doc/man3/EC_GFp_simple_method.pod"
- ],
- "doc/html/man3/EC_GROUP_copy.html" => [
- "doc/man3/EC_GROUP_copy.pod"
- ],
- "doc/html/man3/EC_GROUP_new.html" => [
- "doc/man3/EC_GROUP_new.pod"
- ],
- "doc/html/man3/EC_KEY_get_enc_flags.html" => [
- "doc/man3/EC_KEY_get_enc_flags.pod"
- ],
- "doc/html/man3/EC_KEY_new.html" => [
- "doc/man3/EC_KEY_new.pod"
- ],
- "doc/html/man3/EC_POINT_add.html" => [
- "doc/man3/EC_POINT_add.pod"
- ],
- "doc/html/man3/EC_POINT_new.html" => [
- "doc/man3/EC_POINT_new.pod"
- ],
- "doc/html/man3/ENGINE_add.html" => [
- "doc/man3/ENGINE_add.pod"
- ],
- "doc/html/man3/ERR_GET_LIB.html" => [
- "doc/man3/ERR_GET_LIB.pod"
- ],
- "doc/html/man3/ERR_clear_error.html" => [
- "doc/man3/ERR_clear_error.pod"
- ],
- "doc/html/man3/ERR_error_string.html" => [
- "doc/man3/ERR_error_string.pod"
- ],
- "doc/html/man3/ERR_get_error.html" => [
- "doc/man3/ERR_get_error.pod"
- ],
- "doc/html/man3/ERR_load_crypto_strings.html" => [
- "doc/man3/ERR_load_crypto_strings.pod"
- ],
- "doc/html/man3/ERR_load_strings.html" => [
- "doc/man3/ERR_load_strings.pod"
- ],
- "doc/html/man3/ERR_new.html" => [
- "doc/man3/ERR_new.pod"
- ],
- "doc/html/man3/ERR_print_errors.html" => [
- "doc/man3/ERR_print_errors.pod"
- ],
- "doc/html/man3/ERR_put_error.html" => [
- "doc/man3/ERR_put_error.pod"
- ],
- "doc/html/man3/ERR_remove_state.html" => [
- "doc/man3/ERR_remove_state.pod"
- ],
- "doc/html/man3/ERR_set_mark.html" => [
- "doc/man3/ERR_set_mark.pod"
- ],
- "doc/html/man3/EVP_ASYM_CIPHER_free.html" => [
- "doc/man3/EVP_ASYM_CIPHER_free.pod"
- ],
- "doc/html/man3/EVP_BytesToKey.html" => [
- "doc/man3/EVP_BytesToKey.pod"
- ],
- "doc/html/man3/EVP_CIPHER_CTX_get_cipher_data.html" => [
- "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod"
- ],
- "doc/html/man3/EVP_CIPHER_CTX_get_original_iv.html" => [
- "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod"
- ],
- "doc/html/man3/EVP_CIPHER_meth_new.html" => [
- "doc/man3/EVP_CIPHER_meth_new.pod"
- ],
- "doc/html/man3/EVP_DigestInit.html" => [
- "doc/man3/EVP_DigestInit.pod"
- ],
- "doc/html/man3/EVP_DigestSignInit.html" => [
- "doc/man3/EVP_DigestSignInit.pod"
- ],
- "doc/html/man3/EVP_DigestVerifyInit.html" => [
- "doc/man3/EVP_DigestVerifyInit.pod"
- ],
- "doc/html/man3/EVP_EncodeInit.html" => [
- "doc/man3/EVP_EncodeInit.pod"
- ],
- "doc/html/man3/EVP_EncryptInit.html" => [
- "doc/man3/EVP_EncryptInit.pod"
- ],
- "doc/html/man3/EVP_KDF.html" => [
- "doc/man3/EVP_KDF.pod"
- ],
- "doc/html/man3/EVP_KEM_free.html" => [
- "doc/man3/EVP_KEM_free.pod"
- ],
- "doc/html/man3/EVP_KEYEXCH_free.html" => [
- "doc/man3/EVP_KEYEXCH_free.pod"
- ],
- "doc/html/man3/EVP_KEYMGMT.html" => [
- "doc/man3/EVP_KEYMGMT.pod"
- ],
- "doc/html/man3/EVP_MAC.html" => [
- "doc/man3/EVP_MAC.pod"
- ],
- "doc/html/man3/EVP_MD_meth_new.html" => [
- "doc/man3/EVP_MD_meth_new.pod"
- ],
- "doc/html/man3/EVP_OpenInit.html" => [
- "doc/man3/EVP_OpenInit.pod"
- ],
- "doc/html/man3/EVP_PBE_CipherInit.html" => [
- "doc/man3/EVP_PBE_CipherInit.pod"
- ],
- "doc/html/man3/EVP_PKEY2PKCS8.html" => [
- "doc/man3/EVP_PKEY2PKCS8.pod"
- ],
- "doc/html/man3/EVP_PKEY_ASN1_METHOD.html" => [
- "doc/man3/EVP_PKEY_ASN1_METHOD.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_ctrl.html" => [
- "doc/man3/EVP_PKEY_CTX_ctrl.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_get0_libctx.html" => [
- "doc/man3/EVP_PKEY_CTX_get0_libctx.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_get0_pkey.html" => [
- "doc/man3/EVP_PKEY_CTX_get0_pkey.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_get_algor.html" => [
- "doc/man3/EVP_PKEY_CTX_get_algor.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_new.html" => [
- "doc/man3/EVP_PKEY_CTX_new.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html" => [
- "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_hkdf_md.html" => [
- "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_params.html" => [
- "doc/man3/EVP_PKEY_CTX_set_params.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html" => [
- "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_scrypt_N.html" => [
- "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod"
- ],
- "doc/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html" => [
- "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod"
- ],
- "doc/html/man3/EVP_PKEY_asn1_get_count.html" => [
- "doc/man3/EVP_PKEY_asn1_get_count.pod"
- ],
- "doc/html/man3/EVP_PKEY_check.html" => [
- "doc/man3/EVP_PKEY_check.pod"
- ],
- "doc/html/man3/EVP_PKEY_copy_parameters.html" => [
- "doc/man3/EVP_PKEY_copy_parameters.pod"
- ],
- "doc/html/man3/EVP_PKEY_decapsulate.html" => [
- "doc/man3/EVP_PKEY_decapsulate.pod"
- ],
- "doc/html/man3/EVP_PKEY_decrypt.html" => [
- "doc/man3/EVP_PKEY_decrypt.pod"
- ],
- "doc/html/man3/EVP_PKEY_derive.html" => [
- "doc/man3/EVP_PKEY_derive.pod"
- ],
- "doc/html/man3/EVP_PKEY_digestsign_supports_digest.html" => [
- "doc/man3/EVP_PKEY_digestsign_supports_digest.pod"
- ],
- "doc/html/man3/EVP_PKEY_encapsulate.html" => [
- "doc/man3/EVP_PKEY_encapsulate.pod"
- ],
- "doc/html/man3/EVP_PKEY_encrypt.html" => [
- "doc/man3/EVP_PKEY_encrypt.pod"
- ],
- "doc/html/man3/EVP_PKEY_fromdata.html" => [
- "doc/man3/EVP_PKEY_fromdata.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_attr.html" => [
- "doc/man3/EVP_PKEY_get_attr.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_default_digest_nid.html" => [
- "doc/man3/EVP_PKEY_get_default_digest_nid.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_field_type.html" => [
- "doc/man3/EVP_PKEY_get_field_type.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_group_name.html" => [
- "doc/man3/EVP_PKEY_get_group_name.pod"
- ],
- "doc/html/man3/EVP_PKEY_get_size.html" => [
- "doc/man3/EVP_PKEY_get_size.pod"
- ],
- "doc/html/man3/EVP_PKEY_gettable_params.html" => [
- "doc/man3/EVP_PKEY_gettable_params.pod"
- ],
- "doc/html/man3/EVP_PKEY_is_a.html" => [
- "doc/man3/EVP_PKEY_is_a.pod"
- ],
- "doc/html/man3/EVP_PKEY_keygen.html" => [
- "doc/man3/EVP_PKEY_keygen.pod"
- ],
- "doc/html/man3/EVP_PKEY_meth_get_count.html" => [
- "doc/man3/EVP_PKEY_meth_get_count.pod"
- ],
- "doc/html/man3/EVP_PKEY_meth_new.html" => [
- "doc/man3/EVP_PKEY_meth_new.pod"
- ],
- "doc/html/man3/EVP_PKEY_new.html" => [
- "doc/man3/EVP_PKEY_new.pod"
- ],
- "doc/html/man3/EVP_PKEY_print_private.html" => [
- "doc/man3/EVP_PKEY_print_private.pod"
- ],
- "doc/html/man3/EVP_PKEY_set1_RSA.html" => [
- "doc/man3/EVP_PKEY_set1_RSA.pod"
- ],
- "doc/html/man3/EVP_PKEY_set1_encoded_public_key.html" => [
- "doc/man3/EVP_PKEY_set1_encoded_public_key.pod"
- ],
- "doc/html/man3/EVP_PKEY_set_type.html" => [
- "doc/man3/EVP_PKEY_set_type.pod"
- ],
- "doc/html/man3/EVP_PKEY_settable_params.html" => [
- "doc/man3/EVP_PKEY_settable_params.pod"
- ],
- "doc/html/man3/EVP_PKEY_sign.html" => [
- "doc/man3/EVP_PKEY_sign.pod"
- ],
- "doc/html/man3/EVP_PKEY_todata.html" => [
- "doc/man3/EVP_PKEY_todata.pod"
- ],
- "doc/html/man3/EVP_PKEY_verify.html" => [
- "doc/man3/EVP_PKEY_verify.pod"
- ],
- "doc/html/man3/EVP_PKEY_verify_recover.html" => [
- "doc/man3/EVP_PKEY_verify_recover.pod"
- ],
- "doc/html/man3/EVP_RAND.html" => [
- "doc/man3/EVP_RAND.pod"
- ],
- "doc/html/man3/EVP_SIGNATURE.html" => [
- "doc/man3/EVP_SIGNATURE.pod"
- ],
- "doc/html/man3/EVP_SKEY.html" => [
- "doc/man3/EVP_SKEY.pod"
- ],
- "doc/html/man3/EVP_SKEYMGMT.html" => [
- "doc/man3/EVP_SKEYMGMT.pod"
- ],
- "doc/html/man3/EVP_SealInit.html" => [
- "doc/man3/EVP_SealInit.pod"
- ],
- "doc/html/man3/EVP_SignInit.html" => [
- "doc/man3/EVP_SignInit.pod"
- ],
- "doc/html/man3/EVP_VerifyInit.html" => [
- "doc/man3/EVP_VerifyInit.pod"
- ],
- "doc/html/man3/EVP_aes_128_gcm.html" => [
- "doc/man3/EVP_aes_128_gcm.pod"
- ],
- "doc/html/man3/EVP_aria_128_gcm.html" => [
- "doc/man3/EVP_aria_128_gcm.pod"
- ],
- "doc/html/man3/EVP_bf_cbc.html" => [
- "doc/man3/EVP_bf_cbc.pod"
- ],
- "doc/html/man3/EVP_blake2b512.html" => [
- "doc/man3/EVP_blake2b512.pod"
- ],
- "doc/html/man3/EVP_camellia_128_ecb.html" => [
- "doc/man3/EVP_camellia_128_ecb.pod"
- ],
- "doc/html/man3/EVP_cast5_cbc.html" => [
- "doc/man3/EVP_cast5_cbc.pod"
- ],
- "doc/html/man3/EVP_chacha20.html" => [
- "doc/man3/EVP_chacha20.pod"
- ],
- "doc/html/man3/EVP_des_cbc.html" => [
- "doc/man3/EVP_des_cbc.pod"
- ],
- "doc/html/man3/EVP_desx_cbc.html" => [
- "doc/man3/EVP_desx_cbc.pod"
- ],
- "doc/html/man3/EVP_idea_cbc.html" => [
- "doc/man3/EVP_idea_cbc.pod"
- ],
- "doc/html/man3/EVP_md2.html" => [
- "doc/man3/EVP_md2.pod"
- ],
- "doc/html/man3/EVP_md4.html" => [
- "doc/man3/EVP_md4.pod"
- ],
- "doc/html/man3/EVP_md5.html" => [
- "doc/man3/EVP_md5.pod"
- ],
- "doc/html/man3/EVP_mdc2.html" => [
- "doc/man3/EVP_mdc2.pod"
- ],
- "doc/html/man3/EVP_rc2_cbc.html" => [
- "doc/man3/EVP_rc2_cbc.pod"
- ],
- "doc/html/man3/EVP_rc4.html" => [
- "doc/man3/EVP_rc4.pod"
- ],
- "doc/html/man3/EVP_rc5_32_12_16_cbc.html" => [
- "doc/man3/EVP_rc5_32_12_16_cbc.pod"
- ],
- "doc/html/man3/EVP_ripemd160.html" => [
- "doc/man3/EVP_ripemd160.pod"
- ],
- "doc/html/man3/EVP_seed_cbc.html" => [
- "doc/man3/EVP_seed_cbc.pod"
- ],
- "doc/html/man3/EVP_set_default_properties.html" => [
- "doc/man3/EVP_set_default_properties.pod"
- ],
- "doc/html/man3/EVP_sha1.html" => [
- "doc/man3/EVP_sha1.pod"
- ],
- "doc/html/man3/EVP_sha224.html" => [
- "doc/man3/EVP_sha224.pod"
- ],
- "doc/html/man3/EVP_sha3_224.html" => [
- "doc/man3/EVP_sha3_224.pod"
- ],
- "doc/html/man3/EVP_sm3.html" => [
- "doc/man3/EVP_sm3.pod"
- ],
- "doc/html/man3/EVP_sm4_cbc.html" => [
- "doc/man3/EVP_sm4_cbc.pod"
- ],
- "doc/html/man3/EVP_whirlpool.html" => [
- "doc/man3/EVP_whirlpool.pod"
- ],
- "doc/html/man3/GENERAL_NAME.html" => [
- "doc/man3/GENERAL_NAME.pod"
- ],
- "doc/html/man3/HMAC.html" => [
- "doc/man3/HMAC.pod"
- ],
- "doc/html/man3/MD5.html" => [
- "doc/man3/MD5.pod"
- ],
- "doc/html/man3/MDC2_Init.html" => [
- "doc/man3/MDC2_Init.pod"
- ],
- "doc/html/man3/NCONF_new_ex.html" => [
- "doc/man3/NCONF_new_ex.pod"
- ],
- "doc/html/man3/OBJ_nid2obj.html" => [
- "doc/man3/OBJ_nid2obj.pod"
- ],
- "doc/html/man3/OCSP_REQUEST_new.html" => [
- "doc/man3/OCSP_REQUEST_new.pod"
- ],
- "doc/html/man3/OCSP_cert_to_id.html" => [
- "doc/man3/OCSP_cert_to_id.pod"
- ],
- "doc/html/man3/OCSP_request_add1_nonce.html" => [
- "doc/man3/OCSP_request_add1_nonce.pod"
- ],
- "doc/html/man3/OCSP_resp_find_status.html" => [
- "doc/man3/OCSP_resp_find_status.pod"
- ],
- "doc/html/man3/OCSP_response_status.html" => [
- "doc/man3/OCSP_response_status.pod"
- ],
- "doc/html/man3/OCSP_sendreq_new.html" => [
- "doc/man3/OCSP_sendreq_new.pod"
- ],
- "doc/html/man3/OPENSSL_Applink.html" => [
- "doc/man3/OPENSSL_Applink.pod"
- ],
- "doc/html/man3/OPENSSL_FILE.html" => [
- "doc/man3/OPENSSL_FILE.pod"
- ],
- "doc/html/man3/OPENSSL_LH_COMPFUNC.html" => [
- "doc/man3/OPENSSL_LH_COMPFUNC.pod"
- ],
- "doc/html/man3/OPENSSL_LH_stats.html" => [
- "doc/man3/OPENSSL_LH_stats.pod"
- ],
- "doc/html/man3/OPENSSL_config.html" => [
- "doc/man3/OPENSSL_config.pod"
- ],
- "doc/html/man3/OPENSSL_fork_prepare.html" => [
- "doc/man3/OPENSSL_fork_prepare.pod"
- ],
- "doc/html/man3/OPENSSL_gmtime.html" => [
- "doc/man3/OPENSSL_gmtime.pod"
- ],
- "doc/html/man3/OPENSSL_hexchar2int.html" => [
- "doc/man3/OPENSSL_hexchar2int.pod"
- ],
- "doc/html/man3/OPENSSL_ia32cap.html" => [
- "doc/man3/OPENSSL_ia32cap.pod"
- ],
- "doc/html/man3/OPENSSL_init_crypto.html" => [
- "doc/man3/OPENSSL_init_crypto.pod"
- ],
- "doc/html/man3/OPENSSL_init_ssl.html" => [
- "doc/man3/OPENSSL_init_ssl.pod"
- ],
- "doc/html/man3/OPENSSL_instrument_bus.html" => [
- "doc/man3/OPENSSL_instrument_bus.pod"
- ],
- "doc/html/man3/OPENSSL_load_builtin_modules.html" => [
- "doc/man3/OPENSSL_load_builtin_modules.pod"
- ],
- "doc/html/man3/OPENSSL_load_u16_le.html" => [
- "doc/man3/OPENSSL_load_u16_le.pod"
- ],
- "doc/html/man3/OPENSSL_malloc.html" => [
- "doc/man3/OPENSSL_malloc.pod"
- ],
- "doc/html/man3/OPENSSL_riscvcap.html" => [
- "doc/man3/OPENSSL_riscvcap.pod"
- ],
- "doc/html/man3/OPENSSL_s390xcap.html" => [
- "doc/man3/OPENSSL_s390xcap.pod"
- ],
- "doc/html/man3/OPENSSL_secure_malloc.html" => [
- "doc/man3/OPENSSL_secure_malloc.pod"
- ],
- "doc/html/man3/OPENSSL_strcasecmp.html" => [
- "doc/man3/OPENSSL_strcasecmp.pod"
- ],
- "doc/html/man3/OSSL_ALGORITHM.html" => [
- "doc/man3/OSSL_ALGORITHM.pod"
- ],
- "doc/html/man3/OSSL_CALLBACK.html" => [
- "doc/man3/OSSL_CALLBACK.pod"
- ],
- "doc/html/man3/OSSL_CMP_ATAV_set0.html" => [
- "doc/man3/OSSL_CMP_ATAV_set0.pod"
- ],
- "doc/html/man3/OSSL_CMP_CTX_new.html" => [
- "doc/man3/OSSL_CMP_CTX_new.pod"
- ],
- "doc/html/man3/OSSL_CMP_HDR_get0_transactionID.html" => [
- "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod"
- ],
- "doc/html/man3/OSSL_CMP_ITAV_new_caCerts.html" => [
- "doc/man3/OSSL_CMP_ITAV_new_caCerts.pod"
- ],
- "doc/html/man3/OSSL_CMP_ITAV_set0.html" => [
- "doc/man3/OSSL_CMP_ITAV_set0.pod"
- ],
- "doc/html/man3/OSSL_CMP_MSG_get0_header.html" => [
- "doc/man3/OSSL_CMP_MSG_get0_header.pod"
- ],
- "doc/html/man3/OSSL_CMP_MSG_http_perform.html" => [
- "doc/man3/OSSL_CMP_MSG_http_perform.pod"
- ],
- "doc/html/man3/OSSL_CMP_SRV_CTX_new.html" => [
- "doc/man3/OSSL_CMP_SRV_CTX_new.pod"
- ],
- "doc/html/man3/OSSL_CMP_STATUSINFO_new.html" => [
- "doc/man3/OSSL_CMP_STATUSINFO_new.pod"
- ],
- "doc/html/man3/OSSL_CMP_exec_certreq.html" => [
- "doc/man3/OSSL_CMP_exec_certreq.pod"
- ],
- "doc/html/man3/OSSL_CMP_log_open.html" => [
- "doc/man3/OSSL_CMP_log_open.pod"
- ],
- "doc/html/man3/OSSL_CMP_validate_msg.html" => [
- "doc/man3/OSSL_CMP_validate_msg.pod"
- ],
- "doc/html/man3/OSSL_CORE_MAKE_FUNC.html" => [
- "doc/man3/OSSL_CORE_MAKE_FUNC.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_get0_tmpl.html" => [
- "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_set0_validity.html" => [
- "doc/man3/OSSL_CRMF_MSG_set0_validity.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.html" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod"
- ],
- "doc/html/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.html" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod"
- ],
- "doc/html/man3/OSSL_CRMF_pbmp_new.html" => [
- "doc/man3/OSSL_CRMF_pbmp_new.pod"
- ],
- "doc/html/man3/OSSL_DECODER.html" => [
- "doc/man3/OSSL_DECODER.pod"
- ],
- "doc/html/man3/OSSL_DECODER_CTX.html" => [
- "doc/man3/OSSL_DECODER_CTX.pod"
- ],
- "doc/html/man3/OSSL_DECODER_CTX_new_for_pkey.html" => [
- "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod"
- ],
- "doc/html/man3/OSSL_DECODER_from_bio.html" => [
- "doc/man3/OSSL_DECODER_from_bio.pod"
- ],
- "doc/html/man3/OSSL_DISPATCH.html" => [
- "doc/man3/OSSL_DISPATCH.pod"
- ],
- "doc/html/man3/OSSL_ENCODER.html" => [
- "doc/man3/OSSL_ENCODER.pod"
- ],
- "doc/html/man3/OSSL_ENCODER_CTX.html" => [
- "doc/man3/OSSL_ENCODER_CTX.pod"
- ],
- "doc/html/man3/OSSL_ENCODER_CTX_new_for_pkey.html" => [
- "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod"
- ],
- "doc/html/man3/OSSL_ENCODER_to_bio.html" => [
- "doc/man3/OSSL_ENCODER_to_bio.pod"
- ],
- "doc/html/man3/OSSL_ERR_STATE_save.html" => [
- "doc/man3/OSSL_ERR_STATE_save.pod"
- ],
- "doc/html/man3/OSSL_ESS_check_signing_certs.html" => [
- "doc/man3/OSSL_ESS_check_signing_certs.pod"
- ],
- "doc/html/man3/OSSL_GENERAL_NAMES_print.html" => [
- "doc/man3/OSSL_GENERAL_NAMES_print.pod"
- ],
- "doc/html/man3/OSSL_HPKE_CTX_new.html" => [
- "doc/man3/OSSL_HPKE_CTX_new.pod"
- ],
- "doc/html/man3/OSSL_HTTP_REQ_CTX.html" => [
- "doc/man3/OSSL_HTTP_REQ_CTX.pod"
- ],
- "doc/html/man3/OSSL_HTTP_parse_url.html" => [
- "doc/man3/OSSL_HTTP_parse_url.pod"
- ],
- "doc/html/man3/OSSL_HTTP_transfer.html" => [
- "doc/man3/OSSL_HTTP_transfer.pod"
- ],
- "doc/html/man3/OSSL_IETF_ATTR_SYNTAX.html" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX.pod"
- ],
- "doc/html/man3/OSSL_IETF_ATTR_SYNTAX_print.html" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX_print.pod"
- ],
- "doc/html/man3/OSSL_INDICATOR_set_callback.html" => [
- "doc/man3/OSSL_INDICATOR_set_callback.pod"
- ],
- "doc/html/man3/OSSL_ITEM.html" => [
- "doc/man3/OSSL_ITEM.pod"
- ],
- "doc/html/man3/OSSL_LIB_CTX.html" => [
- "doc/man3/OSSL_LIB_CTX.pod"
- ],
- "doc/html/man3/OSSL_LIB_CTX_set_conf_diagnostics.html" => [
- "doc/man3/OSSL_LIB_CTX_set_conf_diagnostics.pod"
- ],
- "doc/html/man3/OSSL_PARAM.html" => [
- "doc/man3/OSSL_PARAM.pod"
- ],
- "doc/html/man3/OSSL_PARAM_BLD.html" => [
- "doc/man3/OSSL_PARAM_BLD.pod"
- ],
- "doc/html/man3/OSSL_PARAM_allocate_from_text.html" => [
- "doc/man3/OSSL_PARAM_allocate_from_text.pod"
- ],
- "doc/html/man3/OSSL_PARAM_dup.html" => [
- "doc/man3/OSSL_PARAM_dup.pod"
- ],
- "doc/html/man3/OSSL_PARAM_int.html" => [
- "doc/man3/OSSL_PARAM_int.pod"
- ],
- "doc/html/man3/OSSL_PARAM_print_to_bio.html" => [
- "doc/man3/OSSL_PARAM_print_to_bio.pod"
- ],
- "doc/html/man3/OSSL_PROVIDER.html" => [
- "doc/man3/OSSL_PROVIDER.pod"
- ],
- "doc/html/man3/OSSL_QUIC_client_method.html" => [
- "doc/man3/OSSL_QUIC_client_method.pod"
- ],
- "doc/html/man3/OSSL_SELF_TEST_new.html" => [
- "doc/man3/OSSL_SELF_TEST_new.pod"
- ],
- "doc/html/man3/OSSL_SELF_TEST_set_callback.html" => [
- "doc/man3/OSSL_SELF_TEST_set_callback.pod"
- ],
- "doc/html/man3/OSSL_STORE_INFO.html" => [
- "doc/man3/OSSL_STORE_INFO.pod"
- ],
- "doc/html/man3/OSSL_STORE_LOADER.html" => [
- "doc/man3/OSSL_STORE_LOADER.pod"
- ],
- "doc/html/man3/OSSL_STORE_SEARCH.html" => [
- "doc/man3/OSSL_STORE_SEARCH.pod"
- ],
- "doc/html/man3/OSSL_STORE_attach.html" => [
- "doc/man3/OSSL_STORE_attach.pod"
- ],
- "doc/html/man3/OSSL_STORE_expect.html" => [
- "doc/man3/OSSL_STORE_expect.pod"
- ],
- "doc/html/man3/OSSL_STORE_open.html" => [
- "doc/man3/OSSL_STORE_open.pod"
- ],
- "doc/html/man3/OSSL_sleep.html" => [
- "doc/man3/OSSL_sleep.pod"
- ],
- "doc/html/man3/OSSL_trace_enabled.html" => [
- "doc/man3/OSSL_trace_enabled.pod"
- ],
- "doc/html/man3/OSSL_trace_get_category_num.html" => [
- "doc/man3/OSSL_trace_get_category_num.pod"
- ],
- "doc/html/man3/OSSL_trace_set_channel.html" => [
- "doc/man3/OSSL_trace_set_channel.pod"
- ],
- "doc/html/man3/OpenSSL_add_all_algorithms.html" => [
- "doc/man3/OpenSSL_add_all_algorithms.pod"
- ],
- "doc/html/man3/OpenSSL_version.html" => [
- "doc/man3/OpenSSL_version.pod"
- ],
- "doc/html/man3/PBMAC1_get1_pbkdf2_param.html" => [
- "doc/man3/PBMAC1_get1_pbkdf2_param.pod"
- ],
- "doc/html/man3/PEM_X509_INFO_read_bio_ex.html" => [
- "doc/man3/PEM_X509_INFO_read_bio_ex.pod"
- ],
- "doc/html/man3/PEM_bytes_read_bio.html" => [
- "doc/man3/PEM_bytes_read_bio.pod"
- ],
- "doc/html/man3/PEM_read.html" => [
- "doc/man3/PEM_read.pod"
- ],
- "doc/html/man3/PEM_read_CMS.html" => [
- "doc/man3/PEM_read_CMS.pod"
- ],
- "doc/html/man3/PEM_read_bio_PrivateKey.html" => [
- "doc/man3/PEM_read_bio_PrivateKey.pod"
- ],
- "doc/html/man3/PEM_read_bio_ex.html" => [
- "doc/man3/PEM_read_bio_ex.pod"
- ],
- "doc/html/man3/PEM_write_bio_CMS_stream.html" => [
- "doc/man3/PEM_write_bio_CMS_stream.pod"
- ],
- "doc/html/man3/PEM_write_bio_PKCS7_stream.html" => [
- "doc/man3/PEM_write_bio_PKCS7_stream.pod"
- ],
- "doc/html/man3/PKCS12_PBE_keyivgen.html" => [
- "doc/man3/PKCS12_PBE_keyivgen.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_create_cert.html" => [
- "doc/man3/PKCS12_SAFEBAG_create_cert.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_get0_attrs.html" => [
- "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_get1_cert.html" => [
- "doc/man3/PKCS12_SAFEBAG_get1_cert.pod"
- ],
- "doc/html/man3/PKCS12_SAFEBAG_set0_attrs.html" => [
- "doc/man3/PKCS12_SAFEBAG_set0_attrs.pod"
- ],
- "doc/html/man3/PKCS12_add1_attr_by_NID.html" => [
- "doc/man3/PKCS12_add1_attr_by_NID.pod"
- ],
- "doc/html/man3/PKCS12_add_CSPName_asc.html" => [
- "doc/man3/PKCS12_add_CSPName_asc.pod"
- ],
- "doc/html/man3/PKCS12_add_cert.html" => [
- "doc/man3/PKCS12_add_cert.pod"
- ],
- "doc/html/man3/PKCS12_add_friendlyname_asc.html" => [
- "doc/man3/PKCS12_add_friendlyname_asc.pod"
- ],
- "doc/html/man3/PKCS12_add_localkeyid.html" => [
- "doc/man3/PKCS12_add_localkeyid.pod"
- ],
- "doc/html/man3/PKCS12_add_safe.html" => [
- "doc/man3/PKCS12_add_safe.pod"
- ],
- "doc/html/man3/PKCS12_create.html" => [
- "doc/man3/PKCS12_create.pod"
- ],
- "doc/html/man3/PKCS12_decrypt_skey.html" => [
- "doc/man3/PKCS12_decrypt_skey.pod"
- ],
- "doc/html/man3/PKCS12_gen_mac.html" => [
- "doc/man3/PKCS12_gen_mac.pod"
- ],
- "doc/html/man3/PKCS12_get_friendlyname.html" => [
- "doc/man3/PKCS12_get_friendlyname.pod"
- ],
- "doc/html/man3/PKCS12_init.html" => [
- "doc/man3/PKCS12_init.pod"
- ],
- "doc/html/man3/PKCS12_item_decrypt_d2i.html" => [
- "doc/man3/PKCS12_item_decrypt_d2i.pod"
- ],
- "doc/html/man3/PKCS12_key_gen_utf8_ex.html" => [
- "doc/man3/PKCS12_key_gen_utf8_ex.pod"
- ],
- "doc/html/man3/PKCS12_newpass.html" => [
- "doc/man3/PKCS12_newpass.pod"
- ],
- "doc/html/man3/PKCS12_pack_p7encdata.html" => [
- "doc/man3/PKCS12_pack_p7encdata.pod"
- ],
- "doc/html/man3/PKCS12_parse.html" => [
- "doc/man3/PKCS12_parse.pod"
- ],
- "doc/html/man3/PKCS5_PBE_keyivgen.html" => [
- "doc/man3/PKCS5_PBE_keyivgen.pod"
- ],
- "doc/html/man3/PKCS5_PBKDF2_HMAC.html" => [
- "doc/man3/PKCS5_PBKDF2_HMAC.pod"
- ],
- "doc/html/man3/PKCS7_decrypt.html" => [
- "doc/man3/PKCS7_decrypt.pod"
- ],
- "doc/html/man3/PKCS7_encrypt.html" => [
- "doc/man3/PKCS7_encrypt.pod"
- ],
- "doc/html/man3/PKCS7_get_octet_string.html" => [
- "doc/man3/PKCS7_get_octet_string.pod"
- ],
- "doc/html/man3/PKCS7_sign.html" => [
- "doc/man3/PKCS7_sign.pod"
- ],
- "doc/html/man3/PKCS7_sign_add_signer.html" => [
- "doc/man3/PKCS7_sign_add_signer.pod"
- ],
- "doc/html/man3/PKCS7_type_is_other.html" => [
- "doc/man3/PKCS7_type_is_other.pod"
- ],
- "doc/html/man3/PKCS7_verify.html" => [
- "doc/man3/PKCS7_verify.pod"
- ],
- "doc/html/man3/PKCS8_encrypt.html" => [
- "doc/man3/PKCS8_encrypt.pod"
- ],
- "doc/html/man3/PKCS8_pkey_add1_attr.html" => [
- "doc/man3/PKCS8_pkey_add1_attr.pod"
- ],
- "doc/html/man3/RAND_add.html" => [
- "doc/man3/RAND_add.pod"
- ],
- "doc/html/man3/RAND_bytes.html" => [
- "doc/man3/RAND_bytes.pod"
- ],
- "doc/html/man3/RAND_cleanup.html" => [
- "doc/man3/RAND_cleanup.pod"
- ],
- "doc/html/man3/RAND_egd.html" => [
- "doc/man3/RAND_egd.pod"
- ],
- "doc/html/man3/RAND_get0_primary.html" => [
- "doc/man3/RAND_get0_primary.pod"
- ],
- "doc/html/man3/RAND_load_file.html" => [
- "doc/man3/RAND_load_file.pod"
- ],
- "doc/html/man3/RAND_set_DRBG_type.html" => [
- "doc/man3/RAND_set_DRBG_type.pod"
- ],
- "doc/html/man3/RAND_set_rand_method.html" => [
- "doc/man3/RAND_set_rand_method.pod"
- ],
- "doc/html/man3/RC4_set_key.html" => [
- "doc/man3/RC4_set_key.pod"
- ],
- "doc/html/man3/RIPEMD160_Init.html" => [
- "doc/man3/RIPEMD160_Init.pod"
- ],
- "doc/html/man3/RSA_blinding_on.html" => [
- "doc/man3/RSA_blinding_on.pod"
- ],
- "doc/html/man3/RSA_check_key.html" => [
- "doc/man3/RSA_check_key.pod"
- ],
- "doc/html/man3/RSA_generate_key.html" => [
- "doc/man3/RSA_generate_key.pod"
- ],
- "doc/html/man3/RSA_get0_key.html" => [
- "doc/man3/RSA_get0_key.pod"
- ],
- "doc/html/man3/RSA_meth_new.html" => [
- "doc/man3/RSA_meth_new.pod"
- ],
- "doc/html/man3/RSA_new.html" => [
- "doc/man3/RSA_new.pod"
- ],
- "doc/html/man3/RSA_padding_add_PKCS1_type_1.html" => [
- "doc/man3/RSA_padding_add_PKCS1_type_1.pod"
- ],
- "doc/html/man3/RSA_print.html" => [
- "doc/man3/RSA_print.pod"
- ],
- "doc/html/man3/RSA_private_encrypt.html" => [
- "doc/man3/RSA_private_encrypt.pod"
- ],
- "doc/html/man3/RSA_public_encrypt.html" => [
- "doc/man3/RSA_public_encrypt.pod"
- ],
- "doc/html/man3/RSA_set_method.html" => [
- "doc/man3/RSA_set_method.pod"
- ],
- "doc/html/man3/RSA_sign.html" => [
- "doc/man3/RSA_sign.pod"
- ],
- "doc/html/man3/RSA_sign_ASN1_OCTET_STRING.html" => [
- "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod"
- ],
- "doc/html/man3/RSA_size.html" => [
- "doc/man3/RSA_size.pod"
- ],
- "doc/html/man3/SCT_new.html" => [
- "doc/man3/SCT_new.pod"
- ],
- "doc/html/man3/SCT_print.html" => [
- "doc/man3/SCT_print.pod"
- ],
- "doc/html/man3/SCT_validate.html" => [
- "doc/man3/SCT_validate.pod"
- ],
- "doc/html/man3/SHA256_Init.html" => [
- "doc/man3/SHA256_Init.pod"
- ],
- "doc/html/man3/SMIME_read_ASN1.html" => [
- "doc/man3/SMIME_read_ASN1.pod"
- ],
- "doc/html/man3/SMIME_read_CMS.html" => [
- "doc/man3/SMIME_read_CMS.pod"
- ],
- "doc/html/man3/SMIME_read_PKCS7.html" => [
- "doc/man3/SMIME_read_PKCS7.pod"
- ],
- "doc/html/man3/SMIME_write_ASN1.html" => [
- "doc/man3/SMIME_write_ASN1.pod"
- ],
- "doc/html/man3/SMIME_write_CMS.html" => [
- "doc/man3/SMIME_write_CMS.pod"
- ],
- "doc/html/man3/SMIME_write_PKCS7.html" => [
- "doc/man3/SMIME_write_PKCS7.pod"
- ],
- "doc/html/man3/SRP_Calc_B.html" => [
- "doc/man3/SRP_Calc_B.pod"
- ],
- "doc/html/man3/SRP_VBASE_new.html" => [
- "doc/man3/SRP_VBASE_new.pod"
- ],
- "doc/html/man3/SRP_create_verifier.html" => [
- "doc/man3/SRP_create_verifier.pod"
- ],
- "doc/html/man3/SRP_user_pwd_new.html" => [
- "doc/man3/SRP_user_pwd_new.pod"
- ],
- "doc/html/man3/SSL_CIPHER_get_name.html" => [
- "doc/man3/SSL_CIPHER_get_name.pod"
- ],
- "doc/html/man3/SSL_COMP_add_compression_method.html" => [
- "doc/man3/SSL_COMP_add_compression_method.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_new.html" => [
- "doc/man3/SSL_CONF_CTX_new.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_set1_prefix.html" => [
- "doc/man3/SSL_CONF_CTX_set1_prefix.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_set_flags.html" => [
- "doc/man3/SSL_CONF_CTX_set_flags.pod"
- ],
- "doc/html/man3/SSL_CONF_CTX_set_ssl_ctx.html" => [
- "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod"
- ],
- "doc/html/man3/SSL_CONF_cmd.html" => [
- "doc/man3/SSL_CONF_cmd.pod"
- ],
- "doc/html/man3/SSL_CONF_cmd_argv.html" => [
- "doc/man3/SSL_CONF_cmd_argv.pod"
- ],
- "doc/html/man3/SSL_CTX_add1_chain_cert.html" => [
- "doc/man3/SSL_CTX_add1_chain_cert.pod"
- ],
- "doc/html/man3/SSL_CTX_add_extra_chain_cert.html" => [
- "doc/man3/SSL_CTX_add_extra_chain_cert.pod"
- ],
- "doc/html/man3/SSL_CTX_add_session.html" => [
- "doc/man3/SSL_CTX_add_session.pod"
- ],
- "doc/html/man3/SSL_CTX_config.html" => [
- "doc/man3/SSL_CTX_config.pod"
- ],
- "doc/html/man3/SSL_CTX_ctrl.html" => [
- "doc/man3/SSL_CTX_ctrl.pod"
- ],
- "doc/html/man3/SSL_CTX_dane_enable.html" => [
- "doc/man3/SSL_CTX_dane_enable.pod"
- ],
- "doc/html/man3/SSL_CTX_flush_sessions.html" => [
- "doc/man3/SSL_CTX_flush_sessions.pod"
- ],
- "doc/html/man3/SSL_CTX_free.html" => [
- "doc/man3/SSL_CTX_free.pod"
- ],
- "doc/html/man3/SSL_CTX_get0_param.html" => [
- "doc/man3/SSL_CTX_get0_param.pod"
- ],
- "doc/html/man3/SSL_CTX_get_verify_mode.html" => [
- "doc/man3/SSL_CTX_get_verify_mode.pod"
- ],
- "doc/html/man3/SSL_CTX_has_client_custom_ext.html" => [
- "doc/man3/SSL_CTX_has_client_custom_ext.pod"
- ],
- "doc/html/man3/SSL_CTX_load_verify_locations.html" => [
- "doc/man3/SSL_CTX_load_verify_locations.pod"
- ],
- "doc/html/man3/SSL_CTX_new.html" => [
- "doc/man3/SSL_CTX_new.pod"
- ],
- "doc/html/man3/SSL_CTX_sess_number.html" => [
- "doc/man3/SSL_CTX_sess_number.pod"
- ],
- "doc/html/man3/SSL_CTX_sess_set_cache_size.html" => [
- "doc/man3/SSL_CTX_sess_set_cache_size.pod"
- ],
- "doc/html/man3/SSL_CTX_sess_set_get_cb.html" => [
- "doc/man3/SSL_CTX_sess_set_get_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_sessions.html" => [
- "doc/man3/SSL_CTX_sessions.pod"
- ],
- "doc/html/man3/SSL_CTX_set0_CA_list.html" => [
- "doc/man3/SSL_CTX_set0_CA_list.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_cert_comp_preference.html" => [
- "doc/man3/SSL_CTX_set1_cert_comp_preference.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_curves.html" => [
- "doc/man3/SSL_CTX_set1_curves.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_sigalgs.html" => [
- "doc/man3/SSL_CTX_set1_sigalgs.pod"
- ],
- "doc/html/man3/SSL_CTX_set1_verify_cert_store.html" => [
- "doc/man3/SSL_CTX_set1_verify_cert_store.pod"
- ],
- "doc/html/man3/SSL_CTX_set_alpn_select_cb.html" => [
- "doc/man3/SSL_CTX_set_alpn_select_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cert_cb.html" => [
- "doc/man3/SSL_CTX_set_cert_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cert_store.html" => [
- "doc/man3/SSL_CTX_set_cert_store.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cert_verify_callback.html" => [
- "doc/man3/SSL_CTX_set_cert_verify_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_cipher_list.html" => [
- "doc/man3/SSL_CTX_set_cipher_list.pod"
- ],
- "doc/html/man3/SSL_CTX_set_client_cert_cb.html" => [
- "doc/man3/SSL_CTX_set_client_cert_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_client_hello_cb.html" => [
- "doc/man3/SSL_CTX_set_client_hello_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_ct_validation_callback.html" => [
- "doc/man3/SSL_CTX_set_ct_validation_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_ctlog_list_file.html" => [
- "doc/man3/SSL_CTX_set_ctlog_list_file.pod"
- ],
- "doc/html/man3/SSL_CTX_set_default_passwd_cb.html" => [
- "doc/man3/SSL_CTX_set_default_passwd_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_domain_flags.html" => [
- "doc/man3/SSL_CTX_set_domain_flags.pod"
- ],
- "doc/html/man3/SSL_CTX_set_generate_session_id.html" => [
- "doc/man3/SSL_CTX_set_generate_session_id.pod"
- ],
- "doc/html/man3/SSL_CTX_set_info_callback.html" => [
- "doc/man3/SSL_CTX_set_info_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_keylog_callback.html" => [
- "doc/man3/SSL_CTX_set_keylog_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_max_cert_list.html" => [
- "doc/man3/SSL_CTX_set_max_cert_list.pod"
- ],
- "doc/html/man3/SSL_CTX_set_min_proto_version.html" => [
- "doc/man3/SSL_CTX_set_min_proto_version.pod"
- ],
- "doc/html/man3/SSL_CTX_set_mode.html" => [
- "doc/man3/SSL_CTX_set_mode.pod"
- ],
- "doc/html/man3/SSL_CTX_set_msg_callback.html" => [
- "doc/man3/SSL_CTX_set_msg_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_new_pending_conn_cb.html" => [
- "doc/man3/SSL_CTX_set_new_pending_conn_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_num_tickets.html" => [
- "doc/man3/SSL_CTX_set_num_tickets.pod"
- ],
- "doc/html/man3/SSL_CTX_set_options.html" => [
- "doc/man3/SSL_CTX_set_options.pod"
- ],
- "doc/html/man3/SSL_CTX_set_psk_client_callback.html" => [
- "doc/man3/SSL_CTX_set_psk_client_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_quiet_shutdown.html" => [
- "doc/man3/SSL_CTX_set_quiet_shutdown.pod"
- ],
- "doc/html/man3/SSL_CTX_set_read_ahead.html" => [
- "doc/man3/SSL_CTX_set_read_ahead.pod"
- ],
- "doc/html/man3/SSL_CTX_set_record_padding_callback.html" => [
- "doc/man3/SSL_CTX_set_record_padding_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_security_level.html" => [
- "doc/man3/SSL_CTX_set_security_level.pod"
- ],
- "doc/html/man3/SSL_CTX_set_session_cache_mode.html" => [
- "doc/man3/SSL_CTX_set_session_cache_mode.pod"
- ],
- "doc/html/man3/SSL_CTX_set_session_id_context.html" => [
- "doc/man3/SSL_CTX_set_session_id_context.pod"
- ],
- "doc/html/man3/SSL_CTX_set_session_ticket_cb.html" => [
- "doc/man3/SSL_CTX_set_session_ticket_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_split_send_fragment.html" => [
- "doc/man3/SSL_CTX_set_split_send_fragment.pod"
- ],
- "doc/html/man3/SSL_CTX_set_srp_password.html" => [
- "doc/man3/SSL_CTX_set_srp_password.pod"
- ],
- "doc/html/man3/SSL_CTX_set_ssl_version.html" => [
- "doc/man3/SSL_CTX_set_ssl_version.pod"
- ],
- "doc/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html" => [
- "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_timeout.html" => [
- "doc/man3/SSL_CTX_set_timeout.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_servername_callback.html" => [
- "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_status_cb.html" => [
- "doc/man3/SSL_CTX_set_tlsext_status_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html" => [
- "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tlsext_use_srtp.html" => [
- "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tmp_dh_callback.html" => [
- "doc/man3/SSL_CTX_set_tmp_dh_callback.pod"
- ],
- "doc/html/man3/SSL_CTX_set_tmp_ecdh.html" => [
- "doc/man3/SSL_CTX_set_tmp_ecdh.pod"
- ],
- "doc/html/man3/SSL_CTX_set_verify.html" => [
- "doc/man3/SSL_CTX_set_verify.pod"
- ],
- "doc/html/man3/SSL_CTX_use_certificate.html" => [
- "doc/man3/SSL_CTX_use_certificate.pod"
- ],
- "doc/html/man3/SSL_CTX_use_psk_identity_hint.html" => [
- "doc/man3/SSL_CTX_use_psk_identity_hint.pod"
- ],
- "doc/html/man3/SSL_CTX_use_serverinfo.html" => [
- "doc/man3/SSL_CTX_use_serverinfo.pod"
- ],
- "doc/html/man3/SSL_SESSION_free.html" => [
- "doc/man3/SSL_SESSION_free.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_cipher.html" => [
- "doc/man3/SSL_SESSION_get0_cipher.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_hostname.html" => [
- "doc/man3/SSL_SESSION_get0_hostname.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_id_context.html" => [
- "doc/man3/SSL_SESSION_get0_id_context.pod"
- ],
- "doc/html/man3/SSL_SESSION_get0_peer.html" => [
- "doc/man3/SSL_SESSION_get0_peer.pod"
- ],
- "doc/html/man3/SSL_SESSION_get_compress_id.html" => [
- "doc/man3/SSL_SESSION_get_compress_id.pod"
- ],
- "doc/html/man3/SSL_SESSION_get_protocol_version.html" => [
- "doc/man3/SSL_SESSION_get_protocol_version.pod"
- ],
- "doc/html/man3/SSL_SESSION_get_time.html" => [
- "doc/man3/SSL_SESSION_get_time.pod"
- ],
- "doc/html/man3/SSL_SESSION_has_ticket.html" => [
- "doc/man3/SSL_SESSION_has_ticket.pod"
- ],
- "doc/html/man3/SSL_SESSION_is_resumable.html" => [
- "doc/man3/SSL_SESSION_is_resumable.pod"
- ],
- "doc/html/man3/SSL_SESSION_print.html" => [
- "doc/man3/SSL_SESSION_print.pod"
- ],
- "doc/html/man3/SSL_SESSION_set1_id.html" => [
- "doc/man3/SSL_SESSION_set1_id.pod"
- ],
- "doc/html/man3/SSL_accept.html" => [
- "doc/man3/SSL_accept.pod"
- ],
- "doc/html/man3/SSL_accept_stream.html" => [
- "doc/man3/SSL_accept_stream.pod"
- ],
- "doc/html/man3/SSL_alert_type_string.html" => [
- "doc/man3/SSL_alert_type_string.pod"
- ],
- "doc/html/man3/SSL_alloc_buffers.html" => [
- "doc/man3/SSL_alloc_buffers.pod"
- ],
- "doc/html/man3/SSL_check_chain.html" => [
- "doc/man3/SSL_check_chain.pod"
- ],
- "doc/html/man3/SSL_clear.html" => [
- "doc/man3/SSL_clear.pod"
- ],
- "doc/html/man3/SSL_connect.html" => [
- "doc/man3/SSL_connect.pod"
- ],
- "doc/html/man3/SSL_do_handshake.html" => [
- "doc/man3/SSL_do_handshake.pod"
- ],
- "doc/html/man3/SSL_export_keying_material.html" => [
- "doc/man3/SSL_export_keying_material.pod"
- ],
- "doc/html/man3/SSL_extension_supported.html" => [
- "doc/man3/SSL_extension_supported.pod"
- ],
- "doc/html/man3/SSL_free.html" => [
- "doc/man3/SSL_free.pod"
- ],
- "doc/html/man3/SSL_get0_connection.html" => [
- "doc/man3/SSL_get0_connection.pod"
- ],
- "doc/html/man3/SSL_get0_group_name.html" => [
- "doc/man3/SSL_get0_group_name.pod"
- ],
- "doc/html/man3/SSL_get0_peer_rpk.html" => [
- "doc/man3/SSL_get0_peer_rpk.pod"
- ],
- "doc/html/man3/SSL_get0_peer_scts.html" => [
- "doc/man3/SSL_get0_peer_scts.pod"
- ],
- "doc/html/man3/SSL_get1_builtin_sigalgs.html" => [
- "doc/man3/SSL_get1_builtin_sigalgs.pod"
- ],
- "doc/html/man3/SSL_get_SSL_CTX.html" => [
- "doc/man3/SSL_get_SSL_CTX.pod"
- ],
- "doc/html/man3/SSL_get_all_async_fds.html" => [
- "doc/man3/SSL_get_all_async_fds.pod"
- ],
- "doc/html/man3/SSL_get_certificate.html" => [
- "doc/man3/SSL_get_certificate.pod"
- ],
- "doc/html/man3/SSL_get_ciphers.html" => [
- "doc/man3/SSL_get_ciphers.pod"
- ],
- "doc/html/man3/SSL_get_client_random.html" => [
- "doc/man3/SSL_get_client_random.pod"
- ],
- "doc/html/man3/SSL_get_conn_close_info.html" => [
- "doc/man3/SSL_get_conn_close_info.pod"
- ],
- "doc/html/man3/SSL_get_current_cipher.html" => [
- "doc/man3/SSL_get_current_cipher.pod"
- ],
- "doc/html/man3/SSL_get_default_timeout.html" => [
- "doc/man3/SSL_get_default_timeout.pod"
- ],
- "doc/html/man3/SSL_get_error.html" => [
- "doc/man3/SSL_get_error.pod"
- ],
- "doc/html/man3/SSL_get_event_timeout.html" => [
- "doc/man3/SSL_get_event_timeout.pod"
- ],
- "doc/html/man3/SSL_get_extms_support.html" => [
- "doc/man3/SSL_get_extms_support.pod"
- ],
- "doc/html/man3/SSL_get_fd.html" => [
- "doc/man3/SSL_get_fd.pod"
- ],
- "doc/html/man3/SSL_get_handshake_rtt.html" => [
- "doc/man3/SSL_get_handshake_rtt.pod"
- ],
- "doc/html/man3/SSL_get_peer_cert_chain.html" => [
- "doc/man3/SSL_get_peer_cert_chain.pod"
- ],
- "doc/html/man3/SSL_get_peer_certificate.html" => [
- "doc/man3/SSL_get_peer_certificate.pod"
- ],
- "doc/html/man3/SSL_get_peer_signature_nid.html" => [
- "doc/man3/SSL_get_peer_signature_nid.pod"
- ],
- "doc/html/man3/SSL_get_peer_tmp_key.html" => [
- "doc/man3/SSL_get_peer_tmp_key.pod"
- ],
- "doc/html/man3/SSL_get_psk_identity.html" => [
- "doc/man3/SSL_get_psk_identity.pod"
- ],
- "doc/html/man3/SSL_get_rbio.html" => [
- "doc/man3/SSL_get_rbio.pod"
- ],
- "doc/html/man3/SSL_get_rpoll_descriptor.html" => [
- "doc/man3/SSL_get_rpoll_descriptor.pod"
- ],
- "doc/html/man3/SSL_get_session.html" => [
- "doc/man3/SSL_get_session.pod"
- ],
- "doc/html/man3/SSL_get_shared_sigalgs.html" => [
- "doc/man3/SSL_get_shared_sigalgs.pod"
- ],
- "doc/html/man3/SSL_get_stream_id.html" => [
- "doc/man3/SSL_get_stream_id.pod"
- ],
- "doc/html/man3/SSL_get_stream_read_state.html" => [
- "doc/man3/SSL_get_stream_read_state.pod"
- ],
- "doc/html/man3/SSL_get_value_uint.html" => [
- "doc/man3/SSL_get_value_uint.pod"
- ],
- "doc/html/man3/SSL_get_verify_result.html" => [
- "doc/man3/SSL_get_verify_result.pod"
- ],
- "doc/html/man3/SSL_get_version.html" => [
- "doc/man3/SSL_get_version.pod"
- ],
- "doc/html/man3/SSL_group_to_name.html" => [
- "doc/man3/SSL_group_to_name.pod"
- ],
- "doc/html/man3/SSL_handle_events.html" => [
- "doc/man3/SSL_handle_events.pod"
- ],
- "doc/html/man3/SSL_in_init.html" => [
- "doc/man3/SSL_in_init.pod"
- ],
- "doc/html/man3/SSL_inject_net_dgram.html" => [
- "doc/man3/SSL_inject_net_dgram.pod"
- ],
- "doc/html/man3/SSL_key_update.html" => [
- "doc/man3/SSL_key_update.pod"
- ],
- "doc/html/man3/SSL_library_init.html" => [
- "doc/man3/SSL_library_init.pod"
- ],
- "doc/html/man3/SSL_load_client_CA_file.html" => [
- "doc/man3/SSL_load_client_CA_file.pod"
- ],
- "doc/html/man3/SSL_new.html" => [
- "doc/man3/SSL_new.pod"
- ],
- "doc/html/man3/SSL_new_domain.html" => [
- "doc/man3/SSL_new_domain.pod"
- ],
- "doc/html/man3/SSL_new_listener.html" => [
- "doc/man3/SSL_new_listener.pod"
- ],
- "doc/html/man3/SSL_new_stream.html" => [
- "doc/man3/SSL_new_stream.pod"
- ],
- "doc/html/man3/SSL_pending.html" => [
- "doc/man3/SSL_pending.pod"
- ],
- "doc/html/man3/SSL_poll.html" => [
- "doc/man3/SSL_poll.pod"
- ],
- "doc/html/man3/SSL_read.html" => [
- "doc/man3/SSL_read.pod"
- ],
- "doc/html/man3/SSL_read_early_data.html" => [
- "doc/man3/SSL_read_early_data.pod"
- ],
- "doc/html/man3/SSL_rstate_string.html" => [
- "doc/man3/SSL_rstate_string.pod"
- ],
- "doc/html/man3/SSL_session_reused.html" => [
- "doc/man3/SSL_session_reused.pod"
- ],
- "doc/html/man3/SSL_set1_host.html" => [
- "doc/man3/SSL_set1_host.pod"
- ],
- "doc/html/man3/SSL_set1_initial_peer_addr.html" => [
- "doc/man3/SSL_set1_initial_peer_addr.pod"
- ],
- "doc/html/man3/SSL_set1_server_cert_type.html" => [
- "doc/man3/SSL_set1_server_cert_type.pod"
- ],
- "doc/html/man3/SSL_set_async_callback.html" => [
- "doc/man3/SSL_set_async_callback.pod"
- ],
- "doc/html/man3/SSL_set_bio.html" => [
- "doc/man3/SSL_set_bio.pod"
- ],
- "doc/html/man3/SSL_set_blocking_mode.html" => [
- "doc/man3/SSL_set_blocking_mode.pod"
- ],
- "doc/html/man3/SSL_set_connect_state.html" => [
- "doc/man3/SSL_set_connect_state.pod"
- ],
- "doc/html/man3/SSL_set_default_stream_mode.html" => [
- "doc/man3/SSL_set_default_stream_mode.pod"
- ],
- "doc/html/man3/SSL_set_fd.html" => [
- "doc/man3/SSL_set_fd.pod"
- ],
- "doc/html/man3/SSL_set_incoming_stream_policy.html" => [
- "doc/man3/SSL_set_incoming_stream_policy.pod"
- ],
- "doc/html/man3/SSL_set_quic_tls_cbs.html" => [
- "doc/man3/SSL_set_quic_tls_cbs.pod"
- ],
- "doc/html/man3/SSL_set_retry_verify.html" => [
- "doc/man3/SSL_set_retry_verify.pod"
- ],
- "doc/html/man3/SSL_set_session.html" => [
- "doc/man3/SSL_set_session.pod"
- ],
- "doc/html/man3/SSL_set_session_secret_cb.html" => [
- "doc/man3/SSL_set_session_secret_cb.pod"
- ],
- "doc/html/man3/SSL_set_shutdown.html" => [
- "doc/man3/SSL_set_shutdown.pod"
- ],
- "doc/html/man3/SSL_set_verify_result.html" => [
- "doc/man3/SSL_set_verify_result.pod"
- ],
- "doc/html/man3/SSL_shutdown.html" => [
- "doc/man3/SSL_shutdown.pod"
- ],
- "doc/html/man3/SSL_state_string.html" => [
- "doc/man3/SSL_state_string.pod"
- ],
- "doc/html/man3/SSL_stream_conclude.html" => [
- "doc/man3/SSL_stream_conclude.pod"
- ],
- "doc/html/man3/SSL_stream_reset.html" => [
- "doc/man3/SSL_stream_reset.pod"
- ],
- "doc/html/man3/SSL_want.html" => [
- "doc/man3/SSL_want.pod"
- ],
- "doc/html/man3/SSL_write.html" => [
- "doc/man3/SSL_write.pod"
- ],
- "doc/html/man3/TS_RESP_CTX_new.html" => [
- "doc/man3/TS_RESP_CTX_new.pod"
- ],
- "doc/html/man3/TS_VERIFY_CTX.html" => [
- "doc/man3/TS_VERIFY_CTX.pod"
- ],
- "doc/html/man3/UI_STRING.html" => [
- "doc/man3/UI_STRING.pod"
- ],
- "doc/html/man3/UI_UTIL_read_pw.html" => [
- "doc/man3/UI_UTIL_read_pw.pod"
- ],
- "doc/html/man3/UI_create_method.html" => [
- "doc/man3/UI_create_method.pod"
- ],
- "doc/html/man3/UI_new.html" => [
- "doc/man3/UI_new.pod"
- ],
- "doc/html/man3/X509V3_get_d2i.html" => [
- "doc/man3/X509V3_get_d2i.pod"
- ],
- "doc/html/man3/X509V3_set_ctx.html" => [
- "doc/man3/X509V3_set_ctx.pod"
- ],
- "doc/html/man3/X509_ACERT_add1_attr.html" => [
- "doc/man3/X509_ACERT_add1_attr.pod"
- ],
- "doc/html/man3/X509_ACERT_add_attr_nconf.html" => [
- "doc/man3/X509_ACERT_add_attr_nconf.pod"
- ],
- "doc/html/man3/X509_ACERT_get0_holder_baseCertId.html" => [
- "doc/man3/X509_ACERT_get0_holder_baseCertId.pod"
- ],
- "doc/html/man3/X509_ACERT_get_attr.html" => [
- "doc/man3/X509_ACERT_get_attr.pod"
- ],
- "doc/html/man3/X509_ACERT_print_ex.html" => [
- "doc/man3/X509_ACERT_print_ex.pod"
- ],
- "doc/html/man3/X509_ALGOR_dup.html" => [
- "doc/man3/X509_ALGOR_dup.pod"
- ],
- "doc/html/man3/X509_ATTRIBUTE.html" => [
- "doc/man3/X509_ATTRIBUTE.pod"
- ],
- "doc/html/man3/X509_CRL_get0_by_serial.html" => [
- "doc/man3/X509_CRL_get0_by_serial.pod"
- ],
- "doc/html/man3/X509_EXTENSION_set_object.html" => [
- "doc/man3/X509_EXTENSION_set_object.pod"
- ],
- "doc/html/man3/X509_LOOKUP.html" => [
- "doc/man3/X509_LOOKUP.pod"
- ],
- "doc/html/man3/X509_LOOKUP_hash_dir.html" => [
- "doc/man3/X509_LOOKUP_hash_dir.pod"
- ],
- "doc/html/man3/X509_LOOKUP_meth_new.html" => [
- "doc/man3/X509_LOOKUP_meth_new.pod"
- ],
- "doc/html/man3/X509_NAME_ENTRY_get_object.html" => [
- "doc/man3/X509_NAME_ENTRY_get_object.pod"
- ],
- "doc/html/man3/X509_NAME_add_entry_by_txt.html" => [
- "doc/man3/X509_NAME_add_entry_by_txt.pod"
- ],
- "doc/html/man3/X509_NAME_get0_der.html" => [
- "doc/man3/X509_NAME_get0_der.pod"
- ],
- "doc/html/man3/X509_NAME_get_index_by_NID.html" => [
- "doc/man3/X509_NAME_get_index_by_NID.pod"
- ],
- "doc/html/man3/X509_NAME_print_ex.html" => [
- "doc/man3/X509_NAME_print_ex.pod"
- ],
- "doc/html/man3/X509_PUBKEY_new.html" => [
- "doc/man3/X509_PUBKEY_new.pod"
- ],
- "doc/html/man3/X509_REQ_get_attr.html" => [
- "doc/man3/X509_REQ_get_attr.pod"
- ],
- "doc/html/man3/X509_REQ_get_extensions.html" => [
- "doc/man3/X509_REQ_get_extensions.pod"
- ],
- "doc/html/man3/X509_SIG_get0.html" => [
- "doc/man3/X509_SIG_get0.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_get_by_subject.html" => [
- "doc/man3/X509_STORE_CTX_get_by_subject.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_get_error.html" => [
- "doc/man3/X509_STORE_CTX_get_error.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_new.html" => [
- "doc/man3/X509_STORE_CTX_new.pod"
- ],
- "doc/html/man3/X509_STORE_CTX_set_verify_cb.html" => [
- "doc/man3/X509_STORE_CTX_set_verify_cb.pod"
- ],
- "doc/html/man3/X509_STORE_add_cert.html" => [
- "doc/man3/X509_STORE_add_cert.pod"
- ],
- "doc/html/man3/X509_STORE_get0_param.html" => [
- "doc/man3/X509_STORE_get0_param.pod"
- ],
- "doc/html/man3/X509_STORE_new.html" => [
- "doc/man3/X509_STORE_new.pod"
- ],
- "doc/html/man3/X509_STORE_set_verify_cb_func.html" => [
- "doc/man3/X509_STORE_set_verify_cb_func.pod"
- ],
- "doc/html/man3/X509_VERIFY_PARAM_set_flags.html" => [
- "doc/man3/X509_VERIFY_PARAM_set_flags.pod"
- ],
- "doc/html/man3/X509_add_cert.html" => [
- "doc/man3/X509_add_cert.pod"
- ],
- "doc/html/man3/X509_check_ca.html" => [
- "doc/man3/X509_check_ca.pod"
- ],
- "doc/html/man3/X509_check_host.html" => [
- "doc/man3/X509_check_host.pod"
- ],
- "doc/html/man3/X509_check_issued.html" => [
- "doc/man3/X509_check_issued.pod"
- ],
- "doc/html/man3/X509_check_private_key.html" => [
- "doc/man3/X509_check_private_key.pod"
- ],
- "doc/html/man3/X509_check_purpose.html" => [
- "doc/man3/X509_check_purpose.pod"
- ],
- "doc/html/man3/X509_cmp.html" => [
- "doc/man3/X509_cmp.pod"
- ],
- "doc/html/man3/X509_cmp_time.html" => [
- "doc/man3/X509_cmp_time.pod"
- ],
- "doc/html/man3/X509_digest.html" => [
- "doc/man3/X509_digest.pod"
- ],
- "doc/html/man3/X509_dup.html" => [
- "doc/man3/X509_dup.pod"
- ],
- "doc/html/man3/X509_get0_distinguishing_id.html" => [
- "doc/man3/X509_get0_distinguishing_id.pod"
- ],
- "doc/html/man3/X509_get0_notBefore.html" => [
- "doc/man3/X509_get0_notBefore.pod"
- ],
- "doc/html/man3/X509_get0_signature.html" => [
- "doc/man3/X509_get0_signature.pod"
- ],
- "doc/html/man3/X509_get0_uids.html" => [
- "doc/man3/X509_get0_uids.pod"
- ],
- "doc/html/man3/X509_get_default_cert_file.html" => [
- "doc/man3/X509_get_default_cert_file.pod"
- ],
- "doc/html/man3/X509_get_extension_flags.html" => [
- "doc/man3/X509_get_extension_flags.pod"
- ],
- "doc/html/man3/X509_get_pubkey.html" => [
- "doc/man3/X509_get_pubkey.pod"
- ],
- "doc/html/man3/X509_get_serialNumber.html" => [
- "doc/man3/X509_get_serialNumber.pod"
- ],
- "doc/html/man3/X509_get_subject_name.html" => [
- "doc/man3/X509_get_subject_name.pod"
- ],
- "doc/html/man3/X509_get_version.html" => [
- "doc/man3/X509_get_version.pod"
- ],
- "doc/html/man3/X509_load_http.html" => [
- "doc/man3/X509_load_http.pod"
- ],
- "doc/html/man3/X509_new.html" => [
- "doc/man3/X509_new.pod"
- ],
- "doc/html/man3/X509_sign.html" => [
- "doc/man3/X509_sign.pod"
- ],
- "doc/html/man3/X509_verify.html" => [
- "doc/man3/X509_verify.pod"
- ],
- "doc/html/man3/X509_verify_cert.html" => [
- "doc/man3/X509_verify_cert.pod"
- ],
- "doc/html/man3/X509v3_get_ext_by_NID.html" => [
- "doc/man3/X509v3_get_ext_by_NID.pod"
- ],
- "doc/html/man3/b2i_PVK_bio_ex.html" => [
- "doc/man3/b2i_PVK_bio_ex.pod"
- ],
- "doc/html/man3/d2i_PKCS8PrivateKey_bio.html" => [
- "doc/man3/d2i_PKCS8PrivateKey_bio.pod"
- ],
- "doc/html/man3/d2i_PrivateKey.html" => [
- "doc/man3/d2i_PrivateKey.pod"
- ],
- "doc/html/man3/d2i_RSAPrivateKey.html" => [
- "doc/man3/d2i_RSAPrivateKey.pod"
- ],
- "doc/html/man3/d2i_SSL_SESSION.html" => [
- "doc/man3/d2i_SSL_SESSION.pod"
- ],
- "doc/html/man3/d2i_X509.html" => [
- "doc/man3/d2i_X509.pod"
- ],
- "doc/html/man3/i2d_CMS_bio_stream.html" => [
- "doc/man3/i2d_CMS_bio_stream.pod"
- ],
- "doc/html/man3/i2d_PKCS7_bio_stream.html" => [
- "doc/man3/i2d_PKCS7_bio_stream.pod"
- ],
- "doc/html/man3/i2d_re_X509_tbs.html" => [
- "doc/man3/i2d_re_X509_tbs.pod"
- ],
- "doc/html/man3/o2i_SCT_LIST.html" => [
- "doc/man3/o2i_SCT_LIST.pod"
- ],
- "doc/html/man3/s2i_ASN1_IA5STRING.html" => [
- "doc/man3/s2i_ASN1_IA5STRING.pod"
- ],
- "doc/html/man5/config.html" => [
- "doc/man5/config.pod"
- ],
- "doc/html/man5/fips_config.html" => [
- "doc/man5/fips_config.pod"
- ],
- "doc/html/man5/x509v3_config.html" => [
- "doc/man5/x509v3_config.pod"
- ],
- "doc/html/man7/EVP_ASYM_CIPHER-RSA.html" => [
- "doc/man7/EVP_ASYM_CIPHER-RSA.pod"
- ],
- "doc/html/man7/EVP_ASYM_CIPHER-SM2.html" => [
- "doc/man7/EVP_ASYM_CIPHER-SM2.pod"
- ],
- "doc/html/man7/EVP_CIPHER-AES.html" => [
- "doc/man7/EVP_CIPHER-AES.pod"
- ],
- "doc/html/man7/EVP_CIPHER-ARIA.html" => [
- "doc/man7/EVP_CIPHER-ARIA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-BLOWFISH.html" => [
- "doc/man7/EVP_CIPHER-BLOWFISH.pod"
- ],
- "doc/html/man7/EVP_CIPHER-CAMELLIA.html" => [
- "doc/man7/EVP_CIPHER-CAMELLIA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-CAST.html" => [
- "doc/man7/EVP_CIPHER-CAST.pod"
- ],
- "doc/html/man7/EVP_CIPHER-CHACHA.html" => [
- "doc/man7/EVP_CIPHER-CHACHA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-DES.html" => [
- "doc/man7/EVP_CIPHER-DES.pod"
- ],
- "doc/html/man7/EVP_CIPHER-IDEA.html" => [
- "doc/man7/EVP_CIPHER-IDEA.pod"
- ],
- "doc/html/man7/EVP_CIPHER-NULL.html" => [
- "doc/man7/EVP_CIPHER-NULL.pod"
- ],
- "doc/html/man7/EVP_CIPHER-RC2.html" => [
- "doc/man7/EVP_CIPHER-RC2.pod"
- ],
- "doc/html/man7/EVP_CIPHER-RC4.html" => [
- "doc/man7/EVP_CIPHER-RC4.pod"
- ],
- "doc/html/man7/EVP_CIPHER-RC5.html" => [
- "doc/man7/EVP_CIPHER-RC5.pod"
- ],
- "doc/html/man7/EVP_CIPHER-SEED.html" => [
- "doc/man7/EVP_CIPHER-SEED.pod"
- ],
- "doc/html/man7/EVP_CIPHER-SM4.html" => [
- "doc/man7/EVP_CIPHER-SM4.pod"
- ],
- "doc/html/man7/EVP_KDF-ARGON2.html" => [
- "doc/man7/EVP_KDF-ARGON2.pod"
- ],
- "doc/html/man7/EVP_KDF-HKDF.html" => [
- "doc/man7/EVP_KDF-HKDF.pod"
- ],
- "doc/html/man7/EVP_KDF-HMAC-DRBG.html" => [
- "doc/man7/EVP_KDF-HMAC-DRBG.pod"
- ],
- "doc/html/man7/EVP_KDF-KB.html" => [
- "doc/man7/EVP_KDF-KB.pod"
- ],
- "doc/html/man7/EVP_KDF-KRB5KDF.html" => [
- "doc/man7/EVP_KDF-KRB5KDF.pod"
- ],
- "doc/html/man7/EVP_KDF-PBKDF1.html" => [
- "doc/man7/EVP_KDF-PBKDF1.pod"
- ],
- "doc/html/man7/EVP_KDF-PBKDF2.html" => [
- "doc/man7/EVP_KDF-PBKDF2.pod"
- ],
- "doc/html/man7/EVP_KDF-PKCS12KDF.html" => [
- "doc/man7/EVP_KDF-PKCS12KDF.pod"
- ],
- "doc/html/man7/EVP_KDF-PVKKDF.html" => [
- "doc/man7/EVP_KDF-PVKKDF.pod"
- ],
- "doc/html/man7/EVP_KDF-SCRYPT.html" => [
- "doc/man7/EVP_KDF-SCRYPT.pod"
- ],
- "doc/html/man7/EVP_KDF-SS.html" => [
- "doc/man7/EVP_KDF-SS.pod"
- ],
- "doc/html/man7/EVP_KDF-SSHKDF.html" => [
- "doc/man7/EVP_KDF-SSHKDF.pod"
- ],
- "doc/html/man7/EVP_KDF-TLS13_KDF.html" => [
- "doc/man7/EVP_KDF-TLS13_KDF.pod"
- ],
- "doc/html/man7/EVP_KDF-TLS1_PRF.html" => [
- "doc/man7/EVP_KDF-TLS1_PRF.pod"
- ],
- "doc/html/man7/EVP_KDF-X942-ASN1.html" => [
- "doc/man7/EVP_KDF-X942-ASN1.pod"
- ],
- "doc/html/man7/EVP_KDF-X942-CONCAT.html" => [
- "doc/man7/EVP_KDF-X942-CONCAT.pod"
- ],
- "doc/html/man7/EVP_KDF-X963.html" => [
- "doc/man7/EVP_KDF-X963.pod"
- ],
- "doc/html/man7/EVP_KEM-EC.html" => [
- "doc/man7/EVP_KEM-EC.pod"
- ],
- "doc/html/man7/EVP_KEM-ML-KEM.html" => [
- "doc/man7/EVP_KEM-ML-KEM.pod"
- ],
- "doc/html/man7/EVP_KEM-RSA.html" => [
- "doc/man7/EVP_KEM-RSA.pod"
- ],
- "doc/html/man7/EVP_KEM-X25519.html" => [
- "doc/man7/EVP_KEM-X25519.pod"
- ],
- "doc/html/man7/EVP_KEYEXCH-DH.html" => [
- "doc/man7/EVP_KEYEXCH-DH.pod"
- ],
- "doc/html/man7/EVP_KEYEXCH-ECDH.html" => [
- "doc/man7/EVP_KEYEXCH-ECDH.pod"
- ],
- "doc/html/man7/EVP_KEYEXCH-X25519.html" => [
- "doc/man7/EVP_KEYEXCH-X25519.pod"
- ],
- "doc/html/man7/EVP_MAC-BLAKE2.html" => [
- "doc/man7/EVP_MAC-BLAKE2.pod"
- ],
- "doc/html/man7/EVP_MAC-CMAC.html" => [
- "doc/man7/EVP_MAC-CMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-GMAC.html" => [
- "doc/man7/EVP_MAC-GMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-HMAC.html" => [
- "doc/man7/EVP_MAC-HMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-KMAC.html" => [
- "doc/man7/EVP_MAC-KMAC.pod"
- ],
- "doc/html/man7/EVP_MAC-Poly1305.html" => [
- "doc/man7/EVP_MAC-Poly1305.pod"
- ],
- "doc/html/man7/EVP_MAC-Siphash.html" => [
- "doc/man7/EVP_MAC-Siphash.pod"
- ],
- "doc/html/man7/EVP_MD-BLAKE2.html" => [
- "doc/man7/EVP_MD-BLAKE2.pod"
- ],
- "doc/html/man7/EVP_MD-KECCAK.html" => [
- "doc/man7/EVP_MD-KECCAK.pod"
- ],
- "doc/html/man7/EVP_MD-MD2.html" => [
- "doc/man7/EVP_MD-MD2.pod"
- ],
- "doc/html/man7/EVP_MD-MD4.html" => [
- "doc/man7/EVP_MD-MD4.pod"
- ],
- "doc/html/man7/EVP_MD-MD5-SHA1.html" => [
- "doc/man7/EVP_MD-MD5-SHA1.pod"
- ],
- "doc/html/man7/EVP_MD-MD5.html" => [
- "doc/man7/EVP_MD-MD5.pod"
- ],
- "doc/html/man7/EVP_MD-MDC2.html" => [
- "doc/man7/EVP_MD-MDC2.pod"
- ],
- "doc/html/man7/EVP_MD-NULL.html" => [
- "doc/man7/EVP_MD-NULL.pod"
- ],
- "doc/html/man7/EVP_MD-RIPEMD160.html" => [
- "doc/man7/EVP_MD-RIPEMD160.pod"
- ],
- "doc/html/man7/EVP_MD-SHA1.html" => [
- "doc/man7/EVP_MD-SHA1.pod"
- ],
- "doc/html/man7/EVP_MD-SHA2.html" => [
- "doc/man7/EVP_MD-SHA2.pod"
- ],
- "doc/html/man7/EVP_MD-SHA3.html" => [
- "doc/man7/EVP_MD-SHA3.pod"
- ],
- "doc/html/man7/EVP_MD-SHAKE.html" => [
- "doc/man7/EVP_MD-SHAKE.pod"
- ],
- "doc/html/man7/EVP_MD-SM3.html" => [
- "doc/man7/EVP_MD-SM3.pod"
- ],
- "doc/html/man7/EVP_MD-WHIRLPOOL.html" => [
- "doc/man7/EVP_MD-WHIRLPOOL.pod"
- ],
- "doc/html/man7/EVP_MD-common.html" => [
- "doc/man7/EVP_MD-common.pod"
- ],
- "doc/html/man7/EVP_PKEY-DH.html" => [
- "doc/man7/EVP_PKEY-DH.pod"
- ],
- "doc/html/man7/EVP_PKEY-DSA.html" => [
- "doc/man7/EVP_PKEY-DSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-EC.html" => [
- "doc/man7/EVP_PKEY-EC.pod"
- ],
- "doc/html/man7/EVP_PKEY-FFC.html" => [
- "doc/man7/EVP_PKEY-FFC.pod"
- ],
- "doc/html/man7/EVP_PKEY-HMAC.html" => [
- "doc/man7/EVP_PKEY-HMAC.pod"
- ],
- "doc/html/man7/EVP_PKEY-ML-DSA.html" => [
- "doc/man7/EVP_PKEY-ML-DSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-ML-KEM.html" => [
- "doc/man7/EVP_PKEY-ML-KEM.pod"
- ],
- "doc/html/man7/EVP_PKEY-RSA.html" => [
- "doc/man7/EVP_PKEY-RSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-SLH-DSA.html" => [
- "doc/man7/EVP_PKEY-SLH-DSA.pod"
- ],
- "doc/html/man7/EVP_PKEY-SM2.html" => [
- "doc/man7/EVP_PKEY-SM2.pod"
- ],
- "doc/html/man7/EVP_PKEY-X25519.html" => [
- "doc/man7/EVP_PKEY-X25519.pod"
- ],
- "doc/html/man7/EVP_RAND-CRNG-TEST.html" => [
- "doc/man7/EVP_RAND-CRNG-TEST.pod"
- ],
- "doc/html/man7/EVP_RAND-CTR-DRBG.html" => [
- "doc/man7/EVP_RAND-CTR-DRBG.pod"
- ],
- "doc/html/man7/EVP_RAND-HASH-DRBG.html" => [
- "doc/man7/EVP_RAND-HASH-DRBG.pod"
- ],
- "doc/html/man7/EVP_RAND-HMAC-DRBG.html" => [
- "doc/man7/EVP_RAND-HMAC-DRBG.pod"
- ],
- "doc/html/man7/EVP_RAND-JITTER.html" => [
- "doc/man7/EVP_RAND-JITTER.pod"
- ],
- "doc/html/man7/EVP_RAND-SEED-SRC.html" => [
- "doc/man7/EVP_RAND-SEED-SRC.pod"
- ],
- "doc/html/man7/EVP_RAND-TEST-RAND.html" => [
- "doc/man7/EVP_RAND-TEST-RAND.pod"
- ],
- "doc/html/man7/EVP_RAND.html" => [
- "doc/man7/EVP_RAND.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-DSA.html" => [
- "doc/man7/EVP_SIGNATURE-DSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-ECDSA.html" => [
- "doc/man7/EVP_SIGNATURE-ECDSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-ED25519.html" => [
- "doc/man7/EVP_SIGNATURE-ED25519.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-HMAC.html" => [
- "doc/man7/EVP_SIGNATURE-HMAC.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-ML-DSA.html" => [
- "doc/man7/EVP_SIGNATURE-ML-DSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-RSA.html" => [
- "doc/man7/EVP_SIGNATURE-RSA.pod"
- ],
- "doc/html/man7/EVP_SIGNATURE-SLH-DSA.html" => [
- "doc/man7/EVP_SIGNATURE-SLH-DSA.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-FIPS.html" => [
- "doc/man7/OSSL_PROVIDER-FIPS.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-base.html" => [
- "doc/man7/OSSL_PROVIDER-base.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-default.html" => [
- "doc/man7/OSSL_PROVIDER-default.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-legacy.html" => [
- "doc/man7/OSSL_PROVIDER-legacy.pod"
- ],
- "doc/html/man7/OSSL_PROVIDER-null.html" => [
- "doc/man7/OSSL_PROVIDER-null.pod"
- ],
- "doc/html/man7/OSSL_STORE-winstore.html" => [
- "doc/man7/OSSL_STORE-winstore.pod"
- ],
- "doc/html/man7/RAND.html" => [
- "doc/man7/RAND.pod"
- ],
- "doc/html/man7/RSA-PSS.html" => [
- "doc/man7/RSA-PSS.pod"
- ],
- "doc/html/man7/X25519.html" => [
- "doc/man7/X25519.pod"
- ],
- "doc/html/man7/bio.html" => [
- "doc/man7/bio.pod"
- ],
- "doc/html/man7/ct.html" => [
- "doc/man7/ct.pod"
- ],
- "doc/html/man7/des_modes.html" => [
- "doc/man7/des_modes.pod"
- ],
- "doc/html/man7/evp.html" => [
- "doc/man7/evp.pod"
- ],
- "doc/html/man7/fips_module.html" => [
- "doc/man7/fips_module.pod"
- ],
- "doc/html/man7/life_cycle-cipher.html" => [
- "doc/man7/life_cycle-cipher.pod"
- ],
- "doc/html/man7/life_cycle-digest.html" => [
- "doc/man7/life_cycle-digest.pod"
- ],
- "doc/html/man7/life_cycle-kdf.html" => [
- "doc/man7/life_cycle-kdf.pod"
- ],
- "doc/html/man7/life_cycle-mac.html" => [
- "doc/man7/life_cycle-mac.pod"
- ],
- "doc/html/man7/life_cycle-pkey.html" => [
- "doc/man7/life_cycle-pkey.pod"
- ],
- "doc/html/man7/life_cycle-rand.html" => [
- "doc/man7/life_cycle-rand.pod"
- ],
- "doc/html/man7/openssl-core.h.html" => [
- "doc/man7/openssl-core.h.pod"
- ],
- "doc/html/man7/openssl-core_dispatch.h.html" => [
- "doc/man7/openssl-core_dispatch.h.pod"
- ],
- "doc/html/man7/openssl-core_names.h.html" => [
- "doc/man7/openssl-core_names.h.pod"
- ],
- "doc/html/man7/openssl-env.html" => [
- "doc/man7/openssl-env.pod"
- ],
- "doc/html/man7/openssl-glossary.html" => [
- "doc/man7/openssl-glossary.pod"
- ],
- "doc/html/man7/openssl-qlog.html" => [
- "doc/man7/openssl-qlog.pod"
- ],
- "doc/html/man7/openssl-quic-concurrency.html" => [
- "doc/man7/openssl-quic-concurrency.pod"
- ],
- "doc/html/man7/openssl-quic.html" => [
- "doc/man7/openssl-quic.pod"
- ],
- "doc/html/man7/openssl-threads.html" => [
- "doc/man7/openssl-threads.pod"
- ],
- "doc/html/man7/openssl_user_macros.html" => [
- "doc/man7/openssl_user_macros.pod"
- ],
- "doc/html/man7/ossl-guide-introduction.html" => [
- "doc/man7/ossl-guide-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-libcrypto-introduction.html" => [
- "doc/man7/ossl-guide-libcrypto-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-libraries-introduction.html" => [
- "doc/man7/ossl-guide-libraries-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-libssl-introduction.html" => [
- "doc/man7/ossl-guide-libssl-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-migration.html" => [
- "doc/man7/ossl-guide-migration.pod"
- ],
- "doc/html/man7/ossl-guide-quic-client-block.html" => [
- "doc/man7/ossl-guide-quic-client-block.pod"
- ],
- "doc/html/man7/ossl-guide-quic-client-non-block.html" => [
- "doc/man7/ossl-guide-quic-client-non-block.pod"
- ],
- "doc/html/man7/ossl-guide-quic-introduction.html" => [
- "doc/man7/ossl-guide-quic-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-quic-multi-stream.html" => [
- "doc/man7/ossl-guide-quic-multi-stream.pod"
- ],
- "doc/html/man7/ossl-guide-quic-server-block.html" => [
- "doc/man7/ossl-guide-quic-server-block.pod"
- ],
- "doc/html/man7/ossl-guide-quic-server-non-block.html" => [
- "doc/man7/ossl-guide-quic-server-non-block.pod"
- ],
- "doc/html/man7/ossl-guide-tls-client-block.html" => [
- "doc/man7/ossl-guide-tls-client-block.pod"
- ],
- "doc/html/man7/ossl-guide-tls-client-non-block.html" => [
- "doc/man7/ossl-guide-tls-client-non-block.pod"
- ],
- "doc/html/man7/ossl-guide-tls-introduction.html" => [
- "doc/man7/ossl-guide-tls-introduction.pod"
- ],
- "doc/html/man7/ossl-guide-tls-server-block.html" => [
- "doc/man7/ossl-guide-tls-server-block.pod"
- ],
- "doc/html/man7/ossl_store-file.html" => [
- "doc/man7/ossl_store-file.pod"
- ],
- "doc/html/man7/ossl_store.html" => [
- "doc/man7/ossl_store.pod"
- ],
- "doc/html/man7/passphrase-encoding.html" => [
- "doc/man7/passphrase-encoding.pod"
- ],
- "doc/html/man7/property.html" => [
- "doc/man7/property.pod"
- ],
- "doc/html/man7/provider-asym_cipher.html" => [
- "doc/man7/provider-asym_cipher.pod"
- ],
- "doc/html/man7/provider-base.html" => [
- "doc/man7/provider-base.pod"
- ],
- "doc/html/man7/provider-cipher.html" => [
- "doc/man7/provider-cipher.pod"
- ],
- "doc/html/man7/provider-decoder.html" => [
- "doc/man7/provider-decoder.pod"
- ],
- "doc/html/man7/provider-digest.html" => [
- "doc/man7/provider-digest.pod"
- ],
- "doc/html/man7/provider-encoder.html" => [
- "doc/man7/provider-encoder.pod"
- ],
- "doc/html/man7/provider-kdf.html" => [
- "doc/man7/provider-kdf.pod"
- ],
- "doc/html/man7/provider-kem.html" => [
- "doc/man7/provider-kem.pod"
- ],
- "doc/html/man7/provider-keyexch.html" => [
- "doc/man7/provider-keyexch.pod"
- ],
- "doc/html/man7/provider-keymgmt.html" => [
- "doc/man7/provider-keymgmt.pod"
- ],
- "doc/html/man7/provider-mac.html" => [
- "doc/man7/provider-mac.pod"
- ],
- "doc/html/man7/provider-object.html" => [
- "doc/man7/provider-object.pod"
- ],
- "doc/html/man7/provider-rand.html" => [
- "doc/man7/provider-rand.pod"
- ],
- "doc/html/man7/provider-signature.html" => [
- "doc/man7/provider-signature.pod"
- ],
- "doc/html/man7/provider-skeymgmt.html" => [
- "doc/man7/provider-skeymgmt.pod"
- ],
- "doc/html/man7/provider-storemgmt.html" => [
- "doc/man7/provider-storemgmt.pod"
- ],
- "doc/html/man7/provider.html" => [
- "doc/man7/provider.pod"
- ],
- "doc/html/man7/proxy-certificates.html" => [
- "doc/man7/proxy-certificates.pod"
- ],
- "doc/html/man7/x509.html" => [
- "doc/man7/x509.pod"
- ],
- "doc/man/man1/CA.pl.1" => [
- "doc/man1/CA.pl.pod"
- ],
- "doc/man/man1/openssl-asn1parse.1" => [
- "doc/man1/openssl-asn1parse.pod"
- ],
- "doc/man/man1/openssl-ca.1" => [
- "doc/man1/openssl-ca.pod"
- ],
- "doc/man/man1/openssl-ciphers.1" => [
- "doc/man1/openssl-ciphers.pod"
- ],
- "doc/man/man1/openssl-cmds.1" => [
- "doc/man1/openssl-cmds.pod"
- ],
- "doc/man/man1/openssl-cmp.1" => [
- "doc/man1/openssl-cmp.pod"
- ],
- "doc/man/man1/openssl-cms.1" => [
- "doc/man1/openssl-cms.pod"
- ],
- "doc/man/man1/openssl-crl.1" => [
- "doc/man1/openssl-crl.pod"
- ],
- "doc/man/man1/openssl-crl2pkcs7.1" => [
- "doc/man1/openssl-crl2pkcs7.pod"
- ],
- "doc/man/man1/openssl-dgst.1" => [
- "doc/man1/openssl-dgst.pod"
- ],
- "doc/man/man1/openssl-dhparam.1" => [
- "doc/man1/openssl-dhparam.pod"
- ],
- "doc/man/man1/openssl-dsa.1" => [
- "doc/man1/openssl-dsa.pod"
- ],
- "doc/man/man1/openssl-dsaparam.1" => [
- "doc/man1/openssl-dsaparam.pod"
- ],
- "doc/man/man1/openssl-ec.1" => [
- "doc/man1/openssl-ec.pod"
- ],
- "doc/man/man1/openssl-ecparam.1" => [
- "doc/man1/openssl-ecparam.pod"
- ],
- "doc/man/man1/openssl-enc.1" => [
- "doc/man1/openssl-enc.pod"
- ],
- "doc/man/man1/openssl-engine.1" => [
- "doc/man1/openssl-engine.pod"
- ],
- "doc/man/man1/openssl-errstr.1" => [
- "doc/man1/openssl-errstr.pod"
- ],
- "doc/man/man1/openssl-fipsinstall.1" => [
- "doc/man1/openssl-fipsinstall.pod"
- ],
- "doc/man/man1/openssl-format-options.1" => [
- "doc/man1/openssl-format-options.pod"
- ],
- "doc/man/man1/openssl-gendsa.1" => [
- "doc/man1/openssl-gendsa.pod"
- ],
- "doc/man/man1/openssl-genpkey.1" => [
- "doc/man1/openssl-genpkey.pod"
- ],
- "doc/man/man1/openssl-genrsa.1" => [
- "doc/man1/openssl-genrsa.pod"
- ],
- "doc/man/man1/openssl-info.1" => [
- "doc/man1/openssl-info.pod"
- ],
- "doc/man/man1/openssl-kdf.1" => [
- "doc/man1/openssl-kdf.pod"
- ],
- "doc/man/man1/openssl-list.1" => [
- "doc/man1/openssl-list.pod"
- ],
- "doc/man/man1/openssl-mac.1" => [
- "doc/man1/openssl-mac.pod"
- ],
- "doc/man/man1/openssl-namedisplay-options.1" => [
- "doc/man1/openssl-namedisplay-options.pod"
- ],
- "doc/man/man1/openssl-nseq.1" => [
- "doc/man1/openssl-nseq.pod"
- ],
- "doc/man/man1/openssl-ocsp.1" => [
- "doc/man1/openssl-ocsp.pod"
- ],
- "doc/man/man1/openssl-passphrase-options.1" => [
- "doc/man1/openssl-passphrase-options.pod"
- ],
- "doc/man/man1/openssl-passwd.1" => [
- "doc/man1/openssl-passwd.pod"
- ],
- "doc/man/man1/openssl-pkcs12.1" => [
- "doc/man1/openssl-pkcs12.pod"
- ],
- "doc/man/man1/openssl-pkcs7.1" => [
- "doc/man1/openssl-pkcs7.pod"
- ],
- "doc/man/man1/openssl-pkcs8.1" => [
- "doc/man1/openssl-pkcs8.pod"
- ],
- "doc/man/man1/openssl-pkey.1" => [
- "doc/man1/openssl-pkey.pod"
- ],
- "doc/man/man1/openssl-pkeyparam.1" => [
- "doc/man1/openssl-pkeyparam.pod"
- ],
- "doc/man/man1/openssl-pkeyutl.1" => [
- "doc/man1/openssl-pkeyutl.pod"
- ],
- "doc/man/man1/openssl-prime.1" => [
- "doc/man1/openssl-prime.pod"
- ],
- "doc/man/man1/openssl-rand.1" => [
- "doc/man1/openssl-rand.pod"
- ],
- "doc/man/man1/openssl-rehash.1" => [
- "doc/man1/openssl-rehash.pod"
- ],
- "doc/man/man1/openssl-req.1" => [
- "doc/man1/openssl-req.pod"
- ],
- "doc/man/man1/openssl-rsa.1" => [
- "doc/man1/openssl-rsa.pod"
- ],
- "doc/man/man1/openssl-rsautl.1" => [
- "doc/man1/openssl-rsautl.pod"
- ],
- "doc/man/man1/openssl-s_client.1" => [
- "doc/man1/openssl-s_client.pod"
- ],
- "doc/man/man1/openssl-s_server.1" => [
- "doc/man1/openssl-s_server.pod"
- ],
- "doc/man/man1/openssl-s_time.1" => [
- "doc/man1/openssl-s_time.pod"
- ],
- "doc/man/man1/openssl-sess_id.1" => [
- "doc/man1/openssl-sess_id.pod"
- ],
- "doc/man/man1/openssl-skeyutl.1" => [
- "doc/man1/openssl-skeyutl.pod"
- ],
- "doc/man/man1/openssl-smime.1" => [
- "doc/man1/openssl-smime.pod"
- ],
- "doc/man/man1/openssl-speed.1" => [
- "doc/man1/openssl-speed.pod"
- ],
- "doc/man/man1/openssl-spkac.1" => [
- "doc/man1/openssl-spkac.pod"
- ],
- "doc/man/man1/openssl-srp.1" => [
- "doc/man1/openssl-srp.pod"
- ],
- "doc/man/man1/openssl-storeutl.1" => [
- "doc/man1/openssl-storeutl.pod"
- ],
- "doc/man/man1/openssl-ts.1" => [
- "doc/man1/openssl-ts.pod"
- ],
- "doc/man/man1/openssl-verification-options.1" => [
- "doc/man1/openssl-verification-options.pod"
- ],
- "doc/man/man1/openssl-verify.1" => [
- "doc/man1/openssl-verify.pod"
- ],
- "doc/man/man1/openssl-version.1" => [
- "doc/man1/openssl-version.pod"
- ],
- "doc/man/man1/openssl-x509.1" => [
- "doc/man1/openssl-x509.pod"
- ],
- "doc/man/man1/openssl.1" => [
- "doc/man1/openssl.pod"
- ],
- "doc/man/man1/tsget.1" => [
- "doc/man1/tsget.pod"
- ],
- "doc/man/man3/ADMISSIONS.3" => [
- "doc/man3/ADMISSIONS.pod"
- ],
- "doc/man/man3/ASN1_EXTERN_FUNCS.3" => [
- "doc/man3/ASN1_EXTERN_FUNCS.pod"
- ],
- "doc/man/man3/ASN1_INTEGER_get_int64.3" => [
- "doc/man3/ASN1_INTEGER_get_int64.pod"
- ],
- "doc/man/man3/ASN1_INTEGER_new.3" => [
- "doc/man3/ASN1_INTEGER_new.pod"
- ],
- "doc/man/man3/ASN1_ITEM_lookup.3" => [
- "doc/man3/ASN1_ITEM_lookup.pod"
- ],
- "doc/man/man3/ASN1_OBJECT_new.3" => [
- "doc/man3/ASN1_OBJECT_new.pod"
- ],
- "doc/man/man3/ASN1_STRING_TABLE_add.3" => [
- "doc/man3/ASN1_STRING_TABLE_add.pod"
- ],
- "doc/man/man3/ASN1_STRING_length.3" => [
- "doc/man3/ASN1_STRING_length.pod"
- ],
- "doc/man/man3/ASN1_STRING_new.3" => [
- "doc/man3/ASN1_STRING_new.pod"
- ],
- "doc/man/man3/ASN1_STRING_print_ex.3" => [
- "doc/man3/ASN1_STRING_print_ex.pod"
- ],
- "doc/man/man3/ASN1_TIME_set.3" => [
- "doc/man3/ASN1_TIME_set.pod"
- ],
- "doc/man/man3/ASN1_TYPE_get.3" => [
- "doc/man3/ASN1_TYPE_get.pod"
- ],
- "doc/man/man3/ASN1_aux_cb.3" => [
- "doc/man3/ASN1_aux_cb.pod"
- ],
- "doc/man/man3/ASN1_generate_nconf.3" => [
- "doc/man3/ASN1_generate_nconf.pod"
- ],
- "doc/man/man3/ASN1_item_d2i_bio.3" => [
- "doc/man3/ASN1_item_d2i_bio.pod"
- ],
- "doc/man/man3/ASN1_item_new.3" => [
- "doc/man3/ASN1_item_new.pod"
- ],
- "doc/man/man3/ASN1_item_sign.3" => [
- "doc/man3/ASN1_item_sign.pod"
- ],
- "doc/man/man3/ASYNC_WAIT_CTX_new.3" => [
- "doc/man3/ASYNC_WAIT_CTX_new.pod"
- ],
- "doc/man/man3/ASYNC_start_job.3" => [
- "doc/man3/ASYNC_start_job.pod"
- ],
- "doc/man/man3/BF_encrypt.3" => [
- "doc/man3/BF_encrypt.pod"
- ],
- "doc/man/man3/BIO_ADDR.3" => [
- "doc/man3/BIO_ADDR.pod"
- ],
- "doc/man/man3/BIO_ADDRINFO.3" => [
- "doc/man3/BIO_ADDRINFO.pod"
- ],
- "doc/man/man3/BIO_connect.3" => [
- "doc/man3/BIO_connect.pod"
- ],
- "doc/man/man3/BIO_ctrl.3" => [
- "doc/man3/BIO_ctrl.pod"
- ],
- "doc/man/man3/BIO_f_base64.3" => [
- "doc/man3/BIO_f_base64.pod"
- ],
- "doc/man/man3/BIO_f_buffer.3" => [
- "doc/man3/BIO_f_buffer.pod"
- ],
- "doc/man/man3/BIO_f_cipher.3" => [
- "doc/man3/BIO_f_cipher.pod"
- ],
- "doc/man/man3/BIO_f_md.3" => [
- "doc/man3/BIO_f_md.pod"
- ],
- "doc/man/man3/BIO_f_null.3" => [
- "doc/man3/BIO_f_null.pod"
- ],
- "doc/man/man3/BIO_f_prefix.3" => [
- "doc/man3/BIO_f_prefix.pod"
- ],
- "doc/man/man3/BIO_f_readbuffer.3" => [
- "doc/man3/BIO_f_readbuffer.pod"
- ],
- "doc/man/man3/BIO_f_ssl.3" => [
- "doc/man3/BIO_f_ssl.pod"
- ],
- "doc/man/man3/BIO_find_type.3" => [
- "doc/man3/BIO_find_type.pod"
- ],
- "doc/man/man3/BIO_get_data.3" => [
- "doc/man3/BIO_get_data.pod"
- ],
- "doc/man/man3/BIO_get_ex_new_index.3" => [
- "doc/man3/BIO_get_ex_new_index.pod"
- ],
- "doc/man/man3/BIO_get_rpoll_descriptor.3" => [
- "doc/man3/BIO_get_rpoll_descriptor.pod"
- ],
- "doc/man/man3/BIO_meth_new.3" => [
- "doc/man3/BIO_meth_new.pod"
- ],
- "doc/man/man3/BIO_new.3" => [
- "doc/man3/BIO_new.pod"
- ],
- "doc/man/man3/BIO_new_CMS.3" => [
- "doc/man3/BIO_new_CMS.pod"
- ],
- "doc/man/man3/BIO_parse_hostserv.3" => [
- "doc/man3/BIO_parse_hostserv.pod"
- ],
- "doc/man/man3/BIO_printf.3" => [
- "doc/man3/BIO_printf.pod"
- ],
- "doc/man/man3/BIO_push.3" => [
- "doc/man3/BIO_push.pod"
- ],
- "doc/man/man3/BIO_read.3" => [
- "doc/man3/BIO_read.pod"
- ],
- "doc/man/man3/BIO_s_accept.3" => [
- "doc/man3/BIO_s_accept.pod"
- ],
- "doc/man/man3/BIO_s_bio.3" => [
- "doc/man3/BIO_s_bio.pod"
- ],
- "doc/man/man3/BIO_s_connect.3" => [
- "doc/man3/BIO_s_connect.pod"
- ],
- "doc/man/man3/BIO_s_core.3" => [
- "doc/man3/BIO_s_core.pod"
- ],
- "doc/man/man3/BIO_s_datagram.3" => [
- "doc/man3/BIO_s_datagram.pod"
- ],
- "doc/man/man3/BIO_s_dgram_pair.3" => [
- "doc/man3/BIO_s_dgram_pair.pod"
- ],
- "doc/man/man3/BIO_s_fd.3" => [
- "doc/man3/BIO_s_fd.pod"
- ],
- "doc/man/man3/BIO_s_file.3" => [
- "doc/man3/BIO_s_file.pod"
- ],
- "doc/man/man3/BIO_s_mem.3" => [
- "doc/man3/BIO_s_mem.pod"
- ],
- "doc/man/man3/BIO_s_null.3" => [
- "doc/man3/BIO_s_null.pod"
- ],
- "doc/man/man3/BIO_s_socket.3" => [
- "doc/man3/BIO_s_socket.pod"
- ],
- "doc/man/man3/BIO_sendmmsg.3" => [
- "doc/man3/BIO_sendmmsg.pod"
- ],
- "doc/man/man3/BIO_set_callback.3" => [
- "doc/man3/BIO_set_callback.pod"
- ],
- "doc/man/man3/BIO_should_retry.3" => [
- "doc/man3/BIO_should_retry.pod"
- ],
- "doc/man/man3/BIO_socket_wait.3" => [
- "doc/man3/BIO_socket_wait.pod"
- ],
- "doc/man/man3/BN_BLINDING_new.3" => [
- "doc/man3/BN_BLINDING_new.pod"
- ],
- "doc/man/man3/BN_CTX_new.3" => [
- "doc/man3/BN_CTX_new.pod"
- ],
- "doc/man/man3/BN_CTX_start.3" => [
- "doc/man3/BN_CTX_start.pod"
- ],
- "doc/man/man3/BN_add.3" => [
- "doc/man3/BN_add.pod"
- ],
- "doc/man/man3/BN_add_word.3" => [
- "doc/man3/BN_add_word.pod"
- ],
- "doc/man/man3/BN_bn2bin.3" => [
- "doc/man3/BN_bn2bin.pod"
- ],
- "doc/man/man3/BN_cmp.3" => [
- "doc/man3/BN_cmp.pod"
- ],
- "doc/man/man3/BN_copy.3" => [
- "doc/man3/BN_copy.pod"
- ],
- "doc/man/man3/BN_generate_prime.3" => [
- "doc/man3/BN_generate_prime.pod"
- ],
- "doc/man/man3/BN_mod_exp_mont.3" => [
- "doc/man3/BN_mod_exp_mont.pod"
- ],
- "doc/man/man3/BN_mod_inverse.3" => [
- "doc/man3/BN_mod_inverse.pod"
- ],
- "doc/man/man3/BN_mod_mul_montgomery.3" => [
- "doc/man3/BN_mod_mul_montgomery.pod"
- ],
- "doc/man/man3/BN_mod_mul_reciprocal.3" => [
- "doc/man3/BN_mod_mul_reciprocal.pod"
- ],
- "doc/man/man3/BN_new.3" => [
- "doc/man3/BN_new.pod"
- ],
- "doc/man/man3/BN_num_bytes.3" => [
- "doc/man3/BN_num_bytes.pod"
- ],
- "doc/man/man3/BN_rand.3" => [
- "doc/man3/BN_rand.pod"
- ],
- "doc/man/man3/BN_security_bits.3" => [
- "doc/man3/BN_security_bits.pod"
- ],
- "doc/man/man3/BN_set_bit.3" => [
- "doc/man3/BN_set_bit.pod"
- ],
- "doc/man/man3/BN_swap.3" => [
- "doc/man3/BN_swap.pod"
- ],
- "doc/man/man3/BN_zero.3" => [
- "doc/man3/BN_zero.pod"
- ],
- "doc/man/man3/BUF_MEM_new.3" => [
- "doc/man3/BUF_MEM_new.pod"
- ],
- "doc/man/man3/CMAC_CTX.3" => [
- "doc/man3/CMAC_CTX.pod"
- ],
- "doc/man/man3/CMS_EncryptedData_decrypt.3" => [
- "doc/man3/CMS_EncryptedData_decrypt.pod"
- ],
- "doc/man/man3/CMS_EncryptedData_encrypt.3" => [
- "doc/man3/CMS_EncryptedData_encrypt.pod"
- ],
- "doc/man/man3/CMS_EnvelopedData_create.3" => [
- "doc/man3/CMS_EnvelopedData_create.pod"
- ],
- "doc/man/man3/CMS_add0_cert.3" => [
- "doc/man3/CMS_add0_cert.pod"
- ],
- "doc/man/man3/CMS_add1_recipient_cert.3" => [
- "doc/man3/CMS_add1_recipient_cert.pod"
- ],
- "doc/man/man3/CMS_add1_signer.3" => [
- "doc/man3/CMS_add1_signer.pod"
- ],
- "doc/man/man3/CMS_compress.3" => [
- "doc/man3/CMS_compress.pod"
- ],
- "doc/man/man3/CMS_data_create.3" => [
- "doc/man3/CMS_data_create.pod"
- ],
- "doc/man/man3/CMS_decrypt.3" => [
- "doc/man3/CMS_decrypt.pod"
- ],
- "doc/man/man3/CMS_digest_create.3" => [
- "doc/man3/CMS_digest_create.pod"
- ],
- "doc/man/man3/CMS_encrypt.3" => [
- "doc/man3/CMS_encrypt.pod"
- ],
- "doc/man/man3/CMS_final.3" => [
- "doc/man3/CMS_final.pod"
- ],
- "doc/man/man3/CMS_get0_RecipientInfos.3" => [
- "doc/man3/CMS_get0_RecipientInfos.pod"
- ],
- "doc/man/man3/CMS_get0_SignerInfos.3" => [
- "doc/man3/CMS_get0_SignerInfos.pod"
- ],
- "doc/man/man3/CMS_get0_type.3" => [
- "doc/man3/CMS_get0_type.pod"
- ],
- "doc/man/man3/CMS_get1_ReceiptRequest.3" => [
- "doc/man3/CMS_get1_ReceiptRequest.pod"
- ],
- "doc/man/man3/CMS_sign.3" => [
- "doc/man3/CMS_sign.pod"
- ],
- "doc/man/man3/CMS_sign_receipt.3" => [
- "doc/man3/CMS_sign_receipt.pod"
- ],
- "doc/man/man3/CMS_signed_get_attr.3" => [
- "doc/man3/CMS_signed_get_attr.pod"
- ],
- "doc/man/man3/CMS_uncompress.3" => [
- "doc/man3/CMS_uncompress.pod"
- ],
- "doc/man/man3/CMS_verify.3" => [
- "doc/man3/CMS_verify.pod"
- ],
- "doc/man/man3/CMS_verify_receipt.3" => [
- "doc/man3/CMS_verify_receipt.pod"
- ],
- "doc/man/man3/COMP_CTX_new.3" => [
- "doc/man3/COMP_CTX_new.pod"
- ],
- "doc/man/man3/CONF_modules_free.3" => [
- "doc/man3/CONF_modules_free.pod"
- ],
- "doc/man/man3/CONF_modules_load_file.3" => [
- "doc/man3/CONF_modules_load_file.pod"
- ],
- "doc/man/man3/CRYPTO_THREAD_run_once.3" => [
- "doc/man3/CRYPTO_THREAD_run_once.pod"
- ],
- "doc/man/man3/CRYPTO_get_ex_new_index.3" => [
- "doc/man3/CRYPTO_get_ex_new_index.pod"
- ],
- "doc/man/man3/CRYPTO_memcmp.3" => [
- "doc/man3/CRYPTO_memcmp.pod"
- ],
- "doc/man/man3/CTLOG_STORE_get0_log_by_id.3" => [
- "doc/man3/CTLOG_STORE_get0_log_by_id.pod"
- ],
- "doc/man/man3/CTLOG_STORE_new.3" => [
- "doc/man3/CTLOG_STORE_new.pod"
- ],
- "doc/man/man3/CTLOG_new.3" => [
- "doc/man3/CTLOG_new.pod"
- ],
- "doc/man/man3/CT_POLICY_EVAL_CTX_new.3" => [
- "doc/man3/CT_POLICY_EVAL_CTX_new.pod"
- ],
- "doc/man/man3/DEFINE_STACK_OF.3" => [
- "doc/man3/DEFINE_STACK_OF.pod"
- ],
- "doc/man/man3/DES_random_key.3" => [
- "doc/man3/DES_random_key.pod"
- ],
- "doc/man/man3/DH_generate_key.3" => [
- "doc/man3/DH_generate_key.pod"
- ],
- "doc/man/man3/DH_generate_parameters.3" => [
- "doc/man3/DH_generate_parameters.pod"
- ],
- "doc/man/man3/DH_get0_pqg.3" => [
- "doc/man3/DH_get0_pqg.pod"
- ],
- "doc/man/man3/DH_get_1024_160.3" => [
- "doc/man3/DH_get_1024_160.pod"
- ],
- "doc/man/man3/DH_meth_new.3" => [
- "doc/man3/DH_meth_new.pod"
- ],
- "doc/man/man3/DH_new.3" => [
- "doc/man3/DH_new.pod"
- ],
- "doc/man/man3/DH_new_by_nid.3" => [
- "doc/man3/DH_new_by_nid.pod"
- ],
- "doc/man/man3/DH_set_method.3" => [
- "doc/man3/DH_set_method.pod"
- ],
- "doc/man/man3/DH_size.3" => [
- "doc/man3/DH_size.pod"
- ],
- "doc/man/man3/DSA_SIG_new.3" => [
- "doc/man3/DSA_SIG_new.pod"
- ],
- "doc/man/man3/DSA_do_sign.3" => [
- "doc/man3/DSA_do_sign.pod"
- ],
- "doc/man/man3/DSA_dup_DH.3" => [
- "doc/man3/DSA_dup_DH.pod"
- ],
- "doc/man/man3/DSA_generate_key.3" => [
- "doc/man3/DSA_generate_key.pod"
- ],
- "doc/man/man3/DSA_generate_parameters.3" => [
- "doc/man3/DSA_generate_parameters.pod"
- ],
- "doc/man/man3/DSA_get0_pqg.3" => [
- "doc/man3/DSA_get0_pqg.pod"
- ],
- "doc/man/man3/DSA_meth_new.3" => [
- "doc/man3/DSA_meth_new.pod"
- ],
- "doc/man/man3/DSA_new.3" => [
- "doc/man3/DSA_new.pod"
- ],
- "doc/man/man3/DSA_set_method.3" => [
- "doc/man3/DSA_set_method.pod"
- ],
- "doc/man/man3/DSA_sign.3" => [
- "doc/man3/DSA_sign.pod"
- ],
- "doc/man/man3/DSA_size.3" => [
- "doc/man3/DSA_size.pod"
- ],
- "doc/man/man3/DTLS_get_data_mtu.3" => [
- "doc/man3/DTLS_get_data_mtu.pod"
- ],
- "doc/man/man3/DTLS_set_timer_cb.3" => [
- "doc/man3/DTLS_set_timer_cb.pod"
- ],
- "doc/man/man3/DTLSv1_get_timeout.3" => [
- "doc/man3/DTLSv1_get_timeout.pod"
- ],
- "doc/man/man3/DTLSv1_handle_timeout.3" => [
- "doc/man3/DTLSv1_handle_timeout.pod"
- ],
- "doc/man/man3/DTLSv1_listen.3" => [
- "doc/man3/DTLSv1_listen.pod"
- ],
- "doc/man/man3/ECDSA_SIG_new.3" => [
- "doc/man3/ECDSA_SIG_new.pod"
- ],
- "doc/man/man3/ECDSA_sign.3" => [
- "doc/man3/ECDSA_sign.pod"
- ],
- "doc/man/man3/ECPKParameters_print.3" => [
- "doc/man3/ECPKParameters_print.pod"
- ],
- "doc/man/man3/EC_GFp_simple_method.3" => [
- "doc/man3/EC_GFp_simple_method.pod"
- ],
- "doc/man/man3/EC_GROUP_copy.3" => [
- "doc/man3/EC_GROUP_copy.pod"
- ],
- "doc/man/man3/EC_GROUP_new.3" => [
- "doc/man3/EC_GROUP_new.pod"
- ],
- "doc/man/man3/EC_KEY_get_enc_flags.3" => [
- "doc/man3/EC_KEY_get_enc_flags.pod"
- ],
- "doc/man/man3/EC_KEY_new.3" => [
- "doc/man3/EC_KEY_new.pod"
- ],
- "doc/man/man3/EC_POINT_add.3" => [
- "doc/man3/EC_POINT_add.pod"
- ],
- "doc/man/man3/EC_POINT_new.3" => [
- "doc/man3/EC_POINT_new.pod"
- ],
- "doc/man/man3/ENGINE_add.3" => [
- "doc/man3/ENGINE_add.pod"
- ],
- "doc/man/man3/ERR_GET_LIB.3" => [
- "doc/man3/ERR_GET_LIB.pod"
- ],
- "doc/man/man3/ERR_clear_error.3" => [
- "doc/man3/ERR_clear_error.pod"
- ],
- "doc/man/man3/ERR_error_string.3" => [
- "doc/man3/ERR_error_string.pod"
- ],
- "doc/man/man3/ERR_get_error.3" => [
- "doc/man3/ERR_get_error.pod"
- ],
- "doc/man/man3/ERR_load_crypto_strings.3" => [
- "doc/man3/ERR_load_crypto_strings.pod"
- ],
- "doc/man/man3/ERR_load_strings.3" => [
- "doc/man3/ERR_load_strings.pod"
- ],
- "doc/man/man3/ERR_new.3" => [
- "doc/man3/ERR_new.pod"
- ],
- "doc/man/man3/ERR_print_errors.3" => [
- "doc/man3/ERR_print_errors.pod"
- ],
- "doc/man/man3/ERR_put_error.3" => [
- "doc/man3/ERR_put_error.pod"
- ],
- "doc/man/man3/ERR_remove_state.3" => [
- "doc/man3/ERR_remove_state.pod"
- ],
- "doc/man/man3/ERR_set_mark.3" => [
- "doc/man3/ERR_set_mark.pod"
- ],
- "doc/man/man3/EVP_ASYM_CIPHER_free.3" => [
- "doc/man3/EVP_ASYM_CIPHER_free.pod"
- ],
- "doc/man/man3/EVP_BytesToKey.3" => [
- "doc/man3/EVP_BytesToKey.pod"
- ],
- "doc/man/man3/EVP_CIPHER_CTX_get_cipher_data.3" => [
- "doc/man3/EVP_CIPHER_CTX_get_cipher_data.pod"
- ],
- "doc/man/man3/EVP_CIPHER_CTX_get_original_iv.3" => [
- "doc/man3/EVP_CIPHER_CTX_get_original_iv.pod"
- ],
- "doc/man/man3/EVP_CIPHER_meth_new.3" => [
- "doc/man3/EVP_CIPHER_meth_new.pod"
- ],
- "doc/man/man3/EVP_DigestInit.3" => [
- "doc/man3/EVP_DigestInit.pod"
- ],
- "doc/man/man3/EVP_DigestSignInit.3" => [
- "doc/man3/EVP_DigestSignInit.pod"
- ],
- "doc/man/man3/EVP_DigestVerifyInit.3" => [
- "doc/man3/EVP_DigestVerifyInit.pod"
- ],
- "doc/man/man3/EVP_EncodeInit.3" => [
- "doc/man3/EVP_EncodeInit.pod"
- ],
- "doc/man/man3/EVP_EncryptInit.3" => [
- "doc/man3/EVP_EncryptInit.pod"
- ],
- "doc/man/man3/EVP_KDF.3" => [
- "doc/man3/EVP_KDF.pod"
- ],
- "doc/man/man3/EVP_KEM_free.3" => [
- "doc/man3/EVP_KEM_free.pod"
- ],
- "doc/man/man3/EVP_KEYEXCH_free.3" => [
- "doc/man3/EVP_KEYEXCH_free.pod"
- ],
- "doc/man/man3/EVP_KEYMGMT.3" => [
- "doc/man3/EVP_KEYMGMT.pod"
- ],
- "doc/man/man3/EVP_MAC.3" => [
- "doc/man3/EVP_MAC.pod"
- ],
- "doc/man/man3/EVP_MD_meth_new.3" => [
- "doc/man3/EVP_MD_meth_new.pod"
- ],
- "doc/man/man3/EVP_OpenInit.3" => [
- "doc/man3/EVP_OpenInit.pod"
- ],
- "doc/man/man3/EVP_PBE_CipherInit.3" => [
- "doc/man3/EVP_PBE_CipherInit.pod"
- ],
- "doc/man/man3/EVP_PKEY2PKCS8.3" => [
- "doc/man3/EVP_PKEY2PKCS8.pod"
- ],
- "doc/man/man3/EVP_PKEY_ASN1_METHOD.3" => [
- "doc/man3/EVP_PKEY_ASN1_METHOD.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_ctrl.3" => [
- "doc/man3/EVP_PKEY_CTX_ctrl.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_get0_libctx.3" => [
- "doc/man3/EVP_PKEY_CTX_get0_libctx.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_get0_pkey.3" => [
- "doc/man3/EVP_PKEY_CTX_get0_pkey.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_get_algor.3" => [
- "doc/man3/EVP_PKEY_CTX_get_algor.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_new.3" => [
- "doc/man3/EVP_PKEY_CTX_new.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3" => [
- "doc/man3/EVP_PKEY_CTX_set1_pbe_pass.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_hkdf_md.3" => [
- "doc/man3/EVP_PKEY_CTX_set_hkdf_md.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_params.3" => [
- "doc/man3/EVP_PKEY_CTX_set_params.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3" => [
- "doc/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_scrypt_N.3" => [
- "doc/man3/EVP_PKEY_CTX_set_scrypt_N.pod"
- ],
- "doc/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3" => [
- "doc/man3/EVP_PKEY_CTX_set_tls1_prf_md.pod"
- ],
- "doc/man/man3/EVP_PKEY_asn1_get_count.3" => [
- "doc/man3/EVP_PKEY_asn1_get_count.pod"
- ],
- "doc/man/man3/EVP_PKEY_check.3" => [
- "doc/man3/EVP_PKEY_check.pod"
- ],
- "doc/man/man3/EVP_PKEY_copy_parameters.3" => [
- "doc/man3/EVP_PKEY_copy_parameters.pod"
- ],
- "doc/man/man3/EVP_PKEY_decapsulate.3" => [
- "doc/man3/EVP_PKEY_decapsulate.pod"
- ],
- "doc/man/man3/EVP_PKEY_decrypt.3" => [
- "doc/man3/EVP_PKEY_decrypt.pod"
- ],
- "doc/man/man3/EVP_PKEY_derive.3" => [
- "doc/man3/EVP_PKEY_derive.pod"
- ],
- "doc/man/man3/EVP_PKEY_digestsign_supports_digest.3" => [
- "doc/man3/EVP_PKEY_digestsign_supports_digest.pod"
- ],
- "doc/man/man3/EVP_PKEY_encapsulate.3" => [
- "doc/man3/EVP_PKEY_encapsulate.pod"
- ],
- "doc/man/man3/EVP_PKEY_encrypt.3" => [
- "doc/man3/EVP_PKEY_encrypt.pod"
- ],
- "doc/man/man3/EVP_PKEY_fromdata.3" => [
- "doc/man3/EVP_PKEY_fromdata.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_attr.3" => [
- "doc/man3/EVP_PKEY_get_attr.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_default_digest_nid.3" => [
- "doc/man3/EVP_PKEY_get_default_digest_nid.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_field_type.3" => [
- "doc/man3/EVP_PKEY_get_field_type.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_group_name.3" => [
- "doc/man3/EVP_PKEY_get_group_name.pod"
- ],
- "doc/man/man3/EVP_PKEY_get_size.3" => [
- "doc/man3/EVP_PKEY_get_size.pod"
- ],
- "doc/man/man3/EVP_PKEY_gettable_params.3" => [
- "doc/man3/EVP_PKEY_gettable_params.pod"
- ],
- "doc/man/man3/EVP_PKEY_is_a.3" => [
- "doc/man3/EVP_PKEY_is_a.pod"
- ],
- "doc/man/man3/EVP_PKEY_keygen.3" => [
- "doc/man3/EVP_PKEY_keygen.pod"
- ],
- "doc/man/man3/EVP_PKEY_meth_get_count.3" => [
- "doc/man3/EVP_PKEY_meth_get_count.pod"
- ],
- "doc/man/man3/EVP_PKEY_meth_new.3" => [
- "doc/man3/EVP_PKEY_meth_new.pod"
- ],
- "doc/man/man3/EVP_PKEY_new.3" => [
- "doc/man3/EVP_PKEY_new.pod"
- ],
- "doc/man/man3/EVP_PKEY_print_private.3" => [
- "doc/man3/EVP_PKEY_print_private.pod"
- ],
- "doc/man/man3/EVP_PKEY_set1_RSA.3" => [
- "doc/man3/EVP_PKEY_set1_RSA.pod"
- ],
- "doc/man/man3/EVP_PKEY_set1_encoded_public_key.3" => [
- "doc/man3/EVP_PKEY_set1_encoded_public_key.pod"
- ],
- "doc/man/man3/EVP_PKEY_set_type.3" => [
- "doc/man3/EVP_PKEY_set_type.pod"
- ],
- "doc/man/man3/EVP_PKEY_settable_params.3" => [
- "doc/man3/EVP_PKEY_settable_params.pod"
- ],
- "doc/man/man3/EVP_PKEY_sign.3" => [
- "doc/man3/EVP_PKEY_sign.pod"
- ],
- "doc/man/man3/EVP_PKEY_todata.3" => [
- "doc/man3/EVP_PKEY_todata.pod"
- ],
- "doc/man/man3/EVP_PKEY_verify.3" => [
- "doc/man3/EVP_PKEY_verify.pod"
- ],
- "doc/man/man3/EVP_PKEY_verify_recover.3" => [
- "doc/man3/EVP_PKEY_verify_recover.pod"
- ],
- "doc/man/man3/EVP_RAND.3" => [
- "doc/man3/EVP_RAND.pod"
- ],
- "doc/man/man3/EVP_SIGNATURE.3" => [
- "doc/man3/EVP_SIGNATURE.pod"
- ],
- "doc/man/man3/EVP_SKEY.3" => [
- "doc/man3/EVP_SKEY.pod"
- ],
- "doc/man/man3/EVP_SKEYMGMT.3" => [
- "doc/man3/EVP_SKEYMGMT.pod"
- ],
- "doc/man/man3/EVP_SealInit.3" => [
- "doc/man3/EVP_SealInit.pod"
- ],
- "doc/man/man3/EVP_SignInit.3" => [
- "doc/man3/EVP_SignInit.pod"
- ],
- "doc/man/man3/EVP_VerifyInit.3" => [
- "doc/man3/EVP_VerifyInit.pod"
- ],
- "doc/man/man3/EVP_aes_128_gcm.3" => [
- "doc/man3/EVP_aes_128_gcm.pod"
- ],
- "doc/man/man3/EVP_aria_128_gcm.3" => [
- "doc/man3/EVP_aria_128_gcm.pod"
- ],
- "doc/man/man3/EVP_bf_cbc.3" => [
- "doc/man3/EVP_bf_cbc.pod"
- ],
- "doc/man/man3/EVP_blake2b512.3" => [
- "doc/man3/EVP_blake2b512.pod"
- ],
- "doc/man/man3/EVP_camellia_128_ecb.3" => [
- "doc/man3/EVP_camellia_128_ecb.pod"
- ],
- "doc/man/man3/EVP_cast5_cbc.3" => [
- "doc/man3/EVP_cast5_cbc.pod"
- ],
- "doc/man/man3/EVP_chacha20.3" => [
- "doc/man3/EVP_chacha20.pod"
- ],
- "doc/man/man3/EVP_des_cbc.3" => [
- "doc/man3/EVP_des_cbc.pod"
- ],
- "doc/man/man3/EVP_desx_cbc.3" => [
- "doc/man3/EVP_desx_cbc.pod"
- ],
- "doc/man/man3/EVP_idea_cbc.3" => [
- "doc/man3/EVP_idea_cbc.pod"
- ],
- "doc/man/man3/EVP_md2.3" => [
- "doc/man3/EVP_md2.pod"
- ],
- "doc/man/man3/EVP_md4.3" => [
- "doc/man3/EVP_md4.pod"
- ],
- "doc/man/man3/EVP_md5.3" => [
- "doc/man3/EVP_md5.pod"
- ],
- "doc/man/man3/EVP_mdc2.3" => [
- "doc/man3/EVP_mdc2.pod"
- ],
- "doc/man/man3/EVP_rc2_cbc.3" => [
- "doc/man3/EVP_rc2_cbc.pod"
- ],
- "doc/man/man3/EVP_rc4.3" => [
- "doc/man3/EVP_rc4.pod"
- ],
- "doc/man/man3/EVP_rc5_32_12_16_cbc.3" => [
- "doc/man3/EVP_rc5_32_12_16_cbc.pod"
- ],
- "doc/man/man3/EVP_ripemd160.3" => [
- "doc/man3/EVP_ripemd160.pod"
- ],
- "doc/man/man3/EVP_seed_cbc.3" => [
- "doc/man3/EVP_seed_cbc.pod"
- ],
- "doc/man/man3/EVP_set_default_properties.3" => [
- "doc/man3/EVP_set_default_properties.pod"
- ],
- "doc/man/man3/EVP_sha1.3" => [
- "doc/man3/EVP_sha1.pod"
- ],
- "doc/man/man3/EVP_sha224.3" => [
- "doc/man3/EVP_sha224.pod"
- ],
- "doc/man/man3/EVP_sha3_224.3" => [
- "doc/man3/EVP_sha3_224.pod"
- ],
- "doc/man/man3/EVP_sm3.3" => [
- "doc/man3/EVP_sm3.pod"
- ],
- "doc/man/man3/EVP_sm4_cbc.3" => [
- "doc/man3/EVP_sm4_cbc.pod"
- ],
- "doc/man/man3/EVP_whirlpool.3" => [
- "doc/man3/EVP_whirlpool.pod"
- ],
- "doc/man/man3/GENERAL_NAME.3" => [
- "doc/man3/GENERAL_NAME.pod"
- ],
- "doc/man/man3/HMAC.3" => [
- "doc/man3/HMAC.pod"
- ],
- "doc/man/man3/MD5.3" => [
- "doc/man3/MD5.pod"
- ],
- "doc/man/man3/MDC2_Init.3" => [
- "doc/man3/MDC2_Init.pod"
- ],
- "doc/man/man3/NCONF_new_ex.3" => [
- "doc/man3/NCONF_new_ex.pod"
- ],
- "doc/man/man3/OBJ_nid2obj.3" => [
- "doc/man3/OBJ_nid2obj.pod"
- ],
- "doc/man/man3/OCSP_REQUEST_new.3" => [
- "doc/man3/OCSP_REQUEST_new.pod"
- ],
- "doc/man/man3/OCSP_cert_to_id.3" => [
- "doc/man3/OCSP_cert_to_id.pod"
- ],
- "doc/man/man3/OCSP_request_add1_nonce.3" => [
- "doc/man3/OCSP_request_add1_nonce.pod"
- ],
- "doc/man/man3/OCSP_resp_find_status.3" => [
- "doc/man3/OCSP_resp_find_status.pod"
- ],
- "doc/man/man3/OCSP_response_status.3" => [
- "doc/man3/OCSP_response_status.pod"
- ],
- "doc/man/man3/OCSP_sendreq_new.3" => [
- "doc/man3/OCSP_sendreq_new.pod"
- ],
- "doc/man/man3/OPENSSL_Applink.3" => [
- "doc/man3/OPENSSL_Applink.pod"
- ],
- "doc/man/man3/OPENSSL_FILE.3" => [
- "doc/man3/OPENSSL_FILE.pod"
- ],
- "doc/man/man3/OPENSSL_LH_COMPFUNC.3" => [
- "doc/man3/OPENSSL_LH_COMPFUNC.pod"
- ],
- "doc/man/man3/OPENSSL_LH_stats.3" => [
- "doc/man3/OPENSSL_LH_stats.pod"
- ],
- "doc/man/man3/OPENSSL_config.3" => [
- "doc/man3/OPENSSL_config.pod"
- ],
- "doc/man/man3/OPENSSL_fork_prepare.3" => [
- "doc/man3/OPENSSL_fork_prepare.pod"
- ],
- "doc/man/man3/OPENSSL_gmtime.3" => [
- "doc/man3/OPENSSL_gmtime.pod"
- ],
- "doc/man/man3/OPENSSL_hexchar2int.3" => [
- "doc/man3/OPENSSL_hexchar2int.pod"
- ],
- "doc/man/man3/OPENSSL_ia32cap.3" => [
- "doc/man3/OPENSSL_ia32cap.pod"
- ],
- "doc/man/man3/OPENSSL_init_crypto.3" => [
- "doc/man3/OPENSSL_init_crypto.pod"
- ],
- "doc/man/man3/OPENSSL_init_ssl.3" => [
- "doc/man3/OPENSSL_init_ssl.pod"
- ],
- "doc/man/man3/OPENSSL_instrument_bus.3" => [
- "doc/man3/OPENSSL_instrument_bus.pod"
- ],
- "doc/man/man3/OPENSSL_load_builtin_modules.3" => [
- "doc/man3/OPENSSL_load_builtin_modules.pod"
- ],
- "doc/man/man3/OPENSSL_load_u16_le.3" => [
- "doc/man3/OPENSSL_load_u16_le.pod"
- ],
- "doc/man/man3/OPENSSL_malloc.3" => [
- "doc/man3/OPENSSL_malloc.pod"
- ],
- "doc/man/man3/OPENSSL_riscvcap.3" => [
- "doc/man3/OPENSSL_riscvcap.pod"
- ],
- "doc/man/man3/OPENSSL_s390xcap.3" => [
- "doc/man3/OPENSSL_s390xcap.pod"
- ],
- "doc/man/man3/OPENSSL_secure_malloc.3" => [
- "doc/man3/OPENSSL_secure_malloc.pod"
- ],
- "doc/man/man3/OPENSSL_strcasecmp.3" => [
- "doc/man3/OPENSSL_strcasecmp.pod"
- ],
- "doc/man/man3/OSSL_ALGORITHM.3" => [
- "doc/man3/OSSL_ALGORITHM.pod"
- ],
- "doc/man/man3/OSSL_CALLBACK.3" => [
- "doc/man3/OSSL_CALLBACK.pod"
- ],
- "doc/man/man3/OSSL_CMP_ATAV_set0.3" => [
- "doc/man3/OSSL_CMP_ATAV_set0.pod"
- ],
- "doc/man/man3/OSSL_CMP_CTX_new.3" => [
- "doc/man3/OSSL_CMP_CTX_new.pod"
- ],
- "doc/man/man3/OSSL_CMP_HDR_get0_transactionID.3" => [
- "doc/man3/OSSL_CMP_HDR_get0_transactionID.pod"
- ],
- "doc/man/man3/OSSL_CMP_ITAV_new_caCerts.3" => [
- "doc/man3/OSSL_CMP_ITAV_new_caCerts.pod"
- ],
- "doc/man/man3/OSSL_CMP_ITAV_set0.3" => [
- "doc/man3/OSSL_CMP_ITAV_set0.pod"
- ],
- "doc/man/man3/OSSL_CMP_MSG_get0_header.3" => [
- "doc/man3/OSSL_CMP_MSG_get0_header.pod"
- ],
- "doc/man/man3/OSSL_CMP_MSG_http_perform.3" => [
- "doc/man3/OSSL_CMP_MSG_http_perform.pod"
- ],
- "doc/man/man3/OSSL_CMP_SRV_CTX_new.3" => [
- "doc/man3/OSSL_CMP_SRV_CTX_new.pod"
- ],
- "doc/man/man3/OSSL_CMP_STATUSINFO_new.3" => [
- "doc/man3/OSSL_CMP_STATUSINFO_new.pod"
- ],
- "doc/man/man3/OSSL_CMP_exec_certreq.3" => [
- "doc/man3/OSSL_CMP_exec_certreq.pod"
- ],
- "doc/man/man3/OSSL_CMP_log_open.3" => [
- "doc/man3/OSSL_CMP_log_open.pod"
- ],
- "doc/man/man3/OSSL_CMP_validate_msg.3" => [
- "doc/man3/OSSL_CMP_validate_msg.pod"
- ],
- "doc/man/man3/OSSL_CORE_MAKE_FUNC.3" => [
- "doc/man3/OSSL_CORE_MAKE_FUNC.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_get0_tmpl.3" => [
- "doc/man3/OSSL_CRMF_MSG_get0_tmpl.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_set0_validity.3" => [
- "doc/man3/OSSL_CRMF_MSG_set0_validity.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.pod"
- ],
- "doc/man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3" => [
- "doc/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.pod"
- ],
- "doc/man/man3/OSSL_CRMF_pbmp_new.3" => [
- "doc/man3/OSSL_CRMF_pbmp_new.pod"
- ],
- "doc/man/man3/OSSL_DECODER.3" => [
- "doc/man3/OSSL_DECODER.pod"
- ],
- "doc/man/man3/OSSL_DECODER_CTX.3" => [
- "doc/man3/OSSL_DECODER_CTX.pod"
- ],
- "doc/man/man3/OSSL_DECODER_CTX_new_for_pkey.3" => [
- "doc/man3/OSSL_DECODER_CTX_new_for_pkey.pod"
- ],
- "doc/man/man3/OSSL_DECODER_from_bio.3" => [
- "doc/man3/OSSL_DECODER_from_bio.pod"
- ],
- "doc/man/man3/OSSL_DISPATCH.3" => [
- "doc/man3/OSSL_DISPATCH.pod"
- ],
- "doc/man/man3/OSSL_ENCODER.3" => [
- "doc/man3/OSSL_ENCODER.pod"
- ],
- "doc/man/man3/OSSL_ENCODER_CTX.3" => [
- "doc/man3/OSSL_ENCODER_CTX.pod"
- ],
- "doc/man/man3/OSSL_ENCODER_CTX_new_for_pkey.3" => [
- "doc/man3/OSSL_ENCODER_CTX_new_for_pkey.pod"
- ],
- "doc/man/man3/OSSL_ENCODER_to_bio.3" => [
- "doc/man3/OSSL_ENCODER_to_bio.pod"
- ],
- "doc/man/man3/OSSL_ERR_STATE_save.3" => [
- "doc/man3/OSSL_ERR_STATE_save.pod"
- ],
- "doc/man/man3/OSSL_ESS_check_signing_certs.3" => [
- "doc/man3/OSSL_ESS_check_signing_certs.pod"
- ],
- "doc/man/man3/OSSL_GENERAL_NAMES_print.3" => [
- "doc/man3/OSSL_GENERAL_NAMES_print.pod"
- ],
- "doc/man/man3/OSSL_HPKE_CTX_new.3" => [
- "doc/man3/OSSL_HPKE_CTX_new.pod"
- ],
- "doc/man/man3/OSSL_HTTP_REQ_CTX.3" => [
- "doc/man3/OSSL_HTTP_REQ_CTX.pod"
- ],
- "doc/man/man3/OSSL_HTTP_parse_url.3" => [
- "doc/man3/OSSL_HTTP_parse_url.pod"
- ],
- "doc/man/man3/OSSL_HTTP_transfer.3" => [
- "doc/man3/OSSL_HTTP_transfer.pod"
- ],
- "doc/man/man3/OSSL_IETF_ATTR_SYNTAX.3" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX.pod"
- ],
- "doc/man/man3/OSSL_IETF_ATTR_SYNTAX_print.3" => [
- "doc/man3/OSSL_IETF_ATTR_SYNTAX_print.pod"
- ],
- "doc/man/man3/OSSL_INDICATOR_set_callback.3" => [
- "doc/man3/OSSL_INDICATOR_set_callback.pod"
- ],
- "doc/man/man3/OSSL_ITEM.3" => [
- "doc/man3/OSSL_ITEM.pod"
- ],
- "doc/man/man3/OSSL_LIB_CTX.3" => [
- "doc/man3/OSSL_LIB_CTX.pod"
- ],
- "doc/man/man3/OSSL_LIB_CTX_set_conf_diagnostics.3" => [
- "doc/man3/OSSL_LIB_CTX_set_conf_diagnostics.pod"
- ],
- "doc/man/man3/OSSL_PARAM.3" => [
- "doc/man3/OSSL_PARAM.pod"
- ],
- "doc/man/man3/OSSL_PARAM_BLD.3" => [
- "doc/man3/OSSL_PARAM_BLD.pod"
- ],
- "doc/man/man3/OSSL_PARAM_allocate_from_text.3" => [
- "doc/man3/OSSL_PARAM_allocate_from_text.pod"
- ],
- "doc/man/man3/OSSL_PARAM_dup.3" => [
- "doc/man3/OSSL_PARAM_dup.pod"
- ],
- "doc/man/man3/OSSL_PARAM_int.3" => [
- "doc/man3/OSSL_PARAM_int.pod"
- ],
- "doc/man/man3/OSSL_PARAM_print_to_bio.3" => [
- "doc/man3/OSSL_PARAM_print_to_bio.pod"
- ],
- "doc/man/man3/OSSL_PROVIDER.3" => [
- "doc/man3/OSSL_PROVIDER.pod"
- ],
- "doc/man/man3/OSSL_QUIC_client_method.3" => [
- "doc/man3/OSSL_QUIC_client_method.pod"
- ],
- "doc/man/man3/OSSL_SELF_TEST_new.3" => [
- "doc/man3/OSSL_SELF_TEST_new.pod"
- ],
- "doc/man/man3/OSSL_SELF_TEST_set_callback.3" => [
- "doc/man3/OSSL_SELF_TEST_set_callback.pod"
- ],
- "doc/man/man3/OSSL_STORE_INFO.3" => [
- "doc/man3/OSSL_STORE_INFO.pod"
- ],
- "doc/man/man3/OSSL_STORE_LOADER.3" => [
- "doc/man3/OSSL_STORE_LOADER.pod"
- ],
- "doc/man/man3/OSSL_STORE_SEARCH.3" => [
- "doc/man3/OSSL_STORE_SEARCH.pod"
- ],
- "doc/man/man3/OSSL_STORE_attach.3" => [
- "doc/man3/OSSL_STORE_attach.pod"
- ],
- "doc/man/man3/OSSL_STORE_expect.3" => [
- "doc/man3/OSSL_STORE_expect.pod"
- ],
- "doc/man/man3/OSSL_STORE_open.3" => [
- "doc/man3/OSSL_STORE_open.pod"
- ],
- "doc/man/man3/OSSL_sleep.3" => [
- "doc/man3/OSSL_sleep.pod"
- ],
- "doc/man/man3/OSSL_trace_enabled.3" => [
- "doc/man3/OSSL_trace_enabled.pod"
- ],
- "doc/man/man3/OSSL_trace_get_category_num.3" => [
- "doc/man3/OSSL_trace_get_category_num.pod"
- ],
- "doc/man/man3/OSSL_trace_set_channel.3" => [
- "doc/man3/OSSL_trace_set_channel.pod"
- ],
- "doc/man/man3/OpenSSL_add_all_algorithms.3" => [
- "doc/man3/OpenSSL_add_all_algorithms.pod"
- ],
- "doc/man/man3/OpenSSL_version.3" => [
- "doc/man3/OpenSSL_version.pod"
- ],
- "doc/man/man3/PBMAC1_get1_pbkdf2_param.3" => [
- "doc/man3/PBMAC1_get1_pbkdf2_param.pod"
- ],
- "doc/man/man3/PEM_X509_INFO_read_bio_ex.3" => [
- "doc/man3/PEM_X509_INFO_read_bio_ex.pod"
- ],
- "doc/man/man3/PEM_bytes_read_bio.3" => [
- "doc/man3/PEM_bytes_read_bio.pod"
- ],
- "doc/man/man3/PEM_read.3" => [
- "doc/man3/PEM_read.pod"
- ],
- "doc/man/man3/PEM_read_CMS.3" => [
- "doc/man3/PEM_read_CMS.pod"
- ],
- "doc/man/man3/PEM_read_bio_PrivateKey.3" => [
- "doc/man3/PEM_read_bio_PrivateKey.pod"
- ],
- "doc/man/man3/PEM_read_bio_ex.3" => [
- "doc/man3/PEM_read_bio_ex.pod"
- ],
- "doc/man/man3/PEM_write_bio_CMS_stream.3" => [
- "doc/man3/PEM_write_bio_CMS_stream.pod"
- ],
- "doc/man/man3/PEM_write_bio_PKCS7_stream.3" => [
- "doc/man3/PEM_write_bio_PKCS7_stream.pod"
- ],
- "doc/man/man3/PKCS12_PBE_keyivgen.3" => [
- "doc/man3/PKCS12_PBE_keyivgen.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_create_cert.3" => [
- "doc/man3/PKCS12_SAFEBAG_create_cert.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_get0_attrs.3" => [
- "doc/man3/PKCS12_SAFEBAG_get0_attrs.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_get1_cert.3" => [
- "doc/man3/PKCS12_SAFEBAG_get1_cert.pod"
- ],
- "doc/man/man3/PKCS12_SAFEBAG_set0_attrs.3" => [
- "doc/man3/PKCS12_SAFEBAG_set0_attrs.pod"
- ],
- "doc/man/man3/PKCS12_add1_attr_by_NID.3" => [
- "doc/man3/PKCS12_add1_attr_by_NID.pod"
- ],
- "doc/man/man3/PKCS12_add_CSPName_asc.3" => [
- "doc/man3/PKCS12_add_CSPName_asc.pod"
- ],
- "doc/man/man3/PKCS12_add_cert.3" => [
- "doc/man3/PKCS12_add_cert.pod"
- ],
- "doc/man/man3/PKCS12_add_friendlyname_asc.3" => [
- "doc/man3/PKCS12_add_friendlyname_asc.pod"
- ],
- "doc/man/man3/PKCS12_add_localkeyid.3" => [
- "doc/man3/PKCS12_add_localkeyid.pod"
- ],
- "doc/man/man3/PKCS12_add_safe.3" => [
- "doc/man3/PKCS12_add_safe.pod"
- ],
- "doc/man/man3/PKCS12_create.3" => [
- "doc/man3/PKCS12_create.pod"
- ],
- "doc/man/man3/PKCS12_decrypt_skey.3" => [
- "doc/man3/PKCS12_decrypt_skey.pod"
- ],
- "doc/man/man3/PKCS12_gen_mac.3" => [
- "doc/man3/PKCS12_gen_mac.pod"
- ],
- "doc/man/man3/PKCS12_get_friendlyname.3" => [
- "doc/man3/PKCS12_get_friendlyname.pod"
- ],
- "doc/man/man3/PKCS12_init.3" => [
- "doc/man3/PKCS12_init.pod"
- ],
- "doc/man/man3/PKCS12_item_decrypt_d2i.3" => [
- "doc/man3/PKCS12_item_decrypt_d2i.pod"
- ],
- "doc/man/man3/PKCS12_key_gen_utf8_ex.3" => [
- "doc/man3/PKCS12_key_gen_utf8_ex.pod"
- ],
- "doc/man/man3/PKCS12_newpass.3" => [
- "doc/man3/PKCS12_newpass.pod"
- ],
- "doc/man/man3/PKCS12_pack_p7encdata.3" => [
- "doc/man3/PKCS12_pack_p7encdata.pod"
- ],
- "doc/man/man3/PKCS12_parse.3" => [
- "doc/man3/PKCS12_parse.pod"
- ],
- "doc/man/man3/PKCS5_PBE_keyivgen.3" => [
- "doc/man3/PKCS5_PBE_keyivgen.pod"
- ],
- "doc/man/man3/PKCS5_PBKDF2_HMAC.3" => [
- "doc/man3/PKCS5_PBKDF2_HMAC.pod"
- ],
- "doc/man/man3/PKCS7_decrypt.3" => [
- "doc/man3/PKCS7_decrypt.pod"
- ],
- "doc/man/man3/PKCS7_encrypt.3" => [
- "doc/man3/PKCS7_encrypt.pod"
- ],
- "doc/man/man3/PKCS7_get_octet_string.3" => [
- "doc/man3/PKCS7_get_octet_string.pod"
- ],
- "doc/man/man3/PKCS7_sign.3" => [
- "doc/man3/PKCS7_sign.pod"
- ],
- "doc/man/man3/PKCS7_sign_add_signer.3" => [
- "doc/man3/PKCS7_sign_add_signer.pod"
- ],
- "doc/man/man3/PKCS7_type_is_other.3" => [
- "doc/man3/PKCS7_type_is_other.pod"
- ],
- "doc/man/man3/PKCS7_verify.3" => [
- "doc/man3/PKCS7_verify.pod"
- ],
- "doc/man/man3/PKCS8_encrypt.3" => [
- "doc/man3/PKCS8_encrypt.pod"
- ],
- "doc/man/man3/PKCS8_pkey_add1_attr.3" => [
- "doc/man3/PKCS8_pkey_add1_attr.pod"
- ],
- "doc/man/man3/RAND_add.3" => [
- "doc/man3/RAND_add.pod"
- ],
- "doc/man/man3/RAND_bytes.3" => [
- "doc/man3/RAND_bytes.pod"
- ],
- "doc/man/man3/RAND_cleanup.3" => [
- "doc/man3/RAND_cleanup.pod"
- ],
- "doc/man/man3/RAND_egd.3" => [
- "doc/man3/RAND_egd.pod"
- ],
- "doc/man/man3/RAND_get0_primary.3" => [
- "doc/man3/RAND_get0_primary.pod"
- ],
- "doc/man/man3/RAND_load_file.3" => [
- "doc/man3/RAND_load_file.pod"
- ],
- "doc/man/man3/RAND_set_DRBG_type.3" => [
- "doc/man3/RAND_set_DRBG_type.pod"
- ],
- "doc/man/man3/RAND_set_rand_method.3" => [
- "doc/man3/RAND_set_rand_method.pod"
- ],
- "doc/man/man3/RC4_set_key.3" => [
- "doc/man3/RC4_set_key.pod"
- ],
- "doc/man/man3/RIPEMD160_Init.3" => [
- "doc/man3/RIPEMD160_Init.pod"
- ],
- "doc/man/man3/RSA_blinding_on.3" => [
- "doc/man3/RSA_blinding_on.pod"
- ],
- "doc/man/man3/RSA_check_key.3" => [
- "doc/man3/RSA_check_key.pod"
- ],
- "doc/man/man3/RSA_generate_key.3" => [
- "doc/man3/RSA_generate_key.pod"
- ],
- "doc/man/man3/RSA_get0_key.3" => [
- "doc/man3/RSA_get0_key.pod"
- ],
- "doc/man/man3/RSA_meth_new.3" => [
- "doc/man3/RSA_meth_new.pod"
- ],
- "doc/man/man3/RSA_new.3" => [
- "doc/man3/RSA_new.pod"
- ],
- "doc/man/man3/RSA_padding_add_PKCS1_type_1.3" => [
- "doc/man3/RSA_padding_add_PKCS1_type_1.pod"
- ],
- "doc/man/man3/RSA_print.3" => [
- "doc/man3/RSA_print.pod"
- ],
- "doc/man/man3/RSA_private_encrypt.3" => [
- "doc/man3/RSA_private_encrypt.pod"
- ],
- "doc/man/man3/RSA_public_encrypt.3" => [
- "doc/man3/RSA_public_encrypt.pod"
- ],
- "doc/man/man3/RSA_set_method.3" => [
- "doc/man3/RSA_set_method.pod"
- ],
- "doc/man/man3/RSA_sign.3" => [
- "doc/man3/RSA_sign.pod"
- ],
- "doc/man/man3/RSA_sign_ASN1_OCTET_STRING.3" => [
- "doc/man3/RSA_sign_ASN1_OCTET_STRING.pod"
- ],
- "doc/man/man3/RSA_size.3" => [
- "doc/man3/RSA_size.pod"
- ],
- "doc/man/man3/SCT_new.3" => [
- "doc/man3/SCT_new.pod"
- ],
- "doc/man/man3/SCT_print.3" => [
- "doc/man3/SCT_print.pod"
- ],
- "doc/man/man3/SCT_validate.3" => [
- "doc/man3/SCT_validate.pod"
- ],
- "doc/man/man3/SHA256_Init.3" => [
- "doc/man3/SHA256_Init.pod"
- ],
- "doc/man/man3/SMIME_read_ASN1.3" => [
- "doc/man3/SMIME_read_ASN1.pod"
- ],
- "doc/man/man3/SMIME_read_CMS.3" => [
- "doc/man3/SMIME_read_CMS.pod"
- ],
- "doc/man/man3/SMIME_read_PKCS7.3" => [
- "doc/man3/SMIME_read_PKCS7.pod"
- ],
- "doc/man/man3/SMIME_write_ASN1.3" => [
- "doc/man3/SMIME_write_ASN1.pod"
- ],
- "doc/man/man3/SMIME_write_CMS.3" => [
- "doc/man3/SMIME_write_CMS.pod"
- ],
- "doc/man/man3/SMIME_write_PKCS7.3" => [
- "doc/man3/SMIME_write_PKCS7.pod"
- ],
- "doc/man/man3/SRP_Calc_B.3" => [
- "doc/man3/SRP_Calc_B.pod"
- ],
- "doc/man/man3/SRP_VBASE_new.3" => [
- "doc/man3/SRP_VBASE_new.pod"
- ],
- "doc/man/man3/SRP_create_verifier.3" => [
- "doc/man3/SRP_create_verifier.pod"
- ],
- "doc/man/man3/SRP_user_pwd_new.3" => [
- "doc/man3/SRP_user_pwd_new.pod"
- ],
- "doc/man/man3/SSL_CIPHER_get_name.3" => [
- "doc/man3/SSL_CIPHER_get_name.pod"
- ],
- "doc/man/man3/SSL_COMP_add_compression_method.3" => [
- "doc/man3/SSL_COMP_add_compression_method.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_new.3" => [
- "doc/man3/SSL_CONF_CTX_new.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_set1_prefix.3" => [
- "doc/man3/SSL_CONF_CTX_set1_prefix.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_set_flags.3" => [
- "doc/man3/SSL_CONF_CTX_set_flags.pod"
- ],
- "doc/man/man3/SSL_CONF_CTX_set_ssl_ctx.3" => [
- "doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod"
- ],
- "doc/man/man3/SSL_CONF_cmd.3" => [
- "doc/man3/SSL_CONF_cmd.pod"
- ],
- "doc/man/man3/SSL_CONF_cmd_argv.3" => [
- "doc/man3/SSL_CONF_cmd_argv.pod"
- ],
- "doc/man/man3/SSL_CTX_add1_chain_cert.3" => [
- "doc/man3/SSL_CTX_add1_chain_cert.pod"
- ],
- "doc/man/man3/SSL_CTX_add_extra_chain_cert.3" => [
- "doc/man3/SSL_CTX_add_extra_chain_cert.pod"
- ],
- "doc/man/man3/SSL_CTX_add_session.3" => [
- "doc/man3/SSL_CTX_add_session.pod"
- ],
- "doc/man/man3/SSL_CTX_config.3" => [
- "doc/man3/SSL_CTX_config.pod"
- ],
- "doc/man/man3/SSL_CTX_ctrl.3" => [
- "doc/man3/SSL_CTX_ctrl.pod"
- ],
- "doc/man/man3/SSL_CTX_dane_enable.3" => [
- "doc/man3/SSL_CTX_dane_enable.pod"
- ],
- "doc/man/man3/SSL_CTX_flush_sessions.3" => [
- "doc/man3/SSL_CTX_flush_sessions.pod"
- ],
- "doc/man/man3/SSL_CTX_free.3" => [
- "doc/man3/SSL_CTX_free.pod"
- ],
- "doc/man/man3/SSL_CTX_get0_param.3" => [
- "doc/man3/SSL_CTX_get0_param.pod"
- ],
- "doc/man/man3/SSL_CTX_get_verify_mode.3" => [
- "doc/man3/SSL_CTX_get_verify_mode.pod"
- ],
- "doc/man/man3/SSL_CTX_has_client_custom_ext.3" => [
- "doc/man3/SSL_CTX_has_client_custom_ext.pod"
- ],
- "doc/man/man3/SSL_CTX_load_verify_locations.3" => [
- "doc/man3/SSL_CTX_load_verify_locations.pod"
- ],
- "doc/man/man3/SSL_CTX_new.3" => [
- "doc/man3/SSL_CTX_new.pod"
- ],
- "doc/man/man3/SSL_CTX_sess_number.3" => [
- "doc/man3/SSL_CTX_sess_number.pod"
- ],
- "doc/man/man3/SSL_CTX_sess_set_cache_size.3" => [
- "doc/man3/SSL_CTX_sess_set_cache_size.pod"
- ],
- "doc/man/man3/SSL_CTX_sess_set_get_cb.3" => [
- "doc/man3/SSL_CTX_sess_set_get_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_sessions.3" => [
- "doc/man3/SSL_CTX_sessions.pod"
- ],
- "doc/man/man3/SSL_CTX_set0_CA_list.3" => [
- "doc/man3/SSL_CTX_set0_CA_list.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_cert_comp_preference.3" => [
- "doc/man3/SSL_CTX_set1_cert_comp_preference.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_curves.3" => [
- "doc/man3/SSL_CTX_set1_curves.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_sigalgs.3" => [
- "doc/man3/SSL_CTX_set1_sigalgs.pod"
- ],
- "doc/man/man3/SSL_CTX_set1_verify_cert_store.3" => [
- "doc/man3/SSL_CTX_set1_verify_cert_store.pod"
- ],
- "doc/man/man3/SSL_CTX_set_alpn_select_cb.3" => [
- "doc/man3/SSL_CTX_set_alpn_select_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cert_cb.3" => [
- "doc/man3/SSL_CTX_set_cert_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cert_store.3" => [
- "doc/man3/SSL_CTX_set_cert_store.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cert_verify_callback.3" => [
- "doc/man3/SSL_CTX_set_cert_verify_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_cipher_list.3" => [
- "doc/man3/SSL_CTX_set_cipher_list.pod"
- ],
- "doc/man/man3/SSL_CTX_set_client_cert_cb.3" => [
- "doc/man3/SSL_CTX_set_client_cert_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_client_hello_cb.3" => [
- "doc/man3/SSL_CTX_set_client_hello_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_ct_validation_callback.3" => [
- "doc/man3/SSL_CTX_set_ct_validation_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_ctlog_list_file.3" => [
- "doc/man3/SSL_CTX_set_ctlog_list_file.pod"
- ],
- "doc/man/man3/SSL_CTX_set_default_passwd_cb.3" => [
- "doc/man3/SSL_CTX_set_default_passwd_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_domain_flags.3" => [
- "doc/man3/SSL_CTX_set_domain_flags.pod"
- ],
- "doc/man/man3/SSL_CTX_set_generate_session_id.3" => [
- "doc/man3/SSL_CTX_set_generate_session_id.pod"
- ],
- "doc/man/man3/SSL_CTX_set_info_callback.3" => [
- "doc/man3/SSL_CTX_set_info_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_keylog_callback.3" => [
- "doc/man3/SSL_CTX_set_keylog_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_max_cert_list.3" => [
- "doc/man3/SSL_CTX_set_max_cert_list.pod"
- ],
- "doc/man/man3/SSL_CTX_set_min_proto_version.3" => [
- "doc/man3/SSL_CTX_set_min_proto_version.pod"
- ],
- "doc/man/man3/SSL_CTX_set_mode.3" => [
- "doc/man3/SSL_CTX_set_mode.pod"
- ],
- "doc/man/man3/SSL_CTX_set_msg_callback.3" => [
- "doc/man3/SSL_CTX_set_msg_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_new_pending_conn_cb.3" => [
- "doc/man3/SSL_CTX_set_new_pending_conn_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_num_tickets.3" => [
- "doc/man3/SSL_CTX_set_num_tickets.pod"
- ],
- "doc/man/man3/SSL_CTX_set_options.3" => [
- "doc/man3/SSL_CTX_set_options.pod"
- ],
- "doc/man/man3/SSL_CTX_set_psk_client_callback.3" => [
- "doc/man3/SSL_CTX_set_psk_client_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_quiet_shutdown.3" => [
- "doc/man3/SSL_CTX_set_quiet_shutdown.pod"
- ],
- "doc/man/man3/SSL_CTX_set_read_ahead.3" => [
- "doc/man3/SSL_CTX_set_read_ahead.pod"
- ],
- "doc/man/man3/SSL_CTX_set_record_padding_callback.3" => [
- "doc/man3/SSL_CTX_set_record_padding_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_security_level.3" => [
- "doc/man3/SSL_CTX_set_security_level.pod"
- ],
- "doc/man/man3/SSL_CTX_set_session_cache_mode.3" => [
- "doc/man3/SSL_CTX_set_session_cache_mode.pod"
- ],
- "doc/man/man3/SSL_CTX_set_session_id_context.3" => [
- "doc/man3/SSL_CTX_set_session_id_context.pod"
- ],
- "doc/man/man3/SSL_CTX_set_session_ticket_cb.3" => [
- "doc/man3/SSL_CTX_set_session_ticket_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_split_send_fragment.3" => [
- "doc/man3/SSL_CTX_set_split_send_fragment.pod"
- ],
- "doc/man/man3/SSL_CTX_set_srp_password.3" => [
- "doc/man3/SSL_CTX_set_srp_password.pod"
- ],
- "doc/man/man3/SSL_CTX_set_ssl_version.3" => [
- "doc/man3/SSL_CTX_set_ssl_version.pod"
- ],
- "doc/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3" => [
- "doc/man3/SSL_CTX_set_stateless_cookie_generate_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_timeout.3" => [
- "doc/man3/SSL_CTX_set_timeout.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_servername_callback.3" => [
- "doc/man3/SSL_CTX_set_tlsext_servername_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_status_cb.3" => [
- "doc/man3/SSL_CTX_set_tlsext_status_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3" => [
- "doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tlsext_use_srtp.3" => [
- "doc/man3/SSL_CTX_set_tlsext_use_srtp.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tmp_dh_callback.3" => [
- "doc/man3/SSL_CTX_set_tmp_dh_callback.pod"
- ],
- "doc/man/man3/SSL_CTX_set_tmp_ecdh.3" => [
- "doc/man3/SSL_CTX_set_tmp_ecdh.pod"
- ],
- "doc/man/man3/SSL_CTX_set_verify.3" => [
- "doc/man3/SSL_CTX_set_verify.pod"
- ],
- "doc/man/man3/SSL_CTX_use_certificate.3" => [
- "doc/man3/SSL_CTX_use_certificate.pod"
- ],
- "doc/man/man3/SSL_CTX_use_psk_identity_hint.3" => [
- "doc/man3/SSL_CTX_use_psk_identity_hint.pod"
- ],
- "doc/man/man3/SSL_CTX_use_serverinfo.3" => [
- "doc/man3/SSL_CTX_use_serverinfo.pod"
- ],
- "doc/man/man3/SSL_SESSION_free.3" => [
- "doc/man3/SSL_SESSION_free.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_cipher.3" => [
- "doc/man3/SSL_SESSION_get0_cipher.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_hostname.3" => [
- "doc/man3/SSL_SESSION_get0_hostname.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_id_context.3" => [
- "doc/man3/SSL_SESSION_get0_id_context.pod"
- ],
- "doc/man/man3/SSL_SESSION_get0_peer.3" => [
- "doc/man3/SSL_SESSION_get0_peer.pod"
- ],
- "doc/man/man3/SSL_SESSION_get_compress_id.3" => [
- "doc/man3/SSL_SESSION_get_compress_id.pod"
- ],
- "doc/man/man3/SSL_SESSION_get_protocol_version.3" => [
- "doc/man3/SSL_SESSION_get_protocol_version.pod"
- ],
- "doc/man/man3/SSL_SESSION_get_time.3" => [
- "doc/man3/SSL_SESSION_get_time.pod"
- ],
- "doc/man/man3/SSL_SESSION_has_ticket.3" => [
- "doc/man3/SSL_SESSION_has_ticket.pod"
- ],
- "doc/man/man3/SSL_SESSION_is_resumable.3" => [
- "doc/man3/SSL_SESSION_is_resumable.pod"
- ],
- "doc/man/man3/SSL_SESSION_print.3" => [
- "doc/man3/SSL_SESSION_print.pod"
- ],
- "doc/man/man3/SSL_SESSION_set1_id.3" => [
- "doc/man3/SSL_SESSION_set1_id.pod"
- ],
- "doc/man/man3/SSL_accept.3" => [
- "doc/man3/SSL_accept.pod"
- ],
- "doc/man/man3/SSL_accept_stream.3" => [
- "doc/man3/SSL_accept_stream.pod"
- ],
- "doc/man/man3/SSL_alert_type_string.3" => [
- "doc/man3/SSL_alert_type_string.pod"
- ],
- "doc/man/man3/SSL_alloc_buffers.3" => [
- "doc/man3/SSL_alloc_buffers.pod"
- ],
- "doc/man/man3/SSL_check_chain.3" => [
- "doc/man3/SSL_check_chain.pod"
- ],
- "doc/man/man3/SSL_clear.3" => [
- "doc/man3/SSL_clear.pod"
- ],
- "doc/man/man3/SSL_connect.3" => [
- "doc/man3/SSL_connect.pod"
- ],
- "doc/man/man3/SSL_do_handshake.3" => [
- "doc/man3/SSL_do_handshake.pod"
- ],
- "doc/man/man3/SSL_export_keying_material.3" => [
- "doc/man3/SSL_export_keying_material.pod"
- ],
- "doc/man/man3/SSL_extension_supported.3" => [
- "doc/man3/SSL_extension_supported.pod"
- ],
- "doc/man/man3/SSL_free.3" => [
- "doc/man3/SSL_free.pod"
- ],
- "doc/man/man3/SSL_get0_connection.3" => [
- "doc/man3/SSL_get0_connection.pod"
- ],
- "doc/man/man3/SSL_get0_group_name.3" => [
- "doc/man3/SSL_get0_group_name.pod"
- ],
- "doc/man/man3/SSL_get0_peer_rpk.3" => [
- "doc/man3/SSL_get0_peer_rpk.pod"
- ],
- "doc/man/man3/SSL_get0_peer_scts.3" => [
- "doc/man3/SSL_get0_peer_scts.pod"
- ],
- "doc/man/man3/SSL_get1_builtin_sigalgs.3" => [
- "doc/man3/SSL_get1_builtin_sigalgs.pod"
- ],
- "doc/man/man3/SSL_get_SSL_CTX.3" => [
- "doc/man3/SSL_get_SSL_CTX.pod"
- ],
- "doc/man/man3/SSL_get_all_async_fds.3" => [
- "doc/man3/SSL_get_all_async_fds.pod"
- ],
- "doc/man/man3/SSL_get_certificate.3" => [
- "doc/man3/SSL_get_certificate.pod"
- ],
- "doc/man/man3/SSL_get_ciphers.3" => [
- "doc/man3/SSL_get_ciphers.pod"
- ],
- "doc/man/man3/SSL_get_client_random.3" => [
- "doc/man3/SSL_get_client_random.pod"
- ],
- "doc/man/man3/SSL_get_conn_close_info.3" => [
- "doc/man3/SSL_get_conn_close_info.pod"
- ],
- "doc/man/man3/SSL_get_current_cipher.3" => [
- "doc/man3/SSL_get_current_cipher.pod"
- ],
- "doc/man/man3/SSL_get_default_timeout.3" => [
- "doc/man3/SSL_get_default_timeout.pod"
- ],
- "doc/man/man3/SSL_get_error.3" => [
- "doc/man3/SSL_get_error.pod"
- ],
- "doc/man/man3/SSL_get_event_timeout.3" => [
- "doc/man3/SSL_get_event_timeout.pod"
- ],
- "doc/man/man3/SSL_get_extms_support.3" => [
- "doc/man3/SSL_get_extms_support.pod"
- ],
- "doc/man/man3/SSL_get_fd.3" => [
- "doc/man3/SSL_get_fd.pod"
- ],
- "doc/man/man3/SSL_get_handshake_rtt.3" => [
- "doc/man3/SSL_get_handshake_rtt.pod"
- ],
- "doc/man/man3/SSL_get_peer_cert_chain.3" => [
- "doc/man3/SSL_get_peer_cert_chain.pod"
- ],
- "doc/man/man3/SSL_get_peer_certificate.3" => [
- "doc/man3/SSL_get_peer_certificate.pod"
- ],
- "doc/man/man3/SSL_get_peer_signature_nid.3" => [
- "doc/man3/SSL_get_peer_signature_nid.pod"
- ],
- "doc/man/man3/SSL_get_peer_tmp_key.3" => [
- "doc/man3/SSL_get_peer_tmp_key.pod"
- ],
- "doc/man/man3/SSL_get_psk_identity.3" => [
- "doc/man3/SSL_get_psk_identity.pod"
- ],
- "doc/man/man3/SSL_get_rbio.3" => [
- "doc/man3/SSL_get_rbio.pod"
- ],
- "doc/man/man3/SSL_get_rpoll_descriptor.3" => [
- "doc/man3/SSL_get_rpoll_descriptor.pod"
- ],
- "doc/man/man3/SSL_get_session.3" => [
- "doc/man3/SSL_get_session.pod"
- ],
- "doc/man/man3/SSL_get_shared_sigalgs.3" => [
- "doc/man3/SSL_get_shared_sigalgs.pod"
- ],
- "doc/man/man3/SSL_get_stream_id.3" => [
- "doc/man3/SSL_get_stream_id.pod"
- ],
- "doc/man/man3/SSL_get_stream_read_state.3" => [
- "doc/man3/SSL_get_stream_read_state.pod"
- ],
- "doc/man/man3/SSL_get_value_uint.3" => [
- "doc/man3/SSL_get_value_uint.pod"
- ],
- "doc/man/man3/SSL_get_verify_result.3" => [
- "doc/man3/SSL_get_verify_result.pod"
- ],
- "doc/man/man3/SSL_get_version.3" => [
- "doc/man3/SSL_get_version.pod"
- ],
- "doc/man/man3/SSL_group_to_name.3" => [
- "doc/man3/SSL_group_to_name.pod"
- ],
- "doc/man/man3/SSL_handle_events.3" => [
- "doc/man3/SSL_handle_events.pod"
- ],
- "doc/man/man3/SSL_in_init.3" => [
- "doc/man3/SSL_in_init.pod"
- ],
- "doc/man/man3/SSL_inject_net_dgram.3" => [
- "doc/man3/SSL_inject_net_dgram.pod"
- ],
- "doc/man/man3/SSL_key_update.3" => [
- "doc/man3/SSL_key_update.pod"
- ],
- "doc/man/man3/SSL_library_init.3" => [
- "doc/man3/SSL_library_init.pod"
- ],
- "doc/man/man3/SSL_load_client_CA_file.3" => [
- "doc/man3/SSL_load_client_CA_file.pod"
- ],
- "doc/man/man3/SSL_new.3" => [
- "doc/man3/SSL_new.pod"
- ],
- "doc/man/man3/SSL_new_domain.3" => [
- "doc/man3/SSL_new_domain.pod"
- ],
- "doc/man/man3/SSL_new_listener.3" => [
- "doc/man3/SSL_new_listener.pod"
- ],
- "doc/man/man3/SSL_new_stream.3" => [
- "doc/man3/SSL_new_stream.pod"
- ],
- "doc/man/man3/SSL_pending.3" => [
- "doc/man3/SSL_pending.pod"
- ],
- "doc/man/man3/SSL_poll.3" => [
- "doc/man3/SSL_poll.pod"
- ],
- "doc/man/man3/SSL_read.3" => [
- "doc/man3/SSL_read.pod"
- ],
- "doc/man/man3/SSL_read_early_data.3" => [
- "doc/man3/SSL_read_early_data.pod"
- ],
- "doc/man/man3/SSL_rstate_string.3" => [
- "doc/man3/SSL_rstate_string.pod"
- ],
- "doc/man/man3/SSL_session_reused.3" => [
- "doc/man3/SSL_session_reused.pod"
- ],
- "doc/man/man3/SSL_set1_host.3" => [
- "doc/man3/SSL_set1_host.pod"
- ],
- "doc/man/man3/SSL_set1_initial_peer_addr.3" => [
- "doc/man3/SSL_set1_initial_peer_addr.pod"
- ],
- "doc/man/man3/SSL_set1_server_cert_type.3" => [
- "doc/man3/SSL_set1_server_cert_type.pod"
- ],
- "doc/man/man3/SSL_set_async_callback.3" => [
- "doc/man3/SSL_set_async_callback.pod"
- ],
- "doc/man/man3/SSL_set_bio.3" => [
- "doc/man3/SSL_set_bio.pod"
- ],
- "doc/man/man3/SSL_set_blocking_mode.3" => [
- "doc/man3/SSL_set_blocking_mode.pod"
- ],
- "doc/man/man3/SSL_set_connect_state.3" => [
- "doc/man3/SSL_set_connect_state.pod"
- ],
- "doc/man/man3/SSL_set_default_stream_mode.3" => [
- "doc/man3/SSL_set_default_stream_mode.pod"
- ],
- "doc/man/man3/SSL_set_fd.3" => [
- "doc/man3/SSL_set_fd.pod"
- ],
- "doc/man/man3/SSL_set_incoming_stream_policy.3" => [
- "doc/man3/SSL_set_incoming_stream_policy.pod"
- ],
- "doc/man/man3/SSL_set_quic_tls_cbs.3" => [
- "doc/man3/SSL_set_quic_tls_cbs.pod"
- ],
- "doc/man/man3/SSL_set_retry_verify.3" => [
- "doc/man3/SSL_set_retry_verify.pod"
- ],
- "doc/man/man3/SSL_set_session.3" => [
- "doc/man3/SSL_set_session.pod"
- ],
- "doc/man/man3/SSL_set_session_secret_cb.3" => [
- "doc/man3/SSL_set_session_secret_cb.pod"
- ],
- "doc/man/man3/SSL_set_shutdown.3" => [
- "doc/man3/SSL_set_shutdown.pod"
- ],
- "doc/man/man3/SSL_set_verify_result.3" => [
- "doc/man3/SSL_set_verify_result.pod"
- ],
- "doc/man/man3/SSL_shutdown.3" => [
- "doc/man3/SSL_shutdown.pod"
- ],
- "doc/man/man3/SSL_state_string.3" => [
- "doc/man3/SSL_state_string.pod"
- ],
- "doc/man/man3/SSL_stream_conclude.3" => [
- "doc/man3/SSL_stream_conclude.pod"
- ],
- "doc/man/man3/SSL_stream_reset.3" => [
- "doc/man3/SSL_stream_reset.pod"
- ],
- "doc/man/man3/SSL_want.3" => [
- "doc/man3/SSL_want.pod"
- ],
- "doc/man/man3/SSL_write.3" => [
- "doc/man3/SSL_write.pod"
- ],
- "doc/man/man3/TS_RESP_CTX_new.3" => [
- "doc/man3/TS_RESP_CTX_new.pod"
- ],
- "doc/man/man3/TS_VERIFY_CTX.3" => [
- "doc/man3/TS_VERIFY_CTX.pod"
- ],
- "doc/man/man3/UI_STRING.3" => [
- "doc/man3/UI_STRING.pod"
- ],
- "doc/man/man3/UI_UTIL_read_pw.3" => [
- "doc/man3/UI_UTIL_read_pw.pod"
- ],
- "doc/man/man3/UI_create_method.3" => [
- "doc/man3/UI_create_method.pod"
- ],
- "doc/man/man3/UI_new.3" => [
- "doc/man3/UI_new.pod"
- ],
- "doc/man/man3/X509V3_get_d2i.3" => [
- "doc/man3/X509V3_get_d2i.pod"
- ],
- "doc/man/man3/X509V3_set_ctx.3" => [
- "doc/man3/X509V3_set_ctx.pod"
- ],
- "doc/man/man3/X509_ACERT_add1_attr.3" => [
- "doc/man3/X509_ACERT_add1_attr.pod"
- ],
- "doc/man/man3/X509_ACERT_add_attr_nconf.3" => [
- "doc/man3/X509_ACERT_add_attr_nconf.pod"
- ],
- "doc/man/man3/X509_ACERT_get0_holder_baseCertId.3" => [
- "doc/man3/X509_ACERT_get0_holder_baseCertId.pod"
- ],
- "doc/man/man3/X509_ACERT_get_attr.3" => [
- "doc/man3/X509_ACERT_get_attr.pod"
- ],
- "doc/man/man3/X509_ACERT_print_ex.3" => [
- "doc/man3/X509_ACERT_print_ex.pod"
- ],
- "doc/man/man3/X509_ALGOR_dup.3" => [
- "doc/man3/X509_ALGOR_dup.pod"
- ],
- "doc/man/man3/X509_ATTRIBUTE.3" => [
- "doc/man3/X509_ATTRIBUTE.pod"
- ],
- "doc/man/man3/X509_CRL_get0_by_serial.3" => [
- "doc/man3/X509_CRL_get0_by_serial.pod"
- ],
- "doc/man/man3/X509_EXTENSION_set_object.3" => [
- "doc/man3/X509_EXTENSION_set_object.pod"
- ],
- "doc/man/man3/X509_LOOKUP.3" => [
- "doc/man3/X509_LOOKUP.pod"
- ],
- "doc/man/man3/X509_LOOKUP_hash_dir.3" => [
- "doc/man3/X509_LOOKUP_hash_dir.pod"
- ],
- "doc/man/man3/X509_LOOKUP_meth_new.3" => [
- "doc/man3/X509_LOOKUP_meth_new.pod"
- ],
- "doc/man/man3/X509_NAME_ENTRY_get_object.3" => [
- "doc/man3/X509_NAME_ENTRY_get_object.pod"
- ],
- "doc/man/man3/X509_NAME_add_entry_by_txt.3" => [
- "doc/man3/X509_NAME_add_entry_by_txt.pod"
- ],
- "doc/man/man3/X509_NAME_get0_der.3" => [
- "doc/man3/X509_NAME_get0_der.pod"
- ],
- "doc/man/man3/X509_NAME_get_index_by_NID.3" => [
- "doc/man3/X509_NAME_get_index_by_NID.pod"
- ],
- "doc/man/man3/X509_NAME_print_ex.3" => [
- "doc/man3/X509_NAME_print_ex.pod"
- ],
- "doc/man/man3/X509_PUBKEY_new.3" => [
- "doc/man3/X509_PUBKEY_new.pod"
- ],
- "doc/man/man3/X509_REQ_get_attr.3" => [
- "doc/man3/X509_REQ_get_attr.pod"
- ],
- "doc/man/man3/X509_REQ_get_extensions.3" => [
- "doc/man3/X509_REQ_get_extensions.pod"
- ],
- "doc/man/man3/X509_SIG_get0.3" => [
- "doc/man3/X509_SIG_get0.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_get_by_subject.3" => [
- "doc/man3/X509_STORE_CTX_get_by_subject.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_get_error.3" => [
- "doc/man3/X509_STORE_CTX_get_error.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_new.3" => [
- "doc/man3/X509_STORE_CTX_new.pod"
- ],
- "doc/man/man3/X509_STORE_CTX_set_verify_cb.3" => [
- "doc/man3/X509_STORE_CTX_set_verify_cb.pod"
- ],
- "doc/man/man3/X509_STORE_add_cert.3" => [
- "doc/man3/X509_STORE_add_cert.pod"
- ],
- "doc/man/man3/X509_STORE_get0_param.3" => [
- "doc/man3/X509_STORE_get0_param.pod"
- ],
- "doc/man/man3/X509_STORE_new.3" => [
- "doc/man3/X509_STORE_new.pod"
- ],
- "doc/man/man3/X509_STORE_set_verify_cb_func.3" => [
- "doc/man3/X509_STORE_set_verify_cb_func.pod"
- ],
- "doc/man/man3/X509_VERIFY_PARAM_set_flags.3" => [
- "doc/man3/X509_VERIFY_PARAM_set_flags.pod"
- ],
- "doc/man/man3/X509_add_cert.3" => [
- "doc/man3/X509_add_cert.pod"
- ],
- "doc/man/man3/X509_check_ca.3" => [
- "doc/man3/X509_check_ca.pod"
- ],
- "doc/man/man3/X509_check_host.3" => [
- "doc/man3/X509_check_host.pod"
- ],
- "doc/man/man3/X509_check_issued.3" => [
- "doc/man3/X509_check_issued.pod"
- ],
- "doc/man/man3/X509_check_private_key.3" => [
- "doc/man3/X509_check_private_key.pod"
- ],
- "doc/man/man3/X509_check_purpose.3" => [
- "doc/man3/X509_check_purpose.pod"
- ],
- "doc/man/man3/X509_cmp.3" => [
- "doc/man3/X509_cmp.pod"
- ],
- "doc/man/man3/X509_cmp_time.3" => [
- "doc/man3/X509_cmp_time.pod"
- ],
- "doc/man/man3/X509_digest.3" => [
- "doc/man3/X509_digest.pod"
- ],
- "doc/man/man3/X509_dup.3" => [
- "doc/man3/X509_dup.pod"
- ],
- "doc/man/man3/X509_get0_distinguishing_id.3" => [
- "doc/man3/X509_get0_distinguishing_id.pod"
- ],
- "doc/man/man3/X509_get0_notBefore.3" => [
- "doc/man3/X509_get0_notBefore.pod"
- ],
- "doc/man/man3/X509_get0_signature.3" => [
- "doc/man3/X509_get0_signature.pod"
- ],
- "doc/man/man3/X509_get0_uids.3" => [
- "doc/man3/X509_get0_uids.pod"
- ],
- "doc/man/man3/X509_get_default_cert_file.3" => [
- "doc/man3/X509_get_default_cert_file.pod"
- ],
- "doc/man/man3/X509_get_extension_flags.3" => [
- "doc/man3/X509_get_extension_flags.pod"
- ],
- "doc/man/man3/X509_get_pubkey.3" => [
- "doc/man3/X509_get_pubkey.pod"
- ],
- "doc/man/man3/X509_get_serialNumber.3" => [
- "doc/man3/X509_get_serialNumber.pod"
- ],
- "doc/man/man3/X509_get_subject_name.3" => [
- "doc/man3/X509_get_subject_name.pod"
- ],
- "doc/man/man3/X509_get_version.3" => [
- "doc/man3/X509_get_version.pod"
- ],
- "doc/man/man3/X509_load_http.3" => [
- "doc/man3/X509_load_http.pod"
- ],
- "doc/man/man3/X509_new.3" => [
- "doc/man3/X509_new.pod"
- ],
- "doc/man/man3/X509_sign.3" => [
- "doc/man3/X509_sign.pod"
- ],
- "doc/man/man3/X509_verify.3" => [
- "doc/man3/X509_verify.pod"
- ],
- "doc/man/man3/X509_verify_cert.3" => [
- "doc/man3/X509_verify_cert.pod"
- ],
- "doc/man/man3/X509v3_get_ext_by_NID.3" => [
- "doc/man3/X509v3_get_ext_by_NID.pod"
- ],
- "doc/man/man3/b2i_PVK_bio_ex.3" => [
- "doc/man3/b2i_PVK_bio_ex.pod"
- ],
- "doc/man/man3/d2i_PKCS8PrivateKey_bio.3" => [
- "doc/man3/d2i_PKCS8PrivateKey_bio.pod"
- ],
- "doc/man/man3/d2i_PrivateKey.3" => [
- "doc/man3/d2i_PrivateKey.pod"
- ],
- "doc/man/man3/d2i_RSAPrivateKey.3" => [
- "doc/man3/d2i_RSAPrivateKey.pod"
- ],
- "doc/man/man3/d2i_SSL_SESSION.3" => [
- "doc/man3/d2i_SSL_SESSION.pod"
- ],
- "doc/man/man3/d2i_X509.3" => [
- "doc/man3/d2i_X509.pod"
- ],
- "doc/man/man3/i2d_CMS_bio_stream.3" => [
- "doc/man3/i2d_CMS_bio_stream.pod"
- ],
- "doc/man/man3/i2d_PKCS7_bio_stream.3" => [
- "doc/man3/i2d_PKCS7_bio_stream.pod"
- ],
- "doc/man/man3/i2d_re_X509_tbs.3" => [
- "doc/man3/i2d_re_X509_tbs.pod"
- ],
- "doc/man/man3/o2i_SCT_LIST.3" => [
- "doc/man3/o2i_SCT_LIST.pod"
- ],
- "doc/man/man3/s2i_ASN1_IA5STRING.3" => [
- "doc/man3/s2i_ASN1_IA5STRING.pod"
- ],
- "doc/man/man5/config.5" => [
- "doc/man5/config.pod"
- ],
- "doc/man/man5/fips_config.5" => [
- "doc/man5/fips_config.pod"
- ],
- "doc/man/man5/x509v3_config.5" => [
- "doc/man5/x509v3_config.pod"
- ],
- "doc/man/man7/EVP_ASYM_CIPHER-RSA.7" => [
- "doc/man7/EVP_ASYM_CIPHER-RSA.pod"
- ],
- "doc/man/man7/EVP_ASYM_CIPHER-SM2.7" => [
- "doc/man7/EVP_ASYM_CIPHER-SM2.pod"
- ],
- "doc/man/man7/EVP_CIPHER-AES.7" => [
- "doc/man7/EVP_CIPHER-AES.pod"
- ],
- "doc/man/man7/EVP_CIPHER-ARIA.7" => [
- "doc/man7/EVP_CIPHER-ARIA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-BLOWFISH.7" => [
- "doc/man7/EVP_CIPHER-BLOWFISH.pod"
- ],
- "doc/man/man7/EVP_CIPHER-CAMELLIA.7" => [
- "doc/man7/EVP_CIPHER-CAMELLIA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-CAST.7" => [
- "doc/man7/EVP_CIPHER-CAST.pod"
- ],
- "doc/man/man7/EVP_CIPHER-CHACHA.7" => [
- "doc/man7/EVP_CIPHER-CHACHA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-DES.7" => [
- "doc/man7/EVP_CIPHER-DES.pod"
- ],
- "doc/man/man7/EVP_CIPHER-IDEA.7" => [
- "doc/man7/EVP_CIPHER-IDEA.pod"
- ],
- "doc/man/man7/EVP_CIPHER-NULL.7" => [
- "doc/man7/EVP_CIPHER-NULL.pod"
- ],
- "doc/man/man7/EVP_CIPHER-RC2.7" => [
- "doc/man7/EVP_CIPHER-RC2.pod"
- ],
- "doc/man/man7/EVP_CIPHER-RC4.7" => [
- "doc/man7/EVP_CIPHER-RC4.pod"
- ],
- "doc/man/man7/EVP_CIPHER-RC5.7" => [
- "doc/man7/EVP_CIPHER-RC5.pod"
- ],
- "doc/man/man7/EVP_CIPHER-SEED.7" => [
- "doc/man7/EVP_CIPHER-SEED.pod"
- ],
- "doc/man/man7/EVP_CIPHER-SM4.7" => [
- "doc/man7/EVP_CIPHER-SM4.pod"
- ],
- "doc/man/man7/EVP_KDF-ARGON2.7" => [
- "doc/man7/EVP_KDF-ARGON2.pod"
- ],
- "doc/man/man7/EVP_KDF-HKDF.7" => [
- "doc/man7/EVP_KDF-HKDF.pod"
- ],
- "doc/man/man7/EVP_KDF-HMAC-DRBG.7" => [
- "doc/man7/EVP_KDF-HMAC-DRBG.pod"
- ],
- "doc/man/man7/EVP_KDF-KB.7" => [
- "doc/man7/EVP_KDF-KB.pod"
- ],
- "doc/man/man7/EVP_KDF-KRB5KDF.7" => [
- "doc/man7/EVP_KDF-KRB5KDF.pod"
- ],
- "doc/man/man7/EVP_KDF-PBKDF1.7" => [
- "doc/man7/EVP_KDF-PBKDF1.pod"
- ],
- "doc/man/man7/EVP_KDF-PBKDF2.7" => [
- "doc/man7/EVP_KDF-PBKDF2.pod"
- ],
- "doc/man/man7/EVP_KDF-PKCS12KDF.7" => [
- "doc/man7/EVP_KDF-PKCS12KDF.pod"
- ],
- "doc/man/man7/EVP_KDF-PVKKDF.7" => [
- "doc/man7/EVP_KDF-PVKKDF.pod"
- ],
- "doc/man/man7/EVP_KDF-SCRYPT.7" => [
- "doc/man7/EVP_KDF-SCRYPT.pod"
- ],
- "doc/man/man7/EVP_KDF-SS.7" => [
- "doc/man7/EVP_KDF-SS.pod"
- ],
- "doc/man/man7/EVP_KDF-SSHKDF.7" => [
- "doc/man7/EVP_KDF-SSHKDF.pod"
- ],
- "doc/man/man7/EVP_KDF-TLS13_KDF.7" => [
- "doc/man7/EVP_KDF-TLS13_KDF.pod"
- ],
- "doc/man/man7/EVP_KDF-TLS1_PRF.7" => [
- "doc/man7/EVP_KDF-TLS1_PRF.pod"
- ],
- "doc/man/man7/EVP_KDF-X942-ASN1.7" => [
- "doc/man7/EVP_KDF-X942-ASN1.pod"
- ],
- "doc/man/man7/EVP_KDF-X942-CONCAT.7" => [
- "doc/man7/EVP_KDF-X942-CONCAT.pod"
- ],
- "doc/man/man7/EVP_KDF-X963.7" => [
- "doc/man7/EVP_KDF-X963.pod"
- ],
- "doc/man/man7/EVP_KEM-EC.7" => [
- "doc/man7/EVP_KEM-EC.pod"
- ],
- "doc/man/man7/EVP_KEM-ML-KEM.7" => [
- "doc/man7/EVP_KEM-ML-KEM.pod"
- ],
- "doc/man/man7/EVP_KEM-RSA.7" => [
- "doc/man7/EVP_KEM-RSA.pod"
- ],
- "doc/man/man7/EVP_KEM-X25519.7" => [
- "doc/man7/EVP_KEM-X25519.pod"
- ],
- "doc/man/man7/EVP_KEYEXCH-DH.7" => [
- "doc/man7/EVP_KEYEXCH-DH.pod"
- ],
- "doc/man/man7/EVP_KEYEXCH-ECDH.7" => [
- "doc/man7/EVP_KEYEXCH-ECDH.pod"
- ],
- "doc/man/man7/EVP_KEYEXCH-X25519.7" => [
- "doc/man7/EVP_KEYEXCH-X25519.pod"
- ],
- "doc/man/man7/EVP_MAC-BLAKE2.7" => [
- "doc/man7/EVP_MAC-BLAKE2.pod"
- ],
- "doc/man/man7/EVP_MAC-CMAC.7" => [
- "doc/man7/EVP_MAC-CMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-GMAC.7" => [
- "doc/man7/EVP_MAC-GMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-HMAC.7" => [
- "doc/man7/EVP_MAC-HMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-KMAC.7" => [
- "doc/man7/EVP_MAC-KMAC.pod"
- ],
- "doc/man/man7/EVP_MAC-Poly1305.7" => [
- "doc/man7/EVP_MAC-Poly1305.pod"
- ],
- "doc/man/man7/EVP_MAC-Siphash.7" => [
- "doc/man7/EVP_MAC-Siphash.pod"
- ],
- "doc/man/man7/EVP_MD-BLAKE2.7" => [
- "doc/man7/EVP_MD-BLAKE2.pod"
- ],
- "doc/man/man7/EVP_MD-KECCAK.7" => [
- "doc/man7/EVP_MD-KECCAK.pod"
- ],
- "doc/man/man7/EVP_MD-MD2.7" => [
- "doc/man7/EVP_MD-MD2.pod"
- ],
- "doc/man/man7/EVP_MD-MD4.7" => [
- "doc/man7/EVP_MD-MD4.pod"
- ],
- "doc/man/man7/EVP_MD-MD5-SHA1.7" => [
- "doc/man7/EVP_MD-MD5-SHA1.pod"
- ],
- "doc/man/man7/EVP_MD-MD5.7" => [
- "doc/man7/EVP_MD-MD5.pod"
- ],
- "doc/man/man7/EVP_MD-MDC2.7" => [
- "doc/man7/EVP_MD-MDC2.pod"
- ],
- "doc/man/man7/EVP_MD-NULL.7" => [
- "doc/man7/EVP_MD-NULL.pod"
- ],
- "doc/man/man7/EVP_MD-RIPEMD160.7" => [
- "doc/man7/EVP_MD-RIPEMD160.pod"
- ],
- "doc/man/man7/EVP_MD-SHA1.7" => [
- "doc/man7/EVP_MD-SHA1.pod"
- ],
- "doc/man/man7/EVP_MD-SHA2.7" => [
- "doc/man7/EVP_MD-SHA2.pod"
- ],
- "doc/man/man7/EVP_MD-SHA3.7" => [
- "doc/man7/EVP_MD-SHA3.pod"
- ],
- "doc/man/man7/EVP_MD-SHAKE.7" => [
- "doc/man7/EVP_MD-SHAKE.pod"
- ],
- "doc/man/man7/EVP_MD-SM3.7" => [
- "doc/man7/EVP_MD-SM3.pod"
- ],
- "doc/man/man7/EVP_MD-WHIRLPOOL.7" => [
- "doc/man7/EVP_MD-WHIRLPOOL.pod"
- ],
- "doc/man/man7/EVP_MD-common.7" => [
- "doc/man7/EVP_MD-common.pod"
- ],
- "doc/man/man7/EVP_PKEY-DH.7" => [
- "doc/man7/EVP_PKEY-DH.pod"
- ],
- "doc/man/man7/EVP_PKEY-DSA.7" => [
- "doc/man7/EVP_PKEY-DSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-EC.7" => [
- "doc/man7/EVP_PKEY-EC.pod"
- ],
- "doc/man/man7/EVP_PKEY-FFC.7" => [
- "doc/man7/EVP_PKEY-FFC.pod"
- ],
- "doc/man/man7/EVP_PKEY-HMAC.7" => [
- "doc/man7/EVP_PKEY-HMAC.pod"
- ],
- "doc/man/man7/EVP_PKEY-ML-DSA.7" => [
- "doc/man7/EVP_PKEY-ML-DSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-ML-KEM.7" => [
- "doc/man7/EVP_PKEY-ML-KEM.pod"
- ],
- "doc/man/man7/EVP_PKEY-RSA.7" => [
- "doc/man7/EVP_PKEY-RSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-SLH-DSA.7" => [
- "doc/man7/EVP_PKEY-SLH-DSA.pod"
- ],
- "doc/man/man7/EVP_PKEY-SM2.7" => [
- "doc/man7/EVP_PKEY-SM2.pod"
- ],
- "doc/man/man7/EVP_PKEY-X25519.7" => [
- "doc/man7/EVP_PKEY-X25519.pod"
- ],
- "doc/man/man7/EVP_RAND-CRNG-TEST.7" => [
- "doc/man7/EVP_RAND-CRNG-TEST.pod"
- ],
- "doc/man/man7/EVP_RAND-CTR-DRBG.7" => [
- "doc/man7/EVP_RAND-CTR-DRBG.pod"
- ],
- "doc/man/man7/EVP_RAND-HASH-DRBG.7" => [
- "doc/man7/EVP_RAND-HASH-DRBG.pod"
- ],
- "doc/man/man7/EVP_RAND-HMAC-DRBG.7" => [
- "doc/man7/EVP_RAND-HMAC-DRBG.pod"
- ],
- "doc/man/man7/EVP_RAND-JITTER.7" => [
- "doc/man7/EVP_RAND-JITTER.pod"
- ],
- "doc/man/man7/EVP_RAND-SEED-SRC.7" => [
- "doc/man7/EVP_RAND-SEED-SRC.pod"
- ],
- "doc/man/man7/EVP_RAND-TEST-RAND.7" => [
- "doc/man7/EVP_RAND-TEST-RAND.pod"
- ],
- "doc/man/man7/EVP_RAND.7" => [
- "doc/man7/EVP_RAND.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-DSA.7" => [
- "doc/man7/EVP_SIGNATURE-DSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-ECDSA.7" => [
- "doc/man7/EVP_SIGNATURE-ECDSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-ED25519.7" => [
- "doc/man7/EVP_SIGNATURE-ED25519.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-HMAC.7" => [
- "doc/man7/EVP_SIGNATURE-HMAC.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-ML-DSA.7" => [
- "doc/man7/EVP_SIGNATURE-ML-DSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-RSA.7" => [
- "doc/man7/EVP_SIGNATURE-RSA.pod"
- ],
- "doc/man/man7/EVP_SIGNATURE-SLH-DSA.7" => [
- "doc/man7/EVP_SIGNATURE-SLH-DSA.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-FIPS.7" => [
- "doc/man7/OSSL_PROVIDER-FIPS.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-base.7" => [
- "doc/man7/OSSL_PROVIDER-base.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-default.7" => [
- "doc/man7/OSSL_PROVIDER-default.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-legacy.7" => [
- "doc/man7/OSSL_PROVIDER-legacy.pod"
- ],
- "doc/man/man7/OSSL_PROVIDER-null.7" => [
- "doc/man7/OSSL_PROVIDER-null.pod"
- ],
- "doc/man/man7/OSSL_STORE-winstore.7" => [
- "doc/man7/OSSL_STORE-winstore.pod"
- ],
- "doc/man/man7/RAND.7" => [
- "doc/man7/RAND.pod"
- ],
- "doc/man/man7/RSA-PSS.7" => [
- "doc/man7/RSA-PSS.pod"
- ],
- "doc/man/man7/X25519.7" => [
- "doc/man7/X25519.pod"
- ],
- "doc/man/man7/bio.7" => [
- "doc/man7/bio.pod"
- ],
- "doc/man/man7/ct.7" => [
- "doc/man7/ct.pod"
- ],
- "doc/man/man7/des_modes.7" => [
- "doc/man7/des_modes.pod"
- ],
- "doc/man/man7/evp.7" => [
- "doc/man7/evp.pod"
- ],
- "doc/man/man7/fips_module.7" => [
- "doc/man7/fips_module.pod"
- ],
- "doc/man/man7/life_cycle-cipher.7" => [
- "doc/man7/life_cycle-cipher.pod"
- ],
- "doc/man/man7/life_cycle-digest.7" => [
- "doc/man7/life_cycle-digest.pod"
- ],
- "doc/man/man7/life_cycle-kdf.7" => [
- "doc/man7/life_cycle-kdf.pod"
- ],
- "doc/man/man7/life_cycle-mac.7" => [
- "doc/man7/life_cycle-mac.pod"
- ],
- "doc/man/man7/life_cycle-pkey.7" => [
- "doc/man7/life_cycle-pkey.pod"
- ],
- "doc/man/man7/life_cycle-rand.7" => [
- "doc/man7/life_cycle-rand.pod"
- ],
- "doc/man/man7/openssl-core.h.7" => [
- "doc/man7/openssl-core.h.pod"
- ],
- "doc/man/man7/openssl-core_dispatch.h.7" => [
- "doc/man7/openssl-core_dispatch.h.pod"
- ],
- "doc/man/man7/openssl-core_names.h.7" => [
- "doc/man7/openssl-core_names.h.pod"
- ],
- "doc/man/man7/openssl-env.7" => [
- "doc/man7/openssl-env.pod"
- ],
- "doc/man/man7/openssl-glossary.7" => [
- "doc/man7/openssl-glossary.pod"
- ],
- "doc/man/man7/openssl-qlog.7" => [
- "doc/man7/openssl-qlog.pod"
- ],
- "doc/man/man7/openssl-quic-concurrency.7" => [
- "doc/man7/openssl-quic-concurrency.pod"
- ],
- "doc/man/man7/openssl-quic.7" => [
- "doc/man7/openssl-quic.pod"
- ],
- "doc/man/man7/openssl-threads.7" => [
- "doc/man7/openssl-threads.pod"
- ],
- "doc/man/man7/openssl_user_macros.7" => [
- "doc/man7/openssl_user_macros.pod"
- ],
- "doc/man/man7/ossl-guide-introduction.7" => [
- "doc/man7/ossl-guide-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-libcrypto-introduction.7" => [
- "doc/man7/ossl-guide-libcrypto-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-libraries-introduction.7" => [
- "doc/man7/ossl-guide-libraries-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-libssl-introduction.7" => [
- "doc/man7/ossl-guide-libssl-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-migration.7" => [
- "doc/man7/ossl-guide-migration.pod"
- ],
- "doc/man/man7/ossl-guide-quic-client-block.7" => [
- "doc/man7/ossl-guide-quic-client-block.pod"
- ],
- "doc/man/man7/ossl-guide-quic-client-non-block.7" => [
- "doc/man7/ossl-guide-quic-client-non-block.pod"
- ],
- "doc/man/man7/ossl-guide-quic-introduction.7" => [
- "doc/man7/ossl-guide-quic-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-quic-multi-stream.7" => [
- "doc/man7/ossl-guide-quic-multi-stream.pod"
- ],
- "doc/man/man7/ossl-guide-quic-server-block.7" => [
- "doc/man7/ossl-guide-quic-server-block.pod"
- ],
- "doc/man/man7/ossl-guide-quic-server-non-block.7" => [
- "doc/man7/ossl-guide-quic-server-non-block.pod"
- ],
- "doc/man/man7/ossl-guide-tls-client-block.7" => [
- "doc/man7/ossl-guide-tls-client-block.pod"
- ],
- "doc/man/man7/ossl-guide-tls-client-non-block.7" => [
- "doc/man7/ossl-guide-tls-client-non-block.pod"
- ],
- "doc/man/man7/ossl-guide-tls-introduction.7" => [
- "doc/man7/ossl-guide-tls-introduction.pod"
- ],
- "doc/man/man7/ossl-guide-tls-server-block.7" => [
- "doc/man7/ossl-guide-tls-server-block.pod"
- ],
- "doc/man/man7/ossl_store-file.7" => [
- "doc/man7/ossl_store-file.pod"
- ],
- "doc/man/man7/ossl_store.7" => [
- "doc/man7/ossl_store.pod"
- ],
- "doc/man/man7/passphrase-encoding.7" => [
- "doc/man7/passphrase-encoding.pod"
- ],
- "doc/man/man7/property.7" => [
- "doc/man7/property.pod"
- ],
- "doc/man/man7/provider-asym_cipher.7" => [
- "doc/man7/provider-asym_cipher.pod"
- ],
- "doc/man/man7/provider-base.7" => [
- "doc/man7/provider-base.pod"
- ],
- "doc/man/man7/provider-cipher.7" => [
- "doc/man7/provider-cipher.pod"
- ],
- "doc/man/man7/provider-decoder.7" => [
- "doc/man7/provider-decoder.pod"
- ],
- "doc/man/man7/provider-digest.7" => [
- "doc/man7/provider-digest.pod"
- ],
- "doc/man/man7/provider-encoder.7" => [
- "doc/man7/provider-encoder.pod"
- ],
- "doc/man/man7/provider-kdf.7" => [
- "doc/man7/provider-kdf.pod"
- ],
- "doc/man/man7/provider-kem.7" => [
- "doc/man7/provider-kem.pod"
- ],
- "doc/man/man7/provider-keyexch.7" => [
- "doc/man7/provider-keyexch.pod"
- ],
- "doc/man/man7/provider-keymgmt.7" => [
- "doc/man7/provider-keymgmt.pod"
- ],
- "doc/man/man7/provider-mac.7" => [
- "doc/man7/provider-mac.pod"
- ],
- "doc/man/man7/provider-object.7" => [
- "doc/man7/provider-object.pod"
- ],
- "doc/man/man7/provider-rand.7" => [
- "doc/man7/provider-rand.pod"
- ],
- "doc/man/man7/provider-signature.7" => [
- "doc/man7/provider-signature.pod"
- ],
- "doc/man/man7/provider-skeymgmt.7" => [
- "doc/man7/provider-skeymgmt.pod"
- ],
- "doc/man/man7/provider-storemgmt.7" => [
- "doc/man7/provider-storemgmt.pod"
- ],
- "doc/man/man7/provider.7" => [
- "doc/man7/provider.pod"
- ],
- "doc/man/man7/proxy-certificates.7" => [
- "doc/man7/proxy-certificates.pod"
- ],
- "doc/man/man7/x509.7" => [
- "doc/man7/x509.pod"
- ],
- "doc/man1/openssl-asn1parse.pod" => [
- "doc/man1/openssl-asn1parse.pod.in"
- ],
- "doc/man1/openssl-ca.pod" => [
- "doc/man1/openssl-ca.pod.in"
- ],
- "doc/man1/openssl-ciphers.pod" => [
- "doc/man1/openssl-ciphers.pod.in"
- ],
- "doc/man1/openssl-cmds.pod" => [
- "doc/man1/openssl-cmds.pod.in"
- ],
- "doc/man1/openssl-cmp.pod" => [
- "doc/man1/openssl-cmp.pod.in"
- ],
- "doc/man1/openssl-cms.pod" => [
- "doc/man1/openssl-cms.pod.in"
- ],
- "doc/man1/openssl-crl.pod" => [
- "doc/man1/openssl-crl.pod.in"
- ],
- "doc/man1/openssl-crl2pkcs7.pod" => [
- "doc/man1/openssl-crl2pkcs7.pod.in"
- ],
- "doc/man1/openssl-dgst.pod" => [
- "doc/man1/openssl-dgst.pod.in"
- ],
- "doc/man1/openssl-dhparam.pod" => [
- "doc/man1/openssl-dhparam.pod.in"
- ],
- "doc/man1/openssl-dsa.pod" => [
- "doc/man1/openssl-dsa.pod.in"
- ],
- "doc/man1/openssl-dsaparam.pod" => [
- "doc/man1/openssl-dsaparam.pod.in"
- ],
- "doc/man1/openssl-ec.pod" => [
- "doc/man1/openssl-ec.pod.in"
- ],
- "doc/man1/openssl-ecparam.pod" => [
- "doc/man1/openssl-ecparam.pod.in"
- ],
- "doc/man1/openssl-enc.pod" => [
- "doc/man1/openssl-enc.pod.in"
- ],
- "doc/man1/openssl-engine.pod" => [
- "doc/man1/openssl-engine.pod.in"
- ],
- "doc/man1/openssl-errstr.pod" => [
- "doc/man1/openssl-errstr.pod.in"
- ],
- "doc/man1/openssl-fipsinstall.pod" => [
- "doc/man1/openssl-fipsinstall.pod.in"
- ],
- "doc/man1/openssl-gendsa.pod" => [
- "doc/man1/openssl-gendsa.pod.in"
- ],
- "doc/man1/openssl-genpkey.pod" => [
- "doc/man1/openssl-genpkey.pod.in"
- ],
- "doc/man1/openssl-genrsa.pod" => [
- "doc/man1/openssl-genrsa.pod.in"
- ],
- "doc/man1/openssl-info.pod" => [
- "doc/man1/openssl-info.pod.in"
- ],
- "doc/man1/openssl-kdf.pod" => [
- "doc/man1/openssl-kdf.pod.in"
- ],
- "doc/man1/openssl-list.pod" => [
- "doc/man1/openssl-list.pod.in"
- ],
- "doc/man1/openssl-mac.pod" => [
- "doc/man1/openssl-mac.pod.in"
- ],
- "doc/man1/openssl-nseq.pod" => [
- "doc/man1/openssl-nseq.pod.in"
- ],
- "doc/man1/openssl-ocsp.pod" => [
- "doc/man1/openssl-ocsp.pod.in"
- ],
- "doc/man1/openssl-passwd.pod" => [
- "doc/man1/openssl-passwd.pod.in"
- ],
- "doc/man1/openssl-pkcs12.pod" => [
- "doc/man1/openssl-pkcs12.pod.in"
- ],
- "doc/man1/openssl-pkcs7.pod" => [
- "doc/man1/openssl-pkcs7.pod.in"
- ],
- "doc/man1/openssl-pkcs8.pod" => [
- "doc/man1/openssl-pkcs8.pod.in"
- ],
- "doc/man1/openssl-pkey.pod" => [
- "doc/man1/openssl-pkey.pod.in"
- ],
- "doc/man1/openssl-pkeyparam.pod" => [
- "doc/man1/openssl-pkeyparam.pod.in"
- ],
- "doc/man1/openssl-pkeyutl.pod" => [
- "doc/man1/openssl-pkeyutl.pod.in"
- ],
- "doc/man1/openssl-prime.pod" => [
- "doc/man1/openssl-prime.pod.in"
- ],
- "doc/man1/openssl-rand.pod" => [
- "doc/man1/openssl-rand.pod.in"
- ],
- "doc/man1/openssl-rehash.pod" => [
- "doc/man1/openssl-rehash.pod.in"
- ],
- "doc/man1/openssl-req.pod" => [
- "doc/man1/openssl-req.pod.in"
- ],
- "doc/man1/openssl-rsa.pod" => [
- "doc/man1/openssl-rsa.pod.in"
- ],
- "doc/man1/openssl-rsautl.pod" => [
- "doc/man1/openssl-rsautl.pod.in"
- ],
- "doc/man1/openssl-s_client.pod" => [
- "doc/man1/openssl-s_client.pod.in"
- ],
- "doc/man1/openssl-s_server.pod" => [
- "doc/man1/openssl-s_server.pod.in"
- ],
- "doc/man1/openssl-s_time.pod" => [
- "doc/man1/openssl-s_time.pod.in"
- ],
- "doc/man1/openssl-sess_id.pod" => [
- "doc/man1/openssl-sess_id.pod.in"
- ],
- "doc/man1/openssl-skeyutl.pod" => [
- "doc/man1/openssl-skeyutl.pod.in"
- ],
- "doc/man1/openssl-smime.pod" => [
- "doc/man1/openssl-smime.pod.in"
- ],
- "doc/man1/openssl-speed.pod" => [
- "doc/man1/openssl-speed.pod.in"
- ],
- "doc/man1/openssl-spkac.pod" => [
- "doc/man1/openssl-spkac.pod.in"
- ],
- "doc/man1/openssl-srp.pod" => [
- "doc/man1/openssl-srp.pod.in"
- ],
- "doc/man1/openssl-storeutl.pod" => [
- "doc/man1/openssl-storeutl.pod.in"
- ],
- "doc/man1/openssl-ts.pod" => [
- "doc/man1/openssl-ts.pod.in"
- ],
- "doc/man1/openssl-verify.pod" => [
- "doc/man1/openssl-verify.pod.in"
- ],
- "doc/man1/openssl-version.pod" => [
- "doc/man1/openssl-version.pod.in"
- ],
- "doc/man1/openssl-x509.pod" => [
- "doc/man1/openssl-x509.pod.in"
- ],
- "doc/man7/openssl_user_macros.pod" => [
- "doc/man7/openssl_user_macros.pod.in"
- ],
- "engines/capi.ld" => [
- "util/engines.num"
- ],
- "engines/dasync.ld" => [
- "util/engines.num"
- ],
- "engines/devcrypto.ld" => [
- "util/engines.num"
- ],
- "engines/e_padlock-x86.S" => [
- "engines/asm/e_padlock-x86.pl"
- ],
- "engines/e_padlock-x86_64.s" => [
- "engines/asm/e_padlock-x86_64.pl"
- ],
- "engines/loader_attic.ld" => [
- "util/engines.num"
- ],
- "engines/ossltest.ld" => [
- "util/engines.num"
- ],
- "engines/padlock.ld" => [
- "util/engines.num"
- ],
- "exporters/OpenSSLConfig.cmake" => [
- "exporters/cmake/OpenSSLConfig.cmake.in"
- ],
- "exporters/OpenSSLConfigVersion.cmake" => [
- "exporters/cmake/OpenSSLConfigVersion.cmake.in"
- ],
- "exporters/libcrypto.pc" => [
- "exporters/pkg-config/libcrypto.pc.in"
- ],
- "exporters/libssl.pc" => [
- "exporters/pkg-config/libssl.pc.in"
- ],
- "exporters/openssl.pc" => [
- "exporters/pkg-config/openssl.pc.in"
- ],
- "include/crypto/bn_conf.h" => [
- "include/crypto/bn_conf.h.in"
- ],
- "include/crypto/dso_conf.h" => [
- "include/crypto/dso_conf.h.in"
- ],
- "include/internal/param_names.h" => [
- "include/internal/param_names.h.in"
- ],
- "include/openssl/asn1.h" => [
- "include/openssl/asn1.h.in"
- ],
- "include/openssl/asn1t.h" => [
- "include/openssl/asn1t.h.in"
- ],
- "include/openssl/bio.h" => [
- "include/openssl/bio.h.in"
- ],
- "include/openssl/cmp.h" => [
- "include/openssl/cmp.h.in"
- ],
- "include/openssl/cms.h" => [
- "include/openssl/cms.h.in"
- ],
- "include/openssl/comp.h" => [
- "include/openssl/comp.h.in"
- ],
- "include/openssl/conf.h" => [
- "include/openssl/conf.h.in"
- ],
- "include/openssl/configuration.h" => [
- "include/openssl/configuration.h.in"
- ],
- "include/openssl/core_names.h" => [
- "include/openssl/core_names.h.in"
- ],
- "include/openssl/crmf.h" => [
- "include/openssl/crmf.h.in"
- ],
- "include/openssl/crypto.h" => [
- "include/openssl/crypto.h.in"
- ],
- "include/openssl/ct.h" => [
- "include/openssl/ct.h.in"
- ],
- "include/openssl/err.h" => [
- "include/openssl/err.h.in"
- ],
- "include/openssl/ess.h" => [
- "include/openssl/ess.h.in"
- ],
- "include/openssl/fipskey.h" => [
- "include/openssl/fipskey.h.in"
- ],
- "include/openssl/lhash.h" => [
- "include/openssl/lhash.h.in"
- ],
- "include/openssl/ocsp.h" => [
- "include/openssl/ocsp.h.in"
- ],
- "include/openssl/opensslv.h" => [
- "include/openssl/opensslv.h.in"
- ],
- "include/openssl/pkcs12.h" => [
- "include/openssl/pkcs12.h.in"
- ],
- "include/openssl/pkcs7.h" => [
- "include/openssl/pkcs7.h.in"
- ],
- "include/openssl/safestack.h" => [
- "include/openssl/safestack.h.in"
- ],
- "include/openssl/srp.h" => [
- "include/openssl/srp.h.in"
- ],
- "include/openssl/ssl.h" => [
- "include/openssl/ssl.h.in"
- ],
- "include/openssl/ui.h" => [
- "include/openssl/ui.h.in"
- ],
- "include/openssl/x509.h" => [
- "include/openssl/x509.h.in"
- ],
- "include/openssl/x509_acert.h" => [
- "include/openssl/x509_acert.h.in"
- ],
- "include/openssl/x509_vfy.h" => [
- "include/openssl/x509_vfy.h.in"
- ],
- "include/openssl/x509v3.h" => [
- "include/openssl/x509v3.h.in"
- ],
- "installdata.pm" => [
- "util/mkinstallvars.pl",
- "\"PREFIX=\$(INSTALLTOP)\"",
- "BINDIR=bin",
- "\"LIBDIR=\$(LIBDIR)\"",
- "\"libdir=\$(libdir)\"",
- "INCLUDEDIR=include",
- "APPLINKDIR=include/openssl",
- "\"ENGINESDIR=\$(ENGINESDIR)\"",
- "\"MODULESDIR=\$(MODULESDIR)\"",
- "\"PKGCONFIGDIR=\$(PKGCONFIGDIR)\"",
- "\"CMAKECONFIGDIR=\$(CMAKECONFIGDIR)\"",
- "\"LDLIBS=\$(LIB_EX_LIBS)\"",
- "\"VERSION=\$(VERSION)\""
- ],
- "libcrypto.ld" => [
- "util/libcrypto.num",
- "libcrypto"
- ],
- "libcrypto.pc" => [
- "exporters/pkg-config/libcrypto.pc.in"
- ],
- "libssl.ld" => [
- "util/libssl.num",
- "libssl"
- ],
- "libssl.pc" => [
- "exporters/pkg-config/libssl.pc.in"
- ],
- "openssl.pc" => [
- "exporters/pkg-config/openssl.pc.in"
- ],
- "providers/common/der/der_digests_gen.c" => [
- "providers/common/der/der_digests_gen.c.in"
- ],
- "providers/common/der/der_dsa_gen.c" => [
- "providers/common/der/der_dsa_gen.c.in"
- ],
- "providers/common/der/der_ec_gen.c" => [
- "providers/common/der/der_ec_gen.c.in"
- ],
- "providers/common/der/der_ecx_gen.c" => [
- "providers/common/der/der_ecx_gen.c.in"
- ],
- "providers/common/der/der_ml_dsa_gen.c" => [
- "providers/common/der/der_ml_dsa_gen.c.in"
- ],
- "providers/common/der/der_rsa_gen.c" => [
- "providers/common/der/der_rsa_gen.c.in"
- ],
- "providers/common/der/der_slh_dsa_gen.c" => [
- "providers/common/der/der_slh_dsa_gen.c.in"
- ],
- "providers/common/der/der_wrap_gen.c" => [
- "providers/common/der/der_wrap_gen.c.in"
- ],
- "providers/common/include/prov/der_digests.h" => [
- "providers/common/include/prov/der_digests.h.in"
- ],
- "providers/common/include/prov/der_dsa.h" => [
- "providers/common/include/prov/der_dsa.h.in"
- ],
- "providers/common/include/prov/der_ec.h" => [
- "providers/common/include/prov/der_ec.h.in"
- ],
- "providers/common/include/prov/der_ecx.h" => [
- "providers/common/include/prov/der_ecx.h.in"
- ],
- "providers/common/include/prov/der_ml_dsa.h" => [
- "providers/common/include/prov/der_ml_dsa.h.in"
- ],
- "providers/common/include/prov/der_rsa.h" => [
- "providers/common/include/prov/der_rsa.h.in"
- ],
- "providers/common/include/prov/der_slh_dsa.h" => [
- "providers/common/include/prov/der_slh_dsa.h.in"
- ],
- "providers/common/include/prov/der_wrap.h" => [
- "providers/common/include/prov/der_wrap.h.in"
- ],
- "providers/legacy.ld" => [
- "util/providers.num"
- ],
- "test/buildtest_aes.c" => [
- "test/generate_buildtest.pl",
- "aes"
- ],
- "test/buildtest_asn1.c" => [
- "test/generate_buildtest.pl",
- "asn1"
- ],
- "test/buildtest_asn1t.c" => [
- "test/generate_buildtest.pl",
- "asn1t"
- ],
- "test/buildtest_async.c" => [
- "test/generate_buildtest.pl",
- "async"
- ],
- "test/buildtest_bio.c" => [
- "test/generate_buildtest.pl",
- "bio"
- ],
- "test/buildtest_blowfish.c" => [
- "test/generate_buildtest.pl",
- "blowfish"
- ],
- "test/buildtest_bn.c" => [
- "test/generate_buildtest.pl",
- "bn"
- ],
- "test/buildtest_buffer.c" => [
- "test/generate_buildtest.pl",
- "buffer"
- ],
- "test/buildtest_byteorder.c" => [
- "test/generate_buildtest.pl",
- "byteorder"
- ],
- "test/buildtest_camellia.c" => [
- "test/generate_buildtest.pl",
- "camellia"
- ],
- "test/buildtest_cast.c" => [
- "test/generate_buildtest.pl",
- "cast"
- ],
- "test/buildtest_cmac.c" => [
- "test/generate_buildtest.pl",
- "cmac"
- ],
- "test/buildtest_cmp.c" => [
- "test/generate_buildtest.pl",
- "cmp"
- ],
- "test/buildtest_cmp_util.c" => [
- "test/generate_buildtest.pl",
- "cmp_util"
- ],
- "test/buildtest_cms.c" => [
- "test/generate_buildtest.pl",
- "cms"
- ],
- "test/buildtest_comp.c" => [
- "test/generate_buildtest.pl",
- "comp"
- ],
- "test/buildtest_conf.c" => [
- "test/generate_buildtest.pl",
- "conf"
- ],
- "test/buildtest_conf_api.c" => [
- "test/generate_buildtest.pl",
- "conf_api"
- ],
- "test/buildtest_configuration.c" => [
- "test/generate_buildtest.pl",
- "configuration"
- ],
- "test/buildtest_conftypes.c" => [
- "test/generate_buildtest.pl",
- "conftypes"
- ],
- "test/buildtest_core.c" => [
- "test/generate_buildtest.pl",
- "core"
- ],
- "test/buildtest_core_dispatch.c" => [
- "test/generate_buildtest.pl",
- "core_dispatch"
- ],
- "test/buildtest_core_names.c" => [
- "test/generate_buildtest.pl",
- "core_names"
- ],
- "test/buildtest_core_object.c" => [
- "test/generate_buildtest.pl",
- "core_object"
- ],
- "test/buildtest_crmf.c" => [
- "test/generate_buildtest.pl",
- "crmf"
- ],
- "test/buildtest_crypto.c" => [
- "test/generate_buildtest.pl",
- "crypto"
- ],
- "test/buildtest_cryptoerr_legacy.c" => [
- "test/generate_buildtest.pl",
- "cryptoerr_legacy"
- ],
- "test/buildtest_ct.c" => [
- "test/generate_buildtest.pl",
- "ct"
- ],
- "test/buildtest_decoder.c" => [
- "test/generate_buildtest.pl",
- "decoder"
- ],
- "test/buildtest_des.c" => [
- "test/generate_buildtest.pl",
- "des"
- ],
- "test/buildtest_dh.c" => [
- "test/generate_buildtest.pl",
- "dh"
- ],
- "test/buildtest_dsa.c" => [
- "test/generate_buildtest.pl",
- "dsa"
- ],
- "test/buildtest_dtls1.c" => [
- "test/generate_buildtest.pl",
- "dtls1"
- ],
- "test/buildtest_e_os2.c" => [
- "test/generate_buildtest.pl",
- "e_os2"
- ],
- "test/buildtest_e_ostime.c" => [
- "test/generate_buildtest.pl",
- "e_ostime"
- ],
- "test/buildtest_ebcdic.c" => [
- "test/generate_buildtest.pl",
- "ebcdic"
- ],
- "test/buildtest_ec.c" => [
- "test/generate_buildtest.pl",
- "ec"
- ],
- "test/buildtest_ecdh.c" => [
- "test/generate_buildtest.pl",
- "ecdh"
- ],
- "test/buildtest_ecdsa.c" => [
- "test/generate_buildtest.pl",
- "ecdsa"
- ],
- "test/buildtest_encoder.c" => [
- "test/generate_buildtest.pl",
- "encoder"
- ],
- "test/buildtest_engine.c" => [
- "test/generate_buildtest.pl",
- "engine"
- ],
- "test/buildtest_ess.c" => [
- "test/generate_buildtest.pl",
- "ess"
- ],
- "test/buildtest_evp.c" => [
- "test/generate_buildtest.pl",
- "evp"
- ],
- "test/buildtest_fips_names.c" => [
- "test/generate_buildtest.pl",
- "fips_names"
- ],
- "test/buildtest_fipskey.c" => [
- "test/generate_buildtest.pl",
- "fipskey"
- ],
- "test/buildtest_hmac.c" => [
- "test/generate_buildtest.pl",
- "hmac"
- ],
- "test/buildtest_hpke.c" => [
- "test/generate_buildtest.pl",
- "hpke"
- ],
- "test/buildtest_http.c" => [
- "test/generate_buildtest.pl",
- "http"
- ],
- "test/buildtest_indicator.c" => [
- "test/generate_buildtest.pl",
- "indicator"
- ],
- "test/buildtest_kdf.c" => [
- "test/generate_buildtest.pl",
- "kdf"
- ],
- "test/buildtest_lhash.c" => [
- "test/generate_buildtest.pl",
- "lhash"
- ],
- "test/buildtest_macros.c" => [
- "test/generate_buildtest.pl",
- "macros"
- ],
- "test/buildtest_md4.c" => [
- "test/generate_buildtest.pl",
- "md4"
- ],
- "test/buildtest_md5.c" => [
- "test/generate_buildtest.pl",
- "md5"
- ],
- "test/buildtest_ml_kem.c" => [
- "test/generate_buildtest.pl",
- "ml_kem"
- ],
- "test/buildtest_modes.c" => [
- "test/generate_buildtest.pl",
- "modes"
- ],
- "test/buildtest_obj_mac.c" => [
- "test/generate_buildtest.pl",
- "obj_mac"
- ],
- "test/buildtest_objects.c" => [
- "test/generate_buildtest.pl",
- "objects"
- ],
- "test/buildtest_ocsp.c" => [
- "test/generate_buildtest.pl",
- "ocsp"
- ],
- "test/buildtest_opensslv.c" => [
- "test/generate_buildtest.pl",
- "opensslv"
- ],
- "test/buildtest_ossl_typ.c" => [
- "test/generate_buildtest.pl",
- "ossl_typ"
- ],
- "test/buildtest_param_build.c" => [
- "test/generate_buildtest.pl",
- "param_build"
- ],
- "test/buildtest_params.c" => [
- "test/generate_buildtest.pl",
- "params"
- ],
- "test/buildtest_pem.c" => [
- "test/generate_buildtest.pl",
- "pem"
- ],
- "test/buildtest_pem2.c" => [
- "test/generate_buildtest.pl",
- "pem2"
- ],
- "test/buildtest_pkcs12.c" => [
- "test/generate_buildtest.pl",
- "pkcs12"
- ],
- "test/buildtest_pkcs7.c" => [
- "test/generate_buildtest.pl",
- "pkcs7"
- ],
- "test/buildtest_prov_ssl.c" => [
- "test/generate_buildtest.pl",
- "prov_ssl"
- ],
- "test/buildtest_provider.c" => [
- "test/generate_buildtest.pl",
- "provider"
- ],
- "test/buildtest_quic.c" => [
- "test/generate_buildtest.pl",
- "quic"
- ],
- "test/buildtest_rand.c" => [
- "test/generate_buildtest.pl",
- "rand"
- ],
- "test/buildtest_rc2.c" => [
- "test/generate_buildtest.pl",
- "rc2"
- ],
- "test/buildtest_rc4.c" => [
- "test/generate_buildtest.pl",
- "rc4"
- ],
- "test/buildtest_ripemd.c" => [
- "test/generate_buildtest.pl",
- "ripemd"
- ],
- "test/buildtest_rsa.c" => [
- "test/generate_buildtest.pl",
- "rsa"
- ],
- "test/buildtest_safestack.c" => [
- "test/generate_buildtest.pl",
- "safestack"
- ],
- "test/buildtest_seed.c" => [
- "test/generate_buildtest.pl",
- "seed"
- ],
- "test/buildtest_self_test.c" => [
- "test/generate_buildtest.pl",
- "self_test"
- ],
- "test/buildtest_sha.c" => [
- "test/generate_buildtest.pl",
- "sha"
- ],
- "test/buildtest_srp.c" => [
- "test/generate_buildtest.pl",
- "srp"
- ],
- "test/buildtest_srtp.c" => [
- "test/generate_buildtest.pl",
- "srtp"
- ],
- "test/buildtest_ssl.c" => [
- "test/generate_buildtest.pl",
- "ssl"
- ],
- "test/buildtest_ssl2.c" => [
- "test/generate_buildtest.pl",
- "ssl2"
- ],
- "test/buildtest_sslerr_legacy.c" => [
- "test/generate_buildtest.pl",
- "sslerr_legacy"
- ],
- "test/buildtest_stack.c" => [
- "test/generate_buildtest.pl",
- "stack"
- ],
- "test/buildtest_store.c" => [
- "test/generate_buildtest.pl",
- "store"
- ],
- "test/buildtest_symhacks.c" => [
- "test/generate_buildtest.pl",
- "symhacks"
- ],
- "test/buildtest_thread.c" => [
- "test/generate_buildtest.pl",
- "thread"
- ],
- "test/buildtest_tls1.c" => [
- "test/generate_buildtest.pl",
- "tls1"
- ],
- "test/buildtest_ts.c" => [
- "test/generate_buildtest.pl",
- "ts"
- ],
- "test/buildtest_txt_db.c" => [
- "test/generate_buildtest.pl",
- "txt_db"
- ],
- "test/buildtest_types.c" => [
- "test/generate_buildtest.pl",
- "types"
- ],
- "test/buildtest_ui.c" => [
- "test/generate_buildtest.pl",
- "ui"
- ],
- "test/buildtest_whrlpool.c" => [
- "test/generate_buildtest.pl",
- "whrlpool"
- ],
- "test/buildtest_x509.c" => [
- "test/generate_buildtest.pl",
- "x509"
- ],
- "test/buildtest_x509_acert.c" => [
- "test/generate_buildtest.pl",
- "x509_acert"
- ],
- "test/buildtest_x509_vfy.c" => [
- "test/generate_buildtest.pl",
- "x509_vfy"
- ],
- "test/buildtest_x509v3.c" => [
- "test/generate_buildtest.pl",
- "x509v3"
- ],
- "test/p_minimal.ld" => [
- "util/providers.num"
- ],
- "test/p_test.ld" => [
- "util/providers.num"
- ],
- "test/provider_internal_test.cnf" => [
- "test/provider_internal_test.cnf.in"
- ]
- },
- "htmldocs" => {
- "man1" => [
- "doc/html/man1/CA.pl.html",
- "doc/html/man1/openssl-asn1parse.html",
- "doc/html/man1/openssl-ca.html",
- "doc/html/man1/openssl-ciphers.html",
- "doc/html/man1/openssl-cmds.html",
- "doc/html/man1/openssl-cmp.html",
- "doc/html/man1/openssl-cms.html",
- "doc/html/man1/openssl-crl.html",
- "doc/html/man1/openssl-crl2pkcs7.html",
- "doc/html/man1/openssl-dgst.html",
- "doc/html/man1/openssl-dhparam.html",
- "doc/html/man1/openssl-dsa.html",
- "doc/html/man1/openssl-dsaparam.html",
- "doc/html/man1/openssl-ec.html",
- "doc/html/man1/openssl-ecparam.html",
- "doc/html/man1/openssl-enc.html",
- "doc/html/man1/openssl-engine.html",
- "doc/html/man1/openssl-errstr.html",
- "doc/html/man1/openssl-fipsinstall.html",
- "doc/html/man1/openssl-format-options.html",
- "doc/html/man1/openssl-gendsa.html",
- "doc/html/man1/openssl-genpkey.html",
- "doc/html/man1/openssl-genrsa.html",
- "doc/html/man1/openssl-info.html",
- "doc/html/man1/openssl-kdf.html",
- "doc/html/man1/openssl-list.html",
- "doc/html/man1/openssl-mac.html",
- "doc/html/man1/openssl-namedisplay-options.html",
- "doc/html/man1/openssl-nseq.html",
- "doc/html/man1/openssl-ocsp.html",
- "doc/html/man1/openssl-passphrase-options.html",
- "doc/html/man1/openssl-passwd.html",
- "doc/html/man1/openssl-pkcs12.html",
- "doc/html/man1/openssl-pkcs7.html",
- "doc/html/man1/openssl-pkcs8.html",
- "doc/html/man1/openssl-pkey.html",
- "doc/html/man1/openssl-pkeyparam.html",
- "doc/html/man1/openssl-pkeyutl.html",
- "doc/html/man1/openssl-prime.html",
- "doc/html/man1/openssl-rand.html",
- "doc/html/man1/openssl-rehash.html",
- "doc/html/man1/openssl-req.html",
- "doc/html/man1/openssl-rsa.html",
- "doc/html/man1/openssl-rsautl.html",
- "doc/html/man1/openssl-s_client.html",
- "doc/html/man1/openssl-s_server.html",
- "doc/html/man1/openssl-s_time.html",
- "doc/html/man1/openssl-sess_id.html",
- "doc/html/man1/openssl-skeyutl.html",
- "doc/html/man1/openssl-smime.html",
- "doc/html/man1/openssl-speed.html",
- "doc/html/man1/openssl-spkac.html",
- "doc/html/man1/openssl-srp.html",
- "doc/html/man1/openssl-storeutl.html",
- "doc/html/man1/openssl-ts.html",
- "doc/html/man1/openssl-verification-options.html",
- "doc/html/man1/openssl-verify.html",
- "doc/html/man1/openssl-version.html",
- "doc/html/man1/openssl-x509.html",
- "doc/html/man1/openssl.html",
- "doc/html/man1/tsget.html"
- ],
- "man3" => [
- "doc/html/man3/ADMISSIONS.html",
- "doc/html/man3/ASN1_EXTERN_FUNCS.html",
- "doc/html/man3/ASN1_INTEGER_get_int64.html",
- "doc/html/man3/ASN1_INTEGER_new.html",
- "doc/html/man3/ASN1_ITEM_lookup.html",
- "doc/html/man3/ASN1_OBJECT_new.html",
- "doc/html/man3/ASN1_STRING_TABLE_add.html",
- "doc/html/man3/ASN1_STRING_length.html",
- "doc/html/man3/ASN1_STRING_new.html",
- "doc/html/man3/ASN1_STRING_print_ex.html",
- "doc/html/man3/ASN1_TIME_set.html",
- "doc/html/man3/ASN1_TYPE_get.html",
- "doc/html/man3/ASN1_aux_cb.html",
- "doc/html/man3/ASN1_generate_nconf.html",
- "doc/html/man3/ASN1_item_d2i_bio.html",
- "doc/html/man3/ASN1_item_new.html",
- "doc/html/man3/ASN1_item_sign.html",
- "doc/html/man3/ASYNC_WAIT_CTX_new.html",
- "doc/html/man3/ASYNC_start_job.html",
- "doc/html/man3/BF_encrypt.html",
- "doc/html/man3/BIO_ADDR.html",
- "doc/html/man3/BIO_ADDRINFO.html",
- "doc/html/man3/BIO_connect.html",
- "doc/html/man3/BIO_ctrl.html",
- "doc/html/man3/BIO_f_base64.html",
- "doc/html/man3/BIO_f_buffer.html",
- "doc/html/man3/BIO_f_cipher.html",
- "doc/html/man3/BIO_f_md.html",
- "doc/html/man3/BIO_f_null.html",
- "doc/html/man3/BIO_f_prefix.html",
- "doc/html/man3/BIO_f_readbuffer.html",
- "doc/html/man3/BIO_f_ssl.html",
- "doc/html/man3/BIO_find_type.html",
- "doc/html/man3/BIO_get_data.html",
- "doc/html/man3/BIO_get_ex_new_index.html",
- "doc/html/man3/BIO_get_rpoll_descriptor.html",
- "doc/html/man3/BIO_meth_new.html",
- "doc/html/man3/BIO_new.html",
- "doc/html/man3/BIO_new_CMS.html",
- "doc/html/man3/BIO_parse_hostserv.html",
- "doc/html/man3/BIO_printf.html",
- "doc/html/man3/BIO_push.html",
- "doc/html/man3/BIO_read.html",
- "doc/html/man3/BIO_s_accept.html",
- "doc/html/man3/BIO_s_bio.html",
- "doc/html/man3/BIO_s_connect.html",
- "doc/html/man3/BIO_s_core.html",
- "doc/html/man3/BIO_s_datagram.html",
- "doc/html/man3/BIO_s_dgram_pair.html",
- "doc/html/man3/BIO_s_fd.html",
- "doc/html/man3/BIO_s_file.html",
- "doc/html/man3/BIO_s_mem.html",
- "doc/html/man3/BIO_s_null.html",
- "doc/html/man3/BIO_s_socket.html",
- "doc/html/man3/BIO_sendmmsg.html",
- "doc/html/man3/BIO_set_callback.html",
- "doc/html/man3/BIO_should_retry.html",
- "doc/html/man3/BIO_socket_wait.html",
- "doc/html/man3/BN_BLINDING_new.html",
- "doc/html/man3/BN_CTX_new.html",
- "doc/html/man3/BN_CTX_start.html",
- "doc/html/man3/BN_add.html",
- "doc/html/man3/BN_add_word.html",
- "doc/html/man3/BN_bn2bin.html",
- "doc/html/man3/BN_cmp.html",
- "doc/html/man3/BN_copy.html",
- "doc/html/man3/BN_generate_prime.html",
- "doc/html/man3/BN_mod_exp_mont.html",
- "doc/html/man3/BN_mod_inverse.html",
- "doc/html/man3/BN_mod_mul_montgomery.html",
- "doc/html/man3/BN_mod_mul_reciprocal.html",
- "doc/html/man3/BN_new.html",
- "doc/html/man3/BN_num_bytes.html",
- "doc/html/man3/BN_rand.html",
- "doc/html/man3/BN_security_bits.html",
- "doc/html/man3/BN_set_bit.html",
- "doc/html/man3/BN_swap.html",
- "doc/html/man3/BN_zero.html",
- "doc/html/man3/BUF_MEM_new.html",
- "doc/html/man3/CMAC_CTX.html",
- "doc/html/man3/CMS_EncryptedData_decrypt.html",
- "doc/html/man3/CMS_EncryptedData_encrypt.html",
- "doc/html/man3/CMS_EnvelopedData_create.html",
- "doc/html/man3/CMS_add0_cert.html",
- "doc/html/man3/CMS_add1_recipient_cert.html",
- "doc/html/man3/CMS_add1_signer.html",
- "doc/html/man3/CMS_compress.html",
- "doc/html/man3/CMS_data_create.html",
- "doc/html/man3/CMS_decrypt.html",
- "doc/html/man3/CMS_digest_create.html",
- "doc/html/man3/CMS_encrypt.html",
- "doc/html/man3/CMS_final.html",
- "doc/html/man3/CMS_get0_RecipientInfos.html",
- "doc/html/man3/CMS_get0_SignerInfos.html",
- "doc/html/man3/CMS_get0_type.html",
- "doc/html/man3/CMS_get1_ReceiptRequest.html",
- "doc/html/man3/CMS_sign.html",
- "doc/html/man3/CMS_sign_receipt.html",
- "doc/html/man3/CMS_signed_get_attr.html",
- "doc/html/man3/CMS_uncompress.html",
- "doc/html/man3/CMS_verify.html",
- "doc/html/man3/CMS_verify_receipt.html",
- "doc/html/man3/COMP_CTX_new.html",
- "doc/html/man3/CONF_modules_free.html",
- "doc/html/man3/CONF_modules_load_file.html",
- "doc/html/man3/CRYPTO_THREAD_run_once.html",
- "doc/html/man3/CRYPTO_get_ex_new_index.html",
- "doc/html/man3/CRYPTO_memcmp.html",
- "doc/html/man3/CTLOG_STORE_get0_log_by_id.html",
- "doc/html/man3/CTLOG_STORE_new.html",
- "doc/html/man3/CTLOG_new.html",
- "doc/html/man3/CT_POLICY_EVAL_CTX_new.html",
- "doc/html/man3/DEFINE_STACK_OF.html",
- "doc/html/man3/DES_random_key.html",
- "doc/html/man3/DH_generate_key.html",
- "doc/html/man3/DH_generate_parameters.html",
- "doc/html/man3/DH_get0_pqg.html",
- "doc/html/man3/DH_get_1024_160.html",
- "doc/html/man3/DH_meth_new.html",
- "doc/html/man3/DH_new.html",
- "doc/html/man3/DH_new_by_nid.html",
- "doc/html/man3/DH_set_method.html",
- "doc/html/man3/DH_size.html",
- "doc/html/man3/DSA_SIG_new.html",
- "doc/html/man3/DSA_do_sign.html",
- "doc/html/man3/DSA_dup_DH.html",
- "doc/html/man3/DSA_generate_key.html",
- "doc/html/man3/DSA_generate_parameters.html",
- "doc/html/man3/DSA_get0_pqg.html",
- "doc/html/man3/DSA_meth_new.html",
- "doc/html/man3/DSA_new.html",
- "doc/html/man3/DSA_set_method.html",
- "doc/html/man3/DSA_sign.html",
- "doc/html/man3/DSA_size.html",
- "doc/html/man3/DTLS_get_data_mtu.html",
- "doc/html/man3/DTLS_set_timer_cb.html",
- "doc/html/man3/DTLSv1_get_timeout.html",
- "doc/html/man3/DTLSv1_handle_timeout.html",
- "doc/html/man3/DTLSv1_listen.html",
- "doc/html/man3/ECDSA_SIG_new.html",
- "doc/html/man3/ECDSA_sign.html",
- "doc/html/man3/ECPKParameters_print.html",
- "doc/html/man3/EC_GFp_simple_method.html",
- "doc/html/man3/EC_GROUP_copy.html",
- "doc/html/man3/EC_GROUP_new.html",
- "doc/html/man3/EC_KEY_get_enc_flags.html",
- "doc/html/man3/EC_KEY_new.html",
- "doc/html/man3/EC_POINT_add.html",
- "doc/html/man3/EC_POINT_new.html",
- "doc/html/man3/ENGINE_add.html",
- "doc/html/man3/ERR_GET_LIB.html",
- "doc/html/man3/ERR_clear_error.html",
- "doc/html/man3/ERR_error_string.html",
- "doc/html/man3/ERR_get_error.html",
- "doc/html/man3/ERR_load_crypto_strings.html",
- "doc/html/man3/ERR_load_strings.html",
- "doc/html/man3/ERR_new.html",
- "doc/html/man3/ERR_print_errors.html",
- "doc/html/man3/ERR_put_error.html",
- "doc/html/man3/ERR_remove_state.html",
- "doc/html/man3/ERR_set_mark.html",
- "doc/html/man3/EVP_ASYM_CIPHER_free.html",
- "doc/html/man3/EVP_BytesToKey.html",
- "doc/html/man3/EVP_CIPHER_CTX_get_cipher_data.html",
- "doc/html/man3/EVP_CIPHER_CTX_get_original_iv.html",
- "doc/html/man3/EVP_CIPHER_meth_new.html",
- "doc/html/man3/EVP_DigestInit.html",
- "doc/html/man3/EVP_DigestSignInit.html",
- "doc/html/man3/EVP_DigestVerifyInit.html",
- "doc/html/man3/EVP_EncodeInit.html",
- "doc/html/man3/EVP_EncryptInit.html",
- "doc/html/man3/EVP_KDF.html",
- "doc/html/man3/EVP_KEM_free.html",
- "doc/html/man3/EVP_KEYEXCH_free.html",
- "doc/html/man3/EVP_KEYMGMT.html",
- "doc/html/man3/EVP_MAC.html",
- "doc/html/man3/EVP_MD_meth_new.html",
- "doc/html/man3/EVP_OpenInit.html",
- "doc/html/man3/EVP_PBE_CipherInit.html",
- "doc/html/man3/EVP_PKEY2PKCS8.html",
- "doc/html/man3/EVP_PKEY_ASN1_METHOD.html",
- "doc/html/man3/EVP_PKEY_CTX_ctrl.html",
- "doc/html/man3/EVP_PKEY_CTX_get0_libctx.html",
- "doc/html/man3/EVP_PKEY_CTX_get0_pkey.html",
- "doc/html/man3/EVP_PKEY_CTX_get_algor.html",
- "doc/html/man3/EVP_PKEY_CTX_new.html",
- "doc/html/man3/EVP_PKEY_CTX_set1_pbe_pass.html",
- "doc/html/man3/EVP_PKEY_CTX_set_hkdf_md.html",
- "doc/html/man3/EVP_PKEY_CTX_set_params.html",
- "doc/html/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.html",
- "doc/html/man3/EVP_PKEY_CTX_set_scrypt_N.html",
- "doc/html/man3/EVP_PKEY_CTX_set_tls1_prf_md.html",
- "doc/html/man3/EVP_PKEY_asn1_get_count.html",
- "doc/html/man3/EVP_PKEY_check.html",
- "doc/html/man3/EVP_PKEY_copy_parameters.html",
- "doc/html/man3/EVP_PKEY_decapsulate.html",
- "doc/html/man3/EVP_PKEY_decrypt.html",
- "doc/html/man3/EVP_PKEY_derive.html",
- "doc/html/man3/EVP_PKEY_digestsign_supports_digest.html",
- "doc/html/man3/EVP_PKEY_encapsulate.html",
- "doc/html/man3/EVP_PKEY_encrypt.html",
- "doc/html/man3/EVP_PKEY_fromdata.html",
- "doc/html/man3/EVP_PKEY_get_attr.html",
- "doc/html/man3/EVP_PKEY_get_default_digest_nid.html",
- "doc/html/man3/EVP_PKEY_get_field_type.html",
- "doc/html/man3/EVP_PKEY_get_group_name.html",
- "doc/html/man3/EVP_PKEY_get_size.html",
- "doc/html/man3/EVP_PKEY_gettable_params.html",
- "doc/html/man3/EVP_PKEY_is_a.html",
- "doc/html/man3/EVP_PKEY_keygen.html",
- "doc/html/man3/EVP_PKEY_meth_get_count.html",
- "doc/html/man3/EVP_PKEY_meth_new.html",
- "doc/html/man3/EVP_PKEY_new.html",
- "doc/html/man3/EVP_PKEY_print_private.html",
- "doc/html/man3/EVP_PKEY_set1_RSA.html",
- "doc/html/man3/EVP_PKEY_set1_encoded_public_key.html",
- "doc/html/man3/EVP_PKEY_set_type.html",
- "doc/html/man3/EVP_PKEY_settable_params.html",
- "doc/html/man3/EVP_PKEY_sign.html",
- "doc/html/man3/EVP_PKEY_todata.html",
- "doc/html/man3/EVP_PKEY_verify.html",
- "doc/html/man3/EVP_PKEY_verify_recover.html",
- "doc/html/man3/EVP_RAND.html",
- "doc/html/man3/EVP_SIGNATURE.html",
- "doc/html/man3/EVP_SKEY.html",
- "doc/html/man3/EVP_SKEYMGMT.html",
- "doc/html/man3/EVP_SealInit.html",
- "doc/html/man3/EVP_SignInit.html",
- "doc/html/man3/EVP_VerifyInit.html",
- "doc/html/man3/EVP_aes_128_gcm.html",
- "doc/html/man3/EVP_aria_128_gcm.html",
- "doc/html/man3/EVP_bf_cbc.html",
- "doc/html/man3/EVP_blake2b512.html",
- "doc/html/man3/EVP_camellia_128_ecb.html",
- "doc/html/man3/EVP_cast5_cbc.html",
- "doc/html/man3/EVP_chacha20.html",
- "doc/html/man3/EVP_des_cbc.html",
- "doc/html/man3/EVP_desx_cbc.html",
- "doc/html/man3/EVP_idea_cbc.html",
- "doc/html/man3/EVP_md2.html",
- "doc/html/man3/EVP_md4.html",
- "doc/html/man3/EVP_md5.html",
- "doc/html/man3/EVP_mdc2.html",
- "doc/html/man3/EVP_rc2_cbc.html",
- "doc/html/man3/EVP_rc4.html",
- "doc/html/man3/EVP_rc5_32_12_16_cbc.html",
- "doc/html/man3/EVP_ripemd160.html",
- "doc/html/man3/EVP_seed_cbc.html",
- "doc/html/man3/EVP_set_default_properties.html",
- "doc/html/man3/EVP_sha1.html",
- "doc/html/man3/EVP_sha224.html",
- "doc/html/man3/EVP_sha3_224.html",
- "doc/html/man3/EVP_sm3.html",
- "doc/html/man3/EVP_sm4_cbc.html",
- "doc/html/man3/EVP_whirlpool.html",
- "doc/html/man3/GENERAL_NAME.html",
- "doc/html/man3/HMAC.html",
- "doc/html/man3/MD5.html",
- "doc/html/man3/MDC2_Init.html",
- "doc/html/man3/NCONF_new_ex.html",
- "doc/html/man3/OBJ_nid2obj.html",
- "doc/html/man3/OCSP_REQUEST_new.html",
- "doc/html/man3/OCSP_cert_to_id.html",
- "doc/html/man3/OCSP_request_add1_nonce.html",
- "doc/html/man3/OCSP_resp_find_status.html",
- "doc/html/man3/OCSP_response_status.html",
- "doc/html/man3/OCSP_sendreq_new.html",
- "doc/html/man3/OPENSSL_Applink.html",
- "doc/html/man3/OPENSSL_FILE.html",
- "doc/html/man3/OPENSSL_LH_COMPFUNC.html",
- "doc/html/man3/OPENSSL_LH_stats.html",
- "doc/html/man3/OPENSSL_config.html",
- "doc/html/man3/OPENSSL_fork_prepare.html",
- "doc/html/man3/OPENSSL_gmtime.html",
- "doc/html/man3/OPENSSL_hexchar2int.html",
- "doc/html/man3/OPENSSL_ia32cap.html",
- "doc/html/man3/OPENSSL_init_crypto.html",
- "doc/html/man3/OPENSSL_init_ssl.html",
- "doc/html/man3/OPENSSL_instrument_bus.html",
- "doc/html/man3/OPENSSL_load_builtin_modules.html",
- "doc/html/man3/OPENSSL_load_u16_le.html",
- "doc/html/man3/OPENSSL_malloc.html",
- "doc/html/man3/OPENSSL_riscvcap.html",
- "doc/html/man3/OPENSSL_s390xcap.html",
- "doc/html/man3/OPENSSL_secure_malloc.html",
- "doc/html/man3/OPENSSL_strcasecmp.html",
- "doc/html/man3/OSSL_ALGORITHM.html",
- "doc/html/man3/OSSL_CALLBACK.html",
- "doc/html/man3/OSSL_CMP_ATAV_set0.html",
- "doc/html/man3/OSSL_CMP_CTX_new.html",
- "doc/html/man3/OSSL_CMP_HDR_get0_transactionID.html",
- "doc/html/man3/OSSL_CMP_ITAV_new_caCerts.html",
- "doc/html/man3/OSSL_CMP_ITAV_set0.html",
- "doc/html/man3/OSSL_CMP_MSG_get0_header.html",
- "doc/html/man3/OSSL_CMP_MSG_http_perform.html",
- "doc/html/man3/OSSL_CMP_SRV_CTX_new.html",
- "doc/html/man3/OSSL_CMP_STATUSINFO_new.html",
- "doc/html/man3/OSSL_CMP_exec_certreq.html",
- "doc/html/man3/OSSL_CMP_log_open.html",
- "doc/html/man3/OSSL_CMP_validate_msg.html",
- "doc/html/man3/OSSL_CORE_MAKE_FUNC.html",
- "doc/html/man3/OSSL_CRMF_MSG_get0_tmpl.html",
- "doc/html/man3/OSSL_CRMF_MSG_set0_validity.html",
- "doc/html/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.html",
- "doc/html/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.html",
- "doc/html/man3/OSSL_CRMF_pbmp_new.html",
- "doc/html/man3/OSSL_DECODER.html",
- "doc/html/man3/OSSL_DECODER_CTX.html",
- "doc/html/man3/OSSL_DECODER_CTX_new_for_pkey.html",
- "doc/html/man3/OSSL_DECODER_from_bio.html",
- "doc/html/man3/OSSL_DISPATCH.html",
- "doc/html/man3/OSSL_ENCODER.html",
- "doc/html/man3/OSSL_ENCODER_CTX.html",
- "doc/html/man3/OSSL_ENCODER_CTX_new_for_pkey.html",
- "doc/html/man3/OSSL_ENCODER_to_bio.html",
- "doc/html/man3/OSSL_ERR_STATE_save.html",
- "doc/html/man3/OSSL_ESS_check_signing_certs.html",
- "doc/html/man3/OSSL_GENERAL_NAMES_print.html",
- "doc/html/man3/OSSL_HPKE_CTX_new.html",
- "doc/html/man3/OSSL_HTTP_REQ_CTX.html",
- "doc/html/man3/OSSL_HTTP_parse_url.html",
- "doc/html/man3/OSSL_HTTP_transfer.html",
- "doc/html/man3/OSSL_IETF_ATTR_SYNTAX.html",
- "doc/html/man3/OSSL_IETF_ATTR_SYNTAX_print.html",
- "doc/html/man3/OSSL_INDICATOR_set_callback.html",
- "doc/html/man3/OSSL_ITEM.html",
- "doc/html/man3/OSSL_LIB_CTX.html",
- "doc/html/man3/OSSL_LIB_CTX_set_conf_diagnostics.html",
- "doc/html/man3/OSSL_PARAM.html",
- "doc/html/man3/OSSL_PARAM_BLD.html",
- "doc/html/man3/OSSL_PARAM_allocate_from_text.html",
- "doc/html/man3/OSSL_PARAM_dup.html",
- "doc/html/man3/OSSL_PARAM_int.html",
- "doc/html/man3/OSSL_PARAM_print_to_bio.html",
- "doc/html/man3/OSSL_PROVIDER.html",
- "doc/html/man3/OSSL_QUIC_client_method.html",
- "doc/html/man3/OSSL_SELF_TEST_new.html",
- "doc/html/man3/OSSL_SELF_TEST_set_callback.html",
- "doc/html/man3/OSSL_STORE_INFO.html",
- "doc/html/man3/OSSL_STORE_LOADER.html",
- "doc/html/man3/OSSL_STORE_SEARCH.html",
- "doc/html/man3/OSSL_STORE_attach.html",
- "doc/html/man3/OSSL_STORE_expect.html",
- "doc/html/man3/OSSL_STORE_open.html",
- "doc/html/man3/OSSL_sleep.html",
- "doc/html/man3/OSSL_trace_enabled.html",
- "doc/html/man3/OSSL_trace_get_category_num.html",
- "doc/html/man3/OSSL_trace_set_channel.html",
- "doc/html/man3/OpenSSL_add_all_algorithms.html",
- "doc/html/man3/OpenSSL_version.html",
- "doc/html/man3/PBMAC1_get1_pbkdf2_param.html",
- "doc/html/man3/PEM_X509_INFO_read_bio_ex.html",
- "doc/html/man3/PEM_bytes_read_bio.html",
- "doc/html/man3/PEM_read.html",
- "doc/html/man3/PEM_read_CMS.html",
- "doc/html/man3/PEM_read_bio_PrivateKey.html",
- "doc/html/man3/PEM_read_bio_ex.html",
- "doc/html/man3/PEM_write_bio_CMS_stream.html",
- "doc/html/man3/PEM_write_bio_PKCS7_stream.html",
- "doc/html/man3/PKCS12_PBE_keyivgen.html",
- "doc/html/man3/PKCS12_SAFEBAG_create_cert.html",
- "doc/html/man3/PKCS12_SAFEBAG_get0_attrs.html",
- "doc/html/man3/PKCS12_SAFEBAG_get1_cert.html",
- "doc/html/man3/PKCS12_SAFEBAG_set0_attrs.html",
- "doc/html/man3/PKCS12_add1_attr_by_NID.html",
- "doc/html/man3/PKCS12_add_CSPName_asc.html",
- "doc/html/man3/PKCS12_add_cert.html",
- "doc/html/man3/PKCS12_add_friendlyname_asc.html",
- "doc/html/man3/PKCS12_add_localkeyid.html",
- "doc/html/man3/PKCS12_add_safe.html",
- "doc/html/man3/PKCS12_create.html",
- "doc/html/man3/PKCS12_decrypt_skey.html",
- "doc/html/man3/PKCS12_gen_mac.html",
- "doc/html/man3/PKCS12_get_friendlyname.html",
- "doc/html/man3/PKCS12_init.html",
- "doc/html/man3/PKCS12_item_decrypt_d2i.html",
- "doc/html/man3/PKCS12_key_gen_utf8_ex.html",
- "doc/html/man3/PKCS12_newpass.html",
- "doc/html/man3/PKCS12_pack_p7encdata.html",
- "doc/html/man3/PKCS12_parse.html",
- "doc/html/man3/PKCS5_PBE_keyivgen.html",
- "doc/html/man3/PKCS5_PBKDF2_HMAC.html",
- "doc/html/man3/PKCS7_decrypt.html",
- "doc/html/man3/PKCS7_encrypt.html",
- "doc/html/man3/PKCS7_get_octet_string.html",
- "doc/html/man3/PKCS7_sign.html",
- "doc/html/man3/PKCS7_sign_add_signer.html",
- "doc/html/man3/PKCS7_type_is_other.html",
- "doc/html/man3/PKCS7_verify.html",
- "doc/html/man3/PKCS8_encrypt.html",
- "doc/html/man3/PKCS8_pkey_add1_attr.html",
- "doc/html/man3/RAND_add.html",
- "doc/html/man3/RAND_bytes.html",
- "doc/html/man3/RAND_cleanup.html",
- "doc/html/man3/RAND_egd.html",
- "doc/html/man3/RAND_get0_primary.html",
- "doc/html/man3/RAND_load_file.html",
- "doc/html/man3/RAND_set_DRBG_type.html",
- "doc/html/man3/RAND_set_rand_method.html",
- "doc/html/man3/RC4_set_key.html",
- "doc/html/man3/RIPEMD160_Init.html",
- "doc/html/man3/RSA_blinding_on.html",
- "doc/html/man3/RSA_check_key.html",
- "doc/html/man3/RSA_generate_key.html",
- "doc/html/man3/RSA_get0_key.html",
- "doc/html/man3/RSA_meth_new.html",
- "doc/html/man3/RSA_new.html",
- "doc/html/man3/RSA_padding_add_PKCS1_type_1.html",
- "doc/html/man3/RSA_print.html",
- "doc/html/man3/RSA_private_encrypt.html",
- "doc/html/man3/RSA_public_encrypt.html",
- "doc/html/man3/RSA_set_method.html",
- "doc/html/man3/RSA_sign.html",
- "doc/html/man3/RSA_sign_ASN1_OCTET_STRING.html",
- "doc/html/man3/RSA_size.html",
- "doc/html/man3/SCT_new.html",
- "doc/html/man3/SCT_print.html",
- "doc/html/man3/SCT_validate.html",
- "doc/html/man3/SHA256_Init.html",
- "doc/html/man3/SMIME_read_ASN1.html",
- "doc/html/man3/SMIME_read_CMS.html",
- "doc/html/man3/SMIME_read_PKCS7.html",
- "doc/html/man3/SMIME_write_ASN1.html",
- "doc/html/man3/SMIME_write_CMS.html",
- "doc/html/man3/SMIME_write_PKCS7.html",
- "doc/html/man3/SRP_Calc_B.html",
- "doc/html/man3/SRP_VBASE_new.html",
- "doc/html/man3/SRP_create_verifier.html",
- "doc/html/man3/SRP_user_pwd_new.html",
- "doc/html/man3/SSL_CIPHER_get_name.html",
- "doc/html/man3/SSL_COMP_add_compression_method.html",
- "doc/html/man3/SSL_CONF_CTX_new.html",
- "doc/html/man3/SSL_CONF_CTX_set1_prefix.html",
- "doc/html/man3/SSL_CONF_CTX_set_flags.html",
- "doc/html/man3/SSL_CONF_CTX_set_ssl_ctx.html",
- "doc/html/man3/SSL_CONF_cmd.html",
- "doc/html/man3/SSL_CONF_cmd_argv.html",
- "doc/html/man3/SSL_CTX_add1_chain_cert.html",
- "doc/html/man3/SSL_CTX_add_extra_chain_cert.html",
- "doc/html/man3/SSL_CTX_add_session.html",
- "doc/html/man3/SSL_CTX_config.html",
- "doc/html/man3/SSL_CTX_ctrl.html",
- "doc/html/man3/SSL_CTX_dane_enable.html",
- "doc/html/man3/SSL_CTX_flush_sessions.html",
- "doc/html/man3/SSL_CTX_free.html",
- "doc/html/man3/SSL_CTX_get0_param.html",
- "doc/html/man3/SSL_CTX_get_verify_mode.html",
- "doc/html/man3/SSL_CTX_has_client_custom_ext.html",
- "doc/html/man3/SSL_CTX_load_verify_locations.html",
- "doc/html/man3/SSL_CTX_new.html",
- "doc/html/man3/SSL_CTX_sess_number.html",
- "doc/html/man3/SSL_CTX_sess_set_cache_size.html",
- "doc/html/man3/SSL_CTX_sess_set_get_cb.html",
- "doc/html/man3/SSL_CTX_sessions.html",
- "doc/html/man3/SSL_CTX_set0_CA_list.html",
- "doc/html/man3/SSL_CTX_set1_cert_comp_preference.html",
- "doc/html/man3/SSL_CTX_set1_curves.html",
- "doc/html/man3/SSL_CTX_set1_sigalgs.html",
- "doc/html/man3/SSL_CTX_set1_verify_cert_store.html",
- "doc/html/man3/SSL_CTX_set_alpn_select_cb.html",
- "doc/html/man3/SSL_CTX_set_cert_cb.html",
- "doc/html/man3/SSL_CTX_set_cert_store.html",
- "doc/html/man3/SSL_CTX_set_cert_verify_callback.html",
- "doc/html/man3/SSL_CTX_set_cipher_list.html",
- "doc/html/man3/SSL_CTX_set_client_cert_cb.html",
- "doc/html/man3/SSL_CTX_set_client_hello_cb.html",
- "doc/html/man3/SSL_CTX_set_ct_validation_callback.html",
- "doc/html/man3/SSL_CTX_set_ctlog_list_file.html",
- "doc/html/man3/SSL_CTX_set_default_passwd_cb.html",
- "doc/html/man3/SSL_CTX_set_domain_flags.html",
- "doc/html/man3/SSL_CTX_set_generate_session_id.html",
- "doc/html/man3/SSL_CTX_set_info_callback.html",
- "doc/html/man3/SSL_CTX_set_keylog_callback.html",
- "doc/html/man3/SSL_CTX_set_max_cert_list.html",
- "doc/html/man3/SSL_CTX_set_min_proto_version.html",
- "doc/html/man3/SSL_CTX_set_mode.html",
- "doc/html/man3/SSL_CTX_set_msg_callback.html",
- "doc/html/man3/SSL_CTX_set_new_pending_conn_cb.html",
- "doc/html/man3/SSL_CTX_set_num_tickets.html",
- "doc/html/man3/SSL_CTX_set_options.html",
- "doc/html/man3/SSL_CTX_set_psk_client_callback.html",
- "doc/html/man3/SSL_CTX_set_quiet_shutdown.html",
- "doc/html/man3/SSL_CTX_set_read_ahead.html",
- "doc/html/man3/SSL_CTX_set_record_padding_callback.html",
- "doc/html/man3/SSL_CTX_set_security_level.html",
- "doc/html/man3/SSL_CTX_set_session_cache_mode.html",
- "doc/html/man3/SSL_CTX_set_session_id_context.html",
- "doc/html/man3/SSL_CTX_set_session_ticket_cb.html",
- "doc/html/man3/SSL_CTX_set_split_send_fragment.html",
- "doc/html/man3/SSL_CTX_set_srp_password.html",
- "doc/html/man3/SSL_CTX_set_ssl_version.html",
- "doc/html/man3/SSL_CTX_set_stateless_cookie_generate_cb.html",
- "doc/html/man3/SSL_CTX_set_timeout.html",
- "doc/html/man3/SSL_CTX_set_tlsext_servername_callback.html",
- "doc/html/man3/SSL_CTX_set_tlsext_status_cb.html",
- "doc/html/man3/SSL_CTX_set_tlsext_ticket_key_cb.html",
- "doc/html/man3/SSL_CTX_set_tlsext_use_srtp.html",
- "doc/html/man3/SSL_CTX_set_tmp_dh_callback.html",
- "doc/html/man3/SSL_CTX_set_tmp_ecdh.html",
- "doc/html/man3/SSL_CTX_set_verify.html",
- "doc/html/man3/SSL_CTX_use_certificate.html",
- "doc/html/man3/SSL_CTX_use_psk_identity_hint.html",
- "doc/html/man3/SSL_CTX_use_serverinfo.html",
- "doc/html/man3/SSL_SESSION_free.html",
- "doc/html/man3/SSL_SESSION_get0_cipher.html",
- "doc/html/man3/SSL_SESSION_get0_hostname.html",
- "doc/html/man3/SSL_SESSION_get0_id_context.html",
- "doc/html/man3/SSL_SESSION_get0_peer.html",
- "doc/html/man3/SSL_SESSION_get_compress_id.html",
- "doc/html/man3/SSL_SESSION_get_protocol_version.html",
- "doc/html/man3/SSL_SESSION_get_time.html",
- "doc/html/man3/SSL_SESSION_has_ticket.html",
- "doc/html/man3/SSL_SESSION_is_resumable.html",
- "doc/html/man3/SSL_SESSION_print.html",
- "doc/html/man3/SSL_SESSION_set1_id.html",
- "doc/html/man3/SSL_accept.html",
- "doc/html/man3/SSL_accept_stream.html",
- "doc/html/man3/SSL_alert_type_string.html",
- "doc/html/man3/SSL_alloc_buffers.html",
- "doc/html/man3/SSL_check_chain.html",
- "doc/html/man3/SSL_clear.html",
- "doc/html/man3/SSL_connect.html",
- "doc/html/man3/SSL_do_handshake.html",
- "doc/html/man3/SSL_export_keying_material.html",
- "doc/html/man3/SSL_extension_supported.html",
- "doc/html/man3/SSL_free.html",
- "doc/html/man3/SSL_get0_connection.html",
- "doc/html/man3/SSL_get0_group_name.html",
- "doc/html/man3/SSL_get0_peer_rpk.html",
- "doc/html/man3/SSL_get0_peer_scts.html",
- "doc/html/man3/SSL_get1_builtin_sigalgs.html",
- "doc/html/man3/SSL_get_SSL_CTX.html",
- "doc/html/man3/SSL_get_all_async_fds.html",
- "doc/html/man3/SSL_get_certificate.html",
- "doc/html/man3/SSL_get_ciphers.html",
- "doc/html/man3/SSL_get_client_random.html",
- "doc/html/man3/SSL_get_conn_close_info.html",
- "doc/html/man3/SSL_get_current_cipher.html",
- "doc/html/man3/SSL_get_default_timeout.html",
- "doc/html/man3/SSL_get_error.html",
- "doc/html/man3/SSL_get_event_timeout.html",
- "doc/html/man3/SSL_get_extms_support.html",
- "doc/html/man3/SSL_get_fd.html",
- "doc/html/man3/SSL_get_handshake_rtt.html",
- "doc/html/man3/SSL_get_peer_cert_chain.html",
- "doc/html/man3/SSL_get_peer_certificate.html",
- "doc/html/man3/SSL_get_peer_signature_nid.html",
- "doc/html/man3/SSL_get_peer_tmp_key.html",
- "doc/html/man3/SSL_get_psk_identity.html",
- "doc/html/man3/SSL_get_rbio.html",
- "doc/html/man3/SSL_get_rpoll_descriptor.html",
- "doc/html/man3/SSL_get_session.html",
- "doc/html/man3/SSL_get_shared_sigalgs.html",
- "doc/html/man3/SSL_get_stream_id.html",
- "doc/html/man3/SSL_get_stream_read_state.html",
- "doc/html/man3/SSL_get_value_uint.html",
- "doc/html/man3/SSL_get_verify_result.html",
- "doc/html/man3/SSL_get_version.html",
- "doc/html/man3/SSL_group_to_name.html",
- "doc/html/man3/SSL_handle_events.html",
- "doc/html/man3/SSL_in_init.html",
- "doc/html/man3/SSL_inject_net_dgram.html",
- "doc/html/man3/SSL_key_update.html",
- "doc/html/man3/SSL_library_init.html",
- "doc/html/man3/SSL_load_client_CA_file.html",
- "doc/html/man3/SSL_new.html",
- "doc/html/man3/SSL_new_domain.html",
- "doc/html/man3/SSL_new_listener.html",
- "doc/html/man3/SSL_new_stream.html",
- "doc/html/man3/SSL_pending.html",
- "doc/html/man3/SSL_poll.html",
- "doc/html/man3/SSL_read.html",
- "doc/html/man3/SSL_read_early_data.html",
- "doc/html/man3/SSL_rstate_string.html",
- "doc/html/man3/SSL_session_reused.html",
- "doc/html/man3/SSL_set1_host.html",
- "doc/html/man3/SSL_set1_initial_peer_addr.html",
- "doc/html/man3/SSL_set1_server_cert_type.html",
- "doc/html/man3/SSL_set_async_callback.html",
- "doc/html/man3/SSL_set_bio.html",
- "doc/html/man3/SSL_set_blocking_mode.html",
- "doc/html/man3/SSL_set_connect_state.html",
- "doc/html/man3/SSL_set_default_stream_mode.html",
- "doc/html/man3/SSL_set_fd.html",
- "doc/html/man3/SSL_set_incoming_stream_policy.html",
- "doc/html/man3/SSL_set_quic_tls_cbs.html",
- "doc/html/man3/SSL_set_retry_verify.html",
- "doc/html/man3/SSL_set_session.html",
- "doc/html/man3/SSL_set_session_secret_cb.html",
- "doc/html/man3/SSL_set_shutdown.html",
- "doc/html/man3/SSL_set_verify_result.html",
- "doc/html/man3/SSL_shutdown.html",
- "doc/html/man3/SSL_state_string.html",
- "doc/html/man3/SSL_stream_conclude.html",
- "doc/html/man3/SSL_stream_reset.html",
- "doc/html/man3/SSL_want.html",
- "doc/html/man3/SSL_write.html",
- "doc/html/man3/TS_RESP_CTX_new.html",
- "doc/html/man3/TS_VERIFY_CTX.html",
- "doc/html/man3/UI_STRING.html",
- "doc/html/man3/UI_UTIL_read_pw.html",
- "doc/html/man3/UI_create_method.html",
- "doc/html/man3/UI_new.html",
- "doc/html/man3/X509V3_get_d2i.html",
- "doc/html/man3/X509V3_set_ctx.html",
- "doc/html/man3/X509_ACERT_add1_attr.html",
- "doc/html/man3/X509_ACERT_add_attr_nconf.html",
- "doc/html/man3/X509_ACERT_get0_holder_baseCertId.html",
- "doc/html/man3/X509_ACERT_get_attr.html",
- "doc/html/man3/X509_ACERT_print_ex.html",
- "doc/html/man3/X509_ALGOR_dup.html",
- "doc/html/man3/X509_ATTRIBUTE.html",
- "doc/html/man3/X509_CRL_get0_by_serial.html",
- "doc/html/man3/X509_EXTENSION_set_object.html",
- "doc/html/man3/X509_LOOKUP.html",
- "doc/html/man3/X509_LOOKUP_hash_dir.html",
- "doc/html/man3/X509_LOOKUP_meth_new.html",
- "doc/html/man3/X509_NAME_ENTRY_get_object.html",
- "doc/html/man3/X509_NAME_add_entry_by_txt.html",
- "doc/html/man3/X509_NAME_get0_der.html",
- "doc/html/man3/X509_NAME_get_index_by_NID.html",
- "doc/html/man3/X509_NAME_print_ex.html",
- "doc/html/man3/X509_PUBKEY_new.html",
- "doc/html/man3/X509_REQ_get_attr.html",
- "doc/html/man3/X509_REQ_get_extensions.html",
- "doc/html/man3/X509_SIG_get0.html",
- "doc/html/man3/X509_STORE_CTX_get_by_subject.html",
- "doc/html/man3/X509_STORE_CTX_get_error.html",
- "doc/html/man3/X509_STORE_CTX_new.html",
- "doc/html/man3/X509_STORE_CTX_set_verify_cb.html",
- "doc/html/man3/X509_STORE_add_cert.html",
- "doc/html/man3/X509_STORE_get0_param.html",
- "doc/html/man3/X509_STORE_new.html",
- "doc/html/man3/X509_STORE_set_verify_cb_func.html",
- "doc/html/man3/X509_VERIFY_PARAM_set_flags.html",
- "doc/html/man3/X509_add_cert.html",
- "doc/html/man3/X509_check_ca.html",
- "doc/html/man3/X509_check_host.html",
- "doc/html/man3/X509_check_issued.html",
- "doc/html/man3/X509_check_private_key.html",
- "doc/html/man3/X509_check_purpose.html",
- "doc/html/man3/X509_cmp.html",
- "doc/html/man3/X509_cmp_time.html",
- "doc/html/man3/X509_digest.html",
- "doc/html/man3/X509_dup.html",
- "doc/html/man3/X509_get0_distinguishing_id.html",
- "doc/html/man3/X509_get0_notBefore.html",
- "doc/html/man3/X509_get0_signature.html",
- "doc/html/man3/X509_get0_uids.html",
- "doc/html/man3/X509_get_default_cert_file.html",
- "doc/html/man3/X509_get_extension_flags.html",
- "doc/html/man3/X509_get_pubkey.html",
- "doc/html/man3/X509_get_serialNumber.html",
- "doc/html/man3/X509_get_subject_name.html",
- "doc/html/man3/X509_get_version.html",
- "doc/html/man3/X509_load_http.html",
- "doc/html/man3/X509_new.html",
- "doc/html/man3/X509_sign.html",
- "doc/html/man3/X509_verify.html",
- "doc/html/man3/X509_verify_cert.html",
- "doc/html/man3/X509v3_get_ext_by_NID.html",
- "doc/html/man3/b2i_PVK_bio_ex.html",
- "doc/html/man3/d2i_PKCS8PrivateKey_bio.html",
- "doc/html/man3/d2i_PrivateKey.html",
- "doc/html/man3/d2i_RSAPrivateKey.html",
- "doc/html/man3/d2i_SSL_SESSION.html",
- "doc/html/man3/d2i_X509.html",
- "doc/html/man3/i2d_CMS_bio_stream.html",
- "doc/html/man3/i2d_PKCS7_bio_stream.html",
- "doc/html/man3/i2d_re_X509_tbs.html",
- "doc/html/man3/o2i_SCT_LIST.html",
- "doc/html/man3/s2i_ASN1_IA5STRING.html"
- ],
- "man5" => [
- "doc/html/man5/config.html",
- "doc/html/man5/fips_config.html",
- "doc/html/man5/x509v3_config.html"
- ],
- "man7" => [
- "doc/html/man7/EVP_ASYM_CIPHER-RSA.html",
- "doc/html/man7/EVP_ASYM_CIPHER-SM2.html",
- "doc/html/man7/EVP_CIPHER-AES.html",
- "doc/html/man7/EVP_CIPHER-ARIA.html",
- "doc/html/man7/EVP_CIPHER-BLOWFISH.html",
- "doc/html/man7/EVP_CIPHER-CAMELLIA.html",
- "doc/html/man7/EVP_CIPHER-CAST.html",
- "doc/html/man7/EVP_CIPHER-CHACHA.html",
- "doc/html/man7/EVP_CIPHER-DES.html",
- "doc/html/man7/EVP_CIPHER-IDEA.html",
- "doc/html/man7/EVP_CIPHER-NULL.html",
- "doc/html/man7/EVP_CIPHER-RC2.html",
- "doc/html/man7/EVP_CIPHER-RC4.html",
- "doc/html/man7/EVP_CIPHER-RC5.html",
- "doc/html/man7/EVP_CIPHER-SEED.html",
- "doc/html/man7/EVP_CIPHER-SM4.html",
- "doc/html/man7/EVP_KDF-ARGON2.html",
- "doc/html/man7/EVP_KDF-HKDF.html",
- "doc/html/man7/EVP_KDF-HMAC-DRBG.html",
- "doc/html/man7/EVP_KDF-KB.html",
- "doc/html/man7/EVP_KDF-KRB5KDF.html",
- "doc/html/man7/EVP_KDF-PBKDF1.html",
- "doc/html/man7/EVP_KDF-PBKDF2.html",
- "doc/html/man7/EVP_KDF-PKCS12KDF.html",
- "doc/html/man7/EVP_KDF-PVKKDF.html",
- "doc/html/man7/EVP_KDF-SCRYPT.html",
- "doc/html/man7/EVP_KDF-SS.html",
- "doc/html/man7/EVP_KDF-SSHKDF.html",
- "doc/html/man7/EVP_KDF-TLS13_KDF.html",
- "doc/html/man7/EVP_KDF-TLS1_PRF.html",
- "doc/html/man7/EVP_KDF-X942-ASN1.html",
- "doc/html/man7/EVP_KDF-X942-CONCAT.html",
- "doc/html/man7/EVP_KDF-X963.html",
- "doc/html/man7/EVP_KEM-EC.html",
- "doc/html/man7/EVP_KEM-ML-KEM.html",
- "doc/html/man7/EVP_KEM-RSA.html",
- "doc/html/man7/EVP_KEM-X25519.html",
- "doc/html/man7/EVP_KEYEXCH-DH.html",
- "doc/html/man7/EVP_KEYEXCH-ECDH.html",
- "doc/html/man7/EVP_KEYEXCH-X25519.html",
- "doc/html/man7/EVP_MAC-BLAKE2.html",
- "doc/html/man7/EVP_MAC-CMAC.html",
- "doc/html/man7/EVP_MAC-GMAC.html",
- "doc/html/man7/EVP_MAC-HMAC.html",
- "doc/html/man7/EVP_MAC-KMAC.html",
- "doc/html/man7/EVP_MAC-Poly1305.html",
- "doc/html/man7/EVP_MAC-Siphash.html",
- "doc/html/man7/EVP_MD-BLAKE2.html",
- "doc/html/man7/EVP_MD-KECCAK.html",
- "doc/html/man7/EVP_MD-MD2.html",
- "doc/html/man7/EVP_MD-MD4.html",
- "doc/html/man7/EVP_MD-MD5-SHA1.html",
- "doc/html/man7/EVP_MD-MD5.html",
- "doc/html/man7/EVP_MD-MDC2.html",
- "doc/html/man7/EVP_MD-NULL.html",
- "doc/html/man7/EVP_MD-RIPEMD160.html",
- "doc/html/man7/EVP_MD-SHA1.html",
- "doc/html/man7/EVP_MD-SHA2.html",
- "doc/html/man7/EVP_MD-SHA3.html",
- "doc/html/man7/EVP_MD-SHAKE.html",
- "doc/html/man7/EVP_MD-SM3.html",
- "doc/html/man7/EVP_MD-WHIRLPOOL.html",
- "doc/html/man7/EVP_MD-common.html",
- "doc/html/man7/EVP_PKEY-DH.html",
- "doc/html/man7/EVP_PKEY-DSA.html",
- "doc/html/man7/EVP_PKEY-EC.html",
- "doc/html/man7/EVP_PKEY-FFC.html",
- "doc/html/man7/EVP_PKEY-HMAC.html",
- "doc/html/man7/EVP_PKEY-ML-DSA.html",
- "doc/html/man7/EVP_PKEY-ML-KEM.html",
- "doc/html/man7/EVP_PKEY-RSA.html",
- "doc/html/man7/EVP_PKEY-SLH-DSA.html",
- "doc/html/man7/EVP_PKEY-SM2.html",
- "doc/html/man7/EVP_PKEY-X25519.html",
- "doc/html/man7/EVP_RAND-CRNG-TEST.html",
- "doc/html/man7/EVP_RAND-CTR-DRBG.html",
- "doc/html/man7/EVP_RAND-HASH-DRBG.html",
- "doc/html/man7/EVP_RAND-HMAC-DRBG.html",
- "doc/html/man7/EVP_RAND-JITTER.html",
- "doc/html/man7/EVP_RAND-SEED-SRC.html",
- "doc/html/man7/EVP_RAND-TEST-RAND.html",
- "doc/html/man7/EVP_RAND.html",
- "doc/html/man7/EVP_SIGNATURE-DSA.html",
- "doc/html/man7/EVP_SIGNATURE-ECDSA.html",
- "doc/html/man7/EVP_SIGNATURE-ED25519.html",
- "doc/html/man7/EVP_SIGNATURE-HMAC.html",
- "doc/html/man7/EVP_SIGNATURE-ML-DSA.html",
- "doc/html/man7/EVP_SIGNATURE-RSA.html",
- "doc/html/man7/EVP_SIGNATURE-SLH-DSA.html",
- "doc/html/man7/OSSL_PROVIDER-FIPS.html",
- "doc/html/man7/OSSL_PROVIDER-base.html",
- "doc/html/man7/OSSL_PROVIDER-default.html",
- "doc/html/man7/OSSL_PROVIDER-legacy.html",
- "doc/html/man7/OSSL_PROVIDER-null.html",
- "doc/html/man7/OSSL_STORE-winstore.html",
- "doc/html/man7/RAND.html",
- "doc/html/man7/RSA-PSS.html",
- "doc/html/man7/X25519.html",
- "doc/html/man7/bio.html",
- "doc/html/man7/ct.html",
- "doc/html/man7/des_modes.html",
- "doc/html/man7/evp.html",
- "doc/html/man7/fips_module.html",
- "doc/html/man7/life_cycle-cipher.html",
- "doc/html/man7/life_cycle-digest.html",
- "doc/html/man7/life_cycle-kdf.html",
- "doc/html/man7/life_cycle-mac.html",
- "doc/html/man7/life_cycle-pkey.html",
- "doc/html/man7/life_cycle-rand.html",
- "doc/html/man7/openssl-core.h.html",
- "doc/html/man7/openssl-core_dispatch.h.html",
- "doc/html/man7/openssl-core_names.h.html",
- "doc/html/man7/openssl-env.html",
- "doc/html/man7/openssl-glossary.html",
- "doc/html/man7/openssl-qlog.html",
- "doc/html/man7/openssl-quic-concurrency.html",
- "doc/html/man7/openssl-quic.html",
- "doc/html/man7/openssl-threads.html",
- "doc/html/man7/openssl_user_macros.html",
- "doc/html/man7/ossl-guide-introduction.html",
- "doc/html/man7/ossl-guide-libcrypto-introduction.html",
- "doc/html/man7/ossl-guide-libraries-introduction.html",
- "doc/html/man7/ossl-guide-libssl-introduction.html",
- "doc/html/man7/ossl-guide-migration.html",
- "doc/html/man7/ossl-guide-quic-client-block.html",
- "doc/html/man7/ossl-guide-quic-client-non-block.html",
- "doc/html/man7/ossl-guide-quic-introduction.html",
- "doc/html/man7/ossl-guide-quic-multi-stream.html",
- "doc/html/man7/ossl-guide-quic-server-block.html",
- "doc/html/man7/ossl-guide-quic-server-non-block.html",
- "doc/html/man7/ossl-guide-tls-client-block.html",
- "doc/html/man7/ossl-guide-tls-client-non-block.html",
- "doc/html/man7/ossl-guide-tls-introduction.html",
- "doc/html/man7/ossl-guide-tls-server-block.html",
- "doc/html/man7/ossl_store-file.html",
- "doc/html/man7/ossl_store.html",
- "doc/html/man7/passphrase-encoding.html",
- "doc/html/man7/property.html",
- "doc/html/man7/provider-asym_cipher.html",
- "doc/html/man7/provider-base.html",
- "doc/html/man7/provider-cipher.html",
- "doc/html/man7/provider-decoder.html",
- "doc/html/man7/provider-digest.html",
- "doc/html/man7/provider-encoder.html",
- "doc/html/man7/provider-kdf.html",
- "doc/html/man7/provider-kem.html",
- "doc/html/man7/provider-keyexch.html",
- "doc/html/man7/provider-keymgmt.html",
- "doc/html/man7/provider-mac.html",
- "doc/html/man7/provider-object.html",
- "doc/html/man7/provider-rand.html",
- "doc/html/man7/provider-signature.html",
- "doc/html/man7/provider-skeymgmt.html",
- "doc/html/man7/provider-storemgmt.html",
- "doc/html/man7/provider.html",
- "doc/html/man7/proxy-certificates.html",
- "doc/html/man7/x509.html"
- ]
- },
- "imagedocs" => {
- "man7" => [
- "doc/man7/img/cipher.png",
- "doc/man7/img/digest.png",
- "doc/man7/img/kdf.png",
- "doc/man7/img/mac.png",
- "doc/man7/img/pkey.png",
- "doc/man7/img/rand.png"
- ]
- },
- "includes" => {
- "OpenSSLConfig.cmake" => [
- "."
- ],
- "OpenSSLConfigVersion.cmake" => [
- "."
- ],
- "apps/asn1parse.o" => [
- "apps"
- ],
- "apps/ca.o" => [
- "apps"
- ],
- "apps/ca_internals_test-bin-ca.o" => [
- "apps"
- ],
- "apps/ciphers.o" => [
- "apps"
- ],
- "apps/cmp.o" => [
- "apps"
- ],
- "apps/cms.o" => [
- "apps"
- ],
- "apps/crl.o" => [
- "apps"
- ],
- "apps/crl2pkcs7.o" => [
- "apps"
- ],
- "apps/dgst.o" => [
- "apps"
- ],
- "apps/dhparam.o" => [
- "apps"
- ],
- "apps/dsa.o" => [
- "apps"
- ],
- "apps/dsaparam.o" => [
- "apps"
- ],
- "apps/ec.o" => [
- "apps"
- ],
- "apps/ecparam.o" => [
- "apps"
- ],
- "apps/enc.o" => [
- "apps"
- ],
- "apps/engine.o" => [
- "apps"
- ],
- "apps/errstr.o" => [
- "apps"
- ],
- "apps/fipsinstall.o" => [
- "apps"
- ],
- "apps/gendsa.o" => [
- "apps"
- ],
- "apps/genpkey.o" => [
- "apps"
- ],
- "apps/genrsa.o" => [
- "apps"
- ],
- "apps/info.o" => [
- "apps"
- ],
- "apps/kdf.o" => [
- "apps"
- ],
- "apps/lib/cmp_client_test-bin-cmp_mock_srv.o" => [
- "apps"
- ],
- "apps/lib/cmp_mock_srv.o" => [
- "apps"
- ],
- "apps/lib/openssl-bin-cmp_mock_srv.o" => [
- "apps"
- ],
- "apps/libapps.a" => [
- ".",
- "include",
- "apps/include"
- ],
- "apps/list.o" => [
- "apps"
- ],
- "apps/mac.o" => [
- "apps"
- ],
- "apps/nseq.o" => [
- "apps"
- ],
- "apps/ocsp.o" => [
- "apps"
- ],
- "apps/openssl" => [
- ".",
- "include",
- "apps/include"
- ],
- "apps/openssl-bin-asn1parse.o" => [
- "apps"
- ],
- "apps/openssl-bin-ca.o" => [
- "apps"
- ],
- "apps/openssl-bin-ciphers.o" => [
- "apps"
- ],
- "apps/openssl-bin-cmp.o" => [
- "apps"
- ],
- "apps/openssl-bin-cms.o" => [
- "apps"
- ],
- "apps/openssl-bin-crl.o" => [
- "apps"
- ],
- "apps/openssl-bin-crl2pkcs7.o" => [
- "apps"
- ],
- "apps/openssl-bin-dgst.o" => [
- "apps"
- ],
- "apps/openssl-bin-dhparam.o" => [
- "apps"
- ],
- "apps/openssl-bin-dsa.o" => [
- "apps"
- ],
- "apps/openssl-bin-dsaparam.o" => [
- "apps"
- ],
- "apps/openssl-bin-ec.o" => [
- "apps"
- ],
- "apps/openssl-bin-ecparam.o" => [
- "apps"
- ],
- "apps/openssl-bin-enc.o" => [
- "apps"
- ],
- "apps/openssl-bin-engine.o" => [
- "apps"
- ],
- "apps/openssl-bin-errstr.o" => [
- "apps"
- ],
- "apps/openssl-bin-fipsinstall.o" => [
- "apps"
- ],
- "apps/openssl-bin-gendsa.o" => [
- "apps"
- ],
- "apps/openssl-bin-genpkey.o" => [
- "apps"
- ],
- "apps/openssl-bin-genrsa.o" => [
- "apps"
- ],
- "apps/openssl-bin-info.o" => [
- "apps"
- ],
- "apps/openssl-bin-kdf.o" => [
- "apps"
- ],
- "apps/openssl-bin-list.o" => [
- "apps"
- ],
- "apps/openssl-bin-mac.o" => [
- "apps"
- ],
- "apps/openssl-bin-nseq.o" => [
- "apps"
- ],
- "apps/openssl-bin-ocsp.o" => [
- "apps"
- ],
- "apps/openssl-bin-openssl.o" => [
- "apps"
- ],
- "apps/openssl-bin-passwd.o" => [
- "apps"
- ],
- "apps/openssl-bin-pkcs12.o" => [
- "apps"
- ],
- "apps/openssl-bin-pkcs7.o" => [
- "apps"
- ],
- "apps/openssl-bin-pkcs8.o" => [
- "apps"
- ],
- "apps/openssl-bin-pkey.o" => [
- "apps"
- ],
- "apps/openssl-bin-pkeyparam.o" => [
- "apps"
- ],
- "apps/openssl-bin-pkeyutl.o" => [
- "apps"
- ],
- "apps/openssl-bin-prime.o" => [
- "apps"
- ],
- "apps/openssl-bin-progs.o" => [
- "apps"
- ],
- "apps/openssl-bin-rand.o" => [
- "apps"
- ],
- "apps/openssl-bin-rehash.o" => [
- "apps"
- ],
- "apps/openssl-bin-req.o" => [
- "apps"
- ],
- "apps/openssl-bin-rsa.o" => [
- "apps"
- ],
- "apps/openssl-bin-rsautl.o" => [
- "apps"
- ],
- "apps/openssl-bin-s_client.o" => [
- "apps"
- ],
- "apps/openssl-bin-s_server.o" => [
- "apps"
- ],
- "apps/openssl-bin-s_time.o" => [
- "apps"
- ],
- "apps/openssl-bin-sess_id.o" => [
- "apps"
- ],
- "apps/openssl-bin-skeyutl.o" => [
- "apps"
- ],
- "apps/openssl-bin-smime.o" => [
- "apps"
- ],
- "apps/openssl-bin-speed.o" => [
- "apps"
- ],
- "apps/openssl-bin-spkac.o" => [
- "apps"
- ],
- "apps/openssl-bin-srp.o" => [
- "apps"
- ],
- "apps/openssl-bin-storeutl.o" => [
- "apps"
- ],
- "apps/openssl-bin-ts.o" => [
- "apps"
- ],
- "apps/openssl-bin-verify.o" => [
- "apps"
- ],
- "apps/openssl-bin-version.o" => [
- "apps"
- ],
- "apps/openssl-bin-x509.o" => [
- "apps"
- ],
- "apps/openssl.o" => [
- "apps"
- ],
- "apps/passwd.o" => [
- "apps"
- ],
- "apps/pkcs12.o" => [
- "apps"
- ],
- "apps/pkcs7.o" => [
- "apps"
- ],
- "apps/pkcs8.o" => [
- "apps"
- ],
- "apps/pkey.o" => [
- "apps"
- ],
- "apps/pkeyparam.o" => [
- "apps"
- ],
- "apps/pkeyutl.o" => [
- "apps"
- ],
- "apps/prime.o" => [
- "apps"
- ],
- "apps/progs.c" => [
- "."
- ],
- "apps/progs.o" => [
- "apps"
- ],
- "apps/rand.o" => [
- "apps"
- ],
- "apps/rehash.o" => [
- "apps"
- ],
- "apps/req.o" => [
- "apps"
- ],
- "apps/rsa.o" => [
- "apps"
- ],
- "apps/rsautl.o" => [
- "apps"
- ],
- "apps/s_client.o" => [
- "apps"
- ],
- "apps/s_server.o" => [
- "apps"
- ],
- "apps/s_time.o" => [
- "apps"
- ],
- "apps/sess_id.o" => [
- "apps"
- ],
- "apps/skeyutl.o" => [
- "apps"
- ],
- "apps/smime.o" => [
- "apps"
- ],
- "apps/speed.o" => [
- "apps"
- ],
- "apps/spkac.o" => [
- "apps"
- ],
- "apps/srp.o" => [
- "apps"
- ],
- "apps/storeutl.o" => [
- "apps"
- ],
- "apps/ts.o" => [
- "apps"
- ],
- "apps/verify.o" => [
- "apps"
- ],
- "apps/version.o" => [
- "apps"
- ],
- "apps/x509.o" => [
- "apps"
- ],
- "crypto/aes/aes-armv4.o" => [
- "crypto"
- ],
- "crypto/aes/aes-mips.o" => [
- "crypto"
- ],
- "crypto/aes/aes-s390x.o" => [
- "crypto"
- ],
- "crypto/aes/aes-sparcv9.o" => [
- "crypto"
- ],
- "crypto/aes/aesfx-sparcv9.o" => [
- "crypto"
- ],
- "crypto/aes/aest4-sparcv9.o" => [
- "crypto"
- ],
- "crypto/aes/aesv8-armx.o" => [
- "crypto"
- ],
- "crypto/aes/bsaes-armv7.o" => [
- "crypto"
- ],
- "crypto/aes/vpaes-armv8.o" => [
- "crypto"
- ],
- "crypto/aes/vpaes-loongarch64.o" => [
- "crypto"
- ],
- "crypto/arm64cpuid.o" => [
- "crypto"
- ],
- "crypto/armv4cpuid.o" => [
- "crypto"
- ],
- "crypto/bn/armv4-gf2m.o" => [
- "crypto"
- ],
- "crypto/bn/armv4-mont.o" => [
- "crypto"
- ],
- "crypto/bn/armv8-mont.o" => [
- "crypto"
- ],
- "crypto/bn/bn-mips.o" => [
- "crypto"
- ],
- "crypto/bn/bn_exp.o" => [
- "crypto"
- ],
- "crypto/bn/libcrypto-lib-bn_exp.o" => [
- "crypto"
- ],
- "crypto/bn/libcrypto-shlib-bn_exp.o" => [
- "crypto"
- ],
- "crypto/bn/mips-mont.o" => [
- "crypto"
- ],
- "crypto/bn/sparct4-mont.o" => [
- "crypto"
- ],
- "crypto/bn/sparcv9-gf2m.o" => [
- "crypto"
- ],
- "crypto/bn/sparcv9-mont.o" => [
- "crypto"
- ],
- "crypto/bn/sparcv9a-mont.o" => [
- "crypto"
- ],
- "crypto/bn/vis3-mont.o" => [
- "crypto"
- ],
- "crypto/camellia/cmllt4-sparcv9.o" => [
- "crypto"
- ],
- "crypto/chacha/chacha-armv4.o" => [
- "crypto"
- ],
- "crypto/chacha/chacha-armv8-sve.o" => [
- "crypto"
- ],
- "crypto/chacha/chacha-armv8.o" => [
- "crypto"
- ],
- "crypto/chacha/chacha-loongarch64.o" => [
- "crypto"
- ],
- "crypto/chacha/chacha-s390x.o" => [
- "crypto"
- ],
- "crypto/cpuid.o" => [
- "."
- ],
- "crypto/cversion.o" => [
- "crypto"
- ],
- "crypto/des/dest4-sparcv9.o" => [
- "crypto"
- ],
- "crypto/ec/ecp_nistp384.o" => [
- "crypto"
- ],
- "crypto/ec/ecp_nistp521.o" => [
- "crypto"
- ],
- "crypto/ec/ecp_nistz256-armv4.o" => [
- "crypto"
- ],
- "crypto/ec/ecp_nistz256-armv8.o" => [
- "crypto"
- ],
- "crypto/ec/ecp_nistz256-sparcv9.o" => [
- "crypto"
- ],
- "crypto/ec/ecp_s390x_nistp.o" => [
- "crypto"
- ],
- "crypto/ec/ecx_key.o" => [
- "crypto"
- ],
- "crypto/ec/ecx_meth.o" => [
- "crypto"
- ],
- "crypto/ec/ecx_s390x.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistp384.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistp521.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-lib-ecx_key.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-lib-ecx_meth.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistp384.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistp521.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-shlib-ecx_key.o" => [
- "crypto"
- ],
- "crypto/ec/libcrypto-shlib-ecx_meth.o" => [
- "crypto"
- ],
- "crypto/evp/e_aes.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/e_aes_cbc_hmac_sha1.o" => [
- "crypto/modes"
- ],
- "crypto/evp/e_aes_cbc_hmac_sha256.o" => [
- "crypto/modes"
- ],
- "crypto/evp/e_aria.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/e_camellia.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/e_des.o" => [
- "crypto"
- ],
- "crypto/evp/e_des3.o" => [
- "crypto"
- ],
- "crypto/evp/e_sm4.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-lib-e_aes.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o" => [
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o" => [
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-lib-e_aria.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-lib-e_camellia.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-lib-e_des.o" => [
- "crypto"
- ],
- "crypto/evp/libcrypto-lib-e_des3.o" => [
- "crypto"
- ],
- "crypto/evp/libcrypto-lib-e_sm4.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-shlib-e_aes.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha1.o" => [
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha256.o" => [
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-shlib-e_aria.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-shlib-e_camellia.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/evp/libcrypto-shlib-e_des.o" => [
- "crypto"
- ],
- "crypto/evp/libcrypto-shlib-e_des3.o" => [
- "crypto"
- ],
- "crypto/evp/libcrypto-shlib-e_sm4.o" => [
- "crypto",
- "crypto/modes"
- ],
- "crypto/info.o" => [
- "crypto"
- ],
- "crypto/legacy-dso-cpuid.o" => [
- "."
- ],
- "crypto/libcrypto-lib-cpuid.o" => [
- "."
- ],
- "crypto/libcrypto-lib-cversion.o" => [
- "crypto"
- ],
- "crypto/libcrypto-lib-info.o" => [
- "crypto"
- ],
- "crypto/libcrypto-shlib-cpuid.o" => [
- "."
- ],
- "crypto/libcrypto-shlib-cversion.o" => [
- "crypto"
- ],
- "crypto/libcrypto-shlib-info.o" => [
- "crypto"
- ],
- "crypto/md5/md5-aarch64.o" => [
- "crypto"
- ],
- "crypto/md5/md5-loongarch64.o" => [
- "crypto"
- ],
- "crypto/md5/md5-sparcv9.o" => [
- "crypto"
- ],
- "crypto/modes/aes-gcm-armv8-unroll8_64.o" => [
- "crypto"
- ],
- "crypto/modes/aes-gcm-armv8_64.o" => [
- "crypto"
- ],
- "crypto/modes/gcm128.o" => [
- "crypto"
- ],
- "crypto/modes/ghash-armv4.o" => [
- "crypto"
- ],
- "crypto/modes/ghash-s390x.o" => [
- "crypto"
- ],
- "crypto/modes/ghash-sparcv9.o" => [
- "crypto"
- ],
- "crypto/modes/ghashv8-armx.o" => [
- "crypto"
- ],
- "crypto/modes/libcrypto-lib-gcm128.o" => [
- "crypto"
- ],
- "crypto/modes/libcrypto-shlib-gcm128.o" => [
- "crypto"
- ],
- "crypto/params_idx.c" => [
- "util/perl"
- ],
- "crypto/poly1305/poly1305-armv4.o" => [
- "crypto"
- ],
- "crypto/poly1305/poly1305-armv8.o" => [
- "crypto"
- ],
- "crypto/poly1305/poly1305-mips.o" => [
- "crypto"
- ],
- "crypto/poly1305/poly1305-s390x.o" => [
- "crypto"
- ],
- "crypto/poly1305/poly1305-sparcv9.o" => [
- "crypto"
- ],
- "crypto/s390xcpuid.o" => [
- "crypto"
- ],
- "crypto/sha/keccak1600-armv4.o" => [
- "crypto"
- ],
- "crypto/sha/keccak1600-armv8.o" => [
- "crypto"
- ],
- "crypto/sha/sha1-armv4-large.o" => [
- "crypto"
- ],
- "crypto/sha/sha1-armv8.o" => [
- "crypto"
- ],
- "crypto/sha/sha1-mips.o" => [
- "crypto"
- ],
- "crypto/sha/sha1-s390x.o" => [
- "crypto"
- ],
- "crypto/sha/sha1-sparcv9.o" => [
- "crypto"
- ],
- "crypto/sha/sha256-armv4.o" => [
- "crypto"
- ],
- "crypto/sha/sha256-armv8.o" => [
- "crypto"
- ],
- "crypto/sha/sha256-mips.o" => [
- "crypto"
- ],
- "crypto/sha/sha256-s390x.o" => [
- "crypto"
- ],
- "crypto/sha/sha256-sparcv9.o" => [
- "crypto"
- ],
- "crypto/sha/sha512-armv4.o" => [
- "crypto"
- ],
- "crypto/sha/sha512-armv8.o" => [
- "crypto"
- ],
- "crypto/sha/sha512-mips.o" => [
- "crypto"
- ],
- "crypto/sha/sha512-s390x.o" => [
- "crypto"
- ],
- "crypto/sha/sha512-sparcv9.o" => [
- "crypto"
- ],
- "doc/man1/openssl-asn1parse.pod" => [
- "doc"
- ],
- "doc/man1/openssl-ca.pod" => [
- "doc"
- ],
- "doc/man1/openssl-ciphers.pod" => [
- "doc"
- ],
- "doc/man1/openssl-cmds.pod" => [
- "doc"
- ],
- "doc/man1/openssl-cmp.pod" => [
- "doc"
- ],
- "doc/man1/openssl-cms.pod" => [
- "doc"
- ],
- "doc/man1/openssl-crl.pod" => [
- "doc"
- ],
- "doc/man1/openssl-crl2pkcs7.pod" => [
- "doc"
- ],
- "doc/man1/openssl-dgst.pod" => [
- "doc"
- ],
- "doc/man1/openssl-dhparam.pod" => [
- "doc"
- ],
- "doc/man1/openssl-dsa.pod" => [
- "doc"
- ],
- "doc/man1/openssl-dsaparam.pod" => [
- "doc"
- ],
- "doc/man1/openssl-ec.pod" => [
- "doc"
- ],
- "doc/man1/openssl-ecparam.pod" => [
- "doc"
- ],
- "doc/man1/openssl-enc.pod" => [
- "doc"
- ],
- "doc/man1/openssl-engine.pod" => [
- "doc"
- ],
- "doc/man1/openssl-errstr.pod" => [
- "doc"
- ],
- "doc/man1/openssl-fipsinstall.pod" => [
- "doc"
- ],
- "doc/man1/openssl-gendsa.pod" => [
- "doc"
- ],
- "doc/man1/openssl-genpkey.pod" => [
- "doc"
- ],
- "doc/man1/openssl-genrsa.pod" => [
- "doc"
- ],
- "doc/man1/openssl-info.pod" => [
- "doc"
- ],
- "doc/man1/openssl-kdf.pod" => [
- "doc"
- ],
- "doc/man1/openssl-list.pod" => [
- "doc"
- ],
- "doc/man1/openssl-mac.pod" => [
- "doc"
- ],
- "doc/man1/openssl-nseq.pod" => [
- "doc"
- ],
- "doc/man1/openssl-ocsp.pod" => [
- "doc"
- ],
- "doc/man1/openssl-passwd.pod" => [
- "doc"
- ],
- "doc/man1/openssl-pkcs12.pod" => [
- "doc"
- ],
- "doc/man1/openssl-pkcs7.pod" => [
- "doc"
- ],
- "doc/man1/openssl-pkcs8.pod" => [
- "doc"
- ],
- "doc/man1/openssl-pkey.pod" => [
- "doc"
- ],
- "doc/man1/openssl-pkeyparam.pod" => [
- "doc"
- ],
- "doc/man1/openssl-pkeyutl.pod" => [
- "doc"
- ],
- "doc/man1/openssl-prime.pod" => [
- "doc"
- ],
- "doc/man1/openssl-rand.pod" => [
- "doc"
- ],
- "doc/man1/openssl-rehash.pod" => [
- "doc"
- ],
- "doc/man1/openssl-req.pod" => [
- "doc"
- ],
- "doc/man1/openssl-rsa.pod" => [
- "doc"
- ],
- "doc/man1/openssl-rsautl.pod" => [
- "doc"
- ],
- "doc/man1/openssl-s_client.pod" => [
- "doc"
- ],
- "doc/man1/openssl-s_server.pod" => [
- "doc"
- ],
- "doc/man1/openssl-s_time.pod" => [
- "doc"
- ],
- "doc/man1/openssl-sess_id.pod" => [
- "doc"
- ],
- "doc/man1/openssl-skeyutl.pod" => [
- "doc"
- ],
- "doc/man1/openssl-smime.pod" => [
- "doc"
- ],
- "doc/man1/openssl-speed.pod" => [
- "doc"
- ],
- "doc/man1/openssl-spkac.pod" => [
- "doc"
- ],
- "doc/man1/openssl-srp.pod" => [
- "doc"
- ],
- "doc/man1/openssl-storeutl.pod" => [
- "doc"
- ],
- "doc/man1/openssl-ts.pod" => [
- "doc"
- ],
- "doc/man1/openssl-verify.pod" => [
- "doc"
- ],
- "doc/man1/openssl-version.pod" => [
- "doc"
- ],
- "doc/man1/openssl-x509.pod" => [
- "doc"
- ],
- "engines/capi" => [
- "include"
- ],
- "engines/dasync" => [
- "include"
- ],
- "engines/devcrypto" => [
- "include"
- ],
- "engines/loader_attic" => [
- "include"
- ],
- "engines/ossltest" => [
- "include"
- ],
- "engines/padlock" => [
- "include"
- ],
- "exporters/OpenSSLConfig.cmake" => [
- "."
- ],
- "exporters/OpenSSLConfigVersion.cmake" => [
- "."
- ],
- "exporters/libcrypto.pc" => [
- "."
- ],
- "exporters/libssl.pc" => [
- "."
- ],
- "exporters/openssl.pc" => [
- "."
- ],
- "fuzz/acert-test" => [
- "include"
- ],
- "fuzz/asn1-test" => [
- "include"
- ],
- "fuzz/asn1parse-test" => [
- "include"
- ],
- "fuzz/bignum-test" => [
- "include"
- ],
- "fuzz/bndiv-test" => [
- "include"
- ],
- "fuzz/client-test" => [
- "include"
- ],
- "fuzz/cmp-test" => [
- "include"
- ],
- "fuzz/cms-test" => [
- "include"
- ],
- "fuzz/conf-test" => [
- "include"
- ],
- "fuzz/crl-test" => [
- "include"
- ],
- "fuzz/ct-test" => [
- "include"
- ],
- "fuzz/decoder-test" => [
- "include"
- ],
- "fuzz/dtlsclient-test" => [
- "include"
- ],
- "fuzz/dtlsserver-test" => [
- "include"
- ],
- "fuzz/hashtable-test" => [
- "include"
- ],
- "fuzz/ml-dsa-test" => [
- "include"
- ],
- "fuzz/ml-kem-test" => [
- "include"
- ],
- "fuzz/pem-test" => [
- "include"
- ],
- "fuzz/provider-test" => [
- "include"
- ],
- "fuzz/punycode-test" => [
- "include"
- ],
- "fuzz/quic-client-test" => [
- "include"
- ],
- "fuzz/quic-lcidm-test" => [
- "include"
- ],
- "fuzz/quic-rcidm-test" => [
- "include"
- ],
- "fuzz/quic-server-test" => [
- "include"
- ],
- "fuzz/quic-srtm-test" => [
- "include"
- ],
- "fuzz/server-test" => [
- "include"
- ],
- "fuzz/slh-dsa-test" => [
- "include"
- ],
- "fuzz/smime-test" => [
- "include"
- ],
- "fuzz/v3name-test" => [
- "include"
- ],
- "fuzz/x509-test" => [
- "include"
- ],
- "include/internal/param_names.h" => [
- "util/perl"
- ],
- "include/openssl/core_names.h" => [
- "util/perl"
- ],
- "libcrypto" => [
- ".",
- "include",
- "providers/common/include",
- "providers/implementations/include"
- ],
- "libcrypto.ld" => [
- ".",
- "util/perl/OpenSSL"
- ],
- "libcrypto.pc" => [
- "."
- ],
- "libssl" => [
- ".",
- "include"
- ],
- "libssl.ld" => [
- ".",
- "util/perl/OpenSSL"
- ],
- "libssl.pc" => [
- "."
- ],
- "openssl.pc" => [
- "."
- ],
- "providers/common/der/der_digests_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_digests_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_dsa_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_dsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_dsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_ec_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_ec_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_ec_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_ec_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_ecx_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_ecx_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_ecx_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_ml_dsa_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_ml_dsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_ml_dsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_rsa_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_rsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_rsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_rsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_slh_dsa_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_slh_dsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_slh_dsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/der_wrap_gen.c" => [
- "providers/common/der"
- ],
- "providers/common/der/der_wrap_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_digests_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_dsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_dsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_ec_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_ec_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_ec_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_ecx_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_ecx_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_ml_dsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_ml_dsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_rsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_rsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_slh_dsa_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_slh_dsa_key.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libcommon-lib-der_wrap_gen.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/der/libdefault-lib-der_rsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/common/include/prov/der_digests.h" => [
- "providers/common/der"
- ],
- "providers/common/include/prov/der_dsa.h" => [
- "providers/common/der"
- ],
- "providers/common/include/prov/der_ec.h" => [
- "providers/common/der"
- ],
- "providers/common/include/prov/der_ecx.h" => [
- "providers/common/der"
- ],
- "providers/common/include/prov/der_ml_dsa.h" => [
- "providers/common/der"
- ],
- "providers/common/include/prov/der_rsa.h" => [
- "providers/common/der"
- ],
- "providers/common/include/prov/der_slh_dsa.h" => [
- "providers/common/der"
- ],
- "providers/common/include/prov/der_wrap.h" => [
- "providers/common/der"
- ],
- "providers/implementations/encode_decode/encode_key2any.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/kdfs/x942kdf.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/ecdsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/eddsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/libdefault-lib-dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/libdefault-lib-ecdsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/libdefault-lib-eddsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/libdefault-lib-ml_dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/libdefault-lib-rsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/ml_dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/rsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/slh_dsa_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/implementations/signature/sm2_sig.o" => [
- "providers/common/include/prov"
- ],
- "providers/legacy" => [
- "include",
- "providers/implementations/include",
- "providers/common/include"
- ],
- "providers/libcommon.a" => [
- "crypto",
- "include",
- "providers/implementations/include",
- "providers/common/include",
- "providers/fips/include"
- ],
- "providers/libdefault.a" => [
- ".",
- "crypto",
- "include",
- "providers/implementations/include",
- "providers/common/include",
- "providers/fips/include"
- ],
- "providers/libfips.a" => [
- ".",
- "crypto",
- "include",
- "providers/implementations/include",
- "providers/common/include",
- "providers/fips/include"
- ],
- "providers/liblegacy.a" => [
- ".",
- "crypto",
- "include",
- "providers/implementations/include",
- "providers/common/include",
- "providers/fips/include"
- ],
- "providers/libtemplate.a" => [
- "crypto",
- "include",
- "providers/implementations/include",
- "providers/common/include",
- "providers/fips/include"
- ],
- "test/aborttest" => [
- "include",
- "apps/include"
- ],
- "test/aesgcmtest" => [
- "include",
- "apps/include",
- "."
- ],
- "test/afalgtest" => [
- "include",
- "apps/include"
- ],
- "test/algorithmid_test" => [
- "include",
- "apps/include"
- ],
- "test/asn1_decode_test" => [
- "include",
- "apps/include"
- ],
- "test/asn1_dsa_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/asn1_encode_test" => [
- "include",
- "apps/include"
- ],
- "test/asn1_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/asn1_stable_parse_test" => [
- "include",
- "apps/include"
- ],
- "test/asn1_string_table_test" => [
- "include",
- "apps/include"
- ],
- "test/asn1_time_test" => [
- "include",
- "apps/include"
- ],
- "test/asynciotest" => [
- "include",
- "apps/include"
- ],
- "test/asynctest" => [
- "include",
- "apps/include"
- ],
- "test/bad_dtls_test" => [
- "include",
- "apps/include"
- ],
- "test/bftest" => [
- "include",
- "apps/include"
- ],
- "test/bio_addr_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_base64_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_callback_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_core_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_dgram_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/bio_enc_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_memleak_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_meth_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_prefix_text" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/bio_pw_callback_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_readbuffer_test" => [
- "include",
- "apps/include"
- ],
- "test/bio_tfo_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/bioprinttest" => [
- "include",
- "apps/include"
- ],
- "test/bn_internal_test" => [
- ".",
- "include",
- "crypto/bn",
- "apps/include"
- ],
- "test/bntest" => [
- "include",
- "apps/include"
- ],
- "test/build_wincrypt_test" => [
- "include"
- ],
- "test/buildtest_c_aes" => [
- "include"
- ],
- "test/buildtest_c_asn1" => [
- "include"
- ],
- "test/buildtest_c_asn1t" => [
- "include"
- ],
- "test/buildtest_c_async" => [
- "include"
- ],
- "test/buildtest_c_bio" => [
- "include"
- ],
- "test/buildtest_c_blowfish" => [
- "include"
- ],
- "test/buildtest_c_bn" => [
- "include"
- ],
- "test/buildtest_c_buffer" => [
- "include"
- ],
- "test/buildtest_c_byteorder" => [
- "include"
- ],
- "test/buildtest_c_camellia" => [
- "include"
- ],
- "test/buildtest_c_cast" => [
- "include"
- ],
- "test/buildtest_c_cmac" => [
- "include"
- ],
- "test/buildtest_c_cmp" => [
- "include"
- ],
- "test/buildtest_c_cmp_util" => [
- "include"
- ],
- "test/buildtest_c_cms" => [
- "include"
- ],
- "test/buildtest_c_comp" => [
- "include"
- ],
- "test/buildtest_c_conf" => [
- "include"
- ],
- "test/buildtest_c_conf_api" => [
- "include"
- ],
- "test/buildtest_c_configuration" => [
- "include"
- ],
- "test/buildtest_c_conftypes" => [
- "include"
- ],
- "test/buildtest_c_core" => [
- "include"
- ],
- "test/buildtest_c_core_dispatch" => [
- "include"
- ],
- "test/buildtest_c_core_names" => [
- "include"
- ],
- "test/buildtest_c_core_object" => [
- "include"
- ],
- "test/buildtest_c_crmf" => [
- "include"
- ],
- "test/buildtest_c_crypto" => [
- "include"
- ],
- "test/buildtest_c_cryptoerr_legacy" => [
- "include"
- ],
- "test/buildtest_c_ct" => [
- "include"
- ],
- "test/buildtest_c_decoder" => [
- "include"
- ],
- "test/buildtest_c_des" => [
- "include"
- ],
- "test/buildtest_c_dh" => [
- "include"
- ],
- "test/buildtest_c_dsa" => [
- "include"
- ],
- "test/buildtest_c_dtls1" => [
- "include"
- ],
- "test/buildtest_c_e_os2" => [
- "include"
- ],
- "test/buildtest_c_e_ostime" => [
- "include"
- ],
- "test/buildtest_c_ebcdic" => [
- "include"
- ],
- "test/buildtest_c_ec" => [
- "include"
- ],
- "test/buildtest_c_ecdh" => [
- "include"
- ],
- "test/buildtest_c_ecdsa" => [
- "include"
- ],
- "test/buildtest_c_encoder" => [
- "include"
- ],
- "test/buildtest_c_engine" => [
- "include"
- ],
- "test/buildtest_c_ess" => [
- "include"
- ],
- "test/buildtest_c_evp" => [
- "include"
- ],
- "test/buildtest_c_fips_names" => [
- "include"
- ],
- "test/buildtest_c_fipskey" => [
- "include"
- ],
- "test/buildtest_c_hmac" => [
- "include"
- ],
- "test/buildtest_c_hpke" => [
- "include"
- ],
- "test/buildtest_c_http" => [
- "include"
- ],
- "test/buildtest_c_indicator" => [
- "include"
- ],
- "test/buildtest_c_kdf" => [
- "include"
- ],
- "test/buildtest_c_lhash" => [
- "include"
- ],
- "test/buildtest_c_macros" => [
- "include"
- ],
- "test/buildtest_c_md4" => [
- "include"
- ],
- "test/buildtest_c_md5" => [
- "include"
- ],
- "test/buildtest_c_ml_kem" => [
- "include"
- ],
- "test/buildtest_c_modes" => [
- "include"
- ],
- "test/buildtest_c_obj_mac" => [
- "include"
- ],
- "test/buildtest_c_objects" => [
- "include"
- ],
- "test/buildtest_c_ocsp" => [
- "include"
- ],
- "test/buildtest_c_opensslv" => [
- "include"
- ],
- "test/buildtest_c_ossl_typ" => [
- "include"
- ],
- "test/buildtest_c_param_build" => [
- "include"
- ],
- "test/buildtest_c_params" => [
- "include"
- ],
- "test/buildtest_c_pem" => [
- "include"
- ],
- "test/buildtest_c_pem2" => [
- "include"
- ],
- "test/buildtest_c_pkcs12" => [
- "include"
- ],
- "test/buildtest_c_pkcs7" => [
- "include"
- ],
- "test/buildtest_c_prov_ssl" => [
- "include"
- ],
- "test/buildtest_c_provider" => [
- "include"
- ],
- "test/buildtest_c_quic" => [
- "include"
- ],
- "test/buildtest_c_rand" => [
- "include"
- ],
- "test/buildtest_c_rc2" => [
- "include"
- ],
- "test/buildtest_c_rc4" => [
- "include"
- ],
- "test/buildtest_c_ripemd" => [
- "include"
- ],
- "test/buildtest_c_rsa" => [
- "include"
- ],
- "test/buildtest_c_safestack" => [
- "include"
- ],
- "test/buildtest_c_seed" => [
- "include"
- ],
- "test/buildtest_c_self_test" => [
- "include"
- ],
- "test/buildtest_c_sha" => [
- "include"
- ],
- "test/buildtest_c_srp" => [
- "include"
- ],
- "test/buildtest_c_srtp" => [
- "include"
- ],
- "test/buildtest_c_ssl" => [
- "include"
- ],
- "test/buildtest_c_ssl2" => [
- "include"
- ],
- "test/buildtest_c_sslerr_legacy" => [
- "include"
- ],
- "test/buildtest_c_stack" => [
- "include"
- ],
- "test/buildtest_c_store" => [
- "include"
- ],
- "test/buildtest_c_symhacks" => [
- "include"
- ],
- "test/buildtest_c_thread" => [
- "include"
- ],
- "test/buildtest_c_tls1" => [
- "include"
- ],
- "test/buildtest_c_ts" => [
- "include"
- ],
- "test/buildtest_c_txt_db" => [
- "include"
- ],
- "test/buildtest_c_types" => [
- "include"
- ],
- "test/buildtest_c_ui" => [
- "include"
- ],
- "test/buildtest_c_whrlpool" => [
- "include"
- ],
- "test/buildtest_c_x509" => [
- "include"
- ],
- "test/buildtest_c_x509_acert" => [
- "include"
- ],
- "test/buildtest_c_x509_vfy" => [
- "include"
- ],
- "test/buildtest_c_x509v3" => [
- "include"
- ],
- "test/byteorder_test" => [
- "include",
- "apps/include"
- ],
- "test/ca_internals_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/casttest" => [
- "include",
- "apps/include"
- ],
- "test/cert_comp_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/chacha_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cipher_overhead_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cipherbytes_test" => [
- "include",
- "apps/include"
- ],
- "test/cipherlist_test" => [
- "include",
- "apps/include"
- ],
- "test/ciphername_test" => [
- "include",
- "apps/include"
- ],
- "test/clienthellotest" => [
- "include",
- "apps/include"
- ],
- "test/cmactest" => [
- "include",
- "apps/include"
- ],
- "test/cmp_asn_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_client_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_ctx_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_hdr_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_msg_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_protect_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_server_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_status_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmp_vfy_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/cmsapitest" => [
- "include",
- "apps/include"
- ],
- "test/conf_include_test" => [
- "include",
- "apps/include"
- ],
- "test/confdump" => [
- "include",
- "apps/include"
- ],
- "test/constant_time_test" => [
- "include",
- "apps/include"
- ],
- "test/context_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/crltest" => [
- "include",
- "apps/include"
- ],
- "test/ct_test" => [
- "include",
- "apps/include"
- ],
- "test/ctype_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/curve448_internal_test" => [
- ".",
- "include",
- "apps/include",
- "crypto/ec/curve448"
- ],
- "test/d2i_test" => [
- "include",
- "apps/include"
- ],
- "test/danetest" => [
- "include",
- "apps/include"
- ],
- "test/decoder_propq_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/defltfips_test" => [
- "include",
- "apps/include"
- ],
- "test/destest" => [
- "include",
- "apps/include"
- ],
- "test/dhtest" => [
- "include",
- "apps/include"
- ],
- "test/drbgtest" => [
- "include",
- "apps/include",
- "providers/common/include",
- "providers/fips/include"
- ],
- "test/dsa_no_digest_size_test" => [
- "include",
- "apps/include"
- ],
- "test/dsatest" => [
- "include",
- "apps/include"
- ],
- "test/dtls_mtu_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/dtlstest" => [
- "include",
- "apps/include"
- ],
- "test/dtlsv1listentest" => [
- "include",
- "apps/include"
- ],
- "test/ec_internal_test" => [
- "include",
- "crypto/ec",
- "apps/include"
- ],
- "test/ecdsatest" => [
- "include",
- "apps/include"
- ],
- "test/ecstresstest" => [
- "include",
- "apps/include"
- ],
- "test/ectest" => [
- "include",
- "apps/include"
- ],
- "test/endecode_test" => [
- ".",
- "include",
- "apps/include",
- "providers/common/include",
- "providers/implementations/include"
- ],
- "test/endecoder_legacy_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/enginetest" => [
- "include",
- "apps/include"
- ],
- "test/errtest" => [
- "include",
- "apps/include"
- ],
- "test/evp_byname_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_extra_test" => [
- "include",
- "apps/include",
- "providers/common/include",
- "providers/implementations/include"
- ],
- "test/evp_extra_test2" => [
- "include",
- "apps/include"
- ],
- "test/evp_fetch_prov_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_kdf_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_libctx_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_pkey_ctx_new_from_name" => [
- "include",
- "apps/include"
- ],
- "test/evp_pkey_dhkem_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_pkey_dparams_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_pkey_provided_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_skey_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_test" => [
- "include",
- "apps/include"
- ],
- "test/evp_xof_test" => [
- "include",
- "apps/include"
- ],
- "test/exdatatest" => [
- "include",
- "apps/include"
- ],
- "test/exptest" => [
- "include",
- "apps/include"
- ],
- "test/ext_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/fatalerrtest" => [
- "include",
- "apps/include"
- ],
- "test/ffc_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/fips_version_test" => [
- "include",
- "apps/include"
- ],
- "test/gmdifftest" => [
- "include",
- "apps/include"
- ],
- "test/helpers/asynciotest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/cmp_asn_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_client_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_ctx_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_hdr_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_msg_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_protect_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_server_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_status_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/cmp_vfy_test-bin-cmp_testlib.o" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/helpers/dtls_mtu_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/dtlstest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/fatalerrtest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/handshake.o" => [
- ".",
- "include"
- ],
- "test/helpers/json_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/pkcs12.o" => [
- ".",
- "include"
- ],
- "test/helpers/pkcs12_api_test-bin-pkcs12.o" => [
- ".",
- "include"
- ],
- "test/helpers/pkcs12_format_test-bin-pkcs12.o" => [
- ".",
- "include"
- ],
- "test/helpers/quic_multistream_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/quic_newcid_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/quic_radix_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/quic_srt_gen_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/quicapitest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/quicfaultstest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/recordlentest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/rpktest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/servername_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/ssl_handshake_rtt_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/ssl_test-bin-handshake.o" => [
- ".",
- "include"
- ],
- "test/helpers/ssl_test-bin-ssl_test_ctx.o" => [
- "include"
- ],
- "test/helpers/ssl_test_ctx.o" => [
- "include"
- ],
- "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o" => [
- "include"
- ],
- "test/helpers/sslapitest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/sslbuffertest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/sslcorrupttest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/tls13ccstest-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [
- ".",
- "include"
- ],
- "test/hexstr_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/hmactest" => [
- "include",
- "apps/include"
- ],
- "test/hpke_test" => [
- "include",
- "apps/include"
- ],
- "test/http_test" => [
- "include",
- "apps/include"
- ],
- "test/ideatest" => [
- "include",
- "apps/include"
- ],
- "test/igetest" => [
- "include",
- "apps/include"
- ],
- "test/json_test" => [
- "include",
- "apps/include"
- ],
- "test/keymgmt_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/lhash_test" => [
- "include",
- "apps/include"
- ],
- "test/libtestutil.a" => [
- "include",
- "apps/include",
- "."
- ],
- "test/list_test" => [
- "include",
- "apps/include"
- ],
- "test/localetest" => [
- "include",
- "apps/include"
- ],
- "test/mdc2_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/mdc2test" => [
- "include",
- "apps/include"
- ],
- "test/membio_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/memleaktest" => [
- "include",
- "apps/include"
- ],
- "test/ml_dsa_test" => [
- "include",
- "apps/include"
- ],
- "test/ml_kem_evp_extra_test" => [
- "include",
- "apps/include"
- ],
- "test/ml_kem_internal_test" => [
- "include",
- "apps/include"
- ],
- "test/modes_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/moduleloadtest" => [
- "include",
- "apps/include"
- ],
- "test/namemap_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/nodefltctxtest" => [
- "include",
- "apps/include"
- ],
- "test/ocspapitest" => [
- "include",
- "apps/include"
- ],
- "test/ossl_store_test" => [
- "include",
- "apps/include"
- ],
- "test/p_minimal" => [
- "include",
- "."
- ],
- "test/p_test" => [
- "include",
- "."
- ],
- "test/packettest" => [
- "include",
- "apps/include"
- ],
- "test/pairwise_fail_test" => [
- "include",
- "apps/include"
- ],
- "test/param_build_test" => [
- "include",
- "apps/include"
- ],
- "test/params_api_test" => [
- "include",
- "apps/include"
- ],
- "test/params_conversion_test" => [
- "include",
- "apps/include"
- ],
- "test/params_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/pbelutest" => [
- "include",
- "apps/include"
- ],
- "test/pbetest" => [
- "include",
- "apps/include"
- ],
- "test/pem_read_depr_test" => [
- "include",
- "apps/include"
- ],
- "test/pemtest" => [
- "include",
- "apps/include"
- ],
- "test/pkcs12_api_test" => [
- "include",
- "apps/include"
- ],
- "test/pkcs12_format_test" => [
- "include",
- "apps/include"
- ],
- "test/pkcs7_test" => [
- "include",
- "apps/include"
- ],
- "test/pkey_meth_kdf_test" => [
- "include",
- "apps/include"
- ],
- "test/pkey_meth_test" => [
- "include",
- "apps/include"
- ],
- "test/poly1305_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/priority_queue_test" => [
- "include",
- "apps/include"
- ],
- "test/property_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/prov_config_test" => [
- "include",
- "apps/include"
- ],
- "test/provfetchtest" => [
- "include",
- "apps/include"
- ],
- "test/provider_default_search_path_test" => [
- "include",
- "apps/include"
- ],
- "test/provider_fallback_test" => [
- "include",
- "apps/include"
- ],
- "test/provider_internal_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/provider_pkey_test" => [
- "include",
- "apps/include"
- ],
- "test/provider_status_test" => [
- "include",
- "apps/include"
- ],
- "test/provider_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/punycode_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_ackm_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_cc_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_cfq_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_client_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_fc_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_fifd_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_lcidm_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_multistream_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_newcid_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/quic_qlog_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_radix_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_rcidm_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_record_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_srt_gen_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/quic_srtm_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_stream_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_tserver_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_txp_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_txpim_test" => [
- "include",
- "apps/include"
- ],
- "test/quic_wire_test" => [
- "include",
- "apps/include"
- ],
- "test/quicapitest" => [
- "include",
- "apps/include"
- ],
- "test/quicfaultstest" => [
- "include",
- "apps/include",
- "."
- ],
- "test/rand_status_test" => [
- "include",
- "apps/include"
- ],
- "test/rand_test" => [
- "include",
- "apps/include"
- ],
- "test/rc2test" => [
- "include",
- "apps/include"
- ],
- "test/rc4test" => [
- "include",
- "apps/include"
- ],
- "test/rc5test" => [
- "include",
- "apps/include"
- ],
- "test/rdcpu_sanitytest" => [
- "include",
- "apps/include",
- "crypto"
- ],
- "test/recordlentest" => [
- "include",
- "apps/include"
- ],
- "test/rpktest" => [
- "include",
- "apps/include",
- "."
- ],
- "test/rsa_complex" => [
- "include",
- "apps/include"
- ],
- "test/rsa_mp_test" => [
- "include",
- "apps/include"
- ],
- "test/rsa_sp800_56b_test" => [
- ".",
- "include",
- "crypto/rsa",
- "apps/include"
- ],
- "test/rsa_test" => [
- "include",
- "apps/include"
- ],
- "test/rsa_x931_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/safe_math_test" => [
- "include",
- "apps/include"
- ],
- "test/sanitytest" => [
- "include",
- "apps/include"
- ],
- "test/secmemtest" => [
- "include",
- "apps/include"
- ],
- "test/servername_test" => [
- "include",
- "apps/include"
- ],
- "test/sha_test" => [
- "include",
- "apps/include"
- ],
- "test/shlibloadtest" => [
- "include",
- "apps/include"
- ],
- "test/siphash_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/slh_dsa_test" => [
- "include",
- "apps/include"
- ],
- "test/sm2_internal_test" => [
- "include",
- "apps/include"
- ],
- "test/sm3_internal_test" => [
- "include",
- "apps/include"
- ],
- "test/sm4_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/sparse_array_test" => [
- "include",
- "apps/include"
- ],
- "test/srptest" => [
- "include",
- "apps/include"
- ],
- "test/ssl_cert_table_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/ssl_ctx_test" => [
- "include",
- "apps/include"
- ],
- "test/ssl_handshake_rtt_test" => [
- "include",
- "apps/include",
- "."
- ],
- "test/ssl_old_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/ssl_test" => [
- "include",
- "apps/include"
- ],
- "test/ssl_test_ctx_test" => [
- "include",
- "apps/include"
- ],
- "test/sslapitest" => [
- "include",
- "apps/include",
- "providers/common/include",
- "."
- ],
- "test/sslbuffertest" => [
- "include",
- "apps/include"
- ],
- "test/sslcorrupttest" => [
- "include",
- "apps/include"
- ],
- "test/stack_test" => [
- "include",
- "apps/include"
- ],
- "test/strtoultest" => [
- "include",
- "apps/include"
- ],
- "test/sysdefaulttest" => [
- "include",
- "apps/include"
- ],
- "test/test_test" => [
- "include",
- "apps/include"
- ],
- "test/threadpool_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/threadstest" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/threadstest_fips" => [
- "include",
- "apps/include"
- ],
- "test/time_offset_test" => [
- "include",
- "apps/include"
- ],
- "test/time_test" => [
- "include",
- "apps/include"
- ],
- "test/timing_load_creds" => [
- "include"
- ],
- "test/tls13ccstest" => [
- "include",
- "apps/include"
- ],
- "test/tls13encryptiontest" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/tls13groupselection_test" => [
- "include",
- "apps/include"
- ],
- "test/tls13secretstest" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/trace_api_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/uitest" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/upcallstest" => [
- "include",
- "apps/include"
- ],
- "test/user_property_test" => [
- "include",
- "apps/include"
- ],
- "test/v3ext" => [
- "include",
- "apps/include"
- ],
- "test/v3nametest" => [
- "include",
- "apps/include"
- ],
- "test/verify_extra_test" => [
- "include",
- "apps/include"
- ],
- "test/versions" => [
- "include",
- "apps/include"
- ],
- "test/wpackettest" => [
- "include",
- "apps/include"
- ],
- "test/x509_acert_test" => [
- "include",
- "apps/include"
- ],
- "test/x509_check_cert_pkey_test" => [
- "include",
- "apps/include"
- ],
- "test/x509_dup_cert_test" => [
- "include",
- "apps/include"
- ],
- "test/x509_internal_test" => [
- ".",
- "include",
- "apps/include"
- ],
- "test/x509_load_cert_file_test" => [
- "include",
- "apps/include"
- ],
- "test/x509_req_test" => [
- "include",
- "apps/include"
- ],
- "test/x509_test" => [
- "include",
- "apps/include"
- ],
- "test/x509_time_test" => [
- "include",
- "apps/include"
- ],
- "test/x509aux" => [
- "include",
- "apps/include"
- ],
- "util/wrap.pl" => [
- "."
- ]
- },
- "ldadd" => {},
- "libraries" => [
- "apps/libapps.a",
- "libcrypto",
- "libssl",
- "providers/libcommon.a",
- "providers/libdefault.a",
- "providers/liblegacy.a",
- "providers/libtemplate.a",
- "test/libtestutil.a"
- ],
- "mandocs" => {
- "man1" => [
- "doc/man/man1/CA.pl.1",
- "doc/man/man1/openssl-asn1parse.1",
- "doc/man/man1/openssl-ca.1",
- "doc/man/man1/openssl-ciphers.1",
- "doc/man/man1/openssl-cmds.1",
- "doc/man/man1/openssl-cmp.1",
- "doc/man/man1/openssl-cms.1",
- "doc/man/man1/openssl-crl.1",
- "doc/man/man1/openssl-crl2pkcs7.1",
- "doc/man/man1/openssl-dgst.1",
- "doc/man/man1/openssl-dhparam.1",
- "doc/man/man1/openssl-dsa.1",
- "doc/man/man1/openssl-dsaparam.1",
- "doc/man/man1/openssl-ec.1",
- "doc/man/man1/openssl-ecparam.1",
- "doc/man/man1/openssl-enc.1",
- "doc/man/man1/openssl-engine.1",
- "doc/man/man1/openssl-errstr.1",
- "doc/man/man1/openssl-fipsinstall.1",
- "doc/man/man1/openssl-format-options.1",
- "doc/man/man1/openssl-gendsa.1",
- "doc/man/man1/openssl-genpkey.1",
- "doc/man/man1/openssl-genrsa.1",
- "doc/man/man1/openssl-info.1",
- "doc/man/man1/openssl-kdf.1",
- "doc/man/man1/openssl-list.1",
- "doc/man/man1/openssl-mac.1",
- "doc/man/man1/openssl-namedisplay-options.1",
- "doc/man/man1/openssl-nseq.1",
- "doc/man/man1/openssl-ocsp.1",
- "doc/man/man1/openssl-passphrase-options.1",
- "doc/man/man1/openssl-passwd.1",
- "doc/man/man1/openssl-pkcs12.1",
- "doc/man/man1/openssl-pkcs7.1",
- "doc/man/man1/openssl-pkcs8.1",
- "doc/man/man1/openssl-pkey.1",
- "doc/man/man1/openssl-pkeyparam.1",
- "doc/man/man1/openssl-pkeyutl.1",
- "doc/man/man1/openssl-prime.1",
- "doc/man/man1/openssl-rand.1",
- "doc/man/man1/openssl-rehash.1",
- "doc/man/man1/openssl-req.1",
- "doc/man/man1/openssl-rsa.1",
- "doc/man/man1/openssl-rsautl.1",
- "doc/man/man1/openssl-s_client.1",
- "doc/man/man1/openssl-s_server.1",
- "doc/man/man1/openssl-s_time.1",
- "doc/man/man1/openssl-sess_id.1",
- "doc/man/man1/openssl-skeyutl.1",
- "doc/man/man1/openssl-smime.1",
- "doc/man/man1/openssl-speed.1",
- "doc/man/man1/openssl-spkac.1",
- "doc/man/man1/openssl-srp.1",
- "doc/man/man1/openssl-storeutl.1",
- "doc/man/man1/openssl-ts.1",
- "doc/man/man1/openssl-verification-options.1",
- "doc/man/man1/openssl-verify.1",
- "doc/man/man1/openssl-version.1",
- "doc/man/man1/openssl-x509.1",
- "doc/man/man1/openssl.1",
- "doc/man/man1/tsget.1"
- ],
- "man3" => [
- "doc/man/man3/ADMISSIONS.3",
- "doc/man/man3/ASN1_EXTERN_FUNCS.3",
- "doc/man/man3/ASN1_INTEGER_get_int64.3",
- "doc/man/man3/ASN1_INTEGER_new.3",
- "doc/man/man3/ASN1_ITEM_lookup.3",
- "doc/man/man3/ASN1_OBJECT_new.3",
- "doc/man/man3/ASN1_STRING_TABLE_add.3",
- "doc/man/man3/ASN1_STRING_length.3",
- "doc/man/man3/ASN1_STRING_new.3",
- "doc/man/man3/ASN1_STRING_print_ex.3",
- "doc/man/man3/ASN1_TIME_set.3",
- "doc/man/man3/ASN1_TYPE_get.3",
- "doc/man/man3/ASN1_aux_cb.3",
- "doc/man/man3/ASN1_generate_nconf.3",
- "doc/man/man3/ASN1_item_d2i_bio.3",
- "doc/man/man3/ASN1_item_new.3",
- "doc/man/man3/ASN1_item_sign.3",
- "doc/man/man3/ASYNC_WAIT_CTX_new.3",
- "doc/man/man3/ASYNC_start_job.3",
- "doc/man/man3/BF_encrypt.3",
- "doc/man/man3/BIO_ADDR.3",
- "doc/man/man3/BIO_ADDRINFO.3",
- "doc/man/man3/BIO_connect.3",
- "doc/man/man3/BIO_ctrl.3",
- "doc/man/man3/BIO_f_base64.3",
- "doc/man/man3/BIO_f_buffer.3",
- "doc/man/man3/BIO_f_cipher.3",
- "doc/man/man3/BIO_f_md.3",
- "doc/man/man3/BIO_f_null.3",
- "doc/man/man3/BIO_f_prefix.3",
- "doc/man/man3/BIO_f_readbuffer.3",
- "doc/man/man3/BIO_f_ssl.3",
- "doc/man/man3/BIO_find_type.3",
- "doc/man/man3/BIO_get_data.3",
- "doc/man/man3/BIO_get_ex_new_index.3",
- "doc/man/man3/BIO_get_rpoll_descriptor.3",
- "doc/man/man3/BIO_meth_new.3",
- "doc/man/man3/BIO_new.3",
- "doc/man/man3/BIO_new_CMS.3",
- "doc/man/man3/BIO_parse_hostserv.3",
- "doc/man/man3/BIO_printf.3",
- "doc/man/man3/BIO_push.3",
- "doc/man/man3/BIO_read.3",
- "doc/man/man3/BIO_s_accept.3",
- "doc/man/man3/BIO_s_bio.3",
- "doc/man/man3/BIO_s_connect.3",
- "doc/man/man3/BIO_s_core.3",
- "doc/man/man3/BIO_s_datagram.3",
- "doc/man/man3/BIO_s_dgram_pair.3",
- "doc/man/man3/BIO_s_fd.3",
- "doc/man/man3/BIO_s_file.3",
- "doc/man/man3/BIO_s_mem.3",
- "doc/man/man3/BIO_s_null.3",
- "doc/man/man3/BIO_s_socket.3",
- "doc/man/man3/BIO_sendmmsg.3",
- "doc/man/man3/BIO_set_callback.3",
- "doc/man/man3/BIO_should_retry.3",
- "doc/man/man3/BIO_socket_wait.3",
- "doc/man/man3/BN_BLINDING_new.3",
- "doc/man/man3/BN_CTX_new.3",
- "doc/man/man3/BN_CTX_start.3",
- "doc/man/man3/BN_add.3",
- "doc/man/man3/BN_add_word.3",
- "doc/man/man3/BN_bn2bin.3",
- "doc/man/man3/BN_cmp.3",
- "doc/man/man3/BN_copy.3",
- "doc/man/man3/BN_generate_prime.3",
- "doc/man/man3/BN_mod_exp_mont.3",
- "doc/man/man3/BN_mod_inverse.3",
- "doc/man/man3/BN_mod_mul_montgomery.3",
- "doc/man/man3/BN_mod_mul_reciprocal.3",
- "doc/man/man3/BN_new.3",
- "doc/man/man3/BN_num_bytes.3",
- "doc/man/man3/BN_rand.3",
- "doc/man/man3/BN_security_bits.3",
- "doc/man/man3/BN_set_bit.3",
- "doc/man/man3/BN_swap.3",
- "doc/man/man3/BN_zero.3",
- "doc/man/man3/BUF_MEM_new.3",
- "doc/man/man3/CMAC_CTX.3",
- "doc/man/man3/CMS_EncryptedData_decrypt.3",
- "doc/man/man3/CMS_EncryptedData_encrypt.3",
- "doc/man/man3/CMS_EnvelopedData_create.3",
- "doc/man/man3/CMS_add0_cert.3",
- "doc/man/man3/CMS_add1_recipient_cert.3",
- "doc/man/man3/CMS_add1_signer.3",
- "doc/man/man3/CMS_compress.3",
- "doc/man/man3/CMS_data_create.3",
- "doc/man/man3/CMS_decrypt.3",
- "doc/man/man3/CMS_digest_create.3",
- "doc/man/man3/CMS_encrypt.3",
- "doc/man/man3/CMS_final.3",
- "doc/man/man3/CMS_get0_RecipientInfos.3",
- "doc/man/man3/CMS_get0_SignerInfos.3",
- "doc/man/man3/CMS_get0_type.3",
- "doc/man/man3/CMS_get1_ReceiptRequest.3",
- "doc/man/man3/CMS_sign.3",
- "doc/man/man3/CMS_sign_receipt.3",
- "doc/man/man3/CMS_signed_get_attr.3",
- "doc/man/man3/CMS_uncompress.3",
- "doc/man/man3/CMS_verify.3",
- "doc/man/man3/CMS_verify_receipt.3",
- "doc/man/man3/COMP_CTX_new.3",
- "doc/man/man3/CONF_modules_free.3",
- "doc/man/man3/CONF_modules_load_file.3",
- "doc/man/man3/CRYPTO_THREAD_run_once.3",
- "doc/man/man3/CRYPTO_get_ex_new_index.3",
- "doc/man/man3/CRYPTO_memcmp.3",
- "doc/man/man3/CTLOG_STORE_get0_log_by_id.3",
- "doc/man/man3/CTLOG_STORE_new.3",
- "doc/man/man3/CTLOG_new.3",
- "doc/man/man3/CT_POLICY_EVAL_CTX_new.3",
- "doc/man/man3/DEFINE_STACK_OF.3",
- "doc/man/man3/DES_random_key.3",
- "doc/man/man3/DH_generate_key.3",
- "doc/man/man3/DH_generate_parameters.3",
- "doc/man/man3/DH_get0_pqg.3",
- "doc/man/man3/DH_get_1024_160.3",
- "doc/man/man3/DH_meth_new.3",
- "doc/man/man3/DH_new.3",
- "doc/man/man3/DH_new_by_nid.3",
- "doc/man/man3/DH_set_method.3",
- "doc/man/man3/DH_size.3",
- "doc/man/man3/DSA_SIG_new.3",
- "doc/man/man3/DSA_do_sign.3",
- "doc/man/man3/DSA_dup_DH.3",
- "doc/man/man3/DSA_generate_key.3",
- "doc/man/man3/DSA_generate_parameters.3",
- "doc/man/man3/DSA_get0_pqg.3",
- "doc/man/man3/DSA_meth_new.3",
- "doc/man/man3/DSA_new.3",
- "doc/man/man3/DSA_set_method.3",
- "doc/man/man3/DSA_sign.3",
- "doc/man/man3/DSA_size.3",
- "doc/man/man3/DTLS_get_data_mtu.3",
- "doc/man/man3/DTLS_set_timer_cb.3",
- "doc/man/man3/DTLSv1_get_timeout.3",
- "doc/man/man3/DTLSv1_handle_timeout.3",
- "doc/man/man3/DTLSv1_listen.3",
- "doc/man/man3/ECDSA_SIG_new.3",
- "doc/man/man3/ECDSA_sign.3",
- "doc/man/man3/ECPKParameters_print.3",
- "doc/man/man3/EC_GFp_simple_method.3",
- "doc/man/man3/EC_GROUP_copy.3",
- "doc/man/man3/EC_GROUP_new.3",
- "doc/man/man3/EC_KEY_get_enc_flags.3",
- "doc/man/man3/EC_KEY_new.3",
- "doc/man/man3/EC_POINT_add.3",
- "doc/man/man3/EC_POINT_new.3",
- "doc/man/man3/ENGINE_add.3",
- "doc/man/man3/ERR_GET_LIB.3",
- "doc/man/man3/ERR_clear_error.3",
- "doc/man/man3/ERR_error_string.3",
- "doc/man/man3/ERR_get_error.3",
- "doc/man/man3/ERR_load_crypto_strings.3",
- "doc/man/man3/ERR_load_strings.3",
- "doc/man/man3/ERR_new.3",
- "doc/man/man3/ERR_print_errors.3",
- "doc/man/man3/ERR_put_error.3",
- "doc/man/man3/ERR_remove_state.3",
- "doc/man/man3/ERR_set_mark.3",
- "doc/man/man3/EVP_ASYM_CIPHER_free.3",
- "doc/man/man3/EVP_BytesToKey.3",
- "doc/man/man3/EVP_CIPHER_CTX_get_cipher_data.3",
- "doc/man/man3/EVP_CIPHER_CTX_get_original_iv.3",
- "doc/man/man3/EVP_CIPHER_meth_new.3",
- "doc/man/man3/EVP_DigestInit.3",
- "doc/man/man3/EVP_DigestSignInit.3",
- "doc/man/man3/EVP_DigestVerifyInit.3",
- "doc/man/man3/EVP_EncodeInit.3",
- "doc/man/man3/EVP_EncryptInit.3",
- "doc/man/man3/EVP_KDF.3",
- "doc/man/man3/EVP_KEM_free.3",
- "doc/man/man3/EVP_KEYEXCH_free.3",
- "doc/man/man3/EVP_KEYMGMT.3",
- "doc/man/man3/EVP_MAC.3",
- "doc/man/man3/EVP_MD_meth_new.3",
- "doc/man/man3/EVP_OpenInit.3",
- "doc/man/man3/EVP_PBE_CipherInit.3",
- "doc/man/man3/EVP_PKEY2PKCS8.3",
- "doc/man/man3/EVP_PKEY_ASN1_METHOD.3",
- "doc/man/man3/EVP_PKEY_CTX_ctrl.3",
- "doc/man/man3/EVP_PKEY_CTX_get0_libctx.3",
- "doc/man/man3/EVP_PKEY_CTX_get0_pkey.3",
- "doc/man/man3/EVP_PKEY_CTX_get_algor.3",
- "doc/man/man3/EVP_PKEY_CTX_new.3",
- "doc/man/man3/EVP_PKEY_CTX_set1_pbe_pass.3",
- "doc/man/man3/EVP_PKEY_CTX_set_hkdf_md.3",
- "doc/man/man3/EVP_PKEY_CTX_set_params.3",
- "doc/man/man3/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3",
- "doc/man/man3/EVP_PKEY_CTX_set_scrypt_N.3",
- "doc/man/man3/EVP_PKEY_CTX_set_tls1_prf_md.3",
- "doc/man/man3/EVP_PKEY_asn1_get_count.3",
- "doc/man/man3/EVP_PKEY_check.3",
- "doc/man/man3/EVP_PKEY_copy_parameters.3",
- "doc/man/man3/EVP_PKEY_decapsulate.3",
- "doc/man/man3/EVP_PKEY_decrypt.3",
- "doc/man/man3/EVP_PKEY_derive.3",
- "doc/man/man3/EVP_PKEY_digestsign_supports_digest.3",
- "doc/man/man3/EVP_PKEY_encapsulate.3",
- "doc/man/man3/EVP_PKEY_encrypt.3",
- "doc/man/man3/EVP_PKEY_fromdata.3",
- "doc/man/man3/EVP_PKEY_get_attr.3",
- "doc/man/man3/EVP_PKEY_get_default_digest_nid.3",
- "doc/man/man3/EVP_PKEY_get_field_type.3",
- "doc/man/man3/EVP_PKEY_get_group_name.3",
- "doc/man/man3/EVP_PKEY_get_size.3",
- "doc/man/man3/EVP_PKEY_gettable_params.3",
- "doc/man/man3/EVP_PKEY_is_a.3",
- "doc/man/man3/EVP_PKEY_keygen.3",
- "doc/man/man3/EVP_PKEY_meth_get_count.3",
- "doc/man/man3/EVP_PKEY_meth_new.3",
- "doc/man/man3/EVP_PKEY_new.3",
- "doc/man/man3/EVP_PKEY_print_private.3",
- "doc/man/man3/EVP_PKEY_set1_RSA.3",
- "doc/man/man3/EVP_PKEY_set1_encoded_public_key.3",
- "doc/man/man3/EVP_PKEY_set_type.3",
- "doc/man/man3/EVP_PKEY_settable_params.3",
- "doc/man/man3/EVP_PKEY_sign.3",
- "doc/man/man3/EVP_PKEY_todata.3",
- "doc/man/man3/EVP_PKEY_verify.3",
- "doc/man/man3/EVP_PKEY_verify_recover.3",
- "doc/man/man3/EVP_RAND.3",
- "doc/man/man3/EVP_SIGNATURE.3",
- "doc/man/man3/EVP_SKEY.3",
- "doc/man/man3/EVP_SKEYMGMT.3",
- "doc/man/man3/EVP_SealInit.3",
- "doc/man/man3/EVP_SignInit.3",
- "doc/man/man3/EVP_VerifyInit.3",
- "doc/man/man3/EVP_aes_128_gcm.3",
- "doc/man/man3/EVP_aria_128_gcm.3",
- "doc/man/man3/EVP_bf_cbc.3",
- "doc/man/man3/EVP_blake2b512.3",
- "doc/man/man3/EVP_camellia_128_ecb.3",
- "doc/man/man3/EVP_cast5_cbc.3",
- "doc/man/man3/EVP_chacha20.3",
- "doc/man/man3/EVP_des_cbc.3",
- "doc/man/man3/EVP_desx_cbc.3",
- "doc/man/man3/EVP_idea_cbc.3",
- "doc/man/man3/EVP_md2.3",
- "doc/man/man3/EVP_md4.3",
- "doc/man/man3/EVP_md5.3",
- "doc/man/man3/EVP_mdc2.3",
- "doc/man/man3/EVP_rc2_cbc.3",
- "doc/man/man3/EVP_rc4.3",
- "doc/man/man3/EVP_rc5_32_12_16_cbc.3",
- "doc/man/man3/EVP_ripemd160.3",
- "doc/man/man3/EVP_seed_cbc.3",
- "doc/man/man3/EVP_set_default_properties.3",
- "doc/man/man3/EVP_sha1.3",
- "doc/man/man3/EVP_sha224.3",
- "doc/man/man3/EVP_sha3_224.3",
- "doc/man/man3/EVP_sm3.3",
- "doc/man/man3/EVP_sm4_cbc.3",
- "doc/man/man3/EVP_whirlpool.3",
- "doc/man/man3/GENERAL_NAME.3",
- "doc/man/man3/HMAC.3",
- "doc/man/man3/MD5.3",
- "doc/man/man3/MDC2_Init.3",
- "doc/man/man3/NCONF_new_ex.3",
- "doc/man/man3/OBJ_nid2obj.3",
- "doc/man/man3/OCSP_REQUEST_new.3",
- "doc/man/man3/OCSP_cert_to_id.3",
- "doc/man/man3/OCSP_request_add1_nonce.3",
- "doc/man/man3/OCSP_resp_find_status.3",
- "doc/man/man3/OCSP_response_status.3",
- "doc/man/man3/OCSP_sendreq_new.3",
- "doc/man/man3/OPENSSL_Applink.3",
- "doc/man/man3/OPENSSL_FILE.3",
- "doc/man/man3/OPENSSL_LH_COMPFUNC.3",
- "doc/man/man3/OPENSSL_LH_stats.3",
- "doc/man/man3/OPENSSL_config.3",
- "doc/man/man3/OPENSSL_fork_prepare.3",
- "doc/man/man3/OPENSSL_gmtime.3",
- "doc/man/man3/OPENSSL_hexchar2int.3",
- "doc/man/man3/OPENSSL_ia32cap.3",
- "doc/man/man3/OPENSSL_init_crypto.3",
- "doc/man/man3/OPENSSL_init_ssl.3",
- "doc/man/man3/OPENSSL_instrument_bus.3",
- "doc/man/man3/OPENSSL_load_builtin_modules.3",
- "doc/man/man3/OPENSSL_load_u16_le.3",
- "doc/man/man3/OPENSSL_malloc.3",
- "doc/man/man3/OPENSSL_riscvcap.3",
- "doc/man/man3/OPENSSL_s390xcap.3",
- "doc/man/man3/OPENSSL_secure_malloc.3",
- "doc/man/man3/OPENSSL_strcasecmp.3",
- "doc/man/man3/OSSL_ALGORITHM.3",
- "doc/man/man3/OSSL_CALLBACK.3",
- "doc/man/man3/OSSL_CMP_ATAV_set0.3",
- "doc/man/man3/OSSL_CMP_CTX_new.3",
- "doc/man/man3/OSSL_CMP_HDR_get0_transactionID.3",
- "doc/man/man3/OSSL_CMP_ITAV_new_caCerts.3",
- "doc/man/man3/OSSL_CMP_ITAV_set0.3",
- "doc/man/man3/OSSL_CMP_MSG_get0_header.3",
- "doc/man/man3/OSSL_CMP_MSG_http_perform.3",
- "doc/man/man3/OSSL_CMP_SRV_CTX_new.3",
- "doc/man/man3/OSSL_CMP_STATUSINFO_new.3",
- "doc/man/man3/OSSL_CMP_exec_certreq.3",
- "doc/man/man3/OSSL_CMP_log_open.3",
- "doc/man/man3/OSSL_CMP_validate_msg.3",
- "doc/man/man3/OSSL_CORE_MAKE_FUNC.3",
- "doc/man/man3/OSSL_CRMF_MSG_get0_tmpl.3",
- "doc/man/man3/OSSL_CRMF_MSG_set0_validity.3",
- "doc/man/man3/OSSL_CRMF_MSG_set1_regCtrl_regToken.3",
- "doc/man/man3/OSSL_CRMF_MSG_set1_regInfo_certReq.3",
- "doc/man/man3/OSSL_CRMF_pbmp_new.3",
- "doc/man/man3/OSSL_DECODER.3",
- "doc/man/man3/OSSL_DECODER_CTX.3",
- "doc/man/man3/OSSL_DECODER_CTX_new_for_pkey.3",
- "doc/man/man3/OSSL_DECODER_from_bio.3",
- "doc/man/man3/OSSL_DISPATCH.3",
- "doc/man/man3/OSSL_ENCODER.3",
- "doc/man/man3/OSSL_ENCODER_CTX.3",
- "doc/man/man3/OSSL_ENCODER_CTX_new_for_pkey.3",
- "doc/man/man3/OSSL_ENCODER_to_bio.3",
- "doc/man/man3/OSSL_ERR_STATE_save.3",
- "doc/man/man3/OSSL_ESS_check_signing_certs.3",
- "doc/man/man3/OSSL_GENERAL_NAMES_print.3",
- "doc/man/man3/OSSL_HPKE_CTX_new.3",
- "doc/man/man3/OSSL_HTTP_REQ_CTX.3",
- "doc/man/man3/OSSL_HTTP_parse_url.3",
- "doc/man/man3/OSSL_HTTP_transfer.3",
- "doc/man/man3/OSSL_IETF_ATTR_SYNTAX.3",
- "doc/man/man3/OSSL_IETF_ATTR_SYNTAX_print.3",
- "doc/man/man3/OSSL_INDICATOR_set_callback.3",
- "doc/man/man3/OSSL_ITEM.3",
- "doc/man/man3/OSSL_LIB_CTX.3",
- "doc/man/man3/OSSL_LIB_CTX_set_conf_diagnostics.3",
- "doc/man/man3/OSSL_PARAM.3",
- "doc/man/man3/OSSL_PARAM_BLD.3",
- "doc/man/man3/OSSL_PARAM_allocate_from_text.3",
- "doc/man/man3/OSSL_PARAM_dup.3",
- "doc/man/man3/OSSL_PARAM_int.3",
- "doc/man/man3/OSSL_PARAM_print_to_bio.3",
- "doc/man/man3/OSSL_PROVIDER.3",
- "doc/man/man3/OSSL_QUIC_client_method.3",
- "doc/man/man3/OSSL_SELF_TEST_new.3",
- "doc/man/man3/OSSL_SELF_TEST_set_callback.3",
- "doc/man/man3/OSSL_STORE_INFO.3",
- "doc/man/man3/OSSL_STORE_LOADER.3",
- "doc/man/man3/OSSL_STORE_SEARCH.3",
- "doc/man/man3/OSSL_STORE_attach.3",
- "doc/man/man3/OSSL_STORE_expect.3",
- "doc/man/man3/OSSL_STORE_open.3",
- "doc/man/man3/OSSL_sleep.3",
- "doc/man/man3/OSSL_trace_enabled.3",
- "doc/man/man3/OSSL_trace_get_category_num.3",
- "doc/man/man3/OSSL_trace_set_channel.3",
- "doc/man/man3/OpenSSL_add_all_algorithms.3",
- "doc/man/man3/OpenSSL_version.3",
- "doc/man/man3/PBMAC1_get1_pbkdf2_param.3",
- "doc/man/man3/PEM_X509_INFO_read_bio_ex.3",
- "doc/man/man3/PEM_bytes_read_bio.3",
- "doc/man/man3/PEM_read.3",
- "doc/man/man3/PEM_read_CMS.3",
- "doc/man/man3/PEM_read_bio_PrivateKey.3",
- "doc/man/man3/PEM_read_bio_ex.3",
- "doc/man/man3/PEM_write_bio_CMS_stream.3",
- "doc/man/man3/PEM_write_bio_PKCS7_stream.3",
- "doc/man/man3/PKCS12_PBE_keyivgen.3",
- "doc/man/man3/PKCS12_SAFEBAG_create_cert.3",
- "doc/man/man3/PKCS12_SAFEBAG_get0_attrs.3",
- "doc/man/man3/PKCS12_SAFEBAG_get1_cert.3",
- "doc/man/man3/PKCS12_SAFEBAG_set0_attrs.3",
- "doc/man/man3/PKCS12_add1_attr_by_NID.3",
- "doc/man/man3/PKCS12_add_CSPName_asc.3",
- "doc/man/man3/PKCS12_add_cert.3",
- "doc/man/man3/PKCS12_add_friendlyname_asc.3",
- "doc/man/man3/PKCS12_add_localkeyid.3",
- "doc/man/man3/PKCS12_add_safe.3",
- "doc/man/man3/PKCS12_create.3",
- "doc/man/man3/PKCS12_decrypt_skey.3",
- "doc/man/man3/PKCS12_gen_mac.3",
- "doc/man/man3/PKCS12_get_friendlyname.3",
- "doc/man/man3/PKCS12_init.3",
- "doc/man/man3/PKCS12_item_decrypt_d2i.3",
- "doc/man/man3/PKCS12_key_gen_utf8_ex.3",
- "doc/man/man3/PKCS12_newpass.3",
- "doc/man/man3/PKCS12_pack_p7encdata.3",
- "doc/man/man3/PKCS12_parse.3",
- "doc/man/man3/PKCS5_PBE_keyivgen.3",
- "doc/man/man3/PKCS5_PBKDF2_HMAC.3",
- "doc/man/man3/PKCS7_decrypt.3",
- "doc/man/man3/PKCS7_encrypt.3",
- "doc/man/man3/PKCS7_get_octet_string.3",
- "doc/man/man3/PKCS7_sign.3",
- "doc/man/man3/PKCS7_sign_add_signer.3",
- "doc/man/man3/PKCS7_type_is_other.3",
- "doc/man/man3/PKCS7_verify.3",
- "doc/man/man3/PKCS8_encrypt.3",
- "doc/man/man3/PKCS8_pkey_add1_attr.3",
- "doc/man/man3/RAND_add.3",
- "doc/man/man3/RAND_bytes.3",
- "doc/man/man3/RAND_cleanup.3",
- "doc/man/man3/RAND_egd.3",
- "doc/man/man3/RAND_get0_primary.3",
- "doc/man/man3/RAND_load_file.3",
- "doc/man/man3/RAND_set_DRBG_type.3",
- "doc/man/man3/RAND_set_rand_method.3",
- "doc/man/man3/RC4_set_key.3",
- "doc/man/man3/RIPEMD160_Init.3",
- "doc/man/man3/RSA_blinding_on.3",
- "doc/man/man3/RSA_check_key.3",
- "doc/man/man3/RSA_generate_key.3",
- "doc/man/man3/RSA_get0_key.3",
- "doc/man/man3/RSA_meth_new.3",
- "doc/man/man3/RSA_new.3",
- "doc/man/man3/RSA_padding_add_PKCS1_type_1.3",
- "doc/man/man3/RSA_print.3",
- "doc/man/man3/RSA_private_encrypt.3",
- "doc/man/man3/RSA_public_encrypt.3",
- "doc/man/man3/RSA_set_method.3",
- "doc/man/man3/RSA_sign.3",
- "doc/man/man3/RSA_sign_ASN1_OCTET_STRING.3",
- "doc/man/man3/RSA_size.3",
- "doc/man/man3/SCT_new.3",
- "doc/man/man3/SCT_print.3",
- "doc/man/man3/SCT_validate.3",
- "doc/man/man3/SHA256_Init.3",
- "doc/man/man3/SMIME_read_ASN1.3",
- "doc/man/man3/SMIME_read_CMS.3",
- "doc/man/man3/SMIME_read_PKCS7.3",
- "doc/man/man3/SMIME_write_ASN1.3",
- "doc/man/man3/SMIME_write_CMS.3",
- "doc/man/man3/SMIME_write_PKCS7.3",
- "doc/man/man3/SRP_Calc_B.3",
- "doc/man/man3/SRP_VBASE_new.3",
- "doc/man/man3/SRP_create_verifier.3",
- "doc/man/man3/SRP_user_pwd_new.3",
- "doc/man/man3/SSL_CIPHER_get_name.3",
- "doc/man/man3/SSL_COMP_add_compression_method.3",
- "doc/man/man3/SSL_CONF_CTX_new.3",
- "doc/man/man3/SSL_CONF_CTX_set1_prefix.3",
- "doc/man/man3/SSL_CONF_CTX_set_flags.3",
- "doc/man/man3/SSL_CONF_CTX_set_ssl_ctx.3",
- "doc/man/man3/SSL_CONF_cmd.3",
- "doc/man/man3/SSL_CONF_cmd_argv.3",
- "doc/man/man3/SSL_CTX_add1_chain_cert.3",
- "doc/man/man3/SSL_CTX_add_extra_chain_cert.3",
- "doc/man/man3/SSL_CTX_add_session.3",
- "doc/man/man3/SSL_CTX_config.3",
- "doc/man/man3/SSL_CTX_ctrl.3",
- "doc/man/man3/SSL_CTX_dane_enable.3",
- "doc/man/man3/SSL_CTX_flush_sessions.3",
- "doc/man/man3/SSL_CTX_free.3",
- "doc/man/man3/SSL_CTX_get0_param.3",
- "doc/man/man3/SSL_CTX_get_verify_mode.3",
- "doc/man/man3/SSL_CTX_has_client_custom_ext.3",
- "doc/man/man3/SSL_CTX_load_verify_locations.3",
- "doc/man/man3/SSL_CTX_new.3",
- "doc/man/man3/SSL_CTX_sess_number.3",
- "doc/man/man3/SSL_CTX_sess_set_cache_size.3",
- "doc/man/man3/SSL_CTX_sess_set_get_cb.3",
- "doc/man/man3/SSL_CTX_sessions.3",
- "doc/man/man3/SSL_CTX_set0_CA_list.3",
- "doc/man/man3/SSL_CTX_set1_cert_comp_preference.3",
- "doc/man/man3/SSL_CTX_set1_curves.3",
- "doc/man/man3/SSL_CTX_set1_sigalgs.3",
- "doc/man/man3/SSL_CTX_set1_verify_cert_store.3",
- "doc/man/man3/SSL_CTX_set_alpn_select_cb.3",
- "doc/man/man3/SSL_CTX_set_cert_cb.3",
- "doc/man/man3/SSL_CTX_set_cert_store.3",
- "doc/man/man3/SSL_CTX_set_cert_verify_callback.3",
- "doc/man/man3/SSL_CTX_set_cipher_list.3",
- "doc/man/man3/SSL_CTX_set_client_cert_cb.3",
- "doc/man/man3/SSL_CTX_set_client_hello_cb.3",
- "doc/man/man3/SSL_CTX_set_ct_validation_callback.3",
- "doc/man/man3/SSL_CTX_set_ctlog_list_file.3",
- "doc/man/man3/SSL_CTX_set_default_passwd_cb.3",
- "doc/man/man3/SSL_CTX_set_domain_flags.3",
- "doc/man/man3/SSL_CTX_set_generate_session_id.3",
- "doc/man/man3/SSL_CTX_set_info_callback.3",
- "doc/man/man3/SSL_CTX_set_keylog_callback.3",
- "doc/man/man3/SSL_CTX_set_max_cert_list.3",
- "doc/man/man3/SSL_CTX_set_min_proto_version.3",
- "doc/man/man3/SSL_CTX_set_mode.3",
- "doc/man/man3/SSL_CTX_set_msg_callback.3",
- "doc/man/man3/SSL_CTX_set_new_pending_conn_cb.3",
- "doc/man/man3/SSL_CTX_set_num_tickets.3",
- "doc/man/man3/SSL_CTX_set_options.3",
- "doc/man/man3/SSL_CTX_set_psk_client_callback.3",
- "doc/man/man3/SSL_CTX_set_quiet_shutdown.3",
- "doc/man/man3/SSL_CTX_set_read_ahead.3",
- "doc/man/man3/SSL_CTX_set_record_padding_callback.3",
- "doc/man/man3/SSL_CTX_set_security_level.3",
- "doc/man/man3/SSL_CTX_set_session_cache_mode.3",
- "doc/man/man3/SSL_CTX_set_session_id_context.3",
- "doc/man/man3/SSL_CTX_set_session_ticket_cb.3",
- "doc/man/man3/SSL_CTX_set_split_send_fragment.3",
- "doc/man/man3/SSL_CTX_set_srp_password.3",
- "doc/man/man3/SSL_CTX_set_ssl_version.3",
- "doc/man/man3/SSL_CTX_set_stateless_cookie_generate_cb.3",
- "doc/man/man3/SSL_CTX_set_timeout.3",
- "doc/man/man3/SSL_CTX_set_tlsext_servername_callback.3",
- "doc/man/man3/SSL_CTX_set_tlsext_status_cb.3",
- "doc/man/man3/SSL_CTX_set_tlsext_ticket_key_cb.3",
- "doc/man/man3/SSL_CTX_set_tlsext_use_srtp.3",
- "doc/man/man3/SSL_CTX_set_tmp_dh_callback.3",
- "doc/man/man3/SSL_CTX_set_tmp_ecdh.3",
- "doc/man/man3/SSL_CTX_set_verify.3",
- "doc/man/man3/SSL_CTX_use_certificate.3",
- "doc/man/man3/SSL_CTX_use_psk_identity_hint.3",
- "doc/man/man3/SSL_CTX_use_serverinfo.3",
- "doc/man/man3/SSL_SESSION_free.3",
- "doc/man/man3/SSL_SESSION_get0_cipher.3",
- "doc/man/man3/SSL_SESSION_get0_hostname.3",
- "doc/man/man3/SSL_SESSION_get0_id_context.3",
- "doc/man/man3/SSL_SESSION_get0_peer.3",
- "doc/man/man3/SSL_SESSION_get_compress_id.3",
- "doc/man/man3/SSL_SESSION_get_protocol_version.3",
- "doc/man/man3/SSL_SESSION_get_time.3",
- "doc/man/man3/SSL_SESSION_has_ticket.3",
- "doc/man/man3/SSL_SESSION_is_resumable.3",
- "doc/man/man3/SSL_SESSION_print.3",
- "doc/man/man3/SSL_SESSION_set1_id.3",
- "doc/man/man3/SSL_accept.3",
- "doc/man/man3/SSL_accept_stream.3",
- "doc/man/man3/SSL_alert_type_string.3",
- "doc/man/man3/SSL_alloc_buffers.3",
- "doc/man/man3/SSL_check_chain.3",
- "doc/man/man3/SSL_clear.3",
- "doc/man/man3/SSL_connect.3",
- "doc/man/man3/SSL_do_handshake.3",
- "doc/man/man3/SSL_export_keying_material.3",
- "doc/man/man3/SSL_extension_supported.3",
- "doc/man/man3/SSL_free.3",
- "doc/man/man3/SSL_get0_connection.3",
- "doc/man/man3/SSL_get0_group_name.3",
- "doc/man/man3/SSL_get0_peer_rpk.3",
- "doc/man/man3/SSL_get0_peer_scts.3",
- "doc/man/man3/SSL_get1_builtin_sigalgs.3",
- "doc/man/man3/SSL_get_SSL_CTX.3",
- "doc/man/man3/SSL_get_all_async_fds.3",
- "doc/man/man3/SSL_get_certificate.3",
- "doc/man/man3/SSL_get_ciphers.3",
- "doc/man/man3/SSL_get_client_random.3",
- "doc/man/man3/SSL_get_conn_close_info.3",
- "doc/man/man3/SSL_get_current_cipher.3",
- "doc/man/man3/SSL_get_default_timeout.3",
- "doc/man/man3/SSL_get_error.3",
- "doc/man/man3/SSL_get_event_timeout.3",
- "doc/man/man3/SSL_get_extms_support.3",
- "doc/man/man3/SSL_get_fd.3",
- "doc/man/man3/SSL_get_handshake_rtt.3",
- "doc/man/man3/SSL_get_peer_cert_chain.3",
- "doc/man/man3/SSL_get_peer_certificate.3",
- "doc/man/man3/SSL_get_peer_signature_nid.3",
- "doc/man/man3/SSL_get_peer_tmp_key.3",
- "doc/man/man3/SSL_get_psk_identity.3",
- "doc/man/man3/SSL_get_rbio.3",
- "doc/man/man3/SSL_get_rpoll_descriptor.3",
- "doc/man/man3/SSL_get_session.3",
- "doc/man/man3/SSL_get_shared_sigalgs.3",
- "doc/man/man3/SSL_get_stream_id.3",
- "doc/man/man3/SSL_get_stream_read_state.3",
- "doc/man/man3/SSL_get_value_uint.3",
- "doc/man/man3/SSL_get_verify_result.3",
- "doc/man/man3/SSL_get_version.3",
- "doc/man/man3/SSL_group_to_name.3",
- "doc/man/man3/SSL_handle_events.3",
- "doc/man/man3/SSL_in_init.3",
- "doc/man/man3/SSL_inject_net_dgram.3",
- "doc/man/man3/SSL_key_update.3",
- "doc/man/man3/SSL_library_init.3",
- "doc/man/man3/SSL_load_client_CA_file.3",
- "doc/man/man3/SSL_new.3",
- "doc/man/man3/SSL_new_domain.3",
- "doc/man/man3/SSL_new_listener.3",
- "doc/man/man3/SSL_new_stream.3",
- "doc/man/man3/SSL_pending.3",
- "doc/man/man3/SSL_poll.3",
- "doc/man/man3/SSL_read.3",
- "doc/man/man3/SSL_read_early_data.3",
- "doc/man/man3/SSL_rstate_string.3",
- "doc/man/man3/SSL_session_reused.3",
- "doc/man/man3/SSL_set1_host.3",
- "doc/man/man3/SSL_set1_initial_peer_addr.3",
- "doc/man/man3/SSL_set1_server_cert_type.3",
- "doc/man/man3/SSL_set_async_callback.3",
- "doc/man/man3/SSL_set_bio.3",
- "doc/man/man3/SSL_set_blocking_mode.3",
- "doc/man/man3/SSL_set_connect_state.3",
- "doc/man/man3/SSL_set_default_stream_mode.3",
- "doc/man/man3/SSL_set_fd.3",
- "doc/man/man3/SSL_set_incoming_stream_policy.3",
- "doc/man/man3/SSL_set_quic_tls_cbs.3",
- "doc/man/man3/SSL_set_retry_verify.3",
- "doc/man/man3/SSL_set_session.3",
- "doc/man/man3/SSL_set_session_secret_cb.3",
- "doc/man/man3/SSL_set_shutdown.3",
- "doc/man/man3/SSL_set_verify_result.3",
- "doc/man/man3/SSL_shutdown.3",
- "doc/man/man3/SSL_state_string.3",
- "doc/man/man3/SSL_stream_conclude.3",
- "doc/man/man3/SSL_stream_reset.3",
- "doc/man/man3/SSL_want.3",
- "doc/man/man3/SSL_write.3",
- "doc/man/man3/TS_RESP_CTX_new.3",
- "doc/man/man3/TS_VERIFY_CTX.3",
- "doc/man/man3/UI_STRING.3",
- "doc/man/man3/UI_UTIL_read_pw.3",
- "doc/man/man3/UI_create_method.3",
- "doc/man/man3/UI_new.3",
- "doc/man/man3/X509V3_get_d2i.3",
- "doc/man/man3/X509V3_set_ctx.3",
- "doc/man/man3/X509_ACERT_add1_attr.3",
- "doc/man/man3/X509_ACERT_add_attr_nconf.3",
- "doc/man/man3/X509_ACERT_get0_holder_baseCertId.3",
- "doc/man/man3/X509_ACERT_get_attr.3",
- "doc/man/man3/X509_ACERT_print_ex.3",
- "doc/man/man3/X509_ALGOR_dup.3",
- "doc/man/man3/X509_ATTRIBUTE.3",
- "doc/man/man3/X509_CRL_get0_by_serial.3",
- "doc/man/man3/X509_EXTENSION_set_object.3",
- "doc/man/man3/X509_LOOKUP.3",
- "doc/man/man3/X509_LOOKUP_hash_dir.3",
- "doc/man/man3/X509_LOOKUP_meth_new.3",
- "doc/man/man3/X509_NAME_ENTRY_get_object.3",
- "doc/man/man3/X509_NAME_add_entry_by_txt.3",
- "doc/man/man3/X509_NAME_get0_der.3",
- "doc/man/man3/X509_NAME_get_index_by_NID.3",
- "doc/man/man3/X509_NAME_print_ex.3",
- "doc/man/man3/X509_PUBKEY_new.3",
- "doc/man/man3/X509_REQ_get_attr.3",
- "doc/man/man3/X509_REQ_get_extensions.3",
- "doc/man/man3/X509_SIG_get0.3",
- "doc/man/man3/X509_STORE_CTX_get_by_subject.3",
- "doc/man/man3/X509_STORE_CTX_get_error.3",
- "doc/man/man3/X509_STORE_CTX_new.3",
- "doc/man/man3/X509_STORE_CTX_set_verify_cb.3",
- "doc/man/man3/X509_STORE_add_cert.3",
- "doc/man/man3/X509_STORE_get0_param.3",
- "doc/man/man3/X509_STORE_new.3",
- "doc/man/man3/X509_STORE_set_verify_cb_func.3",
- "doc/man/man3/X509_VERIFY_PARAM_set_flags.3",
- "doc/man/man3/X509_add_cert.3",
- "doc/man/man3/X509_check_ca.3",
- "doc/man/man3/X509_check_host.3",
- "doc/man/man3/X509_check_issued.3",
- "doc/man/man3/X509_check_private_key.3",
- "doc/man/man3/X509_check_purpose.3",
- "doc/man/man3/X509_cmp.3",
- "doc/man/man3/X509_cmp_time.3",
- "doc/man/man3/X509_digest.3",
- "doc/man/man3/X509_dup.3",
- "doc/man/man3/X509_get0_distinguishing_id.3",
- "doc/man/man3/X509_get0_notBefore.3",
- "doc/man/man3/X509_get0_signature.3",
- "doc/man/man3/X509_get0_uids.3",
- "doc/man/man3/X509_get_default_cert_file.3",
- "doc/man/man3/X509_get_extension_flags.3",
- "doc/man/man3/X509_get_pubkey.3",
- "doc/man/man3/X509_get_serialNumber.3",
- "doc/man/man3/X509_get_subject_name.3",
- "doc/man/man3/X509_get_version.3",
- "doc/man/man3/X509_load_http.3",
- "doc/man/man3/X509_new.3",
- "doc/man/man3/X509_sign.3",
- "doc/man/man3/X509_verify.3",
- "doc/man/man3/X509_verify_cert.3",
- "doc/man/man3/X509v3_get_ext_by_NID.3",
- "doc/man/man3/b2i_PVK_bio_ex.3",
- "doc/man/man3/d2i_PKCS8PrivateKey_bio.3",
- "doc/man/man3/d2i_PrivateKey.3",
- "doc/man/man3/d2i_RSAPrivateKey.3",
- "doc/man/man3/d2i_SSL_SESSION.3",
- "doc/man/man3/d2i_X509.3",
- "doc/man/man3/i2d_CMS_bio_stream.3",
- "doc/man/man3/i2d_PKCS7_bio_stream.3",
- "doc/man/man3/i2d_re_X509_tbs.3",
- "doc/man/man3/o2i_SCT_LIST.3",
- "doc/man/man3/s2i_ASN1_IA5STRING.3"
- ],
- "man5" => [
- "doc/man/man5/config.5",
- "doc/man/man5/fips_config.5",
- "doc/man/man5/x509v3_config.5"
- ],
- "man7" => [
- "doc/man/man7/EVP_ASYM_CIPHER-RSA.7",
- "doc/man/man7/EVP_ASYM_CIPHER-SM2.7",
- "doc/man/man7/EVP_CIPHER-AES.7",
- "doc/man/man7/EVP_CIPHER-ARIA.7",
- "doc/man/man7/EVP_CIPHER-BLOWFISH.7",
- "doc/man/man7/EVP_CIPHER-CAMELLIA.7",
- "doc/man/man7/EVP_CIPHER-CAST.7",
- "doc/man/man7/EVP_CIPHER-CHACHA.7",
- "doc/man/man7/EVP_CIPHER-DES.7",
- "doc/man/man7/EVP_CIPHER-IDEA.7",
- "doc/man/man7/EVP_CIPHER-NULL.7",
- "doc/man/man7/EVP_CIPHER-RC2.7",
- "doc/man/man7/EVP_CIPHER-RC4.7",
- "doc/man/man7/EVP_CIPHER-RC5.7",
- "doc/man/man7/EVP_CIPHER-SEED.7",
- "doc/man/man7/EVP_CIPHER-SM4.7",
- "doc/man/man7/EVP_KDF-ARGON2.7",
- "doc/man/man7/EVP_KDF-HKDF.7",
- "doc/man/man7/EVP_KDF-HMAC-DRBG.7",
- "doc/man/man7/EVP_KDF-KB.7",
- "doc/man/man7/EVP_KDF-KRB5KDF.7",
- "doc/man/man7/EVP_KDF-PBKDF1.7",
- "doc/man/man7/EVP_KDF-PBKDF2.7",
- "doc/man/man7/EVP_KDF-PKCS12KDF.7",
- "doc/man/man7/EVP_KDF-PVKKDF.7",
- "doc/man/man7/EVP_KDF-SCRYPT.7",
- "doc/man/man7/EVP_KDF-SS.7",
- "doc/man/man7/EVP_KDF-SSHKDF.7",
- "doc/man/man7/EVP_KDF-TLS13_KDF.7",
- "doc/man/man7/EVP_KDF-TLS1_PRF.7",
- "doc/man/man7/EVP_KDF-X942-ASN1.7",
- "doc/man/man7/EVP_KDF-X942-CONCAT.7",
- "doc/man/man7/EVP_KDF-X963.7",
- "doc/man/man7/EVP_KEM-EC.7",
- "doc/man/man7/EVP_KEM-ML-KEM.7",
- "doc/man/man7/EVP_KEM-RSA.7",
- "doc/man/man7/EVP_KEM-X25519.7",
- "doc/man/man7/EVP_KEYEXCH-DH.7",
- "doc/man/man7/EVP_KEYEXCH-ECDH.7",
- "doc/man/man7/EVP_KEYEXCH-X25519.7",
- "doc/man/man7/EVP_MAC-BLAKE2.7",
- "doc/man/man7/EVP_MAC-CMAC.7",
- "doc/man/man7/EVP_MAC-GMAC.7",
- "doc/man/man7/EVP_MAC-HMAC.7",
- "doc/man/man7/EVP_MAC-KMAC.7",
- "doc/man/man7/EVP_MAC-Poly1305.7",
- "doc/man/man7/EVP_MAC-Siphash.7",
- "doc/man/man7/EVP_MD-BLAKE2.7",
- "doc/man/man7/EVP_MD-KECCAK.7",
- "doc/man/man7/EVP_MD-MD2.7",
- "doc/man/man7/EVP_MD-MD4.7",
- "doc/man/man7/EVP_MD-MD5-SHA1.7",
- "doc/man/man7/EVP_MD-MD5.7",
- "doc/man/man7/EVP_MD-MDC2.7",
- "doc/man/man7/EVP_MD-NULL.7",
- "doc/man/man7/EVP_MD-RIPEMD160.7",
- "doc/man/man7/EVP_MD-SHA1.7",
- "doc/man/man7/EVP_MD-SHA2.7",
- "doc/man/man7/EVP_MD-SHA3.7",
- "doc/man/man7/EVP_MD-SHAKE.7",
- "doc/man/man7/EVP_MD-SM3.7",
- "doc/man/man7/EVP_MD-WHIRLPOOL.7",
- "doc/man/man7/EVP_MD-common.7",
- "doc/man/man7/EVP_PKEY-DH.7",
- "doc/man/man7/EVP_PKEY-DSA.7",
- "doc/man/man7/EVP_PKEY-EC.7",
- "doc/man/man7/EVP_PKEY-FFC.7",
- "doc/man/man7/EVP_PKEY-HMAC.7",
- "doc/man/man7/EVP_PKEY-ML-DSA.7",
- "doc/man/man7/EVP_PKEY-ML-KEM.7",
- "doc/man/man7/EVP_PKEY-RSA.7",
- "doc/man/man7/EVP_PKEY-SLH-DSA.7",
- "doc/man/man7/EVP_PKEY-SM2.7",
- "doc/man/man7/EVP_PKEY-X25519.7",
- "doc/man/man7/EVP_RAND-CRNG-TEST.7",
- "doc/man/man7/EVP_RAND-CTR-DRBG.7",
- "doc/man/man7/EVP_RAND-HASH-DRBG.7",
- "doc/man/man7/EVP_RAND-HMAC-DRBG.7",
- "doc/man/man7/EVP_RAND-JITTER.7",
- "doc/man/man7/EVP_RAND-SEED-SRC.7",
- "doc/man/man7/EVP_RAND-TEST-RAND.7",
- "doc/man/man7/EVP_RAND.7",
- "doc/man/man7/EVP_SIGNATURE-DSA.7",
- "doc/man/man7/EVP_SIGNATURE-ECDSA.7",
- "doc/man/man7/EVP_SIGNATURE-ED25519.7",
- "doc/man/man7/EVP_SIGNATURE-HMAC.7",
- "doc/man/man7/EVP_SIGNATURE-ML-DSA.7",
- "doc/man/man7/EVP_SIGNATURE-RSA.7",
- "doc/man/man7/EVP_SIGNATURE-SLH-DSA.7",
- "doc/man/man7/OSSL_PROVIDER-FIPS.7",
- "doc/man/man7/OSSL_PROVIDER-base.7",
- "doc/man/man7/OSSL_PROVIDER-default.7",
- "doc/man/man7/OSSL_PROVIDER-legacy.7",
- "doc/man/man7/OSSL_PROVIDER-null.7",
- "doc/man/man7/OSSL_STORE-winstore.7",
- "doc/man/man7/RAND.7",
- "doc/man/man7/RSA-PSS.7",
- "doc/man/man7/X25519.7",
- "doc/man/man7/bio.7",
- "doc/man/man7/ct.7",
- "doc/man/man7/des_modes.7",
- "doc/man/man7/evp.7",
- "doc/man/man7/fips_module.7",
- "doc/man/man7/life_cycle-cipher.7",
- "doc/man/man7/life_cycle-digest.7",
- "doc/man/man7/life_cycle-kdf.7",
- "doc/man/man7/life_cycle-mac.7",
- "doc/man/man7/life_cycle-pkey.7",
- "doc/man/man7/life_cycle-rand.7",
- "doc/man/man7/openssl-core.h.7",
- "doc/man/man7/openssl-core_dispatch.h.7",
- "doc/man/man7/openssl-core_names.h.7",
- "doc/man/man7/openssl-env.7",
- "doc/man/man7/openssl-glossary.7",
- "doc/man/man7/openssl-qlog.7",
- "doc/man/man7/openssl-quic-concurrency.7",
- "doc/man/man7/openssl-quic.7",
- "doc/man/man7/openssl-threads.7",
- "doc/man/man7/openssl_user_macros.7",
- "doc/man/man7/ossl-guide-introduction.7",
- "doc/man/man7/ossl-guide-libcrypto-introduction.7",
- "doc/man/man7/ossl-guide-libraries-introduction.7",
- "doc/man/man7/ossl-guide-libssl-introduction.7",
- "doc/man/man7/ossl-guide-migration.7",
- "doc/man/man7/ossl-guide-quic-client-block.7",
- "doc/man/man7/ossl-guide-quic-client-non-block.7",
- "doc/man/man7/ossl-guide-quic-introduction.7",
- "doc/man/man7/ossl-guide-quic-multi-stream.7",
- "doc/man/man7/ossl-guide-quic-server-block.7",
- "doc/man/man7/ossl-guide-quic-server-non-block.7",
- "doc/man/man7/ossl-guide-tls-client-block.7",
- "doc/man/man7/ossl-guide-tls-client-non-block.7",
- "doc/man/man7/ossl-guide-tls-introduction.7",
- "doc/man/man7/ossl-guide-tls-server-block.7",
- "doc/man/man7/ossl_store-file.7",
- "doc/man/man7/ossl_store.7",
- "doc/man/man7/passphrase-encoding.7",
- "doc/man/man7/property.7",
- "doc/man/man7/provider-asym_cipher.7",
- "doc/man/man7/provider-base.7",
- "doc/man/man7/provider-cipher.7",
- "doc/man/man7/provider-decoder.7",
- "doc/man/man7/provider-digest.7",
- "doc/man/man7/provider-encoder.7",
- "doc/man/man7/provider-kdf.7",
- "doc/man/man7/provider-kem.7",
- "doc/man/man7/provider-keyexch.7",
- "doc/man/man7/provider-keymgmt.7",
- "doc/man/man7/provider-mac.7",
- "doc/man/man7/provider-object.7",
- "doc/man/man7/provider-rand.7",
- "doc/man/man7/provider-signature.7",
- "doc/man/man7/provider-skeymgmt.7",
- "doc/man/man7/provider-storemgmt.7",
- "doc/man/man7/provider.7",
- "doc/man/man7/proxy-certificates.7",
- "doc/man/man7/x509.7"
- ]
- },
- "modules" => [
- "engines/capi",
- "engines/dasync",
- "engines/devcrypto",
- "engines/loader_attic",
- "engines/ossltest",
- "engines/padlock",
- "providers/legacy",
- "test/p_minimal",
- "test/p_test"
- ],
- "programs" => [
- "apps/openssl",
- "fuzz/acert-test",
- "fuzz/asn1-test",
- "fuzz/asn1parse-test",
- "fuzz/bignum-test",
- "fuzz/bndiv-test",
- "fuzz/client-test",
- "fuzz/cmp-test",
- "fuzz/cms-test",
- "fuzz/conf-test",
- "fuzz/crl-test",
- "fuzz/ct-test",
- "fuzz/decoder-test",
- "fuzz/dtlsclient-test",
- "fuzz/dtlsserver-test",
- "fuzz/hashtable-test",
- "fuzz/ml-dsa-test",
- "fuzz/ml-kem-test",
- "fuzz/pem-test",
- "fuzz/provider-test",
- "fuzz/punycode-test",
- "fuzz/quic-client-test",
- "fuzz/quic-lcidm-test",
- "fuzz/quic-rcidm-test",
- "fuzz/quic-server-test",
- "fuzz/quic-srtm-test",
- "fuzz/server-test",
- "fuzz/slh-dsa-test",
- "fuzz/smime-test",
- "fuzz/v3name-test",
- "fuzz/x509-test",
- "test/aborttest",
- "test/aesgcmtest",
- "test/afalgtest",
- "test/algorithmid_test",
- "test/asn1_decode_test",
- "test/asn1_dsa_internal_test",
- "test/asn1_encode_test",
- "test/asn1_internal_test",
- "test/asn1_stable_parse_test",
- "test/asn1_string_table_test",
- "test/asn1_time_test",
- "test/asynciotest",
- "test/asynctest",
- "test/bad_dtls_test",
- "test/bftest",
- "test/bio_addr_test",
- "test/bio_base64_test",
- "test/bio_callback_test",
- "test/bio_core_test",
- "test/bio_dgram_test",
- "test/bio_enc_test",
- "test/bio_memleak_test",
- "test/bio_meth_test",
- "test/bio_prefix_text",
- "test/bio_pw_callback_test",
- "test/bio_readbuffer_test",
- "test/bio_tfo_test",
- "test/bioprinttest",
- "test/bn_internal_test",
- "test/bntest",
- "test/build_wincrypt_test",
- "test/buildtest_c_aes",
- "test/buildtest_c_asn1",
- "test/buildtest_c_asn1t",
- "test/buildtest_c_async",
- "test/buildtest_c_bio",
- "test/buildtest_c_blowfish",
- "test/buildtest_c_bn",
- "test/buildtest_c_buffer",
- "test/buildtest_c_byteorder",
- "test/buildtest_c_camellia",
- "test/buildtest_c_cast",
- "test/buildtest_c_cmac",
- "test/buildtest_c_cmp",
- "test/buildtest_c_cmp_util",
- "test/buildtest_c_cms",
- "test/buildtest_c_comp",
- "test/buildtest_c_conf",
- "test/buildtest_c_conf_api",
- "test/buildtest_c_configuration",
- "test/buildtest_c_conftypes",
- "test/buildtest_c_core",
- "test/buildtest_c_core_dispatch",
- "test/buildtest_c_core_names",
- "test/buildtest_c_core_object",
- "test/buildtest_c_crmf",
- "test/buildtest_c_crypto",
- "test/buildtest_c_cryptoerr_legacy",
- "test/buildtest_c_ct",
- "test/buildtest_c_decoder",
- "test/buildtest_c_des",
- "test/buildtest_c_dh",
- "test/buildtest_c_dsa",
- "test/buildtest_c_dtls1",
- "test/buildtest_c_e_os2",
- "test/buildtest_c_e_ostime",
- "test/buildtest_c_ebcdic",
- "test/buildtest_c_ec",
- "test/buildtest_c_ecdh",
- "test/buildtest_c_ecdsa",
- "test/buildtest_c_encoder",
- "test/buildtest_c_engine",
- "test/buildtest_c_ess",
- "test/buildtest_c_evp",
- "test/buildtest_c_fips_names",
- "test/buildtest_c_fipskey",
- "test/buildtest_c_hmac",
- "test/buildtest_c_hpke",
- "test/buildtest_c_http",
- "test/buildtest_c_indicator",
- "test/buildtest_c_kdf",
- "test/buildtest_c_lhash",
- "test/buildtest_c_macros",
- "test/buildtest_c_md4",
- "test/buildtest_c_md5",
- "test/buildtest_c_ml_kem",
- "test/buildtest_c_modes",
- "test/buildtest_c_obj_mac",
- "test/buildtest_c_objects",
- "test/buildtest_c_ocsp",
- "test/buildtest_c_opensslv",
- "test/buildtest_c_ossl_typ",
- "test/buildtest_c_param_build",
- "test/buildtest_c_params",
- "test/buildtest_c_pem",
- "test/buildtest_c_pem2",
- "test/buildtest_c_pkcs12",
- "test/buildtest_c_pkcs7",
- "test/buildtest_c_prov_ssl",
- "test/buildtest_c_provider",
- "test/buildtest_c_quic",
- "test/buildtest_c_rand",
- "test/buildtest_c_rc2",
- "test/buildtest_c_rc4",
- "test/buildtest_c_ripemd",
- "test/buildtest_c_rsa",
- "test/buildtest_c_safestack",
- "test/buildtest_c_seed",
- "test/buildtest_c_self_test",
- "test/buildtest_c_sha",
- "test/buildtest_c_srp",
- "test/buildtest_c_srtp",
- "test/buildtest_c_ssl",
- "test/buildtest_c_ssl2",
- "test/buildtest_c_sslerr_legacy",
- "test/buildtest_c_stack",
- "test/buildtest_c_store",
- "test/buildtest_c_symhacks",
- "test/buildtest_c_thread",
- "test/buildtest_c_tls1",
- "test/buildtest_c_ts",
- "test/buildtest_c_txt_db",
- "test/buildtest_c_types",
- "test/buildtest_c_ui",
- "test/buildtest_c_whrlpool",
- "test/buildtest_c_x509",
- "test/buildtest_c_x509_acert",
- "test/buildtest_c_x509_vfy",
- "test/buildtest_c_x509v3",
- "test/byteorder_test",
- "test/ca_internals_test",
- "test/casttest",
- "test/chacha_internal_test",
- "test/cipher_overhead_test",
- "test/cipherbytes_test",
- "test/cipherlist_test",
- "test/ciphername_test",
- "test/clienthellotest",
- "test/cmactest",
- "test/cmp_asn_test",
- "test/cmp_client_test",
- "test/cmp_ctx_test",
- "test/cmp_hdr_test",
- "test/cmp_msg_test",
- "test/cmp_protect_test",
- "test/cmp_server_test",
- "test/cmp_status_test",
- "test/cmp_vfy_test",
- "test/cmsapitest",
- "test/conf_include_test",
- "test/confdump",
- "test/constant_time_test",
- "test/context_internal_test",
- "test/crltest",
- "test/ct_test",
- "test/ctype_internal_test",
- "test/curve448_internal_test",
- "test/d2i_test",
- "test/danetest",
- "test/decoder_propq_test",
- "test/defltfips_test",
- "test/destest",
- "test/dhtest",
- "test/drbgtest",
- "test/dsa_no_digest_size_test",
- "test/dsatest",
- "test/dtls_mtu_test",
- "test/dtlstest",
- "test/dtlsv1listentest",
- "test/ec_internal_test",
- "test/ecdsatest",
- "test/ecstresstest",
- "test/ectest",
- "test/endecode_test",
- "test/endecoder_legacy_test",
- "test/enginetest",
- "test/errtest",
- "test/evp_byname_test",
- "test/evp_extra_test",
- "test/evp_extra_test2",
- "test/evp_fetch_prov_test",
- "test/evp_kdf_test",
- "test/evp_libctx_test",
- "test/evp_pkey_ctx_new_from_name",
- "test/evp_pkey_dhkem_test",
- "test/evp_pkey_dparams_test",
- "test/evp_pkey_provided_test",
- "test/evp_skey_test",
- "test/evp_test",
- "test/evp_xof_test",
- "test/exdatatest",
- "test/exptest",
- "test/ext_internal_test",
- "test/fatalerrtest",
- "test/ffc_internal_test",
- "test/fips_version_test",
- "test/gmdifftest",
- "test/hexstr_test",
- "test/hmactest",
- "test/hpke_test",
- "test/http_test",
- "test/ideatest",
- "test/igetest",
- "test/json_test",
- "test/keymgmt_internal_test",
- "test/lhash_test",
- "test/list_test",
- "test/localetest",
- "test/mdc2test",
- "test/membio_test",
- "test/memleaktest",
- "test/ml_dsa_test",
- "test/ml_kem_evp_extra_test",
- "test/ml_kem_internal_test",
- "test/modes_internal_test",
- "test/moduleloadtest",
- "test/namemap_internal_test",
- "test/nodefltctxtest",
- "test/ocspapitest",
- "test/ossl_store_test",
- "test/packettest",
- "test/pairwise_fail_test",
- "test/param_build_test",
- "test/params_api_test",
- "test/params_conversion_test",
- "test/params_test",
- "test/pbelutest",
- "test/pbetest",
- "test/pem_read_depr_test",
- "test/pemtest",
- "test/pkcs12_api_test",
- "test/pkcs12_format_test",
- "test/pkcs7_test",
- "test/pkey_meth_kdf_test",
- "test/pkey_meth_test",
- "test/poly1305_internal_test",
- "test/priority_queue_test",
- "test/property_test",
- "test/prov_config_test",
- "test/provfetchtest",
- "test/provider_default_search_path_test",
- "test/provider_fallback_test",
- "test/provider_internal_test",
- "test/provider_pkey_test",
- "test/provider_status_test",
- "test/provider_test",
- "test/punycode_test",
- "test/quic_ackm_test",
- "test/quic_cc_test",
- "test/quic_cfq_test",
- "test/quic_client_test",
- "test/quic_fc_test",
- "test/quic_fifd_test",
- "test/quic_lcidm_test",
- "test/quic_multistream_test",
- "test/quic_newcid_test",
- "test/quic_qlog_test",
- "test/quic_radix_test",
- "test/quic_rcidm_test",
- "test/quic_record_test",
- "test/quic_srt_gen_test",
- "test/quic_srtm_test",
- "test/quic_stream_test",
- "test/quic_tserver_test",
- "test/quic_txp_test",
- "test/quic_txpim_test",
- "test/quic_wire_test",
- "test/quicapitest",
- "test/quicfaultstest",
- "test/rand_status_test",
- "test/rand_test",
- "test/rc2test",
- "test/rc4test",
- "test/rc5test",
- "test/rdcpu_sanitytest",
- "test/recordlentest",
- "test/rpktest",
- "test/rsa_complex",
- "test/rsa_mp_test",
- "test/rsa_sp800_56b_test",
- "test/rsa_test",
- "test/rsa_x931_test",
- "test/safe_math_test",
- "test/sanitytest",
- "test/secmemtest",
- "test/servername_test",
- "test/sha_test",
- "test/shlibloadtest",
- "test/siphash_internal_test",
- "test/slh_dsa_test",
- "test/sparse_array_test",
- "test/srptest",
- "test/ssl_cert_table_internal_test",
- "test/ssl_ctx_test",
- "test/ssl_handshake_rtt_test",
- "test/ssl_old_test",
- "test/ssl_test",
- "test/ssl_test_ctx_test",
- "test/sslapitest",
- "test/sslbuffertest",
- "test/sslcorrupttest",
- "test/stack_test",
- "test/strtoultest",
- "test/sysdefaulttest",
- "test/test_test",
- "test/threadpool_test",
- "test/threadstest",
- "test/threadstest_fips",
- "test/time_offset_test",
- "test/time_test",
- "test/timing_load_creds",
- "test/tls13ccstest",
- "test/tls13encryptiontest",
- "test/tls13groupselection_test",
- "test/tls13secretstest",
- "test/trace_api_test",
- "test/uitest",
- "test/upcallstest",
- "test/user_property_test",
- "test/v3ext",
- "test/v3nametest",
- "test/verify_extra_test",
- "test/versions",
- "test/wpackettest",
- "test/x509_acert_test",
- "test/x509_check_cert_pkey_test",
- "test/x509_dup_cert_test",
- "test/x509_internal_test",
- "test/x509_load_cert_file_test",
- "test/x509_req_test",
- "test/x509_test",
- "test/x509_time_test",
- "test/x509aux"
- ],
- "scripts" => [
- "apps/CA.pl",
- "apps/tsget.pl",
- "tools/c_rehash",
- "util/shlib_wrap.sh",
- "util/wrap.pl"
- ],
- "shared_sources" => {
- "libcrypto" => [
- "crypto/aes/libcrypto-shlib-aes-x86_64.o",
- "crypto/aes/libcrypto-shlib-aes_cfb.o",
- "crypto/aes/libcrypto-shlib-aes_ecb.o",
- "crypto/aes/libcrypto-shlib-aes_ige.o",
- "crypto/aes/libcrypto-shlib-aes_misc.o",
- "crypto/aes/libcrypto-shlib-aes_ofb.o",
- "crypto/aes/libcrypto-shlib-aes_wrap.o",
- "crypto/aes/libcrypto-shlib-aesni-mb-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-sha1-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-sha256-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-x86_64.o",
- "crypto/aes/libcrypto-shlib-aesni-xts-avx512.o",
- "crypto/aes/libcrypto-shlib-bsaes-x86_64.o",
- "crypto/aes/libcrypto-shlib-vpaes-x86_64.o",
- "crypto/asn1/libcrypto-shlib-a_bitstr.o",
- "crypto/asn1/libcrypto-shlib-a_d2i_fp.o",
- "crypto/asn1/libcrypto-shlib-a_digest.o",
- "crypto/asn1/libcrypto-shlib-a_dup.o",
- "crypto/asn1/libcrypto-shlib-a_gentm.o",
- "crypto/asn1/libcrypto-shlib-a_i2d_fp.o",
- "crypto/asn1/libcrypto-shlib-a_int.o",
- "crypto/asn1/libcrypto-shlib-a_mbstr.o",
- "crypto/asn1/libcrypto-shlib-a_object.o",
- "crypto/asn1/libcrypto-shlib-a_octet.o",
- "crypto/asn1/libcrypto-shlib-a_print.o",
- "crypto/asn1/libcrypto-shlib-a_sign.o",
- "crypto/asn1/libcrypto-shlib-a_strex.o",
- "crypto/asn1/libcrypto-shlib-a_strnid.o",
- "crypto/asn1/libcrypto-shlib-a_time.o",
- "crypto/asn1/libcrypto-shlib-a_type.o",
- "crypto/asn1/libcrypto-shlib-a_utctm.o",
- "crypto/asn1/libcrypto-shlib-a_utf8.o",
- "crypto/asn1/libcrypto-shlib-a_verify.o",
- "crypto/asn1/libcrypto-shlib-ameth_lib.o",
- "crypto/asn1/libcrypto-shlib-asn1_err.o",
- "crypto/asn1/libcrypto-shlib-asn1_gen.o",
- "crypto/asn1/libcrypto-shlib-asn1_item_list.o",
- "crypto/asn1/libcrypto-shlib-asn1_lib.o",
- "crypto/asn1/libcrypto-shlib-asn1_parse.o",
- "crypto/asn1/libcrypto-shlib-asn_mime.o",
- "crypto/asn1/libcrypto-shlib-asn_moid.o",
- "crypto/asn1/libcrypto-shlib-asn_mstbl.o",
- "crypto/asn1/libcrypto-shlib-asn_pack.o",
- "crypto/asn1/libcrypto-shlib-bio_asn1.o",
- "crypto/asn1/libcrypto-shlib-bio_ndef.o",
- "crypto/asn1/libcrypto-shlib-d2i_param.o",
- "crypto/asn1/libcrypto-shlib-d2i_pr.o",
- "crypto/asn1/libcrypto-shlib-d2i_pu.o",
- "crypto/asn1/libcrypto-shlib-evp_asn1.o",
- "crypto/asn1/libcrypto-shlib-f_int.o",
- "crypto/asn1/libcrypto-shlib-f_string.o",
- "crypto/asn1/libcrypto-shlib-i2d_evp.o",
- "crypto/asn1/libcrypto-shlib-n_pkey.o",
- "crypto/asn1/libcrypto-shlib-nsseq.o",
- "crypto/asn1/libcrypto-shlib-p5_pbe.o",
- "crypto/asn1/libcrypto-shlib-p5_pbev2.o",
- "crypto/asn1/libcrypto-shlib-p5_scrypt.o",
- "crypto/asn1/libcrypto-shlib-p8_pkey.o",
- "crypto/asn1/libcrypto-shlib-t_bitst.o",
- "crypto/asn1/libcrypto-shlib-t_pkey.o",
- "crypto/asn1/libcrypto-shlib-t_spki.o",
- "crypto/asn1/libcrypto-shlib-tasn_dec.o",
- "crypto/asn1/libcrypto-shlib-tasn_enc.o",
- "crypto/asn1/libcrypto-shlib-tasn_fre.o",
- "crypto/asn1/libcrypto-shlib-tasn_new.o",
- "crypto/asn1/libcrypto-shlib-tasn_prn.o",
- "crypto/asn1/libcrypto-shlib-tasn_scn.o",
- "crypto/asn1/libcrypto-shlib-tasn_typ.o",
- "crypto/asn1/libcrypto-shlib-tasn_utl.o",
- "crypto/asn1/libcrypto-shlib-x_algor.o",
- "crypto/asn1/libcrypto-shlib-x_bignum.o",
- "crypto/asn1/libcrypto-shlib-x_info.o",
- "crypto/asn1/libcrypto-shlib-x_int64.o",
- "crypto/asn1/libcrypto-shlib-x_long.o",
- "crypto/asn1/libcrypto-shlib-x_pkey.o",
- "crypto/asn1/libcrypto-shlib-x_sig.o",
- "crypto/asn1/libcrypto-shlib-x_spki.o",
- "crypto/asn1/libcrypto-shlib-x_val.o",
- "crypto/async/arch/libcrypto-shlib-async_null.o",
- "crypto/async/arch/libcrypto-shlib-async_posix.o",
- "crypto/async/arch/libcrypto-shlib-async_win.o",
- "crypto/async/libcrypto-shlib-async.o",
- "crypto/async/libcrypto-shlib-async_err.o",
- "crypto/async/libcrypto-shlib-async_wait.o",
- "crypto/bf/libcrypto-shlib-bf_cfb64.o",
- "crypto/bf/libcrypto-shlib-bf_ecb.o",
- "crypto/bf/libcrypto-shlib-bf_enc.o",
- "crypto/bf/libcrypto-shlib-bf_ofb64.o",
- "crypto/bf/libcrypto-shlib-bf_skey.o",
- "crypto/bio/libcrypto-shlib-bf_buff.o",
- "crypto/bio/libcrypto-shlib-bf_lbuf.o",
- "crypto/bio/libcrypto-shlib-bf_nbio.o",
- "crypto/bio/libcrypto-shlib-bf_null.o",
- "crypto/bio/libcrypto-shlib-bf_prefix.o",
- "crypto/bio/libcrypto-shlib-bf_readbuff.o",
- "crypto/bio/libcrypto-shlib-bio_addr.o",
- "crypto/bio/libcrypto-shlib-bio_cb.o",
- "crypto/bio/libcrypto-shlib-bio_dump.o",
- "crypto/bio/libcrypto-shlib-bio_err.o",
- "crypto/bio/libcrypto-shlib-bio_lib.o",
- "crypto/bio/libcrypto-shlib-bio_meth.o",
- "crypto/bio/libcrypto-shlib-bio_print.o",
- "crypto/bio/libcrypto-shlib-bio_sock.o",
- "crypto/bio/libcrypto-shlib-bio_sock2.o",
- "crypto/bio/libcrypto-shlib-bss_acpt.o",
- "crypto/bio/libcrypto-shlib-bss_bio.o",
- "crypto/bio/libcrypto-shlib-bss_conn.o",
- "crypto/bio/libcrypto-shlib-bss_core.o",
- "crypto/bio/libcrypto-shlib-bss_dgram.o",
- "crypto/bio/libcrypto-shlib-bss_dgram_pair.o",
- "crypto/bio/libcrypto-shlib-bss_fd.o",
- "crypto/bio/libcrypto-shlib-bss_file.o",
- "crypto/bio/libcrypto-shlib-bss_log.o",
- "crypto/bio/libcrypto-shlib-bss_mem.o",
- "crypto/bio/libcrypto-shlib-bss_null.o",
- "crypto/bio/libcrypto-shlib-bss_sock.o",
- "crypto/bio/libcrypto-shlib-ossl_core_bio.o",
- "crypto/bn/asm/libcrypto-shlib-x86_64-gcc.o",
- "crypto/bn/libcrypto-shlib-bn_add.o",
- "crypto/bn/libcrypto-shlib-bn_blind.o",
- "crypto/bn/libcrypto-shlib-bn_const.o",
- "crypto/bn/libcrypto-shlib-bn_conv.o",
- "crypto/bn/libcrypto-shlib-bn_ctx.o",
- "crypto/bn/libcrypto-shlib-bn_depr.o",
- "crypto/bn/libcrypto-shlib-bn_dh.o",
- "crypto/bn/libcrypto-shlib-bn_div.o",
- "crypto/bn/libcrypto-shlib-bn_err.o",
- "crypto/bn/libcrypto-shlib-bn_exp.o",
- "crypto/bn/libcrypto-shlib-bn_exp2.o",
- "crypto/bn/libcrypto-shlib-bn_gcd.o",
- "crypto/bn/libcrypto-shlib-bn_gf2m.o",
- "crypto/bn/libcrypto-shlib-bn_intern.o",
- "crypto/bn/libcrypto-shlib-bn_kron.o",
- "crypto/bn/libcrypto-shlib-bn_lib.o",
- "crypto/bn/libcrypto-shlib-bn_mod.o",
- "crypto/bn/libcrypto-shlib-bn_mont.o",
- "crypto/bn/libcrypto-shlib-bn_mpi.o",
- "crypto/bn/libcrypto-shlib-bn_mul.o",
- "crypto/bn/libcrypto-shlib-bn_nist.o",
- "crypto/bn/libcrypto-shlib-bn_prime.o",
- "crypto/bn/libcrypto-shlib-bn_print.o",
- "crypto/bn/libcrypto-shlib-bn_rand.o",
- "crypto/bn/libcrypto-shlib-bn_recp.o",
- "crypto/bn/libcrypto-shlib-bn_rsa_fips186_4.o",
- "crypto/bn/libcrypto-shlib-bn_shift.o",
- "crypto/bn/libcrypto-shlib-bn_sqr.o",
- "crypto/bn/libcrypto-shlib-bn_sqrt.o",
- "crypto/bn/libcrypto-shlib-bn_srp.o",
- "crypto/bn/libcrypto-shlib-bn_word.o",
- "crypto/bn/libcrypto-shlib-bn_x931p.o",
- "crypto/bn/libcrypto-shlib-rsaz-2k-avx512.o",
- "crypto/bn/libcrypto-shlib-rsaz-2k-avxifma.o",
- "crypto/bn/libcrypto-shlib-rsaz-3k-avx512.o",
- "crypto/bn/libcrypto-shlib-rsaz-3k-avxifma.o",
- "crypto/bn/libcrypto-shlib-rsaz-4k-avx512.o",
- "crypto/bn/libcrypto-shlib-rsaz-4k-avxifma.o",
- "crypto/bn/libcrypto-shlib-rsaz-avx2.o",
- "crypto/bn/libcrypto-shlib-rsaz-x86_64.o",
- "crypto/bn/libcrypto-shlib-rsaz_exp.o",
- "crypto/bn/libcrypto-shlib-rsaz_exp_x2.o",
- "crypto/bn/libcrypto-shlib-x86_64-gf2m.o",
- "crypto/bn/libcrypto-shlib-x86_64-mont.o",
- "crypto/bn/libcrypto-shlib-x86_64-mont5.o",
- "crypto/buffer/libcrypto-shlib-buf_err.o",
- "crypto/buffer/libcrypto-shlib-buffer.o",
- "crypto/camellia/libcrypto-shlib-cmll-x86_64.o",
- "crypto/camellia/libcrypto-shlib-cmll_cfb.o",
- "crypto/camellia/libcrypto-shlib-cmll_ctr.o",
- "crypto/camellia/libcrypto-shlib-cmll_ecb.o",
- "crypto/camellia/libcrypto-shlib-cmll_misc.o",
- "crypto/camellia/libcrypto-shlib-cmll_ofb.o",
- "crypto/cast/libcrypto-shlib-c_cfb64.o",
- "crypto/cast/libcrypto-shlib-c_ecb.o",
- "crypto/cast/libcrypto-shlib-c_enc.o",
- "crypto/cast/libcrypto-shlib-c_ofb64.o",
- "crypto/cast/libcrypto-shlib-c_skey.o",
- "crypto/chacha/libcrypto-shlib-chacha-x86_64.o",
- "crypto/cmac/libcrypto-shlib-cmac.o",
- "crypto/cmp/libcrypto-shlib-cmp_asn.o",
- "crypto/cmp/libcrypto-shlib-cmp_client.o",
- "crypto/cmp/libcrypto-shlib-cmp_ctx.o",
- "crypto/cmp/libcrypto-shlib-cmp_err.o",
- "crypto/cmp/libcrypto-shlib-cmp_genm.o",
- "crypto/cmp/libcrypto-shlib-cmp_hdr.o",
- "crypto/cmp/libcrypto-shlib-cmp_http.o",
- "crypto/cmp/libcrypto-shlib-cmp_msg.o",
- "crypto/cmp/libcrypto-shlib-cmp_protect.o",
- "crypto/cmp/libcrypto-shlib-cmp_server.o",
- "crypto/cmp/libcrypto-shlib-cmp_status.o",
- "crypto/cmp/libcrypto-shlib-cmp_util.o",
- "crypto/cmp/libcrypto-shlib-cmp_vfy.o",
- "crypto/cms/libcrypto-shlib-cms_asn1.o",
- "crypto/cms/libcrypto-shlib-cms_att.o",
- "crypto/cms/libcrypto-shlib-cms_cd.o",
- "crypto/cms/libcrypto-shlib-cms_dd.o",
- "crypto/cms/libcrypto-shlib-cms_dh.o",
- "crypto/cms/libcrypto-shlib-cms_ec.o",
- "crypto/cms/libcrypto-shlib-cms_enc.o",
- "crypto/cms/libcrypto-shlib-cms_env.o",
- "crypto/cms/libcrypto-shlib-cms_err.o",
- "crypto/cms/libcrypto-shlib-cms_ess.o",
- "crypto/cms/libcrypto-shlib-cms_io.o",
- "crypto/cms/libcrypto-shlib-cms_kari.o",
- "crypto/cms/libcrypto-shlib-cms_lib.o",
- "crypto/cms/libcrypto-shlib-cms_pwri.o",
- "crypto/cms/libcrypto-shlib-cms_rsa.o",
- "crypto/cms/libcrypto-shlib-cms_sd.o",
- "crypto/cms/libcrypto-shlib-cms_smime.o",
- "crypto/comp/libcrypto-shlib-c_brotli.o",
- "crypto/comp/libcrypto-shlib-c_zlib.o",
- "crypto/comp/libcrypto-shlib-c_zstd.o",
- "crypto/comp/libcrypto-shlib-comp_err.o",
- "crypto/comp/libcrypto-shlib-comp_lib.o",
- "crypto/conf/libcrypto-shlib-conf_api.o",
- "crypto/conf/libcrypto-shlib-conf_def.o",
- "crypto/conf/libcrypto-shlib-conf_err.o",
- "crypto/conf/libcrypto-shlib-conf_lib.o",
- "crypto/conf/libcrypto-shlib-conf_mall.o",
- "crypto/conf/libcrypto-shlib-conf_mod.o",
- "crypto/conf/libcrypto-shlib-conf_sap.o",
- "crypto/conf/libcrypto-shlib-conf_ssl.o",
- "crypto/crmf/libcrypto-shlib-crmf_asn.o",
- "crypto/crmf/libcrypto-shlib-crmf_err.o",
- "crypto/crmf/libcrypto-shlib-crmf_lib.o",
- "crypto/crmf/libcrypto-shlib-crmf_pbm.o",
- "crypto/ct/libcrypto-shlib-ct_b64.o",
- "crypto/ct/libcrypto-shlib-ct_err.o",
- "crypto/ct/libcrypto-shlib-ct_log.o",
- "crypto/ct/libcrypto-shlib-ct_oct.o",
- "crypto/ct/libcrypto-shlib-ct_policy.o",
- "crypto/ct/libcrypto-shlib-ct_prn.o",
- "crypto/ct/libcrypto-shlib-ct_sct.o",
- "crypto/ct/libcrypto-shlib-ct_sct_ctx.o",
- "crypto/ct/libcrypto-shlib-ct_vfy.o",
- "crypto/ct/libcrypto-shlib-ct_x509v3.o",
- "crypto/des/libcrypto-shlib-cbc_cksm.o",
- "crypto/des/libcrypto-shlib-cbc_enc.o",
- "crypto/des/libcrypto-shlib-cfb64ede.o",
- "crypto/des/libcrypto-shlib-cfb64enc.o",
- "crypto/des/libcrypto-shlib-cfb_enc.o",
- "crypto/des/libcrypto-shlib-des_enc.o",
- "crypto/des/libcrypto-shlib-ecb3_enc.o",
- "crypto/des/libcrypto-shlib-ecb_enc.o",
- "crypto/des/libcrypto-shlib-fcrypt.o",
- "crypto/des/libcrypto-shlib-fcrypt_b.o",
- "crypto/des/libcrypto-shlib-ofb64ede.o",
- "crypto/des/libcrypto-shlib-ofb64enc.o",
- "crypto/des/libcrypto-shlib-ofb_enc.o",
- "crypto/des/libcrypto-shlib-pcbc_enc.o",
- "crypto/des/libcrypto-shlib-qud_cksm.o",
- "crypto/des/libcrypto-shlib-rand_key.o",
- "crypto/des/libcrypto-shlib-set_key.o",
- "crypto/des/libcrypto-shlib-str2key.o",
- "crypto/des/libcrypto-shlib-xcbc_enc.o",
- "crypto/dh/libcrypto-shlib-dh_ameth.o",
- "crypto/dh/libcrypto-shlib-dh_asn1.o",
- "crypto/dh/libcrypto-shlib-dh_backend.o",
- "crypto/dh/libcrypto-shlib-dh_check.o",
- "crypto/dh/libcrypto-shlib-dh_depr.o",
- "crypto/dh/libcrypto-shlib-dh_err.o",
- "crypto/dh/libcrypto-shlib-dh_gen.o",
- "crypto/dh/libcrypto-shlib-dh_group_params.o",
- "crypto/dh/libcrypto-shlib-dh_kdf.o",
- "crypto/dh/libcrypto-shlib-dh_key.o",
- "crypto/dh/libcrypto-shlib-dh_lib.o",
- "crypto/dh/libcrypto-shlib-dh_meth.o",
- "crypto/dh/libcrypto-shlib-dh_pmeth.o",
- "crypto/dh/libcrypto-shlib-dh_prn.o",
- "crypto/dh/libcrypto-shlib-dh_rfc5114.o",
- "crypto/dsa/libcrypto-shlib-dsa_ameth.o",
- "crypto/dsa/libcrypto-shlib-dsa_asn1.o",
- "crypto/dsa/libcrypto-shlib-dsa_backend.o",
- "crypto/dsa/libcrypto-shlib-dsa_check.o",
- "crypto/dsa/libcrypto-shlib-dsa_depr.o",
- "crypto/dsa/libcrypto-shlib-dsa_err.o",
- "crypto/dsa/libcrypto-shlib-dsa_gen.o",
- "crypto/dsa/libcrypto-shlib-dsa_key.o",
- "crypto/dsa/libcrypto-shlib-dsa_lib.o",
- "crypto/dsa/libcrypto-shlib-dsa_meth.o",
- "crypto/dsa/libcrypto-shlib-dsa_ossl.o",
- "crypto/dsa/libcrypto-shlib-dsa_pmeth.o",
- "crypto/dsa/libcrypto-shlib-dsa_prn.o",
- "crypto/dsa/libcrypto-shlib-dsa_sign.o",
- "crypto/dsa/libcrypto-shlib-dsa_vrf.o",
- "crypto/dso/libcrypto-shlib-dso_dl.o",
- "crypto/dso/libcrypto-shlib-dso_dlfcn.o",
- "crypto/dso/libcrypto-shlib-dso_err.o",
- "crypto/dso/libcrypto-shlib-dso_lib.o",
- "crypto/dso/libcrypto-shlib-dso_openssl.o",
- "crypto/dso/libcrypto-shlib-dso_vms.o",
- "crypto/dso/libcrypto-shlib-dso_win32.o",
- "crypto/ec/curve448/arch_32/libcrypto-shlib-f_impl32.o",
- "crypto/ec/curve448/arch_64/libcrypto-shlib-f_impl64.o",
- "crypto/ec/curve448/libcrypto-shlib-curve448.o",
- "crypto/ec/curve448/libcrypto-shlib-curve448_tables.o",
- "crypto/ec/curve448/libcrypto-shlib-eddsa.o",
- "crypto/ec/curve448/libcrypto-shlib-f_generic.o",
- "crypto/ec/curve448/libcrypto-shlib-scalar.o",
- "crypto/ec/libcrypto-shlib-curve25519.o",
- "crypto/ec/libcrypto-shlib-ec2_oct.o",
- "crypto/ec/libcrypto-shlib-ec2_smpl.o",
- "crypto/ec/libcrypto-shlib-ec_ameth.o",
- "crypto/ec/libcrypto-shlib-ec_asn1.o",
- "crypto/ec/libcrypto-shlib-ec_backend.o",
- "crypto/ec/libcrypto-shlib-ec_check.o",
- "crypto/ec/libcrypto-shlib-ec_curve.o",
- "crypto/ec/libcrypto-shlib-ec_cvt.o",
- "crypto/ec/libcrypto-shlib-ec_deprecated.o",
- "crypto/ec/libcrypto-shlib-ec_err.o",
- "crypto/ec/libcrypto-shlib-ec_key.o",
- "crypto/ec/libcrypto-shlib-ec_kmeth.o",
- "crypto/ec/libcrypto-shlib-ec_lib.o",
- "crypto/ec/libcrypto-shlib-ec_mult.o",
- "crypto/ec/libcrypto-shlib-ec_oct.o",
- "crypto/ec/libcrypto-shlib-ec_pmeth.o",
- "crypto/ec/libcrypto-shlib-ec_print.o",
- "crypto/ec/libcrypto-shlib-ecdh_kdf.o",
- "crypto/ec/libcrypto-shlib-ecdh_ossl.o",
- "crypto/ec/libcrypto-shlib-ecdsa_ossl.o",
- "crypto/ec/libcrypto-shlib-ecdsa_sign.o",
- "crypto/ec/libcrypto-shlib-ecdsa_vrf.o",
- "crypto/ec/libcrypto-shlib-eck_prn.o",
- "crypto/ec/libcrypto-shlib-ecp_mont.o",
- "crypto/ec/libcrypto-shlib-ecp_nist.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp224.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp256.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp384.o",
- "crypto/ec/libcrypto-shlib-ecp_nistp521.o",
- "crypto/ec/libcrypto-shlib-ecp_nistputil.o",
- "crypto/ec/libcrypto-shlib-ecp_nistz256-x86_64.o",
- "crypto/ec/libcrypto-shlib-ecp_nistz256.o",
- "crypto/ec/libcrypto-shlib-ecp_oct.o",
- "crypto/ec/libcrypto-shlib-ecp_smpl.o",
- "crypto/ec/libcrypto-shlib-ecx_backend.o",
- "crypto/ec/libcrypto-shlib-ecx_key.o",
- "crypto/ec/libcrypto-shlib-ecx_meth.o",
- "crypto/ec/libcrypto-shlib-x25519-x86_64.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_err.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_lib.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_meth.o",
- "crypto/encode_decode/libcrypto-shlib-decoder_pkey.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_err.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_lib.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_meth.o",
- "crypto/encode_decode/libcrypto-shlib-encoder_pkey.o",
- "crypto/engine/libcrypto-shlib-eng_all.o",
- "crypto/engine/libcrypto-shlib-eng_cnf.o",
- "crypto/engine/libcrypto-shlib-eng_ctrl.o",
- "crypto/engine/libcrypto-shlib-eng_dyn.o",
- "crypto/engine/libcrypto-shlib-eng_err.o",
- "crypto/engine/libcrypto-shlib-eng_fat.o",
- "crypto/engine/libcrypto-shlib-eng_init.o",
- "crypto/engine/libcrypto-shlib-eng_lib.o",
- "crypto/engine/libcrypto-shlib-eng_list.o",
- "crypto/engine/libcrypto-shlib-eng_openssl.o",
- "crypto/engine/libcrypto-shlib-eng_pkey.o",
- "crypto/engine/libcrypto-shlib-eng_rdrand.o",
- "crypto/engine/libcrypto-shlib-eng_table.o",
- "crypto/engine/libcrypto-shlib-tb_asnmth.o",
- "crypto/engine/libcrypto-shlib-tb_cipher.o",
- "crypto/engine/libcrypto-shlib-tb_dh.o",
- "crypto/engine/libcrypto-shlib-tb_digest.o",
- "crypto/engine/libcrypto-shlib-tb_dsa.o",
- "crypto/engine/libcrypto-shlib-tb_eckey.o",
- "crypto/engine/libcrypto-shlib-tb_pkmeth.o",
- "crypto/engine/libcrypto-shlib-tb_rand.o",
- "crypto/engine/libcrypto-shlib-tb_rsa.o",
- "crypto/err/libcrypto-shlib-err.o",
- "crypto/err/libcrypto-shlib-err_all.o",
- "crypto/err/libcrypto-shlib-err_all_legacy.o",
- "crypto/err/libcrypto-shlib-err_blocks.o",
- "crypto/err/libcrypto-shlib-err_mark.o",
- "crypto/err/libcrypto-shlib-err_prn.o",
- "crypto/err/libcrypto-shlib-err_save.o",
- "crypto/ess/libcrypto-shlib-ess_asn1.o",
- "crypto/ess/libcrypto-shlib-ess_err.o",
- "crypto/ess/libcrypto-shlib-ess_lib.o",
- "crypto/evp/libcrypto-shlib-asymcipher.o",
- "crypto/evp/libcrypto-shlib-bio_b64.o",
- "crypto/evp/libcrypto-shlib-bio_enc.o",
- "crypto/evp/libcrypto-shlib-bio_md.o",
- "crypto/evp/libcrypto-shlib-bio_ok.o",
- "crypto/evp/libcrypto-shlib-c_allc.o",
- "crypto/evp/libcrypto-shlib-c_alld.o",
- "crypto/evp/libcrypto-shlib-cmeth_lib.o",
- "crypto/evp/libcrypto-shlib-ctrl_params_translate.o",
- "crypto/evp/libcrypto-shlib-dh_ctrl.o",
- "crypto/evp/libcrypto-shlib-dh_support.o",
- "crypto/evp/libcrypto-shlib-digest.o",
- "crypto/evp/libcrypto-shlib-dsa_ctrl.o",
- "crypto/evp/libcrypto-shlib-e_aes.o",
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha1.o",
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha256.o",
- "crypto/evp/libcrypto-shlib-e_aria.o",
- "crypto/evp/libcrypto-shlib-e_bf.o",
- "crypto/evp/libcrypto-shlib-e_camellia.o",
- "crypto/evp/libcrypto-shlib-e_cast.o",
- "crypto/evp/libcrypto-shlib-e_chacha20_poly1305.o",
- "crypto/evp/libcrypto-shlib-e_des.o",
- "crypto/evp/libcrypto-shlib-e_des3.o",
- "crypto/evp/libcrypto-shlib-e_idea.o",
- "crypto/evp/libcrypto-shlib-e_null.o",
- "crypto/evp/libcrypto-shlib-e_old.o",
- "crypto/evp/libcrypto-shlib-e_rc2.o",
- "crypto/evp/libcrypto-shlib-e_rc4.o",
- "crypto/evp/libcrypto-shlib-e_rc4_hmac_md5.o",
- "crypto/evp/libcrypto-shlib-e_rc5.o",
- "crypto/evp/libcrypto-shlib-e_seed.o",
- "crypto/evp/libcrypto-shlib-e_sm4.o",
- "crypto/evp/libcrypto-shlib-e_xcbc_d.o",
- "crypto/evp/libcrypto-shlib-ec_ctrl.o",
- "crypto/evp/libcrypto-shlib-ec_support.o",
- "crypto/evp/libcrypto-shlib-encode.o",
- "crypto/evp/libcrypto-shlib-evp_cnf.o",
- "crypto/evp/libcrypto-shlib-evp_enc.o",
- "crypto/evp/libcrypto-shlib-evp_err.o",
- "crypto/evp/libcrypto-shlib-evp_fetch.o",
- "crypto/evp/libcrypto-shlib-evp_key.o",
- "crypto/evp/libcrypto-shlib-evp_lib.o",
- "crypto/evp/libcrypto-shlib-evp_pbe.o",
- "crypto/evp/libcrypto-shlib-evp_pkey.o",
- "crypto/evp/libcrypto-shlib-evp_rand.o",
- "crypto/evp/libcrypto-shlib-evp_utils.o",
- "crypto/evp/libcrypto-shlib-exchange.o",
- "crypto/evp/libcrypto-shlib-kdf_lib.o",
- "crypto/evp/libcrypto-shlib-kdf_meth.o",
- "crypto/evp/libcrypto-shlib-kem.o",
- "crypto/evp/libcrypto-shlib-keymgmt_lib.o",
- "crypto/evp/libcrypto-shlib-keymgmt_meth.o",
- "crypto/evp/libcrypto-shlib-legacy_blake2.o",
- "crypto/evp/libcrypto-shlib-legacy_md4.o",
- "crypto/evp/libcrypto-shlib-legacy_md5.o",
- "crypto/evp/libcrypto-shlib-legacy_md5_sha1.o",
- "crypto/evp/libcrypto-shlib-legacy_ripemd.o",
- "crypto/evp/libcrypto-shlib-legacy_sha.o",
- "crypto/evp/libcrypto-shlib-legacy_wp.o",
- "crypto/evp/libcrypto-shlib-m_null.o",
- "crypto/evp/libcrypto-shlib-m_sigver.o",
- "crypto/evp/libcrypto-shlib-mac_lib.o",
- "crypto/evp/libcrypto-shlib-mac_meth.o",
- "crypto/evp/libcrypto-shlib-names.o",
- "crypto/evp/libcrypto-shlib-p5_crpt.o",
- "crypto/evp/libcrypto-shlib-p5_crpt2.o",
- "crypto/evp/libcrypto-shlib-p_dec.o",
- "crypto/evp/libcrypto-shlib-p_enc.o",
- "crypto/evp/libcrypto-shlib-p_legacy.o",
- "crypto/evp/libcrypto-shlib-p_lib.o",
- "crypto/evp/libcrypto-shlib-p_open.o",
- "crypto/evp/libcrypto-shlib-p_seal.o",
- "crypto/evp/libcrypto-shlib-p_sign.o",
- "crypto/evp/libcrypto-shlib-p_verify.o",
- "crypto/evp/libcrypto-shlib-pbe_scrypt.o",
- "crypto/evp/libcrypto-shlib-pmeth_check.o",
- "crypto/evp/libcrypto-shlib-pmeth_gn.o",
- "crypto/evp/libcrypto-shlib-pmeth_lib.o",
- "crypto/evp/libcrypto-shlib-s_lib.o",
- "crypto/evp/libcrypto-shlib-signature.o",
- "crypto/evp/libcrypto-shlib-skeymgmt_meth.o",
- "crypto/ffc/libcrypto-shlib-ffc_backend.o",
- "crypto/ffc/libcrypto-shlib-ffc_dh.o",
- "crypto/ffc/libcrypto-shlib-ffc_key_generate.o",
- "crypto/ffc/libcrypto-shlib-ffc_key_validate.o",
- "crypto/ffc/libcrypto-shlib-ffc_params.o",
- "crypto/ffc/libcrypto-shlib-ffc_params_generate.o",
- "crypto/ffc/libcrypto-shlib-ffc_params_validate.o",
- "crypto/hashtable/libcrypto-shlib-hashfunc.o",
- "crypto/hashtable/libcrypto-shlib-hashtable.o",
- "crypto/hmac/libcrypto-shlib-hmac.o",
- "crypto/hpke/libcrypto-shlib-hpke.o",
- "crypto/hpke/libcrypto-shlib-hpke_util.o",
- "crypto/http/libcrypto-shlib-http_client.o",
- "crypto/http/libcrypto-shlib-http_err.o",
- "crypto/http/libcrypto-shlib-http_lib.o",
- "crypto/kdf/libcrypto-shlib-kdf_err.o",
- "crypto/lhash/libcrypto-shlib-lh_stats.o",
- "crypto/lhash/libcrypto-shlib-lhash.o",
- "crypto/libcrypto-shlib-asn1_dsa.o",
- "crypto/libcrypto-shlib-bsearch.o",
- "crypto/libcrypto-shlib-comp_methods.o",
- "crypto/libcrypto-shlib-context.o",
- "crypto/libcrypto-shlib-core_algorithm.o",
- "crypto/libcrypto-shlib-core_fetch.o",
- "crypto/libcrypto-shlib-core_namemap.o",
- "crypto/libcrypto-shlib-cpt_err.o",
- "crypto/libcrypto-shlib-cpuid.o",
- "crypto/libcrypto-shlib-cryptlib.o",
- "crypto/libcrypto-shlib-ctype.o",
- "crypto/libcrypto-shlib-cversion.o",
- "crypto/libcrypto-shlib-defaults.o",
- "crypto/libcrypto-shlib-der_writer.o",
- "crypto/libcrypto-shlib-deterministic_nonce.o",
- "crypto/libcrypto-shlib-ebcdic.o",
- "crypto/libcrypto-shlib-ex_data.o",
- "crypto/libcrypto-shlib-getenv.o",
- "crypto/libcrypto-shlib-indicator_core.o",
- "crypto/libcrypto-shlib-info.o",
- "crypto/libcrypto-shlib-init.o",
- "crypto/libcrypto-shlib-initthread.o",
- "crypto/libcrypto-shlib-mem.o",
- "crypto/libcrypto-shlib-mem_sec.o",
- "crypto/libcrypto-shlib-o_dir.o",
- "crypto/libcrypto-shlib-o_fopen.o",
- "crypto/libcrypto-shlib-o_init.o",
- "crypto/libcrypto-shlib-o_str.o",
- "crypto/libcrypto-shlib-o_time.o",
- "crypto/libcrypto-shlib-packet.o",
- "crypto/libcrypto-shlib-param_build.o",
- "crypto/libcrypto-shlib-param_build_set.o",
- "crypto/libcrypto-shlib-params.o",
- "crypto/libcrypto-shlib-params_dup.o",
- "crypto/libcrypto-shlib-params_from_text.o",
- "crypto/libcrypto-shlib-params_idx.o",
- "crypto/libcrypto-shlib-passphrase.o",
- "crypto/libcrypto-shlib-provider.o",
- "crypto/libcrypto-shlib-provider_child.o",
- "crypto/libcrypto-shlib-provider_conf.o",
- "crypto/libcrypto-shlib-provider_core.o",
- "crypto/libcrypto-shlib-provider_predefined.o",
- "crypto/libcrypto-shlib-punycode.o",
- "crypto/libcrypto-shlib-quic_vlint.o",
- "crypto/libcrypto-shlib-self_test_core.o",
- "crypto/libcrypto-shlib-sleep.o",
- "crypto/libcrypto-shlib-sparse_array.o",
- "crypto/libcrypto-shlib-ssl_err.o",
- "crypto/libcrypto-shlib-threads_lib.o",
- "crypto/libcrypto-shlib-threads_none.o",
- "crypto/libcrypto-shlib-threads_pthread.o",
- "crypto/libcrypto-shlib-threads_win.o",
- "crypto/libcrypto-shlib-time.o",
- "crypto/libcrypto-shlib-trace.o",
- "crypto/libcrypto-shlib-uid.o",
- "crypto/libcrypto-shlib-x86_64cpuid.o",
- "crypto/md4/libcrypto-shlib-md4_dgst.o",
- "crypto/md4/libcrypto-shlib-md4_one.o",
- "crypto/md5/libcrypto-shlib-md5-x86_64.o",
- "crypto/md5/libcrypto-shlib-md5_dgst.o",
- "crypto/md5/libcrypto-shlib-md5_one.o",
- "crypto/md5/libcrypto-shlib-md5_sha1.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_encoders.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_key.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_key_compress.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_matrix.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_ntt.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_params.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sample.o",
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sign.o",
- "crypto/ml_kem/libcrypto-shlib-ml_kem.o",
- "crypto/modes/libcrypto-shlib-aes-gcm-avx512.o",
- "crypto/modes/libcrypto-shlib-aesni-gcm-x86_64.o",
- "crypto/modes/libcrypto-shlib-cbc128.o",
- "crypto/modes/libcrypto-shlib-ccm128.o",
- "crypto/modes/libcrypto-shlib-cfb128.o",
- "crypto/modes/libcrypto-shlib-ctr128.o",
- "crypto/modes/libcrypto-shlib-cts128.o",
- "crypto/modes/libcrypto-shlib-gcm128.o",
- "crypto/modes/libcrypto-shlib-ghash-x86_64.o",
- "crypto/modes/libcrypto-shlib-ocb128.o",
- "crypto/modes/libcrypto-shlib-ofb128.o",
- "crypto/modes/libcrypto-shlib-siv128.o",
- "crypto/modes/libcrypto-shlib-wrap128.o",
- "crypto/modes/libcrypto-shlib-xts128.o",
- "crypto/modes/libcrypto-shlib-xts128gb.o",
- "crypto/objects/libcrypto-shlib-o_names.o",
- "crypto/objects/libcrypto-shlib-obj_dat.o",
- "crypto/objects/libcrypto-shlib-obj_err.o",
- "crypto/objects/libcrypto-shlib-obj_lib.o",
- "crypto/objects/libcrypto-shlib-obj_xref.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_asn.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_cl.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_err.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_ext.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_http.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_lib.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_prn.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_srv.o",
- "crypto/ocsp/libcrypto-shlib-ocsp_vfy.o",
- "crypto/ocsp/libcrypto-shlib-v3_ocsp.o",
- "crypto/pem/libcrypto-shlib-pem_all.o",
- "crypto/pem/libcrypto-shlib-pem_err.o",
- "crypto/pem/libcrypto-shlib-pem_info.o",
- "crypto/pem/libcrypto-shlib-pem_lib.o",
- "crypto/pem/libcrypto-shlib-pem_oth.o",
- "crypto/pem/libcrypto-shlib-pem_pk8.o",
- "crypto/pem/libcrypto-shlib-pem_pkey.o",
- "crypto/pem/libcrypto-shlib-pem_sign.o",
- "crypto/pem/libcrypto-shlib-pem_x509.o",
- "crypto/pem/libcrypto-shlib-pem_xaux.o",
- "crypto/pem/libcrypto-shlib-pvkfmt.o",
- "crypto/pkcs12/libcrypto-shlib-p12_add.o",
- "crypto/pkcs12/libcrypto-shlib-p12_asn.o",
- "crypto/pkcs12/libcrypto-shlib-p12_attr.o",
- "crypto/pkcs12/libcrypto-shlib-p12_crpt.o",
- "crypto/pkcs12/libcrypto-shlib-p12_crt.o",
- "crypto/pkcs12/libcrypto-shlib-p12_decr.o",
- "crypto/pkcs12/libcrypto-shlib-p12_init.o",
- "crypto/pkcs12/libcrypto-shlib-p12_key.o",
- "crypto/pkcs12/libcrypto-shlib-p12_kiss.o",
- "crypto/pkcs12/libcrypto-shlib-p12_mutl.o",
- "crypto/pkcs12/libcrypto-shlib-p12_npas.o",
- "crypto/pkcs12/libcrypto-shlib-p12_p8d.o",
- "crypto/pkcs12/libcrypto-shlib-p12_p8e.o",
- "crypto/pkcs12/libcrypto-shlib-p12_sbag.o",
- "crypto/pkcs12/libcrypto-shlib-p12_utl.o",
- "crypto/pkcs12/libcrypto-shlib-pk12err.o",
- "crypto/pkcs7/libcrypto-shlib-bio_pk7.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_asn1.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_attr.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_doit.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_lib.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_mime.o",
- "crypto/pkcs7/libcrypto-shlib-pk7_smime.o",
- "crypto/pkcs7/libcrypto-shlib-pkcs7err.o",
- "crypto/poly1305/libcrypto-shlib-poly1305-x86_64.o",
- "crypto/poly1305/libcrypto-shlib-poly1305.o",
- "crypto/property/libcrypto-shlib-defn_cache.o",
- "crypto/property/libcrypto-shlib-property.o",
- "crypto/property/libcrypto-shlib-property_err.o",
- "crypto/property/libcrypto-shlib-property_parse.o",
- "crypto/property/libcrypto-shlib-property_query.o",
- "crypto/property/libcrypto-shlib-property_string.o",
- "crypto/rand/libcrypto-shlib-prov_seed.o",
- "crypto/rand/libcrypto-shlib-rand_deprecated.o",
- "crypto/rand/libcrypto-shlib-rand_err.o",
- "crypto/rand/libcrypto-shlib-rand_lib.o",
- "crypto/rand/libcrypto-shlib-rand_meth.o",
- "crypto/rand/libcrypto-shlib-rand_pool.o",
- "crypto/rand/libcrypto-shlib-rand_uniform.o",
- "crypto/rand/libcrypto-shlib-randfile.o",
- "crypto/rc2/libcrypto-shlib-rc2_cbc.o",
- "crypto/rc2/libcrypto-shlib-rc2_ecb.o",
- "crypto/rc2/libcrypto-shlib-rc2_skey.o",
- "crypto/rc2/libcrypto-shlib-rc2cfb64.o",
- "crypto/rc2/libcrypto-shlib-rc2ofb64.o",
- "crypto/rc4/libcrypto-shlib-rc4-md5-x86_64.o",
- "crypto/rc4/libcrypto-shlib-rc4-x86_64.o",
- "crypto/ripemd/libcrypto-shlib-rmd_dgst.o",
- "crypto/ripemd/libcrypto-shlib-rmd_one.o",
- "crypto/rsa/libcrypto-shlib-rsa_ameth.o",
- "crypto/rsa/libcrypto-shlib-rsa_asn1.o",
- "crypto/rsa/libcrypto-shlib-rsa_backend.o",
- "crypto/rsa/libcrypto-shlib-rsa_chk.o",
- "crypto/rsa/libcrypto-shlib-rsa_crpt.o",
- "crypto/rsa/libcrypto-shlib-rsa_depr.o",
- "crypto/rsa/libcrypto-shlib-rsa_err.o",
- "crypto/rsa/libcrypto-shlib-rsa_gen.o",
- "crypto/rsa/libcrypto-shlib-rsa_lib.o",
- "crypto/rsa/libcrypto-shlib-rsa_meth.o",
- "crypto/rsa/libcrypto-shlib-rsa_mp.o",
- "crypto/rsa/libcrypto-shlib-rsa_mp_names.o",
- "crypto/rsa/libcrypto-shlib-rsa_none.o",
- "crypto/rsa/libcrypto-shlib-rsa_oaep.o",
- "crypto/rsa/libcrypto-shlib-rsa_ossl.o",
- "crypto/rsa/libcrypto-shlib-rsa_pk1.o",
- "crypto/rsa/libcrypto-shlib-rsa_pmeth.o",
- "crypto/rsa/libcrypto-shlib-rsa_prn.o",
- "crypto/rsa/libcrypto-shlib-rsa_pss.o",
- "crypto/rsa/libcrypto-shlib-rsa_saos.o",
- "crypto/rsa/libcrypto-shlib-rsa_schemes.o",
- "crypto/rsa/libcrypto-shlib-rsa_sign.o",
- "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_check.o",
- "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_gen.o",
- "crypto/rsa/libcrypto-shlib-rsa_x931.o",
- "crypto/rsa/libcrypto-shlib-rsa_x931g.o",
- "crypto/seed/libcrypto-shlib-seed.o",
- "crypto/seed/libcrypto-shlib-seed_cbc.o",
- "crypto/seed/libcrypto-shlib-seed_cfb.o",
- "crypto/seed/libcrypto-shlib-seed_ecb.o",
- "crypto/seed/libcrypto-shlib-seed_ofb.o",
- "crypto/sha/libcrypto-shlib-keccak1600-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha1-mb-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha1-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha1_one.o",
- "crypto/sha/libcrypto-shlib-sha1dgst.o",
- "crypto/sha/libcrypto-shlib-sha256-mb-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha256-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha256.o",
- "crypto/sha/libcrypto-shlib-sha3.o",
- "crypto/sha/libcrypto-shlib-sha512-x86_64.o",
- "crypto/sha/libcrypto-shlib-sha512.o",
- "crypto/siphash/libcrypto-shlib-siphash.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_adrs.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa_hash_ctx.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa_key.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_fors.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_hash.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_hypertree.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_params.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_wots.o",
- "crypto/slh_dsa/libcrypto-shlib-slh_xmss.o",
- "crypto/srp/libcrypto-shlib-srp_lib.o",
- "crypto/srp/libcrypto-shlib-srp_vfy.o",
- "crypto/stack/libcrypto-shlib-stack.o",
- "crypto/store/libcrypto-shlib-store_err.o",
- "crypto/store/libcrypto-shlib-store_init.o",
- "crypto/store/libcrypto-shlib-store_lib.o",
- "crypto/store/libcrypto-shlib-store_meth.o",
- "crypto/store/libcrypto-shlib-store_register.o",
- "crypto/store/libcrypto-shlib-store_result.o",
- "crypto/store/libcrypto-shlib-store_strings.o",
- "crypto/thread/arch/libcrypto-shlib-thread_none.o",
- "crypto/thread/arch/libcrypto-shlib-thread_posix.o",
- "crypto/thread/arch/libcrypto-shlib-thread_win.o",
- "crypto/thread/libcrypto-shlib-api.o",
- "crypto/thread/libcrypto-shlib-arch.o",
- "crypto/thread/libcrypto-shlib-internal.o",
- "crypto/ts/libcrypto-shlib-ts_asn1.o",
- "crypto/ts/libcrypto-shlib-ts_conf.o",
- "crypto/ts/libcrypto-shlib-ts_err.o",
- "crypto/ts/libcrypto-shlib-ts_lib.o",
- "crypto/ts/libcrypto-shlib-ts_req_print.o",
- "crypto/ts/libcrypto-shlib-ts_req_utils.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_print.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_sign.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_utils.o",
- "crypto/ts/libcrypto-shlib-ts_rsp_verify.o",
- "crypto/ts/libcrypto-shlib-ts_verify_ctx.o",
- "crypto/txt_db/libcrypto-shlib-txt_db.o",
- "crypto/ui/libcrypto-shlib-ui_err.o",
- "crypto/ui/libcrypto-shlib-ui_lib.o",
- "crypto/ui/libcrypto-shlib-ui_null.o",
- "crypto/ui/libcrypto-shlib-ui_openssl.o",
- "crypto/ui/libcrypto-shlib-ui_util.o",
- "crypto/whrlpool/libcrypto-shlib-wp-x86_64.o",
- "crypto/whrlpool/libcrypto-shlib-wp_dgst.o",
- "crypto/x509/libcrypto-shlib-by_dir.o",
- "crypto/x509/libcrypto-shlib-by_file.o",
- "crypto/x509/libcrypto-shlib-by_store.o",
- "crypto/x509/libcrypto-shlib-pcy_cache.o",
- "crypto/x509/libcrypto-shlib-pcy_data.o",
- "crypto/x509/libcrypto-shlib-pcy_lib.o",
- "crypto/x509/libcrypto-shlib-pcy_map.o",
- "crypto/x509/libcrypto-shlib-pcy_node.o",
- "crypto/x509/libcrypto-shlib-pcy_tree.o",
- "crypto/x509/libcrypto-shlib-t_acert.o",
- "crypto/x509/libcrypto-shlib-t_crl.o",
- "crypto/x509/libcrypto-shlib-t_req.o",
- "crypto/x509/libcrypto-shlib-t_x509.o",
- "crypto/x509/libcrypto-shlib-v3_aaa.o",
- "crypto/x509/libcrypto-shlib-v3_ac_tgt.o",
- "crypto/x509/libcrypto-shlib-v3_addr.o",
- "crypto/x509/libcrypto-shlib-v3_admis.o",
- "crypto/x509/libcrypto-shlib-v3_akeya.o",
- "crypto/x509/libcrypto-shlib-v3_akid.o",
- "crypto/x509/libcrypto-shlib-v3_asid.o",
- "crypto/x509/libcrypto-shlib-v3_attrdesc.o",
- "crypto/x509/libcrypto-shlib-v3_attrmap.o",
- "crypto/x509/libcrypto-shlib-v3_audit_id.o",
- "crypto/x509/libcrypto-shlib-v3_authattid.o",
- "crypto/x509/libcrypto-shlib-v3_battcons.o",
- "crypto/x509/libcrypto-shlib-v3_bcons.o",
- "crypto/x509/libcrypto-shlib-v3_bitst.o",
- "crypto/x509/libcrypto-shlib-v3_conf.o",
- "crypto/x509/libcrypto-shlib-v3_cpols.o",
- "crypto/x509/libcrypto-shlib-v3_crld.o",
- "crypto/x509/libcrypto-shlib-v3_enum.o",
- "crypto/x509/libcrypto-shlib-v3_extku.o",
- "crypto/x509/libcrypto-shlib-v3_genn.o",
- "crypto/x509/libcrypto-shlib-v3_group_ac.o",
- "crypto/x509/libcrypto-shlib-v3_ia5.o",
- "crypto/x509/libcrypto-shlib-v3_ind_iss.o",
- "crypto/x509/libcrypto-shlib-v3_info.o",
- "crypto/x509/libcrypto-shlib-v3_int.o",
- "crypto/x509/libcrypto-shlib-v3_iobo.o",
- "crypto/x509/libcrypto-shlib-v3_ist.o",
- "crypto/x509/libcrypto-shlib-v3_lib.o",
- "crypto/x509/libcrypto-shlib-v3_ncons.o",
- "crypto/x509/libcrypto-shlib-v3_no_ass.o",
- "crypto/x509/libcrypto-shlib-v3_no_rev_avail.o",
- "crypto/x509/libcrypto-shlib-v3_pci.o",
- "crypto/x509/libcrypto-shlib-v3_pcia.o",
- "crypto/x509/libcrypto-shlib-v3_pcons.o",
- "crypto/x509/libcrypto-shlib-v3_pku.o",
- "crypto/x509/libcrypto-shlib-v3_pmaps.o",
- "crypto/x509/libcrypto-shlib-v3_prn.o",
- "crypto/x509/libcrypto-shlib-v3_purp.o",
- "crypto/x509/libcrypto-shlib-v3_rolespec.o",
- "crypto/x509/libcrypto-shlib-v3_san.o",
- "crypto/x509/libcrypto-shlib-v3_sda.o",
- "crypto/x509/libcrypto-shlib-v3_single_use.o",
- "crypto/x509/libcrypto-shlib-v3_skid.o",
- "crypto/x509/libcrypto-shlib-v3_soa_id.o",
- "crypto/x509/libcrypto-shlib-v3_sxnet.o",
- "crypto/x509/libcrypto-shlib-v3_timespec.o",
- "crypto/x509/libcrypto-shlib-v3_tlsf.o",
- "crypto/x509/libcrypto-shlib-v3_usernotice.o",
- "crypto/x509/libcrypto-shlib-v3_utf8.o",
- "crypto/x509/libcrypto-shlib-v3_utl.o",
- "crypto/x509/libcrypto-shlib-v3err.o",
- "crypto/x509/libcrypto-shlib-x509_acert.o",
- "crypto/x509/libcrypto-shlib-x509_att.o",
- "crypto/x509/libcrypto-shlib-x509_cmp.o",
- "crypto/x509/libcrypto-shlib-x509_d2.o",
- "crypto/x509/libcrypto-shlib-x509_def.o",
- "crypto/x509/libcrypto-shlib-x509_err.o",
- "crypto/x509/libcrypto-shlib-x509_ext.o",
- "crypto/x509/libcrypto-shlib-x509_lu.o",
- "crypto/x509/libcrypto-shlib-x509_meth.o",
- "crypto/x509/libcrypto-shlib-x509_obj.o",
- "crypto/x509/libcrypto-shlib-x509_r2x.o",
- "crypto/x509/libcrypto-shlib-x509_req.o",
- "crypto/x509/libcrypto-shlib-x509_set.o",
- "crypto/x509/libcrypto-shlib-x509_trust.o",
- "crypto/x509/libcrypto-shlib-x509_txt.o",
- "crypto/x509/libcrypto-shlib-x509_v3.o",
- "crypto/x509/libcrypto-shlib-x509_vfy.o",
- "crypto/x509/libcrypto-shlib-x509_vpm.o",
- "crypto/x509/libcrypto-shlib-x509aset.o",
- "crypto/x509/libcrypto-shlib-x509cset.o",
- "crypto/x509/libcrypto-shlib-x509name.o",
- "crypto/x509/libcrypto-shlib-x509rset.o",
- "crypto/x509/libcrypto-shlib-x509spki.o",
- "crypto/x509/libcrypto-shlib-x509type.o",
- "crypto/x509/libcrypto-shlib-x_all.o",
- "crypto/x509/libcrypto-shlib-x_attrib.o",
- "crypto/x509/libcrypto-shlib-x_crl.o",
- "crypto/x509/libcrypto-shlib-x_exten.o",
- "crypto/x509/libcrypto-shlib-x_ietfatt.o",
- "crypto/x509/libcrypto-shlib-x_name.o",
- "crypto/x509/libcrypto-shlib-x_pubkey.o",
- "crypto/x509/libcrypto-shlib-x_req.o",
- "crypto/x509/libcrypto-shlib-x_x509.o",
- "crypto/x509/libcrypto-shlib-x_x509a.o",
- "libcrypto.ld",
- "providers/libcrypto-shlib-baseprov.o",
- "providers/libcrypto-shlib-defltprov.o",
- "providers/libcrypto-shlib-nullprov.o",
- "providers/libcrypto-shlib-prov_running.o",
- "providers/libdefault.a"
- ],
- "libssl" => [
- "crypto/hashtable/libssl-shlib-hashfunc.o",
- "crypto/libssl-shlib-ctype.o",
- "crypto/libssl-shlib-getenv.o",
- "crypto/libssl-shlib-packet.o",
- "crypto/libssl-shlib-quic_vlint.o",
- "crypto/libssl-shlib-time.o",
- "crypto/siphash/libssl-shlib-siphash.o",
- "crypto/thread/arch/libssl-shlib-thread_none.o",
- "crypto/thread/arch/libssl-shlib-thread_posix.o",
- "crypto/thread/arch/libssl-shlib-thread_win.o",
- "crypto/thread/libssl-shlib-arch.o",
- "libssl.ld",
- "ssl/libssl-shlib-bio_ssl.o",
- "ssl/libssl-shlib-d1_lib.o",
- "ssl/libssl-shlib-d1_msg.o",
- "ssl/libssl-shlib-d1_srtp.o",
- "ssl/libssl-shlib-methods.o",
- "ssl/libssl-shlib-pqueue.o",
- "ssl/libssl-shlib-priority_queue.o",
- "ssl/libssl-shlib-s3_enc.o",
- "ssl/libssl-shlib-s3_lib.o",
- "ssl/libssl-shlib-s3_msg.o",
- "ssl/libssl-shlib-ssl_asn1.o",
- "ssl/libssl-shlib-ssl_cert.o",
- "ssl/libssl-shlib-ssl_cert_comp.o",
- "ssl/libssl-shlib-ssl_ciph.o",
- "ssl/libssl-shlib-ssl_conf.o",
- "ssl/libssl-shlib-ssl_err_legacy.o",
- "ssl/libssl-shlib-ssl_init.o",
- "ssl/libssl-shlib-ssl_lib.o",
- "ssl/libssl-shlib-ssl_mcnf.o",
- "ssl/libssl-shlib-ssl_rsa.o",
- "ssl/libssl-shlib-ssl_rsa_legacy.o",
- "ssl/libssl-shlib-ssl_sess.o",
- "ssl/libssl-shlib-ssl_stat.o",
- "ssl/libssl-shlib-ssl_txt.o",
- "ssl/libssl-shlib-ssl_utst.o",
- "ssl/libssl-shlib-t1_enc.o",
- "ssl/libssl-shlib-t1_lib.o",
- "ssl/libssl-shlib-t1_trce.o",
- "ssl/libssl-shlib-tls13_enc.o",
- "ssl/libssl-shlib-tls_depr.o",
- "ssl/libssl-shlib-tls_srp.o",
- "ssl/quic/libssl-shlib-cc_newreno.o",
- "ssl/quic/libssl-shlib-json_enc.o",
- "ssl/quic/libssl-shlib-qlog.o",
- "ssl/quic/libssl-shlib-qlog_event_helpers.o",
- "ssl/quic/libssl-shlib-quic_ackm.o",
- "ssl/quic/libssl-shlib-quic_cfq.o",
- "ssl/quic/libssl-shlib-quic_channel.o",
- "ssl/quic/libssl-shlib-quic_demux.o",
- "ssl/quic/libssl-shlib-quic_engine.o",
- "ssl/quic/libssl-shlib-quic_fc.o",
- "ssl/quic/libssl-shlib-quic_fifd.o",
- "ssl/quic/libssl-shlib-quic_impl.o",
- "ssl/quic/libssl-shlib-quic_lcidm.o",
- "ssl/quic/libssl-shlib-quic_method.o",
- "ssl/quic/libssl-shlib-quic_obj.o",
- "ssl/quic/libssl-shlib-quic_port.o",
- "ssl/quic/libssl-shlib-quic_rcidm.o",
- "ssl/quic/libssl-shlib-quic_reactor.o",
- "ssl/quic/libssl-shlib-quic_reactor_wait_ctx.o",
- "ssl/quic/libssl-shlib-quic_record_rx.o",
- "ssl/quic/libssl-shlib-quic_record_shared.o",
- "ssl/quic/libssl-shlib-quic_record_tx.o",
- "ssl/quic/libssl-shlib-quic_record_util.o",
- "ssl/quic/libssl-shlib-quic_rstream.o",
- "ssl/quic/libssl-shlib-quic_rx_depack.o",
- "ssl/quic/libssl-shlib-quic_sf_list.o",
- "ssl/quic/libssl-shlib-quic_srt_gen.o",
- "ssl/quic/libssl-shlib-quic_srtm.o",
- "ssl/quic/libssl-shlib-quic_sstream.o",
- "ssl/quic/libssl-shlib-quic_statm.o",
- "ssl/quic/libssl-shlib-quic_stream_map.o",
- "ssl/quic/libssl-shlib-quic_thread_assist.o",
- "ssl/quic/libssl-shlib-quic_tls.o",
- "ssl/quic/libssl-shlib-quic_tls_api.o",
- "ssl/quic/libssl-shlib-quic_trace.o",
- "ssl/quic/libssl-shlib-quic_tserver.o",
- "ssl/quic/libssl-shlib-quic_txp.o",
- "ssl/quic/libssl-shlib-quic_txpim.o",
- "ssl/quic/libssl-shlib-quic_types.o",
- "ssl/quic/libssl-shlib-quic_wire.o",
- "ssl/quic/libssl-shlib-quic_wire_pkt.o",
- "ssl/quic/libssl-shlib-uint_set.o",
- "ssl/record/libssl-shlib-rec_layer_d1.o",
- "ssl/record/libssl-shlib-rec_layer_s3.o",
- "ssl/record/methods/libssl-shlib-dtls_meth.o",
- "ssl/record/methods/libssl-shlib-ktls_meth.o",
- "ssl/record/methods/libssl-shlib-ssl3_cbc.o",
- "ssl/record/methods/libssl-shlib-ssl3_meth.o",
- "ssl/record/methods/libssl-shlib-tls13_meth.o",
- "ssl/record/methods/libssl-shlib-tls1_meth.o",
- "ssl/record/methods/libssl-shlib-tls_common.o",
- "ssl/record/methods/libssl-shlib-tls_multib.o",
- "ssl/record/methods/libssl-shlib-tls_pad.o",
- "ssl/record/methods/libssl-shlib-tlsany_meth.o",
- "ssl/rio/libssl-shlib-poll_builder.o",
- "ssl/rio/libssl-shlib-poll_immediate.o",
- "ssl/rio/libssl-shlib-rio_notifier.o",
- "ssl/statem/libssl-shlib-extensions.o",
- "ssl/statem/libssl-shlib-extensions_clnt.o",
- "ssl/statem/libssl-shlib-extensions_cust.o",
- "ssl/statem/libssl-shlib-extensions_srvr.o",
- "ssl/statem/libssl-shlib-statem.o",
- "ssl/statem/libssl-shlib-statem_clnt.o",
- "ssl/statem/libssl-shlib-statem_dtls.o",
- "ssl/statem/libssl-shlib-statem_lib.o",
- "ssl/statem/libssl-shlib-statem_srvr.o"
- ]
- },
- "sources" => {
- "apps/CA.pl" => [
- "apps/CA.pl.in"
- ],
- "apps/ca_internals_test-bin-ca.o" => [
- "apps/ca.c"
- ],
- "apps/lib/ca_internals_test-bin-app_libctx.o" => [
- "apps/lib/app_libctx.c"
- ],
- "apps/lib/ca_internals_test-bin-app_provider.o" => [
- "apps/lib/app_provider.c"
- ],
- "apps/lib/ca_internals_test-bin-app_rand.o" => [
- "apps/lib/app_rand.c"
- ],
- "apps/lib/ca_internals_test-bin-app_x509.o" => [
- "apps/lib/app_x509.c"
- ],
- "apps/lib/ca_internals_test-bin-apps.o" => [
- "apps/lib/apps.c"
- ],
- "apps/lib/ca_internals_test-bin-apps_ui.o" => [
- "apps/lib/apps_ui.c"
- ],
- "apps/lib/ca_internals_test-bin-engine.o" => [
- "apps/lib/engine.c"
- ],
- "apps/lib/ca_internals_test-bin-fmt.o" => [
- "apps/lib/fmt.c"
- ],
- "apps/lib/cmp_client_test-bin-cmp_mock_srv.o" => [
- "apps/lib/cmp_mock_srv.c"
- ],
- "apps/lib/libapps-lib-app_libctx.o" => [
- "apps/lib/app_libctx.c"
- ],
- "apps/lib/libapps-lib-app_params.o" => [
- "apps/lib/app_params.c"
- ],
- "apps/lib/libapps-lib-app_provider.o" => [
- "apps/lib/app_provider.c"
- ],
- "apps/lib/libapps-lib-app_rand.o" => [
- "apps/lib/app_rand.c"
- ],
- "apps/lib/libapps-lib-app_x509.o" => [
- "apps/lib/app_x509.c"
- ],
- "apps/lib/libapps-lib-apps.o" => [
- "apps/lib/apps.c"
- ],
- "apps/lib/libapps-lib-apps_opt_printf.o" => [
- "apps/lib/apps_opt_printf.c"
- ],
- "apps/lib/libapps-lib-apps_ui.o" => [
- "apps/lib/apps_ui.c"
- ],
- "apps/lib/libapps-lib-columns.o" => [
- "apps/lib/columns.c"
- ],
- "apps/lib/libapps-lib-engine.o" => [
- "apps/lib/engine.c"
- ],
- "apps/lib/libapps-lib-engine_loader.o" => [
- "apps/lib/engine_loader.c"
- ],
- "apps/lib/libapps-lib-fmt.o" => [
- "apps/lib/fmt.c"
- ],
- "apps/lib/libapps-lib-http_server.o" => [
- "apps/lib/http_server.c"
- ],
- "apps/lib/libapps-lib-log.o" => [
- "apps/lib/log.c"
- ],
- "apps/lib/libapps-lib-names.o" => [
- "apps/lib/names.c"
- ],
- "apps/lib/libapps-lib-opt.o" => [
- "apps/lib/opt.c"
- ],
- "apps/lib/libapps-lib-s_cb.o" => [
- "apps/lib/s_cb.c"
- ],
- "apps/lib/libapps-lib-s_socket.o" => [
- "apps/lib/s_socket.c"
- ],
- "apps/lib/libapps-lib-tlssrp_depr.o" => [
- "apps/lib/tlssrp_depr.c"
- ],
- "apps/lib/libtestutil-lib-opt.o" => [
- "apps/lib/opt.c"
- ],
- "apps/lib/openssl-bin-cmp_mock_srv.o" => [
- "apps/lib/cmp_mock_srv.c"
- ],
- "apps/lib/uitest-bin-apps_ui.o" => [
- "apps/lib/apps_ui.c"
- ],
- "apps/libapps.a" => [
- "apps/lib/libapps-lib-app_libctx.o",
- "apps/lib/libapps-lib-app_params.o",
- "apps/lib/libapps-lib-app_provider.o",
- "apps/lib/libapps-lib-app_rand.o",
- "apps/lib/libapps-lib-app_x509.o",
- "apps/lib/libapps-lib-apps.o",
- "apps/lib/libapps-lib-apps_opt_printf.o",
- "apps/lib/libapps-lib-apps_ui.o",
- "apps/lib/libapps-lib-columns.o",
- "apps/lib/libapps-lib-engine.o",
- "apps/lib/libapps-lib-engine_loader.o",
- "apps/lib/libapps-lib-fmt.o",
- "apps/lib/libapps-lib-http_server.o",
- "apps/lib/libapps-lib-log.o",
- "apps/lib/libapps-lib-names.o",
- "apps/lib/libapps-lib-opt.o",
- "apps/lib/libapps-lib-s_cb.o",
- "apps/lib/libapps-lib-s_socket.o",
- "apps/lib/libapps-lib-tlssrp_depr.o"
- ],
- "apps/openssl" => [
- "apps/lib/openssl-bin-cmp_mock_srv.o",
- "apps/openssl-bin-asn1parse.o",
- "apps/openssl-bin-ca.o",
- "apps/openssl-bin-ciphers.o",
- "apps/openssl-bin-cmp.o",
- "apps/openssl-bin-cms.o",
- "apps/openssl-bin-crl.o",
- "apps/openssl-bin-crl2pkcs7.o",
- "apps/openssl-bin-dgst.o",
- "apps/openssl-bin-dhparam.o",
- "apps/openssl-bin-dsa.o",
- "apps/openssl-bin-dsaparam.o",
- "apps/openssl-bin-ec.o",
- "apps/openssl-bin-ecparam.o",
- "apps/openssl-bin-enc.o",
- "apps/openssl-bin-engine.o",
- "apps/openssl-bin-errstr.o",
- "apps/openssl-bin-fipsinstall.o",
- "apps/openssl-bin-gendsa.o",
- "apps/openssl-bin-genpkey.o",
- "apps/openssl-bin-genrsa.o",
- "apps/openssl-bin-info.o",
- "apps/openssl-bin-kdf.o",
- "apps/openssl-bin-list.o",
- "apps/openssl-bin-mac.o",
- "apps/openssl-bin-nseq.o",
- "apps/openssl-bin-ocsp.o",
- "apps/openssl-bin-openssl.o",
- "apps/openssl-bin-passwd.o",
- "apps/openssl-bin-pkcs12.o",
- "apps/openssl-bin-pkcs7.o",
- "apps/openssl-bin-pkcs8.o",
- "apps/openssl-bin-pkey.o",
- "apps/openssl-bin-pkeyparam.o",
- "apps/openssl-bin-pkeyutl.o",
- "apps/openssl-bin-prime.o",
- "apps/openssl-bin-progs.o",
- "apps/openssl-bin-rand.o",
- "apps/openssl-bin-rehash.o",
- "apps/openssl-bin-req.o",
- "apps/openssl-bin-rsa.o",
- "apps/openssl-bin-rsautl.o",
- "apps/openssl-bin-s_client.o",
- "apps/openssl-bin-s_server.o",
- "apps/openssl-bin-s_time.o",
- "apps/openssl-bin-sess_id.o",
- "apps/openssl-bin-skeyutl.o",
- "apps/openssl-bin-smime.o",
- "apps/openssl-bin-speed.o",
- "apps/openssl-bin-spkac.o",
- "apps/openssl-bin-srp.o",
- "apps/openssl-bin-storeutl.o",
- "apps/openssl-bin-ts.o",
- "apps/openssl-bin-verify.o",
- "apps/openssl-bin-version.o",
- "apps/openssl-bin-x509.o"
- ],
- "apps/openssl-bin-asn1parse.o" => [
- "apps/asn1parse.c"
- ],
- "apps/openssl-bin-ca.o" => [
- "apps/ca.c"
- ],
- "apps/openssl-bin-ciphers.o" => [
- "apps/ciphers.c"
- ],
- "apps/openssl-bin-cmp.o" => [
- "apps/cmp.c"
- ],
- "apps/openssl-bin-cms.o" => [
- "apps/cms.c"
- ],
- "apps/openssl-bin-crl.o" => [
- "apps/crl.c"
- ],
- "apps/openssl-bin-crl2pkcs7.o" => [
- "apps/crl2pkcs7.c"
- ],
- "apps/openssl-bin-dgst.o" => [
- "apps/dgst.c"
- ],
- "apps/openssl-bin-dhparam.o" => [
- "apps/dhparam.c"
- ],
- "apps/openssl-bin-dsa.o" => [
- "apps/dsa.c"
- ],
- "apps/openssl-bin-dsaparam.o" => [
- "apps/dsaparam.c"
- ],
- "apps/openssl-bin-ec.o" => [
- "apps/ec.c"
- ],
- "apps/openssl-bin-ecparam.o" => [
- "apps/ecparam.c"
- ],
- "apps/openssl-bin-enc.o" => [
- "apps/enc.c"
- ],
- "apps/openssl-bin-engine.o" => [
- "apps/engine.c"
- ],
- "apps/openssl-bin-errstr.o" => [
- "apps/errstr.c"
- ],
- "apps/openssl-bin-fipsinstall.o" => [
- "apps/fipsinstall.c"
- ],
- "apps/openssl-bin-gendsa.o" => [
- "apps/gendsa.c"
- ],
- "apps/openssl-bin-genpkey.o" => [
- "apps/genpkey.c"
- ],
- "apps/openssl-bin-genrsa.o" => [
- "apps/genrsa.c"
- ],
- "apps/openssl-bin-info.o" => [
- "apps/info.c"
- ],
- "apps/openssl-bin-kdf.o" => [
- "apps/kdf.c"
- ],
- "apps/openssl-bin-list.o" => [
- "apps/list.c"
- ],
- "apps/openssl-bin-mac.o" => [
- "apps/mac.c"
- ],
- "apps/openssl-bin-nseq.o" => [
- "apps/nseq.c"
- ],
- "apps/openssl-bin-ocsp.o" => [
- "apps/ocsp.c"
- ],
- "apps/openssl-bin-openssl.o" => [
- "apps/openssl.c"
- ],
- "apps/openssl-bin-passwd.o" => [
- "apps/passwd.c"
- ],
- "apps/openssl-bin-pkcs12.o" => [
- "apps/pkcs12.c"
- ],
- "apps/openssl-bin-pkcs7.o" => [
- "apps/pkcs7.c"
- ],
- "apps/openssl-bin-pkcs8.o" => [
- "apps/pkcs8.c"
- ],
- "apps/openssl-bin-pkey.o" => [
- "apps/pkey.c"
- ],
- "apps/openssl-bin-pkeyparam.o" => [
- "apps/pkeyparam.c"
- ],
- "apps/openssl-bin-pkeyutl.o" => [
- "apps/pkeyutl.c"
- ],
- "apps/openssl-bin-prime.o" => [
- "apps/prime.c"
- ],
- "apps/openssl-bin-progs.o" => [
- "apps/progs.c"
- ],
- "apps/openssl-bin-rand.o" => [
- "apps/rand.c"
- ],
- "apps/openssl-bin-rehash.o" => [
- "apps/rehash.c"
- ],
- "apps/openssl-bin-req.o" => [
- "apps/req.c"
- ],
- "apps/openssl-bin-rsa.o" => [
- "apps/rsa.c"
- ],
- "apps/openssl-bin-rsautl.o" => [
- "apps/rsautl.c"
- ],
- "apps/openssl-bin-s_client.o" => [
- "apps/s_client.c"
- ],
- "apps/openssl-bin-s_server.o" => [
- "apps/s_server.c"
- ],
- "apps/openssl-bin-s_time.o" => [
- "apps/s_time.c"
- ],
- "apps/openssl-bin-sess_id.o" => [
- "apps/sess_id.c"
- ],
- "apps/openssl-bin-skeyutl.o" => [
- "apps/skeyutl.c"
- ],
- "apps/openssl-bin-smime.o" => [
- "apps/smime.c"
- ],
- "apps/openssl-bin-speed.o" => [
- "apps/speed.c"
- ],
- "apps/openssl-bin-spkac.o" => [
- "apps/spkac.c"
- ],
- "apps/openssl-bin-srp.o" => [
- "apps/srp.c"
- ],
- "apps/openssl-bin-storeutl.o" => [
- "apps/storeutl.c"
- ],
- "apps/openssl-bin-ts.o" => [
- "apps/ts.c"
- ],
- "apps/openssl-bin-verify.o" => [
- "apps/verify.c"
- ],
- "apps/openssl-bin-version.o" => [
- "apps/version.c"
- ],
- "apps/openssl-bin-x509.o" => [
- "apps/x509.c"
- ],
- "apps/tsget.pl" => [
- "apps/tsget.in"
- ],
- "crypto/aes/libcrypto-lib-aes-x86_64.o" => [
- "crypto/aes/aes-x86_64.s"
- ],
- "crypto/aes/libcrypto-lib-aes_cfb.o" => [
- "crypto/aes/aes_cfb.c"
- ],
- "crypto/aes/libcrypto-lib-aes_ecb.o" => [
- "crypto/aes/aes_ecb.c"
- ],
- "crypto/aes/libcrypto-lib-aes_ige.o" => [
- "crypto/aes/aes_ige.c"
- ],
- "crypto/aes/libcrypto-lib-aes_misc.o" => [
- "crypto/aes/aes_misc.c"
- ],
- "crypto/aes/libcrypto-lib-aes_ofb.o" => [
- "crypto/aes/aes_ofb.c"
- ],
- "crypto/aes/libcrypto-lib-aes_wrap.o" => [
- "crypto/aes/aes_wrap.c"
- ],
- "crypto/aes/libcrypto-lib-aesni-mb-x86_64.o" => [
- "crypto/aes/aesni-mb-x86_64.s"
- ],
- "crypto/aes/libcrypto-lib-aesni-sha1-x86_64.o" => [
- "crypto/aes/aesni-sha1-x86_64.s"
- ],
- "crypto/aes/libcrypto-lib-aesni-sha256-x86_64.o" => [
- "crypto/aes/aesni-sha256-x86_64.s"
- ],
- "crypto/aes/libcrypto-lib-aesni-x86_64.o" => [
- "crypto/aes/aesni-x86_64.s"
- ],
- "crypto/aes/libcrypto-lib-aesni-xts-avx512.o" => [
- "crypto/aes/aesni-xts-avx512.s"
- ],
- "crypto/aes/libcrypto-lib-bsaes-x86_64.o" => [
- "crypto/aes/bsaes-x86_64.s"
- ],
- "crypto/aes/libcrypto-lib-vpaes-x86_64.o" => [
- "crypto/aes/vpaes-x86_64.s"
- ],
- "crypto/aes/libcrypto-shlib-aes-x86_64.o" => [
- "crypto/aes/aes-x86_64.s"
- ],
- "crypto/aes/libcrypto-shlib-aes_cfb.o" => [
- "crypto/aes/aes_cfb.c"
- ],
- "crypto/aes/libcrypto-shlib-aes_ecb.o" => [
- "crypto/aes/aes_ecb.c"
- ],
- "crypto/aes/libcrypto-shlib-aes_ige.o" => [
- "crypto/aes/aes_ige.c"
- ],
- "crypto/aes/libcrypto-shlib-aes_misc.o" => [
- "crypto/aes/aes_misc.c"
- ],
- "crypto/aes/libcrypto-shlib-aes_ofb.o" => [
- "crypto/aes/aes_ofb.c"
- ],
- "crypto/aes/libcrypto-shlib-aes_wrap.o" => [
- "crypto/aes/aes_wrap.c"
- ],
- "crypto/aes/libcrypto-shlib-aesni-mb-x86_64.o" => [
- "crypto/aes/aesni-mb-x86_64.s"
- ],
- "crypto/aes/libcrypto-shlib-aesni-sha1-x86_64.o" => [
- "crypto/aes/aesni-sha1-x86_64.s"
- ],
- "crypto/aes/libcrypto-shlib-aesni-sha256-x86_64.o" => [
- "crypto/aes/aesni-sha256-x86_64.s"
- ],
- "crypto/aes/libcrypto-shlib-aesni-x86_64.o" => [
- "crypto/aes/aesni-x86_64.s"
- ],
- "crypto/aes/libcrypto-shlib-aesni-xts-avx512.o" => [
- "crypto/aes/aesni-xts-avx512.s"
- ],
- "crypto/aes/libcrypto-shlib-bsaes-x86_64.o" => [
- "crypto/aes/bsaes-x86_64.s"
- ],
- "crypto/aes/libcrypto-shlib-vpaes-x86_64.o" => [
- "crypto/aes/vpaes-x86_64.s"
- ],
- "crypto/asn1/asn1_time_test-bin-a_time.o" => [
- "crypto/asn1/a_time.c"
- ],
- "crypto/asn1/ca_internals_test-bin-a_time.o" => [
- "crypto/asn1/a_time.c"
- ],
- "crypto/asn1/libcrypto-lib-a_bitstr.o" => [
- "crypto/asn1/a_bitstr.c"
- ],
- "crypto/asn1/libcrypto-lib-a_d2i_fp.o" => [
- "crypto/asn1/a_d2i_fp.c"
- ],
- "crypto/asn1/libcrypto-lib-a_digest.o" => [
- "crypto/asn1/a_digest.c"
- ],
- "crypto/asn1/libcrypto-lib-a_dup.o" => [
- "crypto/asn1/a_dup.c"
- ],
- "crypto/asn1/libcrypto-lib-a_gentm.o" => [
- "crypto/asn1/a_gentm.c"
- ],
- "crypto/asn1/libcrypto-lib-a_i2d_fp.o" => [
- "crypto/asn1/a_i2d_fp.c"
- ],
- "crypto/asn1/libcrypto-lib-a_int.o" => [
- "crypto/asn1/a_int.c"
- ],
- "crypto/asn1/libcrypto-lib-a_mbstr.o" => [
- "crypto/asn1/a_mbstr.c"
- ],
- "crypto/asn1/libcrypto-lib-a_object.o" => [
- "crypto/asn1/a_object.c"
- ],
- "crypto/asn1/libcrypto-lib-a_octet.o" => [
- "crypto/asn1/a_octet.c"
- ],
- "crypto/asn1/libcrypto-lib-a_print.o" => [
- "crypto/asn1/a_print.c"
- ],
- "crypto/asn1/libcrypto-lib-a_sign.o" => [
- "crypto/asn1/a_sign.c"
- ],
- "crypto/asn1/libcrypto-lib-a_strex.o" => [
- "crypto/asn1/a_strex.c"
- ],
- "crypto/asn1/libcrypto-lib-a_strnid.o" => [
- "crypto/asn1/a_strnid.c"
- ],
- "crypto/asn1/libcrypto-lib-a_time.o" => [
- "crypto/asn1/a_time.c"
- ],
- "crypto/asn1/libcrypto-lib-a_type.o" => [
- "crypto/asn1/a_type.c"
- ],
- "crypto/asn1/libcrypto-lib-a_utctm.o" => [
- "crypto/asn1/a_utctm.c"
- ],
- "crypto/asn1/libcrypto-lib-a_utf8.o" => [
- "crypto/asn1/a_utf8.c"
- ],
- "crypto/asn1/libcrypto-lib-a_verify.o" => [
- "crypto/asn1/a_verify.c"
- ],
- "crypto/asn1/libcrypto-lib-ameth_lib.o" => [
- "crypto/asn1/ameth_lib.c"
- ],
- "crypto/asn1/libcrypto-lib-asn1_err.o" => [
- "crypto/asn1/asn1_err.c"
- ],
- "crypto/asn1/libcrypto-lib-asn1_gen.o" => [
- "crypto/asn1/asn1_gen.c"
- ],
- "crypto/asn1/libcrypto-lib-asn1_item_list.o" => [
- "crypto/asn1/asn1_item_list.c"
- ],
- "crypto/asn1/libcrypto-lib-asn1_lib.o" => [
- "crypto/asn1/asn1_lib.c"
- ],
- "crypto/asn1/libcrypto-lib-asn1_parse.o" => [
- "crypto/asn1/asn1_parse.c"
- ],
- "crypto/asn1/libcrypto-lib-asn_mime.o" => [
- "crypto/asn1/asn_mime.c"
- ],
- "crypto/asn1/libcrypto-lib-asn_moid.o" => [
- "crypto/asn1/asn_moid.c"
- ],
- "crypto/asn1/libcrypto-lib-asn_mstbl.o" => [
- "crypto/asn1/asn_mstbl.c"
- ],
- "crypto/asn1/libcrypto-lib-asn_pack.o" => [
- "crypto/asn1/asn_pack.c"
- ],
- "crypto/asn1/libcrypto-lib-bio_asn1.o" => [
- "crypto/asn1/bio_asn1.c"
- ],
- "crypto/asn1/libcrypto-lib-bio_ndef.o" => [
- "crypto/asn1/bio_ndef.c"
- ],
- "crypto/asn1/libcrypto-lib-d2i_param.o" => [
- "crypto/asn1/d2i_param.c"
- ],
- "crypto/asn1/libcrypto-lib-d2i_pr.o" => [
- "crypto/asn1/d2i_pr.c"
- ],
- "crypto/asn1/libcrypto-lib-d2i_pu.o" => [
- "crypto/asn1/d2i_pu.c"
- ],
- "crypto/asn1/libcrypto-lib-evp_asn1.o" => [
- "crypto/asn1/evp_asn1.c"
- ],
- "crypto/asn1/libcrypto-lib-f_int.o" => [
- "crypto/asn1/f_int.c"
- ],
- "crypto/asn1/libcrypto-lib-f_string.o" => [
- "crypto/asn1/f_string.c"
- ],
- "crypto/asn1/libcrypto-lib-i2d_evp.o" => [
- "crypto/asn1/i2d_evp.c"
- ],
- "crypto/asn1/libcrypto-lib-n_pkey.o" => [
- "crypto/asn1/n_pkey.c"
- ],
- "crypto/asn1/libcrypto-lib-nsseq.o" => [
- "crypto/asn1/nsseq.c"
- ],
- "crypto/asn1/libcrypto-lib-p5_pbe.o" => [
- "crypto/asn1/p5_pbe.c"
- ],
- "crypto/asn1/libcrypto-lib-p5_pbev2.o" => [
- "crypto/asn1/p5_pbev2.c"
- ],
- "crypto/asn1/libcrypto-lib-p5_scrypt.o" => [
- "crypto/asn1/p5_scrypt.c"
- ],
- "crypto/asn1/libcrypto-lib-p8_pkey.o" => [
- "crypto/asn1/p8_pkey.c"
- ],
- "crypto/asn1/libcrypto-lib-t_bitst.o" => [
- "crypto/asn1/t_bitst.c"
- ],
- "crypto/asn1/libcrypto-lib-t_pkey.o" => [
- "crypto/asn1/t_pkey.c"
- ],
- "crypto/asn1/libcrypto-lib-t_spki.o" => [
- "crypto/asn1/t_spki.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_dec.o" => [
- "crypto/asn1/tasn_dec.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_enc.o" => [
- "crypto/asn1/tasn_enc.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_fre.o" => [
- "crypto/asn1/tasn_fre.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_new.o" => [
- "crypto/asn1/tasn_new.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_prn.o" => [
- "crypto/asn1/tasn_prn.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_scn.o" => [
- "crypto/asn1/tasn_scn.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_typ.o" => [
- "crypto/asn1/tasn_typ.c"
- ],
- "crypto/asn1/libcrypto-lib-tasn_utl.o" => [
- "crypto/asn1/tasn_utl.c"
- ],
- "crypto/asn1/libcrypto-lib-x_algor.o" => [
- "crypto/asn1/x_algor.c"
- ],
- "crypto/asn1/libcrypto-lib-x_bignum.o" => [
- "crypto/asn1/x_bignum.c"
- ],
- "crypto/asn1/libcrypto-lib-x_info.o" => [
- "crypto/asn1/x_info.c"
- ],
- "crypto/asn1/libcrypto-lib-x_int64.o" => [
- "crypto/asn1/x_int64.c"
- ],
- "crypto/asn1/libcrypto-lib-x_long.o" => [
- "crypto/asn1/x_long.c"
- ],
- "crypto/asn1/libcrypto-lib-x_pkey.o" => [
- "crypto/asn1/x_pkey.c"
- ],
- "crypto/asn1/libcrypto-lib-x_sig.o" => [
- "crypto/asn1/x_sig.c"
- ],
- "crypto/asn1/libcrypto-lib-x_spki.o" => [
- "crypto/asn1/x_spki.c"
- ],
- "crypto/asn1/libcrypto-lib-x_val.o" => [
- "crypto/asn1/x_val.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_bitstr.o" => [
- "crypto/asn1/a_bitstr.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_d2i_fp.o" => [
- "crypto/asn1/a_d2i_fp.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_digest.o" => [
- "crypto/asn1/a_digest.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_dup.o" => [
- "crypto/asn1/a_dup.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_gentm.o" => [
- "crypto/asn1/a_gentm.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_i2d_fp.o" => [
- "crypto/asn1/a_i2d_fp.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_int.o" => [
- "crypto/asn1/a_int.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_mbstr.o" => [
- "crypto/asn1/a_mbstr.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_object.o" => [
- "crypto/asn1/a_object.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_octet.o" => [
- "crypto/asn1/a_octet.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_print.o" => [
- "crypto/asn1/a_print.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_sign.o" => [
- "crypto/asn1/a_sign.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_strex.o" => [
- "crypto/asn1/a_strex.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_strnid.o" => [
- "crypto/asn1/a_strnid.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_time.o" => [
- "crypto/asn1/a_time.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_type.o" => [
- "crypto/asn1/a_type.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_utctm.o" => [
- "crypto/asn1/a_utctm.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_utf8.o" => [
- "crypto/asn1/a_utf8.c"
- ],
- "crypto/asn1/libcrypto-shlib-a_verify.o" => [
- "crypto/asn1/a_verify.c"
- ],
- "crypto/asn1/libcrypto-shlib-ameth_lib.o" => [
- "crypto/asn1/ameth_lib.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn1_err.o" => [
- "crypto/asn1/asn1_err.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn1_gen.o" => [
- "crypto/asn1/asn1_gen.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn1_item_list.o" => [
- "crypto/asn1/asn1_item_list.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn1_lib.o" => [
- "crypto/asn1/asn1_lib.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn1_parse.o" => [
- "crypto/asn1/asn1_parse.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn_mime.o" => [
- "crypto/asn1/asn_mime.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn_moid.o" => [
- "crypto/asn1/asn_moid.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn_mstbl.o" => [
- "crypto/asn1/asn_mstbl.c"
- ],
- "crypto/asn1/libcrypto-shlib-asn_pack.o" => [
- "crypto/asn1/asn_pack.c"
- ],
- "crypto/asn1/libcrypto-shlib-bio_asn1.o" => [
- "crypto/asn1/bio_asn1.c"
- ],
- "crypto/asn1/libcrypto-shlib-bio_ndef.o" => [
- "crypto/asn1/bio_ndef.c"
- ],
- "crypto/asn1/libcrypto-shlib-d2i_param.o" => [
- "crypto/asn1/d2i_param.c"
- ],
- "crypto/asn1/libcrypto-shlib-d2i_pr.o" => [
- "crypto/asn1/d2i_pr.c"
- ],
- "crypto/asn1/libcrypto-shlib-d2i_pu.o" => [
- "crypto/asn1/d2i_pu.c"
- ],
- "crypto/asn1/libcrypto-shlib-evp_asn1.o" => [
- "crypto/asn1/evp_asn1.c"
- ],
- "crypto/asn1/libcrypto-shlib-f_int.o" => [
- "crypto/asn1/f_int.c"
- ],
- "crypto/asn1/libcrypto-shlib-f_string.o" => [
- "crypto/asn1/f_string.c"
- ],
- "crypto/asn1/libcrypto-shlib-i2d_evp.o" => [
- "crypto/asn1/i2d_evp.c"
- ],
- "crypto/asn1/libcrypto-shlib-n_pkey.o" => [
- "crypto/asn1/n_pkey.c"
- ],
- "crypto/asn1/libcrypto-shlib-nsseq.o" => [
- "crypto/asn1/nsseq.c"
- ],
- "crypto/asn1/libcrypto-shlib-p5_pbe.o" => [
- "crypto/asn1/p5_pbe.c"
- ],
- "crypto/asn1/libcrypto-shlib-p5_pbev2.o" => [
- "crypto/asn1/p5_pbev2.c"
- ],
- "crypto/asn1/libcrypto-shlib-p5_scrypt.o" => [
- "crypto/asn1/p5_scrypt.c"
- ],
- "crypto/asn1/libcrypto-shlib-p8_pkey.o" => [
- "crypto/asn1/p8_pkey.c"
- ],
- "crypto/asn1/libcrypto-shlib-t_bitst.o" => [
- "crypto/asn1/t_bitst.c"
- ],
- "crypto/asn1/libcrypto-shlib-t_pkey.o" => [
- "crypto/asn1/t_pkey.c"
- ],
- "crypto/asn1/libcrypto-shlib-t_spki.o" => [
- "crypto/asn1/t_spki.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_dec.o" => [
- "crypto/asn1/tasn_dec.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_enc.o" => [
- "crypto/asn1/tasn_enc.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_fre.o" => [
- "crypto/asn1/tasn_fre.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_new.o" => [
- "crypto/asn1/tasn_new.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_prn.o" => [
- "crypto/asn1/tasn_prn.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_scn.o" => [
- "crypto/asn1/tasn_scn.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_typ.o" => [
- "crypto/asn1/tasn_typ.c"
- ],
- "crypto/asn1/libcrypto-shlib-tasn_utl.o" => [
- "crypto/asn1/tasn_utl.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_algor.o" => [
- "crypto/asn1/x_algor.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_bignum.o" => [
- "crypto/asn1/x_bignum.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_info.o" => [
- "crypto/asn1/x_info.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_int64.o" => [
- "crypto/asn1/x_int64.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_long.o" => [
- "crypto/asn1/x_long.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_pkey.o" => [
- "crypto/asn1/x_pkey.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_sig.o" => [
- "crypto/asn1/x_sig.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_spki.o" => [
- "crypto/asn1/x_spki.c"
- ],
- "crypto/asn1/libcrypto-shlib-x_val.o" => [
- "crypto/asn1/x_val.c"
- ],
- "crypto/asn1_time_test-bin-ctype.o" => [
- "crypto/ctype.c"
- ],
- "crypto/async/arch/libcrypto-lib-async_null.o" => [
- "crypto/async/arch/async_null.c"
- ],
- "crypto/async/arch/libcrypto-lib-async_posix.o" => [
- "crypto/async/arch/async_posix.c"
- ],
- "crypto/async/arch/libcrypto-lib-async_win.o" => [
- "crypto/async/arch/async_win.c"
- ],
- "crypto/async/arch/libcrypto-shlib-async_null.o" => [
- "crypto/async/arch/async_null.c"
- ],
- "crypto/async/arch/libcrypto-shlib-async_posix.o" => [
- "crypto/async/arch/async_posix.c"
- ],
- "crypto/async/arch/libcrypto-shlib-async_win.o" => [
- "crypto/async/arch/async_win.c"
- ],
- "crypto/async/libcrypto-lib-async.o" => [
- "crypto/async/async.c"
- ],
- "crypto/async/libcrypto-lib-async_err.o" => [
- "crypto/async/async_err.c"
- ],
- "crypto/async/libcrypto-lib-async_wait.o" => [
- "crypto/async/async_wait.c"
- ],
- "crypto/async/libcrypto-shlib-async.o" => [
- "crypto/async/async.c"
- ],
- "crypto/async/libcrypto-shlib-async_err.o" => [
- "crypto/async/async_err.c"
- ],
- "crypto/async/libcrypto-shlib-async_wait.o" => [
- "crypto/async/async_wait.c"
- ],
- "crypto/bf/libcrypto-lib-bf_cfb64.o" => [
- "crypto/bf/bf_cfb64.c"
- ],
- "crypto/bf/libcrypto-lib-bf_ecb.o" => [
- "crypto/bf/bf_ecb.c"
- ],
- "crypto/bf/libcrypto-lib-bf_enc.o" => [
- "crypto/bf/bf_enc.c"
- ],
- "crypto/bf/libcrypto-lib-bf_ofb64.o" => [
- "crypto/bf/bf_ofb64.c"
- ],
- "crypto/bf/libcrypto-lib-bf_skey.o" => [
- "crypto/bf/bf_skey.c"
- ],
- "crypto/bf/libcrypto-shlib-bf_cfb64.o" => [
- "crypto/bf/bf_cfb64.c"
- ],
- "crypto/bf/libcrypto-shlib-bf_ecb.o" => [
- "crypto/bf/bf_ecb.c"
- ],
- "crypto/bf/libcrypto-shlib-bf_enc.o" => [
- "crypto/bf/bf_enc.c"
- ],
- "crypto/bf/libcrypto-shlib-bf_ofb64.o" => [
- "crypto/bf/bf_ofb64.c"
- ],
- "crypto/bf/libcrypto-shlib-bf_skey.o" => [
- "crypto/bf/bf_skey.c"
- ],
- "crypto/bio/libcrypto-lib-bf_buff.o" => [
- "crypto/bio/bf_buff.c"
- ],
- "crypto/bio/libcrypto-lib-bf_lbuf.o" => [
- "crypto/bio/bf_lbuf.c"
- ],
- "crypto/bio/libcrypto-lib-bf_nbio.o" => [
- "crypto/bio/bf_nbio.c"
- ],
- "crypto/bio/libcrypto-lib-bf_null.o" => [
- "crypto/bio/bf_null.c"
- ],
- "crypto/bio/libcrypto-lib-bf_prefix.o" => [
- "crypto/bio/bf_prefix.c"
- ],
- "crypto/bio/libcrypto-lib-bf_readbuff.o" => [
- "crypto/bio/bf_readbuff.c"
- ],
- "crypto/bio/libcrypto-lib-bio_addr.o" => [
- "crypto/bio/bio_addr.c"
- ],
- "crypto/bio/libcrypto-lib-bio_cb.o" => [
- "crypto/bio/bio_cb.c"
- ],
- "crypto/bio/libcrypto-lib-bio_dump.o" => [
- "crypto/bio/bio_dump.c"
- ],
- "crypto/bio/libcrypto-lib-bio_err.o" => [
- "crypto/bio/bio_err.c"
- ],
- "crypto/bio/libcrypto-lib-bio_lib.o" => [
- "crypto/bio/bio_lib.c"
- ],
- "crypto/bio/libcrypto-lib-bio_meth.o" => [
- "crypto/bio/bio_meth.c"
- ],
- "crypto/bio/libcrypto-lib-bio_print.o" => [
- "crypto/bio/bio_print.c"
- ],
- "crypto/bio/libcrypto-lib-bio_sock.o" => [
- "crypto/bio/bio_sock.c"
- ],
- "crypto/bio/libcrypto-lib-bio_sock2.o" => [
- "crypto/bio/bio_sock2.c"
- ],
- "crypto/bio/libcrypto-lib-bss_acpt.o" => [
- "crypto/bio/bss_acpt.c"
- ],
- "crypto/bio/libcrypto-lib-bss_bio.o" => [
- "crypto/bio/bss_bio.c"
- ],
- "crypto/bio/libcrypto-lib-bss_conn.o" => [
- "crypto/bio/bss_conn.c"
- ],
- "crypto/bio/libcrypto-lib-bss_core.o" => [
- "crypto/bio/bss_core.c"
- ],
- "crypto/bio/libcrypto-lib-bss_dgram.o" => [
- "crypto/bio/bss_dgram.c"
- ],
- "crypto/bio/libcrypto-lib-bss_dgram_pair.o" => [
- "crypto/bio/bss_dgram_pair.c"
- ],
- "crypto/bio/libcrypto-lib-bss_fd.o" => [
- "crypto/bio/bss_fd.c"
- ],
- "crypto/bio/libcrypto-lib-bss_file.o" => [
- "crypto/bio/bss_file.c"
- ],
- "crypto/bio/libcrypto-lib-bss_log.o" => [
- "crypto/bio/bss_log.c"
- ],
- "crypto/bio/libcrypto-lib-bss_mem.o" => [
- "crypto/bio/bss_mem.c"
- ],
- "crypto/bio/libcrypto-lib-bss_null.o" => [
- "crypto/bio/bss_null.c"
- ],
- "crypto/bio/libcrypto-lib-bss_sock.o" => [
- "crypto/bio/bss_sock.c"
- ],
- "crypto/bio/libcrypto-lib-ossl_core_bio.o" => [
- "crypto/bio/ossl_core_bio.c"
- ],
- "crypto/bio/libcrypto-shlib-bf_buff.o" => [
- "crypto/bio/bf_buff.c"
- ],
- "crypto/bio/libcrypto-shlib-bf_lbuf.o" => [
- "crypto/bio/bf_lbuf.c"
- ],
- "crypto/bio/libcrypto-shlib-bf_nbio.o" => [
- "crypto/bio/bf_nbio.c"
- ],
- "crypto/bio/libcrypto-shlib-bf_null.o" => [
- "crypto/bio/bf_null.c"
- ],
- "crypto/bio/libcrypto-shlib-bf_prefix.o" => [
- "crypto/bio/bf_prefix.c"
- ],
- "crypto/bio/libcrypto-shlib-bf_readbuff.o" => [
- "crypto/bio/bf_readbuff.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_addr.o" => [
- "crypto/bio/bio_addr.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_cb.o" => [
- "crypto/bio/bio_cb.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_dump.o" => [
- "crypto/bio/bio_dump.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_err.o" => [
- "crypto/bio/bio_err.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_lib.o" => [
- "crypto/bio/bio_lib.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_meth.o" => [
- "crypto/bio/bio_meth.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_print.o" => [
- "crypto/bio/bio_print.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_sock.o" => [
- "crypto/bio/bio_sock.c"
- ],
- "crypto/bio/libcrypto-shlib-bio_sock2.o" => [
- "crypto/bio/bio_sock2.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_acpt.o" => [
- "crypto/bio/bss_acpt.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_bio.o" => [
- "crypto/bio/bss_bio.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_conn.o" => [
- "crypto/bio/bss_conn.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_core.o" => [
- "crypto/bio/bss_core.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_dgram.o" => [
- "crypto/bio/bss_dgram.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_dgram_pair.o" => [
- "crypto/bio/bss_dgram_pair.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_fd.o" => [
- "crypto/bio/bss_fd.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_file.o" => [
- "crypto/bio/bss_file.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_log.o" => [
- "crypto/bio/bss_log.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_mem.o" => [
- "crypto/bio/bss_mem.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_null.o" => [
- "crypto/bio/bss_null.c"
- ],
- "crypto/bio/libcrypto-shlib-bss_sock.o" => [
- "crypto/bio/bss_sock.c"
- ],
- "crypto/bio/libcrypto-shlib-ossl_core_bio.o" => [
- "crypto/bio/ossl_core_bio.c"
- ],
- "crypto/bn/asm/libcrypto-lib-x86_64-gcc.o" => [
- "crypto/bn/asm/x86_64-gcc.c"
- ],
- "crypto/bn/asm/libcrypto-shlib-x86_64-gcc.o" => [
- "crypto/bn/asm/x86_64-gcc.c"
- ],
- "crypto/bn/libcrypto-lib-bn_add.o" => [
- "crypto/bn/bn_add.c"
- ],
- "crypto/bn/libcrypto-lib-bn_blind.o" => [
- "crypto/bn/bn_blind.c"
- ],
- "crypto/bn/libcrypto-lib-bn_const.o" => [
- "crypto/bn/bn_const.c"
- ],
- "crypto/bn/libcrypto-lib-bn_conv.o" => [
- "crypto/bn/bn_conv.c"
- ],
- "crypto/bn/libcrypto-lib-bn_ctx.o" => [
- "crypto/bn/bn_ctx.c"
- ],
- "crypto/bn/libcrypto-lib-bn_depr.o" => [
- "crypto/bn/bn_depr.c"
- ],
- "crypto/bn/libcrypto-lib-bn_dh.o" => [
- "crypto/bn/bn_dh.c"
- ],
- "crypto/bn/libcrypto-lib-bn_div.o" => [
- "crypto/bn/bn_div.c"
- ],
- "crypto/bn/libcrypto-lib-bn_err.o" => [
- "crypto/bn/bn_err.c"
- ],
- "crypto/bn/libcrypto-lib-bn_exp.o" => [
- "crypto/bn/bn_exp.c"
- ],
- "crypto/bn/libcrypto-lib-bn_exp2.o" => [
- "crypto/bn/bn_exp2.c"
- ],
- "crypto/bn/libcrypto-lib-bn_gcd.o" => [
- "crypto/bn/bn_gcd.c"
- ],
- "crypto/bn/libcrypto-lib-bn_gf2m.o" => [
- "crypto/bn/bn_gf2m.c"
- ],
- "crypto/bn/libcrypto-lib-bn_intern.o" => [
- "crypto/bn/bn_intern.c"
- ],
- "crypto/bn/libcrypto-lib-bn_kron.o" => [
- "crypto/bn/bn_kron.c"
- ],
- "crypto/bn/libcrypto-lib-bn_lib.o" => [
- "crypto/bn/bn_lib.c"
- ],
- "crypto/bn/libcrypto-lib-bn_mod.o" => [
- "crypto/bn/bn_mod.c"
- ],
- "crypto/bn/libcrypto-lib-bn_mont.o" => [
- "crypto/bn/bn_mont.c"
- ],
- "crypto/bn/libcrypto-lib-bn_mpi.o" => [
- "crypto/bn/bn_mpi.c"
- ],
- "crypto/bn/libcrypto-lib-bn_mul.o" => [
- "crypto/bn/bn_mul.c"
- ],
- "crypto/bn/libcrypto-lib-bn_nist.o" => [
- "crypto/bn/bn_nist.c"
- ],
- "crypto/bn/libcrypto-lib-bn_prime.o" => [
- "crypto/bn/bn_prime.c"
- ],
- "crypto/bn/libcrypto-lib-bn_print.o" => [
- "crypto/bn/bn_print.c"
- ],
- "crypto/bn/libcrypto-lib-bn_rand.o" => [
- "crypto/bn/bn_rand.c"
- ],
- "crypto/bn/libcrypto-lib-bn_recp.o" => [
- "crypto/bn/bn_recp.c"
- ],
- "crypto/bn/libcrypto-lib-bn_rsa_fips186_4.o" => [
- "crypto/bn/bn_rsa_fips186_4.c"
- ],
- "crypto/bn/libcrypto-lib-bn_shift.o" => [
- "crypto/bn/bn_shift.c"
- ],
- "crypto/bn/libcrypto-lib-bn_sqr.o" => [
- "crypto/bn/bn_sqr.c"
- ],
- "crypto/bn/libcrypto-lib-bn_sqrt.o" => [
- "crypto/bn/bn_sqrt.c"
- ],
- "crypto/bn/libcrypto-lib-bn_srp.o" => [
- "crypto/bn/bn_srp.c"
- ],
- "crypto/bn/libcrypto-lib-bn_word.o" => [
- "crypto/bn/bn_word.c"
- ],
- "crypto/bn/libcrypto-lib-bn_x931p.o" => [
- "crypto/bn/bn_x931p.c"
- ],
- "crypto/bn/libcrypto-lib-rsaz-2k-avx512.o" => [
- "crypto/bn/rsaz-2k-avx512.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz-2k-avxifma.o" => [
- "crypto/bn/rsaz-2k-avxifma.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz-3k-avx512.o" => [
- "crypto/bn/rsaz-3k-avx512.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz-3k-avxifma.o" => [
- "crypto/bn/rsaz-3k-avxifma.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz-4k-avx512.o" => [
- "crypto/bn/rsaz-4k-avx512.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz-4k-avxifma.o" => [
- "crypto/bn/rsaz-4k-avxifma.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz-avx2.o" => [
- "crypto/bn/rsaz-avx2.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz-x86_64.o" => [
- "crypto/bn/rsaz-x86_64.s"
- ],
- "crypto/bn/libcrypto-lib-rsaz_exp.o" => [
- "crypto/bn/rsaz_exp.c"
- ],
- "crypto/bn/libcrypto-lib-rsaz_exp_x2.o" => [
- "crypto/bn/rsaz_exp_x2.c"
- ],
- "crypto/bn/libcrypto-lib-x86_64-gf2m.o" => [
- "crypto/bn/x86_64-gf2m.s"
- ],
- "crypto/bn/libcrypto-lib-x86_64-mont.o" => [
- "crypto/bn/x86_64-mont.s"
- ],
- "crypto/bn/libcrypto-lib-x86_64-mont5.o" => [
- "crypto/bn/x86_64-mont5.s"
- ],
- "crypto/bn/libcrypto-shlib-bn_add.o" => [
- "crypto/bn/bn_add.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_blind.o" => [
- "crypto/bn/bn_blind.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_const.o" => [
- "crypto/bn/bn_const.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_conv.o" => [
- "crypto/bn/bn_conv.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_ctx.o" => [
- "crypto/bn/bn_ctx.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_depr.o" => [
- "crypto/bn/bn_depr.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_dh.o" => [
- "crypto/bn/bn_dh.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_div.o" => [
- "crypto/bn/bn_div.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_err.o" => [
- "crypto/bn/bn_err.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_exp.o" => [
- "crypto/bn/bn_exp.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_exp2.o" => [
- "crypto/bn/bn_exp2.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_gcd.o" => [
- "crypto/bn/bn_gcd.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_gf2m.o" => [
- "crypto/bn/bn_gf2m.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_intern.o" => [
- "crypto/bn/bn_intern.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_kron.o" => [
- "crypto/bn/bn_kron.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_lib.o" => [
- "crypto/bn/bn_lib.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_mod.o" => [
- "crypto/bn/bn_mod.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_mont.o" => [
- "crypto/bn/bn_mont.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_mpi.o" => [
- "crypto/bn/bn_mpi.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_mul.o" => [
- "crypto/bn/bn_mul.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_nist.o" => [
- "crypto/bn/bn_nist.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_prime.o" => [
- "crypto/bn/bn_prime.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_print.o" => [
- "crypto/bn/bn_print.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_rand.o" => [
- "crypto/bn/bn_rand.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_recp.o" => [
- "crypto/bn/bn_recp.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_rsa_fips186_4.o" => [
- "crypto/bn/bn_rsa_fips186_4.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_shift.o" => [
- "crypto/bn/bn_shift.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_sqr.o" => [
- "crypto/bn/bn_sqr.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_sqrt.o" => [
- "crypto/bn/bn_sqrt.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_srp.o" => [
- "crypto/bn/bn_srp.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_word.o" => [
- "crypto/bn/bn_word.c"
- ],
- "crypto/bn/libcrypto-shlib-bn_x931p.o" => [
- "crypto/bn/bn_x931p.c"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-2k-avx512.o" => [
- "crypto/bn/rsaz-2k-avx512.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-2k-avxifma.o" => [
- "crypto/bn/rsaz-2k-avxifma.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-3k-avx512.o" => [
- "crypto/bn/rsaz-3k-avx512.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-3k-avxifma.o" => [
- "crypto/bn/rsaz-3k-avxifma.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-4k-avx512.o" => [
- "crypto/bn/rsaz-4k-avx512.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-4k-avxifma.o" => [
- "crypto/bn/rsaz-4k-avxifma.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-avx2.o" => [
- "crypto/bn/rsaz-avx2.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz-x86_64.o" => [
- "crypto/bn/rsaz-x86_64.s"
- ],
- "crypto/bn/libcrypto-shlib-rsaz_exp.o" => [
- "crypto/bn/rsaz_exp.c"
- ],
- "crypto/bn/libcrypto-shlib-rsaz_exp_x2.o" => [
- "crypto/bn/rsaz_exp_x2.c"
- ],
- "crypto/bn/libcrypto-shlib-x86_64-gf2m.o" => [
- "crypto/bn/x86_64-gf2m.s"
- ],
- "crypto/bn/libcrypto-shlib-x86_64-mont.o" => [
- "crypto/bn/x86_64-mont.s"
- ],
- "crypto/bn/libcrypto-shlib-x86_64-mont5.o" => [
- "crypto/bn/x86_64-mont5.s"
- ],
- "crypto/buffer/libcrypto-lib-buf_err.o" => [
- "crypto/buffer/buf_err.c"
- ],
- "crypto/buffer/libcrypto-lib-buffer.o" => [
- "crypto/buffer/buffer.c"
- ],
- "crypto/buffer/libcrypto-shlib-buf_err.o" => [
- "crypto/buffer/buf_err.c"
- ],
- "crypto/buffer/libcrypto-shlib-buffer.o" => [
- "crypto/buffer/buffer.c"
- ],
- "crypto/ca_internals_test-bin-ctype.o" => [
- "crypto/ctype.c"
- ],
- "crypto/camellia/libcrypto-lib-cmll-x86_64.o" => [
- "crypto/camellia/cmll-x86_64.s"
- ],
- "crypto/camellia/libcrypto-lib-cmll_cfb.o" => [
- "crypto/camellia/cmll_cfb.c"
- ],
- "crypto/camellia/libcrypto-lib-cmll_ctr.o" => [
- "crypto/camellia/cmll_ctr.c"
- ],
- "crypto/camellia/libcrypto-lib-cmll_ecb.o" => [
- "crypto/camellia/cmll_ecb.c"
- ],
- "crypto/camellia/libcrypto-lib-cmll_misc.o" => [
- "crypto/camellia/cmll_misc.c"
- ],
- "crypto/camellia/libcrypto-lib-cmll_ofb.o" => [
- "crypto/camellia/cmll_ofb.c"
- ],
- "crypto/camellia/libcrypto-shlib-cmll-x86_64.o" => [
- "crypto/camellia/cmll-x86_64.s"
- ],
- "crypto/camellia/libcrypto-shlib-cmll_cfb.o" => [
- "crypto/camellia/cmll_cfb.c"
- ],
- "crypto/camellia/libcrypto-shlib-cmll_ctr.o" => [
- "crypto/camellia/cmll_ctr.c"
- ],
- "crypto/camellia/libcrypto-shlib-cmll_ecb.o" => [
- "crypto/camellia/cmll_ecb.c"
- ],
- "crypto/camellia/libcrypto-shlib-cmll_misc.o" => [
- "crypto/camellia/cmll_misc.c"
- ],
- "crypto/camellia/libcrypto-shlib-cmll_ofb.o" => [
- "crypto/camellia/cmll_ofb.c"
- ],
- "crypto/cast/libcrypto-lib-c_cfb64.o" => [
- "crypto/cast/c_cfb64.c"
- ],
- "crypto/cast/libcrypto-lib-c_ecb.o" => [
- "crypto/cast/c_ecb.c"
- ],
- "crypto/cast/libcrypto-lib-c_enc.o" => [
- "crypto/cast/c_enc.c"
- ],
- "crypto/cast/libcrypto-lib-c_ofb64.o" => [
- "crypto/cast/c_ofb64.c"
- ],
- "crypto/cast/libcrypto-lib-c_skey.o" => [
- "crypto/cast/c_skey.c"
- ],
- "crypto/cast/libcrypto-shlib-c_cfb64.o" => [
- "crypto/cast/c_cfb64.c"
- ],
- "crypto/cast/libcrypto-shlib-c_ecb.o" => [
- "crypto/cast/c_ecb.c"
- ],
- "crypto/cast/libcrypto-shlib-c_enc.o" => [
- "crypto/cast/c_enc.c"
- ],
- "crypto/cast/libcrypto-shlib-c_ofb64.o" => [
- "crypto/cast/c_ofb64.c"
- ],
- "crypto/cast/libcrypto-shlib-c_skey.o" => [
- "crypto/cast/c_skey.c"
- ],
- "crypto/chacha/libcrypto-lib-chacha-x86_64.o" => [
- "crypto/chacha/chacha-x86_64.s"
- ],
- "crypto/chacha/libcrypto-shlib-chacha-x86_64.o" => [
- "crypto/chacha/chacha-x86_64.s"
- ],
- "crypto/cmac/libcrypto-lib-cmac.o" => [
- "crypto/cmac/cmac.c"
- ],
- "crypto/cmac/libcrypto-shlib-cmac.o" => [
- "crypto/cmac/cmac.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_asn.o" => [
- "crypto/cmp/cmp_asn.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_client.o" => [
- "crypto/cmp/cmp_client.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_ctx.o" => [
- "crypto/cmp/cmp_ctx.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_err.o" => [
- "crypto/cmp/cmp_err.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_genm.o" => [
- "crypto/cmp/cmp_genm.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_hdr.o" => [
- "crypto/cmp/cmp_hdr.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_http.o" => [
- "crypto/cmp/cmp_http.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_msg.o" => [
- "crypto/cmp/cmp_msg.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_protect.o" => [
- "crypto/cmp/cmp_protect.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_server.o" => [
- "crypto/cmp/cmp_server.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_status.o" => [
- "crypto/cmp/cmp_status.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_util.o" => [
- "crypto/cmp/cmp_util.c"
- ],
- "crypto/cmp/libcrypto-lib-cmp_vfy.o" => [
- "crypto/cmp/cmp_vfy.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_asn.o" => [
- "crypto/cmp/cmp_asn.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_client.o" => [
- "crypto/cmp/cmp_client.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_ctx.o" => [
- "crypto/cmp/cmp_ctx.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_err.o" => [
- "crypto/cmp/cmp_err.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_genm.o" => [
- "crypto/cmp/cmp_genm.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_hdr.o" => [
- "crypto/cmp/cmp_hdr.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_http.o" => [
- "crypto/cmp/cmp_http.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_msg.o" => [
- "crypto/cmp/cmp_msg.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_protect.o" => [
- "crypto/cmp/cmp_protect.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_server.o" => [
- "crypto/cmp/cmp_server.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_status.o" => [
- "crypto/cmp/cmp_status.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_util.o" => [
- "crypto/cmp/cmp_util.c"
- ],
- "crypto/cmp/libcrypto-shlib-cmp_vfy.o" => [
- "crypto/cmp/cmp_vfy.c"
- ],
- "crypto/cms/libcrypto-lib-cms_asn1.o" => [
- "crypto/cms/cms_asn1.c"
- ],
- "crypto/cms/libcrypto-lib-cms_att.o" => [
- "crypto/cms/cms_att.c"
- ],
- "crypto/cms/libcrypto-lib-cms_cd.o" => [
- "crypto/cms/cms_cd.c"
- ],
- "crypto/cms/libcrypto-lib-cms_dd.o" => [
- "crypto/cms/cms_dd.c"
- ],
- "crypto/cms/libcrypto-lib-cms_dh.o" => [
- "crypto/cms/cms_dh.c"
- ],
- "crypto/cms/libcrypto-lib-cms_ec.o" => [
- "crypto/cms/cms_ec.c"
- ],
- "crypto/cms/libcrypto-lib-cms_enc.o" => [
- "crypto/cms/cms_enc.c"
- ],
- "crypto/cms/libcrypto-lib-cms_env.o" => [
- "crypto/cms/cms_env.c"
- ],
- "crypto/cms/libcrypto-lib-cms_err.o" => [
- "crypto/cms/cms_err.c"
- ],
- "crypto/cms/libcrypto-lib-cms_ess.o" => [
- "crypto/cms/cms_ess.c"
- ],
- "crypto/cms/libcrypto-lib-cms_io.o" => [
- "crypto/cms/cms_io.c"
- ],
- "crypto/cms/libcrypto-lib-cms_kari.o" => [
- "crypto/cms/cms_kari.c"
- ],
- "crypto/cms/libcrypto-lib-cms_lib.o" => [
- "crypto/cms/cms_lib.c"
- ],
- "crypto/cms/libcrypto-lib-cms_pwri.o" => [
- "crypto/cms/cms_pwri.c"
- ],
- "crypto/cms/libcrypto-lib-cms_rsa.o" => [
- "crypto/cms/cms_rsa.c"
- ],
- "crypto/cms/libcrypto-lib-cms_sd.o" => [
- "crypto/cms/cms_sd.c"
- ],
- "crypto/cms/libcrypto-lib-cms_smime.o" => [
- "crypto/cms/cms_smime.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_asn1.o" => [
- "crypto/cms/cms_asn1.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_att.o" => [
- "crypto/cms/cms_att.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_cd.o" => [
- "crypto/cms/cms_cd.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_dd.o" => [
- "crypto/cms/cms_dd.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_dh.o" => [
- "crypto/cms/cms_dh.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_ec.o" => [
- "crypto/cms/cms_ec.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_enc.o" => [
- "crypto/cms/cms_enc.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_env.o" => [
- "crypto/cms/cms_env.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_err.o" => [
- "crypto/cms/cms_err.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_ess.o" => [
- "crypto/cms/cms_ess.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_io.o" => [
- "crypto/cms/cms_io.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_kari.o" => [
- "crypto/cms/cms_kari.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_lib.o" => [
- "crypto/cms/cms_lib.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_pwri.o" => [
- "crypto/cms/cms_pwri.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_rsa.o" => [
- "crypto/cms/cms_rsa.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_sd.o" => [
- "crypto/cms/cms_sd.c"
- ],
- "crypto/cms/libcrypto-shlib-cms_smime.o" => [
- "crypto/cms/cms_smime.c"
- ],
- "crypto/comp/libcrypto-lib-c_brotli.o" => [
- "crypto/comp/c_brotli.c"
- ],
- "crypto/comp/libcrypto-lib-c_zlib.o" => [
- "crypto/comp/c_zlib.c"
- ],
- "crypto/comp/libcrypto-lib-c_zstd.o" => [
- "crypto/comp/c_zstd.c"
- ],
- "crypto/comp/libcrypto-lib-comp_err.o" => [
- "crypto/comp/comp_err.c"
- ],
- "crypto/comp/libcrypto-lib-comp_lib.o" => [
- "crypto/comp/comp_lib.c"
- ],
- "crypto/comp/libcrypto-shlib-c_brotli.o" => [
- "crypto/comp/c_brotli.c"
- ],
- "crypto/comp/libcrypto-shlib-c_zlib.o" => [
- "crypto/comp/c_zlib.c"
- ],
- "crypto/comp/libcrypto-shlib-c_zstd.o" => [
- "crypto/comp/c_zstd.c"
- ],
- "crypto/comp/libcrypto-shlib-comp_err.o" => [
- "crypto/comp/comp_err.c"
- ],
- "crypto/comp/libcrypto-shlib-comp_lib.o" => [
- "crypto/comp/comp_lib.c"
- ],
- "crypto/conf/libcrypto-lib-conf_api.o" => [
- "crypto/conf/conf_api.c"
- ],
- "crypto/conf/libcrypto-lib-conf_def.o" => [
- "crypto/conf/conf_def.c"
- ],
- "crypto/conf/libcrypto-lib-conf_err.o" => [
- "crypto/conf/conf_err.c"
- ],
- "crypto/conf/libcrypto-lib-conf_lib.o" => [
- "crypto/conf/conf_lib.c"
- ],
- "crypto/conf/libcrypto-lib-conf_mall.o" => [
- "crypto/conf/conf_mall.c"
- ],
- "crypto/conf/libcrypto-lib-conf_mod.o" => [
- "crypto/conf/conf_mod.c"
- ],
- "crypto/conf/libcrypto-lib-conf_sap.o" => [
- "crypto/conf/conf_sap.c"
- ],
- "crypto/conf/libcrypto-lib-conf_ssl.o" => [
- "crypto/conf/conf_ssl.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_api.o" => [
- "crypto/conf/conf_api.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_def.o" => [
- "crypto/conf/conf_def.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_err.o" => [
- "crypto/conf/conf_err.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_lib.o" => [
- "crypto/conf/conf_lib.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_mall.o" => [
- "crypto/conf/conf_mall.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_mod.o" => [
- "crypto/conf/conf_mod.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_sap.o" => [
- "crypto/conf/conf_sap.c"
- ],
- "crypto/conf/libcrypto-shlib-conf_ssl.o" => [
- "crypto/conf/conf_ssl.c"
- ],
- "crypto/crmf/libcrypto-lib-crmf_asn.o" => [
- "crypto/crmf/crmf_asn.c"
- ],
- "crypto/crmf/libcrypto-lib-crmf_err.o" => [
- "crypto/crmf/crmf_err.c"
- ],
- "crypto/crmf/libcrypto-lib-crmf_lib.o" => [
- "crypto/crmf/crmf_lib.c"
- ],
- "crypto/crmf/libcrypto-lib-crmf_pbm.o" => [
- "crypto/crmf/crmf_pbm.c"
- ],
- "crypto/crmf/libcrypto-shlib-crmf_asn.o" => [
- "crypto/crmf/crmf_asn.c"
- ],
- "crypto/crmf/libcrypto-shlib-crmf_err.o" => [
- "crypto/crmf/crmf_err.c"
- ],
- "crypto/crmf/libcrypto-shlib-crmf_lib.o" => [
- "crypto/crmf/crmf_lib.c"
- ],
- "crypto/crmf/libcrypto-shlib-crmf_pbm.o" => [
- "crypto/crmf/crmf_pbm.c"
- ],
- "crypto/ct/libcrypto-lib-ct_b64.o" => [
- "crypto/ct/ct_b64.c"
- ],
- "crypto/ct/libcrypto-lib-ct_err.o" => [
- "crypto/ct/ct_err.c"
- ],
- "crypto/ct/libcrypto-lib-ct_log.o" => [
- "crypto/ct/ct_log.c"
- ],
- "crypto/ct/libcrypto-lib-ct_oct.o" => [
- "crypto/ct/ct_oct.c"
- ],
- "crypto/ct/libcrypto-lib-ct_policy.o" => [
- "crypto/ct/ct_policy.c"
- ],
- "crypto/ct/libcrypto-lib-ct_prn.o" => [
- "crypto/ct/ct_prn.c"
- ],
- "crypto/ct/libcrypto-lib-ct_sct.o" => [
- "crypto/ct/ct_sct.c"
- ],
- "crypto/ct/libcrypto-lib-ct_sct_ctx.o" => [
- "crypto/ct/ct_sct_ctx.c"
- ],
- "crypto/ct/libcrypto-lib-ct_vfy.o" => [
- "crypto/ct/ct_vfy.c"
- ],
- "crypto/ct/libcrypto-lib-ct_x509v3.o" => [
- "crypto/ct/ct_x509v3.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_b64.o" => [
- "crypto/ct/ct_b64.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_err.o" => [
- "crypto/ct/ct_err.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_log.o" => [
- "crypto/ct/ct_log.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_oct.o" => [
- "crypto/ct/ct_oct.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_policy.o" => [
- "crypto/ct/ct_policy.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_prn.o" => [
- "crypto/ct/ct_prn.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_sct.o" => [
- "crypto/ct/ct_sct.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_sct_ctx.o" => [
- "crypto/ct/ct_sct_ctx.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_vfy.o" => [
- "crypto/ct/ct_vfy.c"
- ],
- "crypto/ct/libcrypto-shlib-ct_x509v3.o" => [
- "crypto/ct/ct_x509v3.c"
- ],
- "crypto/des/libcrypto-lib-cbc_cksm.o" => [
- "crypto/des/cbc_cksm.c"
- ],
- "crypto/des/libcrypto-lib-cbc_enc.o" => [
- "crypto/des/cbc_enc.c"
- ],
- "crypto/des/libcrypto-lib-cfb64ede.o" => [
- "crypto/des/cfb64ede.c"
- ],
- "crypto/des/libcrypto-lib-cfb64enc.o" => [
- "crypto/des/cfb64enc.c"
- ],
- "crypto/des/libcrypto-lib-cfb_enc.o" => [
- "crypto/des/cfb_enc.c"
- ],
- "crypto/des/libcrypto-lib-des_enc.o" => [
- "crypto/des/des_enc.c"
- ],
- "crypto/des/libcrypto-lib-ecb3_enc.o" => [
- "crypto/des/ecb3_enc.c"
- ],
- "crypto/des/libcrypto-lib-ecb_enc.o" => [
- "crypto/des/ecb_enc.c"
- ],
- "crypto/des/libcrypto-lib-fcrypt.o" => [
- "crypto/des/fcrypt.c"
- ],
- "crypto/des/libcrypto-lib-fcrypt_b.o" => [
- "crypto/des/fcrypt_b.c"
- ],
- "crypto/des/libcrypto-lib-ofb64ede.o" => [
- "crypto/des/ofb64ede.c"
- ],
- "crypto/des/libcrypto-lib-ofb64enc.o" => [
- "crypto/des/ofb64enc.c"
- ],
- "crypto/des/libcrypto-lib-ofb_enc.o" => [
- "crypto/des/ofb_enc.c"
- ],
- "crypto/des/libcrypto-lib-pcbc_enc.o" => [
- "crypto/des/pcbc_enc.c"
- ],
- "crypto/des/libcrypto-lib-qud_cksm.o" => [
- "crypto/des/qud_cksm.c"
- ],
- "crypto/des/libcrypto-lib-rand_key.o" => [
- "crypto/des/rand_key.c"
- ],
- "crypto/des/libcrypto-lib-set_key.o" => [
- "crypto/des/set_key.c"
- ],
- "crypto/des/libcrypto-lib-str2key.o" => [
- "crypto/des/str2key.c"
- ],
- "crypto/des/libcrypto-lib-xcbc_enc.o" => [
- "crypto/des/xcbc_enc.c"
- ],
- "crypto/des/libcrypto-shlib-cbc_cksm.o" => [
- "crypto/des/cbc_cksm.c"
- ],
- "crypto/des/libcrypto-shlib-cbc_enc.o" => [
- "crypto/des/cbc_enc.c"
- ],
- "crypto/des/libcrypto-shlib-cfb64ede.o" => [
- "crypto/des/cfb64ede.c"
- ],
- "crypto/des/libcrypto-shlib-cfb64enc.o" => [
- "crypto/des/cfb64enc.c"
- ],
- "crypto/des/libcrypto-shlib-cfb_enc.o" => [
- "crypto/des/cfb_enc.c"
- ],
- "crypto/des/libcrypto-shlib-des_enc.o" => [
- "crypto/des/des_enc.c"
- ],
- "crypto/des/libcrypto-shlib-ecb3_enc.o" => [
- "crypto/des/ecb3_enc.c"
- ],
- "crypto/des/libcrypto-shlib-ecb_enc.o" => [
- "crypto/des/ecb_enc.c"
- ],
- "crypto/des/libcrypto-shlib-fcrypt.o" => [
- "crypto/des/fcrypt.c"
- ],
- "crypto/des/libcrypto-shlib-fcrypt_b.o" => [
- "crypto/des/fcrypt_b.c"
- ],
- "crypto/des/libcrypto-shlib-ofb64ede.o" => [
- "crypto/des/ofb64ede.c"
- ],
- "crypto/des/libcrypto-shlib-ofb64enc.o" => [
- "crypto/des/ofb64enc.c"
- ],
- "crypto/des/libcrypto-shlib-ofb_enc.o" => [
- "crypto/des/ofb_enc.c"
- ],
- "crypto/des/libcrypto-shlib-pcbc_enc.o" => [
- "crypto/des/pcbc_enc.c"
- ],
- "crypto/des/libcrypto-shlib-qud_cksm.o" => [
- "crypto/des/qud_cksm.c"
- ],
- "crypto/des/libcrypto-shlib-rand_key.o" => [
- "crypto/des/rand_key.c"
- ],
- "crypto/des/libcrypto-shlib-set_key.o" => [
- "crypto/des/set_key.c"
- ],
- "crypto/des/libcrypto-shlib-str2key.o" => [
- "crypto/des/str2key.c"
- ],
- "crypto/des/libcrypto-shlib-xcbc_enc.o" => [
- "crypto/des/xcbc_enc.c"
- ],
- "crypto/des/liblegacy-lib-des_enc.o" => [
- "crypto/des/des_enc.c"
- ],
- "crypto/des/liblegacy-lib-fcrypt_b.o" => [
- "crypto/des/fcrypt_b.c"
- ],
- "crypto/dh/libcrypto-lib-dh_ameth.o" => [
- "crypto/dh/dh_ameth.c"
- ],
- "crypto/dh/libcrypto-lib-dh_asn1.o" => [
- "crypto/dh/dh_asn1.c"
- ],
- "crypto/dh/libcrypto-lib-dh_backend.o" => [
- "crypto/dh/dh_backend.c"
- ],
- "crypto/dh/libcrypto-lib-dh_check.o" => [
- "crypto/dh/dh_check.c"
- ],
- "crypto/dh/libcrypto-lib-dh_depr.o" => [
- "crypto/dh/dh_depr.c"
- ],
- "crypto/dh/libcrypto-lib-dh_err.o" => [
- "crypto/dh/dh_err.c"
- ],
- "crypto/dh/libcrypto-lib-dh_gen.o" => [
- "crypto/dh/dh_gen.c"
- ],
- "crypto/dh/libcrypto-lib-dh_group_params.o" => [
- "crypto/dh/dh_group_params.c"
- ],
- "crypto/dh/libcrypto-lib-dh_kdf.o" => [
- "crypto/dh/dh_kdf.c"
- ],
- "crypto/dh/libcrypto-lib-dh_key.o" => [
- "crypto/dh/dh_key.c"
- ],
- "crypto/dh/libcrypto-lib-dh_lib.o" => [
- "crypto/dh/dh_lib.c"
- ],
- "crypto/dh/libcrypto-lib-dh_meth.o" => [
- "crypto/dh/dh_meth.c"
- ],
- "crypto/dh/libcrypto-lib-dh_pmeth.o" => [
- "crypto/dh/dh_pmeth.c"
- ],
- "crypto/dh/libcrypto-lib-dh_prn.o" => [
- "crypto/dh/dh_prn.c"
- ],
- "crypto/dh/libcrypto-lib-dh_rfc5114.o" => [
- "crypto/dh/dh_rfc5114.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_ameth.o" => [
- "crypto/dh/dh_ameth.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_asn1.o" => [
- "crypto/dh/dh_asn1.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_backend.o" => [
- "crypto/dh/dh_backend.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_check.o" => [
- "crypto/dh/dh_check.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_depr.o" => [
- "crypto/dh/dh_depr.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_err.o" => [
- "crypto/dh/dh_err.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_gen.o" => [
- "crypto/dh/dh_gen.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_group_params.o" => [
- "crypto/dh/dh_group_params.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_kdf.o" => [
- "crypto/dh/dh_kdf.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_key.o" => [
- "crypto/dh/dh_key.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_lib.o" => [
- "crypto/dh/dh_lib.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_meth.o" => [
- "crypto/dh/dh_meth.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_pmeth.o" => [
- "crypto/dh/dh_pmeth.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_prn.o" => [
- "crypto/dh/dh_prn.c"
- ],
- "crypto/dh/libcrypto-shlib-dh_rfc5114.o" => [
- "crypto/dh/dh_rfc5114.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_ameth.o" => [
- "crypto/dsa/dsa_ameth.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_asn1.o" => [
- "crypto/dsa/dsa_asn1.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_backend.o" => [
- "crypto/dsa/dsa_backend.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_check.o" => [
- "crypto/dsa/dsa_check.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_depr.o" => [
- "crypto/dsa/dsa_depr.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_err.o" => [
- "crypto/dsa/dsa_err.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_gen.o" => [
- "crypto/dsa/dsa_gen.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_key.o" => [
- "crypto/dsa/dsa_key.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_lib.o" => [
- "crypto/dsa/dsa_lib.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_meth.o" => [
- "crypto/dsa/dsa_meth.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_ossl.o" => [
- "crypto/dsa/dsa_ossl.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_pmeth.o" => [
- "crypto/dsa/dsa_pmeth.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_prn.o" => [
- "crypto/dsa/dsa_prn.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_sign.o" => [
- "crypto/dsa/dsa_sign.c"
- ],
- "crypto/dsa/libcrypto-lib-dsa_vrf.o" => [
- "crypto/dsa/dsa_vrf.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_ameth.o" => [
- "crypto/dsa/dsa_ameth.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_asn1.o" => [
- "crypto/dsa/dsa_asn1.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_backend.o" => [
- "crypto/dsa/dsa_backend.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_check.o" => [
- "crypto/dsa/dsa_check.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_depr.o" => [
- "crypto/dsa/dsa_depr.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_err.o" => [
- "crypto/dsa/dsa_err.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_gen.o" => [
- "crypto/dsa/dsa_gen.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_key.o" => [
- "crypto/dsa/dsa_key.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_lib.o" => [
- "crypto/dsa/dsa_lib.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_meth.o" => [
- "crypto/dsa/dsa_meth.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_ossl.o" => [
- "crypto/dsa/dsa_ossl.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_pmeth.o" => [
- "crypto/dsa/dsa_pmeth.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_prn.o" => [
- "crypto/dsa/dsa_prn.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_sign.o" => [
- "crypto/dsa/dsa_sign.c"
- ],
- "crypto/dsa/libcrypto-shlib-dsa_vrf.o" => [
- "crypto/dsa/dsa_vrf.c"
- ],
- "crypto/dso/libcrypto-lib-dso_dl.o" => [
- "crypto/dso/dso_dl.c"
- ],
- "crypto/dso/libcrypto-lib-dso_dlfcn.o" => [
- "crypto/dso/dso_dlfcn.c"
- ],
- "crypto/dso/libcrypto-lib-dso_err.o" => [
- "crypto/dso/dso_err.c"
- ],
- "crypto/dso/libcrypto-lib-dso_lib.o" => [
- "crypto/dso/dso_lib.c"
- ],
- "crypto/dso/libcrypto-lib-dso_openssl.o" => [
- "crypto/dso/dso_openssl.c"
- ],
- "crypto/dso/libcrypto-lib-dso_vms.o" => [
- "crypto/dso/dso_vms.c"
- ],
- "crypto/dso/libcrypto-lib-dso_win32.o" => [
- "crypto/dso/dso_win32.c"
- ],
- "crypto/dso/libcrypto-shlib-dso_dl.o" => [
- "crypto/dso/dso_dl.c"
- ],
- "crypto/dso/libcrypto-shlib-dso_dlfcn.o" => [
- "crypto/dso/dso_dlfcn.c"
- ],
- "crypto/dso/libcrypto-shlib-dso_err.o" => [
- "crypto/dso/dso_err.c"
- ],
- "crypto/dso/libcrypto-shlib-dso_lib.o" => [
- "crypto/dso/dso_lib.c"
- ],
- "crypto/dso/libcrypto-shlib-dso_openssl.o" => [
- "crypto/dso/dso_openssl.c"
- ],
- "crypto/dso/libcrypto-shlib-dso_vms.o" => [
- "crypto/dso/dso_vms.c"
- ],
- "crypto/dso/libcrypto-shlib-dso_win32.o" => [
- "crypto/dso/dso_win32.c"
- ],
- "crypto/ec/curve448/arch_32/libcrypto-lib-f_impl32.o" => [
- "crypto/ec/curve448/arch_32/f_impl32.c"
- ],
- "crypto/ec/curve448/arch_32/libcrypto-shlib-f_impl32.o" => [
- "crypto/ec/curve448/arch_32/f_impl32.c"
- ],
- "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o" => [
- "crypto/ec/curve448/arch_64/f_impl64.c"
- ],
- "crypto/ec/curve448/arch_64/libcrypto-shlib-f_impl64.o" => [
- "crypto/ec/curve448/arch_64/f_impl64.c"
- ],
- "crypto/ec/curve448/libcrypto-lib-curve448.o" => [
- "crypto/ec/curve448/curve448.c"
- ],
- "crypto/ec/curve448/libcrypto-lib-curve448_tables.o" => [
- "crypto/ec/curve448/curve448_tables.c"
- ],
- "crypto/ec/curve448/libcrypto-lib-eddsa.o" => [
- "crypto/ec/curve448/eddsa.c"
- ],
- "crypto/ec/curve448/libcrypto-lib-f_generic.o" => [
- "crypto/ec/curve448/f_generic.c"
- ],
- "crypto/ec/curve448/libcrypto-lib-scalar.o" => [
- "crypto/ec/curve448/scalar.c"
- ],
- "crypto/ec/curve448/libcrypto-shlib-curve448.o" => [
- "crypto/ec/curve448/curve448.c"
- ],
- "crypto/ec/curve448/libcrypto-shlib-curve448_tables.o" => [
- "crypto/ec/curve448/curve448_tables.c"
- ],
- "crypto/ec/curve448/libcrypto-shlib-eddsa.o" => [
- "crypto/ec/curve448/eddsa.c"
- ],
- "crypto/ec/curve448/libcrypto-shlib-f_generic.o" => [
- "crypto/ec/curve448/f_generic.c"
- ],
- "crypto/ec/curve448/libcrypto-shlib-scalar.o" => [
- "crypto/ec/curve448/scalar.c"
- ],
- "crypto/ec/libcrypto-lib-curve25519.o" => [
- "crypto/ec/curve25519.c"
- ],
- "crypto/ec/libcrypto-lib-ec2_oct.o" => [
- "crypto/ec/ec2_oct.c"
- ],
- "crypto/ec/libcrypto-lib-ec2_smpl.o" => [
- "crypto/ec/ec2_smpl.c"
- ],
- "crypto/ec/libcrypto-lib-ec_ameth.o" => [
- "crypto/ec/ec_ameth.c"
- ],
- "crypto/ec/libcrypto-lib-ec_asn1.o" => [
- "crypto/ec/ec_asn1.c"
- ],
- "crypto/ec/libcrypto-lib-ec_backend.o" => [
- "crypto/ec/ec_backend.c"
- ],
- "crypto/ec/libcrypto-lib-ec_check.o" => [
- "crypto/ec/ec_check.c"
- ],
- "crypto/ec/libcrypto-lib-ec_curve.o" => [
- "crypto/ec/ec_curve.c"
- ],
- "crypto/ec/libcrypto-lib-ec_cvt.o" => [
- "crypto/ec/ec_cvt.c"
- ],
- "crypto/ec/libcrypto-lib-ec_deprecated.o" => [
- "crypto/ec/ec_deprecated.c"
- ],
- "crypto/ec/libcrypto-lib-ec_err.o" => [
- "crypto/ec/ec_err.c"
- ],
- "crypto/ec/libcrypto-lib-ec_key.o" => [
- "crypto/ec/ec_key.c"
- ],
- "crypto/ec/libcrypto-lib-ec_kmeth.o" => [
- "crypto/ec/ec_kmeth.c"
- ],
- "crypto/ec/libcrypto-lib-ec_lib.o" => [
- "crypto/ec/ec_lib.c"
- ],
- "crypto/ec/libcrypto-lib-ec_mult.o" => [
- "crypto/ec/ec_mult.c"
- ],
- "crypto/ec/libcrypto-lib-ec_oct.o" => [
- "crypto/ec/ec_oct.c"
- ],
- "crypto/ec/libcrypto-lib-ec_pmeth.o" => [
- "crypto/ec/ec_pmeth.c"
- ],
- "crypto/ec/libcrypto-lib-ec_print.o" => [
- "crypto/ec/ec_print.c"
- ],
- "crypto/ec/libcrypto-lib-ecdh_kdf.o" => [
- "crypto/ec/ecdh_kdf.c"
- ],
- "crypto/ec/libcrypto-lib-ecdh_ossl.o" => [
- "crypto/ec/ecdh_ossl.c"
- ],
- "crypto/ec/libcrypto-lib-ecdsa_ossl.o" => [
- "crypto/ec/ecdsa_ossl.c"
- ],
- "crypto/ec/libcrypto-lib-ecdsa_sign.o" => [
- "crypto/ec/ecdsa_sign.c"
- ],
- "crypto/ec/libcrypto-lib-ecdsa_vrf.o" => [
- "crypto/ec/ecdsa_vrf.c"
- ],
- "crypto/ec/libcrypto-lib-eck_prn.o" => [
- "crypto/ec/eck_prn.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_mont.o" => [
- "crypto/ec/ecp_mont.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_nist.o" => [
- "crypto/ec/ecp_nist.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistp224.o" => [
- "crypto/ec/ecp_nistp224.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistp256.o" => [
- "crypto/ec/ecp_nistp256.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistp384.o" => [
- "crypto/ec/ecp_nistp384.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistp521.o" => [
- "crypto/ec/ecp_nistp521.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistputil.o" => [
- "crypto/ec/ecp_nistputil.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistz256-x86_64.o" => [
- "crypto/ec/ecp_nistz256-x86_64.s"
- ],
- "crypto/ec/libcrypto-lib-ecp_nistz256.o" => [
- "crypto/ec/ecp_nistz256.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_oct.o" => [
- "crypto/ec/ecp_oct.c"
- ],
- "crypto/ec/libcrypto-lib-ecp_smpl.o" => [
- "crypto/ec/ecp_smpl.c"
- ],
- "crypto/ec/libcrypto-lib-ecx_backend.o" => [
- "crypto/ec/ecx_backend.c"
- ],
- "crypto/ec/libcrypto-lib-ecx_key.o" => [
- "crypto/ec/ecx_key.c"
- ],
- "crypto/ec/libcrypto-lib-ecx_meth.o" => [
- "crypto/ec/ecx_meth.c"
- ],
- "crypto/ec/libcrypto-lib-x25519-x86_64.o" => [
- "crypto/ec/x25519-x86_64.s"
- ],
- "crypto/ec/libcrypto-shlib-curve25519.o" => [
- "crypto/ec/curve25519.c"
- ],
- "crypto/ec/libcrypto-shlib-ec2_oct.o" => [
- "crypto/ec/ec2_oct.c"
- ],
- "crypto/ec/libcrypto-shlib-ec2_smpl.o" => [
- "crypto/ec/ec2_smpl.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_ameth.o" => [
- "crypto/ec/ec_ameth.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_asn1.o" => [
- "crypto/ec/ec_asn1.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_backend.o" => [
- "crypto/ec/ec_backend.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_check.o" => [
- "crypto/ec/ec_check.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_curve.o" => [
- "crypto/ec/ec_curve.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_cvt.o" => [
- "crypto/ec/ec_cvt.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_deprecated.o" => [
- "crypto/ec/ec_deprecated.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_err.o" => [
- "crypto/ec/ec_err.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_key.o" => [
- "crypto/ec/ec_key.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_kmeth.o" => [
- "crypto/ec/ec_kmeth.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_lib.o" => [
- "crypto/ec/ec_lib.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_mult.o" => [
- "crypto/ec/ec_mult.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_oct.o" => [
- "crypto/ec/ec_oct.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_pmeth.o" => [
- "crypto/ec/ec_pmeth.c"
- ],
- "crypto/ec/libcrypto-shlib-ec_print.o" => [
- "crypto/ec/ec_print.c"
- ],
- "crypto/ec/libcrypto-shlib-ecdh_kdf.o" => [
- "crypto/ec/ecdh_kdf.c"
- ],
- "crypto/ec/libcrypto-shlib-ecdh_ossl.o" => [
- "crypto/ec/ecdh_ossl.c"
- ],
- "crypto/ec/libcrypto-shlib-ecdsa_ossl.o" => [
- "crypto/ec/ecdsa_ossl.c"
- ],
- "crypto/ec/libcrypto-shlib-ecdsa_sign.o" => [
- "crypto/ec/ecdsa_sign.c"
- ],
- "crypto/ec/libcrypto-shlib-ecdsa_vrf.o" => [
- "crypto/ec/ecdsa_vrf.c"
- ],
- "crypto/ec/libcrypto-shlib-eck_prn.o" => [
- "crypto/ec/eck_prn.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_mont.o" => [
- "crypto/ec/ecp_mont.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nist.o" => [
- "crypto/ec/ecp_nist.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistp224.o" => [
- "crypto/ec/ecp_nistp224.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistp256.o" => [
- "crypto/ec/ecp_nistp256.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistp384.o" => [
- "crypto/ec/ecp_nistp384.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistp521.o" => [
- "crypto/ec/ecp_nistp521.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistputil.o" => [
- "crypto/ec/ecp_nistputil.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistz256-x86_64.o" => [
- "crypto/ec/ecp_nistz256-x86_64.s"
- ],
- "crypto/ec/libcrypto-shlib-ecp_nistz256.o" => [
- "crypto/ec/ecp_nistz256.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_oct.o" => [
- "crypto/ec/ecp_oct.c"
- ],
- "crypto/ec/libcrypto-shlib-ecp_smpl.o" => [
- "crypto/ec/ecp_smpl.c"
- ],
- "crypto/ec/libcrypto-shlib-ecx_backend.o" => [
- "crypto/ec/ecx_backend.c"
- ],
- "crypto/ec/libcrypto-shlib-ecx_key.o" => [
- "crypto/ec/ecx_key.c"
- ],
- "crypto/ec/libcrypto-shlib-ecx_meth.o" => [
- "crypto/ec/ecx_meth.c"
- ],
- "crypto/ec/libcrypto-shlib-x25519-x86_64.o" => [
- "crypto/ec/x25519-x86_64.s"
- ],
- "crypto/encode_decode/libcrypto-lib-decoder_err.o" => [
- "crypto/encode_decode/decoder_err.c"
- ],
- "crypto/encode_decode/libcrypto-lib-decoder_lib.o" => [
- "crypto/encode_decode/decoder_lib.c"
- ],
- "crypto/encode_decode/libcrypto-lib-decoder_meth.o" => [
- "crypto/encode_decode/decoder_meth.c"
- ],
- "crypto/encode_decode/libcrypto-lib-decoder_pkey.o" => [
- "crypto/encode_decode/decoder_pkey.c"
- ],
- "crypto/encode_decode/libcrypto-lib-encoder_err.o" => [
- "crypto/encode_decode/encoder_err.c"
- ],
- "crypto/encode_decode/libcrypto-lib-encoder_lib.o" => [
- "crypto/encode_decode/encoder_lib.c"
- ],
- "crypto/encode_decode/libcrypto-lib-encoder_meth.o" => [
- "crypto/encode_decode/encoder_meth.c"
- ],
- "crypto/encode_decode/libcrypto-lib-encoder_pkey.o" => [
- "crypto/encode_decode/encoder_pkey.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-decoder_err.o" => [
- "crypto/encode_decode/decoder_err.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-decoder_lib.o" => [
- "crypto/encode_decode/decoder_lib.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-decoder_meth.o" => [
- "crypto/encode_decode/decoder_meth.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-decoder_pkey.o" => [
- "crypto/encode_decode/decoder_pkey.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-encoder_err.o" => [
- "crypto/encode_decode/encoder_err.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-encoder_lib.o" => [
- "crypto/encode_decode/encoder_lib.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-encoder_meth.o" => [
- "crypto/encode_decode/encoder_meth.c"
- ],
- "crypto/encode_decode/libcrypto-shlib-encoder_pkey.o" => [
- "crypto/encode_decode/encoder_pkey.c"
- ],
- "crypto/engine/libcrypto-lib-eng_all.o" => [
- "crypto/engine/eng_all.c"
- ],
- "crypto/engine/libcrypto-lib-eng_cnf.o" => [
- "crypto/engine/eng_cnf.c"
- ],
- "crypto/engine/libcrypto-lib-eng_ctrl.o" => [
- "crypto/engine/eng_ctrl.c"
- ],
- "crypto/engine/libcrypto-lib-eng_dyn.o" => [
- "crypto/engine/eng_dyn.c"
- ],
- "crypto/engine/libcrypto-lib-eng_err.o" => [
- "crypto/engine/eng_err.c"
- ],
- "crypto/engine/libcrypto-lib-eng_fat.o" => [
- "crypto/engine/eng_fat.c"
- ],
- "crypto/engine/libcrypto-lib-eng_init.o" => [
- "crypto/engine/eng_init.c"
- ],
- "crypto/engine/libcrypto-lib-eng_lib.o" => [
- "crypto/engine/eng_lib.c"
- ],
- "crypto/engine/libcrypto-lib-eng_list.o" => [
- "crypto/engine/eng_list.c"
- ],
- "crypto/engine/libcrypto-lib-eng_openssl.o" => [
- "crypto/engine/eng_openssl.c"
- ],
- "crypto/engine/libcrypto-lib-eng_pkey.o" => [
- "crypto/engine/eng_pkey.c"
- ],
- "crypto/engine/libcrypto-lib-eng_rdrand.o" => [
- "crypto/engine/eng_rdrand.c"
- ],
- "crypto/engine/libcrypto-lib-eng_table.o" => [
- "crypto/engine/eng_table.c"
- ],
- "crypto/engine/libcrypto-lib-tb_asnmth.o" => [
- "crypto/engine/tb_asnmth.c"
- ],
- "crypto/engine/libcrypto-lib-tb_cipher.o" => [
- "crypto/engine/tb_cipher.c"
- ],
- "crypto/engine/libcrypto-lib-tb_dh.o" => [
- "crypto/engine/tb_dh.c"
- ],
- "crypto/engine/libcrypto-lib-tb_digest.o" => [
- "crypto/engine/tb_digest.c"
- ],
- "crypto/engine/libcrypto-lib-tb_dsa.o" => [
- "crypto/engine/tb_dsa.c"
- ],
- "crypto/engine/libcrypto-lib-tb_eckey.o" => [
- "crypto/engine/tb_eckey.c"
- ],
- "crypto/engine/libcrypto-lib-tb_pkmeth.o" => [
- "crypto/engine/tb_pkmeth.c"
- ],
- "crypto/engine/libcrypto-lib-tb_rand.o" => [
- "crypto/engine/tb_rand.c"
- ],
- "crypto/engine/libcrypto-lib-tb_rsa.o" => [
- "crypto/engine/tb_rsa.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_all.o" => [
- "crypto/engine/eng_all.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_cnf.o" => [
- "crypto/engine/eng_cnf.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_ctrl.o" => [
- "crypto/engine/eng_ctrl.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_dyn.o" => [
- "crypto/engine/eng_dyn.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_err.o" => [
- "crypto/engine/eng_err.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_fat.o" => [
- "crypto/engine/eng_fat.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_init.o" => [
- "crypto/engine/eng_init.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_lib.o" => [
- "crypto/engine/eng_lib.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_list.o" => [
- "crypto/engine/eng_list.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_openssl.o" => [
- "crypto/engine/eng_openssl.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_pkey.o" => [
- "crypto/engine/eng_pkey.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_rdrand.o" => [
- "crypto/engine/eng_rdrand.c"
- ],
- "crypto/engine/libcrypto-shlib-eng_table.o" => [
- "crypto/engine/eng_table.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_asnmth.o" => [
- "crypto/engine/tb_asnmth.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_cipher.o" => [
- "crypto/engine/tb_cipher.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_dh.o" => [
- "crypto/engine/tb_dh.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_digest.o" => [
- "crypto/engine/tb_digest.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_dsa.o" => [
- "crypto/engine/tb_dsa.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_eckey.o" => [
- "crypto/engine/tb_eckey.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_pkmeth.o" => [
- "crypto/engine/tb_pkmeth.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_rand.o" => [
- "crypto/engine/tb_rand.c"
- ],
- "crypto/engine/libcrypto-shlib-tb_rsa.o" => [
- "crypto/engine/tb_rsa.c"
- ],
- "crypto/err/libcrypto-lib-err.o" => [
- "crypto/err/err.c"
- ],
- "crypto/err/libcrypto-lib-err_all.o" => [
- "crypto/err/err_all.c"
- ],
- "crypto/err/libcrypto-lib-err_all_legacy.o" => [
- "crypto/err/err_all_legacy.c"
- ],
- "crypto/err/libcrypto-lib-err_blocks.o" => [
- "crypto/err/err_blocks.c"
- ],
- "crypto/err/libcrypto-lib-err_mark.o" => [
- "crypto/err/err_mark.c"
- ],
- "crypto/err/libcrypto-lib-err_prn.o" => [
- "crypto/err/err_prn.c"
- ],
- "crypto/err/libcrypto-lib-err_save.o" => [
- "crypto/err/err_save.c"
- ],
- "crypto/err/libcrypto-shlib-err.o" => [
- "crypto/err/err.c"
- ],
- "crypto/err/libcrypto-shlib-err_all.o" => [
- "crypto/err/err_all.c"
- ],
- "crypto/err/libcrypto-shlib-err_all_legacy.o" => [
- "crypto/err/err_all_legacy.c"
- ],
- "crypto/err/libcrypto-shlib-err_blocks.o" => [
- "crypto/err/err_blocks.c"
- ],
- "crypto/err/libcrypto-shlib-err_mark.o" => [
- "crypto/err/err_mark.c"
- ],
- "crypto/err/libcrypto-shlib-err_prn.o" => [
- "crypto/err/err_prn.c"
- ],
- "crypto/err/libcrypto-shlib-err_save.o" => [
- "crypto/err/err_save.c"
- ],
- "crypto/ess/libcrypto-lib-ess_asn1.o" => [
- "crypto/ess/ess_asn1.c"
- ],
- "crypto/ess/libcrypto-lib-ess_err.o" => [
- "crypto/ess/ess_err.c"
- ],
- "crypto/ess/libcrypto-lib-ess_lib.o" => [
- "crypto/ess/ess_lib.c"
- ],
- "crypto/ess/libcrypto-shlib-ess_asn1.o" => [
- "crypto/ess/ess_asn1.c"
- ],
- "crypto/ess/libcrypto-shlib-ess_err.o" => [
- "crypto/ess/ess_err.c"
- ],
- "crypto/ess/libcrypto-shlib-ess_lib.o" => [
- "crypto/ess/ess_lib.c"
- ],
- "crypto/evp/libcrypto-lib-asymcipher.o" => [
- "crypto/evp/asymcipher.c"
- ],
- "crypto/evp/libcrypto-lib-bio_b64.o" => [
- "crypto/evp/bio_b64.c"
- ],
- "crypto/evp/libcrypto-lib-bio_enc.o" => [
- "crypto/evp/bio_enc.c"
- ],
- "crypto/evp/libcrypto-lib-bio_md.o" => [
- "crypto/evp/bio_md.c"
- ],
- "crypto/evp/libcrypto-lib-bio_ok.o" => [
- "crypto/evp/bio_ok.c"
- ],
- "crypto/evp/libcrypto-lib-c_allc.o" => [
- "crypto/evp/c_allc.c"
- ],
- "crypto/evp/libcrypto-lib-c_alld.o" => [
- "crypto/evp/c_alld.c"
- ],
- "crypto/evp/libcrypto-lib-cmeth_lib.o" => [
- "crypto/evp/cmeth_lib.c"
- ],
- "crypto/evp/libcrypto-lib-ctrl_params_translate.o" => [
- "crypto/evp/ctrl_params_translate.c"
- ],
- "crypto/evp/libcrypto-lib-dh_ctrl.o" => [
- "crypto/evp/dh_ctrl.c"
- ],
- "crypto/evp/libcrypto-lib-dh_support.o" => [
- "crypto/evp/dh_support.c"
- ],
- "crypto/evp/libcrypto-lib-digest.o" => [
- "crypto/evp/digest.c"
- ],
- "crypto/evp/libcrypto-lib-dsa_ctrl.o" => [
- "crypto/evp/dsa_ctrl.c"
- ],
- "crypto/evp/libcrypto-lib-e_aes.o" => [
- "crypto/evp/e_aes.c"
- ],
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o" => [
- "crypto/evp/e_aes_cbc_hmac_sha1.c"
- ],
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o" => [
- "crypto/evp/e_aes_cbc_hmac_sha256.c"
- ],
- "crypto/evp/libcrypto-lib-e_aria.o" => [
- "crypto/evp/e_aria.c"
- ],
- "crypto/evp/libcrypto-lib-e_bf.o" => [
- "crypto/evp/e_bf.c"
- ],
- "crypto/evp/libcrypto-lib-e_camellia.o" => [
- "crypto/evp/e_camellia.c"
- ],
- "crypto/evp/libcrypto-lib-e_cast.o" => [
- "crypto/evp/e_cast.c"
- ],
- "crypto/evp/libcrypto-lib-e_chacha20_poly1305.o" => [
- "crypto/evp/e_chacha20_poly1305.c"
- ],
- "crypto/evp/libcrypto-lib-e_des.o" => [
- "crypto/evp/e_des.c"
- ],
- "crypto/evp/libcrypto-lib-e_des3.o" => [
- "crypto/evp/e_des3.c"
- ],
- "crypto/evp/libcrypto-lib-e_idea.o" => [
- "crypto/evp/e_idea.c"
- ],
- "crypto/evp/libcrypto-lib-e_null.o" => [
- "crypto/evp/e_null.c"
- ],
- "crypto/evp/libcrypto-lib-e_old.o" => [
- "crypto/evp/e_old.c"
- ],
- "crypto/evp/libcrypto-lib-e_rc2.o" => [
- "crypto/evp/e_rc2.c"
- ],
- "crypto/evp/libcrypto-lib-e_rc4.o" => [
- "crypto/evp/e_rc4.c"
- ],
- "crypto/evp/libcrypto-lib-e_rc4_hmac_md5.o" => [
- "crypto/evp/e_rc4_hmac_md5.c"
- ],
- "crypto/evp/libcrypto-lib-e_rc5.o" => [
- "crypto/evp/e_rc5.c"
- ],
- "crypto/evp/libcrypto-lib-e_seed.o" => [
- "crypto/evp/e_seed.c"
- ],
- "crypto/evp/libcrypto-lib-e_sm4.o" => [
- "crypto/evp/e_sm4.c"
- ],
- "crypto/evp/libcrypto-lib-e_xcbc_d.o" => [
- "crypto/evp/e_xcbc_d.c"
- ],
- "crypto/evp/libcrypto-lib-ec_ctrl.o" => [
- "crypto/evp/ec_ctrl.c"
- ],
- "crypto/evp/libcrypto-lib-ec_support.o" => [
- "crypto/evp/ec_support.c"
- ],
- "crypto/evp/libcrypto-lib-encode.o" => [
- "crypto/evp/encode.c"
- ],
- "crypto/evp/libcrypto-lib-evp_cnf.o" => [
- "crypto/evp/evp_cnf.c"
- ],
- "crypto/evp/libcrypto-lib-evp_enc.o" => [
- "crypto/evp/evp_enc.c"
- ],
- "crypto/evp/libcrypto-lib-evp_err.o" => [
- "crypto/evp/evp_err.c"
- ],
- "crypto/evp/libcrypto-lib-evp_fetch.o" => [
- "crypto/evp/evp_fetch.c"
- ],
- "crypto/evp/libcrypto-lib-evp_key.o" => [
- "crypto/evp/evp_key.c"
- ],
- "crypto/evp/libcrypto-lib-evp_lib.o" => [
- "crypto/evp/evp_lib.c"
- ],
- "crypto/evp/libcrypto-lib-evp_pbe.o" => [
- "crypto/evp/evp_pbe.c"
- ],
- "crypto/evp/libcrypto-lib-evp_pkey.o" => [
- "crypto/evp/evp_pkey.c"
- ],
- "crypto/evp/libcrypto-lib-evp_rand.o" => [
- "crypto/evp/evp_rand.c"
- ],
- "crypto/evp/libcrypto-lib-evp_utils.o" => [
- "crypto/evp/evp_utils.c"
- ],
- "crypto/evp/libcrypto-lib-exchange.o" => [
- "crypto/evp/exchange.c"
- ],
- "crypto/evp/libcrypto-lib-kdf_lib.o" => [
- "crypto/evp/kdf_lib.c"
- ],
- "crypto/evp/libcrypto-lib-kdf_meth.o" => [
- "crypto/evp/kdf_meth.c"
- ],
- "crypto/evp/libcrypto-lib-kem.o" => [
- "crypto/evp/kem.c"
- ],
- "crypto/evp/libcrypto-lib-keymgmt_lib.o" => [
- "crypto/evp/keymgmt_lib.c"
- ],
- "crypto/evp/libcrypto-lib-keymgmt_meth.o" => [
- "crypto/evp/keymgmt_meth.c"
- ],
- "crypto/evp/libcrypto-lib-legacy_blake2.o" => [
- "crypto/evp/legacy_blake2.c"
- ],
- "crypto/evp/libcrypto-lib-legacy_md4.o" => [
- "crypto/evp/legacy_md4.c"
- ],
- "crypto/evp/libcrypto-lib-legacy_md5.o" => [
- "crypto/evp/legacy_md5.c"
- ],
- "crypto/evp/libcrypto-lib-legacy_md5_sha1.o" => [
- "crypto/evp/legacy_md5_sha1.c"
- ],
- "crypto/evp/libcrypto-lib-legacy_ripemd.o" => [
- "crypto/evp/legacy_ripemd.c"
- ],
- "crypto/evp/libcrypto-lib-legacy_sha.o" => [
- "crypto/evp/legacy_sha.c"
- ],
- "crypto/evp/libcrypto-lib-legacy_wp.o" => [
- "crypto/evp/legacy_wp.c"
- ],
- "crypto/evp/libcrypto-lib-m_null.o" => [
- "crypto/evp/m_null.c"
- ],
- "crypto/evp/libcrypto-lib-m_sigver.o" => [
- "crypto/evp/m_sigver.c"
- ],
- "crypto/evp/libcrypto-lib-mac_lib.o" => [
- "crypto/evp/mac_lib.c"
- ],
- "crypto/evp/libcrypto-lib-mac_meth.o" => [
- "crypto/evp/mac_meth.c"
- ],
- "crypto/evp/libcrypto-lib-names.o" => [
- "crypto/evp/names.c"
- ],
- "crypto/evp/libcrypto-lib-p5_crpt.o" => [
- "crypto/evp/p5_crpt.c"
- ],
- "crypto/evp/libcrypto-lib-p5_crpt2.o" => [
- "crypto/evp/p5_crpt2.c"
- ],
- "crypto/evp/libcrypto-lib-p_dec.o" => [
- "crypto/evp/p_dec.c"
- ],
- "crypto/evp/libcrypto-lib-p_enc.o" => [
- "crypto/evp/p_enc.c"
- ],
- "crypto/evp/libcrypto-lib-p_legacy.o" => [
- "crypto/evp/p_legacy.c"
- ],
- "crypto/evp/libcrypto-lib-p_lib.o" => [
- "crypto/evp/p_lib.c"
- ],
- "crypto/evp/libcrypto-lib-p_open.o" => [
- "crypto/evp/p_open.c"
- ],
- "crypto/evp/libcrypto-lib-p_seal.o" => [
- "crypto/evp/p_seal.c"
- ],
- "crypto/evp/libcrypto-lib-p_sign.o" => [
- "crypto/evp/p_sign.c"
- ],
- "crypto/evp/libcrypto-lib-p_verify.o" => [
- "crypto/evp/p_verify.c"
- ],
- "crypto/evp/libcrypto-lib-pbe_scrypt.o" => [
- "crypto/evp/pbe_scrypt.c"
- ],
- "crypto/evp/libcrypto-lib-pmeth_check.o" => [
- "crypto/evp/pmeth_check.c"
- ],
- "crypto/evp/libcrypto-lib-pmeth_gn.o" => [
- "crypto/evp/pmeth_gn.c"
- ],
- "crypto/evp/libcrypto-lib-pmeth_lib.o" => [
- "crypto/evp/pmeth_lib.c"
- ],
- "crypto/evp/libcrypto-lib-s_lib.o" => [
- "crypto/evp/s_lib.c"
- ],
- "crypto/evp/libcrypto-lib-signature.o" => [
- "crypto/evp/signature.c"
- ],
- "crypto/evp/libcrypto-lib-skeymgmt_meth.o" => [
- "crypto/evp/skeymgmt_meth.c"
- ],
- "crypto/evp/libcrypto-shlib-asymcipher.o" => [
- "crypto/evp/asymcipher.c"
- ],
- "crypto/evp/libcrypto-shlib-bio_b64.o" => [
- "crypto/evp/bio_b64.c"
- ],
- "crypto/evp/libcrypto-shlib-bio_enc.o" => [
- "crypto/evp/bio_enc.c"
- ],
- "crypto/evp/libcrypto-shlib-bio_md.o" => [
- "crypto/evp/bio_md.c"
- ],
- "crypto/evp/libcrypto-shlib-bio_ok.o" => [
- "crypto/evp/bio_ok.c"
- ],
- "crypto/evp/libcrypto-shlib-c_allc.o" => [
- "crypto/evp/c_allc.c"
- ],
- "crypto/evp/libcrypto-shlib-c_alld.o" => [
- "crypto/evp/c_alld.c"
- ],
- "crypto/evp/libcrypto-shlib-cmeth_lib.o" => [
- "crypto/evp/cmeth_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-ctrl_params_translate.o" => [
- "crypto/evp/ctrl_params_translate.c"
- ],
- "crypto/evp/libcrypto-shlib-dh_ctrl.o" => [
- "crypto/evp/dh_ctrl.c"
- ],
- "crypto/evp/libcrypto-shlib-dh_support.o" => [
- "crypto/evp/dh_support.c"
- ],
- "crypto/evp/libcrypto-shlib-digest.o" => [
- "crypto/evp/digest.c"
- ],
- "crypto/evp/libcrypto-shlib-dsa_ctrl.o" => [
- "crypto/evp/dsa_ctrl.c"
- ],
- "crypto/evp/libcrypto-shlib-e_aes.o" => [
- "crypto/evp/e_aes.c"
- ],
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha1.o" => [
- "crypto/evp/e_aes_cbc_hmac_sha1.c"
- ],
- "crypto/evp/libcrypto-shlib-e_aes_cbc_hmac_sha256.o" => [
- "crypto/evp/e_aes_cbc_hmac_sha256.c"
- ],
- "crypto/evp/libcrypto-shlib-e_aria.o" => [
- "crypto/evp/e_aria.c"
- ],
- "crypto/evp/libcrypto-shlib-e_bf.o" => [
- "crypto/evp/e_bf.c"
- ],
- "crypto/evp/libcrypto-shlib-e_camellia.o" => [
- "crypto/evp/e_camellia.c"
- ],
- "crypto/evp/libcrypto-shlib-e_cast.o" => [
- "crypto/evp/e_cast.c"
- ],
- "crypto/evp/libcrypto-shlib-e_chacha20_poly1305.o" => [
- "crypto/evp/e_chacha20_poly1305.c"
- ],
- "crypto/evp/libcrypto-shlib-e_des.o" => [
- "crypto/evp/e_des.c"
- ],
- "crypto/evp/libcrypto-shlib-e_des3.o" => [
- "crypto/evp/e_des3.c"
- ],
- "crypto/evp/libcrypto-shlib-e_idea.o" => [
- "crypto/evp/e_idea.c"
- ],
- "crypto/evp/libcrypto-shlib-e_null.o" => [
- "crypto/evp/e_null.c"
- ],
- "crypto/evp/libcrypto-shlib-e_old.o" => [
- "crypto/evp/e_old.c"
- ],
- "crypto/evp/libcrypto-shlib-e_rc2.o" => [
- "crypto/evp/e_rc2.c"
- ],
- "crypto/evp/libcrypto-shlib-e_rc4.o" => [
- "crypto/evp/e_rc4.c"
- ],
- "crypto/evp/libcrypto-shlib-e_rc4_hmac_md5.o" => [
- "crypto/evp/e_rc4_hmac_md5.c"
- ],
- "crypto/evp/libcrypto-shlib-e_rc5.o" => [
- "crypto/evp/e_rc5.c"
- ],
- "crypto/evp/libcrypto-shlib-e_seed.o" => [
- "crypto/evp/e_seed.c"
- ],
- "crypto/evp/libcrypto-shlib-e_sm4.o" => [
- "crypto/evp/e_sm4.c"
- ],
- "crypto/evp/libcrypto-shlib-e_xcbc_d.o" => [
- "crypto/evp/e_xcbc_d.c"
- ],
- "crypto/evp/libcrypto-shlib-ec_ctrl.o" => [
- "crypto/evp/ec_ctrl.c"
- ],
- "crypto/evp/libcrypto-shlib-ec_support.o" => [
- "crypto/evp/ec_support.c"
- ],
- "crypto/evp/libcrypto-shlib-encode.o" => [
- "crypto/evp/encode.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_cnf.o" => [
- "crypto/evp/evp_cnf.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_enc.o" => [
- "crypto/evp/evp_enc.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_err.o" => [
- "crypto/evp/evp_err.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_fetch.o" => [
- "crypto/evp/evp_fetch.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_key.o" => [
- "crypto/evp/evp_key.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_lib.o" => [
- "crypto/evp/evp_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_pbe.o" => [
- "crypto/evp/evp_pbe.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_pkey.o" => [
- "crypto/evp/evp_pkey.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_rand.o" => [
- "crypto/evp/evp_rand.c"
- ],
- "crypto/evp/libcrypto-shlib-evp_utils.o" => [
- "crypto/evp/evp_utils.c"
- ],
- "crypto/evp/libcrypto-shlib-exchange.o" => [
- "crypto/evp/exchange.c"
- ],
- "crypto/evp/libcrypto-shlib-kdf_lib.o" => [
- "crypto/evp/kdf_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-kdf_meth.o" => [
- "crypto/evp/kdf_meth.c"
- ],
- "crypto/evp/libcrypto-shlib-kem.o" => [
- "crypto/evp/kem.c"
- ],
- "crypto/evp/libcrypto-shlib-keymgmt_lib.o" => [
- "crypto/evp/keymgmt_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-keymgmt_meth.o" => [
- "crypto/evp/keymgmt_meth.c"
- ],
- "crypto/evp/libcrypto-shlib-legacy_blake2.o" => [
- "crypto/evp/legacy_blake2.c"
- ],
- "crypto/evp/libcrypto-shlib-legacy_md4.o" => [
- "crypto/evp/legacy_md4.c"
- ],
- "crypto/evp/libcrypto-shlib-legacy_md5.o" => [
- "crypto/evp/legacy_md5.c"
- ],
- "crypto/evp/libcrypto-shlib-legacy_md5_sha1.o" => [
- "crypto/evp/legacy_md5_sha1.c"
- ],
- "crypto/evp/libcrypto-shlib-legacy_ripemd.o" => [
- "crypto/evp/legacy_ripemd.c"
- ],
- "crypto/evp/libcrypto-shlib-legacy_sha.o" => [
- "crypto/evp/legacy_sha.c"
- ],
- "crypto/evp/libcrypto-shlib-legacy_wp.o" => [
- "crypto/evp/legacy_wp.c"
- ],
- "crypto/evp/libcrypto-shlib-m_null.o" => [
- "crypto/evp/m_null.c"
- ],
- "crypto/evp/libcrypto-shlib-m_sigver.o" => [
- "crypto/evp/m_sigver.c"
- ],
- "crypto/evp/libcrypto-shlib-mac_lib.o" => [
- "crypto/evp/mac_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-mac_meth.o" => [
- "crypto/evp/mac_meth.c"
- ],
- "crypto/evp/libcrypto-shlib-names.o" => [
- "crypto/evp/names.c"
- ],
- "crypto/evp/libcrypto-shlib-p5_crpt.o" => [
- "crypto/evp/p5_crpt.c"
- ],
- "crypto/evp/libcrypto-shlib-p5_crpt2.o" => [
- "crypto/evp/p5_crpt2.c"
- ],
- "crypto/evp/libcrypto-shlib-p_dec.o" => [
- "crypto/evp/p_dec.c"
- ],
- "crypto/evp/libcrypto-shlib-p_enc.o" => [
- "crypto/evp/p_enc.c"
- ],
- "crypto/evp/libcrypto-shlib-p_legacy.o" => [
- "crypto/evp/p_legacy.c"
- ],
- "crypto/evp/libcrypto-shlib-p_lib.o" => [
- "crypto/evp/p_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-p_open.o" => [
- "crypto/evp/p_open.c"
- ],
- "crypto/evp/libcrypto-shlib-p_seal.o" => [
- "crypto/evp/p_seal.c"
- ],
- "crypto/evp/libcrypto-shlib-p_sign.o" => [
- "crypto/evp/p_sign.c"
- ],
- "crypto/evp/libcrypto-shlib-p_verify.o" => [
- "crypto/evp/p_verify.c"
- ],
- "crypto/evp/libcrypto-shlib-pbe_scrypt.o" => [
- "crypto/evp/pbe_scrypt.c"
- ],
- "crypto/evp/libcrypto-shlib-pmeth_check.o" => [
- "crypto/evp/pmeth_check.c"
- ],
- "crypto/evp/libcrypto-shlib-pmeth_gn.o" => [
- "crypto/evp/pmeth_gn.c"
- ],
- "crypto/evp/libcrypto-shlib-pmeth_lib.o" => [
- "crypto/evp/pmeth_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-s_lib.o" => [
- "crypto/evp/s_lib.c"
- ],
- "crypto/evp/libcrypto-shlib-signature.o" => [
- "crypto/evp/signature.c"
- ],
- "crypto/evp/libcrypto-shlib-skeymgmt_meth.o" => [
- "crypto/evp/skeymgmt_meth.c"
- ],
- "crypto/ffc/libcrypto-lib-ffc_backend.o" => [
- "crypto/ffc/ffc_backend.c"
- ],
- "crypto/ffc/libcrypto-lib-ffc_dh.o" => [
- "crypto/ffc/ffc_dh.c"
- ],
- "crypto/ffc/libcrypto-lib-ffc_key_generate.o" => [
- "crypto/ffc/ffc_key_generate.c"
- ],
- "crypto/ffc/libcrypto-lib-ffc_key_validate.o" => [
- "crypto/ffc/ffc_key_validate.c"
- ],
- "crypto/ffc/libcrypto-lib-ffc_params.o" => [
- "crypto/ffc/ffc_params.c"
- ],
- "crypto/ffc/libcrypto-lib-ffc_params_generate.o" => [
- "crypto/ffc/ffc_params_generate.c"
- ],
- "crypto/ffc/libcrypto-lib-ffc_params_validate.o" => [
- "crypto/ffc/ffc_params_validate.c"
- ],
- "crypto/ffc/libcrypto-shlib-ffc_backend.o" => [
- "crypto/ffc/ffc_backend.c"
- ],
- "crypto/ffc/libcrypto-shlib-ffc_dh.o" => [
- "crypto/ffc/ffc_dh.c"
- ],
- "crypto/ffc/libcrypto-shlib-ffc_key_generate.o" => [
- "crypto/ffc/ffc_key_generate.c"
- ],
- "crypto/ffc/libcrypto-shlib-ffc_key_validate.o" => [
- "crypto/ffc/ffc_key_validate.c"
- ],
- "crypto/ffc/libcrypto-shlib-ffc_params.o" => [
- "crypto/ffc/ffc_params.c"
- ],
- "crypto/ffc/libcrypto-shlib-ffc_params_generate.o" => [
- "crypto/ffc/ffc_params_generate.c"
- ],
- "crypto/ffc/libcrypto-shlib-ffc_params_validate.o" => [
- "crypto/ffc/ffc_params_validate.c"
- ],
- "crypto/hashtable/libcrypto-lib-hashfunc.o" => [
- "crypto/hashtable/hashfunc.c"
- ],
- "crypto/hashtable/libcrypto-lib-hashtable.o" => [
- "crypto/hashtable/hashtable.c"
- ],
- "crypto/hashtable/libcrypto-shlib-hashfunc.o" => [
- "crypto/hashtable/hashfunc.c"
- ],
- "crypto/hashtable/libcrypto-shlib-hashtable.o" => [
- "crypto/hashtable/hashtable.c"
- ],
- "crypto/hashtable/libssl-shlib-hashfunc.o" => [
- "crypto/hashtable/hashfunc.c"
- ],
- "crypto/hmac/libcrypto-lib-hmac.o" => [
- "crypto/hmac/hmac.c"
- ],
- "crypto/hmac/libcrypto-shlib-hmac.o" => [
- "crypto/hmac/hmac.c"
- ],
- "crypto/hpke/libcrypto-lib-hpke.o" => [
- "crypto/hpke/hpke.c"
- ],
- "crypto/hpke/libcrypto-lib-hpke_util.o" => [
- "crypto/hpke/hpke_util.c"
- ],
- "crypto/hpke/libcrypto-shlib-hpke.o" => [
- "crypto/hpke/hpke.c"
- ],
- "crypto/hpke/libcrypto-shlib-hpke_util.o" => [
- "crypto/hpke/hpke_util.c"
- ],
- "crypto/http/libcrypto-lib-http_client.o" => [
- "crypto/http/http_client.c"
- ],
- "crypto/http/libcrypto-lib-http_err.o" => [
- "crypto/http/http_err.c"
- ],
- "crypto/http/libcrypto-lib-http_lib.o" => [
- "crypto/http/http_lib.c"
- ],
- "crypto/http/libcrypto-shlib-http_client.o" => [
- "crypto/http/http_client.c"
- ],
- "crypto/http/libcrypto-shlib-http_err.o" => [
- "crypto/http/http_err.c"
- ],
- "crypto/http/libcrypto-shlib-http_lib.o" => [
- "crypto/http/http_lib.c"
- ],
- "crypto/kdf/libcrypto-lib-kdf_err.o" => [
- "crypto/kdf/kdf_err.c"
- ],
- "crypto/kdf/libcrypto-shlib-kdf_err.o" => [
- "crypto/kdf/kdf_err.c"
- ],
- "crypto/legacy-dso-cpuid.o" => [
- "crypto/cpuid.c"
- ],
- "crypto/legacy-dso-ctype.o" => [
- "crypto/ctype.c"
- ],
- "crypto/legacy-dso-x86_64cpuid.o" => [
- "crypto/x86_64cpuid.s"
- ],
- "crypto/lhash/libcrypto-lib-lh_stats.o" => [
- "crypto/lhash/lh_stats.c"
- ],
- "crypto/lhash/libcrypto-lib-lhash.o" => [
- "crypto/lhash/lhash.c"
- ],
- "crypto/lhash/libcrypto-shlib-lh_stats.o" => [
- "crypto/lhash/lh_stats.c"
- ],
- "crypto/lhash/libcrypto-shlib-lhash.o" => [
- "crypto/lhash/lhash.c"
- ],
- "crypto/libcrypto-lib-asn1_dsa.o" => [
- "crypto/asn1_dsa.c"
- ],
- "crypto/libcrypto-lib-bsearch.o" => [
- "crypto/bsearch.c"
- ],
- "crypto/libcrypto-lib-comp_methods.o" => [
- "crypto/comp_methods.c"
- ],
- "crypto/libcrypto-lib-context.o" => [
- "crypto/context.c"
- ],
- "crypto/libcrypto-lib-core_algorithm.o" => [
- "crypto/core_algorithm.c"
- ],
- "crypto/libcrypto-lib-core_fetch.o" => [
- "crypto/core_fetch.c"
- ],
- "crypto/libcrypto-lib-core_namemap.o" => [
- "crypto/core_namemap.c"
- ],
- "crypto/libcrypto-lib-cpt_err.o" => [
- "crypto/cpt_err.c"
- ],
- "crypto/libcrypto-lib-cpuid.o" => [
- "crypto/cpuid.c"
- ],
- "crypto/libcrypto-lib-cryptlib.o" => [
- "crypto/cryptlib.c"
- ],
- "crypto/libcrypto-lib-ctype.o" => [
- "crypto/ctype.c"
- ],
- "crypto/libcrypto-lib-cversion.o" => [
- "crypto/cversion.c"
- ],
- "crypto/libcrypto-lib-defaults.o" => [
- "crypto/defaults.c"
- ],
- "crypto/libcrypto-lib-der_writer.o" => [
- "crypto/der_writer.c"
- ],
- "crypto/libcrypto-lib-deterministic_nonce.o" => [
- "crypto/deterministic_nonce.c"
- ],
- "crypto/libcrypto-lib-ebcdic.o" => [
- "crypto/ebcdic.c"
- ],
- "crypto/libcrypto-lib-ex_data.o" => [
- "crypto/ex_data.c"
- ],
- "crypto/libcrypto-lib-getenv.o" => [
- "crypto/getenv.c"
- ],
- "crypto/libcrypto-lib-indicator_core.o" => [
- "crypto/indicator_core.c"
- ],
- "crypto/libcrypto-lib-info.o" => [
- "crypto/info.c"
- ],
- "crypto/libcrypto-lib-init.o" => [
- "crypto/init.c"
- ],
- "crypto/libcrypto-lib-initthread.o" => [
- "crypto/initthread.c"
- ],
- "crypto/libcrypto-lib-mem.o" => [
- "crypto/mem.c"
- ],
- "crypto/libcrypto-lib-mem_sec.o" => [
- "crypto/mem_sec.c"
- ],
- "crypto/libcrypto-lib-o_dir.o" => [
- "crypto/o_dir.c"
- ],
- "crypto/libcrypto-lib-o_fopen.o" => [
- "crypto/o_fopen.c"
- ],
- "crypto/libcrypto-lib-o_init.o" => [
- "crypto/o_init.c"
- ],
- "crypto/libcrypto-lib-o_str.o" => [
- "crypto/o_str.c"
- ],
- "crypto/libcrypto-lib-o_time.o" => [
- "crypto/o_time.c"
- ],
- "crypto/libcrypto-lib-packet.o" => [
- "crypto/packet.c"
- ],
- "crypto/libcrypto-lib-param_build.o" => [
- "crypto/param_build.c"
- ],
- "crypto/libcrypto-lib-param_build_set.o" => [
- "crypto/param_build_set.c"
- ],
- "crypto/libcrypto-lib-params.o" => [
- "crypto/params.c"
- ],
- "crypto/libcrypto-lib-params_dup.o" => [
- "crypto/params_dup.c"
- ],
- "crypto/libcrypto-lib-params_from_text.o" => [
- "crypto/params_from_text.c"
- ],
- "crypto/libcrypto-lib-params_idx.o" => [
- "crypto/params_idx.c"
- ],
- "crypto/libcrypto-lib-passphrase.o" => [
- "crypto/passphrase.c"
- ],
- "crypto/libcrypto-lib-provider.o" => [
- "crypto/provider.c"
- ],
- "crypto/libcrypto-lib-provider_child.o" => [
- "crypto/provider_child.c"
- ],
- "crypto/libcrypto-lib-provider_conf.o" => [
- "crypto/provider_conf.c"
- ],
- "crypto/libcrypto-lib-provider_core.o" => [
- "crypto/provider_core.c"
- ],
- "crypto/libcrypto-lib-provider_predefined.o" => [
- "crypto/provider_predefined.c"
- ],
- "crypto/libcrypto-lib-punycode.o" => [
- "crypto/punycode.c"
- ],
- "crypto/libcrypto-lib-quic_vlint.o" => [
- "crypto/quic_vlint.c"
- ],
- "crypto/libcrypto-lib-self_test_core.o" => [
- "crypto/self_test_core.c"
- ],
- "crypto/libcrypto-lib-sleep.o" => [
- "crypto/sleep.c"
- ],
- "crypto/libcrypto-lib-sparse_array.o" => [
- "crypto/sparse_array.c"
- ],
- "crypto/libcrypto-lib-ssl_err.o" => [
- "crypto/ssl_err.c"
- ],
- "crypto/libcrypto-lib-threads_lib.o" => [
- "crypto/threads_lib.c"
- ],
- "crypto/libcrypto-lib-threads_none.o" => [
- "crypto/threads_none.c"
- ],
- "crypto/libcrypto-lib-threads_pthread.o" => [
- "crypto/threads_pthread.c"
- ],
- "crypto/libcrypto-lib-threads_win.o" => [
- "crypto/threads_win.c"
- ],
- "crypto/libcrypto-lib-time.o" => [
- "crypto/time.c"
- ],
- "crypto/libcrypto-lib-trace.o" => [
- "crypto/trace.c"
- ],
- "crypto/libcrypto-lib-uid.o" => [
- "crypto/uid.c"
- ],
- "crypto/libcrypto-lib-x86_64cpuid.o" => [
- "crypto/x86_64cpuid.s"
- ],
- "crypto/libcrypto-shlib-asn1_dsa.o" => [
- "crypto/asn1_dsa.c"
- ],
- "crypto/libcrypto-shlib-bsearch.o" => [
- "crypto/bsearch.c"
- ],
- "crypto/libcrypto-shlib-comp_methods.o" => [
- "crypto/comp_methods.c"
- ],
- "crypto/libcrypto-shlib-context.o" => [
- "crypto/context.c"
- ],
- "crypto/libcrypto-shlib-core_algorithm.o" => [
- "crypto/core_algorithm.c"
- ],
- "crypto/libcrypto-shlib-core_fetch.o" => [
- "crypto/core_fetch.c"
- ],
- "crypto/libcrypto-shlib-core_namemap.o" => [
- "crypto/core_namemap.c"
- ],
- "crypto/libcrypto-shlib-cpt_err.o" => [
- "crypto/cpt_err.c"
- ],
- "crypto/libcrypto-shlib-cpuid.o" => [
- "crypto/cpuid.c"
- ],
- "crypto/libcrypto-shlib-cryptlib.o" => [
- "crypto/cryptlib.c"
- ],
- "crypto/libcrypto-shlib-ctype.o" => [
- "crypto/ctype.c"
- ],
- "crypto/libcrypto-shlib-cversion.o" => [
- "crypto/cversion.c"
- ],
- "crypto/libcrypto-shlib-defaults.o" => [
- "crypto/defaults.c"
- ],
- "crypto/libcrypto-shlib-der_writer.o" => [
- "crypto/der_writer.c"
- ],
- "crypto/libcrypto-shlib-deterministic_nonce.o" => [
- "crypto/deterministic_nonce.c"
- ],
- "crypto/libcrypto-shlib-ebcdic.o" => [
- "crypto/ebcdic.c"
- ],
- "crypto/libcrypto-shlib-ex_data.o" => [
- "crypto/ex_data.c"
- ],
- "crypto/libcrypto-shlib-getenv.o" => [
- "crypto/getenv.c"
- ],
- "crypto/libcrypto-shlib-indicator_core.o" => [
- "crypto/indicator_core.c"
- ],
- "crypto/libcrypto-shlib-info.o" => [
- "crypto/info.c"
- ],
- "crypto/libcrypto-shlib-init.o" => [
- "crypto/init.c"
- ],
- "crypto/libcrypto-shlib-initthread.o" => [
- "crypto/initthread.c"
- ],
- "crypto/libcrypto-shlib-mem.o" => [
- "crypto/mem.c"
- ],
- "crypto/libcrypto-shlib-mem_sec.o" => [
- "crypto/mem_sec.c"
- ],
- "crypto/libcrypto-shlib-o_dir.o" => [
- "crypto/o_dir.c"
- ],
- "crypto/libcrypto-shlib-o_fopen.o" => [
- "crypto/o_fopen.c"
- ],
- "crypto/libcrypto-shlib-o_init.o" => [
- "crypto/o_init.c"
- ],
- "crypto/libcrypto-shlib-o_str.o" => [
- "crypto/o_str.c"
- ],
- "crypto/libcrypto-shlib-o_time.o" => [
- "crypto/o_time.c"
- ],
- "crypto/libcrypto-shlib-packet.o" => [
- "crypto/packet.c"
- ],
- "crypto/libcrypto-shlib-param_build.o" => [
- "crypto/param_build.c"
- ],
- "crypto/libcrypto-shlib-param_build_set.o" => [
- "crypto/param_build_set.c"
- ],
- "crypto/libcrypto-shlib-params.o" => [
- "crypto/params.c"
- ],
- "crypto/libcrypto-shlib-params_dup.o" => [
- "crypto/params_dup.c"
- ],
- "crypto/libcrypto-shlib-params_from_text.o" => [
- "crypto/params_from_text.c"
- ],
- "crypto/libcrypto-shlib-params_idx.o" => [
- "crypto/params_idx.c"
- ],
- "crypto/libcrypto-shlib-passphrase.o" => [
- "crypto/passphrase.c"
- ],
- "crypto/libcrypto-shlib-provider.o" => [
- "crypto/provider.c"
- ],
- "crypto/libcrypto-shlib-provider_child.o" => [
- "crypto/provider_child.c"
- ],
- "crypto/libcrypto-shlib-provider_conf.o" => [
- "crypto/provider_conf.c"
- ],
- "crypto/libcrypto-shlib-provider_core.o" => [
- "crypto/provider_core.c"
- ],
- "crypto/libcrypto-shlib-provider_predefined.o" => [
- "crypto/provider_predefined.c"
- ],
- "crypto/libcrypto-shlib-punycode.o" => [
- "crypto/punycode.c"
- ],
- "crypto/libcrypto-shlib-quic_vlint.o" => [
- "crypto/quic_vlint.c"
- ],
- "crypto/libcrypto-shlib-self_test_core.o" => [
- "crypto/self_test_core.c"
- ],
- "crypto/libcrypto-shlib-sleep.o" => [
- "crypto/sleep.c"
- ],
- "crypto/libcrypto-shlib-sparse_array.o" => [
- "crypto/sparse_array.c"
- ],
- "crypto/libcrypto-shlib-ssl_err.o" => [
- "crypto/ssl_err.c"
- ],
- "crypto/libcrypto-shlib-threads_lib.o" => [
- "crypto/threads_lib.c"
- ],
- "crypto/libcrypto-shlib-threads_none.o" => [
- "crypto/threads_none.c"
- ],
- "crypto/libcrypto-shlib-threads_pthread.o" => [
- "crypto/threads_pthread.c"
- ],
- "crypto/libcrypto-shlib-threads_win.o" => [
- "crypto/threads_win.c"
- ],
- "crypto/libcrypto-shlib-time.o" => [
- "crypto/time.c"
- ],
- "crypto/libcrypto-shlib-trace.o" => [
- "crypto/trace.c"
- ],
- "crypto/libcrypto-shlib-uid.o" => [
- "crypto/uid.c"
- ],
- "crypto/libcrypto-shlib-x86_64cpuid.o" => [
- "crypto/x86_64cpuid.s"
- ],
- "crypto/libssl-shlib-ctype.o" => [
- "crypto/ctype.c"
- ],
- "crypto/libssl-shlib-getenv.o" => [
- "crypto/getenv.c"
- ],
- "crypto/libssl-shlib-packet.o" => [
- "crypto/packet.c"
- ],
- "crypto/libssl-shlib-quic_vlint.o" => [
- "crypto/quic_vlint.c"
- ],
- "crypto/libssl-shlib-time.o" => [
- "crypto/time.c"
- ],
- "crypto/md4/libcrypto-lib-md4_dgst.o" => [
- "crypto/md4/md4_dgst.c"
- ],
- "crypto/md4/libcrypto-lib-md4_one.o" => [
- "crypto/md4/md4_one.c"
- ],
- "crypto/md4/libcrypto-shlib-md4_dgst.o" => [
- "crypto/md4/md4_dgst.c"
- ],
- "crypto/md4/libcrypto-shlib-md4_one.o" => [
- "crypto/md4/md4_one.c"
- ],
- "crypto/md5/libcrypto-lib-md5-x86_64.o" => [
- "crypto/md5/md5-x86_64.s"
- ],
- "crypto/md5/libcrypto-lib-md5_dgst.o" => [
- "crypto/md5/md5_dgst.c"
- ],
- "crypto/md5/libcrypto-lib-md5_one.o" => [
- "crypto/md5/md5_one.c"
- ],
- "crypto/md5/libcrypto-lib-md5_sha1.o" => [
- "crypto/md5/md5_sha1.c"
- ],
- "crypto/md5/libcrypto-shlib-md5-x86_64.o" => [
- "crypto/md5/md5-x86_64.s"
- ],
- "crypto/md5/libcrypto-shlib-md5_dgst.o" => [
- "crypto/md5/md5_dgst.c"
- ],
- "crypto/md5/libcrypto-shlib-md5_one.o" => [
- "crypto/md5/md5_one.c"
- ],
- "crypto/md5/libcrypto-shlib-md5_sha1.o" => [
- "crypto/md5/md5_sha1.c"
- ],
- "crypto/md5/liblegacy-lib-md5-x86_64.o" => [
- "crypto/md5/md5-x86_64.s"
- ],
- "crypto/md5/liblegacy-lib-md5_dgst.o" => [
- "crypto/md5/md5_dgst.c"
- ],
- "crypto/md5/liblegacy-lib-md5_one.o" => [
- "crypto/md5/md5_one.c"
- ],
- "crypto/md5/liblegacy-lib-md5_sha1.o" => [
- "crypto/md5/md5_sha1.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_encoders.o" => [
- "crypto/ml_dsa/ml_dsa_encoders.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_key.o" => [
- "crypto/ml_dsa/ml_dsa_key.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_key_compress.o" => [
- "crypto/ml_dsa/ml_dsa_key_compress.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_matrix.o" => [
- "crypto/ml_dsa/ml_dsa_matrix.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_ntt.o" => [
- "crypto/ml_dsa/ml_dsa_ntt.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_params.o" => [
- "crypto/ml_dsa/ml_dsa_params.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_sample.o" => [
- "crypto/ml_dsa/ml_dsa_sample.c"
- ],
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_sign.o" => [
- "crypto/ml_dsa/ml_dsa_sign.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_encoders.o" => [
- "crypto/ml_dsa/ml_dsa_encoders.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_key.o" => [
- "crypto/ml_dsa/ml_dsa_key.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_key_compress.o" => [
- "crypto/ml_dsa/ml_dsa_key_compress.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_matrix.o" => [
- "crypto/ml_dsa/ml_dsa_matrix.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_ntt.o" => [
- "crypto/ml_dsa/ml_dsa_ntt.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_params.o" => [
- "crypto/ml_dsa/ml_dsa_params.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sample.o" => [
- "crypto/ml_dsa/ml_dsa_sample.c"
- ],
- "crypto/ml_dsa/libcrypto-shlib-ml_dsa_sign.o" => [
- "crypto/ml_dsa/ml_dsa_sign.c"
- ],
- "crypto/ml_kem/libcrypto-lib-ml_kem.o" => [
- "crypto/ml_kem/ml_kem.c"
- ],
- "crypto/ml_kem/libcrypto-shlib-ml_kem.o" => [
- "crypto/ml_kem/ml_kem.c"
- ],
- "crypto/modes/libcrypto-lib-aes-gcm-avx512.o" => [
- "crypto/modes/aes-gcm-avx512.s"
- ],
- "crypto/modes/libcrypto-lib-aesni-gcm-x86_64.o" => [
- "crypto/modes/aesni-gcm-x86_64.s"
- ],
- "crypto/modes/libcrypto-lib-cbc128.o" => [
- "crypto/modes/cbc128.c"
- ],
- "crypto/modes/libcrypto-lib-ccm128.o" => [
- "crypto/modes/ccm128.c"
- ],
- "crypto/modes/libcrypto-lib-cfb128.o" => [
- "crypto/modes/cfb128.c"
- ],
- "crypto/modes/libcrypto-lib-ctr128.o" => [
- "crypto/modes/ctr128.c"
- ],
- "crypto/modes/libcrypto-lib-cts128.o" => [
- "crypto/modes/cts128.c"
- ],
- "crypto/modes/libcrypto-lib-gcm128.o" => [
- "crypto/modes/gcm128.c"
- ],
- "crypto/modes/libcrypto-lib-ghash-x86_64.o" => [
- "crypto/modes/ghash-x86_64.s"
- ],
- "crypto/modes/libcrypto-lib-ocb128.o" => [
- "crypto/modes/ocb128.c"
- ],
- "crypto/modes/libcrypto-lib-ofb128.o" => [
- "crypto/modes/ofb128.c"
- ],
- "crypto/modes/libcrypto-lib-siv128.o" => [
- "crypto/modes/siv128.c"
- ],
- "crypto/modes/libcrypto-lib-wrap128.o" => [
- "crypto/modes/wrap128.c"
- ],
- "crypto/modes/libcrypto-lib-xts128.o" => [
- "crypto/modes/xts128.c"
- ],
- "crypto/modes/libcrypto-lib-xts128gb.o" => [
- "crypto/modes/xts128gb.c"
- ],
- "crypto/modes/libcrypto-shlib-aes-gcm-avx512.o" => [
- "crypto/modes/aes-gcm-avx512.s"
- ],
- "crypto/modes/libcrypto-shlib-aesni-gcm-x86_64.o" => [
- "crypto/modes/aesni-gcm-x86_64.s"
- ],
- "crypto/modes/libcrypto-shlib-cbc128.o" => [
- "crypto/modes/cbc128.c"
- ],
- "crypto/modes/libcrypto-shlib-ccm128.o" => [
- "crypto/modes/ccm128.c"
- ],
- "crypto/modes/libcrypto-shlib-cfb128.o" => [
- "crypto/modes/cfb128.c"
- ],
- "crypto/modes/libcrypto-shlib-ctr128.o" => [
- "crypto/modes/ctr128.c"
- ],
- "crypto/modes/libcrypto-shlib-cts128.o" => [
- "crypto/modes/cts128.c"
- ],
- "crypto/modes/libcrypto-shlib-gcm128.o" => [
- "crypto/modes/gcm128.c"
- ],
- "crypto/modes/libcrypto-shlib-ghash-x86_64.o" => [
- "crypto/modes/ghash-x86_64.s"
- ],
- "crypto/modes/libcrypto-shlib-ocb128.o" => [
- "crypto/modes/ocb128.c"
- ],
- "crypto/modes/libcrypto-shlib-ofb128.o" => [
- "crypto/modes/ofb128.c"
- ],
- "crypto/modes/libcrypto-shlib-siv128.o" => [
- "crypto/modes/siv128.c"
- ],
- "crypto/modes/libcrypto-shlib-wrap128.o" => [
- "crypto/modes/wrap128.c"
- ],
- "crypto/modes/libcrypto-shlib-xts128.o" => [
- "crypto/modes/xts128.c"
- ],
- "crypto/modes/libcrypto-shlib-xts128gb.o" => [
- "crypto/modes/xts128gb.c"
- ],
- "crypto/objects/libcrypto-lib-o_names.o" => [
- "crypto/objects/o_names.c"
- ],
- "crypto/objects/libcrypto-lib-obj_dat.o" => [
- "crypto/objects/obj_dat.c"
- ],
- "crypto/objects/libcrypto-lib-obj_err.o" => [
- "crypto/objects/obj_err.c"
- ],
- "crypto/objects/libcrypto-lib-obj_lib.o" => [
- "crypto/objects/obj_lib.c"
- ],
- "crypto/objects/libcrypto-lib-obj_xref.o" => [
- "crypto/objects/obj_xref.c"
- ],
- "crypto/objects/libcrypto-shlib-o_names.o" => [
- "crypto/objects/o_names.c"
- ],
- "crypto/objects/libcrypto-shlib-obj_dat.o" => [
- "crypto/objects/obj_dat.c"
- ],
- "crypto/objects/libcrypto-shlib-obj_err.o" => [
- "crypto/objects/obj_err.c"
- ],
- "crypto/objects/libcrypto-shlib-obj_lib.o" => [
- "crypto/objects/obj_lib.c"
- ],
- "crypto/objects/libcrypto-shlib-obj_xref.o" => [
- "crypto/objects/obj_xref.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_asn.o" => [
- "crypto/ocsp/ocsp_asn.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_cl.o" => [
- "crypto/ocsp/ocsp_cl.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_err.o" => [
- "crypto/ocsp/ocsp_err.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_ext.o" => [
- "crypto/ocsp/ocsp_ext.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_http.o" => [
- "crypto/ocsp/ocsp_http.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_lib.o" => [
- "crypto/ocsp/ocsp_lib.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_prn.o" => [
- "crypto/ocsp/ocsp_prn.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_srv.o" => [
- "crypto/ocsp/ocsp_srv.c"
- ],
- "crypto/ocsp/libcrypto-lib-ocsp_vfy.o" => [
- "crypto/ocsp/ocsp_vfy.c"
- ],
- "crypto/ocsp/libcrypto-lib-v3_ocsp.o" => [
- "crypto/ocsp/v3_ocsp.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_asn.o" => [
- "crypto/ocsp/ocsp_asn.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_cl.o" => [
- "crypto/ocsp/ocsp_cl.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_err.o" => [
- "crypto/ocsp/ocsp_err.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_ext.o" => [
- "crypto/ocsp/ocsp_ext.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_http.o" => [
- "crypto/ocsp/ocsp_http.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_lib.o" => [
- "crypto/ocsp/ocsp_lib.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_prn.o" => [
- "crypto/ocsp/ocsp_prn.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_srv.o" => [
- "crypto/ocsp/ocsp_srv.c"
- ],
- "crypto/ocsp/libcrypto-shlib-ocsp_vfy.o" => [
- "crypto/ocsp/ocsp_vfy.c"
- ],
- "crypto/ocsp/libcrypto-shlib-v3_ocsp.o" => [
- "crypto/ocsp/v3_ocsp.c"
- ],
- "crypto/packettest-bin-quic_vlint.o" => [
- "crypto/quic_vlint.c"
- ],
- "crypto/pem/libcrypto-lib-pem_all.o" => [
- "crypto/pem/pem_all.c"
- ],
- "crypto/pem/libcrypto-lib-pem_err.o" => [
- "crypto/pem/pem_err.c"
- ],
- "crypto/pem/libcrypto-lib-pem_info.o" => [
- "crypto/pem/pem_info.c"
- ],
- "crypto/pem/libcrypto-lib-pem_lib.o" => [
- "crypto/pem/pem_lib.c"
- ],
- "crypto/pem/libcrypto-lib-pem_oth.o" => [
- "crypto/pem/pem_oth.c"
- ],
- "crypto/pem/libcrypto-lib-pem_pk8.o" => [
- "crypto/pem/pem_pk8.c"
- ],
- "crypto/pem/libcrypto-lib-pem_pkey.o" => [
- "crypto/pem/pem_pkey.c"
- ],
- "crypto/pem/libcrypto-lib-pem_sign.o" => [
- "crypto/pem/pem_sign.c"
- ],
- "crypto/pem/libcrypto-lib-pem_x509.o" => [
- "crypto/pem/pem_x509.c"
- ],
- "crypto/pem/libcrypto-lib-pem_xaux.o" => [
- "crypto/pem/pem_xaux.c"
- ],
- "crypto/pem/libcrypto-lib-pvkfmt.o" => [
- "crypto/pem/pvkfmt.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_all.o" => [
- "crypto/pem/pem_all.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_err.o" => [
- "crypto/pem/pem_err.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_info.o" => [
- "crypto/pem/pem_info.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_lib.o" => [
- "crypto/pem/pem_lib.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_oth.o" => [
- "crypto/pem/pem_oth.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_pk8.o" => [
- "crypto/pem/pem_pk8.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_pkey.o" => [
- "crypto/pem/pem_pkey.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_sign.o" => [
- "crypto/pem/pem_sign.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_x509.o" => [
- "crypto/pem/pem_x509.c"
- ],
- "crypto/pem/libcrypto-shlib-pem_xaux.o" => [
- "crypto/pem/pem_xaux.c"
- ],
- "crypto/pem/libcrypto-shlib-pvkfmt.o" => [
- "crypto/pem/pvkfmt.c"
- ],
- "crypto/pem/loader_attic-dso-pvkfmt.o" => [
- "crypto/pem/pvkfmt.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_add.o" => [
- "crypto/pkcs12/p12_add.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_asn.o" => [
- "crypto/pkcs12/p12_asn.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_attr.o" => [
- "crypto/pkcs12/p12_attr.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_crpt.o" => [
- "crypto/pkcs12/p12_crpt.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_crt.o" => [
- "crypto/pkcs12/p12_crt.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_decr.o" => [
- "crypto/pkcs12/p12_decr.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_init.o" => [
- "crypto/pkcs12/p12_init.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_key.o" => [
- "crypto/pkcs12/p12_key.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_kiss.o" => [
- "crypto/pkcs12/p12_kiss.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_mutl.o" => [
- "crypto/pkcs12/p12_mutl.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_npas.o" => [
- "crypto/pkcs12/p12_npas.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_p8d.o" => [
- "crypto/pkcs12/p12_p8d.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_p8e.o" => [
- "crypto/pkcs12/p12_p8e.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_sbag.o" => [
- "crypto/pkcs12/p12_sbag.c"
- ],
- "crypto/pkcs12/libcrypto-lib-p12_utl.o" => [
- "crypto/pkcs12/p12_utl.c"
- ],
- "crypto/pkcs12/libcrypto-lib-pk12err.o" => [
- "crypto/pkcs12/pk12err.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_add.o" => [
- "crypto/pkcs12/p12_add.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_asn.o" => [
- "crypto/pkcs12/p12_asn.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_attr.o" => [
- "crypto/pkcs12/p12_attr.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_crpt.o" => [
- "crypto/pkcs12/p12_crpt.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_crt.o" => [
- "crypto/pkcs12/p12_crt.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_decr.o" => [
- "crypto/pkcs12/p12_decr.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_init.o" => [
- "crypto/pkcs12/p12_init.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_key.o" => [
- "crypto/pkcs12/p12_key.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_kiss.o" => [
- "crypto/pkcs12/p12_kiss.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_mutl.o" => [
- "crypto/pkcs12/p12_mutl.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_npas.o" => [
- "crypto/pkcs12/p12_npas.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_p8d.o" => [
- "crypto/pkcs12/p12_p8d.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_p8e.o" => [
- "crypto/pkcs12/p12_p8e.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_sbag.o" => [
- "crypto/pkcs12/p12_sbag.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-p12_utl.o" => [
- "crypto/pkcs12/p12_utl.c"
- ],
- "crypto/pkcs12/libcrypto-shlib-pk12err.o" => [
- "crypto/pkcs12/pk12err.c"
- ],
- "crypto/pkcs7/libcrypto-lib-bio_pk7.o" => [
- "crypto/pkcs7/bio_pk7.c"
- ],
- "crypto/pkcs7/libcrypto-lib-pk7_asn1.o" => [
- "crypto/pkcs7/pk7_asn1.c"
- ],
- "crypto/pkcs7/libcrypto-lib-pk7_attr.o" => [
- "crypto/pkcs7/pk7_attr.c"
- ],
- "crypto/pkcs7/libcrypto-lib-pk7_doit.o" => [
- "crypto/pkcs7/pk7_doit.c"
- ],
- "crypto/pkcs7/libcrypto-lib-pk7_lib.o" => [
- "crypto/pkcs7/pk7_lib.c"
- ],
- "crypto/pkcs7/libcrypto-lib-pk7_mime.o" => [
- "crypto/pkcs7/pk7_mime.c"
- ],
- "crypto/pkcs7/libcrypto-lib-pk7_smime.o" => [
- "crypto/pkcs7/pk7_smime.c"
- ],
- "crypto/pkcs7/libcrypto-lib-pkcs7err.o" => [
- "crypto/pkcs7/pkcs7err.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-bio_pk7.o" => [
- "crypto/pkcs7/bio_pk7.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-pk7_asn1.o" => [
- "crypto/pkcs7/pk7_asn1.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-pk7_attr.o" => [
- "crypto/pkcs7/pk7_attr.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-pk7_doit.o" => [
- "crypto/pkcs7/pk7_doit.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-pk7_lib.o" => [
- "crypto/pkcs7/pk7_lib.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-pk7_mime.o" => [
- "crypto/pkcs7/pk7_mime.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-pk7_smime.o" => [
- "crypto/pkcs7/pk7_smime.c"
- ],
- "crypto/pkcs7/libcrypto-shlib-pkcs7err.o" => [
- "crypto/pkcs7/pkcs7err.c"
- ],
- "crypto/poly1305/libcrypto-lib-poly1305-x86_64.o" => [
- "crypto/poly1305/poly1305-x86_64.s"
- ],
- "crypto/poly1305/libcrypto-lib-poly1305.o" => [
- "crypto/poly1305/poly1305.c"
- ],
- "crypto/poly1305/libcrypto-shlib-poly1305-x86_64.o" => [
- "crypto/poly1305/poly1305-x86_64.s"
- ],
- "crypto/poly1305/libcrypto-shlib-poly1305.o" => [
- "crypto/poly1305/poly1305.c"
- ],
- "crypto/property/libcrypto-lib-defn_cache.o" => [
- "crypto/property/defn_cache.c"
- ],
- "crypto/property/libcrypto-lib-property.o" => [
- "crypto/property/property.c"
- ],
- "crypto/property/libcrypto-lib-property_err.o" => [
- "crypto/property/property_err.c"
- ],
- "crypto/property/libcrypto-lib-property_parse.o" => [
- "crypto/property/property_parse.c"
- ],
- "crypto/property/libcrypto-lib-property_query.o" => [
- "crypto/property/property_query.c"
- ],
- "crypto/property/libcrypto-lib-property_string.o" => [
- "crypto/property/property_string.c"
- ],
- "crypto/property/libcrypto-shlib-defn_cache.o" => [
- "crypto/property/defn_cache.c"
- ],
- "crypto/property/libcrypto-shlib-property.o" => [
- "crypto/property/property.c"
- ],
- "crypto/property/libcrypto-shlib-property_err.o" => [
- "crypto/property/property_err.c"
- ],
- "crypto/property/libcrypto-shlib-property_parse.o" => [
- "crypto/property/property_parse.c"
- ],
- "crypto/property/libcrypto-shlib-property_query.o" => [
- "crypto/property/property_query.c"
- ],
- "crypto/property/libcrypto-shlib-property_string.o" => [
- "crypto/property/property_string.c"
- ],
- "crypto/rand/libcrypto-lib-prov_seed.o" => [
- "crypto/rand/prov_seed.c"
- ],
- "crypto/rand/libcrypto-lib-rand_deprecated.o" => [
- "crypto/rand/rand_deprecated.c"
- ],
- "crypto/rand/libcrypto-lib-rand_err.o" => [
- "crypto/rand/rand_err.c"
- ],
- "crypto/rand/libcrypto-lib-rand_lib.o" => [
- "crypto/rand/rand_lib.c"
- ],
- "crypto/rand/libcrypto-lib-rand_meth.o" => [
- "crypto/rand/rand_meth.c"
- ],
- "crypto/rand/libcrypto-lib-rand_pool.o" => [
- "crypto/rand/rand_pool.c"
- ],
- "crypto/rand/libcrypto-lib-rand_uniform.o" => [
- "crypto/rand/rand_uniform.c"
- ],
- "crypto/rand/libcrypto-lib-randfile.o" => [
- "crypto/rand/randfile.c"
- ],
- "crypto/rand/libcrypto-shlib-prov_seed.o" => [
- "crypto/rand/prov_seed.c"
- ],
- "crypto/rand/libcrypto-shlib-rand_deprecated.o" => [
- "crypto/rand/rand_deprecated.c"
- ],
- "crypto/rand/libcrypto-shlib-rand_err.o" => [
- "crypto/rand/rand_err.c"
- ],
- "crypto/rand/libcrypto-shlib-rand_lib.o" => [
- "crypto/rand/rand_lib.c"
- ],
- "crypto/rand/libcrypto-shlib-rand_meth.o" => [
- "crypto/rand/rand_meth.c"
- ],
- "crypto/rand/libcrypto-shlib-rand_pool.o" => [
- "crypto/rand/rand_pool.c"
- ],
- "crypto/rand/libcrypto-shlib-rand_uniform.o" => [
- "crypto/rand/rand_uniform.c"
- ],
- "crypto/rand/libcrypto-shlib-randfile.o" => [
- "crypto/rand/randfile.c"
- ],
- "crypto/rc2/libcrypto-lib-rc2_cbc.o" => [
- "crypto/rc2/rc2_cbc.c"
- ],
- "crypto/rc2/libcrypto-lib-rc2_ecb.o" => [
- "crypto/rc2/rc2_ecb.c"
- ],
- "crypto/rc2/libcrypto-lib-rc2_skey.o" => [
- "crypto/rc2/rc2_skey.c"
- ],
- "crypto/rc2/libcrypto-lib-rc2cfb64.o" => [
- "crypto/rc2/rc2cfb64.c"
- ],
- "crypto/rc2/libcrypto-lib-rc2ofb64.o" => [
- "crypto/rc2/rc2ofb64.c"
- ],
- "crypto/rc2/libcrypto-shlib-rc2_cbc.o" => [
- "crypto/rc2/rc2_cbc.c"
- ],
- "crypto/rc2/libcrypto-shlib-rc2_ecb.o" => [
- "crypto/rc2/rc2_ecb.c"
- ],
- "crypto/rc2/libcrypto-shlib-rc2_skey.o" => [
- "crypto/rc2/rc2_skey.c"
- ],
- "crypto/rc2/libcrypto-shlib-rc2cfb64.o" => [
- "crypto/rc2/rc2cfb64.c"
- ],
- "crypto/rc2/libcrypto-shlib-rc2ofb64.o" => [
- "crypto/rc2/rc2ofb64.c"
- ],
- "crypto/rc4/libcrypto-lib-rc4-md5-x86_64.o" => [
- "crypto/rc4/rc4-md5-x86_64.s"
- ],
- "crypto/rc4/libcrypto-lib-rc4-x86_64.o" => [
- "crypto/rc4/rc4-x86_64.s"
- ],
- "crypto/rc4/libcrypto-shlib-rc4-md5-x86_64.o" => [
- "crypto/rc4/rc4-md5-x86_64.s"
- ],
- "crypto/rc4/libcrypto-shlib-rc4-x86_64.o" => [
- "crypto/rc4/rc4-x86_64.s"
- ],
- "crypto/rc4/liblegacy-lib-rc4-md5-x86_64.o" => [
- "crypto/rc4/rc4-md5-x86_64.s"
- ],
- "crypto/rc4/liblegacy-lib-rc4-x86_64.o" => [
- "crypto/rc4/rc4-x86_64.s"
- ],
- "crypto/ripemd/libcrypto-lib-rmd_dgst.o" => [
- "crypto/ripemd/rmd_dgst.c"
- ],
- "crypto/ripemd/libcrypto-lib-rmd_one.o" => [
- "crypto/ripemd/rmd_one.c"
- ],
- "crypto/ripemd/libcrypto-shlib-rmd_dgst.o" => [
- "crypto/ripemd/rmd_dgst.c"
- ],
- "crypto/ripemd/libcrypto-shlib-rmd_one.o" => [
- "crypto/ripemd/rmd_one.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_ameth.o" => [
- "crypto/rsa/rsa_ameth.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_asn1.o" => [
- "crypto/rsa/rsa_asn1.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_backend.o" => [
- "crypto/rsa/rsa_backend.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_chk.o" => [
- "crypto/rsa/rsa_chk.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_crpt.o" => [
- "crypto/rsa/rsa_crpt.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_depr.o" => [
- "crypto/rsa/rsa_depr.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_err.o" => [
- "crypto/rsa/rsa_err.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_gen.o" => [
- "crypto/rsa/rsa_gen.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_lib.o" => [
- "crypto/rsa/rsa_lib.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_meth.o" => [
- "crypto/rsa/rsa_meth.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_mp.o" => [
- "crypto/rsa/rsa_mp.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_mp_names.o" => [
- "crypto/rsa/rsa_mp_names.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_none.o" => [
- "crypto/rsa/rsa_none.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_oaep.o" => [
- "crypto/rsa/rsa_oaep.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_ossl.o" => [
- "crypto/rsa/rsa_ossl.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_pk1.o" => [
- "crypto/rsa/rsa_pk1.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_pmeth.o" => [
- "crypto/rsa/rsa_pmeth.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_prn.o" => [
- "crypto/rsa/rsa_prn.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_pss.o" => [
- "crypto/rsa/rsa_pss.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_saos.o" => [
- "crypto/rsa/rsa_saos.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_schemes.o" => [
- "crypto/rsa/rsa_schemes.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_sign.o" => [
- "crypto/rsa/rsa_sign.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_sp800_56b_check.o" => [
- "crypto/rsa/rsa_sp800_56b_check.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_sp800_56b_gen.o" => [
- "crypto/rsa/rsa_sp800_56b_gen.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_x931.o" => [
- "crypto/rsa/rsa_x931.c"
- ],
- "crypto/rsa/libcrypto-lib-rsa_x931g.o" => [
- "crypto/rsa/rsa_x931g.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_ameth.o" => [
- "crypto/rsa/rsa_ameth.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_asn1.o" => [
- "crypto/rsa/rsa_asn1.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_backend.o" => [
- "crypto/rsa/rsa_backend.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_chk.o" => [
- "crypto/rsa/rsa_chk.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_crpt.o" => [
- "crypto/rsa/rsa_crpt.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_depr.o" => [
- "crypto/rsa/rsa_depr.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_err.o" => [
- "crypto/rsa/rsa_err.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_gen.o" => [
- "crypto/rsa/rsa_gen.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_lib.o" => [
- "crypto/rsa/rsa_lib.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_meth.o" => [
- "crypto/rsa/rsa_meth.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_mp.o" => [
- "crypto/rsa/rsa_mp.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_mp_names.o" => [
- "crypto/rsa/rsa_mp_names.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_none.o" => [
- "crypto/rsa/rsa_none.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_oaep.o" => [
- "crypto/rsa/rsa_oaep.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_ossl.o" => [
- "crypto/rsa/rsa_ossl.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_pk1.o" => [
- "crypto/rsa/rsa_pk1.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_pmeth.o" => [
- "crypto/rsa/rsa_pmeth.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_prn.o" => [
- "crypto/rsa/rsa_prn.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_pss.o" => [
- "crypto/rsa/rsa_pss.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_saos.o" => [
- "crypto/rsa/rsa_saos.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_schemes.o" => [
- "crypto/rsa/rsa_schemes.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_sign.o" => [
- "crypto/rsa/rsa_sign.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_check.o" => [
- "crypto/rsa/rsa_sp800_56b_check.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_sp800_56b_gen.o" => [
- "crypto/rsa/rsa_sp800_56b_gen.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_x931.o" => [
- "crypto/rsa/rsa_x931.c"
- ],
- "crypto/rsa/libcrypto-shlib-rsa_x931g.o" => [
- "crypto/rsa/rsa_x931g.c"
- ],
- "crypto/seed/libcrypto-lib-seed.o" => [
- "crypto/seed/seed.c"
- ],
- "crypto/seed/libcrypto-lib-seed_cbc.o" => [
- "crypto/seed/seed_cbc.c"
- ],
- "crypto/seed/libcrypto-lib-seed_cfb.o" => [
- "crypto/seed/seed_cfb.c"
- ],
- "crypto/seed/libcrypto-lib-seed_ecb.o" => [
- "crypto/seed/seed_ecb.c"
- ],
- "crypto/seed/libcrypto-lib-seed_ofb.o" => [
- "crypto/seed/seed_ofb.c"
- ],
- "crypto/seed/libcrypto-shlib-seed.o" => [
- "crypto/seed/seed.c"
- ],
- "crypto/seed/libcrypto-shlib-seed_cbc.o" => [
- "crypto/seed/seed_cbc.c"
- ],
- "crypto/seed/libcrypto-shlib-seed_cfb.o" => [
- "crypto/seed/seed_cfb.c"
- ],
- "crypto/seed/libcrypto-shlib-seed_ecb.o" => [
- "crypto/seed/seed_ecb.c"
- ],
- "crypto/seed/libcrypto-shlib-seed_ofb.o" => [
- "crypto/seed/seed_ofb.c"
- ],
- "crypto/sha/libcrypto-lib-keccak1600-x86_64.o" => [
- "crypto/sha/keccak1600-x86_64.s"
- ],
- "crypto/sha/libcrypto-lib-sha1-mb-x86_64.o" => [
- "crypto/sha/sha1-mb-x86_64.s"
- ],
- "crypto/sha/libcrypto-lib-sha1-x86_64.o" => [
- "crypto/sha/sha1-x86_64.s"
- ],
- "crypto/sha/libcrypto-lib-sha1_one.o" => [
- "crypto/sha/sha1_one.c"
- ],
- "crypto/sha/libcrypto-lib-sha1dgst.o" => [
- "crypto/sha/sha1dgst.c"
- ],
- "crypto/sha/libcrypto-lib-sha256-mb-x86_64.o" => [
- "crypto/sha/sha256-mb-x86_64.s"
- ],
- "crypto/sha/libcrypto-lib-sha256-x86_64.o" => [
- "crypto/sha/sha256-x86_64.s"
- ],
- "crypto/sha/libcrypto-lib-sha256.o" => [
- "crypto/sha/sha256.c"
- ],
- "crypto/sha/libcrypto-lib-sha3.o" => [
- "crypto/sha/sha3.c"
- ],
- "crypto/sha/libcrypto-lib-sha512-x86_64.o" => [
- "crypto/sha/sha512-x86_64.s"
- ],
- "crypto/sha/libcrypto-lib-sha512.o" => [
- "crypto/sha/sha512.c"
- ],
- "crypto/sha/libcrypto-shlib-keccak1600-x86_64.o" => [
- "crypto/sha/keccak1600-x86_64.s"
- ],
- "crypto/sha/libcrypto-shlib-sha1-mb-x86_64.o" => [
- "crypto/sha/sha1-mb-x86_64.s"
- ],
- "crypto/sha/libcrypto-shlib-sha1-x86_64.o" => [
- "crypto/sha/sha1-x86_64.s"
- ],
- "crypto/sha/libcrypto-shlib-sha1_one.o" => [
- "crypto/sha/sha1_one.c"
- ],
- "crypto/sha/libcrypto-shlib-sha1dgst.o" => [
- "crypto/sha/sha1dgst.c"
- ],
- "crypto/sha/libcrypto-shlib-sha256-mb-x86_64.o" => [
- "crypto/sha/sha256-mb-x86_64.s"
- ],
- "crypto/sha/libcrypto-shlib-sha256-x86_64.o" => [
- "crypto/sha/sha256-x86_64.s"
- ],
- "crypto/sha/libcrypto-shlib-sha256.o" => [
- "crypto/sha/sha256.c"
- ],
- "crypto/sha/libcrypto-shlib-sha3.o" => [
- "crypto/sha/sha3.c"
- ],
- "crypto/sha/libcrypto-shlib-sha512-x86_64.o" => [
- "crypto/sha/sha512-x86_64.s"
- ],
- "crypto/sha/libcrypto-shlib-sha512.o" => [
- "crypto/sha/sha512.c"
- ],
- "crypto/siphash/libcrypto-lib-siphash.o" => [
- "crypto/siphash/siphash.c"
- ],
- "crypto/siphash/libcrypto-shlib-siphash.o" => [
- "crypto/siphash/siphash.c"
- ],
- "crypto/siphash/libssl-shlib-siphash.o" => [
- "crypto/siphash/siphash.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_adrs.o" => [
- "crypto/slh_dsa/slh_adrs.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_dsa.o" => [
- "crypto/slh_dsa/slh_dsa.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_dsa_hash_ctx.o" => [
- "crypto/slh_dsa/slh_dsa_hash_ctx.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_dsa_key.o" => [
- "crypto/slh_dsa/slh_dsa_key.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_fors.o" => [
- "crypto/slh_dsa/slh_fors.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_hash.o" => [
- "crypto/slh_dsa/slh_hash.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_hypertree.o" => [
- "crypto/slh_dsa/slh_hypertree.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_params.o" => [
- "crypto/slh_dsa/slh_params.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_wots.o" => [
- "crypto/slh_dsa/slh_wots.c"
- ],
- "crypto/slh_dsa/libcrypto-lib-slh_xmss.o" => [
- "crypto/slh_dsa/slh_xmss.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_adrs.o" => [
- "crypto/slh_dsa/slh_adrs.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa.o" => [
- "crypto/slh_dsa/slh_dsa.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa_hash_ctx.o" => [
- "crypto/slh_dsa/slh_dsa_hash_ctx.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_dsa_key.o" => [
- "crypto/slh_dsa/slh_dsa_key.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_fors.o" => [
- "crypto/slh_dsa/slh_fors.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_hash.o" => [
- "crypto/slh_dsa/slh_hash.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_hypertree.o" => [
- "crypto/slh_dsa/slh_hypertree.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_params.o" => [
- "crypto/slh_dsa/slh_params.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_wots.o" => [
- "crypto/slh_dsa/slh_wots.c"
- ],
- "crypto/slh_dsa/libcrypto-shlib-slh_xmss.o" => [
- "crypto/slh_dsa/slh_xmss.c"
- ],
- "crypto/srp/libcrypto-lib-srp_lib.o" => [
- "crypto/srp/srp_lib.c"
- ],
- "crypto/srp/libcrypto-lib-srp_vfy.o" => [
- "crypto/srp/srp_vfy.c"
- ],
- "crypto/srp/libcrypto-shlib-srp_lib.o" => [
- "crypto/srp/srp_lib.c"
- ],
- "crypto/srp/libcrypto-shlib-srp_vfy.o" => [
- "crypto/srp/srp_vfy.c"
- ],
- "crypto/stack/libcrypto-lib-stack.o" => [
- "crypto/stack/stack.c"
- ],
- "crypto/stack/libcrypto-shlib-stack.o" => [
- "crypto/stack/stack.c"
- ],
- "crypto/store/libcrypto-lib-store_err.o" => [
- "crypto/store/store_err.c"
- ],
- "crypto/store/libcrypto-lib-store_init.o" => [
- "crypto/store/store_init.c"
- ],
- "crypto/store/libcrypto-lib-store_lib.o" => [
- "crypto/store/store_lib.c"
- ],
- "crypto/store/libcrypto-lib-store_meth.o" => [
- "crypto/store/store_meth.c"
- ],
- "crypto/store/libcrypto-lib-store_register.o" => [
- "crypto/store/store_register.c"
- ],
- "crypto/store/libcrypto-lib-store_result.o" => [
- "crypto/store/store_result.c"
- ],
- "crypto/store/libcrypto-lib-store_strings.o" => [
- "crypto/store/store_strings.c"
- ],
- "crypto/store/libcrypto-shlib-store_err.o" => [
- "crypto/store/store_err.c"
- ],
- "crypto/store/libcrypto-shlib-store_init.o" => [
- "crypto/store/store_init.c"
- ],
- "crypto/store/libcrypto-shlib-store_lib.o" => [
- "crypto/store/store_lib.c"
- ],
- "crypto/store/libcrypto-shlib-store_meth.o" => [
- "crypto/store/store_meth.c"
- ],
- "crypto/store/libcrypto-shlib-store_register.o" => [
- "crypto/store/store_register.c"
- ],
- "crypto/store/libcrypto-shlib-store_result.o" => [
- "crypto/store/store_result.c"
- ],
- "crypto/store/libcrypto-shlib-store_strings.o" => [
- "crypto/store/store_strings.c"
- ],
- "crypto/thread/arch/libcrypto-lib-thread_none.o" => [
- "crypto/thread/arch/thread_none.c"
- ],
- "crypto/thread/arch/libcrypto-lib-thread_posix.o" => [
- "crypto/thread/arch/thread_posix.c"
- ],
- "crypto/thread/arch/libcrypto-lib-thread_win.o" => [
- "crypto/thread/arch/thread_win.c"
- ],
- "crypto/thread/arch/libcrypto-shlib-thread_none.o" => [
- "crypto/thread/arch/thread_none.c"
- ],
- "crypto/thread/arch/libcrypto-shlib-thread_posix.o" => [
- "crypto/thread/arch/thread_posix.c"
- ],
- "crypto/thread/arch/libcrypto-shlib-thread_win.o" => [
- "crypto/thread/arch/thread_win.c"
- ],
- "crypto/thread/arch/libssl-shlib-thread_none.o" => [
- "crypto/thread/arch/thread_none.c"
- ],
- "crypto/thread/arch/libssl-shlib-thread_posix.o" => [
- "crypto/thread/arch/thread_posix.c"
- ],
- "crypto/thread/arch/libssl-shlib-thread_win.o" => [
- "crypto/thread/arch/thread_win.c"
- ],
- "crypto/thread/libcrypto-lib-api.o" => [
- "crypto/thread/api.c"
- ],
- "crypto/thread/libcrypto-lib-arch.o" => [
- "crypto/thread/arch.c"
- ],
- "crypto/thread/libcrypto-lib-internal.o" => [
- "crypto/thread/internal.c"
- ],
- "crypto/thread/libcrypto-shlib-api.o" => [
- "crypto/thread/api.c"
- ],
- "crypto/thread/libcrypto-shlib-arch.o" => [
- "crypto/thread/arch.c"
- ],
- "crypto/thread/libcrypto-shlib-internal.o" => [
- "crypto/thread/internal.c"
- ],
- "crypto/thread/libssl-shlib-arch.o" => [
- "crypto/thread/arch.c"
- ],
- "crypto/tls13secretstest-bin-packet.o" => [
- "crypto/packet.c"
- ],
- "crypto/tls13secretstest-bin-quic_vlint.o" => [
- "crypto/quic_vlint.c"
- ],
- "crypto/ts/libcrypto-lib-ts_asn1.o" => [
- "crypto/ts/ts_asn1.c"
- ],
- "crypto/ts/libcrypto-lib-ts_conf.o" => [
- "crypto/ts/ts_conf.c"
- ],
- "crypto/ts/libcrypto-lib-ts_err.o" => [
- "crypto/ts/ts_err.c"
- ],
- "crypto/ts/libcrypto-lib-ts_lib.o" => [
- "crypto/ts/ts_lib.c"
- ],
- "crypto/ts/libcrypto-lib-ts_req_print.o" => [
- "crypto/ts/ts_req_print.c"
- ],
- "crypto/ts/libcrypto-lib-ts_req_utils.o" => [
- "crypto/ts/ts_req_utils.c"
- ],
- "crypto/ts/libcrypto-lib-ts_rsp_print.o" => [
- "crypto/ts/ts_rsp_print.c"
- ],
- "crypto/ts/libcrypto-lib-ts_rsp_sign.o" => [
- "crypto/ts/ts_rsp_sign.c"
- ],
- "crypto/ts/libcrypto-lib-ts_rsp_utils.o" => [
- "crypto/ts/ts_rsp_utils.c"
- ],
- "crypto/ts/libcrypto-lib-ts_rsp_verify.o" => [
- "crypto/ts/ts_rsp_verify.c"
- ],
- "crypto/ts/libcrypto-lib-ts_verify_ctx.o" => [
- "crypto/ts/ts_verify_ctx.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_asn1.o" => [
- "crypto/ts/ts_asn1.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_conf.o" => [
- "crypto/ts/ts_conf.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_err.o" => [
- "crypto/ts/ts_err.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_lib.o" => [
- "crypto/ts/ts_lib.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_req_print.o" => [
- "crypto/ts/ts_req_print.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_req_utils.o" => [
- "crypto/ts/ts_req_utils.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_rsp_print.o" => [
- "crypto/ts/ts_rsp_print.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_rsp_sign.o" => [
- "crypto/ts/ts_rsp_sign.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_rsp_utils.o" => [
- "crypto/ts/ts_rsp_utils.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_rsp_verify.o" => [
- "crypto/ts/ts_rsp_verify.c"
- ],
- "crypto/ts/libcrypto-shlib-ts_verify_ctx.o" => [
- "crypto/ts/ts_verify_ctx.c"
- ],
- "crypto/txt_db/libcrypto-lib-txt_db.o" => [
- "crypto/txt_db/txt_db.c"
- ],
- "crypto/txt_db/libcrypto-shlib-txt_db.o" => [
- "crypto/txt_db/txt_db.c"
- ],
- "crypto/ui/libcrypto-lib-ui_err.o" => [
- "crypto/ui/ui_err.c"
- ],
- "crypto/ui/libcrypto-lib-ui_lib.o" => [
- "crypto/ui/ui_lib.c"
- ],
- "crypto/ui/libcrypto-lib-ui_null.o" => [
- "crypto/ui/ui_null.c"
- ],
- "crypto/ui/libcrypto-lib-ui_openssl.o" => [
- "crypto/ui/ui_openssl.c"
- ],
- "crypto/ui/libcrypto-lib-ui_util.o" => [
- "crypto/ui/ui_util.c"
- ],
- "crypto/ui/libcrypto-shlib-ui_err.o" => [
- "crypto/ui/ui_err.c"
- ],
- "crypto/ui/libcrypto-shlib-ui_lib.o" => [
- "crypto/ui/ui_lib.c"
- ],
- "crypto/ui/libcrypto-shlib-ui_null.o" => [
- "crypto/ui/ui_null.c"
- ],
- "crypto/ui/libcrypto-shlib-ui_openssl.o" => [
- "crypto/ui/ui_openssl.c"
- ],
- "crypto/ui/libcrypto-shlib-ui_util.o" => [
- "crypto/ui/ui_util.c"
- ],
- "crypto/whrlpool/libcrypto-lib-wp-x86_64.o" => [
- "crypto/whrlpool/wp-x86_64.s"
- ],
- "crypto/whrlpool/libcrypto-lib-wp_dgst.o" => [
- "crypto/whrlpool/wp_dgst.c"
- ],
- "crypto/whrlpool/libcrypto-shlib-wp-x86_64.o" => [
- "crypto/whrlpool/wp-x86_64.s"
- ],
- "crypto/whrlpool/libcrypto-shlib-wp_dgst.o" => [
- "crypto/whrlpool/wp_dgst.c"
- ],
- "crypto/x509/libcrypto-lib-by_dir.o" => [
- "crypto/x509/by_dir.c"
- ],
- "crypto/x509/libcrypto-lib-by_file.o" => [
- "crypto/x509/by_file.c"
- ],
- "crypto/x509/libcrypto-lib-by_store.o" => [
- "crypto/x509/by_store.c"
- ],
- "crypto/x509/libcrypto-lib-pcy_cache.o" => [
- "crypto/x509/pcy_cache.c"
- ],
- "crypto/x509/libcrypto-lib-pcy_data.o" => [
- "crypto/x509/pcy_data.c"
- ],
- "crypto/x509/libcrypto-lib-pcy_lib.o" => [
- "crypto/x509/pcy_lib.c"
- ],
- "crypto/x509/libcrypto-lib-pcy_map.o" => [
- "crypto/x509/pcy_map.c"
- ],
- "crypto/x509/libcrypto-lib-pcy_node.o" => [
- "crypto/x509/pcy_node.c"
- ],
- "crypto/x509/libcrypto-lib-pcy_tree.o" => [
- "crypto/x509/pcy_tree.c"
- ],
- "crypto/x509/libcrypto-lib-t_acert.o" => [
- "crypto/x509/t_acert.c"
- ],
- "crypto/x509/libcrypto-lib-t_crl.o" => [
- "crypto/x509/t_crl.c"
- ],
- "crypto/x509/libcrypto-lib-t_req.o" => [
- "crypto/x509/t_req.c"
- ],
- "crypto/x509/libcrypto-lib-t_x509.o" => [
- "crypto/x509/t_x509.c"
- ],
- "crypto/x509/libcrypto-lib-v3_aaa.o" => [
- "crypto/x509/v3_aaa.c"
- ],
- "crypto/x509/libcrypto-lib-v3_ac_tgt.o" => [
- "crypto/x509/v3_ac_tgt.c"
- ],
- "crypto/x509/libcrypto-lib-v3_addr.o" => [
- "crypto/x509/v3_addr.c"
- ],
- "crypto/x509/libcrypto-lib-v3_admis.o" => [
- "crypto/x509/v3_admis.c"
- ],
- "crypto/x509/libcrypto-lib-v3_akeya.o" => [
- "crypto/x509/v3_akeya.c"
- ],
- "crypto/x509/libcrypto-lib-v3_akid.o" => [
- "crypto/x509/v3_akid.c"
- ],
- "crypto/x509/libcrypto-lib-v3_asid.o" => [
- "crypto/x509/v3_asid.c"
- ],
- "crypto/x509/libcrypto-lib-v3_attrdesc.o" => [
- "crypto/x509/v3_attrdesc.c"
- ],
- "crypto/x509/libcrypto-lib-v3_attrmap.o" => [
- "crypto/x509/v3_attrmap.c"
- ],
- "crypto/x509/libcrypto-lib-v3_audit_id.o" => [
- "crypto/x509/v3_audit_id.c"
- ],
- "crypto/x509/libcrypto-lib-v3_authattid.o" => [
- "crypto/x509/v3_authattid.c"
- ],
- "crypto/x509/libcrypto-lib-v3_battcons.o" => [
- "crypto/x509/v3_battcons.c"
- ],
- "crypto/x509/libcrypto-lib-v3_bcons.o" => [
- "crypto/x509/v3_bcons.c"
- ],
- "crypto/x509/libcrypto-lib-v3_bitst.o" => [
- "crypto/x509/v3_bitst.c"
- ],
- "crypto/x509/libcrypto-lib-v3_conf.o" => [
- "crypto/x509/v3_conf.c"
- ],
- "crypto/x509/libcrypto-lib-v3_cpols.o" => [
- "crypto/x509/v3_cpols.c"
- ],
- "crypto/x509/libcrypto-lib-v3_crld.o" => [
- "crypto/x509/v3_crld.c"
- ],
- "crypto/x509/libcrypto-lib-v3_enum.o" => [
- "crypto/x509/v3_enum.c"
- ],
- "crypto/x509/libcrypto-lib-v3_extku.o" => [
- "crypto/x509/v3_extku.c"
- ],
- "crypto/x509/libcrypto-lib-v3_genn.o" => [
- "crypto/x509/v3_genn.c"
- ],
- "crypto/x509/libcrypto-lib-v3_group_ac.o" => [
- "crypto/x509/v3_group_ac.c"
- ],
- "crypto/x509/libcrypto-lib-v3_ia5.o" => [
- "crypto/x509/v3_ia5.c"
- ],
- "crypto/x509/libcrypto-lib-v3_ind_iss.o" => [
- "crypto/x509/v3_ind_iss.c"
- ],
- "crypto/x509/libcrypto-lib-v3_info.o" => [
- "crypto/x509/v3_info.c"
- ],
- "crypto/x509/libcrypto-lib-v3_int.o" => [
- "crypto/x509/v3_int.c"
- ],
- "crypto/x509/libcrypto-lib-v3_iobo.o" => [
- "crypto/x509/v3_iobo.c"
- ],
- "crypto/x509/libcrypto-lib-v3_ist.o" => [
- "crypto/x509/v3_ist.c"
- ],
- "crypto/x509/libcrypto-lib-v3_lib.o" => [
- "crypto/x509/v3_lib.c"
- ],
- "crypto/x509/libcrypto-lib-v3_ncons.o" => [
- "crypto/x509/v3_ncons.c"
- ],
- "crypto/x509/libcrypto-lib-v3_no_ass.o" => [
- "crypto/x509/v3_no_ass.c"
- ],
- "crypto/x509/libcrypto-lib-v3_no_rev_avail.o" => [
- "crypto/x509/v3_no_rev_avail.c"
- ],
- "crypto/x509/libcrypto-lib-v3_pci.o" => [
- "crypto/x509/v3_pci.c"
- ],
- "crypto/x509/libcrypto-lib-v3_pcia.o" => [
- "crypto/x509/v3_pcia.c"
- ],
- "crypto/x509/libcrypto-lib-v3_pcons.o" => [
- "crypto/x509/v3_pcons.c"
- ],
- "crypto/x509/libcrypto-lib-v3_pku.o" => [
- "crypto/x509/v3_pku.c"
- ],
- "crypto/x509/libcrypto-lib-v3_pmaps.o" => [
- "crypto/x509/v3_pmaps.c"
- ],
- "crypto/x509/libcrypto-lib-v3_prn.o" => [
- "crypto/x509/v3_prn.c"
- ],
- "crypto/x509/libcrypto-lib-v3_purp.o" => [
- "crypto/x509/v3_purp.c"
- ],
- "crypto/x509/libcrypto-lib-v3_rolespec.o" => [
- "crypto/x509/v3_rolespec.c"
- ],
- "crypto/x509/libcrypto-lib-v3_san.o" => [
- "crypto/x509/v3_san.c"
- ],
- "crypto/x509/libcrypto-lib-v3_sda.o" => [
- "crypto/x509/v3_sda.c"
- ],
- "crypto/x509/libcrypto-lib-v3_single_use.o" => [
- "crypto/x509/v3_single_use.c"
- ],
- "crypto/x509/libcrypto-lib-v3_skid.o" => [
- "crypto/x509/v3_skid.c"
- ],
- "crypto/x509/libcrypto-lib-v3_soa_id.o" => [
- "crypto/x509/v3_soa_id.c"
- ],
- "crypto/x509/libcrypto-lib-v3_sxnet.o" => [
- "crypto/x509/v3_sxnet.c"
- ],
- "crypto/x509/libcrypto-lib-v3_timespec.o" => [
- "crypto/x509/v3_timespec.c"
- ],
- "crypto/x509/libcrypto-lib-v3_tlsf.o" => [
- "crypto/x509/v3_tlsf.c"
- ],
- "crypto/x509/libcrypto-lib-v3_usernotice.o" => [
- "crypto/x509/v3_usernotice.c"
- ],
- "crypto/x509/libcrypto-lib-v3_utf8.o" => [
- "crypto/x509/v3_utf8.c"
- ],
- "crypto/x509/libcrypto-lib-v3_utl.o" => [
- "crypto/x509/v3_utl.c"
- ],
- "crypto/x509/libcrypto-lib-v3err.o" => [
- "crypto/x509/v3err.c"
- ],
- "crypto/x509/libcrypto-lib-x509_acert.o" => [
- "crypto/x509/x509_acert.c"
- ],
- "crypto/x509/libcrypto-lib-x509_att.o" => [
- "crypto/x509/x509_att.c"
- ],
- "crypto/x509/libcrypto-lib-x509_cmp.o" => [
- "crypto/x509/x509_cmp.c"
- ],
- "crypto/x509/libcrypto-lib-x509_d2.o" => [
- "crypto/x509/x509_d2.c"
- ],
- "crypto/x509/libcrypto-lib-x509_def.o" => [
- "crypto/x509/x509_def.c"
- ],
- "crypto/x509/libcrypto-lib-x509_err.o" => [
- "crypto/x509/x509_err.c"
- ],
- "crypto/x509/libcrypto-lib-x509_ext.o" => [
- "crypto/x509/x509_ext.c"
- ],
- "crypto/x509/libcrypto-lib-x509_lu.o" => [
- "crypto/x509/x509_lu.c"
- ],
- "crypto/x509/libcrypto-lib-x509_meth.o" => [
- "crypto/x509/x509_meth.c"
- ],
- "crypto/x509/libcrypto-lib-x509_obj.o" => [
- "crypto/x509/x509_obj.c"
- ],
- "crypto/x509/libcrypto-lib-x509_r2x.o" => [
- "crypto/x509/x509_r2x.c"
- ],
- "crypto/x509/libcrypto-lib-x509_req.o" => [
- "crypto/x509/x509_req.c"
- ],
- "crypto/x509/libcrypto-lib-x509_set.o" => [
- "crypto/x509/x509_set.c"
- ],
- "crypto/x509/libcrypto-lib-x509_trust.o" => [
- "crypto/x509/x509_trust.c"
- ],
- "crypto/x509/libcrypto-lib-x509_txt.o" => [
- "crypto/x509/x509_txt.c"
- ],
- "crypto/x509/libcrypto-lib-x509_v3.o" => [
- "crypto/x509/x509_v3.c"
- ],
- "crypto/x509/libcrypto-lib-x509_vfy.o" => [
- "crypto/x509/x509_vfy.c"
- ],
- "crypto/x509/libcrypto-lib-x509_vpm.o" => [
- "crypto/x509/x509_vpm.c"
- ],
- "crypto/x509/libcrypto-lib-x509aset.o" => [
- "crypto/x509/x509aset.c"
- ],
- "crypto/x509/libcrypto-lib-x509cset.o" => [
- "crypto/x509/x509cset.c"
- ],
- "crypto/x509/libcrypto-lib-x509name.o" => [
- "crypto/x509/x509name.c"
- ],
- "crypto/x509/libcrypto-lib-x509rset.o" => [
- "crypto/x509/x509rset.c"
- ],
- "crypto/x509/libcrypto-lib-x509spki.o" => [
- "crypto/x509/x509spki.c"
- ],
- "crypto/x509/libcrypto-lib-x509type.o" => [
- "crypto/x509/x509type.c"
- ],
- "crypto/x509/libcrypto-lib-x_all.o" => [
- "crypto/x509/x_all.c"
- ],
- "crypto/x509/libcrypto-lib-x_attrib.o" => [
- "crypto/x509/x_attrib.c"
- ],
- "crypto/x509/libcrypto-lib-x_crl.o" => [
- "crypto/x509/x_crl.c"
- ],
- "crypto/x509/libcrypto-lib-x_exten.o" => [
- "crypto/x509/x_exten.c"
- ],
- "crypto/x509/libcrypto-lib-x_ietfatt.o" => [
- "crypto/x509/x_ietfatt.c"
- ],
- "crypto/x509/libcrypto-lib-x_name.o" => [
- "crypto/x509/x_name.c"
- ],
- "crypto/x509/libcrypto-lib-x_pubkey.o" => [
- "crypto/x509/x_pubkey.c"
- ],
- "crypto/x509/libcrypto-lib-x_req.o" => [
- "crypto/x509/x_req.c"
- ],
- "crypto/x509/libcrypto-lib-x_x509.o" => [
- "crypto/x509/x_x509.c"
- ],
- "crypto/x509/libcrypto-lib-x_x509a.o" => [
- "crypto/x509/x_x509a.c"
- ],
- "crypto/x509/libcrypto-shlib-by_dir.o" => [
- "crypto/x509/by_dir.c"
- ],
- "crypto/x509/libcrypto-shlib-by_file.o" => [
- "crypto/x509/by_file.c"
- ],
- "crypto/x509/libcrypto-shlib-by_store.o" => [
- "crypto/x509/by_store.c"
- ],
- "crypto/x509/libcrypto-shlib-pcy_cache.o" => [
- "crypto/x509/pcy_cache.c"
- ],
- "crypto/x509/libcrypto-shlib-pcy_data.o" => [
- "crypto/x509/pcy_data.c"
- ],
- "crypto/x509/libcrypto-shlib-pcy_lib.o" => [
- "crypto/x509/pcy_lib.c"
- ],
- "crypto/x509/libcrypto-shlib-pcy_map.o" => [
- "crypto/x509/pcy_map.c"
- ],
- "crypto/x509/libcrypto-shlib-pcy_node.o" => [
- "crypto/x509/pcy_node.c"
- ],
- "crypto/x509/libcrypto-shlib-pcy_tree.o" => [
- "crypto/x509/pcy_tree.c"
- ],
- "crypto/x509/libcrypto-shlib-t_acert.o" => [
- "crypto/x509/t_acert.c"
- ],
- "crypto/x509/libcrypto-shlib-t_crl.o" => [
- "crypto/x509/t_crl.c"
- ],
- "crypto/x509/libcrypto-shlib-t_req.o" => [
- "crypto/x509/t_req.c"
- ],
- "crypto/x509/libcrypto-shlib-t_x509.o" => [
- "crypto/x509/t_x509.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_aaa.o" => [
- "crypto/x509/v3_aaa.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_ac_tgt.o" => [
- "crypto/x509/v3_ac_tgt.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_addr.o" => [
- "crypto/x509/v3_addr.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_admis.o" => [
- "crypto/x509/v3_admis.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_akeya.o" => [
- "crypto/x509/v3_akeya.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_akid.o" => [
- "crypto/x509/v3_akid.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_asid.o" => [
- "crypto/x509/v3_asid.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_attrdesc.o" => [
- "crypto/x509/v3_attrdesc.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_attrmap.o" => [
- "crypto/x509/v3_attrmap.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_audit_id.o" => [
- "crypto/x509/v3_audit_id.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_authattid.o" => [
- "crypto/x509/v3_authattid.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_battcons.o" => [
- "crypto/x509/v3_battcons.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_bcons.o" => [
- "crypto/x509/v3_bcons.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_bitst.o" => [
- "crypto/x509/v3_bitst.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_conf.o" => [
- "crypto/x509/v3_conf.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_cpols.o" => [
- "crypto/x509/v3_cpols.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_crld.o" => [
- "crypto/x509/v3_crld.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_enum.o" => [
- "crypto/x509/v3_enum.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_extku.o" => [
- "crypto/x509/v3_extku.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_genn.o" => [
- "crypto/x509/v3_genn.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_group_ac.o" => [
- "crypto/x509/v3_group_ac.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_ia5.o" => [
- "crypto/x509/v3_ia5.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_ind_iss.o" => [
- "crypto/x509/v3_ind_iss.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_info.o" => [
- "crypto/x509/v3_info.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_int.o" => [
- "crypto/x509/v3_int.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_iobo.o" => [
- "crypto/x509/v3_iobo.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_ist.o" => [
- "crypto/x509/v3_ist.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_lib.o" => [
- "crypto/x509/v3_lib.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_ncons.o" => [
- "crypto/x509/v3_ncons.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_no_ass.o" => [
- "crypto/x509/v3_no_ass.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_no_rev_avail.o" => [
- "crypto/x509/v3_no_rev_avail.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_pci.o" => [
- "crypto/x509/v3_pci.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_pcia.o" => [
- "crypto/x509/v3_pcia.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_pcons.o" => [
- "crypto/x509/v3_pcons.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_pku.o" => [
- "crypto/x509/v3_pku.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_pmaps.o" => [
- "crypto/x509/v3_pmaps.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_prn.o" => [
- "crypto/x509/v3_prn.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_purp.o" => [
- "crypto/x509/v3_purp.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_rolespec.o" => [
- "crypto/x509/v3_rolespec.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_san.o" => [
- "crypto/x509/v3_san.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_sda.o" => [
- "crypto/x509/v3_sda.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_single_use.o" => [
- "crypto/x509/v3_single_use.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_skid.o" => [
- "crypto/x509/v3_skid.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_soa_id.o" => [
- "crypto/x509/v3_soa_id.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_sxnet.o" => [
- "crypto/x509/v3_sxnet.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_timespec.o" => [
- "crypto/x509/v3_timespec.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_tlsf.o" => [
- "crypto/x509/v3_tlsf.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_usernotice.o" => [
- "crypto/x509/v3_usernotice.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_utf8.o" => [
- "crypto/x509/v3_utf8.c"
- ],
- "crypto/x509/libcrypto-shlib-v3_utl.o" => [
- "crypto/x509/v3_utl.c"
- ],
- "crypto/x509/libcrypto-shlib-v3err.o" => [
- "crypto/x509/v3err.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_acert.o" => [
- "crypto/x509/x509_acert.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_att.o" => [
- "crypto/x509/x509_att.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_cmp.o" => [
- "crypto/x509/x509_cmp.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_d2.o" => [
- "crypto/x509/x509_d2.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_def.o" => [
- "crypto/x509/x509_def.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_err.o" => [
- "crypto/x509/x509_err.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_ext.o" => [
- "crypto/x509/x509_ext.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_lu.o" => [
- "crypto/x509/x509_lu.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_meth.o" => [
- "crypto/x509/x509_meth.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_obj.o" => [
- "crypto/x509/x509_obj.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_r2x.o" => [
- "crypto/x509/x509_r2x.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_req.o" => [
- "crypto/x509/x509_req.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_set.o" => [
- "crypto/x509/x509_set.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_trust.o" => [
- "crypto/x509/x509_trust.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_txt.o" => [
- "crypto/x509/x509_txt.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_v3.o" => [
- "crypto/x509/x509_v3.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_vfy.o" => [
- "crypto/x509/x509_vfy.c"
- ],
- "crypto/x509/libcrypto-shlib-x509_vpm.o" => [
- "crypto/x509/x509_vpm.c"
- ],
- "crypto/x509/libcrypto-shlib-x509aset.o" => [
- "crypto/x509/x509aset.c"
- ],
- "crypto/x509/libcrypto-shlib-x509cset.o" => [
- "crypto/x509/x509cset.c"
- ],
- "crypto/x509/libcrypto-shlib-x509name.o" => [
- "crypto/x509/x509name.c"
- ],
- "crypto/x509/libcrypto-shlib-x509rset.o" => [
- "crypto/x509/x509rset.c"
- ],
- "crypto/x509/libcrypto-shlib-x509spki.o" => [
- "crypto/x509/x509spki.c"
- ],
- "crypto/x509/libcrypto-shlib-x509type.o" => [
- "crypto/x509/x509type.c"
- ],
- "crypto/x509/libcrypto-shlib-x_all.o" => [
- "crypto/x509/x_all.c"
- ],
- "crypto/x509/libcrypto-shlib-x_attrib.o" => [
- "crypto/x509/x_attrib.c"
- ],
- "crypto/x509/libcrypto-shlib-x_crl.o" => [
- "crypto/x509/x_crl.c"
- ],
- "crypto/x509/libcrypto-shlib-x_exten.o" => [
- "crypto/x509/x_exten.c"
- ],
- "crypto/x509/libcrypto-shlib-x_ietfatt.o" => [
- "crypto/x509/x_ietfatt.c"
- ],
- "crypto/x509/libcrypto-shlib-x_name.o" => [
- "crypto/x509/x_name.c"
- ],
- "crypto/x509/libcrypto-shlib-x_pubkey.o" => [
- "crypto/x509/x_pubkey.c"
- ],
- "crypto/x509/libcrypto-shlib-x_req.o" => [
- "crypto/x509/x_req.c"
- ],
- "crypto/x509/libcrypto-shlib-x_x509.o" => [
- "crypto/x509/x_x509.c"
- ],
- "crypto/x509/libcrypto-shlib-x_x509a.o" => [
- "crypto/x509/x_x509a.c"
- ],
- "engines/capi" => [
- "engines/capi-dso-e_capi.o",
- "engines/capi.ld"
- ],
- "engines/capi-dso-e_capi.o" => [
- "engines/e_capi.c"
- ],
- "engines/dasync" => [
- "engines/dasync-dso-e_dasync.o",
- "engines/dasync.ld"
- ],
- "engines/dasync-dso-e_dasync.o" => [
- "engines/e_dasync.c"
- ],
- "engines/devcrypto" => [
- "engines/devcrypto-dso-e_devcrypto.o",
- "engines/devcrypto.ld"
- ],
- "engines/devcrypto-dso-e_devcrypto.o" => [
- "engines/e_devcrypto.c"
- ],
- "engines/loader_attic" => [
- "crypto/pem/loader_attic-dso-pvkfmt.o",
- "engines/loader_attic-dso-e_loader_attic.o",
- "engines/loader_attic.ld"
- ],
- "engines/loader_attic-dso-e_loader_attic.o" => [
- "engines/e_loader_attic.c"
- ],
- "engines/ossltest" => [
- "engines/ossltest-dso-e_ossltest.o",
- "engines/ossltest.ld"
- ],
- "engines/ossltest-dso-e_ossltest.o" => [
- "engines/e_ossltest.c"
- ],
- "engines/padlock" => [
- "engines/padlock-dso-e_padlock-x86_64.o",
- "engines/padlock-dso-e_padlock.o",
- "engines/padlock.ld"
- ],
- "engines/padlock-dso-e_padlock-x86_64.o" => [
- "engines/e_padlock-x86_64.s"
- ],
- "engines/padlock-dso-e_padlock.o" => [
- "engines/e_padlock.c"
- ],
- "fuzz/acert-test" => [
- "fuzz/acert-test-bin-acert.o",
- "fuzz/acert-test-bin-test-corpus.o"
- ],
- "fuzz/acert-test-bin-acert.o" => [
- "fuzz/acert.c"
- ],
- "fuzz/acert-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/asn1-test" => [
- "fuzz/asn1-test-bin-asn1.o",
- "fuzz/asn1-test-bin-fuzz_rand.o",
- "fuzz/asn1-test-bin-test-corpus.o"
- ],
- "fuzz/asn1-test-bin-asn1.o" => [
- "fuzz/asn1.c"
- ],
- "fuzz/asn1-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/asn1-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/asn1parse-test" => [
- "fuzz/asn1parse-test-bin-asn1parse.o",
- "fuzz/asn1parse-test-bin-test-corpus.o"
- ],
- "fuzz/asn1parse-test-bin-asn1parse.o" => [
- "fuzz/asn1parse.c"
- ],
- "fuzz/asn1parse-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/bignum-test" => [
- "fuzz/bignum-test-bin-bignum.o",
- "fuzz/bignum-test-bin-test-corpus.o"
- ],
- "fuzz/bignum-test-bin-bignum.o" => [
- "fuzz/bignum.c"
- ],
- "fuzz/bignum-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/bndiv-test" => [
- "fuzz/bndiv-test-bin-bndiv.o",
- "fuzz/bndiv-test-bin-test-corpus.o"
- ],
- "fuzz/bndiv-test-bin-bndiv.o" => [
- "fuzz/bndiv.c"
- ],
- "fuzz/bndiv-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/client-test" => [
- "fuzz/client-test-bin-client.o",
- "fuzz/client-test-bin-fuzz_rand.o",
- "fuzz/client-test-bin-test-corpus.o"
- ],
- "fuzz/client-test-bin-client.o" => [
- "fuzz/client.c"
- ],
- "fuzz/client-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/client-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/cmp-test" => [
- "fuzz/cmp-test-bin-cmp.o",
- "fuzz/cmp-test-bin-fuzz_rand.o",
- "fuzz/cmp-test-bin-test-corpus.o"
- ],
- "fuzz/cmp-test-bin-cmp.o" => [
- "fuzz/cmp.c"
- ],
- "fuzz/cmp-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/cmp-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/cms-test" => [
- "fuzz/cms-test-bin-cms.o",
- "fuzz/cms-test-bin-test-corpus.o"
- ],
- "fuzz/cms-test-bin-cms.o" => [
- "fuzz/cms.c"
- ],
- "fuzz/cms-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/conf-test" => [
- "fuzz/conf-test-bin-conf.o",
- "fuzz/conf-test-bin-test-corpus.o"
- ],
- "fuzz/conf-test-bin-conf.o" => [
- "fuzz/conf.c"
- ],
- "fuzz/conf-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/crl-test" => [
- "fuzz/crl-test-bin-crl.o",
- "fuzz/crl-test-bin-test-corpus.o"
- ],
- "fuzz/crl-test-bin-crl.o" => [
- "fuzz/crl.c"
- ],
- "fuzz/crl-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/ct-test" => [
- "fuzz/ct-test-bin-ct.o",
- "fuzz/ct-test-bin-test-corpus.o"
- ],
- "fuzz/ct-test-bin-ct.o" => [
- "fuzz/ct.c"
- ],
- "fuzz/ct-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/decoder-test" => [
- "fuzz/decoder-test-bin-decoder.o",
- "fuzz/decoder-test-bin-fuzz_rand.o",
- "fuzz/decoder-test-bin-test-corpus.o"
- ],
- "fuzz/decoder-test-bin-decoder.o" => [
- "fuzz/decoder.c"
- ],
- "fuzz/decoder-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/decoder-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/dtlsclient-test" => [
- "fuzz/dtlsclient-test-bin-dtlsclient.o",
- "fuzz/dtlsclient-test-bin-fuzz_rand.o",
- "fuzz/dtlsclient-test-bin-test-corpus.o"
- ],
- "fuzz/dtlsclient-test-bin-dtlsclient.o" => [
- "fuzz/dtlsclient.c"
- ],
- "fuzz/dtlsclient-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/dtlsclient-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/dtlsserver-test" => [
- "fuzz/dtlsserver-test-bin-dtlsserver.o",
- "fuzz/dtlsserver-test-bin-fuzz_rand.o",
- "fuzz/dtlsserver-test-bin-test-corpus.o"
- ],
- "fuzz/dtlsserver-test-bin-dtlsserver.o" => [
- "fuzz/dtlsserver.c"
- ],
- "fuzz/dtlsserver-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/dtlsserver-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/hashtable-test" => [
- "fuzz/hashtable-test-bin-fuzz_rand.o",
- "fuzz/hashtable-test-bin-hashtable.o",
- "fuzz/hashtable-test-bin-test-corpus.o"
- ],
- "fuzz/hashtable-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/hashtable-test-bin-hashtable.o" => [
- "fuzz/hashtable.c"
- ],
- "fuzz/hashtable-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/ml-dsa-test" => [
- "fuzz/ml-dsa-test-bin-fuzz_rand.o",
- "fuzz/ml-dsa-test-bin-ml-dsa.o",
- "fuzz/ml-dsa-test-bin-test-corpus.o"
- ],
- "fuzz/ml-dsa-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/ml-dsa-test-bin-ml-dsa.o" => [
- "fuzz/ml-dsa.c"
- ],
- "fuzz/ml-dsa-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/ml-kem-test" => [
- "fuzz/ml-kem-test-bin-fuzz_rand.o",
- "fuzz/ml-kem-test-bin-ml-kem.o",
- "fuzz/ml-kem-test-bin-test-corpus.o"
- ],
- "fuzz/ml-kem-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/ml-kem-test-bin-ml-kem.o" => [
- "fuzz/ml-kem.c"
- ],
- "fuzz/ml-kem-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/pem-test" => [
- "fuzz/pem-test-bin-pem.o",
- "fuzz/pem-test-bin-test-corpus.o"
- ],
- "fuzz/pem-test-bin-pem.o" => [
- "fuzz/pem.c"
- ],
- "fuzz/pem-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/provider-test" => [
- "fuzz/provider-test-bin-provider.o",
- "fuzz/provider-test-bin-test-corpus.o"
- ],
- "fuzz/provider-test-bin-provider.o" => [
- "fuzz/provider.c"
- ],
- "fuzz/provider-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/punycode-test" => [
- "fuzz/punycode-test-bin-punycode.o",
- "fuzz/punycode-test-bin-test-corpus.o"
- ],
- "fuzz/punycode-test-bin-punycode.o" => [
- "fuzz/punycode.c"
- ],
- "fuzz/punycode-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/quic-client-test" => [
- "fuzz/quic-client-test-bin-fuzz_rand.o",
- "fuzz/quic-client-test-bin-quic-client.o",
- "fuzz/quic-client-test-bin-test-corpus.o"
- ],
- "fuzz/quic-client-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/quic-client-test-bin-quic-client.o" => [
- "fuzz/quic-client.c"
- ],
- "fuzz/quic-client-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/quic-lcidm-test" => [
- "fuzz/quic-lcidm-test-bin-fuzz_rand.o",
- "fuzz/quic-lcidm-test-bin-quic-lcidm.o",
- "fuzz/quic-lcidm-test-bin-test-corpus.o"
- ],
- "fuzz/quic-lcidm-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/quic-lcidm-test-bin-quic-lcidm.o" => [
- "fuzz/quic-lcidm.c"
- ],
- "fuzz/quic-lcidm-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/quic-rcidm-test" => [
- "fuzz/quic-rcidm-test-bin-fuzz_rand.o",
- "fuzz/quic-rcidm-test-bin-quic-rcidm.o",
- "fuzz/quic-rcidm-test-bin-test-corpus.o"
- ],
- "fuzz/quic-rcidm-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/quic-rcidm-test-bin-quic-rcidm.o" => [
- "fuzz/quic-rcidm.c"
- ],
- "fuzz/quic-rcidm-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/quic-server-test" => [
- "fuzz/quic-server-test-bin-fuzz_rand.o",
- "fuzz/quic-server-test-bin-quic-server.o",
- "fuzz/quic-server-test-bin-test-corpus.o"
- ],
- "fuzz/quic-server-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/quic-server-test-bin-quic-server.o" => [
- "fuzz/quic-server.c"
- ],
- "fuzz/quic-server-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/quic-srtm-test" => [
- "fuzz/quic-srtm-test-bin-fuzz_rand.o",
- "fuzz/quic-srtm-test-bin-quic-srtm.o",
- "fuzz/quic-srtm-test-bin-test-corpus.o"
- ],
- "fuzz/quic-srtm-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/quic-srtm-test-bin-quic-srtm.o" => [
- "fuzz/quic-srtm.c"
- ],
- "fuzz/quic-srtm-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/server-test" => [
- "fuzz/server-test-bin-fuzz_rand.o",
- "fuzz/server-test-bin-server.o",
- "fuzz/server-test-bin-test-corpus.o"
- ],
- "fuzz/server-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/server-test-bin-server.o" => [
- "fuzz/server.c"
- ],
- "fuzz/server-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/slh-dsa-test" => [
- "fuzz/slh-dsa-test-bin-fuzz_rand.o",
- "fuzz/slh-dsa-test-bin-slh-dsa.o",
- "fuzz/slh-dsa-test-bin-test-corpus.o"
- ],
- "fuzz/slh-dsa-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/slh-dsa-test-bin-slh-dsa.o" => [
- "fuzz/slh-dsa.c"
- ],
- "fuzz/slh-dsa-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/smime-test" => [
- "fuzz/smime-test-bin-smime.o",
- "fuzz/smime-test-bin-test-corpus.o"
- ],
- "fuzz/smime-test-bin-smime.o" => [
- "fuzz/smime.c"
- ],
- "fuzz/smime-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/v3name-test" => [
- "fuzz/v3name-test-bin-test-corpus.o",
- "fuzz/v3name-test-bin-v3name.o"
- ],
- "fuzz/v3name-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/v3name-test-bin-v3name.o" => [
- "fuzz/v3name.c"
- ],
- "fuzz/x509-test" => [
- "fuzz/x509-test-bin-fuzz_rand.o",
- "fuzz/x509-test-bin-test-corpus.o",
- "fuzz/x509-test-bin-x509.o"
- ],
- "fuzz/x509-test-bin-fuzz_rand.o" => [
- "fuzz/fuzz_rand.c"
- ],
- "fuzz/x509-test-bin-test-corpus.o" => [
- "fuzz/test-corpus.c"
- ],
- "fuzz/x509-test-bin-x509.o" => [
- "fuzz/x509.c"
- ],
- "libcrypto" => [
- "crypto/aes/libcrypto-lib-aes-x86_64.o",
- "crypto/aes/libcrypto-lib-aes_cfb.o",
- "crypto/aes/libcrypto-lib-aes_ecb.o",
- "crypto/aes/libcrypto-lib-aes_ige.o",
- "crypto/aes/libcrypto-lib-aes_misc.o",
- "crypto/aes/libcrypto-lib-aes_ofb.o",
- "crypto/aes/libcrypto-lib-aes_wrap.o",
- "crypto/aes/libcrypto-lib-aesni-mb-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-sha1-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-sha256-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-x86_64.o",
- "crypto/aes/libcrypto-lib-aesni-xts-avx512.o",
- "crypto/aes/libcrypto-lib-bsaes-x86_64.o",
- "crypto/aes/libcrypto-lib-vpaes-x86_64.o",
- "crypto/asn1/libcrypto-lib-a_bitstr.o",
- "crypto/asn1/libcrypto-lib-a_d2i_fp.o",
- "crypto/asn1/libcrypto-lib-a_digest.o",
- "crypto/asn1/libcrypto-lib-a_dup.o",
- "crypto/asn1/libcrypto-lib-a_gentm.o",
- "crypto/asn1/libcrypto-lib-a_i2d_fp.o",
- "crypto/asn1/libcrypto-lib-a_int.o",
- "crypto/asn1/libcrypto-lib-a_mbstr.o",
- "crypto/asn1/libcrypto-lib-a_object.o",
- "crypto/asn1/libcrypto-lib-a_octet.o",
- "crypto/asn1/libcrypto-lib-a_print.o",
- "crypto/asn1/libcrypto-lib-a_sign.o",
- "crypto/asn1/libcrypto-lib-a_strex.o",
- "crypto/asn1/libcrypto-lib-a_strnid.o",
- "crypto/asn1/libcrypto-lib-a_time.o",
- "crypto/asn1/libcrypto-lib-a_type.o",
- "crypto/asn1/libcrypto-lib-a_utctm.o",
- "crypto/asn1/libcrypto-lib-a_utf8.o",
- "crypto/asn1/libcrypto-lib-a_verify.o",
- "crypto/asn1/libcrypto-lib-ameth_lib.o",
- "crypto/asn1/libcrypto-lib-asn1_err.o",
- "crypto/asn1/libcrypto-lib-asn1_gen.o",
- "crypto/asn1/libcrypto-lib-asn1_item_list.o",
- "crypto/asn1/libcrypto-lib-asn1_lib.o",
- "crypto/asn1/libcrypto-lib-asn1_parse.o",
- "crypto/asn1/libcrypto-lib-asn_mime.o",
- "crypto/asn1/libcrypto-lib-asn_moid.o",
- "crypto/asn1/libcrypto-lib-asn_mstbl.o",
- "crypto/asn1/libcrypto-lib-asn_pack.o",
- "crypto/asn1/libcrypto-lib-bio_asn1.o",
- "crypto/asn1/libcrypto-lib-bio_ndef.o",
- "crypto/asn1/libcrypto-lib-d2i_param.o",
- "crypto/asn1/libcrypto-lib-d2i_pr.o",
- "crypto/asn1/libcrypto-lib-d2i_pu.o",
- "crypto/asn1/libcrypto-lib-evp_asn1.o",
- "crypto/asn1/libcrypto-lib-f_int.o",
- "crypto/asn1/libcrypto-lib-f_string.o",
- "crypto/asn1/libcrypto-lib-i2d_evp.o",
- "crypto/asn1/libcrypto-lib-n_pkey.o",
- "crypto/asn1/libcrypto-lib-nsseq.o",
- "crypto/asn1/libcrypto-lib-p5_pbe.o",
- "crypto/asn1/libcrypto-lib-p5_pbev2.o",
- "crypto/asn1/libcrypto-lib-p5_scrypt.o",
- "crypto/asn1/libcrypto-lib-p8_pkey.o",
- "crypto/asn1/libcrypto-lib-t_bitst.o",
- "crypto/asn1/libcrypto-lib-t_pkey.o",
- "crypto/asn1/libcrypto-lib-t_spki.o",
- "crypto/asn1/libcrypto-lib-tasn_dec.o",
- "crypto/asn1/libcrypto-lib-tasn_enc.o",
- "crypto/asn1/libcrypto-lib-tasn_fre.o",
- "crypto/asn1/libcrypto-lib-tasn_new.o",
- "crypto/asn1/libcrypto-lib-tasn_prn.o",
- "crypto/asn1/libcrypto-lib-tasn_scn.o",
- "crypto/asn1/libcrypto-lib-tasn_typ.o",
- "crypto/asn1/libcrypto-lib-tasn_utl.o",
- "crypto/asn1/libcrypto-lib-x_algor.o",
- "crypto/asn1/libcrypto-lib-x_bignum.o",
- "crypto/asn1/libcrypto-lib-x_info.o",
- "crypto/asn1/libcrypto-lib-x_int64.o",
- "crypto/asn1/libcrypto-lib-x_long.o",
- "crypto/asn1/libcrypto-lib-x_pkey.o",
- "crypto/asn1/libcrypto-lib-x_sig.o",
- "crypto/asn1/libcrypto-lib-x_spki.o",
- "crypto/asn1/libcrypto-lib-x_val.o",
- "crypto/async/arch/libcrypto-lib-async_null.o",
- "crypto/async/arch/libcrypto-lib-async_posix.o",
- "crypto/async/arch/libcrypto-lib-async_win.o",
- "crypto/async/libcrypto-lib-async.o",
- "crypto/async/libcrypto-lib-async_err.o",
- "crypto/async/libcrypto-lib-async_wait.o",
- "crypto/bf/libcrypto-lib-bf_cfb64.o",
- "crypto/bf/libcrypto-lib-bf_ecb.o",
- "crypto/bf/libcrypto-lib-bf_enc.o",
- "crypto/bf/libcrypto-lib-bf_ofb64.o",
- "crypto/bf/libcrypto-lib-bf_skey.o",
- "crypto/bio/libcrypto-lib-bf_buff.o",
- "crypto/bio/libcrypto-lib-bf_lbuf.o",
- "crypto/bio/libcrypto-lib-bf_nbio.o",
- "crypto/bio/libcrypto-lib-bf_null.o",
- "crypto/bio/libcrypto-lib-bf_prefix.o",
- "crypto/bio/libcrypto-lib-bf_readbuff.o",
- "crypto/bio/libcrypto-lib-bio_addr.o",
- "crypto/bio/libcrypto-lib-bio_cb.o",
- "crypto/bio/libcrypto-lib-bio_dump.o",
- "crypto/bio/libcrypto-lib-bio_err.o",
- "crypto/bio/libcrypto-lib-bio_lib.o",
- "crypto/bio/libcrypto-lib-bio_meth.o",
- "crypto/bio/libcrypto-lib-bio_print.o",
- "crypto/bio/libcrypto-lib-bio_sock.o",
- "crypto/bio/libcrypto-lib-bio_sock2.o",
- "crypto/bio/libcrypto-lib-bss_acpt.o",
- "crypto/bio/libcrypto-lib-bss_bio.o",
- "crypto/bio/libcrypto-lib-bss_conn.o",
- "crypto/bio/libcrypto-lib-bss_core.o",
- "crypto/bio/libcrypto-lib-bss_dgram.o",
- "crypto/bio/libcrypto-lib-bss_dgram_pair.o",
- "crypto/bio/libcrypto-lib-bss_fd.o",
- "crypto/bio/libcrypto-lib-bss_file.o",
- "crypto/bio/libcrypto-lib-bss_log.o",
- "crypto/bio/libcrypto-lib-bss_mem.o",
- "crypto/bio/libcrypto-lib-bss_null.o",
- "crypto/bio/libcrypto-lib-bss_sock.o",
- "crypto/bio/libcrypto-lib-ossl_core_bio.o",
- "crypto/bn/asm/libcrypto-lib-x86_64-gcc.o",
- "crypto/bn/libcrypto-lib-bn_add.o",
- "crypto/bn/libcrypto-lib-bn_blind.o",
- "crypto/bn/libcrypto-lib-bn_const.o",
- "crypto/bn/libcrypto-lib-bn_conv.o",
- "crypto/bn/libcrypto-lib-bn_ctx.o",
- "crypto/bn/libcrypto-lib-bn_depr.o",
- "crypto/bn/libcrypto-lib-bn_dh.o",
- "crypto/bn/libcrypto-lib-bn_div.o",
- "crypto/bn/libcrypto-lib-bn_err.o",
- "crypto/bn/libcrypto-lib-bn_exp.o",
- "crypto/bn/libcrypto-lib-bn_exp2.o",
- "crypto/bn/libcrypto-lib-bn_gcd.o",
- "crypto/bn/libcrypto-lib-bn_gf2m.o",
- "crypto/bn/libcrypto-lib-bn_intern.o",
- "crypto/bn/libcrypto-lib-bn_kron.o",
- "crypto/bn/libcrypto-lib-bn_lib.o",
- "crypto/bn/libcrypto-lib-bn_mod.o",
- "crypto/bn/libcrypto-lib-bn_mont.o",
- "crypto/bn/libcrypto-lib-bn_mpi.o",
- "crypto/bn/libcrypto-lib-bn_mul.o",
- "crypto/bn/libcrypto-lib-bn_nist.o",
- "crypto/bn/libcrypto-lib-bn_prime.o",
- "crypto/bn/libcrypto-lib-bn_print.o",
- "crypto/bn/libcrypto-lib-bn_rand.o",
- "crypto/bn/libcrypto-lib-bn_recp.o",
- "crypto/bn/libcrypto-lib-bn_rsa_fips186_4.o",
- "crypto/bn/libcrypto-lib-bn_shift.o",
- "crypto/bn/libcrypto-lib-bn_sqr.o",
- "crypto/bn/libcrypto-lib-bn_sqrt.o",
- "crypto/bn/libcrypto-lib-bn_srp.o",
- "crypto/bn/libcrypto-lib-bn_word.o",
- "crypto/bn/libcrypto-lib-bn_x931p.o",
- "crypto/bn/libcrypto-lib-rsaz-2k-avx512.o",
- "crypto/bn/libcrypto-lib-rsaz-2k-avxifma.o",
- "crypto/bn/libcrypto-lib-rsaz-3k-avx512.o",
- "crypto/bn/libcrypto-lib-rsaz-3k-avxifma.o",
- "crypto/bn/libcrypto-lib-rsaz-4k-avx512.o",
- "crypto/bn/libcrypto-lib-rsaz-4k-avxifma.o",
- "crypto/bn/libcrypto-lib-rsaz-avx2.o",
- "crypto/bn/libcrypto-lib-rsaz-x86_64.o",
- "crypto/bn/libcrypto-lib-rsaz_exp.o",
- "crypto/bn/libcrypto-lib-rsaz_exp_x2.o",
- "crypto/bn/libcrypto-lib-x86_64-gf2m.o",
- "crypto/bn/libcrypto-lib-x86_64-mont.o",
- "crypto/bn/libcrypto-lib-x86_64-mont5.o",
- "crypto/buffer/libcrypto-lib-buf_err.o",
- "crypto/buffer/libcrypto-lib-buffer.o",
- "crypto/camellia/libcrypto-lib-cmll-x86_64.o",
- "crypto/camellia/libcrypto-lib-cmll_cfb.o",
- "crypto/camellia/libcrypto-lib-cmll_ctr.o",
- "crypto/camellia/libcrypto-lib-cmll_ecb.o",
- "crypto/camellia/libcrypto-lib-cmll_misc.o",
- "crypto/camellia/libcrypto-lib-cmll_ofb.o",
- "crypto/cast/libcrypto-lib-c_cfb64.o",
- "crypto/cast/libcrypto-lib-c_ecb.o",
- "crypto/cast/libcrypto-lib-c_enc.o",
- "crypto/cast/libcrypto-lib-c_ofb64.o",
- "crypto/cast/libcrypto-lib-c_skey.o",
- "crypto/chacha/libcrypto-lib-chacha-x86_64.o",
- "crypto/cmac/libcrypto-lib-cmac.o",
- "crypto/cmp/libcrypto-lib-cmp_asn.o",
- "crypto/cmp/libcrypto-lib-cmp_client.o",
- "crypto/cmp/libcrypto-lib-cmp_ctx.o",
- "crypto/cmp/libcrypto-lib-cmp_err.o",
- "crypto/cmp/libcrypto-lib-cmp_genm.o",
- "crypto/cmp/libcrypto-lib-cmp_hdr.o",
- "crypto/cmp/libcrypto-lib-cmp_http.o",
- "crypto/cmp/libcrypto-lib-cmp_msg.o",
- "crypto/cmp/libcrypto-lib-cmp_protect.o",
- "crypto/cmp/libcrypto-lib-cmp_server.o",
- "crypto/cmp/libcrypto-lib-cmp_status.o",
- "crypto/cmp/libcrypto-lib-cmp_util.o",
- "crypto/cmp/libcrypto-lib-cmp_vfy.o",
- "crypto/cms/libcrypto-lib-cms_asn1.o",
- "crypto/cms/libcrypto-lib-cms_att.o",
- "crypto/cms/libcrypto-lib-cms_cd.o",
- "crypto/cms/libcrypto-lib-cms_dd.o",
- "crypto/cms/libcrypto-lib-cms_dh.o",
- "crypto/cms/libcrypto-lib-cms_ec.o",
- "crypto/cms/libcrypto-lib-cms_enc.o",
- "crypto/cms/libcrypto-lib-cms_env.o",
- "crypto/cms/libcrypto-lib-cms_err.o",
- "crypto/cms/libcrypto-lib-cms_ess.o",
- "crypto/cms/libcrypto-lib-cms_io.o",
- "crypto/cms/libcrypto-lib-cms_kari.o",
- "crypto/cms/libcrypto-lib-cms_lib.o",
- "crypto/cms/libcrypto-lib-cms_pwri.o",
- "crypto/cms/libcrypto-lib-cms_rsa.o",
- "crypto/cms/libcrypto-lib-cms_sd.o",
- "crypto/cms/libcrypto-lib-cms_smime.o",
- "crypto/comp/libcrypto-lib-c_brotli.o",
- "crypto/comp/libcrypto-lib-c_zlib.o",
- "crypto/comp/libcrypto-lib-c_zstd.o",
- "crypto/comp/libcrypto-lib-comp_err.o",
- "crypto/comp/libcrypto-lib-comp_lib.o",
- "crypto/conf/libcrypto-lib-conf_api.o",
- "crypto/conf/libcrypto-lib-conf_def.o",
- "crypto/conf/libcrypto-lib-conf_err.o",
- "crypto/conf/libcrypto-lib-conf_lib.o",
- "crypto/conf/libcrypto-lib-conf_mall.o",
- "crypto/conf/libcrypto-lib-conf_mod.o",
- "crypto/conf/libcrypto-lib-conf_sap.o",
- "crypto/conf/libcrypto-lib-conf_ssl.o",
- "crypto/crmf/libcrypto-lib-crmf_asn.o",
- "crypto/crmf/libcrypto-lib-crmf_err.o",
- "crypto/crmf/libcrypto-lib-crmf_lib.o",
- "crypto/crmf/libcrypto-lib-crmf_pbm.o",
- "crypto/ct/libcrypto-lib-ct_b64.o",
- "crypto/ct/libcrypto-lib-ct_err.o",
- "crypto/ct/libcrypto-lib-ct_log.o",
- "crypto/ct/libcrypto-lib-ct_oct.o",
- "crypto/ct/libcrypto-lib-ct_policy.o",
- "crypto/ct/libcrypto-lib-ct_prn.o",
- "crypto/ct/libcrypto-lib-ct_sct.o",
- "crypto/ct/libcrypto-lib-ct_sct_ctx.o",
- "crypto/ct/libcrypto-lib-ct_vfy.o",
- "crypto/ct/libcrypto-lib-ct_x509v3.o",
- "crypto/des/libcrypto-lib-cbc_cksm.o",
- "crypto/des/libcrypto-lib-cbc_enc.o",
- "crypto/des/libcrypto-lib-cfb64ede.o",
- "crypto/des/libcrypto-lib-cfb64enc.o",
- "crypto/des/libcrypto-lib-cfb_enc.o",
- "crypto/des/libcrypto-lib-des_enc.o",
- "crypto/des/libcrypto-lib-ecb3_enc.o",
- "crypto/des/libcrypto-lib-ecb_enc.o",
- "crypto/des/libcrypto-lib-fcrypt.o",
- "crypto/des/libcrypto-lib-fcrypt_b.o",
- "crypto/des/libcrypto-lib-ofb64ede.o",
- "crypto/des/libcrypto-lib-ofb64enc.o",
- "crypto/des/libcrypto-lib-ofb_enc.o",
- "crypto/des/libcrypto-lib-pcbc_enc.o",
- "crypto/des/libcrypto-lib-qud_cksm.o",
- "crypto/des/libcrypto-lib-rand_key.o",
- "crypto/des/libcrypto-lib-set_key.o",
- "crypto/des/libcrypto-lib-str2key.o",
- "crypto/des/libcrypto-lib-xcbc_enc.o",
- "crypto/dh/libcrypto-lib-dh_ameth.o",
- "crypto/dh/libcrypto-lib-dh_asn1.o",
- "crypto/dh/libcrypto-lib-dh_backend.o",
- "crypto/dh/libcrypto-lib-dh_check.o",
- "crypto/dh/libcrypto-lib-dh_depr.o",
- "crypto/dh/libcrypto-lib-dh_err.o",
- "crypto/dh/libcrypto-lib-dh_gen.o",
- "crypto/dh/libcrypto-lib-dh_group_params.o",
- "crypto/dh/libcrypto-lib-dh_kdf.o",
- "crypto/dh/libcrypto-lib-dh_key.o",
- "crypto/dh/libcrypto-lib-dh_lib.o",
- "crypto/dh/libcrypto-lib-dh_meth.o",
- "crypto/dh/libcrypto-lib-dh_pmeth.o",
- "crypto/dh/libcrypto-lib-dh_prn.o",
- "crypto/dh/libcrypto-lib-dh_rfc5114.o",
- "crypto/dsa/libcrypto-lib-dsa_ameth.o",
- "crypto/dsa/libcrypto-lib-dsa_asn1.o",
- "crypto/dsa/libcrypto-lib-dsa_backend.o",
- "crypto/dsa/libcrypto-lib-dsa_check.o",
- "crypto/dsa/libcrypto-lib-dsa_depr.o",
- "crypto/dsa/libcrypto-lib-dsa_err.o",
- "crypto/dsa/libcrypto-lib-dsa_gen.o",
- "crypto/dsa/libcrypto-lib-dsa_key.o",
- "crypto/dsa/libcrypto-lib-dsa_lib.o",
- "crypto/dsa/libcrypto-lib-dsa_meth.o",
- "crypto/dsa/libcrypto-lib-dsa_ossl.o",
- "crypto/dsa/libcrypto-lib-dsa_pmeth.o",
- "crypto/dsa/libcrypto-lib-dsa_prn.o",
- "crypto/dsa/libcrypto-lib-dsa_sign.o",
- "crypto/dsa/libcrypto-lib-dsa_vrf.o",
- "crypto/dso/libcrypto-lib-dso_dl.o",
- "crypto/dso/libcrypto-lib-dso_dlfcn.o",
- "crypto/dso/libcrypto-lib-dso_err.o",
- "crypto/dso/libcrypto-lib-dso_lib.o",
- "crypto/dso/libcrypto-lib-dso_openssl.o",
- "crypto/dso/libcrypto-lib-dso_vms.o",
- "crypto/dso/libcrypto-lib-dso_win32.o",
- "crypto/ec/curve448/arch_32/libcrypto-lib-f_impl32.o",
- "crypto/ec/curve448/arch_64/libcrypto-lib-f_impl64.o",
- "crypto/ec/curve448/libcrypto-lib-curve448.o",
- "crypto/ec/curve448/libcrypto-lib-curve448_tables.o",
- "crypto/ec/curve448/libcrypto-lib-eddsa.o",
- "crypto/ec/curve448/libcrypto-lib-f_generic.o",
- "crypto/ec/curve448/libcrypto-lib-scalar.o",
- "crypto/ec/libcrypto-lib-curve25519.o",
- "crypto/ec/libcrypto-lib-ec2_oct.o",
- "crypto/ec/libcrypto-lib-ec2_smpl.o",
- "crypto/ec/libcrypto-lib-ec_ameth.o",
- "crypto/ec/libcrypto-lib-ec_asn1.o",
- "crypto/ec/libcrypto-lib-ec_backend.o",
- "crypto/ec/libcrypto-lib-ec_check.o",
- "crypto/ec/libcrypto-lib-ec_curve.o",
- "crypto/ec/libcrypto-lib-ec_cvt.o",
- "crypto/ec/libcrypto-lib-ec_deprecated.o",
- "crypto/ec/libcrypto-lib-ec_err.o",
- "crypto/ec/libcrypto-lib-ec_key.o",
- "crypto/ec/libcrypto-lib-ec_kmeth.o",
- "crypto/ec/libcrypto-lib-ec_lib.o",
- "crypto/ec/libcrypto-lib-ec_mult.o",
- "crypto/ec/libcrypto-lib-ec_oct.o",
- "crypto/ec/libcrypto-lib-ec_pmeth.o",
- "crypto/ec/libcrypto-lib-ec_print.o",
- "crypto/ec/libcrypto-lib-ecdh_kdf.o",
- "crypto/ec/libcrypto-lib-ecdh_ossl.o",
- "crypto/ec/libcrypto-lib-ecdsa_ossl.o",
- "crypto/ec/libcrypto-lib-ecdsa_sign.o",
- "crypto/ec/libcrypto-lib-ecdsa_vrf.o",
- "crypto/ec/libcrypto-lib-eck_prn.o",
- "crypto/ec/libcrypto-lib-ecp_mont.o",
- "crypto/ec/libcrypto-lib-ecp_nist.o",
- "crypto/ec/libcrypto-lib-ecp_nistp224.o",
- "crypto/ec/libcrypto-lib-ecp_nistp256.o",
- "crypto/ec/libcrypto-lib-ecp_nistp384.o",
- "crypto/ec/libcrypto-lib-ecp_nistp521.o",
- "crypto/ec/libcrypto-lib-ecp_nistputil.o",
- "crypto/ec/libcrypto-lib-ecp_nistz256-x86_64.o",
- "crypto/ec/libcrypto-lib-ecp_nistz256.o",
- "crypto/ec/libcrypto-lib-ecp_oct.o",
- "crypto/ec/libcrypto-lib-ecp_smpl.o",
- "crypto/ec/libcrypto-lib-ecx_backend.o",
- "crypto/ec/libcrypto-lib-ecx_key.o",
- "crypto/ec/libcrypto-lib-ecx_meth.o",
- "crypto/ec/libcrypto-lib-x25519-x86_64.o",
- "crypto/encode_decode/libcrypto-lib-decoder_err.o",
- "crypto/encode_decode/libcrypto-lib-decoder_lib.o",
- "crypto/encode_decode/libcrypto-lib-decoder_meth.o",
- "crypto/encode_decode/libcrypto-lib-decoder_pkey.o",
- "crypto/encode_decode/libcrypto-lib-encoder_err.o",
- "crypto/encode_decode/libcrypto-lib-encoder_lib.o",
- "crypto/encode_decode/libcrypto-lib-encoder_meth.o",
- "crypto/encode_decode/libcrypto-lib-encoder_pkey.o",
- "crypto/engine/libcrypto-lib-eng_all.o",
- "crypto/engine/libcrypto-lib-eng_cnf.o",
- "crypto/engine/libcrypto-lib-eng_ctrl.o",
- "crypto/engine/libcrypto-lib-eng_dyn.o",
- "crypto/engine/libcrypto-lib-eng_err.o",
- "crypto/engine/libcrypto-lib-eng_fat.o",
- "crypto/engine/libcrypto-lib-eng_init.o",
- "crypto/engine/libcrypto-lib-eng_lib.o",
- "crypto/engine/libcrypto-lib-eng_list.o",
- "crypto/engine/libcrypto-lib-eng_openssl.o",
- "crypto/engine/libcrypto-lib-eng_pkey.o",
- "crypto/engine/libcrypto-lib-eng_rdrand.o",
- "crypto/engine/libcrypto-lib-eng_table.o",
- "crypto/engine/libcrypto-lib-tb_asnmth.o",
- "crypto/engine/libcrypto-lib-tb_cipher.o",
- "crypto/engine/libcrypto-lib-tb_dh.o",
- "crypto/engine/libcrypto-lib-tb_digest.o",
- "crypto/engine/libcrypto-lib-tb_dsa.o",
- "crypto/engine/libcrypto-lib-tb_eckey.o",
- "crypto/engine/libcrypto-lib-tb_pkmeth.o",
- "crypto/engine/libcrypto-lib-tb_rand.o",
- "crypto/engine/libcrypto-lib-tb_rsa.o",
- "crypto/err/libcrypto-lib-err.o",
- "crypto/err/libcrypto-lib-err_all.o",
- "crypto/err/libcrypto-lib-err_all_legacy.o",
- "crypto/err/libcrypto-lib-err_blocks.o",
- "crypto/err/libcrypto-lib-err_mark.o",
- "crypto/err/libcrypto-lib-err_prn.o",
- "crypto/err/libcrypto-lib-err_save.o",
- "crypto/ess/libcrypto-lib-ess_asn1.o",
- "crypto/ess/libcrypto-lib-ess_err.o",
- "crypto/ess/libcrypto-lib-ess_lib.o",
- "crypto/evp/libcrypto-lib-asymcipher.o",
- "crypto/evp/libcrypto-lib-bio_b64.o",
- "crypto/evp/libcrypto-lib-bio_enc.o",
- "crypto/evp/libcrypto-lib-bio_md.o",
- "crypto/evp/libcrypto-lib-bio_ok.o",
- "crypto/evp/libcrypto-lib-c_allc.o",
- "crypto/evp/libcrypto-lib-c_alld.o",
- "crypto/evp/libcrypto-lib-cmeth_lib.o",
- "crypto/evp/libcrypto-lib-ctrl_params_translate.o",
- "crypto/evp/libcrypto-lib-dh_ctrl.o",
- "crypto/evp/libcrypto-lib-dh_support.o",
- "crypto/evp/libcrypto-lib-digest.o",
- "crypto/evp/libcrypto-lib-dsa_ctrl.o",
- "crypto/evp/libcrypto-lib-e_aes.o",
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha1.o",
- "crypto/evp/libcrypto-lib-e_aes_cbc_hmac_sha256.o",
- "crypto/evp/libcrypto-lib-e_aria.o",
- "crypto/evp/libcrypto-lib-e_bf.o",
- "crypto/evp/libcrypto-lib-e_camellia.o",
- "crypto/evp/libcrypto-lib-e_cast.o",
- "crypto/evp/libcrypto-lib-e_chacha20_poly1305.o",
- "crypto/evp/libcrypto-lib-e_des.o",
- "crypto/evp/libcrypto-lib-e_des3.o",
- "crypto/evp/libcrypto-lib-e_idea.o",
- "crypto/evp/libcrypto-lib-e_null.o",
- "crypto/evp/libcrypto-lib-e_old.o",
- "crypto/evp/libcrypto-lib-e_rc2.o",
- "crypto/evp/libcrypto-lib-e_rc4.o",
- "crypto/evp/libcrypto-lib-e_rc4_hmac_md5.o",
- "crypto/evp/libcrypto-lib-e_rc5.o",
- "crypto/evp/libcrypto-lib-e_seed.o",
- "crypto/evp/libcrypto-lib-e_sm4.o",
- "crypto/evp/libcrypto-lib-e_xcbc_d.o",
- "crypto/evp/libcrypto-lib-ec_ctrl.o",
- "crypto/evp/libcrypto-lib-ec_support.o",
- "crypto/evp/libcrypto-lib-encode.o",
- "crypto/evp/libcrypto-lib-evp_cnf.o",
- "crypto/evp/libcrypto-lib-evp_enc.o",
- "crypto/evp/libcrypto-lib-evp_err.o",
- "crypto/evp/libcrypto-lib-evp_fetch.o",
- "crypto/evp/libcrypto-lib-evp_key.o",
- "crypto/evp/libcrypto-lib-evp_lib.o",
- "crypto/evp/libcrypto-lib-evp_pbe.o",
- "crypto/evp/libcrypto-lib-evp_pkey.o",
- "crypto/evp/libcrypto-lib-evp_rand.o",
- "crypto/evp/libcrypto-lib-evp_utils.o",
- "crypto/evp/libcrypto-lib-exchange.o",
- "crypto/evp/libcrypto-lib-kdf_lib.o",
- "crypto/evp/libcrypto-lib-kdf_meth.o",
- "crypto/evp/libcrypto-lib-kem.o",
- "crypto/evp/libcrypto-lib-keymgmt_lib.o",
- "crypto/evp/libcrypto-lib-keymgmt_meth.o",
- "crypto/evp/libcrypto-lib-legacy_blake2.o",
- "crypto/evp/libcrypto-lib-legacy_md4.o",
- "crypto/evp/libcrypto-lib-legacy_md5.o",
- "crypto/evp/libcrypto-lib-legacy_md5_sha1.o",
- "crypto/evp/libcrypto-lib-legacy_ripemd.o",
- "crypto/evp/libcrypto-lib-legacy_sha.o",
- "crypto/evp/libcrypto-lib-legacy_wp.o",
- "crypto/evp/libcrypto-lib-m_null.o",
- "crypto/evp/libcrypto-lib-m_sigver.o",
- "crypto/evp/libcrypto-lib-mac_lib.o",
- "crypto/evp/libcrypto-lib-mac_meth.o",
- "crypto/evp/libcrypto-lib-names.o",
- "crypto/evp/libcrypto-lib-p5_crpt.o",
- "crypto/evp/libcrypto-lib-p5_crpt2.o",
- "crypto/evp/libcrypto-lib-p_dec.o",
- "crypto/evp/libcrypto-lib-p_enc.o",
- "crypto/evp/libcrypto-lib-p_legacy.o",
- "crypto/evp/libcrypto-lib-p_lib.o",
- "crypto/evp/libcrypto-lib-p_open.o",
- "crypto/evp/libcrypto-lib-p_seal.o",
- "crypto/evp/libcrypto-lib-p_sign.o",
- "crypto/evp/libcrypto-lib-p_verify.o",
- "crypto/evp/libcrypto-lib-pbe_scrypt.o",
- "crypto/evp/libcrypto-lib-pmeth_check.o",
- "crypto/evp/libcrypto-lib-pmeth_gn.o",
- "crypto/evp/libcrypto-lib-pmeth_lib.o",
- "crypto/evp/libcrypto-lib-s_lib.o",
- "crypto/evp/libcrypto-lib-signature.o",
- "crypto/evp/libcrypto-lib-skeymgmt_meth.o",
- "crypto/ffc/libcrypto-lib-ffc_backend.o",
- "crypto/ffc/libcrypto-lib-ffc_dh.o",
- "crypto/ffc/libcrypto-lib-ffc_key_generate.o",
- "crypto/ffc/libcrypto-lib-ffc_key_validate.o",
- "crypto/ffc/libcrypto-lib-ffc_params.o",
- "crypto/ffc/libcrypto-lib-ffc_params_generate.o",
- "crypto/ffc/libcrypto-lib-ffc_params_validate.o",
- "crypto/hashtable/libcrypto-lib-hashfunc.o",
- "crypto/hashtable/libcrypto-lib-hashtable.o",
- "crypto/hmac/libcrypto-lib-hmac.o",
- "crypto/hpke/libcrypto-lib-hpke.o",
- "crypto/hpke/libcrypto-lib-hpke_util.o",
- "crypto/http/libcrypto-lib-http_client.o",
- "crypto/http/libcrypto-lib-http_err.o",
- "crypto/http/libcrypto-lib-http_lib.o",
- "crypto/kdf/libcrypto-lib-kdf_err.o",
- "crypto/lhash/libcrypto-lib-lh_stats.o",
- "crypto/lhash/libcrypto-lib-lhash.o",
- "crypto/libcrypto-lib-asn1_dsa.o",
- "crypto/libcrypto-lib-bsearch.o",
- "crypto/libcrypto-lib-comp_methods.o",
- "crypto/libcrypto-lib-context.o",
- "crypto/libcrypto-lib-core_algorithm.o",
- "crypto/libcrypto-lib-core_fetch.o",
- "crypto/libcrypto-lib-core_namemap.o",
- "crypto/libcrypto-lib-cpt_err.o",
- "crypto/libcrypto-lib-cpuid.o",
- "crypto/libcrypto-lib-cryptlib.o",
- "crypto/libcrypto-lib-ctype.o",
- "crypto/libcrypto-lib-cversion.o",
- "crypto/libcrypto-lib-defaults.o",
- "crypto/libcrypto-lib-der_writer.o",
- "crypto/libcrypto-lib-deterministic_nonce.o",
- "crypto/libcrypto-lib-ebcdic.o",
- "crypto/libcrypto-lib-ex_data.o",
- "crypto/libcrypto-lib-getenv.o",
- "crypto/libcrypto-lib-indicator_core.o",
- "crypto/libcrypto-lib-info.o",
- "crypto/libcrypto-lib-init.o",
- "crypto/libcrypto-lib-initthread.o",
- "crypto/libcrypto-lib-mem.o",
- "crypto/libcrypto-lib-mem_sec.o",
- "crypto/libcrypto-lib-o_dir.o",
- "crypto/libcrypto-lib-o_fopen.o",
- "crypto/libcrypto-lib-o_init.o",
- "crypto/libcrypto-lib-o_str.o",
- "crypto/libcrypto-lib-o_time.o",
- "crypto/libcrypto-lib-packet.o",
- "crypto/libcrypto-lib-param_build.o",
- "crypto/libcrypto-lib-param_build_set.o",
- "crypto/libcrypto-lib-params.o",
- "crypto/libcrypto-lib-params_dup.o",
- "crypto/libcrypto-lib-params_from_text.o",
- "crypto/libcrypto-lib-params_idx.o",
- "crypto/libcrypto-lib-passphrase.o",
- "crypto/libcrypto-lib-provider.o",
- "crypto/libcrypto-lib-provider_child.o",
- "crypto/libcrypto-lib-provider_conf.o",
- "crypto/libcrypto-lib-provider_core.o",
- "crypto/libcrypto-lib-provider_predefined.o",
- "crypto/libcrypto-lib-punycode.o",
- "crypto/libcrypto-lib-quic_vlint.o",
- "crypto/libcrypto-lib-self_test_core.o",
- "crypto/libcrypto-lib-sleep.o",
- "crypto/libcrypto-lib-sparse_array.o",
- "crypto/libcrypto-lib-ssl_err.o",
- "crypto/libcrypto-lib-threads_lib.o",
- "crypto/libcrypto-lib-threads_none.o",
- "crypto/libcrypto-lib-threads_pthread.o",
- "crypto/libcrypto-lib-threads_win.o",
- "crypto/libcrypto-lib-time.o",
- "crypto/libcrypto-lib-trace.o",
- "crypto/libcrypto-lib-uid.o",
- "crypto/libcrypto-lib-x86_64cpuid.o",
- "crypto/md4/libcrypto-lib-md4_dgst.o",
- "crypto/md4/libcrypto-lib-md4_one.o",
- "crypto/md5/libcrypto-lib-md5-x86_64.o",
- "crypto/md5/libcrypto-lib-md5_dgst.o",
- "crypto/md5/libcrypto-lib-md5_one.o",
- "crypto/md5/libcrypto-lib-md5_sha1.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_encoders.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_key.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_key_compress.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_matrix.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_ntt.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_params.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_sample.o",
- "crypto/ml_dsa/libcrypto-lib-ml_dsa_sign.o",
- "crypto/ml_kem/libcrypto-lib-ml_kem.o",
- "crypto/modes/libcrypto-lib-aes-gcm-avx512.o",
- "crypto/modes/libcrypto-lib-aesni-gcm-x86_64.o",
- "crypto/modes/libcrypto-lib-cbc128.o",
- "crypto/modes/libcrypto-lib-ccm128.o",
- "crypto/modes/libcrypto-lib-cfb128.o",
- "crypto/modes/libcrypto-lib-ctr128.o",
- "crypto/modes/libcrypto-lib-cts128.o",
- "crypto/modes/libcrypto-lib-gcm128.o",
- "crypto/modes/libcrypto-lib-ghash-x86_64.o",
- "crypto/modes/libcrypto-lib-ocb128.o",
- "crypto/modes/libcrypto-lib-ofb128.o",
- "crypto/modes/libcrypto-lib-siv128.o",
- "crypto/modes/libcrypto-lib-wrap128.o",
- "crypto/modes/libcrypto-lib-xts128.o",
- "crypto/modes/libcrypto-lib-xts128gb.o",
- "crypto/objects/libcrypto-lib-o_names.o",
- "crypto/objects/libcrypto-lib-obj_dat.o",
- "crypto/objects/libcrypto-lib-obj_err.o",
- "crypto/objects/libcrypto-lib-obj_lib.o",
- "crypto/objects/libcrypto-lib-obj_xref.o",
- "crypto/ocsp/libcrypto-lib-ocsp_asn.o",
- "crypto/ocsp/libcrypto-lib-ocsp_cl.o",
- "crypto/ocsp/libcrypto-lib-ocsp_err.o",
- "crypto/ocsp/libcrypto-lib-ocsp_ext.o",
- "crypto/ocsp/libcrypto-lib-ocsp_http.o",
- "crypto/ocsp/libcrypto-lib-ocsp_lib.o",
- "crypto/ocsp/libcrypto-lib-ocsp_prn.o",
- "crypto/ocsp/libcrypto-lib-ocsp_srv.o",
- "crypto/ocsp/libcrypto-lib-ocsp_vfy.o",
- "crypto/ocsp/libcrypto-lib-v3_ocsp.o",
- "crypto/pem/libcrypto-lib-pem_all.o",
- "crypto/pem/libcrypto-lib-pem_err.o",
- "crypto/pem/libcrypto-lib-pem_info.o",
- "crypto/pem/libcrypto-lib-pem_lib.o",
- "crypto/pem/libcrypto-lib-pem_oth.o",
- "crypto/pem/libcrypto-lib-pem_pk8.o",
- "crypto/pem/libcrypto-lib-pem_pkey.o",
- "crypto/pem/libcrypto-lib-pem_sign.o",
- "crypto/pem/libcrypto-lib-pem_x509.o",
- "crypto/pem/libcrypto-lib-pem_xaux.o",
- "crypto/pem/libcrypto-lib-pvkfmt.o",
- "crypto/pkcs12/libcrypto-lib-p12_add.o",
- "crypto/pkcs12/libcrypto-lib-p12_asn.o",
- "crypto/pkcs12/libcrypto-lib-p12_attr.o",
- "crypto/pkcs12/libcrypto-lib-p12_crpt.o",
- "crypto/pkcs12/libcrypto-lib-p12_crt.o",
- "crypto/pkcs12/libcrypto-lib-p12_decr.o",
- "crypto/pkcs12/libcrypto-lib-p12_init.o",
- "crypto/pkcs12/libcrypto-lib-p12_key.o",
- "crypto/pkcs12/libcrypto-lib-p12_kiss.o",
- "crypto/pkcs12/libcrypto-lib-p12_mutl.o",
- "crypto/pkcs12/libcrypto-lib-p12_npas.o",
- "crypto/pkcs12/libcrypto-lib-p12_p8d.o",
- "crypto/pkcs12/libcrypto-lib-p12_p8e.o",
- "crypto/pkcs12/libcrypto-lib-p12_sbag.o",
- "crypto/pkcs12/libcrypto-lib-p12_utl.o",
- "crypto/pkcs12/libcrypto-lib-pk12err.o",
- "crypto/pkcs7/libcrypto-lib-bio_pk7.o",
- "crypto/pkcs7/libcrypto-lib-pk7_asn1.o",
- "crypto/pkcs7/libcrypto-lib-pk7_attr.o",
- "crypto/pkcs7/libcrypto-lib-pk7_doit.o",
- "crypto/pkcs7/libcrypto-lib-pk7_lib.o",
- "crypto/pkcs7/libcrypto-lib-pk7_mime.o",
- "crypto/pkcs7/libcrypto-lib-pk7_smime.o",
- "crypto/pkcs7/libcrypto-lib-pkcs7err.o",
- "crypto/poly1305/libcrypto-lib-poly1305-x86_64.o",
- "crypto/poly1305/libcrypto-lib-poly1305.o",
- "crypto/property/libcrypto-lib-defn_cache.o",
- "crypto/property/libcrypto-lib-property.o",
- "crypto/property/libcrypto-lib-property_err.o",
- "crypto/property/libcrypto-lib-property_parse.o",
- "crypto/property/libcrypto-lib-property_query.o",
- "crypto/property/libcrypto-lib-property_string.o",
- "crypto/rand/libcrypto-lib-prov_seed.o",
- "crypto/rand/libcrypto-lib-rand_deprecated.o",
- "crypto/rand/libcrypto-lib-rand_err.o",
- "crypto/rand/libcrypto-lib-rand_lib.o",
- "crypto/rand/libcrypto-lib-rand_meth.o",
- "crypto/rand/libcrypto-lib-rand_pool.o",
- "crypto/rand/libcrypto-lib-rand_uniform.o",
- "crypto/rand/libcrypto-lib-randfile.o",
- "crypto/rc2/libcrypto-lib-rc2_cbc.o",
- "crypto/rc2/libcrypto-lib-rc2_ecb.o",
- "crypto/rc2/libcrypto-lib-rc2_skey.o",
- "crypto/rc2/libcrypto-lib-rc2cfb64.o",
- "crypto/rc2/libcrypto-lib-rc2ofb64.o",
- "crypto/rc4/libcrypto-lib-rc4-md5-x86_64.o",
- "crypto/rc4/libcrypto-lib-rc4-x86_64.o",
- "crypto/ripemd/libcrypto-lib-rmd_dgst.o",
- "crypto/ripemd/libcrypto-lib-rmd_one.o",
- "crypto/rsa/libcrypto-lib-rsa_ameth.o",
- "crypto/rsa/libcrypto-lib-rsa_asn1.o",
- "crypto/rsa/libcrypto-lib-rsa_backend.o",
- "crypto/rsa/libcrypto-lib-rsa_chk.o",
- "crypto/rsa/libcrypto-lib-rsa_crpt.o",
- "crypto/rsa/libcrypto-lib-rsa_depr.o",
- "crypto/rsa/libcrypto-lib-rsa_err.o",
- "crypto/rsa/libcrypto-lib-rsa_gen.o",
- "crypto/rsa/libcrypto-lib-rsa_lib.o",
- "crypto/rsa/libcrypto-lib-rsa_meth.o",
- "crypto/rsa/libcrypto-lib-rsa_mp.o",
- "crypto/rsa/libcrypto-lib-rsa_mp_names.o",
- "crypto/rsa/libcrypto-lib-rsa_none.o",
- "crypto/rsa/libcrypto-lib-rsa_oaep.o",
- "crypto/rsa/libcrypto-lib-rsa_ossl.o",
- "crypto/rsa/libcrypto-lib-rsa_pk1.o",
- "crypto/rsa/libcrypto-lib-rsa_pmeth.o",
- "crypto/rsa/libcrypto-lib-rsa_prn.o",
- "crypto/rsa/libcrypto-lib-rsa_pss.o",
- "crypto/rsa/libcrypto-lib-rsa_saos.o",
- "crypto/rsa/libcrypto-lib-rsa_schemes.o",
- "crypto/rsa/libcrypto-lib-rsa_sign.o",
- "crypto/rsa/libcrypto-lib-rsa_sp800_56b_check.o",
- "crypto/rsa/libcrypto-lib-rsa_sp800_56b_gen.o",
- "crypto/rsa/libcrypto-lib-rsa_x931.o",
- "crypto/rsa/libcrypto-lib-rsa_x931g.o",
- "crypto/seed/libcrypto-lib-seed.o",
- "crypto/seed/libcrypto-lib-seed_cbc.o",
- "crypto/seed/libcrypto-lib-seed_cfb.o",
- "crypto/seed/libcrypto-lib-seed_ecb.o",
- "crypto/seed/libcrypto-lib-seed_ofb.o",
- "crypto/sha/libcrypto-lib-keccak1600-x86_64.o",
- "crypto/sha/libcrypto-lib-sha1-mb-x86_64.o",
- "crypto/sha/libcrypto-lib-sha1-x86_64.o",
- "crypto/sha/libcrypto-lib-sha1_one.o",
- "crypto/sha/libcrypto-lib-sha1dgst.o",
- "crypto/sha/libcrypto-lib-sha256-mb-x86_64.o",
- "crypto/sha/libcrypto-lib-sha256-x86_64.o",
- "crypto/sha/libcrypto-lib-sha256.o",
- "crypto/sha/libcrypto-lib-sha3.o",
- "crypto/sha/libcrypto-lib-sha512-x86_64.o",
- "crypto/sha/libcrypto-lib-sha512.o",
- "crypto/siphash/libcrypto-lib-siphash.o",
- "crypto/slh_dsa/libcrypto-lib-slh_adrs.o",
- "crypto/slh_dsa/libcrypto-lib-slh_dsa.o",
- "crypto/slh_dsa/libcrypto-lib-slh_dsa_hash_ctx.o",
- "crypto/slh_dsa/libcrypto-lib-slh_dsa_key.o",
- "crypto/slh_dsa/libcrypto-lib-slh_fors.o",
- "crypto/slh_dsa/libcrypto-lib-slh_hash.o",
- "crypto/slh_dsa/libcrypto-lib-slh_hypertree.o",
- "crypto/slh_dsa/libcrypto-lib-slh_params.o",
- "crypto/slh_dsa/libcrypto-lib-slh_wots.o",
- "crypto/slh_dsa/libcrypto-lib-slh_xmss.o",
- "crypto/srp/libcrypto-lib-srp_lib.o",
- "crypto/srp/libcrypto-lib-srp_vfy.o",
- "crypto/stack/libcrypto-lib-stack.o",
- "crypto/store/libcrypto-lib-store_err.o",
- "crypto/store/libcrypto-lib-store_init.o",
- "crypto/store/libcrypto-lib-store_lib.o",
- "crypto/store/libcrypto-lib-store_meth.o",
- "crypto/store/libcrypto-lib-store_register.o",
- "crypto/store/libcrypto-lib-store_result.o",
- "crypto/store/libcrypto-lib-store_strings.o",
- "crypto/thread/arch/libcrypto-lib-thread_none.o",
- "crypto/thread/arch/libcrypto-lib-thread_posix.o",
- "crypto/thread/arch/libcrypto-lib-thread_win.o",
- "crypto/thread/libcrypto-lib-api.o",
- "crypto/thread/libcrypto-lib-arch.o",
- "crypto/thread/libcrypto-lib-internal.o",
- "crypto/ts/libcrypto-lib-ts_asn1.o",
- "crypto/ts/libcrypto-lib-ts_conf.o",
- "crypto/ts/libcrypto-lib-ts_err.o",
- "crypto/ts/libcrypto-lib-ts_lib.o",
- "crypto/ts/libcrypto-lib-ts_req_print.o",
- "crypto/ts/libcrypto-lib-ts_req_utils.o",
- "crypto/ts/libcrypto-lib-ts_rsp_print.o",
- "crypto/ts/libcrypto-lib-ts_rsp_sign.o",
- "crypto/ts/libcrypto-lib-ts_rsp_utils.o",
- "crypto/ts/libcrypto-lib-ts_rsp_verify.o",
- "crypto/ts/libcrypto-lib-ts_verify_ctx.o",
- "crypto/txt_db/libcrypto-lib-txt_db.o",
- "crypto/ui/libcrypto-lib-ui_err.o",
- "crypto/ui/libcrypto-lib-ui_lib.o",
- "crypto/ui/libcrypto-lib-ui_null.o",
- "crypto/ui/libcrypto-lib-ui_openssl.o",
- "crypto/ui/libcrypto-lib-ui_util.o",
- "crypto/whrlpool/libcrypto-lib-wp-x86_64.o",
- "crypto/whrlpool/libcrypto-lib-wp_dgst.o",
- "crypto/x509/libcrypto-lib-by_dir.o",
- "crypto/x509/libcrypto-lib-by_file.o",
- "crypto/x509/libcrypto-lib-by_store.o",
- "crypto/x509/libcrypto-lib-pcy_cache.o",
- "crypto/x509/libcrypto-lib-pcy_data.o",
- "crypto/x509/libcrypto-lib-pcy_lib.o",
- "crypto/x509/libcrypto-lib-pcy_map.o",
- "crypto/x509/libcrypto-lib-pcy_node.o",
- "crypto/x509/libcrypto-lib-pcy_tree.o",
- "crypto/x509/libcrypto-lib-t_acert.o",
- "crypto/x509/libcrypto-lib-t_crl.o",
- "crypto/x509/libcrypto-lib-t_req.o",
- "crypto/x509/libcrypto-lib-t_x509.o",
- "crypto/x509/libcrypto-lib-v3_aaa.o",
- "crypto/x509/libcrypto-lib-v3_ac_tgt.o",
- "crypto/x509/libcrypto-lib-v3_addr.o",
- "crypto/x509/libcrypto-lib-v3_admis.o",
- "crypto/x509/libcrypto-lib-v3_akeya.o",
- "crypto/x509/libcrypto-lib-v3_akid.o",
- "crypto/x509/libcrypto-lib-v3_asid.o",
- "crypto/x509/libcrypto-lib-v3_attrdesc.o",
- "crypto/x509/libcrypto-lib-v3_attrmap.o",
- "crypto/x509/libcrypto-lib-v3_audit_id.o",
- "crypto/x509/libcrypto-lib-v3_authattid.o",
- "crypto/x509/libcrypto-lib-v3_battcons.o",
- "crypto/x509/libcrypto-lib-v3_bcons.o",
- "crypto/x509/libcrypto-lib-v3_bitst.o",
- "crypto/x509/libcrypto-lib-v3_conf.o",
- "crypto/x509/libcrypto-lib-v3_cpols.o",
- "crypto/x509/libcrypto-lib-v3_crld.o",
- "crypto/x509/libcrypto-lib-v3_enum.o",
- "crypto/x509/libcrypto-lib-v3_extku.o",
- "crypto/x509/libcrypto-lib-v3_genn.o",
- "crypto/x509/libcrypto-lib-v3_group_ac.o",
- "crypto/x509/libcrypto-lib-v3_ia5.o",
- "crypto/x509/libcrypto-lib-v3_ind_iss.o",
- "crypto/x509/libcrypto-lib-v3_info.o",
- "crypto/x509/libcrypto-lib-v3_int.o",
- "crypto/x509/libcrypto-lib-v3_iobo.o",
- "crypto/x509/libcrypto-lib-v3_ist.o",
- "crypto/x509/libcrypto-lib-v3_lib.o",
- "crypto/x509/libcrypto-lib-v3_ncons.o",
- "crypto/x509/libcrypto-lib-v3_no_ass.o",
- "crypto/x509/libcrypto-lib-v3_no_rev_avail.o",
- "crypto/x509/libcrypto-lib-v3_pci.o",
- "crypto/x509/libcrypto-lib-v3_pcia.o",
- "crypto/x509/libcrypto-lib-v3_pcons.o",
- "crypto/x509/libcrypto-lib-v3_pku.o",
- "crypto/x509/libcrypto-lib-v3_pmaps.o",
- "crypto/x509/libcrypto-lib-v3_prn.o",
- "crypto/x509/libcrypto-lib-v3_purp.o",
- "crypto/x509/libcrypto-lib-v3_rolespec.o",
- "crypto/x509/libcrypto-lib-v3_san.o",
- "crypto/x509/libcrypto-lib-v3_sda.o",
- "crypto/x509/libcrypto-lib-v3_single_use.o",
- "crypto/x509/libcrypto-lib-v3_skid.o",
- "crypto/x509/libcrypto-lib-v3_soa_id.o",
- "crypto/x509/libcrypto-lib-v3_sxnet.o",
- "crypto/x509/libcrypto-lib-v3_timespec.o",
- "crypto/x509/libcrypto-lib-v3_tlsf.o",
- "crypto/x509/libcrypto-lib-v3_usernotice.o",
- "crypto/x509/libcrypto-lib-v3_utf8.o",
- "crypto/x509/libcrypto-lib-v3_utl.o",
- "crypto/x509/libcrypto-lib-v3err.o",
- "crypto/x509/libcrypto-lib-x509_acert.o",
- "crypto/x509/libcrypto-lib-x509_att.o",
- "crypto/x509/libcrypto-lib-x509_cmp.o",
- "crypto/x509/libcrypto-lib-x509_d2.o",
- "crypto/x509/libcrypto-lib-x509_def.o",
- "crypto/x509/libcrypto-lib-x509_err.o",
- "crypto/x509/libcrypto-lib-x509_ext.o",
- "crypto/x509/libcrypto-lib-x509_lu.o",
- "crypto/x509/libcrypto-lib-x509_meth.o",
- "crypto/x509/libcrypto-lib-x509_obj.o",
- "crypto/x509/libcrypto-lib-x509_r2x.o",
- "crypto/x509/libcrypto-lib-x509_req.o",
- "crypto/x509/libcrypto-lib-x509_set.o",
- "crypto/x509/libcrypto-lib-x509_trust.o",
- "crypto/x509/libcrypto-lib-x509_txt.o",
- "crypto/x509/libcrypto-lib-x509_v3.o",
- "crypto/x509/libcrypto-lib-x509_vfy.o",
- "crypto/x509/libcrypto-lib-x509_vpm.o",
- "crypto/x509/libcrypto-lib-x509aset.o",
- "crypto/x509/libcrypto-lib-x509cset.o",
- "crypto/x509/libcrypto-lib-x509name.o",
- "crypto/x509/libcrypto-lib-x509rset.o",
- "crypto/x509/libcrypto-lib-x509spki.o",
- "crypto/x509/libcrypto-lib-x509type.o",
- "crypto/x509/libcrypto-lib-x_all.o",
- "crypto/x509/libcrypto-lib-x_attrib.o",
- "crypto/x509/libcrypto-lib-x_crl.o",
- "crypto/x509/libcrypto-lib-x_exten.o",
- "crypto/x509/libcrypto-lib-x_ietfatt.o",
- "crypto/x509/libcrypto-lib-x_name.o",
- "crypto/x509/libcrypto-lib-x_pubkey.o",
- "crypto/x509/libcrypto-lib-x_req.o",
- "crypto/x509/libcrypto-lib-x_x509.o",
- "crypto/x509/libcrypto-lib-x_x509a.o",
- "providers/libcrypto-lib-baseprov.o",
- "providers/libcrypto-lib-defltprov.o",
- "providers/libcrypto-lib-nullprov.o",
- "providers/libcrypto-lib-prov_running.o",
- "providers/libdefault.a"
- ],
- "libssl" => [
- "ssl/libssl-lib-bio_ssl.o",
- "ssl/libssl-lib-d1_lib.o",
- "ssl/libssl-lib-d1_msg.o",
- "ssl/libssl-lib-d1_srtp.o",
- "ssl/libssl-lib-methods.o",
- "ssl/libssl-lib-pqueue.o",
- "ssl/libssl-lib-priority_queue.o",
- "ssl/libssl-lib-s3_enc.o",
- "ssl/libssl-lib-s3_lib.o",
- "ssl/libssl-lib-s3_msg.o",
- "ssl/libssl-lib-ssl_asn1.o",
- "ssl/libssl-lib-ssl_cert.o",
- "ssl/libssl-lib-ssl_cert_comp.o",
- "ssl/libssl-lib-ssl_ciph.o",
- "ssl/libssl-lib-ssl_conf.o",
- "ssl/libssl-lib-ssl_err_legacy.o",
- "ssl/libssl-lib-ssl_init.o",
- "ssl/libssl-lib-ssl_lib.o",
- "ssl/libssl-lib-ssl_mcnf.o",
- "ssl/libssl-lib-ssl_rsa.o",
- "ssl/libssl-lib-ssl_rsa_legacy.o",
- "ssl/libssl-lib-ssl_sess.o",
- "ssl/libssl-lib-ssl_stat.o",
- "ssl/libssl-lib-ssl_txt.o",
- "ssl/libssl-lib-ssl_utst.o",
- "ssl/libssl-lib-t1_enc.o",
- "ssl/libssl-lib-t1_lib.o",
- "ssl/libssl-lib-t1_trce.o",
- "ssl/libssl-lib-tls13_enc.o",
- "ssl/libssl-lib-tls_depr.o",
- "ssl/libssl-lib-tls_srp.o",
- "ssl/quic/libssl-lib-cc_newreno.o",
- "ssl/quic/libssl-lib-json_enc.o",
- "ssl/quic/libssl-lib-qlog.o",
- "ssl/quic/libssl-lib-qlog_event_helpers.o",
- "ssl/quic/libssl-lib-quic_ackm.o",
- "ssl/quic/libssl-lib-quic_cfq.o",
- "ssl/quic/libssl-lib-quic_channel.o",
- "ssl/quic/libssl-lib-quic_demux.o",
- "ssl/quic/libssl-lib-quic_engine.o",
- "ssl/quic/libssl-lib-quic_fc.o",
- "ssl/quic/libssl-lib-quic_fifd.o",
- "ssl/quic/libssl-lib-quic_impl.o",
- "ssl/quic/libssl-lib-quic_lcidm.o",
- "ssl/quic/libssl-lib-quic_method.o",
- "ssl/quic/libssl-lib-quic_obj.o",
- "ssl/quic/libssl-lib-quic_port.o",
- "ssl/quic/libssl-lib-quic_rcidm.o",
- "ssl/quic/libssl-lib-quic_reactor.o",
- "ssl/quic/libssl-lib-quic_reactor_wait_ctx.o",
- "ssl/quic/libssl-lib-quic_record_rx.o",
- "ssl/quic/libssl-lib-quic_record_shared.o",
- "ssl/quic/libssl-lib-quic_record_tx.o",
- "ssl/quic/libssl-lib-quic_record_util.o",
- "ssl/quic/libssl-lib-quic_rstream.o",
- "ssl/quic/libssl-lib-quic_rx_depack.o",
- "ssl/quic/libssl-lib-quic_sf_list.o",
- "ssl/quic/libssl-lib-quic_srt_gen.o",
- "ssl/quic/libssl-lib-quic_srtm.o",
- "ssl/quic/libssl-lib-quic_sstream.o",
- "ssl/quic/libssl-lib-quic_statm.o",
- "ssl/quic/libssl-lib-quic_stream_map.o",
- "ssl/quic/libssl-lib-quic_thread_assist.o",
- "ssl/quic/libssl-lib-quic_tls.o",
- "ssl/quic/libssl-lib-quic_tls_api.o",
- "ssl/quic/libssl-lib-quic_trace.o",
- "ssl/quic/libssl-lib-quic_tserver.o",
- "ssl/quic/libssl-lib-quic_txp.o",
- "ssl/quic/libssl-lib-quic_txpim.o",
- "ssl/quic/libssl-lib-quic_types.o",
- "ssl/quic/libssl-lib-quic_wire.o",
- "ssl/quic/libssl-lib-quic_wire_pkt.o",
- "ssl/quic/libssl-lib-uint_set.o",
- "ssl/record/libssl-lib-rec_layer_d1.o",
- "ssl/record/libssl-lib-rec_layer_s3.o",
- "ssl/record/methods/libssl-lib-dtls_meth.o",
- "ssl/record/methods/libssl-lib-ktls_meth.o",
- "ssl/record/methods/libssl-lib-ssl3_meth.o",
- "ssl/record/methods/libssl-lib-tls13_meth.o",
- "ssl/record/methods/libssl-lib-tls1_meth.o",
- "ssl/record/methods/libssl-lib-tls_common.o",
- "ssl/record/methods/libssl-lib-tls_multib.o",
- "ssl/record/methods/libssl-lib-tlsany_meth.o",
- "ssl/rio/libssl-lib-poll_builder.o",
- "ssl/rio/libssl-lib-poll_immediate.o",
- "ssl/rio/libssl-lib-rio_notifier.o",
- "ssl/statem/libssl-lib-extensions.o",
- "ssl/statem/libssl-lib-extensions_clnt.o",
- "ssl/statem/libssl-lib-extensions_cust.o",
- "ssl/statem/libssl-lib-extensions_srvr.o",
- "ssl/statem/libssl-lib-statem.o",
- "ssl/statem/libssl-lib-statem_clnt.o",
- "ssl/statem/libssl-lib-statem_dtls.o",
- "ssl/statem/libssl-lib-statem_lib.o",
- "ssl/statem/libssl-lib-statem_srvr.o"
- ],
- "providers/common/der/libcommon-lib-der_digests_gen.o" => [
- "providers/common/der/der_digests_gen.c"
- ],
- "providers/common/der/libcommon-lib-der_dsa_gen.o" => [
- "providers/common/der/der_dsa_gen.c"
- ],
- "providers/common/der/libcommon-lib-der_dsa_key.o" => [
- "providers/common/der/der_dsa_key.c"
- ],
- "providers/common/der/libcommon-lib-der_dsa_sig.o" => [
- "providers/common/der/der_dsa_sig.c"
- ],
- "providers/common/der/libcommon-lib-der_ec_gen.o" => [
- "providers/common/der/der_ec_gen.c"
- ],
- "providers/common/der/libcommon-lib-der_ec_key.o" => [
- "providers/common/der/der_ec_key.c"
- ],
- "providers/common/der/libcommon-lib-der_ec_sig.o" => [
- "providers/common/der/der_ec_sig.c"
- ],
- "providers/common/der/libcommon-lib-der_ecx_gen.o" => [
- "providers/common/der/der_ecx_gen.c"
- ],
- "providers/common/der/libcommon-lib-der_ecx_key.o" => [
- "providers/common/der/der_ecx_key.c"
- ],
- "providers/common/der/libcommon-lib-der_ml_dsa_gen.o" => [
- "providers/common/der/der_ml_dsa_gen.c"
- ],
- "providers/common/der/libcommon-lib-der_ml_dsa_key.o" => [
- "providers/common/der/der_ml_dsa_key.c"
- ],
- "providers/common/der/libcommon-lib-der_rsa_gen.o" => [
- "providers/common/der/der_rsa_gen.c"
- ],
- "providers/common/der/libcommon-lib-der_rsa_key.o" => [
- "providers/common/der/der_rsa_key.c"
- ],
- "providers/common/der/libcommon-lib-der_slh_dsa_gen.o" => [
- "providers/common/der/der_slh_dsa_gen.c"
- ],
- "providers/common/der/libcommon-lib-der_slh_dsa_key.o" => [
- "providers/common/der/der_slh_dsa_key.c"
- ],
- "providers/common/der/libcommon-lib-der_wrap_gen.o" => [
- "providers/common/der/der_wrap_gen.c"
- ],
- "providers/common/der/libdefault-lib-der_rsa_sig.o" => [
- "providers/common/der/der_rsa_sig.c"
- ],
- "providers/common/libcommon-lib-provider_ctx.o" => [
- "providers/common/provider_ctx.c"
- ],
- "providers/common/libcommon-lib-provider_err.o" => [
- "providers/common/provider_err.c"
- ],
- "providers/common/libdefault-lib-bio_prov.o" => [
- "providers/common/bio_prov.c"
- ],
- "providers/common/libdefault-lib-capabilities.o" => [
- "providers/common/capabilities.c"
- ],
- "providers/common/libdefault-lib-digest_to_nid.o" => [
- "providers/common/digest_to_nid.c"
- ],
- "providers/common/libdefault-lib-provider_seeding.o" => [
- "providers/common/provider_seeding.c"
- ],
- "providers/common/libdefault-lib-provider_util.o" => [
- "providers/common/provider_util.c"
- ],
- "providers/common/libdefault-lib-securitycheck.o" => [
- "providers/common/securitycheck.c"
- ],
- "providers/common/libdefault-lib-securitycheck_default.o" => [
- "providers/common/securitycheck_default.c"
- ],
- "providers/common/liblegacy-lib-provider_util.o" => [
- "providers/common/provider_util.c"
- ],
- "providers/endecode_test-bin-legacyprov.o" => [
- "providers/legacyprov.c"
- ],
- "providers/evp_extra_test-bin-legacyprov.o" => [
- "providers/legacyprov.c"
- ],
- "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o" => [
- "providers/implementations/asymciphers/rsa_enc.c"
- ],
- "providers/implementations/ciphers/libcommon-lib-ciphercommon.o" => [
- "providers/implementations/ciphers/ciphercommon.c"
- ],
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_block.o" => [
- "providers/implementations/ciphers/ciphercommon_block.c"
- ],
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm.o" => [
- "providers/implementations/ciphers/ciphercommon_ccm.c"
- ],
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm_hw.o" => [
- "providers/implementations/ciphers/ciphercommon_ccm_hw.c"
- ],
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm.o" => [
- "providers/implementations/ciphers/ciphercommon_gcm.c"
- ],
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm_hw.o" => [
- "providers/implementations/ciphers/ciphercommon_gcm_hw.c"
- ],
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_hw.o" => [
- "providers/implementations/ciphers/ciphercommon_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes.o" => [
- "providers/implementations/ciphers/cipher_aes.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha.o" => [
- "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha1_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha1_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha256_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_cbc_hmac_sha256_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm.o" => [
- "providers/implementations/ciphers/cipher_aes_ccm.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_ccm_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm.o" => [
- "providers/implementations/ciphers/cipher_aes_gcm.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_gcm_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv.o" => [
- "providers/implementations/ciphers/cipher_aes_gcm_siv.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_gcm_siv_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv_polyval.o" => [
- "providers/implementations/ciphers/cipher_aes_gcm_siv_polyval.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb.o" => [
- "providers/implementations/ciphers/cipher_aes_ocb.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_ocb_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv.o" => [
- "providers/implementations/ciphers/cipher_aes_siv.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_siv_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_wrp.o" => [
- "providers/implementations/ciphers/cipher_aes_wrp.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts.o" => [
- "providers/implementations/ciphers/cipher_aes_xts.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_fips.o" => [
- "providers/implementations/ciphers/cipher_aes_xts_fips.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_hw.o" => [
- "providers/implementations/ciphers/cipher_aes_xts_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_camellia.o" => [
- "providers/implementations/ciphers/cipher_camellia.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_camellia_hw.o" => [
- "providers/implementations/ciphers/cipher_camellia_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20.o" => [
- "providers/implementations/ciphers/cipher_chacha20.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_hw.o" => [
- "providers/implementations/ciphers/cipher_chacha20_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305.o" => [
- "providers/implementations/ciphers/cipher_chacha20_poly1305.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305_hw.o" => [
- "providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_cts.o" => [
- "providers/implementations/ciphers/cipher_cts.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_null.o" => [
- "providers/implementations/ciphers/cipher_null.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes.o" => [
- "providers/implementations/ciphers/cipher_tdes.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_common.o" => [
- "providers/implementations/ciphers/cipher_tdes_common.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default.o" => [
- "providers/implementations/ciphers/cipher_tdes_default.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default_hw.o" => [
- "providers/implementations/ciphers/cipher_tdes_default_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_hw.o" => [
- "providers/implementations/ciphers/cipher_tdes_hw.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap.o" => [
- "providers/implementations/ciphers/cipher_tdes_wrap.c"
- ],
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o" => [
- "providers/implementations/ciphers/cipher_tdes_wrap_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o" => [
- "providers/implementations/ciphers/cipher_blowfish.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o" => [
- "providers/implementations/ciphers/cipher_blowfish_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o" => [
- "providers/implementations/ciphers/cipher_cast5.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o" => [
- "providers/implementations/ciphers/cipher_cast5_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_des.o" => [
- "providers/implementations/ciphers/cipher_des.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o" => [
- "providers/implementations/ciphers/cipher_des_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o" => [
- "providers/implementations/ciphers/cipher_desx.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o" => [
- "providers/implementations/ciphers/cipher_desx_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o" => [
- "providers/implementations/ciphers/cipher_rc2.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o" => [
- "providers/implementations/ciphers/cipher_rc2_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o" => [
- "providers/implementations/ciphers/cipher_rc4.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o" => [
- "providers/implementations/ciphers/cipher_rc4_hmac_md5.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o" => [
- "providers/implementations/ciphers/cipher_rc4_hmac_md5_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o" => [
- "providers/implementations/ciphers/cipher_rc4_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o" => [
- "providers/implementations/ciphers/cipher_seed.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o" => [
- "providers/implementations/ciphers/cipher_seed_hw.c"
- ],
- "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o" => [
- "providers/implementations/ciphers/cipher_tdes_common.c"
- ],
- "providers/implementations/digests/libcommon-lib-digestcommon.o" => [
- "providers/implementations/digests/digestcommon.c"
- ],
- "providers/implementations/digests/libdefault-lib-blake2_prov.o" => [
- "providers/implementations/digests/blake2_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-blake2b_prov.o" => [
- "providers/implementations/digests/blake2b_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-blake2s_prov.o" => [
- "providers/implementations/digests/blake2s_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-md5_prov.o" => [
- "providers/implementations/digests/md5_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-md5_sha1_prov.o" => [
- "providers/implementations/digests/md5_sha1_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-null_prov.o" => [
- "providers/implementations/digests/null_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-ripemd_prov.o" => [
- "providers/implementations/digests/ripemd_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-sha2_prov.o" => [
- "providers/implementations/digests/sha2_prov.c"
- ],
- "providers/implementations/digests/libdefault-lib-sha3_prov.o" => [
- "providers/implementations/digests/sha3_prov.c"
- ],
- "providers/implementations/digests/liblegacy-lib-md4_prov.o" => [
- "providers/implementations/digests/md4_prov.c"
- ],
- "providers/implementations/digests/liblegacy-lib-ripemd_prov.o" => [
- "providers/implementations/digests/ripemd_prov.c"
- ],
- "providers/implementations/digests/liblegacy-lib-wp_prov.o" => [
- "providers/implementations/digests/wp_prov.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-decode_der2key.o" => [
- "providers/implementations/encode_decode/decode_der2key.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-decode_epki2pki.o" => [
- "providers/implementations/encode_decode/decode_epki2pki.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-decode_msblob2key.o" => [
- "providers/implementations/encode_decode/decode_msblob2key.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-decode_pem2der.o" => [
- "providers/implementations/encode_decode/decode_pem2der.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-decode_pvk2key.o" => [
- "providers/implementations/encode_decode/decode_pvk2key.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-decode_spki2typespki.o" => [
- "providers/implementations/encode_decode/decode_spki2typespki.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o" => [
- "providers/implementations/encode_decode/encode_key2any.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-encode_key2blob.o" => [
- "providers/implementations/encode_decode/encode_key2blob.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-encode_key2ms.o" => [
- "providers/implementations/encode_decode/encode_key2ms.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-encode_key2text.o" => [
- "providers/implementations/encode_decode/encode_key2text.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-endecoder_common.o" => [
- "providers/implementations/encode_decode/endecoder_common.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-ml_common_codecs.o" => [
- "providers/implementations/encode_decode/ml_common_codecs.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-ml_dsa_codecs.o" => [
- "providers/implementations/encode_decode/ml_dsa_codecs.c"
- ],
- "providers/implementations/encode_decode/libdefault-lib-ml_kem_codecs.o" => [
- "providers/implementations/encode_decode/ml_kem_codecs.c"
- ],
- "providers/implementations/exchange/libdefault-lib-dh_exch.o" => [
- "providers/implementations/exchange/dh_exch.c"
- ],
- "providers/implementations/exchange/libdefault-lib-ecdh_exch.o" => [
- "providers/implementations/exchange/ecdh_exch.c"
- ],
- "providers/implementations/exchange/libdefault-lib-ecx_exch.o" => [
- "providers/implementations/exchange/ecx_exch.c"
- ],
- "providers/implementations/exchange/libdefault-lib-kdf_exch.o" => [
- "providers/implementations/exchange/kdf_exch.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-argon2.o" => [
- "providers/implementations/kdfs/argon2.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-hkdf.o" => [
- "providers/implementations/kdfs/hkdf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-hmacdrbg_kdf.o" => [
- "providers/implementations/kdfs/hmacdrbg_kdf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-kbkdf.o" => [
- "providers/implementations/kdfs/kbkdf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-krb5kdf.o" => [
- "providers/implementations/kdfs/krb5kdf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-pbkdf2.o" => [
- "providers/implementations/kdfs/pbkdf2.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-pbkdf2_fips.o" => [
- "providers/implementations/kdfs/pbkdf2_fips.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-pkcs12kdf.o" => [
- "providers/implementations/kdfs/pkcs12kdf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-scrypt.o" => [
- "providers/implementations/kdfs/scrypt.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-sshkdf.o" => [
- "providers/implementations/kdfs/sshkdf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-sskdf.o" => [
- "providers/implementations/kdfs/sskdf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-tls1_prf.o" => [
- "providers/implementations/kdfs/tls1_prf.c"
- ],
- "providers/implementations/kdfs/libdefault-lib-x942kdf.o" => [
- "providers/implementations/kdfs/x942kdf.c"
- ],
- "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o" => [
- "providers/implementations/kdfs/pbkdf1.c"
- ],
- "providers/implementations/kdfs/liblegacy-lib-pvkkdf.o" => [
- "providers/implementations/kdfs/pvkkdf.c"
- ],
- "providers/implementations/kem/libdefault-lib-ec_kem.o" => [
- "providers/implementations/kem/ec_kem.c"
- ],
- "providers/implementations/kem/libdefault-lib-ecx_kem.o" => [
- "providers/implementations/kem/ecx_kem.c"
- ],
- "providers/implementations/kem/libdefault-lib-kem_util.o" => [
- "providers/implementations/kem/kem_util.c"
- ],
- "providers/implementations/kem/libdefault-lib-ml_kem_kem.o" => [
- "providers/implementations/kem/ml_kem_kem.c"
- ],
- "providers/implementations/kem/libdefault-lib-mlx_kem.o" => [
- "providers/implementations/kem/mlx_kem.c"
- ],
- "providers/implementations/kem/libdefault-lib-rsa_kem.o" => [
- "providers/implementations/kem/rsa_kem.c"
- ],
- "providers/implementations/kem/libtemplate-lib-template_kem.o" => [
- "providers/implementations/kem/template_kem.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-dh_kmgmt.o" => [
- "providers/implementations/keymgmt/dh_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-dsa_kmgmt.o" => [
- "providers/implementations/keymgmt/dsa_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-ec_kmgmt.o" => [
- "providers/implementations/keymgmt/ec_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-ecx_kmgmt.o" => [
- "providers/implementations/keymgmt/ecx_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-kdf_legacy_kmgmt.o" => [
- "providers/implementations/keymgmt/kdf_legacy_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-mac_legacy_kmgmt.o" => [
- "providers/implementations/keymgmt/mac_legacy_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-ml_dsa_kmgmt.o" => [
- "providers/implementations/keymgmt/ml_dsa_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-ml_kem_kmgmt.o" => [
- "providers/implementations/keymgmt/ml_kem_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-mlx_kmgmt.o" => [
- "providers/implementations/keymgmt/mlx_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-rsa_kmgmt.o" => [
- "providers/implementations/keymgmt/rsa_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libdefault-lib-slh_dsa_kmgmt.o" => [
- "providers/implementations/keymgmt/slh_dsa_kmgmt.c"
- ],
- "providers/implementations/keymgmt/libtemplate-lib-template_kmgmt.o" => [
- "providers/implementations/keymgmt/template_kmgmt.c"
- ],
- "providers/implementations/macs/libdefault-lib-blake2b_mac.o" => [
- "providers/implementations/macs/blake2b_mac.c"
- ],
- "providers/implementations/macs/libdefault-lib-blake2s_mac.o" => [
- "providers/implementations/macs/blake2s_mac.c"
- ],
- "providers/implementations/macs/libdefault-lib-cmac_prov.o" => [
- "providers/implementations/macs/cmac_prov.c"
- ],
- "providers/implementations/macs/libdefault-lib-gmac_prov.o" => [
- "providers/implementations/macs/gmac_prov.c"
- ],
- "providers/implementations/macs/libdefault-lib-hmac_prov.o" => [
- "providers/implementations/macs/hmac_prov.c"
- ],
- "providers/implementations/macs/libdefault-lib-kmac_prov.o" => [
- "providers/implementations/macs/kmac_prov.c"
- ],
- "providers/implementations/macs/libdefault-lib-poly1305_prov.o" => [
- "providers/implementations/macs/poly1305_prov.c"
- ],
- "providers/implementations/macs/libdefault-lib-siphash_prov.o" => [
- "providers/implementations/macs/siphash_prov.c"
- ],
- "providers/implementations/rands/libdefault-lib-drbg.o" => [
- "providers/implementations/rands/drbg.c"
- ],
- "providers/implementations/rands/libdefault-lib-drbg_ctr.o" => [
- "providers/implementations/rands/drbg_ctr.c"
- ],
- "providers/implementations/rands/libdefault-lib-drbg_hash.o" => [
- "providers/implementations/rands/drbg_hash.c"
- ],
- "providers/implementations/rands/libdefault-lib-drbg_hmac.o" => [
- "providers/implementations/rands/drbg_hmac.c"
- ],
- "providers/implementations/rands/libdefault-lib-seed_src.o" => [
- "providers/implementations/rands/seed_src.c"
- ],
- "providers/implementations/rands/libdefault-lib-seed_src_jitter.o" => [
- "providers/implementations/rands/seed_src_jitter.c"
- ],
- "providers/implementations/rands/libdefault-lib-test_rng.o" => [
- "providers/implementations/rands/test_rng.c"
- ],
- "providers/implementations/rands/seeding/libdefault-lib-rand_cpu_x86.o" => [
- "providers/implementations/rands/seeding/rand_cpu_x86.c"
- ],
- "providers/implementations/rands/seeding/libdefault-lib-rand_tsc.o" => [
- "providers/implementations/rands/seeding/rand_tsc.c"
- ],
- "providers/implementations/rands/seeding/libdefault-lib-rand_unix.o" => [
- "providers/implementations/rands/seeding/rand_unix.c"
- ],
- "providers/implementations/rands/seeding/libdefault-lib-rand_win.o" => [
- "providers/implementations/rands/seeding/rand_win.c"
- ],
- "providers/implementations/signature/libdefault-lib-dsa_sig.o" => [
- "providers/implementations/signature/dsa_sig.c"
- ],
- "providers/implementations/signature/libdefault-lib-ecdsa_sig.o" => [
- "providers/implementations/signature/ecdsa_sig.c"
- ],
- "providers/implementations/signature/libdefault-lib-eddsa_sig.o" => [
- "providers/implementations/signature/eddsa_sig.c"
- ],
- "providers/implementations/signature/libdefault-lib-mac_legacy_sig.o" => [
- "providers/implementations/signature/mac_legacy_sig.c"
- ],
- "providers/implementations/signature/libdefault-lib-ml_dsa_sig.o" => [
- "providers/implementations/signature/ml_dsa_sig.c"
- ],
- "providers/implementations/signature/libdefault-lib-rsa_sig.o" => [
- "providers/implementations/signature/rsa_sig.c"
- ],
- "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o" => [
- "providers/implementations/signature/slh_dsa_sig.c"
- ],
- "providers/implementations/skeymgmt/libdefault-lib-aes_skmgmt.o" => [
- "providers/implementations/skeymgmt/aes_skmgmt.c"
- ],
- "providers/implementations/skeymgmt/libdefault-lib-generic.o" => [
- "providers/implementations/skeymgmt/generic.c"
- ],
- "providers/implementations/storemgmt/libdefault-lib-file_store.o" => [
- "providers/implementations/storemgmt/file_store.c"
- ],
- "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o" => [
- "providers/implementations/storemgmt/file_store_any2obj.c"
- ],
- "providers/legacy" => [
- "crypto/legacy-dso-cpuid.o",
- "crypto/legacy-dso-ctype.o",
- "crypto/legacy-dso-x86_64cpuid.o",
- "providers/legacy-dso-legacyprov.o",
- "providers/legacy.ld"
- ],
- "providers/legacy-dso-legacyprov.o" => [
- "providers/legacyprov.c"
- ],
- "providers/libcommon.a" => [
- "providers/common/der/libcommon-lib-der_digests_gen.o",
- "providers/common/der/libcommon-lib-der_dsa_gen.o",
- "providers/common/der/libcommon-lib-der_dsa_key.o",
- "providers/common/der/libcommon-lib-der_dsa_sig.o",
- "providers/common/der/libcommon-lib-der_ec_gen.o",
- "providers/common/der/libcommon-lib-der_ec_key.o",
- "providers/common/der/libcommon-lib-der_ec_sig.o",
- "providers/common/der/libcommon-lib-der_ecx_gen.o",
- "providers/common/der/libcommon-lib-der_ecx_key.o",
- "providers/common/der/libcommon-lib-der_ml_dsa_gen.o",
- "providers/common/der/libcommon-lib-der_ml_dsa_key.o",
- "providers/common/der/libcommon-lib-der_rsa_gen.o",
- "providers/common/der/libcommon-lib-der_rsa_key.o",
- "providers/common/der/libcommon-lib-der_slh_dsa_gen.o",
- "providers/common/der/libcommon-lib-der_slh_dsa_key.o",
- "providers/common/der/libcommon-lib-der_wrap_gen.o",
- "providers/common/libcommon-lib-provider_ctx.o",
- "providers/common/libcommon-lib-provider_err.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_block.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_ccm_hw.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_gcm_hw.o",
- "providers/implementations/ciphers/libcommon-lib-ciphercommon_hw.o",
- "providers/implementations/digests/libcommon-lib-digestcommon.o",
- "ssl/record/methods/libcommon-lib-tls_pad.o"
- ],
- "providers/libcrypto-lib-baseprov.o" => [
- "providers/baseprov.c"
- ],
- "providers/libcrypto-lib-defltprov.o" => [
- "providers/defltprov.c"
- ],
- "providers/libcrypto-lib-nullprov.o" => [
- "providers/nullprov.c"
- ],
- "providers/libcrypto-lib-prov_running.o" => [
- "providers/prov_running.c"
- ],
- "providers/libcrypto-shlib-baseprov.o" => [
- "providers/baseprov.c"
- ],
- "providers/libcrypto-shlib-defltprov.o" => [
- "providers/defltprov.c"
- ],
- "providers/libcrypto-shlib-nullprov.o" => [
- "providers/nullprov.c"
- ],
- "providers/libcrypto-shlib-prov_running.o" => [
- "providers/prov_running.c"
- ],
- "providers/libdefault.a" => [
- "providers/common/der/libdefault-lib-der_rsa_sig.o",
- "providers/common/libdefault-lib-bio_prov.o",
- "providers/common/libdefault-lib-capabilities.o",
- "providers/common/libdefault-lib-digest_to_nid.o",
- "providers/common/libdefault-lib-provider_seeding.o",
- "providers/common/libdefault-lib-provider_util.o",
- "providers/common/libdefault-lib-securitycheck.o",
- "providers/common/libdefault-lib-securitycheck_default.o",
- "providers/implementations/asymciphers/libdefault-lib-rsa_enc.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha1_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_cbc_hmac_sha256_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ccm_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_gcm_siv_polyval.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_ocb_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_siv_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_wrp.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_fips.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_aes_xts_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_camellia.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_camellia_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_chacha20_poly1305_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_cts.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_null.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_common.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_default_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_hw.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap.o",
- "providers/implementations/ciphers/libdefault-lib-cipher_tdes_wrap_hw.o",
- "providers/implementations/digests/libdefault-lib-blake2_prov.o",
- "providers/implementations/digests/libdefault-lib-blake2b_prov.o",
- "providers/implementations/digests/libdefault-lib-blake2s_prov.o",
- "providers/implementations/digests/libdefault-lib-md5_prov.o",
- "providers/implementations/digests/libdefault-lib-md5_sha1_prov.o",
- "providers/implementations/digests/libdefault-lib-null_prov.o",
- "providers/implementations/digests/libdefault-lib-ripemd_prov.o",
- "providers/implementations/digests/libdefault-lib-sha2_prov.o",
- "providers/implementations/digests/libdefault-lib-sha3_prov.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_der2key.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_epki2pki.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_msblob2key.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_pem2der.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_pvk2key.o",
- "providers/implementations/encode_decode/libdefault-lib-decode_spki2typespki.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2any.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2blob.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2ms.o",
- "providers/implementations/encode_decode/libdefault-lib-encode_key2text.o",
- "providers/implementations/encode_decode/libdefault-lib-endecoder_common.o",
- "providers/implementations/encode_decode/libdefault-lib-ml_common_codecs.o",
- "providers/implementations/encode_decode/libdefault-lib-ml_dsa_codecs.o",
- "providers/implementations/encode_decode/libdefault-lib-ml_kem_codecs.o",
- "providers/implementations/exchange/libdefault-lib-dh_exch.o",
- "providers/implementations/exchange/libdefault-lib-ecdh_exch.o",
- "providers/implementations/exchange/libdefault-lib-ecx_exch.o",
- "providers/implementations/exchange/libdefault-lib-kdf_exch.o",
- "providers/implementations/kdfs/libdefault-lib-argon2.o",
- "providers/implementations/kdfs/libdefault-lib-hkdf.o",
- "providers/implementations/kdfs/libdefault-lib-hmacdrbg_kdf.o",
- "providers/implementations/kdfs/libdefault-lib-kbkdf.o",
- "providers/implementations/kdfs/libdefault-lib-krb5kdf.o",
- "providers/implementations/kdfs/libdefault-lib-pbkdf2.o",
- "providers/implementations/kdfs/libdefault-lib-pbkdf2_fips.o",
- "providers/implementations/kdfs/libdefault-lib-pkcs12kdf.o",
- "providers/implementations/kdfs/libdefault-lib-scrypt.o",
- "providers/implementations/kdfs/libdefault-lib-sshkdf.o",
- "providers/implementations/kdfs/libdefault-lib-sskdf.o",
- "providers/implementations/kdfs/libdefault-lib-tls1_prf.o",
- "providers/implementations/kdfs/libdefault-lib-x942kdf.o",
- "providers/implementations/kem/libdefault-lib-ec_kem.o",
- "providers/implementations/kem/libdefault-lib-ecx_kem.o",
- "providers/implementations/kem/libdefault-lib-kem_util.o",
- "providers/implementations/kem/libdefault-lib-ml_kem_kem.o",
- "providers/implementations/kem/libdefault-lib-mlx_kem.o",
- "providers/implementations/kem/libdefault-lib-rsa_kem.o",
- "providers/implementations/keymgmt/libdefault-lib-dh_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-dsa_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ec_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ecx_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-kdf_legacy_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-mac_legacy_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ml_dsa_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-ml_kem_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-mlx_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-rsa_kmgmt.o",
- "providers/implementations/keymgmt/libdefault-lib-slh_dsa_kmgmt.o",
- "providers/implementations/macs/libdefault-lib-blake2b_mac.o",
- "providers/implementations/macs/libdefault-lib-blake2s_mac.o",
- "providers/implementations/macs/libdefault-lib-cmac_prov.o",
- "providers/implementations/macs/libdefault-lib-gmac_prov.o",
- "providers/implementations/macs/libdefault-lib-hmac_prov.o",
- "providers/implementations/macs/libdefault-lib-kmac_prov.o",
- "providers/implementations/macs/libdefault-lib-poly1305_prov.o",
- "providers/implementations/macs/libdefault-lib-siphash_prov.o",
- "providers/implementations/rands/libdefault-lib-drbg.o",
- "providers/implementations/rands/libdefault-lib-drbg_ctr.o",
- "providers/implementations/rands/libdefault-lib-drbg_hash.o",
- "providers/implementations/rands/libdefault-lib-drbg_hmac.o",
- "providers/implementations/rands/libdefault-lib-seed_src.o",
- "providers/implementations/rands/libdefault-lib-seed_src_jitter.o",
- "providers/implementations/rands/libdefault-lib-test_rng.o",
- "providers/implementations/rands/seeding/libdefault-lib-rand_cpu_x86.o",
- "providers/implementations/rands/seeding/libdefault-lib-rand_tsc.o",
- "providers/implementations/rands/seeding/libdefault-lib-rand_unix.o",
- "providers/implementations/rands/seeding/libdefault-lib-rand_win.o",
- "providers/implementations/signature/libdefault-lib-dsa_sig.o",
- "providers/implementations/signature/libdefault-lib-ecdsa_sig.o",
- "providers/implementations/signature/libdefault-lib-eddsa_sig.o",
- "providers/implementations/signature/libdefault-lib-mac_legacy_sig.o",
- "providers/implementations/signature/libdefault-lib-ml_dsa_sig.o",
- "providers/implementations/signature/libdefault-lib-rsa_sig.o",
- "providers/implementations/signature/libdefault-lib-slh_dsa_sig.o",
- "providers/implementations/skeymgmt/libdefault-lib-aes_skmgmt.o",
- "providers/implementations/skeymgmt/libdefault-lib-generic.o",
- "providers/implementations/storemgmt/libdefault-lib-file_store.o",
- "providers/implementations/storemgmt/libdefault-lib-file_store_any2obj.o",
- "ssl/record/methods/libdefault-lib-ssl3_cbc.o"
- ],
- "providers/liblegacy-lib-prov_running.o" => [
- "providers/prov_running.c"
- ],
- "providers/liblegacy.a" => [
- "crypto/des/liblegacy-lib-des_enc.o",
- "crypto/des/liblegacy-lib-fcrypt_b.o",
- "crypto/md5/liblegacy-lib-md5-x86_64.o",
- "crypto/md5/liblegacy-lib-md5_dgst.o",
- "crypto/md5/liblegacy-lib-md5_one.o",
- "crypto/md5/liblegacy-lib-md5_sha1.o",
- "crypto/rc4/liblegacy-lib-rc4-md5-x86_64.o",
- "crypto/rc4/liblegacy-lib-rc4-x86_64.o",
- "providers/common/liblegacy-lib-provider_util.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_blowfish_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_cast5.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_cast5_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_des.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_des_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_desx.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_desx_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc2.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc2_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hmac_md5_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_rc4_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_seed.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_seed_hw.o",
- "providers/implementations/ciphers/liblegacy-lib-cipher_tdes_common.o",
- "providers/implementations/digests/liblegacy-lib-md4_prov.o",
- "providers/implementations/digests/liblegacy-lib-ripemd_prov.o",
- "providers/implementations/digests/liblegacy-lib-wp_prov.o",
- "providers/implementations/kdfs/liblegacy-lib-pbkdf1.o",
- "providers/implementations/kdfs/liblegacy-lib-pvkkdf.o",
- "providers/liblegacy-lib-prov_running.o"
- ],
- "providers/libtemplate.a" => [
- "providers/implementations/kem/libtemplate-lib-template_kem.o",
- "providers/implementations/keymgmt/libtemplate-lib-template_kmgmt.o"
- ],
- "ssl/libssl-lib-bio_ssl.o" => [
- "ssl/bio_ssl.c"
- ],
- "ssl/libssl-lib-d1_lib.o" => [
- "ssl/d1_lib.c"
- ],
- "ssl/libssl-lib-d1_msg.o" => [
- "ssl/d1_msg.c"
- ],
- "ssl/libssl-lib-d1_srtp.o" => [
- "ssl/d1_srtp.c"
- ],
- "ssl/libssl-lib-methods.o" => [
- "ssl/methods.c"
- ],
- "ssl/libssl-lib-pqueue.o" => [
- "ssl/pqueue.c"
- ],
- "ssl/libssl-lib-priority_queue.o" => [
- "ssl/priority_queue.c"
- ],
- "ssl/libssl-lib-s3_enc.o" => [
- "ssl/s3_enc.c"
- ],
- "ssl/libssl-lib-s3_lib.o" => [
- "ssl/s3_lib.c"
- ],
- "ssl/libssl-lib-s3_msg.o" => [
- "ssl/s3_msg.c"
- ],
- "ssl/libssl-lib-ssl_asn1.o" => [
- "ssl/ssl_asn1.c"
- ],
- "ssl/libssl-lib-ssl_cert.o" => [
- "ssl/ssl_cert.c"
- ],
- "ssl/libssl-lib-ssl_cert_comp.o" => [
- "ssl/ssl_cert_comp.c"
- ],
- "ssl/libssl-lib-ssl_ciph.o" => [
- "ssl/ssl_ciph.c"
- ],
- "ssl/libssl-lib-ssl_conf.o" => [
- "ssl/ssl_conf.c"
- ],
- "ssl/libssl-lib-ssl_err_legacy.o" => [
- "ssl/ssl_err_legacy.c"
- ],
- "ssl/libssl-lib-ssl_init.o" => [
- "ssl/ssl_init.c"
- ],
- "ssl/libssl-lib-ssl_lib.o" => [
- "ssl/ssl_lib.c"
- ],
- "ssl/libssl-lib-ssl_mcnf.o" => [
- "ssl/ssl_mcnf.c"
- ],
- "ssl/libssl-lib-ssl_rsa.o" => [
- "ssl/ssl_rsa.c"
- ],
- "ssl/libssl-lib-ssl_rsa_legacy.o" => [
- "ssl/ssl_rsa_legacy.c"
- ],
- "ssl/libssl-lib-ssl_sess.o" => [
- "ssl/ssl_sess.c"
- ],
- "ssl/libssl-lib-ssl_stat.o" => [
- "ssl/ssl_stat.c"
- ],
- "ssl/libssl-lib-ssl_txt.o" => [
- "ssl/ssl_txt.c"
- ],
- "ssl/libssl-lib-ssl_utst.o" => [
- "ssl/ssl_utst.c"
- ],
- "ssl/libssl-lib-t1_enc.o" => [
- "ssl/t1_enc.c"
- ],
- "ssl/libssl-lib-t1_lib.o" => [
- "ssl/t1_lib.c"
- ],
- "ssl/libssl-lib-t1_trce.o" => [
- "ssl/t1_trce.c"
- ],
- "ssl/libssl-lib-tls13_enc.o" => [
- "ssl/tls13_enc.c"
- ],
- "ssl/libssl-lib-tls_depr.o" => [
- "ssl/tls_depr.c"
- ],
- "ssl/libssl-lib-tls_srp.o" => [
- "ssl/tls_srp.c"
- ],
- "ssl/libssl-shlib-bio_ssl.o" => [
- "ssl/bio_ssl.c"
- ],
- "ssl/libssl-shlib-d1_lib.o" => [
- "ssl/d1_lib.c"
- ],
- "ssl/libssl-shlib-d1_msg.o" => [
- "ssl/d1_msg.c"
- ],
- "ssl/libssl-shlib-d1_srtp.o" => [
- "ssl/d1_srtp.c"
- ],
- "ssl/libssl-shlib-methods.o" => [
- "ssl/methods.c"
- ],
- "ssl/libssl-shlib-pqueue.o" => [
- "ssl/pqueue.c"
- ],
- "ssl/libssl-shlib-priority_queue.o" => [
- "ssl/priority_queue.c"
- ],
- "ssl/libssl-shlib-s3_enc.o" => [
- "ssl/s3_enc.c"
- ],
- "ssl/libssl-shlib-s3_lib.o" => [
- "ssl/s3_lib.c"
- ],
- "ssl/libssl-shlib-s3_msg.o" => [
- "ssl/s3_msg.c"
- ],
- "ssl/libssl-shlib-ssl_asn1.o" => [
- "ssl/ssl_asn1.c"
- ],
- "ssl/libssl-shlib-ssl_cert.o" => [
- "ssl/ssl_cert.c"
- ],
- "ssl/libssl-shlib-ssl_cert_comp.o" => [
- "ssl/ssl_cert_comp.c"
- ],
- "ssl/libssl-shlib-ssl_ciph.o" => [
- "ssl/ssl_ciph.c"
- ],
- "ssl/libssl-shlib-ssl_conf.o" => [
- "ssl/ssl_conf.c"
- ],
- "ssl/libssl-shlib-ssl_err_legacy.o" => [
- "ssl/ssl_err_legacy.c"
- ],
- "ssl/libssl-shlib-ssl_init.o" => [
- "ssl/ssl_init.c"
- ],
- "ssl/libssl-shlib-ssl_lib.o" => [
- "ssl/ssl_lib.c"
- ],
- "ssl/libssl-shlib-ssl_mcnf.o" => [
- "ssl/ssl_mcnf.c"
- ],
- "ssl/libssl-shlib-ssl_rsa.o" => [
- "ssl/ssl_rsa.c"
- ],
- "ssl/libssl-shlib-ssl_rsa_legacy.o" => [
- "ssl/ssl_rsa_legacy.c"
- ],
- "ssl/libssl-shlib-ssl_sess.o" => [
- "ssl/ssl_sess.c"
- ],
- "ssl/libssl-shlib-ssl_stat.o" => [
- "ssl/ssl_stat.c"
- ],
- "ssl/libssl-shlib-ssl_txt.o" => [
- "ssl/ssl_txt.c"
- ],
- "ssl/libssl-shlib-ssl_utst.o" => [
- "ssl/ssl_utst.c"
- ],
- "ssl/libssl-shlib-t1_enc.o" => [
- "ssl/t1_enc.c"
- ],
- "ssl/libssl-shlib-t1_lib.o" => [
- "ssl/t1_lib.c"
- ],
- "ssl/libssl-shlib-t1_trce.o" => [
- "ssl/t1_trce.c"
- ],
- "ssl/libssl-shlib-tls13_enc.o" => [
- "ssl/tls13_enc.c"
- ],
- "ssl/libssl-shlib-tls_depr.o" => [
- "ssl/tls_depr.c"
- ],
- "ssl/libssl-shlib-tls_srp.o" => [
- "ssl/tls_srp.c"
- ],
- "ssl/quic/libssl-lib-cc_newreno.o" => [
- "ssl/quic/cc_newreno.c"
- ],
- "ssl/quic/libssl-lib-json_enc.o" => [
- "ssl/quic/json_enc.c"
- ],
- "ssl/quic/libssl-lib-qlog.o" => [
- "ssl/quic/qlog.c"
- ],
- "ssl/quic/libssl-lib-qlog_event_helpers.o" => [
- "ssl/quic/qlog_event_helpers.c"
- ],
- "ssl/quic/libssl-lib-quic_ackm.o" => [
- "ssl/quic/quic_ackm.c"
- ],
- "ssl/quic/libssl-lib-quic_cfq.o" => [
- "ssl/quic/quic_cfq.c"
- ],
- "ssl/quic/libssl-lib-quic_channel.o" => [
- "ssl/quic/quic_channel.c"
- ],
- "ssl/quic/libssl-lib-quic_demux.o" => [
- "ssl/quic/quic_demux.c"
- ],
- "ssl/quic/libssl-lib-quic_engine.o" => [
- "ssl/quic/quic_engine.c"
- ],
- "ssl/quic/libssl-lib-quic_fc.o" => [
- "ssl/quic/quic_fc.c"
- ],
- "ssl/quic/libssl-lib-quic_fifd.o" => [
- "ssl/quic/quic_fifd.c"
- ],
- "ssl/quic/libssl-lib-quic_impl.o" => [
- "ssl/quic/quic_impl.c"
- ],
- "ssl/quic/libssl-lib-quic_lcidm.o" => [
- "ssl/quic/quic_lcidm.c"
- ],
- "ssl/quic/libssl-lib-quic_method.o" => [
- "ssl/quic/quic_method.c"
- ],
- "ssl/quic/libssl-lib-quic_obj.o" => [
- "ssl/quic/quic_obj.c"
- ],
- "ssl/quic/libssl-lib-quic_port.o" => [
- "ssl/quic/quic_port.c"
- ],
- "ssl/quic/libssl-lib-quic_rcidm.o" => [
- "ssl/quic/quic_rcidm.c"
- ],
- "ssl/quic/libssl-lib-quic_reactor.o" => [
- "ssl/quic/quic_reactor.c"
- ],
- "ssl/quic/libssl-lib-quic_reactor_wait_ctx.o" => [
- "ssl/quic/quic_reactor_wait_ctx.c"
- ],
- "ssl/quic/libssl-lib-quic_record_rx.o" => [
- "ssl/quic/quic_record_rx.c"
- ],
- "ssl/quic/libssl-lib-quic_record_shared.o" => [
- "ssl/quic/quic_record_shared.c"
- ],
- "ssl/quic/libssl-lib-quic_record_tx.o" => [
- "ssl/quic/quic_record_tx.c"
- ],
- "ssl/quic/libssl-lib-quic_record_util.o" => [
- "ssl/quic/quic_record_util.c"
- ],
- "ssl/quic/libssl-lib-quic_rstream.o" => [
- "ssl/quic/quic_rstream.c"
- ],
- "ssl/quic/libssl-lib-quic_rx_depack.o" => [
- "ssl/quic/quic_rx_depack.c"
- ],
- "ssl/quic/libssl-lib-quic_sf_list.o" => [
- "ssl/quic/quic_sf_list.c"
- ],
- "ssl/quic/libssl-lib-quic_srt_gen.o" => [
- "ssl/quic/quic_srt_gen.c"
- ],
- "ssl/quic/libssl-lib-quic_srtm.o" => [
- "ssl/quic/quic_srtm.c"
- ],
- "ssl/quic/libssl-lib-quic_sstream.o" => [
- "ssl/quic/quic_sstream.c"
- ],
- "ssl/quic/libssl-lib-quic_statm.o" => [
- "ssl/quic/quic_statm.c"
- ],
- "ssl/quic/libssl-lib-quic_stream_map.o" => [
- "ssl/quic/quic_stream_map.c"
- ],
- "ssl/quic/libssl-lib-quic_thread_assist.o" => [
- "ssl/quic/quic_thread_assist.c"
- ],
- "ssl/quic/libssl-lib-quic_tls.o" => [
- "ssl/quic/quic_tls.c"
- ],
- "ssl/quic/libssl-lib-quic_tls_api.o" => [
- "ssl/quic/quic_tls_api.c"
- ],
- "ssl/quic/libssl-lib-quic_trace.o" => [
- "ssl/quic/quic_trace.c"
- ],
- "ssl/quic/libssl-lib-quic_tserver.o" => [
- "ssl/quic/quic_tserver.c"
- ],
- "ssl/quic/libssl-lib-quic_txp.o" => [
- "ssl/quic/quic_txp.c"
- ],
- "ssl/quic/libssl-lib-quic_txpim.o" => [
- "ssl/quic/quic_txpim.c"
- ],
- "ssl/quic/libssl-lib-quic_types.o" => [
- "ssl/quic/quic_types.c"
- ],
- "ssl/quic/libssl-lib-quic_wire.o" => [
- "ssl/quic/quic_wire.c"
- ],
- "ssl/quic/libssl-lib-quic_wire_pkt.o" => [
- "ssl/quic/quic_wire_pkt.c"
- ],
- "ssl/quic/libssl-lib-uint_set.o" => [
- "ssl/quic/uint_set.c"
- ],
- "ssl/quic/libssl-shlib-cc_newreno.o" => [
- "ssl/quic/cc_newreno.c"
- ],
- "ssl/quic/libssl-shlib-json_enc.o" => [
- "ssl/quic/json_enc.c"
- ],
- "ssl/quic/libssl-shlib-qlog.o" => [
- "ssl/quic/qlog.c"
- ],
- "ssl/quic/libssl-shlib-qlog_event_helpers.o" => [
- "ssl/quic/qlog_event_helpers.c"
- ],
- "ssl/quic/libssl-shlib-quic_ackm.o" => [
- "ssl/quic/quic_ackm.c"
- ],
- "ssl/quic/libssl-shlib-quic_cfq.o" => [
- "ssl/quic/quic_cfq.c"
- ],
- "ssl/quic/libssl-shlib-quic_channel.o" => [
- "ssl/quic/quic_channel.c"
- ],
- "ssl/quic/libssl-shlib-quic_demux.o" => [
- "ssl/quic/quic_demux.c"
- ],
- "ssl/quic/libssl-shlib-quic_engine.o" => [
- "ssl/quic/quic_engine.c"
- ],
- "ssl/quic/libssl-shlib-quic_fc.o" => [
- "ssl/quic/quic_fc.c"
- ],
- "ssl/quic/libssl-shlib-quic_fifd.o" => [
- "ssl/quic/quic_fifd.c"
- ],
- "ssl/quic/libssl-shlib-quic_impl.o" => [
- "ssl/quic/quic_impl.c"
- ],
- "ssl/quic/libssl-shlib-quic_lcidm.o" => [
- "ssl/quic/quic_lcidm.c"
- ],
- "ssl/quic/libssl-shlib-quic_method.o" => [
- "ssl/quic/quic_method.c"
- ],
- "ssl/quic/libssl-shlib-quic_obj.o" => [
- "ssl/quic/quic_obj.c"
- ],
- "ssl/quic/libssl-shlib-quic_port.o" => [
- "ssl/quic/quic_port.c"
- ],
- "ssl/quic/libssl-shlib-quic_rcidm.o" => [
- "ssl/quic/quic_rcidm.c"
- ],
- "ssl/quic/libssl-shlib-quic_reactor.o" => [
- "ssl/quic/quic_reactor.c"
- ],
- "ssl/quic/libssl-shlib-quic_reactor_wait_ctx.o" => [
- "ssl/quic/quic_reactor_wait_ctx.c"
- ],
- "ssl/quic/libssl-shlib-quic_record_rx.o" => [
- "ssl/quic/quic_record_rx.c"
- ],
- "ssl/quic/libssl-shlib-quic_record_shared.o" => [
- "ssl/quic/quic_record_shared.c"
- ],
- "ssl/quic/libssl-shlib-quic_record_tx.o" => [
- "ssl/quic/quic_record_tx.c"
- ],
- "ssl/quic/libssl-shlib-quic_record_util.o" => [
- "ssl/quic/quic_record_util.c"
- ],
- "ssl/quic/libssl-shlib-quic_rstream.o" => [
- "ssl/quic/quic_rstream.c"
- ],
- "ssl/quic/libssl-shlib-quic_rx_depack.o" => [
- "ssl/quic/quic_rx_depack.c"
- ],
- "ssl/quic/libssl-shlib-quic_sf_list.o" => [
- "ssl/quic/quic_sf_list.c"
- ],
- "ssl/quic/libssl-shlib-quic_srt_gen.o" => [
- "ssl/quic/quic_srt_gen.c"
- ],
- "ssl/quic/libssl-shlib-quic_srtm.o" => [
- "ssl/quic/quic_srtm.c"
- ],
- "ssl/quic/libssl-shlib-quic_sstream.o" => [
- "ssl/quic/quic_sstream.c"
- ],
- "ssl/quic/libssl-shlib-quic_statm.o" => [
- "ssl/quic/quic_statm.c"
- ],
- "ssl/quic/libssl-shlib-quic_stream_map.o" => [
- "ssl/quic/quic_stream_map.c"
- ],
- "ssl/quic/libssl-shlib-quic_thread_assist.o" => [
- "ssl/quic/quic_thread_assist.c"
- ],
- "ssl/quic/libssl-shlib-quic_tls.o" => [
- "ssl/quic/quic_tls.c"
- ],
- "ssl/quic/libssl-shlib-quic_tls_api.o" => [
- "ssl/quic/quic_tls_api.c"
- ],
- "ssl/quic/libssl-shlib-quic_trace.o" => [
- "ssl/quic/quic_trace.c"
- ],
- "ssl/quic/libssl-shlib-quic_tserver.o" => [
- "ssl/quic/quic_tserver.c"
- ],
- "ssl/quic/libssl-shlib-quic_txp.o" => [
- "ssl/quic/quic_txp.c"
- ],
- "ssl/quic/libssl-shlib-quic_txpim.o" => [
- "ssl/quic/quic_txpim.c"
- ],
- "ssl/quic/libssl-shlib-quic_types.o" => [
- "ssl/quic/quic_types.c"
- ],
- "ssl/quic/libssl-shlib-quic_wire.o" => [
- "ssl/quic/quic_wire.c"
- ],
- "ssl/quic/libssl-shlib-quic_wire_pkt.o" => [
- "ssl/quic/quic_wire_pkt.c"
- ],
- "ssl/quic/libssl-shlib-uint_set.o" => [
- "ssl/quic/uint_set.c"
- ],
- "ssl/record/libssl-lib-rec_layer_d1.o" => [
- "ssl/record/rec_layer_d1.c"
- ],
- "ssl/record/libssl-lib-rec_layer_s3.o" => [
- "ssl/record/rec_layer_s3.c"
- ],
- "ssl/record/libssl-shlib-rec_layer_d1.o" => [
- "ssl/record/rec_layer_d1.c"
- ],
- "ssl/record/libssl-shlib-rec_layer_s3.o" => [
- "ssl/record/rec_layer_s3.c"
- ],
- "ssl/record/methods/libcommon-lib-tls_pad.o" => [
- "ssl/record/methods/tls_pad.c"
- ],
- "ssl/record/methods/libdefault-lib-ssl3_cbc.o" => [
- "ssl/record/methods/ssl3_cbc.c"
- ],
- "ssl/record/methods/libssl-lib-dtls_meth.o" => [
- "ssl/record/methods/dtls_meth.c"
- ],
- "ssl/record/methods/libssl-lib-ktls_meth.o" => [
- "ssl/record/methods/ktls_meth.c"
- ],
- "ssl/record/methods/libssl-lib-ssl3_meth.o" => [
- "ssl/record/methods/ssl3_meth.c"
- ],
- "ssl/record/methods/libssl-lib-tls13_meth.o" => [
- "ssl/record/methods/tls13_meth.c"
- ],
- "ssl/record/methods/libssl-lib-tls1_meth.o" => [
- "ssl/record/methods/tls1_meth.c"
- ],
- "ssl/record/methods/libssl-lib-tls_common.o" => [
- "ssl/record/methods/tls_common.c"
- ],
- "ssl/record/methods/libssl-lib-tls_multib.o" => [
- "ssl/record/methods/tls_multib.c"
- ],
- "ssl/record/methods/libssl-lib-tlsany_meth.o" => [
- "ssl/record/methods/tlsany_meth.c"
- ],
- "ssl/record/methods/libssl-shlib-dtls_meth.o" => [
- "ssl/record/methods/dtls_meth.c"
- ],
- "ssl/record/methods/libssl-shlib-ktls_meth.o" => [
- "ssl/record/methods/ktls_meth.c"
- ],
- "ssl/record/methods/libssl-shlib-ssl3_cbc.o" => [
- "ssl/record/methods/ssl3_cbc.c"
- ],
- "ssl/record/methods/libssl-shlib-ssl3_meth.o" => [
- "ssl/record/methods/ssl3_meth.c"
- ],
- "ssl/record/methods/libssl-shlib-tls13_meth.o" => [
- "ssl/record/methods/tls13_meth.c"
- ],
- "ssl/record/methods/libssl-shlib-tls1_meth.o" => [
- "ssl/record/methods/tls1_meth.c"
- ],
- "ssl/record/methods/libssl-shlib-tls_common.o" => [
- "ssl/record/methods/tls_common.c"
- ],
- "ssl/record/methods/libssl-shlib-tls_multib.o" => [
- "ssl/record/methods/tls_multib.c"
- ],
- "ssl/record/methods/libssl-shlib-tls_pad.o" => [
- "ssl/record/methods/tls_pad.c"
- ],
- "ssl/record/methods/libssl-shlib-tlsany_meth.o" => [
- "ssl/record/methods/tlsany_meth.c"
- ],
- "ssl/rio/libssl-lib-poll_builder.o" => [
- "ssl/rio/poll_builder.c"
- ],
- "ssl/rio/libssl-lib-poll_immediate.o" => [
- "ssl/rio/poll_immediate.c"
- ],
- "ssl/rio/libssl-lib-rio_notifier.o" => [
- "ssl/rio/rio_notifier.c"
- ],
- "ssl/rio/libssl-shlib-poll_builder.o" => [
- "ssl/rio/poll_builder.c"
- ],
- "ssl/rio/libssl-shlib-poll_immediate.o" => [
- "ssl/rio/poll_immediate.c"
- ],
- "ssl/rio/libssl-shlib-rio_notifier.o" => [
- "ssl/rio/rio_notifier.c"
- ],
- "ssl/statem/libssl-lib-extensions.o" => [
- "ssl/statem/extensions.c"
- ],
- "ssl/statem/libssl-lib-extensions_clnt.o" => [
- "ssl/statem/extensions_clnt.c"
- ],
- "ssl/statem/libssl-lib-extensions_cust.o" => [
- "ssl/statem/extensions_cust.c"
- ],
- "ssl/statem/libssl-lib-extensions_srvr.o" => [
- "ssl/statem/extensions_srvr.c"
- ],
- "ssl/statem/libssl-lib-statem.o" => [
- "ssl/statem/statem.c"
- ],
- "ssl/statem/libssl-lib-statem_clnt.o" => [
- "ssl/statem/statem_clnt.c"
- ],
- "ssl/statem/libssl-lib-statem_dtls.o" => [
- "ssl/statem/statem_dtls.c"
- ],
- "ssl/statem/libssl-lib-statem_lib.o" => [
- "ssl/statem/statem_lib.c"
- ],
- "ssl/statem/libssl-lib-statem_srvr.o" => [
- "ssl/statem/statem_srvr.c"
- ],
- "ssl/statem/libssl-shlib-extensions.o" => [
- "ssl/statem/extensions.c"
- ],
- "ssl/statem/libssl-shlib-extensions_clnt.o" => [
- "ssl/statem/extensions_clnt.c"
- ],
- "ssl/statem/libssl-shlib-extensions_cust.o" => [
- "ssl/statem/extensions_cust.c"
- ],
- "ssl/statem/libssl-shlib-extensions_srvr.o" => [
- "ssl/statem/extensions_srvr.c"
- ],
- "ssl/statem/libssl-shlib-statem.o" => [
- "ssl/statem/statem.c"
- ],
- "ssl/statem/libssl-shlib-statem_clnt.o" => [
- "ssl/statem/statem_clnt.c"
- ],
- "ssl/statem/libssl-shlib-statem_dtls.o" => [
- "ssl/statem/statem_dtls.c"
- ],
- "ssl/statem/libssl-shlib-statem_lib.o" => [
- "ssl/statem/statem_lib.c"
- ],
- "ssl/statem/libssl-shlib-statem_srvr.o" => [
- "ssl/statem/statem_srvr.c"
- ],
- "ssl/tls13secretstest-bin-tls13_enc.o" => [
- "ssl/tls13_enc.c"
- ],
- "test/aborttest" => [
- "test/aborttest-bin-aborttest.o"
- ],
- "test/aborttest-bin-aborttest.o" => [
- "test/aborttest.c"
- ],
- "test/aesgcmtest" => [
- "test/aesgcmtest-bin-aesgcmtest.o"
- ],
- "test/aesgcmtest-bin-aesgcmtest.o" => [
- "test/aesgcmtest.c"
- ],
- "test/afalgtest" => [
- "test/afalgtest-bin-afalgtest.o"
- ],
- "test/afalgtest-bin-afalgtest.o" => [
- "test/afalgtest.c"
- ],
- "test/algorithmid_test" => [
- "test/algorithmid_test-bin-algorithmid_test.o"
- ],
- "test/algorithmid_test-bin-algorithmid_test.o" => [
- "test/algorithmid_test.c"
- ],
- "test/asn1_decode_test" => [
- "test/asn1_decode_test-bin-asn1_decode_test.o"
- ],
- "test/asn1_decode_test-bin-asn1_decode_test.o" => [
- "test/asn1_decode_test.c"
- ],
- "test/asn1_dsa_internal_test" => [
- "test/asn1_dsa_internal_test-bin-asn1_dsa_internal_test.o"
- ],
- "test/asn1_dsa_internal_test-bin-asn1_dsa_internal_test.o" => [
- "test/asn1_dsa_internal_test.c"
- ],
- "test/asn1_encode_test" => [
- "test/asn1_encode_test-bin-asn1_encode_test.o"
- ],
- "test/asn1_encode_test-bin-asn1_encode_test.o" => [
- "test/asn1_encode_test.c"
- ],
- "test/asn1_internal_test" => [
- "test/asn1_internal_test-bin-asn1_internal_test.o"
- ],
- "test/asn1_internal_test-bin-asn1_internal_test.o" => [
- "test/asn1_internal_test.c"
- ],
- "test/asn1_stable_parse_test" => [
- "test/asn1_stable_parse_test-bin-asn1_stable_parse_test.o"
- ],
- "test/asn1_stable_parse_test-bin-asn1_stable_parse_test.o" => [
- "test/asn1_stable_parse_test.c"
- ],
- "test/asn1_string_table_test" => [
- "test/asn1_string_table_test-bin-asn1_string_table_test.o"
- ],
- "test/asn1_string_table_test-bin-asn1_string_table_test.o" => [
- "test/asn1_string_table_test.c"
- ],
- "test/asn1_time_test" => [
- "crypto/asn1/asn1_time_test-bin-a_time.o",
- "crypto/asn1_time_test-bin-ctype.o",
- "test/asn1_time_test-bin-asn1_time_test.o"
- ],
- "test/asn1_time_test-bin-asn1_time_test.o" => [
- "test/asn1_time_test.c"
- ],
- "test/asynciotest" => [
- "test/asynciotest-bin-asynciotest.o",
- "test/helpers/asynciotest-bin-ssltestlib.o"
- ],
- "test/asynciotest-bin-asynciotest.o" => [
- "test/asynciotest.c"
- ],
- "test/asynctest" => [
- "test/asynctest-bin-asynctest.o"
- ],
- "test/asynctest-bin-asynctest.o" => [
- "test/asynctest.c"
- ],
- "test/bad_dtls_test" => [
- "test/bad_dtls_test-bin-bad_dtls_test.o"
- ],
- "test/bad_dtls_test-bin-bad_dtls_test.o" => [
- "test/bad_dtls_test.c"
- ],
- "test/bftest" => [
- "test/bftest-bin-bftest.o"
- ],
- "test/bftest-bin-bftest.o" => [
- "test/bftest.c"
- ],
- "test/bio_addr_test" => [
- "test/bio_addr_test-bin-bio_addr_test.o"
- ],
- "test/bio_addr_test-bin-bio_addr_test.o" => [
- "test/bio_addr_test.c"
- ],
- "test/bio_base64_test" => [
- "test/bio_base64_test-bin-bio_base64_test.o"
- ],
- "test/bio_base64_test-bin-bio_base64_test.o" => [
- "test/bio_base64_test.c"
- ],
- "test/bio_callback_test" => [
- "test/bio_callback_test-bin-bio_callback_test.o"
- ],
- "test/bio_callback_test-bin-bio_callback_test.o" => [
- "test/bio_callback_test.c"
- ],
- "test/bio_core_test" => [
- "test/bio_core_test-bin-bio_core_test.o"
- ],
- "test/bio_core_test-bin-bio_core_test.o" => [
- "test/bio_core_test.c"
- ],
- "test/bio_dgram_test" => [
- "test/bio_dgram_test-bin-bio_dgram_test.o"
- ],
- "test/bio_dgram_test-bin-bio_dgram_test.o" => [
- "test/bio_dgram_test.c"
- ],
- "test/bio_enc_test" => [
- "test/bio_enc_test-bin-bio_enc_test.o"
- ],
- "test/bio_enc_test-bin-bio_enc_test.o" => [
- "test/bio_enc_test.c"
- ],
- "test/bio_memleak_test" => [
- "test/bio_memleak_test-bin-bio_memleak_test.o"
- ],
- "test/bio_memleak_test-bin-bio_memleak_test.o" => [
- "test/bio_memleak_test.c"
- ],
- "test/bio_meth_test" => [
- "test/bio_meth_test-bin-bio_meth_test.o"
- ],
- "test/bio_meth_test-bin-bio_meth_test.o" => [
- "test/bio_meth_test.c"
- ],
- "test/bio_prefix_text" => [
- "test/bio_prefix_text-bin-bio_prefix_text.o"
- ],
- "test/bio_prefix_text-bin-bio_prefix_text.o" => [
- "test/bio_prefix_text.c"
- ],
- "test/bio_pw_callback_test" => [
- "test/bio_pw_callback_test-bin-bio_pw_callback_test.o"
- ],
- "test/bio_pw_callback_test-bin-bio_pw_callback_test.o" => [
- "test/bio_pw_callback_test.c"
- ],
- "test/bio_readbuffer_test" => [
- "test/bio_readbuffer_test-bin-bio_readbuffer_test.o"
- ],
- "test/bio_readbuffer_test-bin-bio_readbuffer_test.o" => [
- "test/bio_readbuffer_test.c"
- ],
- "test/bio_tfo_test" => [
- "test/bio_tfo_test-bin-bio_tfo_test.o"
- ],
- "test/bio_tfo_test-bin-bio_tfo_test.o" => [
- "test/bio_tfo_test.c"
- ],
- "test/bioprinttest" => [
- "test/bioprinttest-bin-bioprinttest.o"
- ],
- "test/bioprinttest-bin-bioprinttest.o" => [
- "test/bioprinttest.c"
- ],
- "test/bn_internal_test" => [
- "test/bn_internal_test-bin-bn_internal_test.o"
- ],
- "test/bn_internal_test-bin-bn_internal_test.o" => [
- "test/bn_internal_test.c"
- ],
- "test/bntest" => [
- "test/bntest-bin-bntest.o"
- ],
- "test/bntest-bin-bntest.o" => [
- "test/bntest.c"
- ],
- "test/build_wincrypt_test" => [
- "test/build_wincrypt_test-bin-build_wincrypt_test.o"
- ],
- "test/build_wincrypt_test-bin-build_wincrypt_test.o" => [
- "test/build_wincrypt_test.c"
- ],
- "test/buildtest_c_aes" => [
- "test/buildtest_c_aes-bin-buildtest_aes.o"
- ],
- "test/buildtest_c_aes-bin-buildtest_aes.o" => [
- "test/buildtest_aes.c"
- ],
- "test/buildtest_c_asn1" => [
- "test/buildtest_c_asn1-bin-buildtest_asn1.o"
- ],
- "test/buildtest_c_asn1-bin-buildtest_asn1.o" => [
- "test/buildtest_asn1.c"
- ],
- "test/buildtest_c_asn1t" => [
- "test/buildtest_c_asn1t-bin-buildtest_asn1t.o"
- ],
- "test/buildtest_c_asn1t-bin-buildtest_asn1t.o" => [
- "test/buildtest_asn1t.c"
- ],
- "test/buildtest_c_async" => [
- "test/buildtest_c_async-bin-buildtest_async.o"
- ],
- "test/buildtest_c_async-bin-buildtest_async.o" => [
- "test/buildtest_async.c"
- ],
- "test/buildtest_c_bio" => [
- "test/buildtest_c_bio-bin-buildtest_bio.o"
- ],
- "test/buildtest_c_bio-bin-buildtest_bio.o" => [
- "test/buildtest_bio.c"
- ],
- "test/buildtest_c_blowfish" => [
- "test/buildtest_c_blowfish-bin-buildtest_blowfish.o"
- ],
- "test/buildtest_c_blowfish-bin-buildtest_blowfish.o" => [
- "test/buildtest_blowfish.c"
- ],
- "test/buildtest_c_bn" => [
- "test/buildtest_c_bn-bin-buildtest_bn.o"
- ],
- "test/buildtest_c_bn-bin-buildtest_bn.o" => [
- "test/buildtest_bn.c"
- ],
- "test/buildtest_c_buffer" => [
- "test/buildtest_c_buffer-bin-buildtest_buffer.o"
- ],
- "test/buildtest_c_buffer-bin-buildtest_buffer.o" => [
- "test/buildtest_buffer.c"
- ],
- "test/buildtest_c_byteorder" => [
- "test/buildtest_c_byteorder-bin-buildtest_byteorder.o"
- ],
- "test/buildtest_c_byteorder-bin-buildtest_byteorder.o" => [
- "test/buildtest_byteorder.c"
- ],
- "test/buildtest_c_camellia" => [
- "test/buildtest_c_camellia-bin-buildtest_camellia.o"
- ],
- "test/buildtest_c_camellia-bin-buildtest_camellia.o" => [
- "test/buildtest_camellia.c"
- ],
- "test/buildtest_c_cast" => [
- "test/buildtest_c_cast-bin-buildtest_cast.o"
- ],
- "test/buildtest_c_cast-bin-buildtest_cast.o" => [
- "test/buildtest_cast.c"
- ],
- "test/buildtest_c_cmac" => [
- "test/buildtest_c_cmac-bin-buildtest_cmac.o"
- ],
- "test/buildtest_c_cmac-bin-buildtest_cmac.o" => [
- "test/buildtest_cmac.c"
- ],
- "test/buildtest_c_cmp" => [
- "test/buildtest_c_cmp-bin-buildtest_cmp.o"
- ],
- "test/buildtest_c_cmp-bin-buildtest_cmp.o" => [
- "test/buildtest_cmp.c"
- ],
- "test/buildtest_c_cmp_util" => [
- "test/buildtest_c_cmp_util-bin-buildtest_cmp_util.o"
- ],
- "test/buildtest_c_cmp_util-bin-buildtest_cmp_util.o" => [
- "test/buildtest_cmp_util.c"
- ],
- "test/buildtest_c_cms" => [
- "test/buildtest_c_cms-bin-buildtest_cms.o"
- ],
- "test/buildtest_c_cms-bin-buildtest_cms.o" => [
- "test/buildtest_cms.c"
- ],
- "test/buildtest_c_comp" => [
- "test/buildtest_c_comp-bin-buildtest_comp.o"
- ],
- "test/buildtest_c_comp-bin-buildtest_comp.o" => [
- "test/buildtest_comp.c"
- ],
- "test/buildtest_c_conf" => [
- "test/buildtest_c_conf-bin-buildtest_conf.o"
- ],
- "test/buildtest_c_conf-bin-buildtest_conf.o" => [
- "test/buildtest_conf.c"
- ],
- "test/buildtest_c_conf_api" => [
- "test/buildtest_c_conf_api-bin-buildtest_conf_api.o"
- ],
- "test/buildtest_c_conf_api-bin-buildtest_conf_api.o" => [
- "test/buildtest_conf_api.c"
- ],
- "test/buildtest_c_configuration" => [
- "test/buildtest_c_configuration-bin-buildtest_configuration.o"
- ],
- "test/buildtest_c_configuration-bin-buildtest_configuration.o" => [
- "test/buildtest_configuration.c"
- ],
- "test/buildtest_c_conftypes" => [
- "test/buildtest_c_conftypes-bin-buildtest_conftypes.o"
- ],
- "test/buildtest_c_conftypes-bin-buildtest_conftypes.o" => [
- "test/buildtest_conftypes.c"
- ],
- "test/buildtest_c_core" => [
- "test/buildtest_c_core-bin-buildtest_core.o"
- ],
- "test/buildtest_c_core-bin-buildtest_core.o" => [
- "test/buildtest_core.c"
- ],
- "test/buildtest_c_core_dispatch" => [
- "test/buildtest_c_core_dispatch-bin-buildtest_core_dispatch.o"
- ],
- "test/buildtest_c_core_dispatch-bin-buildtest_core_dispatch.o" => [
- "test/buildtest_core_dispatch.c"
- ],
- "test/buildtest_c_core_names" => [
- "test/buildtest_c_core_names-bin-buildtest_core_names.o"
- ],
- "test/buildtest_c_core_names-bin-buildtest_core_names.o" => [
- "test/buildtest_core_names.c"
- ],
- "test/buildtest_c_core_object" => [
- "test/buildtest_c_core_object-bin-buildtest_core_object.o"
- ],
- "test/buildtest_c_core_object-bin-buildtest_core_object.o" => [
- "test/buildtest_core_object.c"
- ],
- "test/buildtest_c_crmf" => [
- "test/buildtest_c_crmf-bin-buildtest_crmf.o"
- ],
- "test/buildtest_c_crmf-bin-buildtest_crmf.o" => [
- "test/buildtest_crmf.c"
- ],
- "test/buildtest_c_crypto" => [
- "test/buildtest_c_crypto-bin-buildtest_crypto.o"
- ],
- "test/buildtest_c_crypto-bin-buildtest_crypto.o" => [
- "test/buildtest_crypto.c"
- ],
- "test/buildtest_c_cryptoerr_legacy" => [
- "test/buildtest_c_cryptoerr_legacy-bin-buildtest_cryptoerr_legacy.o"
- ],
- "test/buildtest_c_cryptoerr_legacy-bin-buildtest_cryptoerr_legacy.o" => [
- "test/buildtest_cryptoerr_legacy.c"
- ],
- "test/buildtest_c_ct" => [
- "test/buildtest_c_ct-bin-buildtest_ct.o"
- ],
- "test/buildtest_c_ct-bin-buildtest_ct.o" => [
- "test/buildtest_ct.c"
- ],
- "test/buildtest_c_decoder" => [
- "test/buildtest_c_decoder-bin-buildtest_decoder.o"
- ],
- "test/buildtest_c_decoder-bin-buildtest_decoder.o" => [
- "test/buildtest_decoder.c"
- ],
- "test/buildtest_c_des" => [
- "test/buildtest_c_des-bin-buildtest_des.o"
- ],
- "test/buildtest_c_des-bin-buildtest_des.o" => [
- "test/buildtest_des.c"
- ],
- "test/buildtest_c_dh" => [
- "test/buildtest_c_dh-bin-buildtest_dh.o"
- ],
- "test/buildtest_c_dh-bin-buildtest_dh.o" => [
- "test/buildtest_dh.c"
- ],
- "test/buildtest_c_dsa" => [
- "test/buildtest_c_dsa-bin-buildtest_dsa.o"
- ],
- "test/buildtest_c_dsa-bin-buildtest_dsa.o" => [
- "test/buildtest_dsa.c"
- ],
- "test/buildtest_c_dtls1" => [
- "test/buildtest_c_dtls1-bin-buildtest_dtls1.o"
- ],
- "test/buildtest_c_dtls1-bin-buildtest_dtls1.o" => [
- "test/buildtest_dtls1.c"
- ],
- "test/buildtest_c_e_os2" => [
- "test/buildtest_c_e_os2-bin-buildtest_e_os2.o"
- ],
- "test/buildtest_c_e_os2-bin-buildtest_e_os2.o" => [
- "test/buildtest_e_os2.c"
- ],
- "test/buildtest_c_e_ostime" => [
- "test/buildtest_c_e_ostime-bin-buildtest_e_ostime.o"
- ],
- "test/buildtest_c_e_ostime-bin-buildtest_e_ostime.o" => [
- "test/buildtest_e_ostime.c"
- ],
- "test/buildtest_c_ebcdic" => [
- "test/buildtest_c_ebcdic-bin-buildtest_ebcdic.o"
- ],
- "test/buildtest_c_ebcdic-bin-buildtest_ebcdic.o" => [
- "test/buildtest_ebcdic.c"
- ],
- "test/buildtest_c_ec" => [
- "test/buildtest_c_ec-bin-buildtest_ec.o"
- ],
- "test/buildtest_c_ec-bin-buildtest_ec.o" => [
- "test/buildtest_ec.c"
- ],
- "test/buildtest_c_ecdh" => [
- "test/buildtest_c_ecdh-bin-buildtest_ecdh.o"
- ],
- "test/buildtest_c_ecdh-bin-buildtest_ecdh.o" => [
- "test/buildtest_ecdh.c"
- ],
- "test/buildtest_c_ecdsa" => [
- "test/buildtest_c_ecdsa-bin-buildtest_ecdsa.o"
- ],
- "test/buildtest_c_ecdsa-bin-buildtest_ecdsa.o" => [
- "test/buildtest_ecdsa.c"
- ],
- "test/buildtest_c_encoder" => [
- "test/buildtest_c_encoder-bin-buildtest_encoder.o"
- ],
- "test/buildtest_c_encoder-bin-buildtest_encoder.o" => [
- "test/buildtest_encoder.c"
- ],
- "test/buildtest_c_engine" => [
- "test/buildtest_c_engine-bin-buildtest_engine.o"
- ],
- "test/buildtest_c_engine-bin-buildtest_engine.o" => [
- "test/buildtest_engine.c"
- ],
- "test/buildtest_c_ess" => [
- "test/buildtest_c_ess-bin-buildtest_ess.o"
- ],
- "test/buildtest_c_ess-bin-buildtest_ess.o" => [
- "test/buildtest_ess.c"
- ],
- "test/buildtest_c_evp" => [
- "test/buildtest_c_evp-bin-buildtest_evp.o"
- ],
- "test/buildtest_c_evp-bin-buildtest_evp.o" => [
- "test/buildtest_evp.c"
- ],
- "test/buildtest_c_fips_names" => [
- "test/buildtest_c_fips_names-bin-buildtest_fips_names.o"
- ],
- "test/buildtest_c_fips_names-bin-buildtest_fips_names.o" => [
- "test/buildtest_fips_names.c"
- ],
- "test/buildtest_c_fipskey" => [
- "test/buildtest_c_fipskey-bin-buildtest_fipskey.o"
- ],
- "test/buildtest_c_fipskey-bin-buildtest_fipskey.o" => [
- "test/buildtest_fipskey.c"
- ],
- "test/buildtest_c_hmac" => [
- "test/buildtest_c_hmac-bin-buildtest_hmac.o"
- ],
- "test/buildtest_c_hmac-bin-buildtest_hmac.o" => [
- "test/buildtest_hmac.c"
- ],
- "test/buildtest_c_hpke" => [
- "test/buildtest_c_hpke-bin-buildtest_hpke.o"
- ],
- "test/buildtest_c_hpke-bin-buildtest_hpke.o" => [
- "test/buildtest_hpke.c"
- ],
- "test/buildtest_c_http" => [
- "test/buildtest_c_http-bin-buildtest_http.o"
- ],
- "test/buildtest_c_http-bin-buildtest_http.o" => [
- "test/buildtest_http.c"
- ],
- "test/buildtest_c_indicator" => [
- "test/buildtest_c_indicator-bin-buildtest_indicator.o"
- ],
- "test/buildtest_c_indicator-bin-buildtest_indicator.o" => [
- "test/buildtest_indicator.c"
- ],
- "test/buildtest_c_kdf" => [
- "test/buildtest_c_kdf-bin-buildtest_kdf.o"
- ],
- "test/buildtest_c_kdf-bin-buildtest_kdf.o" => [
- "test/buildtest_kdf.c"
- ],
- "test/buildtest_c_lhash" => [
- "test/buildtest_c_lhash-bin-buildtest_lhash.o"
- ],
- "test/buildtest_c_lhash-bin-buildtest_lhash.o" => [
- "test/buildtest_lhash.c"
- ],
- "test/buildtest_c_macros" => [
- "test/buildtest_c_macros-bin-buildtest_macros.o"
- ],
- "test/buildtest_c_macros-bin-buildtest_macros.o" => [
- "test/buildtest_macros.c"
- ],
- "test/buildtest_c_md4" => [
- "test/buildtest_c_md4-bin-buildtest_md4.o"
- ],
- "test/buildtest_c_md4-bin-buildtest_md4.o" => [
- "test/buildtest_md4.c"
- ],
- "test/buildtest_c_md5" => [
- "test/buildtest_c_md5-bin-buildtest_md5.o"
- ],
- "test/buildtest_c_md5-bin-buildtest_md5.o" => [
- "test/buildtest_md5.c"
- ],
- "test/buildtest_c_ml_kem" => [
- "test/buildtest_c_ml_kem-bin-buildtest_ml_kem.o"
- ],
- "test/buildtest_c_ml_kem-bin-buildtest_ml_kem.o" => [
- "test/buildtest_ml_kem.c"
- ],
- "test/buildtest_c_modes" => [
- "test/buildtest_c_modes-bin-buildtest_modes.o"
- ],
- "test/buildtest_c_modes-bin-buildtest_modes.o" => [
- "test/buildtest_modes.c"
- ],
- "test/buildtest_c_obj_mac" => [
- "test/buildtest_c_obj_mac-bin-buildtest_obj_mac.o"
- ],
- "test/buildtest_c_obj_mac-bin-buildtest_obj_mac.o" => [
- "test/buildtest_obj_mac.c"
- ],
- "test/buildtest_c_objects" => [
- "test/buildtest_c_objects-bin-buildtest_objects.o"
- ],
- "test/buildtest_c_objects-bin-buildtest_objects.o" => [
- "test/buildtest_objects.c"
- ],
- "test/buildtest_c_ocsp" => [
- "test/buildtest_c_ocsp-bin-buildtest_ocsp.o"
- ],
- "test/buildtest_c_ocsp-bin-buildtest_ocsp.o" => [
- "test/buildtest_ocsp.c"
- ],
- "test/buildtest_c_opensslv" => [
- "test/buildtest_c_opensslv-bin-buildtest_opensslv.o"
- ],
- "test/buildtest_c_opensslv-bin-buildtest_opensslv.o" => [
- "test/buildtest_opensslv.c"
- ],
- "test/buildtest_c_ossl_typ" => [
- "test/buildtest_c_ossl_typ-bin-buildtest_ossl_typ.o"
- ],
- "test/buildtest_c_ossl_typ-bin-buildtest_ossl_typ.o" => [
- "test/buildtest_ossl_typ.c"
- ],
- "test/buildtest_c_param_build" => [
- "test/buildtest_c_param_build-bin-buildtest_param_build.o"
- ],
- "test/buildtest_c_param_build-bin-buildtest_param_build.o" => [
- "test/buildtest_param_build.c"
- ],
- "test/buildtest_c_params" => [
- "test/buildtest_c_params-bin-buildtest_params.o"
- ],
- "test/buildtest_c_params-bin-buildtest_params.o" => [
- "test/buildtest_params.c"
- ],
- "test/buildtest_c_pem" => [
- "test/buildtest_c_pem-bin-buildtest_pem.o"
- ],
- "test/buildtest_c_pem-bin-buildtest_pem.o" => [
- "test/buildtest_pem.c"
- ],
- "test/buildtest_c_pem2" => [
- "test/buildtest_c_pem2-bin-buildtest_pem2.o"
- ],
- "test/buildtest_c_pem2-bin-buildtest_pem2.o" => [
- "test/buildtest_pem2.c"
- ],
- "test/buildtest_c_pkcs12" => [
- "test/buildtest_c_pkcs12-bin-buildtest_pkcs12.o"
- ],
- "test/buildtest_c_pkcs12-bin-buildtest_pkcs12.o" => [
- "test/buildtest_pkcs12.c"
- ],
- "test/buildtest_c_pkcs7" => [
- "test/buildtest_c_pkcs7-bin-buildtest_pkcs7.o"
- ],
- "test/buildtest_c_pkcs7-bin-buildtest_pkcs7.o" => [
- "test/buildtest_pkcs7.c"
- ],
- "test/buildtest_c_prov_ssl" => [
- "test/buildtest_c_prov_ssl-bin-buildtest_prov_ssl.o"
- ],
- "test/buildtest_c_prov_ssl-bin-buildtest_prov_ssl.o" => [
- "test/buildtest_prov_ssl.c"
- ],
- "test/buildtest_c_provider" => [
- "test/buildtest_c_provider-bin-buildtest_provider.o"
- ],
- "test/buildtest_c_provider-bin-buildtest_provider.o" => [
- "test/buildtest_provider.c"
- ],
- "test/buildtest_c_quic" => [
- "test/buildtest_c_quic-bin-buildtest_quic.o"
- ],
- "test/buildtest_c_quic-bin-buildtest_quic.o" => [
- "test/buildtest_quic.c"
- ],
- "test/buildtest_c_rand" => [
- "test/buildtest_c_rand-bin-buildtest_rand.o"
- ],
- "test/buildtest_c_rand-bin-buildtest_rand.o" => [
- "test/buildtest_rand.c"
- ],
- "test/buildtest_c_rc2" => [
- "test/buildtest_c_rc2-bin-buildtest_rc2.o"
- ],
- "test/buildtest_c_rc2-bin-buildtest_rc2.o" => [
- "test/buildtest_rc2.c"
- ],
- "test/buildtest_c_rc4" => [
- "test/buildtest_c_rc4-bin-buildtest_rc4.o"
- ],
- "test/buildtest_c_rc4-bin-buildtest_rc4.o" => [
- "test/buildtest_rc4.c"
- ],
- "test/buildtest_c_ripemd" => [
- "test/buildtest_c_ripemd-bin-buildtest_ripemd.o"
- ],
- "test/buildtest_c_ripemd-bin-buildtest_ripemd.o" => [
- "test/buildtest_ripemd.c"
- ],
- "test/buildtest_c_rsa" => [
- "test/buildtest_c_rsa-bin-buildtest_rsa.o"
- ],
- "test/buildtest_c_rsa-bin-buildtest_rsa.o" => [
- "test/buildtest_rsa.c"
- ],
- "test/buildtest_c_safestack" => [
- "test/buildtest_c_safestack-bin-buildtest_safestack.o"
- ],
- "test/buildtest_c_safestack-bin-buildtest_safestack.o" => [
- "test/buildtest_safestack.c"
- ],
- "test/buildtest_c_seed" => [
- "test/buildtest_c_seed-bin-buildtest_seed.o"
- ],
- "test/buildtest_c_seed-bin-buildtest_seed.o" => [
- "test/buildtest_seed.c"
- ],
- "test/buildtest_c_self_test" => [
- "test/buildtest_c_self_test-bin-buildtest_self_test.o"
- ],
- "test/buildtest_c_self_test-bin-buildtest_self_test.o" => [
- "test/buildtest_self_test.c"
- ],
- "test/buildtest_c_sha" => [
- "test/buildtest_c_sha-bin-buildtest_sha.o"
- ],
- "test/buildtest_c_sha-bin-buildtest_sha.o" => [
- "test/buildtest_sha.c"
- ],
- "test/buildtest_c_srp" => [
- "test/buildtest_c_srp-bin-buildtest_srp.o"
- ],
- "test/buildtest_c_srp-bin-buildtest_srp.o" => [
- "test/buildtest_srp.c"
- ],
- "test/buildtest_c_srtp" => [
- "test/buildtest_c_srtp-bin-buildtest_srtp.o"
- ],
- "test/buildtest_c_srtp-bin-buildtest_srtp.o" => [
- "test/buildtest_srtp.c"
- ],
- "test/buildtest_c_ssl" => [
- "test/buildtest_c_ssl-bin-buildtest_ssl.o"
- ],
- "test/buildtest_c_ssl-bin-buildtest_ssl.o" => [
- "test/buildtest_ssl.c"
- ],
- "test/buildtest_c_ssl2" => [
- "test/buildtest_c_ssl2-bin-buildtest_ssl2.o"
- ],
- "test/buildtest_c_ssl2-bin-buildtest_ssl2.o" => [
- "test/buildtest_ssl2.c"
- ],
- "test/buildtest_c_sslerr_legacy" => [
- "test/buildtest_c_sslerr_legacy-bin-buildtest_sslerr_legacy.o"
- ],
- "test/buildtest_c_sslerr_legacy-bin-buildtest_sslerr_legacy.o" => [
- "test/buildtest_sslerr_legacy.c"
- ],
- "test/buildtest_c_stack" => [
- "test/buildtest_c_stack-bin-buildtest_stack.o"
- ],
- "test/buildtest_c_stack-bin-buildtest_stack.o" => [
- "test/buildtest_stack.c"
- ],
- "test/buildtest_c_store" => [
- "test/buildtest_c_store-bin-buildtest_store.o"
- ],
- "test/buildtest_c_store-bin-buildtest_store.o" => [
- "test/buildtest_store.c"
- ],
- "test/buildtest_c_symhacks" => [
- "test/buildtest_c_symhacks-bin-buildtest_symhacks.o"
- ],
- "test/buildtest_c_symhacks-bin-buildtest_symhacks.o" => [
- "test/buildtest_symhacks.c"
- ],
- "test/buildtest_c_thread" => [
- "test/buildtest_c_thread-bin-buildtest_thread.o"
- ],
- "test/buildtest_c_thread-bin-buildtest_thread.o" => [
- "test/buildtest_thread.c"
- ],
- "test/buildtest_c_tls1" => [
- "test/buildtest_c_tls1-bin-buildtest_tls1.o"
- ],
- "test/buildtest_c_tls1-bin-buildtest_tls1.o" => [
- "test/buildtest_tls1.c"
- ],
- "test/buildtest_c_ts" => [
- "test/buildtest_c_ts-bin-buildtest_ts.o"
- ],
- "test/buildtest_c_ts-bin-buildtest_ts.o" => [
- "test/buildtest_ts.c"
- ],
- "test/buildtest_c_txt_db" => [
- "test/buildtest_c_txt_db-bin-buildtest_txt_db.o"
- ],
- "test/buildtest_c_txt_db-bin-buildtest_txt_db.o" => [
- "test/buildtest_txt_db.c"
- ],
- "test/buildtest_c_types" => [
- "test/buildtest_c_types-bin-buildtest_types.o"
- ],
- "test/buildtest_c_types-bin-buildtest_types.o" => [
- "test/buildtest_types.c"
- ],
- "test/buildtest_c_ui" => [
- "test/buildtest_c_ui-bin-buildtest_ui.o"
- ],
- "test/buildtest_c_ui-bin-buildtest_ui.o" => [
- "test/buildtest_ui.c"
- ],
- "test/buildtest_c_whrlpool" => [
- "test/buildtest_c_whrlpool-bin-buildtest_whrlpool.o"
- ],
- "test/buildtest_c_whrlpool-bin-buildtest_whrlpool.o" => [
- "test/buildtest_whrlpool.c"
- ],
- "test/buildtest_c_x509" => [
- "test/buildtest_c_x509-bin-buildtest_x509.o"
- ],
- "test/buildtest_c_x509-bin-buildtest_x509.o" => [
- "test/buildtest_x509.c"
- ],
- "test/buildtest_c_x509_acert" => [
- "test/buildtest_c_x509_acert-bin-buildtest_x509_acert.o"
- ],
- "test/buildtest_c_x509_acert-bin-buildtest_x509_acert.o" => [
- "test/buildtest_x509_acert.c"
- ],
- "test/buildtest_c_x509_vfy" => [
- "test/buildtest_c_x509_vfy-bin-buildtest_x509_vfy.o"
- ],
- "test/buildtest_c_x509_vfy-bin-buildtest_x509_vfy.o" => [
- "test/buildtest_x509_vfy.c"
- ],
- "test/buildtest_c_x509v3" => [
- "test/buildtest_c_x509v3-bin-buildtest_x509v3.o"
- ],
- "test/buildtest_c_x509v3-bin-buildtest_x509v3.o" => [
- "test/buildtest_x509v3.c"
- ],
- "test/byteorder_test" => [
- "test/byteorder_test-bin-byteorder_test.o"
- ],
- "test/byteorder_test-bin-byteorder_test.o" => [
- "test/byteorder_test.c"
- ],
- "test/ca_internals_test" => [
- "apps/ca_internals_test-bin-ca.o",
- "apps/lib/ca_internals_test-bin-app_libctx.o",
- "apps/lib/ca_internals_test-bin-app_provider.o",
- "apps/lib/ca_internals_test-bin-app_rand.o",
- "apps/lib/ca_internals_test-bin-app_x509.o",
- "apps/lib/ca_internals_test-bin-apps.o",
- "apps/lib/ca_internals_test-bin-apps_ui.o",
- "apps/lib/ca_internals_test-bin-engine.o",
- "apps/lib/ca_internals_test-bin-fmt.o",
- "crypto/asn1/ca_internals_test-bin-a_time.o",
- "crypto/ca_internals_test-bin-ctype.o",
- "test/ca_internals_test-bin-ca_internals_test.o"
- ],
- "test/ca_internals_test-bin-ca_internals_test.o" => [
- "test/ca_internals_test.c"
- ],
- "test/casttest" => [
- "test/casttest-bin-casttest.o"
- ],
- "test/casttest-bin-casttest.o" => [
- "test/casttest.c"
- ],
- "test/chacha_internal_test" => [
- "test/chacha_internal_test-bin-chacha_internal_test.o"
- ],
- "test/chacha_internal_test-bin-chacha_internal_test.o" => [
- "test/chacha_internal_test.c"
- ],
- "test/cipher_overhead_test" => [
- "test/cipher_overhead_test-bin-cipher_overhead_test.o"
- ],
- "test/cipher_overhead_test-bin-cipher_overhead_test.o" => [
- "test/cipher_overhead_test.c"
- ],
- "test/cipherbytes_test" => [
- "test/cipherbytes_test-bin-cipherbytes_test.o"
- ],
- "test/cipherbytes_test-bin-cipherbytes_test.o" => [
- "test/cipherbytes_test.c"
- ],
- "test/cipherlist_test" => [
- "test/cipherlist_test-bin-cipherlist_test.o"
- ],
- "test/cipherlist_test-bin-cipherlist_test.o" => [
- "test/cipherlist_test.c"
- ],
- "test/ciphername_test" => [
- "test/ciphername_test-bin-ciphername_test.o"
- ],
- "test/ciphername_test-bin-ciphername_test.o" => [
- "test/ciphername_test.c"
- ],
- "test/clienthellotest" => [
- "test/clienthellotest-bin-clienthellotest.o"
- ],
- "test/clienthellotest-bin-clienthellotest.o" => [
- "test/clienthellotest.c"
- ],
- "test/cmactest" => [
- "test/cmactest-bin-cmactest.o"
- ],
- "test/cmactest-bin-cmactest.o" => [
- "test/cmactest.c"
- ],
- "test/cmp_asn_test" => [
- "test/cmp_asn_test-bin-cmp_asn_test.o",
- "test/helpers/cmp_asn_test-bin-cmp_testlib.o"
- ],
- "test/cmp_asn_test-bin-cmp_asn_test.o" => [
- "test/cmp_asn_test.c"
- ],
- "test/cmp_client_test" => [
- "apps/lib/cmp_client_test-bin-cmp_mock_srv.o",
- "test/cmp_client_test-bin-cmp_client_test.o",
- "test/helpers/cmp_client_test-bin-cmp_testlib.o"
- ],
- "test/cmp_client_test-bin-cmp_client_test.o" => [
- "test/cmp_client_test.c"
- ],
- "test/cmp_ctx_test" => [
- "test/cmp_ctx_test-bin-cmp_ctx_test.o",
- "test/helpers/cmp_ctx_test-bin-cmp_testlib.o"
- ],
- "test/cmp_ctx_test-bin-cmp_ctx_test.o" => [
- "test/cmp_ctx_test.c"
- ],
- "test/cmp_hdr_test" => [
- "test/cmp_hdr_test-bin-cmp_hdr_test.o",
- "test/helpers/cmp_hdr_test-bin-cmp_testlib.o"
- ],
- "test/cmp_hdr_test-bin-cmp_hdr_test.o" => [
- "test/cmp_hdr_test.c"
- ],
- "test/cmp_msg_test" => [
- "test/cmp_msg_test-bin-cmp_msg_test.o",
- "test/helpers/cmp_msg_test-bin-cmp_testlib.o"
- ],
- "test/cmp_msg_test-bin-cmp_msg_test.o" => [
- "test/cmp_msg_test.c"
- ],
- "test/cmp_protect_test" => [
- "test/cmp_protect_test-bin-cmp_protect_test.o",
- "test/helpers/cmp_protect_test-bin-cmp_testlib.o"
- ],
- "test/cmp_protect_test-bin-cmp_protect_test.o" => [
- "test/cmp_protect_test.c"
- ],
- "test/cmp_server_test" => [
- "test/cmp_server_test-bin-cmp_server_test.o",
- "test/helpers/cmp_server_test-bin-cmp_testlib.o"
- ],
- "test/cmp_server_test-bin-cmp_server_test.o" => [
- "test/cmp_server_test.c"
- ],
- "test/cmp_status_test" => [
- "test/cmp_status_test-bin-cmp_status_test.o",
- "test/helpers/cmp_status_test-bin-cmp_testlib.o"
- ],
- "test/cmp_status_test-bin-cmp_status_test.o" => [
- "test/cmp_status_test.c"
- ],
- "test/cmp_vfy_test" => [
- "test/cmp_vfy_test-bin-cmp_vfy_test.o",
- "test/helpers/cmp_vfy_test-bin-cmp_testlib.o"
- ],
- "test/cmp_vfy_test-bin-cmp_vfy_test.o" => [
- "test/cmp_vfy_test.c"
- ],
- "test/cmsapitest" => [
- "test/cmsapitest-bin-cmsapitest.o"
- ],
- "test/cmsapitest-bin-cmsapitest.o" => [
- "test/cmsapitest.c"
- ],
- "test/conf_include_test" => [
- "test/conf_include_test-bin-conf_include_test.o"
- ],
- "test/conf_include_test-bin-conf_include_test.o" => [
- "test/conf_include_test.c"
- ],
- "test/confdump" => [
- "test/confdump-bin-confdump.o"
- ],
- "test/confdump-bin-confdump.o" => [
- "test/confdump.c"
- ],
- "test/constant_time_test" => [
- "test/constant_time_test-bin-constant_time_test.o"
- ],
- "test/constant_time_test-bin-constant_time_test.o" => [
- "test/constant_time_test.c"
- ],
- "test/context_internal_test" => [
- "test/context_internal_test-bin-context_internal_test.o"
- ],
- "test/context_internal_test-bin-context_internal_test.o" => [
- "test/context_internal_test.c"
- ],
- "test/crltest" => [
- "test/crltest-bin-crltest.o"
- ],
- "test/crltest-bin-crltest.o" => [
- "test/crltest.c"
- ],
- "test/ct_test" => [
- "test/ct_test-bin-ct_test.o"
- ],
- "test/ct_test-bin-ct_test.o" => [
- "test/ct_test.c"
- ],
- "test/ctype_internal_test" => [
- "test/ctype_internal_test-bin-ctype_internal_test.o"
- ],
- "test/ctype_internal_test-bin-ctype_internal_test.o" => [
- "test/ctype_internal_test.c"
- ],
- "test/curve448_internal_test" => [
- "test/curve448_internal_test-bin-curve448_internal_test.o"
- ],
- "test/curve448_internal_test-bin-curve448_internal_test.o" => [
- "test/curve448_internal_test.c"
- ],
- "test/d2i_test" => [
- "test/d2i_test-bin-d2i_test.o"
- ],
- "test/d2i_test-bin-d2i_test.o" => [
- "test/d2i_test.c"
- ],
- "test/danetest" => [
- "test/danetest-bin-danetest.o"
- ],
- "test/danetest-bin-danetest.o" => [
- "test/danetest.c"
- ],
- "test/decoder_propq_test" => [
- "test/decoder_propq_test-bin-decoder_propq_test.o"
- ],
- "test/decoder_propq_test-bin-decoder_propq_test.o" => [
- "test/decoder_propq_test.c"
- ],
- "test/defltfips_test" => [
- "test/defltfips_test-bin-defltfips_test.o"
- ],
- "test/defltfips_test-bin-defltfips_test.o" => [
- "test/defltfips_test.c"
- ],
- "test/destest" => [
- "test/destest-bin-destest.o"
- ],
- "test/destest-bin-destest.o" => [
- "test/destest.c"
- ],
- "test/dhtest" => [
- "test/dhtest-bin-dhtest.o"
- ],
- "test/dhtest-bin-dhtest.o" => [
- "test/dhtest.c"
- ],
- "test/drbgtest" => [
- "test/drbgtest-bin-drbgtest.o"
- ],
- "test/drbgtest-bin-drbgtest.o" => [
- "test/drbgtest.c"
- ],
- "test/dsa_no_digest_size_test" => [
- "test/dsa_no_digest_size_test-bin-dsa_no_digest_size_test.o"
- ],
- "test/dsa_no_digest_size_test-bin-dsa_no_digest_size_test.o" => [
- "test/dsa_no_digest_size_test.c"
- ],
- "test/dsatest" => [
- "test/dsatest-bin-dsatest.o"
- ],
- "test/dsatest-bin-dsatest.o" => [
- "test/dsatest.c"
- ],
- "test/dtls_mtu_test" => [
- "test/dtls_mtu_test-bin-dtls_mtu_test.o",
- "test/helpers/dtls_mtu_test-bin-ssltestlib.o"
- ],
- "test/dtls_mtu_test-bin-dtls_mtu_test.o" => [
- "test/dtls_mtu_test.c"
- ],
- "test/dtlstest" => [
- "test/dtlstest-bin-dtlstest.o",
- "test/helpers/dtlstest-bin-ssltestlib.o"
- ],
- "test/dtlstest-bin-dtlstest.o" => [
- "test/dtlstest.c"
- ],
- "test/dtlsv1listentest" => [
- "test/dtlsv1listentest-bin-dtlsv1listentest.o"
- ],
- "test/dtlsv1listentest-bin-dtlsv1listentest.o" => [
- "test/dtlsv1listentest.c"
- ],
- "test/ec_internal_test" => [
- "test/ec_internal_test-bin-ec_internal_test.o"
- ],
- "test/ec_internal_test-bin-ec_internal_test.o" => [
- "test/ec_internal_test.c"
- ],
- "test/ecdsatest" => [
- "test/ecdsatest-bin-ecdsatest.o"
- ],
- "test/ecdsatest-bin-ecdsatest.o" => [
- "test/ecdsatest.c"
- ],
- "test/ecstresstest" => [
- "test/ecstresstest-bin-ecstresstest.o"
- ],
- "test/ecstresstest-bin-ecstresstest.o" => [
- "test/ecstresstest.c"
- ],
- "test/ectest" => [
- "test/ectest-bin-ectest.o"
- ],
- "test/ectest-bin-ectest.o" => [
- "test/ectest.c"
- ],
- "test/endecode_test" => [
- "providers/endecode_test-bin-legacyprov.o",
- "test/endecode_test-bin-endecode_test.o",
- "test/helpers/endecode_test-bin-predefined_dhparams.o"
- ],
- "test/endecode_test-bin-endecode_test.o" => [
- "test/endecode_test.c"
- ],
- "test/endecoder_legacy_test" => [
- "test/endecoder_legacy_test-bin-endecoder_legacy_test.o"
- ],
- "test/endecoder_legacy_test-bin-endecoder_legacy_test.o" => [
- "test/endecoder_legacy_test.c"
- ],
- "test/enginetest" => [
- "test/enginetest-bin-enginetest.o"
- ],
- "test/enginetest-bin-enginetest.o" => [
- "test/enginetest.c"
- ],
- "test/errtest" => [
- "test/errtest-bin-errtest.o"
- ],
- "test/errtest-bin-errtest.o" => [
- "test/errtest.c"
- ],
- "test/evp_byname_test" => [
- "test/evp_byname_test-bin-evp_byname_test.o"
- ],
- "test/evp_byname_test-bin-evp_byname_test.o" => [
- "test/evp_byname_test.c"
- ],
- "test/evp_extra_test" => [
- "providers/evp_extra_test-bin-legacyprov.o",
- "test/evp_extra_test-bin-evp_extra_test.o",
- "test/evp_extra_test-bin-fake_pipelineprov.o",
- "test/evp_extra_test-bin-fake_rsaprov.o"
- ],
- "test/evp_extra_test-bin-evp_extra_test.o" => [
- "test/evp_extra_test.c"
- ],
- "test/evp_extra_test-bin-fake_pipelineprov.o" => [
- "test/fake_pipelineprov.c"
- ],
- "test/evp_extra_test-bin-fake_rsaprov.o" => [
- "test/fake_rsaprov.c"
- ],
- "test/evp_extra_test2" => [
- "test/evp_extra_test2-bin-evp_extra_test2.o",
- "test/evp_extra_test2-bin-tls-provider.o"
- ],
- "test/evp_extra_test2-bin-evp_extra_test2.o" => [
- "test/evp_extra_test2.c"
- ],
- "test/evp_extra_test2-bin-tls-provider.o" => [
- "test/tls-provider.c"
- ],
- "test/evp_fetch_prov_test" => [
- "test/evp_fetch_prov_test-bin-evp_fetch_prov_test.o"
- ],
- "test/evp_fetch_prov_test-bin-evp_fetch_prov_test.o" => [
- "test/evp_fetch_prov_test.c"
- ],
- "test/evp_kdf_test" => [
- "test/evp_kdf_test-bin-evp_kdf_test.o"
- ],
- "test/evp_kdf_test-bin-evp_kdf_test.o" => [
- "test/evp_kdf_test.c"
- ],
- "test/evp_libctx_test" => [
- "test/evp_libctx_test-bin-evp_libctx_test.o"
- ],
- "test/evp_libctx_test-bin-evp_libctx_test.o" => [
- "test/evp_libctx_test.c"
- ],
- "test/evp_pkey_ctx_new_from_name" => [
- "test/evp_pkey_ctx_new_from_name-bin-evp_pkey_ctx_new_from_name.o"
- ],
- "test/evp_pkey_ctx_new_from_name-bin-evp_pkey_ctx_new_from_name.o" => [
- "test/evp_pkey_ctx_new_from_name.c"
- ],
- "test/evp_pkey_dhkem_test" => [
- "test/evp_pkey_dhkem_test-bin-evp_pkey_dhkem_test.o"
- ],
- "test/evp_pkey_dhkem_test-bin-evp_pkey_dhkem_test.o" => [
- "test/evp_pkey_dhkem_test.c"
- ],
- "test/evp_pkey_dparams_test" => [
- "test/evp_pkey_dparams_test-bin-evp_pkey_dparams_test.o"
- ],
- "test/evp_pkey_dparams_test-bin-evp_pkey_dparams_test.o" => [
- "test/evp_pkey_dparams_test.c"
- ],
- "test/evp_pkey_provided_test" => [
- "test/evp_pkey_provided_test-bin-evp_pkey_provided_test.o"
- ],
- "test/evp_pkey_provided_test-bin-evp_pkey_provided_test.o" => [
- "test/evp_pkey_provided_test.c"
- ],
- "test/evp_skey_test" => [
- "test/evp_skey_test-bin-evp_skey_test.o",
- "test/evp_skey_test-bin-fake_cipherprov.o"
- ],
- "test/evp_skey_test-bin-evp_skey_test.o" => [
- "test/evp_skey_test.c"
- ],
- "test/evp_skey_test-bin-fake_cipherprov.o" => [
- "test/fake_cipherprov.c"
- ],
- "test/evp_test" => [
- "test/evp_test-bin-evp_test.o"
- ],
- "test/evp_test-bin-evp_test.o" => [
- "test/evp_test.c"
- ],
- "test/evp_xof_test" => [
- "test/evp_xof_test-bin-evp_xof_test.o"
- ],
- "test/evp_xof_test-bin-evp_xof_test.o" => [
- "test/evp_xof_test.c"
- ],
- "test/exdatatest" => [
- "test/exdatatest-bin-exdatatest.o"
- ],
- "test/exdatatest-bin-exdatatest.o" => [
- "test/exdatatest.c"
- ],
- "test/exptest" => [
- "test/exptest-bin-exptest.o"
- ],
- "test/exptest-bin-exptest.o" => [
- "test/exptest.c"
- ],
- "test/ext_internal_test" => [
- "test/ext_internal_test-bin-ext_internal_test.o"
- ],
- "test/ext_internal_test-bin-ext_internal_test.o" => [
- "test/ext_internal_test.c"
- ],
- "test/fatalerrtest" => [
- "test/fatalerrtest-bin-fatalerrtest.o",
- "test/helpers/fatalerrtest-bin-ssltestlib.o"
- ],
- "test/fatalerrtest-bin-fatalerrtest.o" => [
- "test/fatalerrtest.c"
- ],
- "test/ffc_internal_test" => [
- "test/ffc_internal_test-bin-ffc_internal_test.o"
- ],
- "test/ffc_internal_test-bin-ffc_internal_test.o" => [
- "test/ffc_internal_test.c"
- ],
- "test/fips_version_test" => [
- "test/fips_version_test-bin-fips_version_test.o"
- ],
- "test/fips_version_test-bin-fips_version_test.o" => [
- "test/fips_version_test.c"
- ],
- "test/gmdifftest" => [
- "test/gmdifftest-bin-gmdifftest.o"
- ],
- "test/gmdifftest-bin-gmdifftest.o" => [
- "test/gmdifftest.c"
- ],
- "test/helpers/asynciotest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/cmp_asn_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_client_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_ctx_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_hdr_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_msg_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_protect_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_server_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_status_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/cmp_vfy_test-bin-cmp_testlib.o" => [
- "test/helpers/cmp_testlib.c"
- ],
- "test/helpers/dtls_mtu_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/dtlstest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/endecode_test-bin-predefined_dhparams.o" => [
- "test/helpers/predefined_dhparams.c"
- ],
- "test/helpers/fatalerrtest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/json_test-bin-noisydgrambio.o" => [
- "test/helpers/noisydgrambio.c"
- ],
- "test/helpers/json_test-bin-pktsplitbio.o" => [
- "test/helpers/pktsplitbio.c"
- ],
- "test/helpers/json_test-bin-quictestlib.o" => [
- "test/helpers/quictestlib.c"
- ],
- "test/helpers/json_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/pkcs12_api_test-bin-pkcs12.o" => [
- "test/helpers/pkcs12.c"
- ],
- "test/helpers/pkcs12_format_test-bin-pkcs12.o" => [
- "test/helpers/pkcs12.c"
- ],
- "test/helpers/quic_multistream_test-bin-noisydgrambio.o" => [
- "test/helpers/noisydgrambio.c"
- ],
- "test/helpers/quic_multistream_test-bin-pktsplitbio.o" => [
- "test/helpers/pktsplitbio.c"
- ],
- "test/helpers/quic_multistream_test-bin-quictestlib.o" => [
- "test/helpers/quictestlib.c"
- ],
- "test/helpers/quic_multistream_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/quic_newcid_test-bin-noisydgrambio.o" => [
- "test/helpers/noisydgrambio.c"
- ],
- "test/helpers/quic_newcid_test-bin-pktsplitbio.o" => [
- "test/helpers/pktsplitbio.c"
- ],
- "test/helpers/quic_newcid_test-bin-quictestlib.o" => [
- "test/helpers/quictestlib.c"
- ],
- "test/helpers/quic_newcid_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/quic_radix_test-bin-noisydgrambio.o" => [
- "test/helpers/noisydgrambio.c"
- ],
- "test/helpers/quic_radix_test-bin-pktsplitbio.o" => [
- "test/helpers/pktsplitbio.c"
- ],
- "test/helpers/quic_radix_test-bin-quictestlib.o" => [
- "test/helpers/quictestlib.c"
- ],
- "test/helpers/quic_radix_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/quic_srt_gen_test-bin-noisydgrambio.o" => [
- "test/helpers/noisydgrambio.c"
- ],
- "test/helpers/quic_srt_gen_test-bin-pktsplitbio.o" => [
- "test/helpers/pktsplitbio.c"
- ],
- "test/helpers/quic_srt_gen_test-bin-quictestlib.o" => [
- "test/helpers/quictestlib.c"
- ],
- "test/helpers/quic_srt_gen_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/quicapitest-bin-noisydgrambio.o" => [
- "test/helpers/noisydgrambio.c"
- ],
- "test/helpers/quicapitest-bin-pktsplitbio.o" => [
- "test/helpers/pktsplitbio.c"
- ],
- "test/helpers/quicapitest-bin-quictestlib.o" => [
- "test/helpers/quictestlib.c"
- ],
- "test/helpers/quicapitest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/quicfaultstest-bin-noisydgrambio.o" => [
- "test/helpers/noisydgrambio.c"
- ],
- "test/helpers/quicfaultstest-bin-pktsplitbio.o" => [
- "test/helpers/pktsplitbio.c"
- ],
- "test/helpers/quicfaultstest-bin-quictestlib.o" => [
- "test/helpers/quictestlib.c"
- ],
- "test/helpers/quicfaultstest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/recordlentest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/rpktest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/servername_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/ssl_handshake_rtt_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/ssl_old_test-bin-predefined_dhparams.o" => [
- "test/helpers/predefined_dhparams.c"
- ],
- "test/helpers/ssl_test-bin-handshake.o" => [
- "test/helpers/handshake.c"
- ],
- "test/helpers/ssl_test-bin-handshake_srp.o" => [
- "test/helpers/handshake_srp.c"
- ],
- "test/helpers/ssl_test-bin-ssl_test_ctx.o" => [
- "test/helpers/ssl_test_ctx.c"
- ],
- "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o" => [
- "test/helpers/ssl_test_ctx.c"
- ],
- "test/helpers/sslapitest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/sslbuffertest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/sslcorrupttest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/tls13ccstest-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/helpers/tls13groupselection_test-bin-ssltestlib.o" => [
- "test/helpers/ssltestlib.c"
- ],
- "test/hexstr_test" => [
- "test/hexstr_test-bin-hexstr_test.o"
- ],
- "test/hexstr_test-bin-hexstr_test.o" => [
- "test/hexstr_test.c"
- ],
- "test/hmactest" => [
- "test/hmactest-bin-hmactest.o"
- ],
- "test/hmactest-bin-hmactest.o" => [
- "test/hmactest.c"
- ],
- "test/hpke_test" => [
- "test/hpke_test-bin-hpke_test.o"
- ],
- "test/hpke_test-bin-hpke_test.o" => [
- "test/hpke_test.c"
- ],
- "test/http_test" => [
- "test/http_test-bin-http_test.o"
- ],
- "test/http_test-bin-http_test.o" => [
- "test/http_test.c"
- ],
- "test/ideatest" => [
- "test/ideatest-bin-ideatest.o"
- ],
- "test/ideatest-bin-ideatest.o" => [
- "test/ideatest.c"
- ],
- "test/igetest" => [
- "test/igetest-bin-igetest.o"
- ],
- "test/igetest-bin-igetest.o" => [
- "test/igetest.c"
- ],
- "test/json_test" => [
- "test/helpers/json_test-bin-noisydgrambio.o",
- "test/helpers/json_test-bin-pktsplitbio.o",
- "test/helpers/json_test-bin-quictestlib.o",
- "test/helpers/json_test-bin-ssltestlib.o",
- "test/json_test-bin-json_test.o"
- ],
- "test/json_test-bin-json_test.o" => [
- "test/json_test.c"
- ],
- "test/keymgmt_internal_test" => [
- "test/keymgmt_internal_test-bin-keymgmt_internal_test.o"
- ],
- "test/keymgmt_internal_test-bin-keymgmt_internal_test.o" => [
- "test/keymgmt_internal_test.c"
- ],
- "test/lhash_test" => [
- "test/lhash_test-bin-lhash_test.o"
- ],
- "test/lhash_test-bin-lhash_test.o" => [
- "test/lhash_test.c"
- ],
- "test/libtestutil.a" => [
- "apps/lib/libtestutil-lib-opt.o",
- "test/testutil/libtestutil-lib-apps_shims.o",
- "test/testutil/libtestutil-lib-basic_output.o",
- "test/testutil/libtestutil-lib-cb.o",
- "test/testutil/libtestutil-lib-compare.o",
- "test/testutil/libtestutil-lib-driver.o",
- "test/testutil/libtestutil-lib-fake_random.o",
- "test/testutil/libtestutil-lib-format_output.o",
- "test/testutil/libtestutil-lib-helper.o",
- "test/testutil/libtestutil-lib-load.o",
- "test/testutil/libtestutil-lib-main.o",
- "test/testutil/libtestutil-lib-options.o",
- "test/testutil/libtestutil-lib-output.o",
- "test/testutil/libtestutil-lib-provider.o",
- "test/testutil/libtestutil-lib-random.o",
- "test/testutil/libtestutil-lib-stanza.o",
- "test/testutil/libtestutil-lib-test_cleanup.o",
- "test/testutil/libtestutil-lib-test_options.o",
- "test/testutil/libtestutil-lib-tests.o",
- "test/testutil/libtestutil-lib-testutil_init.o"
- ],
- "test/list_test" => [
- "test/list_test-bin-list_test.o"
- ],
- "test/list_test-bin-list_test.o" => [
- "test/list_test.c"
- ],
- "test/localetest" => [
- "test/localetest-bin-localetest.o"
- ],
- "test/localetest-bin-localetest.o" => [
- "test/localetest.c"
- ],
- "test/mdc2test" => [
- "test/mdc2test-bin-mdc2test.o"
- ],
- "test/mdc2test-bin-mdc2test.o" => [
- "test/mdc2test.c"
- ],
- "test/membio_test" => [
- "test/membio_test-bin-membio_test.o"
- ],
- "test/membio_test-bin-membio_test.o" => [
- "test/membio_test.c"
- ],
- "test/memleaktest" => [
- "test/memleaktest-bin-memleaktest.o"
- ],
- "test/memleaktest-bin-memleaktest.o" => [
- "test/memleaktest.c"
- ],
- "test/ml_dsa_test" => [
- "test/ml_dsa_test-bin-ml_dsa_test.o"
- ],
- "test/ml_dsa_test-bin-ml_dsa_test.o" => [
- "test/ml_dsa_test.c"
- ],
- "test/ml_kem_evp_extra_test" => [
- "test/ml_kem_evp_extra_test-bin-ml_kem_evp_extra_test.o"
- ],
- "test/ml_kem_evp_extra_test-bin-ml_kem_evp_extra_test.o" => [
- "test/ml_kem_evp_extra_test.c"
- ],
- "test/ml_kem_internal_test" => [
- "test/ml_kem_internal_test-bin-ml_kem_internal_test.o"
- ],
- "test/ml_kem_internal_test-bin-ml_kem_internal_test.o" => [
- "test/ml_kem_internal_test.c"
- ],
- "test/modes_internal_test" => [
- "test/modes_internal_test-bin-modes_internal_test.o"
- ],
- "test/modes_internal_test-bin-modes_internal_test.o" => [
- "test/modes_internal_test.c"
- ],
- "test/moduleloadtest" => [
- "test/moduleloadtest-bin-moduleloadtest.o",
- "test/moduleloadtest-bin-simpledynamic.o"
- ],
- "test/moduleloadtest-bin-moduleloadtest.o" => [
- "test/moduleloadtest.c"
- ],
- "test/moduleloadtest-bin-simpledynamic.o" => [
- "test/simpledynamic.c"
- ],
- "test/namemap_internal_test" => [
- "test/namemap_internal_test-bin-namemap_internal_test.o"
- ],
- "test/namemap_internal_test-bin-namemap_internal_test.o" => [
- "test/namemap_internal_test.c"
- ],
- "test/nodefltctxtest" => [
- "test/nodefltctxtest-bin-nodefltctxtest.o"
- ],
- "test/nodefltctxtest-bin-nodefltctxtest.o" => [
- "test/nodefltctxtest.c"
- ],
- "test/ocspapitest" => [
- "test/ocspapitest-bin-ocspapitest.o"
- ],
- "test/ocspapitest-bin-ocspapitest.o" => [
- "test/ocspapitest.c"
- ],
- "test/ossl_store_test" => [
- "test/ossl_store_test-bin-ossl_store_test.o"
- ],
- "test/ossl_store_test-bin-ossl_store_test.o" => [
- "test/ossl_store_test.c"
- ],
- "test/p_minimal" => [
- "test/p_minimal-dso-p_minimal.o",
- "test/p_minimal.ld"
- ],
- "test/p_minimal-dso-p_minimal.o" => [
- "test/p_minimal.c"
- ],
- "test/p_test" => [
- "test/p_test-dso-p_test.o",
- "test/p_test.ld"
- ],
- "test/p_test-dso-p_test.o" => [
- "test/p_test.c"
- ],
- "test/packettest" => [
- "crypto/packettest-bin-quic_vlint.o",
- "test/packettest-bin-packettest.o"
- ],
- "test/packettest-bin-packettest.o" => [
- "test/packettest.c"
- ],
- "test/pairwise_fail_test" => [
- "test/pairwise_fail_test-bin-pairwise_fail_test.o"
- ],
- "test/pairwise_fail_test-bin-pairwise_fail_test.o" => [
- "test/pairwise_fail_test.c"
- ],
- "test/param_build_test" => [
- "test/param_build_test-bin-param_build_test.o"
- ],
- "test/param_build_test-bin-param_build_test.o" => [
- "test/param_build_test.c"
- ],
- "test/params_api_test" => [
- "test/params_api_test-bin-params_api_test.o"
- ],
- "test/params_api_test-bin-params_api_test.o" => [
- "test/params_api_test.c"
- ],
- "test/params_conversion_test" => [
- "test/params_conversion_test-bin-params_conversion_test.o"
- ],
- "test/params_conversion_test-bin-params_conversion_test.o" => [
- "test/params_conversion_test.c"
- ],
- "test/params_test" => [
- "test/params_test-bin-params_test.o"
- ],
- "test/params_test-bin-params_test.o" => [
- "test/params_test.c"
- ],
- "test/pbelutest" => [
- "test/pbelutest-bin-pbelutest.o"
- ],
- "test/pbelutest-bin-pbelutest.o" => [
- "test/pbelutest.c"
- ],
- "test/pbetest" => [
- "test/pbetest-bin-pbetest.o"
- ],
- "test/pbetest-bin-pbetest.o" => [
- "test/pbetest.c"
- ],
- "test/pem_read_depr_test" => [
- "test/pem_read_depr_test-bin-pem_read_depr_test.o"
- ],
- "test/pem_read_depr_test-bin-pem_read_depr_test.o" => [
- "test/pem_read_depr_test.c"
- ],
- "test/pemtest" => [
- "test/pemtest-bin-pemtest.o"
- ],
- "test/pemtest-bin-pemtest.o" => [
- "test/pemtest.c"
- ],
- "test/pkcs12_api_test" => [
- "test/helpers/pkcs12_api_test-bin-pkcs12.o",
- "test/pkcs12_api_test-bin-pkcs12_api_test.o"
- ],
- "test/pkcs12_api_test-bin-pkcs12_api_test.o" => [
- "test/pkcs12_api_test.c"
- ],
- "test/pkcs12_format_test" => [
- "test/helpers/pkcs12_format_test-bin-pkcs12.o",
- "test/pkcs12_format_test-bin-pkcs12_format_test.o"
- ],
- "test/pkcs12_format_test-bin-pkcs12_format_test.o" => [
- "test/pkcs12_format_test.c"
- ],
- "test/pkcs7_test" => [
- "test/pkcs7_test-bin-pkcs7_test.o"
- ],
- "test/pkcs7_test-bin-pkcs7_test.o" => [
- "test/pkcs7_test.c"
- ],
- "test/pkey_meth_kdf_test" => [
- "test/pkey_meth_kdf_test-bin-pkey_meth_kdf_test.o"
- ],
- "test/pkey_meth_kdf_test-bin-pkey_meth_kdf_test.o" => [
- "test/pkey_meth_kdf_test.c"
- ],
- "test/pkey_meth_test" => [
- "test/pkey_meth_test-bin-pkey_meth_test.o"
- ],
- "test/pkey_meth_test-bin-pkey_meth_test.o" => [
- "test/pkey_meth_test.c"
- ],
- "test/poly1305_internal_test" => [
- "test/poly1305_internal_test-bin-poly1305_internal_test.o"
- ],
- "test/poly1305_internal_test-bin-poly1305_internal_test.o" => [
- "test/poly1305_internal_test.c"
- ],
- "test/priority_queue_test" => [
- "test/priority_queue_test-bin-priority_queue_test.o"
- ],
- "test/priority_queue_test-bin-priority_queue_test.o" => [
- "test/priority_queue_test.c"
- ],
- "test/property_test" => [
- "test/property_test-bin-property_test.o"
- ],
- "test/property_test-bin-property_test.o" => [
- "test/property_test.c"
- ],
- "test/prov_config_test" => [
- "test/prov_config_test-bin-prov_config_test.o"
- ],
- "test/prov_config_test-bin-prov_config_test.o" => [
- "test/prov_config_test.c"
- ],
- "test/provfetchtest" => [
- "test/provfetchtest-bin-provfetchtest.o"
- ],
- "test/provfetchtest-bin-provfetchtest.o" => [
- "test/provfetchtest.c"
- ],
- "test/provider_default_search_path_test" => [
- "test/provider_default_search_path_test-bin-provider_default_search_path_test.o"
- ],
- "test/provider_default_search_path_test-bin-provider_default_search_path_test.o" => [
- "test/provider_default_search_path_test.c"
- ],
- "test/provider_fallback_test" => [
- "test/provider_fallback_test-bin-provider_fallback_test.o"
- ],
- "test/provider_fallback_test-bin-provider_fallback_test.o" => [
- "test/provider_fallback_test.c"
- ],
- "test/provider_internal_test" => [
- "test/provider_internal_test-bin-p_test.o",
- "test/provider_internal_test-bin-provider_internal_test.o"
- ],
- "test/provider_internal_test-bin-p_test.o" => [
- "test/p_test.c"
- ],
- "test/provider_internal_test-bin-provider_internal_test.o" => [
- "test/provider_internal_test.c"
- ],
- "test/provider_pkey_test" => [
- "test/provider_pkey_test-bin-fake_rsaprov.o",
- "test/provider_pkey_test-bin-provider_pkey_test.o"
- ],
- "test/provider_pkey_test-bin-fake_rsaprov.o" => [
- "test/fake_rsaprov.c"
- ],
- "test/provider_pkey_test-bin-provider_pkey_test.o" => [
- "test/provider_pkey_test.c"
- ],
- "test/provider_status_test" => [
- "test/provider_status_test-bin-provider_status_test.o"
- ],
- "test/provider_status_test-bin-provider_status_test.o" => [
- "test/provider_status_test.c"
- ],
- "test/provider_test" => [
- "test/provider_test-bin-p_test.o",
- "test/provider_test-bin-provider_test.o"
- ],
- "test/provider_test-bin-p_test.o" => [
- "test/p_test.c"
- ],
- "test/provider_test-bin-provider_test.o" => [
- "test/provider_test.c"
- ],
- "test/punycode_test" => [
- "test/punycode_test-bin-punycode_test.o"
- ],
- "test/punycode_test-bin-punycode_test.o" => [
- "test/punycode_test.c"
- ],
- "test/quic_ackm_test" => [
- "test/quic_ackm_test-bin-cc_dummy.o",
- "test/quic_ackm_test-bin-quic_ackm_test.o"
- ],
- "test/quic_ackm_test-bin-cc_dummy.o" => [
- "test/cc_dummy.c"
- ],
- "test/quic_ackm_test-bin-quic_ackm_test.o" => [
- "test/quic_ackm_test.c"
- ],
- "test/quic_cc_test" => [
- "test/quic_cc_test-bin-quic_cc_test.o"
- ],
- "test/quic_cc_test-bin-quic_cc_test.o" => [
- "test/quic_cc_test.c"
- ],
- "test/quic_cfq_test" => [
- "test/quic_cfq_test-bin-quic_cfq_test.o"
- ],
- "test/quic_cfq_test-bin-quic_cfq_test.o" => [
- "test/quic_cfq_test.c"
- ],
- "test/quic_client_test" => [
- "test/quic_client_test-bin-quic_client_test.o"
- ],
- "test/quic_client_test-bin-quic_client_test.o" => [
- "test/quic_client_test.c"
- ],
- "test/quic_fc_test" => [
- "test/quic_fc_test-bin-quic_fc_test.o"
- ],
- "test/quic_fc_test-bin-quic_fc_test.o" => [
- "test/quic_fc_test.c"
- ],
- "test/quic_fifd_test" => [
- "test/quic_fifd_test-bin-cc_dummy.o",
- "test/quic_fifd_test-bin-quic_fifd_test.o"
- ],
- "test/quic_fifd_test-bin-cc_dummy.o" => [
- "test/cc_dummy.c"
- ],
- "test/quic_fifd_test-bin-quic_fifd_test.o" => [
- "test/quic_fifd_test.c"
- ],
- "test/quic_lcidm_test" => [
- "test/quic_lcidm_test-bin-quic_lcidm_test.o"
- ],
- "test/quic_lcidm_test-bin-quic_lcidm_test.o" => [
- "test/quic_lcidm_test.c"
- ],
- "test/quic_multistream_test" => [
- "test/helpers/quic_multistream_test-bin-noisydgrambio.o",
- "test/helpers/quic_multistream_test-bin-pktsplitbio.o",
- "test/helpers/quic_multistream_test-bin-quictestlib.o",
- "test/helpers/quic_multistream_test-bin-ssltestlib.o",
- "test/quic_multistream_test-bin-quic_multistream_test.o"
- ],
- "test/quic_multistream_test-bin-quic_multistream_test.o" => [
- "test/quic_multistream_test.c"
- ],
- "test/quic_newcid_test" => [
- "test/helpers/quic_newcid_test-bin-noisydgrambio.o",
- "test/helpers/quic_newcid_test-bin-pktsplitbio.o",
- "test/helpers/quic_newcid_test-bin-quictestlib.o",
- "test/helpers/quic_newcid_test-bin-ssltestlib.o",
- "test/quic_newcid_test-bin-quic_newcid_test.o"
- ],
- "test/quic_newcid_test-bin-quic_newcid_test.o" => [
- "test/quic_newcid_test.c"
- ],
- "test/quic_qlog_test" => [
- "test/quic_qlog_test-bin-quic_qlog_test.o"
- ],
- "test/quic_qlog_test-bin-quic_qlog_test.o" => [
- "test/quic_qlog_test.c"
- ],
- "test/quic_radix_test" => [
- "test/helpers/quic_radix_test-bin-noisydgrambio.o",
- "test/helpers/quic_radix_test-bin-pktsplitbio.o",
- "test/helpers/quic_radix_test-bin-quictestlib.o",
- "test/helpers/quic_radix_test-bin-ssltestlib.o",
- "test/radix/quic_radix_test-bin-quic_radix.o"
- ],
- "test/quic_rcidm_test" => [
- "test/quic_rcidm_test-bin-quic_rcidm_test.o"
- ],
- "test/quic_rcidm_test-bin-quic_rcidm_test.o" => [
- "test/quic_rcidm_test.c"
- ],
- "test/quic_record_test" => [
- "test/quic_record_test-bin-quic_record_test.o"
- ],
- "test/quic_record_test-bin-quic_record_test.o" => [
- "test/quic_record_test.c"
- ],
- "test/quic_srt_gen_test" => [
- "test/helpers/quic_srt_gen_test-bin-noisydgrambio.o",
- "test/helpers/quic_srt_gen_test-bin-pktsplitbio.o",
- "test/helpers/quic_srt_gen_test-bin-quictestlib.o",
- "test/helpers/quic_srt_gen_test-bin-ssltestlib.o",
- "test/quic_srt_gen_test-bin-quic_srt_gen_test.o"
- ],
- "test/quic_srt_gen_test-bin-quic_srt_gen_test.o" => [
- "test/quic_srt_gen_test.c"
- ],
- "test/quic_srtm_test" => [
- "test/quic_srtm_test-bin-quic_srtm_test.o"
- ],
- "test/quic_srtm_test-bin-quic_srtm_test.o" => [
- "test/quic_srtm_test.c"
- ],
- "test/quic_stream_test" => [
- "test/quic_stream_test-bin-quic_stream_test.o"
- ],
- "test/quic_stream_test-bin-quic_stream_test.o" => [
- "test/quic_stream_test.c"
- ],
- "test/quic_tserver_test" => [
- "test/quic_tserver_test-bin-quic_tserver_test.o"
- ],
- "test/quic_tserver_test-bin-quic_tserver_test.o" => [
- "test/quic_tserver_test.c"
- ],
- "test/quic_txp_test" => [
- "test/quic_txp_test-bin-cc_dummy.o",
- "test/quic_txp_test-bin-quic_txp_test.o"
- ],
- "test/quic_txp_test-bin-cc_dummy.o" => [
- "test/cc_dummy.c"
- ],
- "test/quic_txp_test-bin-quic_txp_test.o" => [
- "test/quic_txp_test.c"
- ],
- "test/quic_txpim_test" => [
- "test/quic_txpim_test-bin-quic_txpim_test.o"
- ],
- "test/quic_txpim_test-bin-quic_txpim_test.o" => [
- "test/quic_txpim_test.c"
- ],
- "test/quic_wire_test" => [
- "test/quic_wire_test-bin-quic_wire_test.o"
- ],
- "test/quic_wire_test-bin-quic_wire_test.o" => [
- "test/quic_wire_test.c"
- ],
- "test/quicapitest" => [
- "test/helpers/quicapitest-bin-noisydgrambio.o",
- "test/helpers/quicapitest-bin-pktsplitbio.o",
- "test/helpers/quicapitest-bin-quictestlib.o",
- "test/helpers/quicapitest-bin-ssltestlib.o",
- "test/quicapitest-bin-quicapitest.o"
- ],
- "test/quicapitest-bin-quicapitest.o" => [
- "test/quicapitest.c"
- ],
- "test/quicfaultstest" => [
- "test/helpers/quicfaultstest-bin-noisydgrambio.o",
- "test/helpers/quicfaultstest-bin-pktsplitbio.o",
- "test/helpers/quicfaultstest-bin-quictestlib.o",
- "test/helpers/quicfaultstest-bin-ssltestlib.o",
- "test/quicfaultstest-bin-quicfaultstest.o"
- ],
- "test/quicfaultstest-bin-quicfaultstest.o" => [
- "test/quicfaultstest.c"
- ],
- "test/radix/quic_radix_test-bin-quic_radix.o" => [
- "test/radix/quic_radix.c"
- ],
- "test/rand_status_test" => [
- "test/rand_status_test-bin-rand_status_test.o"
- ],
- "test/rand_status_test-bin-rand_status_test.o" => [
- "test/rand_status_test.c"
- ],
- "test/rand_test" => [
- "test/rand_test-bin-rand_test.o"
- ],
- "test/rand_test-bin-rand_test.o" => [
- "test/rand_test.c"
- ],
- "test/rc2test" => [
- "test/rc2test-bin-rc2test.o"
- ],
- "test/rc2test-bin-rc2test.o" => [
- "test/rc2test.c"
- ],
- "test/rc4test" => [
- "test/rc4test-bin-rc4test.o"
- ],
- "test/rc4test-bin-rc4test.o" => [
- "test/rc4test.c"
- ],
- "test/rc5test" => [
- "test/rc5test-bin-rc5test.o"
- ],
- "test/rc5test-bin-rc5test.o" => [
- "test/rc5test.c"
- ],
- "test/rdcpu_sanitytest" => [
- "test/rdcpu_sanitytest-bin-rdcpu_sanitytest.o"
- ],
- "test/rdcpu_sanitytest-bin-rdcpu_sanitytest.o" => [
- "test/rdcpu_sanitytest.c"
- ],
- "test/recordlentest" => [
- "test/helpers/recordlentest-bin-ssltestlib.o",
- "test/recordlentest-bin-recordlentest.o"
- ],
- "test/recordlentest-bin-recordlentest.o" => [
- "test/recordlentest.c"
- ],
- "test/rpktest" => [
- "test/helpers/rpktest-bin-ssltestlib.o",
- "test/rpktest-bin-rpktest.o"
- ],
- "test/rpktest-bin-rpktest.o" => [
- "test/rpktest.c"
- ],
- "test/rsa_complex" => [
- "test/rsa_complex-bin-rsa_complex.o"
- ],
- "test/rsa_complex-bin-rsa_complex.o" => [
- "test/rsa_complex.c"
- ],
- "test/rsa_mp_test" => [
- "test/rsa_mp_test-bin-rsa_mp_test.o"
- ],
- "test/rsa_mp_test-bin-rsa_mp_test.o" => [
- "test/rsa_mp_test.c"
- ],
- "test/rsa_sp800_56b_test" => [
- "test/rsa_sp800_56b_test-bin-rsa_sp800_56b_test.o"
- ],
- "test/rsa_sp800_56b_test-bin-rsa_sp800_56b_test.o" => [
- "test/rsa_sp800_56b_test.c"
- ],
- "test/rsa_test" => [
- "test/rsa_test-bin-rsa_test.o"
- ],
- "test/rsa_test-bin-rsa_test.o" => [
- "test/rsa_test.c"
- ],
- "test/rsa_x931_test" => [
- "test/rsa_x931_test-bin-rsa_x931_test.o"
- ],
- "test/rsa_x931_test-bin-rsa_x931_test.o" => [
- "test/rsa_x931_test.c"
- ],
- "test/safe_math_test" => [
- "test/safe_math_test-bin-safe_math_test.o"
- ],
- "test/safe_math_test-bin-safe_math_test.o" => [
- "test/safe_math_test.c"
- ],
- "test/sanitytest" => [
- "test/sanitytest-bin-sanitytest.o"
- ],
- "test/sanitytest-bin-sanitytest.o" => [
- "test/sanitytest.c"
- ],
- "test/secmemtest" => [
- "test/secmemtest-bin-secmemtest.o"
- ],
- "test/secmemtest-bin-secmemtest.o" => [
- "test/secmemtest.c"
- ],
- "test/servername_test" => [
- "test/helpers/servername_test-bin-ssltestlib.o",
- "test/servername_test-bin-servername_test.o"
- ],
- "test/servername_test-bin-servername_test.o" => [
- "test/servername_test.c"
- ],
- "test/sha_test" => [
- "test/sha_test-bin-sha_test.o"
- ],
- "test/sha_test-bin-sha_test.o" => [
- "test/sha_test.c"
- ],
- "test/shlibloadtest" => [
- "test/shlibloadtest-bin-shlibloadtest.o",
- "test/shlibloadtest-bin-simpledynamic.o"
- ],
- "test/shlibloadtest-bin-shlibloadtest.o" => [
- "test/shlibloadtest.c"
- ],
- "test/shlibloadtest-bin-simpledynamic.o" => [
- "test/simpledynamic.c"
- ],
- "test/siphash_internal_test" => [
- "test/siphash_internal_test-bin-siphash_internal_test.o"
- ],
- "test/siphash_internal_test-bin-siphash_internal_test.o" => [
- "test/siphash_internal_test.c"
- ],
- "test/slh_dsa_test" => [
- "test/slh_dsa_test-bin-slh_dsa_test.o"
- ],
- "test/slh_dsa_test-bin-slh_dsa_test.o" => [
- "test/slh_dsa_test.c"
- ],
- "test/sparse_array_test" => [
- "test/sparse_array_test-bin-sparse_array_test.o"
- ],
- "test/sparse_array_test-bin-sparse_array_test.o" => [
- "test/sparse_array_test.c"
- ],
- "test/srptest" => [
- "test/srptest-bin-srptest.o"
- ],
- "test/srptest-bin-srptest.o" => [
- "test/srptest.c"
- ],
- "test/ssl_cert_table_internal_test" => [
- "test/ssl_cert_table_internal_test-bin-ssl_cert_table_internal_test.o"
- ],
- "test/ssl_cert_table_internal_test-bin-ssl_cert_table_internal_test.o" => [
- "test/ssl_cert_table_internal_test.c"
- ],
- "test/ssl_ctx_test" => [
- "test/ssl_ctx_test-bin-ssl_ctx_test.o"
- ],
- "test/ssl_ctx_test-bin-ssl_ctx_test.o" => [
- "test/ssl_ctx_test.c"
- ],
- "test/ssl_handshake_rtt_test" => [
- "test/helpers/ssl_handshake_rtt_test-bin-ssltestlib.o",
- "test/ssl_handshake_rtt_test-bin-ssl_handshake_rtt_test.o"
- ],
- "test/ssl_handshake_rtt_test-bin-ssl_handshake_rtt_test.o" => [
- "test/ssl_handshake_rtt_test.c"
- ],
- "test/ssl_old_test" => [
- "test/helpers/ssl_old_test-bin-predefined_dhparams.o",
- "test/ssl_old_test-bin-ssl_old_test.o"
- ],
- "test/ssl_old_test-bin-ssl_old_test.o" => [
- "test/ssl_old_test.c"
- ],
- "test/ssl_test" => [
- "test/helpers/ssl_test-bin-handshake.o",
- "test/helpers/ssl_test-bin-handshake_srp.o",
- "test/helpers/ssl_test-bin-ssl_test_ctx.o",
- "test/ssl_test-bin-ssl_test.o"
- ],
- "test/ssl_test-bin-ssl_test.o" => [
- "test/ssl_test.c"
- ],
- "test/ssl_test_ctx_test" => [
- "test/helpers/ssl_test_ctx_test-bin-ssl_test_ctx.o",
- "test/ssl_test_ctx_test-bin-ssl_test_ctx_test.o"
- ],
- "test/ssl_test_ctx_test-bin-ssl_test_ctx_test.o" => [
- "test/ssl_test_ctx_test.c"
- ],
- "test/sslapitest" => [
- "test/helpers/sslapitest-bin-ssltestlib.o",
- "test/sslapitest-bin-filterprov.o",
- "test/sslapitest-bin-sslapitest.o",
- "test/sslapitest-bin-tls-provider.o"
- ],
- "test/sslapitest-bin-filterprov.o" => [
- "test/filterprov.c"
- ],
- "test/sslapitest-bin-sslapitest.o" => [
- "test/sslapitest.c"
- ],
- "test/sslapitest-bin-tls-provider.o" => [
- "test/tls-provider.c"
- ],
- "test/sslbuffertest" => [
- "test/helpers/sslbuffertest-bin-ssltestlib.o",
- "test/sslbuffertest-bin-sslbuffertest.o"
- ],
- "test/sslbuffertest-bin-sslbuffertest.o" => [
- "test/sslbuffertest.c"
- ],
- "test/sslcorrupttest" => [
- "test/helpers/sslcorrupttest-bin-ssltestlib.o",
- "test/sslcorrupttest-bin-sslcorrupttest.o"
- ],
- "test/sslcorrupttest-bin-sslcorrupttest.o" => [
- "test/sslcorrupttest.c"
- ],
- "test/stack_test" => [
- "test/stack_test-bin-stack_test.o"
- ],
- "test/stack_test-bin-stack_test.o" => [
- "test/stack_test.c"
- ],
- "test/strtoultest" => [
- "test/strtoultest-bin-strtoultest.o"
- ],
- "test/strtoultest-bin-strtoultest.o" => [
- "test/strtoultest.c"
- ],
- "test/sysdefaulttest" => [
- "test/sysdefaulttest-bin-sysdefaulttest.o"
- ],
- "test/sysdefaulttest-bin-sysdefaulttest.o" => [
- "test/sysdefaulttest.c"
- ],
- "test/test_test" => [
- "test/test_test-bin-test_test.o"
- ],
- "test/test_test-bin-test_test.o" => [
- "test/test_test.c"
- ],
- "test/testutil/libtestutil-lib-apps_shims.o" => [
- "test/testutil/apps_shims.c"
- ],
- "test/testutil/libtestutil-lib-basic_output.o" => [
- "test/testutil/basic_output.c"
- ],
- "test/testutil/libtestutil-lib-cb.o" => [
- "test/testutil/cb.c"
- ],
- "test/testutil/libtestutil-lib-compare.o" => [
- "test/testutil/compare.c"
- ],
- "test/testutil/libtestutil-lib-driver.o" => [
- "test/testutil/driver.c"
- ],
- "test/testutil/libtestutil-lib-fake_random.o" => [
- "test/testutil/fake_random.c"
- ],
- "test/testutil/libtestutil-lib-format_output.o" => [
- "test/testutil/format_output.c"
- ],
- "test/testutil/libtestutil-lib-helper.o" => [
- "test/testutil/helper.c"
- ],
- "test/testutil/libtestutil-lib-load.o" => [
- "test/testutil/load.c"
- ],
- "test/testutil/libtestutil-lib-main.o" => [
- "test/testutil/main.c"
- ],
- "test/testutil/libtestutil-lib-options.o" => [
- "test/testutil/options.c"
- ],
- "test/testutil/libtestutil-lib-output.o" => [
- "test/testutil/output.c"
- ],
- "test/testutil/libtestutil-lib-provider.o" => [
- "test/testutil/provider.c"
- ],
- "test/testutil/libtestutil-lib-random.o" => [
- "test/testutil/random.c"
- ],
- "test/testutil/libtestutil-lib-stanza.o" => [
- "test/testutil/stanza.c"
- ],
- "test/testutil/libtestutil-lib-test_cleanup.o" => [
- "test/testutil/test_cleanup.c"
- ],
- "test/testutil/libtestutil-lib-test_options.o" => [
- "test/testutil/test_options.c"
- ],
- "test/testutil/libtestutil-lib-tests.o" => [
- "test/testutil/tests.c"
- ],
- "test/testutil/libtestutil-lib-testutil_init.o" => [
- "test/testutil/testutil_init.c"
- ],
- "test/threadpool_test" => [
- "test/threadpool_test-bin-threadpool_test.o"
- ],
- "test/threadpool_test-bin-threadpool_test.o" => [
- "test/threadpool_test.c"
- ],
- "test/threadstest" => [
- "test/threadstest-bin-threadstest.o"
- ],
- "test/threadstest-bin-threadstest.o" => [
- "test/threadstest.c"
- ],
- "test/threadstest_fips" => [
- "test/threadstest_fips-bin-threadstest_fips.o"
- ],
- "test/threadstest_fips-bin-threadstest_fips.o" => [
- "test/threadstest_fips.c"
- ],
- "test/time_offset_test" => [
- "test/time_offset_test-bin-time_offset_test.o"
- ],
- "test/time_offset_test-bin-time_offset_test.o" => [
- "test/time_offset_test.c"
- ],
- "test/time_test" => [
- "test/time_test-bin-time_test.o"
- ],
- "test/time_test-bin-time_test.o" => [
- "test/time_test.c"
- ],
- "test/timing_load_creds" => [
- "test/timing_load_creds-bin-timing_load_creds.o"
- ],
- "test/timing_load_creds-bin-timing_load_creds.o" => [
- "test/timing_load_creds.c"
- ],
- "test/tls13ccstest" => [
- "test/helpers/tls13ccstest-bin-ssltestlib.o",
- "test/tls13ccstest-bin-tls13ccstest.o"
- ],
- "test/tls13ccstest-bin-tls13ccstest.o" => [
- "test/tls13ccstest.c"
- ],
- "test/tls13encryptiontest" => [
- "test/tls13encryptiontest-bin-tls13encryptiontest.o"
- ],
- "test/tls13encryptiontest-bin-tls13encryptiontest.o" => [
- "test/tls13encryptiontest.c"
- ],
- "test/tls13groupselection_test" => [
- "test/helpers/tls13groupselection_test-bin-ssltestlib.o",
- "test/tls13groupselection_test-bin-tls13groupselection_test.o"
- ],
- "test/tls13groupselection_test-bin-tls13groupselection_test.o" => [
- "test/tls13groupselection_test.c"
- ],
- "test/tls13secretstest" => [
- "crypto/tls13secretstest-bin-packet.o",
- "crypto/tls13secretstest-bin-quic_vlint.o",
- "ssl/tls13secretstest-bin-tls13_enc.o",
- "test/tls13secretstest-bin-tls13secretstest.o"
- ],
- "test/tls13secretstest-bin-tls13secretstest.o" => [
- "test/tls13secretstest.c"
- ],
- "test/trace_api_test" => [
- "test/trace_api_test-bin-trace_api_test.o"
- ],
- "test/trace_api_test-bin-trace_api_test.o" => [
- "test/trace_api_test.c"
- ],
- "test/uitest" => [
- "apps/lib/uitest-bin-apps_ui.o",
- "test/uitest-bin-uitest.o"
- ],
- "test/uitest-bin-uitest.o" => [
- "test/uitest.c"
- ],
- "test/upcallstest" => [
- "test/upcallstest-bin-upcallstest.o"
- ],
- "test/upcallstest-bin-upcallstest.o" => [
- "test/upcallstest.c"
- ],
- "test/user_property_test" => [
- "test/user_property_test-bin-user_property_test.o"
- ],
- "test/user_property_test-bin-user_property_test.o" => [
- "test/user_property_test.c"
- ],
- "test/v3ext" => [
- "test/v3ext-bin-v3ext.o"
- ],
- "test/v3ext-bin-v3ext.o" => [
- "test/v3ext.c"
- ],
- "test/v3nametest" => [
- "test/v3nametest-bin-v3nametest.o"
- ],
- "test/v3nametest-bin-v3nametest.o" => [
- "test/v3nametest.c"
- ],
- "test/verify_extra_test" => [
- "test/verify_extra_test-bin-verify_extra_test.o"
- ],
- "test/verify_extra_test-bin-verify_extra_test.o" => [
- "test/verify_extra_test.c"
- ],
- "test/versions" => [
- "test/versions-bin-versions.o"
- ],
- "test/versions-bin-versions.o" => [
- "test/versions.c"
- ],
- "test/wpackettest" => [
- "test/wpackettest-bin-wpackettest.o"
- ],
- "test/wpackettest-bin-wpackettest.o" => [
- "test/wpackettest.c"
- ],
- "test/x509_acert_test" => [
- "test/x509_acert_test-bin-x509_acert_test.o"
- ],
- "test/x509_acert_test-bin-x509_acert_test.o" => [
- "test/x509_acert_test.c"
- ],
- "test/x509_check_cert_pkey_test" => [
- "test/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.o"
- ],
- "test/x509_check_cert_pkey_test-bin-x509_check_cert_pkey_test.o" => [
- "test/x509_check_cert_pkey_test.c"
- ],
- "test/x509_dup_cert_test" => [
- "test/x509_dup_cert_test-bin-x509_dup_cert_test.o"
- ],
- "test/x509_dup_cert_test-bin-x509_dup_cert_test.o" => [
- "test/x509_dup_cert_test.c"
- ],
- "test/x509_internal_test" => [
- "test/x509_internal_test-bin-x509_internal_test.o"
- ],
- "test/x509_internal_test-bin-x509_internal_test.o" => [
- "test/x509_internal_test.c"
- ],
- "test/x509_load_cert_file_test" => [
- "test/x509_load_cert_file_test-bin-x509_load_cert_file_test.o"
- ],
- "test/x509_load_cert_file_test-bin-x509_load_cert_file_test.o" => [
- "test/x509_load_cert_file_test.c"
- ],
- "test/x509_req_test" => [
- "test/x509_req_test-bin-x509_req_test.o"
- ],
- "test/x509_req_test-bin-x509_req_test.o" => [
- "test/x509_req_test.c"
- ],
- "test/x509_test" => [
- "test/x509_test-bin-x509_test.o"
- ],
- "test/x509_test-bin-x509_test.o" => [
- "test/x509_test.c"
- ],
- "test/x509_time_test" => [
- "test/x509_time_test-bin-x509_time_test.o"
- ],
- "test/x509_time_test-bin-x509_time_test.o" => [
- "test/x509_time_test.c"
- ],
- "test/x509aux" => [
- "test/x509aux-bin-x509aux.o"
- ],
- "test/x509aux-bin-x509aux.o" => [
- "test/x509aux.c"
- ],
- "tools/c_rehash" => [
- "tools/c_rehash.in"
- ],
- "util/shlib_wrap.sh" => [
- "util/shlib_wrap.sh.in"
- ],
- "util/wrap.pl" => [
- "util/wrap.pl.in"
- ]
- },
- "targets" => []
-);
-
-# Unexported, only used by OpenSSL::Test::Utils::available_protocols()
-our %available_protocols = (
- tls => [
- "ssl3",
- "tls1",
- "tls1_1",
- "tls1_2",
- "tls1_3"
-],
- dtls => [
- "dtls1",
- "dtls1_2"
-],
-);
-
-# The following data is only used when this files is use as a script
-my @makevars = (
- "AR",
- "ARFLAGS",
- "AS",
- "ASFLAGS",
- "CC",
- "CFLAGS",
- "CPP",
- "CPPDEFINES",
- "CPPFLAGS",
- "CPPINCLUDES",
- "CROSS_COMPILE",
- "CXX",
- "CXXFLAGS",
- "HASHBANGPERL",
- "LD",
- "LDFLAGS",
- "LDLIBS",
- "MT",
- "MTFLAGS",
- "OBJCOPY",
- "PERL",
- "RANLIB",
- "RC",
- "RCFLAGS",
- "RM"
-);
-my %disabled_info = (
- "acvp-tests" => {
- "macro" => "OPENSSL_NO_ACVP_TESTS"
- },
- "afalgeng" => {
- "macro" => "OPENSSL_NO_AFALGENG"
- },
- "aria" => {
- "macro" => "OPENSSL_NO_ARIA",
- "skipped" => [
- "crypto/aria"
- ]
- },
- "asan" => {
- "macro" => "OPENSSL_NO_ASAN"
- },
- "brotli" => {
- "macro" => "OPENSSL_NO_BROTLI"
- },
- "brotli-dynamic" => {
- "macro" => "OPENSSL_NO_BROTLI_DYNAMIC"
- },
- "crypto-mdebug" => {
- "macro" => "OPENSSL_NO_CRYPTO_MDEBUG"
- },
- "crypto-mdebug-backtrace" => {
- "macro" => "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE"
- },
- "demos" => {
- "macro" => "OPENSSL_NO_DEMOS"
- },
- "egd" => {
- "macro" => "OPENSSL_NO_EGD"
- },
- "external-tests" => {
- "macro" => "OPENSSL_NO_EXTERNAL_TESTS"
- },
- "fips-jitter" => {
- "macro" => "OPENSSL_NO_FIPS_JITTER"
- },
- "fips-post" => {
- "macro" => "OPENSSL_NO_FIPS_POST"
- },
- "fips-securitychecks" => {
- "macro" => "OPENSSL_NO_FIPS_SECURITYCHECKS"
- },
- "fuzz-afl" => {
- "macro" => "OPENSSL_NO_FUZZ_AFL"
- },
- "fuzz-libfuzzer" => {
- "macro" => "OPENSSL_NO_FUZZ_LIBFUZZER"
- },
- "h3demo" => {
- "macro" => "OPENSSL_NO_H3DEMO"
- },
- "hqinterop" => {
- "macro" => "OPENSSL_NO_HQINTEROP"
- },
- "idea" => {
- "macro" => "OPENSSL_NO_IDEA",
- "skipped" => [
- "crypto/idea"
- ]
- },
- "jitter" => {
- "macro" => "OPENSSL_NO_JITTER"
- },
- "md2" => {
- "macro" => "OPENSSL_NO_MD2",
- "skipped" => [
- "crypto/md2"
- ]
- },
- "mdc2" => {
- "macro" => "OPENSSL_NO_MDC2",
- "skipped" => [
- "crypto/mdc2"
- ]
- },
- "msan" => {
- "macro" => "OPENSSL_NO_MSAN"
- },
- "pie" => {
- "macro" => "OPENSSL_NO_PIE"
- },
- "rc5" => {
- "macro" => "OPENSSL_NO_RC5",
- "skipped" => [
- "crypto/rc5"
- ]
- },
- "sm2" => {
- "macro" => "OPENSSL_NO_SM2",
- "skipped" => [
- "crypto/sm2"
- ]
- },
- "sm3" => {
- "macro" => "OPENSSL_NO_SM3",
- "skipped" => [
- "crypto/sm3"
- ]
- },
- "sm4" => {
- "macro" => "OPENSSL_NO_SM4",
- "skipped" => [
- "crypto/sm4"
- ]
- },
- "ssl3" => {
- "macro" => "OPENSSL_NO_SSL3"
- },
- "ssl3-method" => {
- "macro" => "OPENSSL_NO_SSL3_METHOD"
- },
- "sslkeylog" => {
- "macro" => "OPENSSL_NO_SSLKEYLOG"
- },
- "tfo" => {
- "macro" => "OPENSSL_NO_TFO"
- },
- "trace" => {
- "macro" => "OPENSSL_NO_TRACE"
- },
- "ubsan" => {
- "macro" => "OPENSSL_NO_UBSAN"
- },
- "unit-test" => {
- "macro" => "OPENSSL_NO_UNIT_TEST"
- },
- "uplink" => {
- "macro" => "OPENSSL_NO_UPLINK"
- },
- "weak-ssl-ciphers" => {
- "macro" => "OPENSSL_NO_WEAK_SSL_CIPHERS"
- },
- "winstore" => {
- "macro" => "OPENSSL_NO_WINSTORE"
- },
- "zlib" => {
- "macro" => "OPENSSL_NO_ZLIB"
- },
- "zlib-dynamic" => {
- "macro" => "OPENSSL_NO_ZLIB_DYNAMIC"
- },
- "zstd" => {
- "macro" => "OPENSSL_NO_ZSTD"
- },
- "zstd-dynamic" => {
- "macro" => "OPENSSL_NO_ZSTD_DYNAMIC"
- }
-);
-my @user_crossable = qw( AR AS CC CXX CPP LD MT RANLIB RC );
-
-# If run directly, we can give some answers, and even reconfigure
-unless (caller) {
- use Getopt::Long;
- use File::Spec::Functions;
- use File::Basename;
- use File::Compare qw(compare_text);
- use File::Copy;
- use Pod::Usage;
-
- use lib '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/util/perl';
- use OpenSSL::fallback '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/external/perl/MODULES.txt';
-
- my $here = dirname($0);
-
- if (scalar @ARGV == 0) {
- # With no arguments, re-create the build file
- # We do that in two steps, where the first step emits perl
- # snippets.
-
- my $buildfile = $config{build_file};
- my $buildfile_template = "$buildfile.in";
- my @autowarntext = (
- 'WARNING: do not edit!',
- "Generated by configdata.pm from "
- .join(", ", @{$config{build_file_templates}}),
- "via $buildfile_template"
- );
- my %gendata = (
- config => \%config,
- target => \%target,
- disabled => \%disabled,
- withargs => \%withargs,
- unified_info => \%unified_info,
- autowarntext => \@autowarntext,
- );
-
- use lib '.';
- use lib '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/Configurations';
- use gentemplate;
-
- open my $buildfile_template_fh, ">$buildfile_template"
- or die "Trying to create $buildfile_template: $!";
- foreach (@{$config{build_file_templates}}) {
- copy($_, $buildfile_template_fh)
- or die "Trying to copy $_ into $buildfile_template: $!";
- }
- gentemplate(output => $buildfile_template_fh, %gendata);
- close $buildfile_template_fh;
- print 'Created ',$buildfile_template,"\n";
-
- use OpenSSL::Template;
-
- my $prepend = <<'_____';
-use File::Spec::Functions;
-use lib '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/util/perl';
-use lib '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/Configurations';
-use lib '.';
-use platform;
-_____
-
- my $tmpl;
- open BUILDFILE, ">$buildfile.new"
- or die "Trying to create $buildfile.new: $!";
- $tmpl = OpenSSL::Template->new(TYPE => 'FILE',
- SOURCE => $buildfile_template);
- $tmpl->fill_in(FILENAME => $_,
- OUTPUT => \*BUILDFILE,
- HASH => \%gendata,
- PREPEND => $prepend,
- # To ensure that global variables and functions
- # defined in one template stick around for the
- # next, making them combinable
- PACKAGE => 'OpenSSL::safe')
- or die $OpenSSL::Template::ERROR;
- close BUILDFILE;
- rename("$buildfile.new", $buildfile)
- or die "Trying to rename $buildfile.new to $buildfile: $!";
- print 'Created ',$buildfile,"\n";
-
- my $configuration_h =
- catfile('include', 'openssl', 'configuration.h');
- my $configuration_h_in =
- catfile($config{sourcedir}, 'include', 'openssl', 'configuration.h.in');
- open CONFIGURATION_H, ">${configuration_h}.new"
- or die "Trying to create ${configuration_h}.new: $!";
- $tmpl = OpenSSL::Template->new(TYPE => 'FILE',
- SOURCE => $configuration_h_in);
- $tmpl->fill_in(FILENAME => $_,
- OUTPUT => \*CONFIGURATION_H,
- HASH => \%gendata,
- PREPEND => $prepend,
- # To ensure that global variables and functions
- # defined in one template stick around for the
- # next, making them combinable
- PACKAGE => 'OpenSSL::safe')
- or die $OpenSSL::Template::ERROR;
- close CONFIGURATION_H;
-
- # When using stat() on Windows, we can get it to perform better by
- # avoid some data. This doesn't affect the mtime field, so we're not
- # losing anything...
- ${^WIN32_SLOPPY_STAT} = 1;
-
- my $update_configuration_h = 0;
- if (-f $configuration_h) {
- my $configuration_h_mtime = (stat($configuration_h))[9];
- my $configuration_h_in_mtime = (stat($configuration_h_in))[9];
-
- # If configuration.h.in was updated after the last configuration.h,
- # or if configuration.h.new differs configuration.h, we update
- # configuration.h
- if ($configuration_h_mtime < $configuration_h_in_mtime
- || compare_text("${configuration_h}.new", $configuration_h) != 0) {
- $update_configuration_h = 1;
- } else {
- # If nothing has changed, let's just drop the new one and
- # pretend like nothing happened
- unlink "${configuration_h}.new"
- }
- } else {
- $update_configuration_h = 1;
- }
-
- if ($update_configuration_h) {
- rename("${configuration_h}.new", $configuration_h)
- or die "Trying to rename ${configuration_h}.new to $configuration_h: $!";
- print 'Created ',$configuration_h,"\n";
- }
-
- exit(0);
- }
-
- my $dump = undef;
- my $cmdline = undef;
- my $options = undef;
- my $target = undef;
- my $envvars = undef;
- my $makevars = undef;
- my $buildparams = undef;
- my $reconf = undef;
- my $verbose = undef;
- my $query = undef;
- my $help = undef;
- my $man = undef;
- GetOptions('dump|d' => \$dump,
- 'command-line|c' => \$cmdline,
- 'options|o' => \$options,
- 'target|t' => \$target,
- 'environment|e' => \$envvars,
- 'make-variables|m' => \$makevars,
- 'build-parameters|b' => \$buildparams,
- 'reconfigure|reconf|r' => \$reconf,
- 'verbose|v' => \$verbose,
- 'query|q=s' => \$query,
- 'help' => \$help,
- 'man' => \$man)
- or die "Errors in command line arguments\n";
-
- # We allow extra arguments with --query. That allows constructs like
- # this:
- # ./configdata.pm --query 'get_sources(@ARGV)' file1 file2 file3
- if (!$query && scalar @ARGV > 0) {
- print STDERR <<"_____";
-Unrecognised arguments.
-For more information, do '$0 --help'
-_____
- exit(2);
- }
-
- if ($help) {
- pod2usage(-exitval => 0,
- -verbose => 1);
- }
- if ($man) {
- pod2usage(-exitval => 0,
- -verbose => 2);
- }
- if ($dump || $cmdline) {
- print "\nCommand line (with current working directory = $here):\n\n";
- print ' ',join(' ',
- $config{PERL},
- catfile($config{sourcedir}, 'Configure'),
- @{$config{perlargv}}), "\n";
- print "\nPerl information:\n\n";
- print ' ',$config{perl_cmd},"\n";
- print ' ',$config{perl_version},' for ',$config{perl_archname},"\n";
- }
- if ($dump || $options) {
- my $longest = 0;
- my $longest2 = 0;
- foreach my $what (@disablables) {
- $longest = length($what) if $longest < length($what);
- $longest2 = length($disabled{$what})
- if $disabled{$what} && $longest2 < length($disabled{$what});
- }
- print "\nEnabled features:\n\n";
- foreach my $what (@disablables) {
- print " $what\n" unless $disabled{$what};
- }
- print "\nDisabled features:\n\n";
- foreach my $what (@disablables) {
- if ($disabled{$what}) {
- print " $what", ' ' x ($longest - length($what) + 1),
- "[$disabled{$what}]", ' ' x ($longest2 - length($disabled{$what}) + 1);
- print $disabled_info{$what}->{macro}
- if $disabled_info{$what}->{macro};
- print ' (skip ',
- join(', ', @{$disabled_info{$what}->{skipped}}),
- ')'
- if $disabled_info{$what}->{skipped};
- print "\n";
- }
- }
- }
- if ($dump || $target) {
- print "\nConfig target attributes:\n\n";
- foreach (sort keys %target) {
- next if $_ =~ m|^_| || $_ eq 'template';
- my $quotify = sub {
- map {
- if (defined $_) {
- (my $x = $_) =~ s|([\\\$\@"])|\\$1|g; "\"$x\""
- } else {
- "undef";
- }
- } @_;
- };
- print ' ', $_, ' => ';
- if (ref($target{$_}) eq "ARRAY") {
- print '[ ', join(', ', $quotify->(@{$target{$_}})), " ],\n";
- } else {
- print $quotify->($target{$_}), ",\n"
- }
- }
- }
- if ($dump || $envvars) {
- print "\nRecorded environment:\n\n";
- foreach (sort keys %{$config{perlenv}}) {
- print ' ',$_,' = ',($config{perlenv}->{$_} || ''),"\n";
- }
- }
- if ($dump || $makevars) {
- print "\nMakevars:\n\n";
- foreach my $var (@makevars) {
- my $prefix = '';
- $prefix = $config{CROSS_COMPILE}
- if grep { $var eq $_ } @user_crossable;
- $prefix //= '';
- print ' ',$var,' ' x (16 - length $var),'= ',
- (ref $config{$var} eq 'ARRAY'
- ? join(' ', @{$config{$var}})
- : $prefix.$config{$var}),
- "\n"
- if defined $config{$var};
- }
-
- my @buildfile = ($config{builddir}, $config{build_file});
- unshift @buildfile, $here
- unless file_name_is_absolute($config{builddir});
- my $buildfile = canonpath(catdir(@buildfile));
- print <<"_____";
-
-NOTE: These variables only represent the configuration view. The build file
-template may have processed these variables further, please have a look at the
-build file for more exact data:
- $buildfile
-_____
- }
- if ($dump || $buildparams) {
- my @buildfile = ($config{builddir}, $config{build_file});
- unshift @buildfile, $here
- unless file_name_is_absolute($config{builddir});
- print "\nbuild file:\n\n";
- print " ", canonpath(catfile(@buildfile)),"\n";
-
- print "\nbuild file templates:\n\n";
- foreach (@{$config{build_file_templates}}) {
- my @tmpl = ($_);
- unshift @tmpl, $here
- unless file_name_is_absolute($config{sourcedir});
- print ' ',canonpath(catfile(@tmpl)),"\n";
- }
- }
- if ($reconf) {
- if ($verbose) {
- print 'Reconfiguring with: ', join(' ',@{$config{perlargv}}), "\n";
- foreach (sort keys %{$config{perlenv}}) {
- print ' ',$_,' = ',($config{perlenv}->{$_} || ""),"\n";
- }
- }
-
- chdir $here;
- exec $^X,catfile($config{sourcedir}, 'Configure'),'reconf';
- }
- if ($query) {
- use OpenSSL::Config::Query;
-
- my $confquery = OpenSSL::Config::Query->new(info => \%unified_info,
- config => \%config);
- my $result = eval "\$confquery->$query";
-
- # We may need a result class with a printing function at some point.
- # Until then, we assume that we get a scalar, or a list or a hash table
- # with scalar values and simply print them in some orderly fashion.
- if (ref $result eq 'ARRAY') {
- print "$_\n" foreach @$result;
- } elsif (ref $result eq 'HASH') {
- print "$_ : \\\n ", join(" \\\n ", @{$result->{$_}}), "\n"
- foreach sort keys %$result;
- } elsif (ref $result eq 'SCALAR') {
- print "$$result\n";
- }
- }
-}
-
-1;
-
-__END__
-
-=head1 NAME
-
-configdata.pm - configuration data for OpenSSL builds
-
-=head1 SYNOPSIS
-
-Interactive:
-
- perl configdata.pm [options]
-
-As data bank module:
-
- use configdata;
-
-=head1 DESCRIPTION
-
-This module can be used in two modes, interactively and as a module containing
-all the data recorded by OpenSSL's Configure script.
-
-When used interactively, simply run it as any perl script.
-If run with no arguments, it will rebuild the build file (Makefile or
-corresponding).
-With at least one option, it will instead get the information you ask for, or
-re-run the configuration process.
-See L</OPTIONS> below for more information.
-
-When loaded as a module, you get a few databanks with useful information to
-perform build related tasks. The databanks are:
-
- %config Configured things.
- %target The OpenSSL config target with all inheritances
- resolved.
- %disabled The features that are disabled.
- @disablables The list of features that can be disabled.
- %withargs All data given through --with-THING options.
- %unified_info All information that was computed from the build.info
- files.
-
-=head1 OPTIONS
-
-=over 4
-
-=item B<--help>
-
-Print a brief help message and exit.
-
-=item B<--man>
-
-Print the manual page and exit.
-
-=item B<--dump> | B<-d>
-
-Print all relevant configuration data. This is equivalent to B<--command-line>
-B<--options> B<--target> B<--environment> B<--make-variables>
-B<--build-parameters>.
-
-=item B<--command-line> | B<-c>
-
-Print the current configuration command line.
-
-=item B<--options> | B<-o>
-
-Print the features, both enabled and disabled, and display defined macro and
-skipped directories where applicable.
-
-=item B<--target> | B<-t>
-
-Print the config attributes for this config target.
-
-=item B<--environment> | B<-e>
-
-Print the environment variables and their values at the time of configuration.
-
-=item B<--make-variables> | B<-m>
-
-Print the main make variables generated in the current configuration
-
-=item B<--build-parameters> | B<-b>
-
-Print the build parameters, i.e. build file and build file templates.
-
-=item B<--reconfigure> | B<--reconf> | B<-r>
-
-Re-run the configuration process.
-
-=item B<--verbose> | B<-v>
-
-Verbose output.
-
-=back
-
-=cut
-
-EOF
diff --git a/crypto/openssl/freebsd/dump_version_from_configdata.pl b/crypto/openssl/freebsd/dump_version_from_configdata.pl
deleted file mode 100644
index b6137718ba54..000000000000
--- a/crypto/openssl/freebsd/dump_version_from_configdata.pl
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env perl
-#
-# This dumps out the values needed to generate manpages and other artifacts
-# which include the release version/date.
-#
-# See also: `secure/lib/libcrypto/Makefile.version`.
-
-use Cwd qw(realpath);
-use File::Basename qw(dirname);
-use Time::Piece;
-
-use lib dirname(dirname(realpath($0)));
-
-use configdata qw(%config);
-
-$OPENSSL_DATE = Time::Piece->strptime($config{"release_date"}, "%d %b %Y")->strftime("%Y-%m-%d");
-
-$OPENSSL_VER = "$config{'major'}.$config{'minor'}.$config{'patch'}";
-
-print("OPENSSL_VER=\t${OPENSSL_VER}\n");
-print("OPENSSL_DATE=\t${OPENSSL_DATE}\n");
diff --git a/crypto/openssl/libcrypto.pc b/crypto/openssl/libcrypto.pc
deleted file mode 100644
index 05ed0737f0f1..000000000000
--- a/crypto/openssl/libcrypto.pc
+++ /dev/null
@@ -1,13 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}
-includedir=${prefix}/include ${prefix}/./include
-enginesdir=${libdir}/engines
-modulesdir=${libdir}/providers
-
-Name: OpenSSL-libcrypto
-Description: OpenSSL cryptography library
-Version: 3.5.4
-Libs: -L${libdir} -lcrypto
-Libs.private: -pthread
-Cflags: -I${prefix}/include -I${prefix}/./include
diff --git a/crypto/openssl/libssl.pc b/crypto/openssl/libssl.pc
deleted file mode 100644
index 10b330aaa098..000000000000
--- a/crypto/openssl/libssl.pc
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}
-includedir=${prefix}/include ${prefix}/./include
-
-Name: OpenSSL-libssl
-Description: Secure Sockets Layer and cryptography libraries
-Version: 3.5.4
-Requires.private: libcrypto
-Libs: -L${libdir} -lssl
-Cflags: -I${prefix}/include -I${prefix}/./include
diff --git a/crypto/openssl/openssl.pc b/crypto/openssl/openssl.pc
deleted file mode 100644
index 7a9c9fc22d45..000000000000
--- a/crypto/openssl/openssl.pc
+++ /dev/null
@@ -1,9 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}
-includedir=${prefix}/include ${prefix}/./include
-
-Name: OpenSSL
-Description: Secure Sockets Layer and cryptography libraries and tools
-Version: 3.5.4
-Requires: libssl libcrypto
diff --git a/crypto/openssl/util/wrap.pl b/crypto/openssl/util/wrap.pl
deleted file mode 100755
index 1b536c1885ac..000000000000
--- a/crypto/openssl/util/wrap.pl
+++ /dev/null
@@ -1,133 +0,0 @@
-#! /usr/bin/env perl
-
-use strict;
-use warnings;
-
-use File::Basename;
-use File::Spec::Functions;
-
-BEGIN {
- # This method corresponds exactly to 'use OpenSSL::Util',
- # but allows us to use a platform specific file spec.
- require '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/util/perl/OpenSSL/Util.pm';
- OpenSSL::Util->import();
-}
-
-sub quote_cmd_win32 {
- my $cmd = "";
-
- foreach my $arg (@_) {
- if ($arg =~ m{\A[\w,-./@]+\z}) {
- $cmd .= $arg . q{ };;
- } else {
- $cmd .= q{"} . quote_arg_win32($arg) . q{" };
- }
- }
- return substr($cmd, 0, -1);
-}
-
-sub quote_arg_win32 {
- my ($arg) = @_;
- my $val = "";
-
- pos($arg) = 0;
- while (1) {
- return $val if (pos($arg) == length($arg));
- if ($arg =~ m{\G((?:(?>[\\]*)[^"\\]+)+)}ogc) {
- $val .= $1;
- } elsif ($arg =~ m{\G"}ogc) {
- $val .= qq{\\"};
- } elsif ($arg =~ m{\G((?>[\\]+)(?="|\z))}ogc) {
- $val .= qq{\\} x (2 * length($1));
- } else {
- die sprintf("Internal error quoting: '%s'\n", $arg);
- }
- }
-}
-
-my $there = canonpath(catdir(dirname($0), updir()));
-my $std_engines = catdir($there, 'engines');
-my $std_providers = catdir($there, 'providers');
-my $std_openssl_conf = catdir($there, 'apps/openssl.cnf');
-my $unix_shlib_wrap = catfile($there, 'util/shlib_wrap.sh');
-my $std_openssl_conf_include;
-
-if ($ARGV[0] eq '-fips') {
- $std_openssl_conf = '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/test/fips-and-base.cnf';
- shift;
-
- $std_openssl_conf_include = catdir($there, 'providers');
-}
-
-if ($ARGV[0] eq '-jitter') {
- $std_openssl_conf = '/usr/home/ngie/git/freebsd-src/worktree/main/crypto/openssl/test/default-and-jitter.cnf';
- shift;
-
- $std_openssl_conf_include = catdir($there, 'providers');
-}
-
-
-local $ENV{OPENSSL_CONF_INCLUDE} = $std_openssl_conf_include
- if defined $std_openssl_conf_include
- &&($ENV{OPENSSL_CONF_INCLUDE} // '') eq ''
- && -d $std_openssl_conf_include;
-local $ENV{OPENSSL_ENGINES} = $std_engines
- if ($ENV{OPENSSL_ENGINES} // '') eq '' && -d $std_engines;
-local $ENV{OPENSSL_MODULES} = $std_providers
- if ($ENV{OPENSSL_MODULES} // '') eq '' && -d $std_providers;
-local $ENV{OPENSSL_CONF} = $std_openssl_conf
- if ($ENV{OPENSSL_CONF} // '') eq '' && -f $std_openssl_conf;
-
-my $use_system = 0;
-my @cmd;
-
-if ($^O eq 'VMS') {
- # VMS needs the command to be appropriately quotified
- @cmd = fixup_cmd(@ARGV);
-} elsif (-x $unix_shlib_wrap) {
- @cmd = ( $unix_shlib_wrap, @ARGV );
-} else {
- # Hope for the best
- @cmd = ( @ARGV );
-}
-
-# The exec() statement on MSWin32 doesn't seem to give back the exit code
-# from the call, so we resort to using system() instead.
-my $waitcode;
-if ($^O eq 'MSWin32') {
- $waitcode = system(quote_cmd_win32(@cmd));
-} else {
- $waitcode = system @cmd;
-}
-
-# According to documentation, -1 means that system() couldn't run the command,
-# otherwise, the value is similar to the Unix wait() status value
-# (exitcode << 8 | signalcode)
-die "wrap.pl: Failed to execute '", join(' ', @cmd), "': $!\n"
- if $waitcode == -1;
-
-# When the subprocess aborted on a signal, we simply raise the same signal.
-kill(($? & 255) => $$) if ($? & 255) != 0;
-
-# If that didn't stop this script, mimic what Unix shells do, by
-# converting the signal code to an exit code by setting the high bit.
-# This only happens on Unix flavored operating systems, the others don't
-# have this sort of signaling to date, and simply leave the low byte zero.
-exit(($? & 255) | 128) if ($? & 255) != 0;
-
-# When not a signal, just shift down the subprocess exit code and use that.
-my $exitcode = $? >> 8;
-
-# For VMS, perl recommendations is to emulate what the C library exit() does
-# for all non-zero exit codes, except we set the error severity rather than
-# success.
-# Ref: https://perldoc.perl.org/perlport#exit
-# https://perldoc.perl.org/perlvms#$?
-if ($^O eq 'VMS' && $exitcode != 0) {
- $exitcode =
- 0x35a000 # C facility code
- + ($exitcode * 8) # shift up to make space for the 3 severity bits
- + 2 # Severity: E(rror)
- + 0x10000000; # bit 28 set => the shell stays silent
-}
-exit($exitcode);
diff --git a/etc/Makefile b/etc/Makefile
index 93d4b489ec7d..bda70b8af391 100644
--- a/etc/Makefile
+++ b/etc/Makefile
@@ -68,7 +68,7 @@ distribution:
# install the /etc/unbound symlink, otherwise, don't overwrite the user's
# existing symlink.
if [ "${NO_ROOT:Dtrue}" = true -o ! -e ${DESTDIR}/etc/unbound ]; then \
- ${INSTALL_SYMLINK} -Tpackage=unbound ../var/unbound \
+ ${INSTALL_SYMLINK} -Tpackage=local-unbound ../var/unbound \
${DESTDIR}/etc/unbound; \
fi
.endif
diff --git a/etc/mtree/BSD.tests.dist b/etc/mtree/BSD.tests.dist
index e6a013f010de..f7a3b2a33703 100644
--- a/etc/mtree/BSD.tests.dist
+++ b/etc/mtree/BSD.tests.dist
@@ -520,6 +520,8 @@
..
secure
lib
+ libcrypto
+ ..
..
libexec
..
@@ -833,6 +835,8 @@
..
gpt
..
+ label
+ ..
mirror
..
multipath
@@ -1283,6 +1287,8 @@
..
pw
..
+ quot
+ ..
rpcbind
..
sa
diff --git a/etc/mtree/BSD.var.dist b/etc/mtree/BSD.var.dist
index b3372196f5f9..b55c0150848e 100644
--- a/etc/mtree/BSD.var.dist
+++ b/etc/mtree/BSD.var.dist
@@ -104,8 +104,8 @@
vi.recover mode=01777
..
..
- unbound uname=unbound gname=unbound mode=0755 tags=package=unbound
- conf.d uname=unbound gname=unbound mode=0755 tags=package=unbound
+ unbound uname=unbound gname=unbound mode=0755 tags=package=local-unbound
+ conf.d uname=unbound gname=unbound mode=0755 tags=package=local-unbound
..
..
yp
diff --git a/include/stdckdint.h b/include/stdckdint.h
index af3074dded89..9cb877fe8198 100644
--- a/include/stdckdint.h
+++ b/include/stdckdint.h
@@ -13,7 +13,7 @@
#if __GNUC_PREREQ__(5, 1) || __has_builtin(__builtin_add_overflow)
#define ckd_add(result, a, b) \
- (_Bool)__builtin_add_overflow((a), (b), (result))
+ __builtin_add_overflow((a), (b), (result))
#else
#define ckd_add(result, a, b) \
_Static_assert(0, "checked addition not supported")
@@ -21,7 +21,7 @@
#if __GNUC_PREREQ__(5, 1) || __has_builtin(__builtin_sub_overflow)
#define ckd_sub(result, a, b) \
- (_Bool)__builtin_sub_overflow((a), (b), (result))
+ __builtin_sub_overflow((a), (b), (result))
#else
#define ckd_sub(result, a, b) \
_Static_assert(0, "checked subtraction not supported")
@@ -29,7 +29,7 @@
#if __GNUC_PREREQ__(5, 1) || __has_builtin(__builtin_mul_overflow)
#define ckd_mul(result, a, b) \
- (_Bool)__builtin_mul_overflow((a), (b), (result))
+ __builtin_mul_overflow((a), (b), (result))
#else
#define ckd_mul(result, a, b) \
_Static_assert(0, "checked multiplication not supported")
diff --git a/lib/libblacklist/Makefile b/lib/libblacklist/Makefile
index 07c770883eab..cac023d69bb7 100644
--- a/lib/libblacklist/Makefile
+++ b/lib/libblacklist/Makefile
@@ -18,14 +18,13 @@ CFLAGS+=-I${BLOCKLIST_DIR}/include -I${BLOCKLIST_DIR}/port \
SRCS= old_bl.c blacklist.c vsyslog_r.c
INCS= blacklist.h
-MAN= libblocklist.3
-
-MLINKS+=libblocklist.3 libblacklist.3 \
- libblocklist.3 blacklist_open.3 \
- libblocklist.3 blacklist_close.3 \
- libblocklist.3 blacklist.3 \
- libblocklist.3 blacklist_r.3 \
- libblocklist.3 blacklist_sa.3 \
- libblocklist.3 blacklist_sa_r.3
+MAN= libblacklist.3
+
+MLINKS= libblacklist.3 blacklist_open.3 \
+ libblacklist.3 blacklist_close.3 \
+ libblacklist.3 blacklist.3 \
+ libblacklist.3 blacklist_r.3 \
+ libblacklist.3 blacklist_sa.3 \
+ libblacklist.3 blacklist_sa_r.3
.include <bsd.lib.mk>
diff --git a/lib/libc/inet/inet_net_ntop.c b/lib/libc/inet/inet_net_ntop.c
index 9d98dbb5ca99..30dd5c0571f2 100644
--- a/lib/libc/inet/inet_net_ntop.c
+++ b/lib/libc/inet/inet_net_ntop.c
@@ -1,20 +1,23 @@
-/*-
- * SPDX-License-Identifier: ISC
+/* $OpenBSD: inet_net_ntop.c,v 1.9 2019/07/03 03:24:04 deraadt Exp $ */
+
+/*
+ * Copyright (c) 2012 by Gilles Chehade <gilles@openbsd.org>
+ * Copyright (c) 1996 by Internet Software Consortium.
*
- * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
- * Copyright (c) 1996,1999 by Internet Software Consortium.
+ * SPDX-License-Identifier: ISC
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
- * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ * SOFTWARE.
*/
#include "port_before.h"
@@ -31,18 +34,10 @@
#include "port_after.h"
-#ifdef SPRINTF_CHAR
-# define SPRINTF(x) strlen(sprintf/**/x)
-#else
-# define SPRINTF(x) ((size_t)sprintf x)
-#endif
-
-static char * inet_net_ntop_ipv4(const u_char *src, int bits, char *dst,
- size_t size);
-static char * inet_net_ntop_ipv6(const u_char *src, int bits, char *dst,
- size_t size);
+static char *inet_net_ntop_ipv4(const u_char *, int, char *, size_t);
+static char *inet_net_ntop_ipv6(const u_char *, int, char *, size_t);
-/*%
+/*
* char *
* inet_net_ntop(af, src, bits, dst, size)
* convert network number from network to presentation format.
@@ -66,7 +61,7 @@ inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size)
}
}
-/*%
+/*
* static char *
* inet_net_ntop_ipv4(src, bits, dst, size)
* convert IPv4 network number from network to presentation format.
@@ -83,53 +78,63 @@ static char *
inet_net_ntop_ipv4(const u_char *src, int bits, char *dst, size_t size)
{
char *odst = dst;
- char *t;
u_int m;
int b;
+ char *ep;
+ int advance;
+
+ ep = dst + size;
+ if (ep <= dst)
+ goto emsgsize;
if (bits < 0 || bits > 32) {
errno = EINVAL;
return (NULL);
}
-
if (bits == 0) {
- if (size < sizeof "0")
+ if (ep - dst < sizeof "0")
goto emsgsize;
*dst++ = '0';
- size--;
*dst = '\0';
}
/* Format whole octets. */
for (b = bits / 8; b > 0; b--) {
- if (size <= sizeof "255.")
+ if (ep - dst < sizeof "255.")
+ goto emsgsize;
+ advance = snprintf(dst, ep - dst, "%u", *src++);
+ if (advance <= 0 || advance >= ep - dst)
goto emsgsize;
- t = dst;
- dst += SPRINTF((dst, "%u", *src++));
+ dst += advance;
if (b > 1) {
+ if (dst + 1 >= ep)
+ goto emsgsize;
*dst++ = '.';
*dst = '\0';
}
- size -= (size_t)(dst - t);
}
/* Format partial octet. */
b = bits % 8;
if (b > 0) {
- if (size <= sizeof ".255")
+ if (ep - dst < sizeof ".255")
goto emsgsize;
- t = dst;
if (dst != odst)
*dst++ = '.';
m = ((1 << b) - 1) << (8 - b);
- dst += SPRINTF((dst, "%u", *src & m));
- size -= (size_t)(dst - t);
+ advance = snprintf(dst, ep - dst, "%u", *src & m);
+ if (advance <= 0 || advance >= ep - dst)
+ goto emsgsize;
+ dst += advance;
}
/* Format CIDR /width. */
- if (size <= sizeof "/32")
+ if (ep - dst < sizeof "/32")
+ goto emsgsize;
+ advance = snprintf(dst, ep - dst, "/%u", bits);
+ if (advance <= 0 || advance >= ep - dst)
goto emsgsize;
- dst += SPRINTF((dst, "/%u", bits));
+ dst += advance;
return (odst);
emsgsize:
@@ -137,132 +142,27 @@ inet_net_ntop_ipv4(const u_char *src, int bits, char *dst, size_t size)
return (NULL);
}
-/*%
- * static char *
- * inet_net_ntop_ipv6(src, bits, fakebits, dst, size)
- * convert IPv6 network number from network to presentation format.
- * generates CIDR style result always. Picks the shortest representation
- * unless the IP is really IPv4.
- * always prints specified number of bits (bits).
- * return:
- * pointer to dst, or NULL if an error occurred (check errno).
- * note:
- * network byte order assumed. this means 192.5.5.240/28 has
- * 0b11110000 in its fourth octet.
- * author:
- * Vadim Kogan (UCB), June 2001
- * Original version (IPv4) by Paul Vixie (ISC), July 1996
- */
-
static char *
-inet_net_ntop_ipv6(const u_char *src, int bits, char *dst, size_t size) {
- u_int m;
- int b;
- int p;
- int zero_s, zero_l, tmp_zero_s, tmp_zero_l;
- int i;
- int is_ipv4 = 0;
- unsigned char inbuf[16];
- char outbuf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255.255.255.255/128")];
- char *cp;
- int words;
- u_char *s;
+inet_net_ntop_ipv6(const u_char *src, int bits, char *dst, size_t size)
+{
+ int ret;
+ char buf[sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:255:255:255:255/128")];
if (bits < 0 || bits > 128) {
errno = EINVAL;
return (NULL);
}
- cp = outbuf;
-
- if (bits == 0) {
- *cp++ = ':';
- *cp++ = ':';
- *cp = '\0';
- } else {
- /* Copy src to private buffer. Zero host part. */
- p = (bits + 7) / 8;
- memcpy(inbuf, src, p);
- memset(inbuf + p, 0, 16 - p);
- b = bits % 8;
- if (b != 0) {
- m = ~0 << (8 - b);
- inbuf[p-1] &= m;
- }
-
- s = inbuf;
-
- /* how many words need to be displayed in output */
- words = (bits + 15) / 16;
- if (words == 1)
- words = 2;
-
- /* Find the longest substring of zero's */
- zero_s = zero_l = tmp_zero_s = tmp_zero_l = 0;
- for (i = 0; i < (words * 2); i += 2) {
- if ((s[i] | s[i+1]) == 0) {
- if (tmp_zero_l == 0)
- tmp_zero_s = i / 2;
- tmp_zero_l++;
- } else {
- if (tmp_zero_l && zero_l < tmp_zero_l) {
- zero_s = tmp_zero_s;
- zero_l = tmp_zero_l;
- tmp_zero_l = 0;
- }
- }
- }
-
- if (tmp_zero_l && zero_l < tmp_zero_l) {
- zero_s = tmp_zero_s;
- zero_l = tmp_zero_l;
- }
-
- if (zero_l != words && zero_s == 0 && ((zero_l == 6) ||
- ((zero_l == 5 && s[10] == 0xff && s[11] == 0xff) ||
- ((zero_l == 7 && s[14] != 0 && s[15] != 1)))))
- is_ipv4 = 1;
-
- /* Format whole words. */
- for (p = 0; p < words; p++) {
- if (zero_l != 0 && p >= zero_s && p < zero_s + zero_l) {
- /* Time to skip some zeros */
- if (p == zero_s)
- *cp++ = ':';
- if (p == words - 1)
- *cp++ = ':';
- s++;
- s++;
- continue;
- }
+ if (inet_ntop(AF_INET6, src, buf, size) == NULL)
+ return (NULL);
- if (is_ipv4 && p > 5 ) {
- *cp++ = (p == 6) ? ':' : '.';
- cp += SPRINTF((cp, "%u", *s++));
- /* we can potentially drop the last octet */
- if (p != 7 || bits > 120) {
- *cp++ = '.';
- cp += SPRINTF((cp, "%u", *s++));
- }
- } else {
- if (cp != outbuf)
- *cp++ = ':';
- cp += SPRINTF((cp, "%x", *s * 256 + s[1]));
- s += 2;
- }
- }
+ ret = snprintf(dst, size, "%s/%d", buf, bits);
+ if (ret < 0 || ret >= size) {
+ errno = EMSGSIZE;
+ return (NULL);
}
- /* Format CIDR /width. */
- sprintf(cp, "/%u", bits);
- if (strlen(outbuf) + 1 > size)
- goto emsgsize;
- strcpy(dst, outbuf);
return (dst);
-
-emsgsize:
- errno = EMSGSIZE;
- return (NULL);
}
/*
@@ -271,5 +171,3 @@ emsgsize:
*/
#undef inet_net_ntop
__weak_reference(__inet_net_ntop, inet_net_ntop);
-
-/*! \file */
diff --git a/lib/libc/inet/inet_net_pton.c b/lib/libc/inet/inet_net_pton.c
index d566a0e1d3c3..14c88eb72014 100644
--- a/lib/libc/inet/inet_net_pton.c
+++ b/lib/libc/inet/inet_net_pton.c
@@ -1,20 +1,23 @@
-/*-
- * SPDX-License-Identifier: ISC
+/* $OpenBSD: inet_net_pton.c,v 1.14 2022/12/27 17:10:06 jmc Exp $ */
+
+/*
+ * Copyright (c) 2012 by Gilles Chehade <gilles@openbsd.org>
+ * Copyright (c) 1996,1999 by Internet Software Consortium.
*
- * Copyright (C) 2004, 2005, 2008 Internet Systems Consortium, Inc. ("ISC")
- * Copyright (C) 1996, 1998, 1999, 2001, 2003 Internet Software Consortium.
+ * SPDX-License-Identifier: ISC
*
- * Permission to use, copy, modify, and/or distribute this software for any
+ * Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
- * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
+ * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM DISCLAIMS
+ * ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL INTERNET SOFTWARE
+ * CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
+ * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+ * SOFTWARE.
*/
#include "port_before.h"
@@ -22,7 +25,6 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
-#include <arpa/nameser.h>
#include <arpa/inet.h>
#include <assert.h>
@@ -34,13 +36,37 @@
#include "port_after.h"
-#ifdef SPRINTF_CHAR
-# define SPRINTF(x) strlen(sprintf/**/x)
-#else
-# define SPRINTF(x) ((size_t)sprintf x)
-#endif
+static int inet_net_pton_ipv4(const char *, u_char *, size_t);
+static int inet_net_pton_ipv6(const char *, u_char *, size_t);
-/*%
+/*
+ * static int
+ * inet_net_pton(af, src, dst, size)
+ * convert network number from presentation to network format.
+ * accepts hex octets, hex strings, decimal octets, and /CIDR.
+ * "size" is in bytes and describes "dst".
+ * return:
+ * number of bits, either imputed classfully or specified with /CIDR,
+ * or -1 if some failure occurred (check errno). ENOENT means it was
+ * not a valid network specification.
+ * author:
+ * Paul Vixie (ISC), June 1996
+ */
+int
+inet_net_pton(int af, const char *src, void *dst, size_t size)
+{
+ switch (af) {
+ case AF_INET:
+ return (inet_net_pton_ipv4(src, dst, size));
+ case AF_INET6:
+ return (inet_net_pton_ipv6(src, dst, size));
+ default:
+ errno = EAFNOSUPPORT;
+ return (-1);
+ }
+}
+
+/*
* static int
* inet_net_pton_ipv4(src, dst, size)
* convert IPv4 network number from presentation to network format.
@@ -57,22 +83,24 @@
* Paul Vixie (ISC), June 1996
*/
static int
-inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) {
- static const char xdigits[] = "0123456789abcdef";
- static const char digits[] = "0123456789";
- int n, ch, tmp = 0, dirty, bits;
+inet_net_pton_ipv4(const char *src, u_char *dst, size_t size)
+{
+ static const char
+ xdigits[] = "0123456789abcdef",
+ digits[] = "0123456789";
+ int n, ch, tmp, dirty, bits;
const u_char *odst = dst;
- ch = *src++;
+ ch = (unsigned char)*src++;
if (ch == '0' && (src[0] == 'x' || src[0] == 'X')
- && isascii((unsigned char)(src[1]))
- && isxdigit((unsigned char)(src[1]))) {
+ && isascii((unsigned char)src[1]) && isxdigit((unsigned char)src[1])) {
/* Hexadecimal: Eat nybble string. */
- if (size <= 0U)
+ if (size == 0)
goto emsgsize;
- dirty = 0;
- src++; /*%< skip x or X. */
- while ((ch = *src++) != '\0' && isascii(ch) && isxdigit(ch)) {
+ tmp = 0, dirty = 0;
+ src++; /* skip x or X. */
+ while ((ch = (unsigned char)*src++) != '\0' &&
+ isascii(ch) && isxdigit(ch)) {
if (isupper(ch))
ch = tolower(ch);
n = strchr(xdigits, ch) - xdigits;
@@ -82,14 +110,14 @@ inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) {
else
tmp = (tmp << 4) | n;
if (++dirty == 2) {
- if (size-- <= 0U)
+ if (size-- == 0)
goto emsgsize;
*dst++ = (u_char) tmp;
dirty = 0;
}
}
- if (dirty) { /*%< Odd trailing nybble? */
- if (size-- <= 0U)
+ if (dirty) { /* Odd trailing nybble? */
+ if (size-- == 0)
goto emsgsize;
*dst++ = (u_char) (tmp << 4);
}
@@ -104,16 +132,16 @@ inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) {
tmp += n;
if (tmp > 255)
goto enoent;
- } while ((ch = *src++) != '\0' &&
+ } while ((ch = (unsigned char)*src++) != '\0' &&
isascii(ch) && isdigit(ch));
- if (size-- <= 0U)
+ if (size-- == 0)
goto emsgsize;
*dst++ = (u_char) tmp;
if (ch == '\0' || ch == '/')
break;
if (ch != '.')
goto enoent;
- ch = *src++;
+ ch = (unsigned char)*src++;
if (!isascii(ch) || !isdigit(ch))
goto enoent;
}
@@ -121,10 +149,10 @@ inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) {
goto enoent;
bits = -1;
- if (ch == '/' && isascii((unsigned char)(src[0])) &&
- isdigit((unsigned char)(src[0])) && dst > odst) {
+ if (ch == '/' && isascii((unsigned char)src[0]) &&
+ isdigit((unsigned char)src[0]) && dst > odst) {
/* CIDR width specifier. Nothing can follow it. */
- ch = *src++; /*%< Skip over the /. */
+ ch = (unsigned char)*src++; /* Skip over the /. */
bits = 0;
do {
n = strchr(digits, ch) - digits;
@@ -132,8 +160,9 @@ inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) {
bits *= 10;
bits += n;
if (bits > 32)
- goto enoent;
- } while ((ch = *src++) != '\0' && isascii(ch) && isdigit(ch));
+ goto emsgsize;
+ } while ((ch = (unsigned char)*src++) != '\0' &&
+ isascii(ch) && isdigit(ch));
if (ch != '\0')
goto enoent;
}
@@ -147,29 +176,23 @@ inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) {
goto enoent;
/* If no CIDR spec was given, infer width from net class. */
if (bits == -1) {
- if (*odst >= 240) /*%< Class E */
+ if (*odst >= 240) /* Class E */
bits = 32;
- else if (*odst >= 224) /*%< Class D */
- bits = 8;
- else if (*odst >= 192) /*%< Class C */
+ else if (*odst >= 224) /* Class D */
+ bits = 4;
+ else if (*odst >= 192) /* Class C */
bits = 24;
- else if (*odst >= 128) /*%< Class B */
+ else if (*odst >= 128) /* Class B */
bits = 16;
- else /*%< Class A */
+ else /* Class A */
bits = 8;
/* If imputed mask is narrower than specified octets, widen. */
if (bits < ((dst - odst) * 8))
bits = (dst - odst) * 8;
- /*
- * If there are no additional bits specified for a class D
- * address adjust bits to 4.
- */
- if (bits == 8 && *odst == 224)
- bits = 4;
}
/* Extend network to cover the actual mask. */
while (bits > ((dst - odst) * 8)) {
- if (size-- <= 0U)
+ if (size-- == 0)
goto emsgsize;
*dst++ = '\0';
}
@@ -184,222 +207,48 @@ inet_net_pton_ipv4(const char *src, u_char *dst, size_t size) {
return (-1);
}
-static int
-getbits(const char *src, int *bitsp) {
- static const char digits[] = "0123456789";
- int n;
- int val;
- char ch;
-
- val = 0;
- n = 0;
- while ((ch = *src++) != '\0') {
- const char *pch;
-
- pch = strchr(digits, ch);
- if (pch != NULL) {
- if (n++ != 0 && val == 0) /*%< no leading zeros */
- return (0);
- val *= 10;
- val += (pch - digits);
- if (val > 128) /*%< range */
- return (0);
- continue;
- }
- return (0);
- }
- if (n == 0)
- return (0);
- *bitsp = val;
- return (1);
-}
static int
-getv4(const char *src, u_char *dst, int *bitsp) {
- static const char digits[] = "0123456789";
- u_char *odst = dst;
- int n;
- u_int val;
- char ch;
-
- val = 0;
- n = 0;
- while ((ch = *src++) != '\0') {
- const char *pch;
+inet_net_pton_ipv6(const char *src, u_char *dst, size_t size)
+{
+ struct in6_addr in6;
+ int ret;
+ int bits;
+ size_t bytes;
+ char buf[INET6_ADDRSTRLEN + sizeof("/128")];
+ char *sep;
+ const char *errstr;
- pch = strchr(digits, ch);
- if (pch != NULL) {
- if (n++ != 0 && val == 0) /*%< no leading zeros */
- return (0);
- val *= 10;
- val += (pch - digits);
- if (val > 255) /*%< range */
- return (0);
- continue;
- }
- if (ch == '.' || ch == '/') {
- if (dst - odst > 3) /*%< too many octets? */
- return (0);
- *dst++ = val;
- if (ch == '/')
- return (getbits(src, bitsp));
- val = 0;
- n = 0;
- continue;
- }
- return (0);
+ if (strlcpy(buf, src, sizeof buf) >= sizeof buf) {
+ errno = EMSGSIZE;
+ return (-1);
}
- if (n == 0)
- return (0);
- if (dst - odst > 3) /*%< too many octets? */
- return (0);
- *dst++ = val;
- return (1);
-}
-static int
-inet_net_pton_ipv6(const char *src, u_char *dst, size_t size) {
- static const char xdigits_l[] = "0123456789abcdef",
- xdigits_u[] = "0123456789ABCDEF";
- u_char tmp[NS_IN6ADDRSZ], *tp, *endp, *colonp;
- const char *xdigits, *curtok;
- int ch, saw_xdigit;
- u_int val;
- int digits;
- int bits;
- size_t bytes;
- int words;
- int ipv4;
+ sep = strchr(buf, '/');
+ if (sep != NULL)
+ *sep++ = '\0';
- memset((tp = tmp), '\0', NS_IN6ADDRSZ);
- endp = tp + NS_IN6ADDRSZ;
- colonp = NULL;
- /* Leading :: requires some special handling. */
- if (*src == ':')
- if (*++src != ':')
- goto enoent;
- curtok = src;
- saw_xdigit = 0;
- val = 0;
- digits = 0;
- bits = -1;
- ipv4 = 0;
- while ((ch = *src++) != '\0') {
- const char *pch;
+ ret = inet_pton(AF_INET6, buf, &in6);
+ if (ret != 1)
+ return (-1);
- if ((pch = strchr((xdigits = xdigits_l), ch)) == NULL)
- pch = strchr((xdigits = xdigits_u), ch);
- if (pch != NULL) {
- val <<= 4;
- val |= (pch - xdigits);
- if (++digits > 4)
- goto enoent;
- saw_xdigit = 1;
- continue;
- }
- if (ch == ':') {
- curtok = src;
- if (!saw_xdigit) {
- if (colonp)
- goto enoent;
- colonp = tp;
- continue;
- } else if (*src == '\0')
- goto enoent;
- if (tp + NS_INT16SZ > endp)
- return (0);
- *tp++ = (u_char) (val >> 8) & 0xff;
- *tp++ = (u_char) val & 0xff;
- saw_xdigit = 0;
- digits = 0;
- val = 0;
- continue;
- }
- if (ch == '.' && ((tp + NS_INADDRSZ) <= endp) &&
- getv4(curtok, tp, &bits) > 0) {
- tp += NS_INADDRSZ;
- saw_xdigit = 0;
- ipv4 = 1;
- break; /*%< '\\0' was seen by inet_pton4(). */
- }
- if (ch == '/' && getbits(src, &bits) > 0)
- break;
- goto enoent;
- }
- if (saw_xdigit) {
- if (tp + NS_INT16SZ > endp)
- goto enoent;
- *tp++ = (u_char) (val >> 8) & 0xff;
- *tp++ = (u_char) val & 0xff;
- }
- if (bits == -1)
+ if (sep == NULL)
bits = 128;
-
- words = (bits + 15) / 16;
- if (words < 2)
- words = 2;
- if (ipv4)
- words = 8;
- endp = tmp + 2 * words;
-
- if (colonp != NULL) {
- /*
- * Since some memmove()'s erroneously fail to handle
- * overlapping regions, we'll do the shift by hand.
- */
- const int n = tp - colonp;
- int i;
-
- if (tp == endp)
- goto enoent;
- for (i = 1; i <= n; i++) {
- endp[- i] = colonp[n - i];
- colonp[n - i] = 0;
+ else {
+ bits = strtonum(sep, 0, 128, &errstr);
+ if (errstr) {
+ errno = EINVAL;
+ return (-1);
}
- tp = endp;
}
- if (tp != endp)
- goto enoent;
bytes = (bits + 7) / 8;
- if (bytes > size)
- goto emsgsize;
- memcpy(dst, tmp, bytes);
- return (bits);
-
- enoent:
- errno = ENOENT;
- return (-1);
-
- emsgsize:
- errno = EMSGSIZE;
- return (-1);
-}
-
-/*%
- * int
- * inet_net_pton(af, src, dst, size)
- * convert network number from presentation to network format.
- * accepts hex octets, hex strings, decimal octets, and /CIDR.
- * "size" is in bytes and describes "dst".
- * return:
- * number of bits, either imputed classfully or specified with /CIDR,
- * or -1 if some failure occurred (check errno). ENOENT means it was
- * not a valid network specification.
- * author:
- * Paul Vixie (ISC), June 1996
- */
-int
-inet_net_pton(int af, const char *src, void *dst, size_t size) {
- switch (af) {
- case AF_INET:
- return (inet_net_pton_ipv4(src, dst, size));
- case AF_INET6:
- return (inet_net_pton_ipv6(src, dst, size));
- default:
- errno = EAFNOSUPPORT;
+ if (bytes > size) {
+ errno = EMSGSIZE;
return (-1);
}
+ memcpy(dst, &in6.s6_addr, bytes);
+ return (bits);
}
/*
@@ -408,5 +257,3 @@ inet_net_pton(int af, const char *src, void *dst, size_t size) {
*/
#undef inet_net_pton
__weak_reference(__inet_net_pton, inet_net_pton);
-
-/*! \file */
diff --git a/lib/libc/stdlib/realpath.3 b/lib/libc/stdlib/realpath.3
index 065ba312c2ef..76f40249963b 100644
--- a/lib/libc/stdlib/realpath.3
+++ b/lib/libc/stdlib/realpath.3
@@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd May 11, 2012
+.Dd October 10, 2025
.Dt REALPATH 3
.Os
.Sh NAME
@@ -108,11 +108,11 @@ and
.Xr getcwd 3 .
.Sh SEE ALSO
.Xr getcwd 3
-.\" .Sh STANDARDS
-.\" The
-.\" .Fn realpath
-.\" function conforms to
-.\" .St -p1003.1-2001 .
+.Sh STANDARDS
+The
+.Fn realpath
+function conforms to
+.St -p1003.1-2001 .
.Sh HISTORY
The
.Fn realpath
diff --git a/lib/libc/stdlib/realpath.c b/lib/libc/stdlib/realpath.c
index 4c52b73319ab..18f29e95ee6b 100644
--- a/lib/libc/stdlib/realpath.c
+++ b/lib/libc/stdlib/realpath.c
@@ -49,7 +49,7 @@ realpath1(const char *path, char *resolved)
{
struct stat sb;
char *p, *q;
- size_t left_len, resolved_len, next_token_len;
+ size_t left_len, prev_len, resolved_len, next_token_len;
unsigned symlinks;
ssize_t slen;
char left[PATH_MAX], next_token[PATH_MAX], symlink[PATH_MAX];
@@ -98,6 +98,7 @@ realpath1(const char *path, char *resolved)
left_len = 0;
}
+ prev_len = resolved_len;
if (resolved[resolved_len - 1] != '/') {
if (resolved_len + 1 >= PATH_MAX) {
errno = ENAMETOOLONG;
@@ -133,8 +134,17 @@ realpath1(const char *path, char *resolved)
errno = ENAMETOOLONG;
return (NULL);
}
- if (lstat(resolved, &sb) != 0)
+ if (lstat(resolved, &sb) != 0) {
+ /*
+ * EACCES means the parent directory is not
+ * readable, while ENOTDIR means the parent
+ * directory is not a directory. Rewind the path
+ * to correctly indicate where the error lies.
+ */
+ if (errno == EACCES || errno == ENOTDIR)
+ resolved[prev_len] = '\0';
return (NULL);
+ }
if (S_ISLNK(sb.st_mode)) {
if (symlinks++ > MAXSYMLINKS) {
errno = ELOOP;
diff --git a/lib/libc/stdtime/strptime.3 b/lib/libc/stdtime/strptime.3
index 7df73d2d080a..9456fa757b85 100644
--- a/lib/libc/stdtime/strptime.3
+++ b/lib/libc/stdtime/strptime.3
@@ -171,7 +171,7 @@ is taken as noon.
The
.Fa %Z
format specifier only accepts time zone abbreviations of the local time zone,
-or the value "GMT".
+and the values "GMT", "UTC", or "Z".
This limitation is because of ambiguity due to of the over loading of time
zone abbreviations.
One such example is
diff --git a/lib/libc/stdtime/strptime.c b/lib/libc/stdtime/strptime.c
index 5f1293c7a267..375e49146639 100644
--- a/lib/libc/stdtime/strptime.c
+++ b/lib/libc/stdtime/strptime.c
@@ -546,7 +546,8 @@ label:
zonestr[cp - buf] = '\0';
tzset();
if (0 == strcmp(zonestr, "GMT") ||
- 0 == strcmp(zonestr, "UTC")) {
+ 0 == strcmp(zonestr, "UTC") ||
+ 0 == strcmp(zonestr, "Z")) {
*GMTp = 1;
} else if (0 == strcmp(zonestr, tzname[0])) {
tm->tm_isdst = 0;
diff --git a/lib/libc/tests/gen/realpath2_test.c b/lib/libc/tests/gen/realpath2_test.c
index f89dd99cbb72..431df8721ae0 100644
--- a/lib/libc/tests/gen/realpath2_test.c
+++ b/lib/libc/tests/gen/realpath2_test.c
@@ -1,6 +1,7 @@
/*
* Copyright (c) 2017 Jan Kokemüller
* All rights reserved.
+ * Copyright (c) 2025 Klara, Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -25,6 +26,8 @@
*/
#include <sys/param.h>
+#include <sys/stat.h>
+
#include <errno.h>
#include <fcntl.h>
#include <stdio.h>
@@ -34,6 +37,31 @@
#include <atf-c.h>
+ATF_TC(realpath_null);
+ATF_TC_HEAD(realpath_null, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Test null input");
+}
+ATF_TC_BODY(realpath_null, tc)
+{
+ ATF_REQUIRE_ERRNO(EINVAL, realpath(NULL, NULL) == NULL);
+}
+
+ATF_TC(realpath_empty);
+ATF_TC_HEAD(realpath_empty, tc)
+{
+ atf_tc_set_md_var(tc, "descr", "Test empty input");
+}
+ATF_TC_BODY(realpath_empty, tc)
+{
+ char resb[PATH_MAX] = "";
+
+ ATF_REQUIRE_EQ(0, mkdir("foo", 0755));
+ ATF_REQUIRE_EQ(0, chdir("foo"));
+ ATF_REQUIRE_ERRNO(ENOENT, realpath("", resb) == NULL);
+ ATF_REQUIRE_STREQ("", resb);
+}
+
ATF_TC(realpath_buffer_overflow);
ATF_TC_HEAD(realpath_buffer_overflow, tc)
{
@@ -44,16 +72,11 @@ ATF_TC_HEAD(realpath_buffer_overflow, tc)
ATF_TC_BODY(realpath_buffer_overflow, tc)
{
- char path[MAXPATHLEN] = { 0 };
- char resb[MAXPATHLEN] = { 0 };
- size_t i;
+ char path[PATH_MAX] = "";
+ char resb[PATH_MAX] = "";
- path[0] = 'a';
+ memset(path, 'a', sizeof(path) - 1);
path[1] = '/';
- for (i = 2; i < sizeof(path) - 1; ++i) {
- path[i] = 'a';
- }
-
ATF_REQUIRE(realpath(path, resb) == NULL);
}
@@ -66,9 +89,9 @@ ATF_TC_HEAD(realpath_empty_symlink, tc)
ATF_TC_BODY(realpath_empty_symlink, tc)
{
- char path[MAXPATHLEN] = { 0 };
- char slnk[MAXPATHLEN] = { 0 };
- char resb[MAXPATHLEN] = { 0 };
+ char path[PATH_MAX] = "";
+ char slnk[PATH_MAX] = "";
+ char resb[PATH_MAX] = "";
int fd;
(void)strlcat(slnk, "empty_symlink", sizeof(slnk));
@@ -89,11 +112,70 @@ ATF_TC_BODY(realpath_empty_symlink, tc)
ATF_REQUIRE(unlink(slnk) == 0);
}
-ATF_TP_ADD_TCS(tp)
+ATF_TC(realpath_partial);
+ATF_TC_HEAD(realpath_partial, tc)
+{
+ atf_tc_set_md_var(tc, "descr",
+ "Test that failure leaves a partial result");
+ atf_tc_set_md_var(tc, "require.user", "unprivileged");
+}
+
+ATF_TC_BODY(realpath_partial, tc)
{
+ char resb[PATH_MAX] = "";
+ size_t len;
+
+ /* scenario 1: missing directory */
+ ATF_REQUIRE_EQ(0, mkdir("foo", 0755));
+ ATF_REQUIRE_ERRNO(ENOENT, realpath("foo/bar/baz", resb) == NULL);
+ len = strnlen(resb, sizeof(resb));
+ ATF_REQUIRE(len > 8 && len < sizeof(resb));
+ ATF_REQUIRE_STREQ("/foo/bar", resb + len - 8);
+
+ /* scenario 2: dead link 1 */
+ ATF_REQUIRE_EQ(0, symlink("nix", "foo/bar"));
+ ATF_REQUIRE_ERRNO(ENOENT, realpath("foo/bar/baz", resb) == NULL);
+ len = strnlen(resb, sizeof(resb));
+ ATF_REQUIRE(len > 8 && len < sizeof(resb));
+ ATF_REQUIRE_STREQ("/foo/nix", resb + len - 8);
+
+ /* scenario 3: missing file */
+ ATF_REQUIRE_EQ(0, unlink("foo/bar"));
+ ATF_REQUIRE_EQ(0, mkdir("foo/bar", 0755));
+ ATF_REQUIRE_ERRNO(ENOENT, realpath("foo/bar/baz", resb) == NULL);
+ len = strnlen(resb, sizeof(resb));
+ ATF_REQUIRE(len > 12 && len < sizeof(resb));
+ ATF_REQUIRE_STREQ("/foo/bar/baz", resb + len - 12);
+
+ /* scenario 4: dead link 2 */
+ ATF_REQUIRE_EQ(0, symlink("nix", "foo/bar/baz"));
+ ATF_REQUIRE_ERRNO(ENOENT, realpath("foo/bar/baz", resb) == NULL);
+ len = strnlen(resb, sizeof(resb));
+ ATF_REQUIRE(len > 12 && len < sizeof(resb));
+ ATF_REQUIRE_STREQ("/foo/bar/nix", resb + len - 12);
+
+ /* scenario 5: unreadable directory */
+ ATF_REQUIRE_EQ(0, chmod("foo", 000));
+ ATF_REQUIRE_ERRNO(EACCES, realpath("foo/bar/baz", resb) == NULL);
+ len = strnlen(resb, sizeof(resb));
+ ATF_REQUIRE(len > 4 && len < sizeof(resb));
+ ATF_REQUIRE_STREQ("/foo", resb + len - 4);
+
+ /* scenario 6: not a directory */
+ ATF_REQUIRE_EQ(0, close(creat("bar", 0644)));
+ ATF_REQUIRE_ERRNO(ENOTDIR, realpath("bar/baz", resb) == NULL);
+ len = strnlen(resb, sizeof(resb));
+ ATF_REQUIRE(len > 4 && len < sizeof(resb));
+ ATF_REQUIRE_STREQ("/bar", resb + len - 4);
+}
+ATF_TP_ADD_TCS(tp)
+{
+ ATF_TP_ADD_TC(tp, realpath_null);
+ ATF_TP_ADD_TC(tp, realpath_empty);
ATF_TP_ADD_TC(tp, realpath_buffer_overflow);
ATF_TP_ADD_TC(tp, realpath_empty_symlink);
+ ATF_TP_ADD_TC(tp, realpath_partial);
return atf_no_error();
}
diff --git a/lib/libc/tests/net/Makefile b/lib/libc/tests/net/Makefile
index 24cff61e8d24..ec0668633508 100644
--- a/lib/libc/tests/net/Makefile
+++ b/lib/libc/tests/net/Makefile
@@ -4,8 +4,10 @@ ATF_TESTS_C+= ether_test
ATF_TESTS_C+= eui64_aton_test
ATF_TESTS_C+= eui64_ntoa_test
ATF_TESTS_CXX+= link_addr_test
+ATF_TESTS_CXX+= inet_net_test
CXXSTD.link_addr_test= c++20
+CXXSTD.inet_net_test= c++20
CFLAGS+= -I${.CURDIR}
diff --git a/lib/libc/tests/net/inet_net_test.cc b/lib/libc/tests/net/inet_net_test.cc
new file mode 100644
index 000000000000..60b60b152eca
--- /dev/null
+++ b/lib/libc/tests/net/inet_net_test.cc
@@ -0,0 +1,333 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * Tests for inet_net_pton() and inet_net_ntop().
+ */
+
+#include <sys/types.h>
+#include <sys/socket.h>
+
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <ranges>
+#include <string>
+#include <vector>
+
+#include <atf-c++.hpp>
+
+using namespace std::literals;
+
+/*
+ * inet_net_ntop() and inet_net_pton() for IPv4.
+ */
+ATF_TEST_CASE_WITHOUT_HEAD(inet_net_inet4)
+ATF_TEST_CASE_BODY(inet_net_inet4)
+{
+ /*
+ * Define a list of addresses we want to check. Each address is passed
+ * to inet_net_pton() to convert it to an in_addr, then we convert the
+ * in_addr back to a string and compare it with the expected value. We
+ * want to test over-long prefixes here (such as 10.0.0.1/8), so we also
+ * specify what the result is expected to be.
+ */
+
+ struct test_addr {
+ std::string input;
+ int bits;
+ std::string output;
+ };
+
+ auto test_addrs = std::vector<test_addr>{
+ // Simple prefixes that fall on octet boundaries.
+ { "10.0.0.0/8", 8, "10/8" },
+ { "10.1.0.0/16", 16, "10.1/16" },
+ { "10.1.2.0/24", 24, "10.1.2/24" },
+ { "10.1.2.3/32", 32, "10.1.2.3/32" },
+
+ // Simple prefixes with the short-form address.
+ { "10/8", 8, "10/8" },
+ { "10.1/16", 16, "10.1/16" },
+ { "10.1.2/24", 24, "10.1.2/24" },
+
+ // A prefix that doesn't fall on an octet boundary.
+ { "10.1.64/18", 18, "10.1.64/18" },
+
+ // An overlong prefix with bits that aren't part of the prefix.
+ { "10.0.0.1/8", 8, "10/8" },
+ };
+
+ for (auto const &addr: test_addrs) {
+ /*
+ * Convert the input string to an in_addr + bits, and make
+ * sure the result produces the number of bits we expected.
+ */
+
+ auto in = in_addr{};
+ auto bits = inet_net_pton(AF_INET, addr.input.c_str(),
+ &in, sizeof(in));
+ ATF_REQUIRE(bits != -1);
+ ATF_REQUIRE_EQ(bits, addr.bits);
+
+ /*
+ * Convert the in_addr back to a string
+ */
+
+ /*
+ * XXX: Should there be a constant for the size of the result
+ * buffer? For now, use ADDRSTRLEN + 3 ("/32") + 1 (NUL).
+ *
+ * Fill the buffer with 'Z', so we can check the result was
+ * properly terminated.
+ */
+ auto strbuf = std::vector<char>(INET_ADDRSTRLEN + 3 + 1, 'Z');
+ auto ret = inet_net_ntop(AF_INET, &in, bits,
+ strbuf.data(), strbuf.size());
+ ATF_REQUIRE(ret != NULL);
+ ATF_REQUIRE_EQ(ret, strbuf.data());
+
+ /* Make sure the result was NUL-terminated and find the NUL */
+ ATF_REQUIRE(strbuf.size() >= 1);
+ auto end = std::ranges::find(strbuf, '\0');
+ ATF_REQUIRE(end != strbuf.end());
+
+ /*
+ * Check the result matches what we expect. Use a temporary
+ * string here instead of std::ranges::equal because this
+ * means ATF can print the mismatch.
+ */
+ auto str = std::string(std::ranges::begin(strbuf), end);
+ ATF_REQUIRE_EQ(str, addr.output);
+ }
+}
+
+/*
+ * inet_net_ntop() and inet_net_pton() for IPv6.
+ */
+ATF_TEST_CASE_WITHOUT_HEAD(inet_net_inet6)
+ATF_TEST_CASE_BODY(inet_net_inet6)
+{
+ /*
+ * Define a list of addresses we want to check. Each address is
+ * passed to inet_net_pton() to convert it to an in6_addr, then we
+ * convert the in6_addr back to a string and compare it with the
+ * expected value. We want to test over-long prefixes here (such
+ * as 2001:db8::1/32), so we also specify what the result is
+ * expected to be.
+ */
+
+ struct test_addr {
+ std::string input;
+ int bits;
+ std::string output;
+ };
+
+ auto test_addrs = std::vector<test_addr>{
+ // A prefix with a trailing ::
+ { "2001:db8::/32", 32, "2001:db8::/32" },
+
+ // A prefix with a leading ::. Note that the output is
+ // different from the input because inet_ntop() renders
+ // this prefix with an IPv4 suffix for legacy reasons.
+ { "::ffff:0:0/96", 96, "::ffff:0.0.0.0/96" },
+
+ // The same prefix but with the IPv4 legacy form as input.
+ { "::ffff:0.0.0.0/96", 96, "::ffff:0.0.0.0/96" },
+
+ // A prefix with an infix ::.
+ { "2001:db8::1/128", 128, "2001:db8::1/128" },
+
+ // A prefix with bits set which are outside the prefix;
+ // these should be silently ignored.
+ { "2001:db8:1:1:1:1:1:1/32", 32, "2001:db8::/32" },
+
+ // As above but with infix ::.
+ { "2001:db8::1/32", 32, "2001:db8::/32" },
+
+ // A prefix with only ::, commonly used to represent the
+ // entire address space.
+ { "::/0", 0, "::/0" },
+
+ // A single address with no ::.
+ { "2001:db8:1:1:1:1:1:1/128", 128, "2001:db8:1:1:1:1:1:1/128" },
+
+ // A prefix with no ::.
+ { "2001:db8:1:1:0:0:0:0/64", 64, "2001:db8:1:1::/64" },
+
+ // A prefix which isn't on a 16-bit boundary.
+ { "2001:db8:c000::/56", 56, "2001:db8:c000::/56" },
+
+ // A prefix which isn't on a nibble boundary.
+ { "2001:db8:c100::/57", 57, "2001:db8:c100::/57" },
+
+ // An address without a prefix length, which should be treated
+ // as a /128.
+ { "2001:db8::", 128, "2001:db8::/128" },
+ { "2001:db8::1", 128, "2001:db8::1/128" },
+
+ // Test vectors provided in PR bin/289198.
+ { "fe80::1/64", 64, "fe80::/64" },
+ { "fe80::f000:74ff:fe54:bed2/64",
+ 64, "fe80::/64" },
+ { "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/64",
+ 64, "ffff:ffff:ffff:ffff::/64" },
+ { "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", 128,
+ "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128" },
+ };
+
+ for (auto const &addr: test_addrs) {
+ /*
+ * Convert the input string to an in6_addr + bits, and make
+ * sure the result produces the number of bits we expected.
+ */
+
+ auto in6 = in6_addr{};
+ errno = 0;
+ auto bits = inet_net_pton(AF_INET6, addr.input.c_str(),
+ &in6, sizeof(in6));
+ ATF_REQUIRE(bits != -1);
+ ATF_REQUIRE_EQ(bits, addr.bits);
+
+ /*
+ * Convert the in6_addr back to a string
+ */
+
+ /*
+ * XXX: Should there be a constant for the size of the result
+ * buffer? For now, use ADDRSTRLEN + 4 ("/128") + 1 (NUL).
+ *
+ * Fill the buffer with 'Z', so we can check the result was
+ * properly terminated.
+ */
+ auto strbuf = std::vector<char>(INET6_ADDRSTRLEN + 4 + 1, 'Z');
+ auto ret = inet_net_ntop(AF_INET6, &in6, bits,
+ strbuf.data(), strbuf.size());
+ ATF_REQUIRE(ret != NULL);
+ ATF_REQUIRE_EQ(ret, strbuf.data());
+
+ /* Make sure the result was NUL-terminated and find the NUL */
+ ATF_REQUIRE(strbuf.size() >= 1);
+ auto end = std::ranges::find(strbuf, '\0');
+ ATF_REQUIRE(end != strbuf.end());
+
+ /*
+ * Check the result matches what we expect. Use a temporary
+ * string here instead of std::ranges::equal because this
+ * means ATF can print the mismatch.
+ */
+ auto str = std::string(std::ranges::begin(strbuf), end);
+ ATF_REQUIRE_EQ(str, addr.output);
+ }
+}
+
+ATF_TEST_CASE_WITHOUT_HEAD(inet_net_pton_invalid)
+ATF_TEST_CASE_BODY(inet_net_pton_invalid)
+{
+ auto ret = int{};
+ auto addr4 = in_addr{};
+ auto str4 = "10.0.0.0"s;
+ auto addr6 = in6_addr{};
+ auto str6 = "2001:db8::"s;
+
+ /* Passing an address which is too short should be an error */
+ ret = inet_net_pton(AF_INET6, str6.c_str(), &addr6, sizeof(addr6) - 1);
+ ATF_REQUIRE_EQ(ret, -1);
+
+ ret = inet_net_pton(AF_INET, str4.c_str(), &addr4, sizeof(addr4) - 1);
+ ATF_REQUIRE_EQ(ret, -1);
+
+ /* Test some generally invalid addresses. */
+ auto invalid4 = std::vector<std::string>{
+ // Prefix length too big
+ "10.0.0.0/33",
+ // Prefix length is negative
+ "10.0.0.0/-1",
+ // Prefix length is not a number
+ "10.0.0.0/foo",
+ // Input is not a network prefix
+ "this is not an IP address",
+ };
+
+ for (auto const &addr: invalid4) {
+ auto ret = inet_net_pton(AF_INET, addr.c_str(), &addr4,
+ sizeof(addr4));
+ ATF_REQUIRE_EQ(ret, -1);
+ }
+
+ auto invalid6 = std::vector<std::string>{
+ // Prefix length too big
+ "2001:db8::/129",
+ // Prefix length is negative
+ "2001:db8::/-1",
+ // Prefix length is not a number
+ "2001:db8::/foo",
+ // Input is not a network prefix
+ "this is not an IP address",
+ };
+
+ for (auto const &addr: invalid6) {
+ auto ret = inet_net_pton(AF_INET6, addr.c_str(), &addr6,
+ sizeof(addr6));
+ ATF_REQUIRE_EQ(ret, -1);
+ }
+}
+
+ATF_TEST_CASE_WITHOUT_HEAD(inet_net_ntop_invalid)
+ATF_TEST_CASE_BODY(inet_net_ntop_invalid)
+{
+ auto addr4 = in_addr{};
+ auto addr6 = in6_addr{};
+ auto strbuf = std::vector<char>(INET6_ADDRSTRLEN + 4 + 1);
+
+ /*
+ * Passing a buffer which is too small should not overrun the buffer.
+ * Test this by initialising the buffer to 'Z', and only providing
+ * part of it to the function.
+ */
+
+ std::ranges::fill(strbuf, 'Z');
+ auto ret = inet_net_ntop(AF_INET6, &addr6, 128, strbuf.data(), 1);
+ ATF_REQUIRE_EQ(ret, nullptr);
+ ATF_REQUIRE_EQ(strbuf[1], 'Z');
+
+ std::ranges::fill(strbuf, 'Z');
+ ret = inet_net_ntop(AF_INET, &addr4, 32, strbuf.data(), 1);
+ ATF_REQUIRE_EQ(ret, nullptr);
+ ATF_REQUIRE_EQ(strbuf[1], 'Z');
+
+ /* Check that invalid prefix lengths return an error */
+
+ ret = inet_net_ntop(AF_INET6, &addr6, 129, strbuf.data(), strbuf.size());
+ ATF_REQUIRE_EQ(ret, nullptr);
+ ret = inet_net_ntop(AF_INET6, &addr6, -1, strbuf.data(), strbuf.size());
+ ATF_REQUIRE_EQ(ret, nullptr);
+
+ ret = inet_net_ntop(AF_INET, &addr4, 33, strbuf.data(), strbuf.size());
+ ATF_REQUIRE_EQ(ret, nullptr);
+ ret = inet_net_ntop(AF_INET, &addr4, -1, strbuf.data(), strbuf.size());
+ ATF_REQUIRE_EQ(ret, nullptr);
+}
+
+ATF_INIT_TEST_CASES(tcs)
+{
+ ATF_ADD_TEST_CASE(tcs, inet_net_inet4);
+ ATF_ADD_TEST_CASE(tcs, inet_net_inet6);
+ ATF_ADD_TEST_CASE(tcs, inet_net_pton_invalid);
+ ATF_ADD_TEST_CASE(tcs, inet_net_ntop_invalid);
+}
diff --git a/lib/libpam/modules/modules.inc b/lib/libpam/modules/modules.inc
index f3ab65333f4f..1e9eb8970317 100644
--- a/lib/libpam/modules/modules.inc
+++ b/lib/libpam/modules/modules.inc
@@ -30,4 +30,4 @@ MODULES += pam_ssh
.endif
MODULES += pam_tacplus
MODULES += pam_unix
-MODULES += pam_xdg \ No newline at end of file
+MODULES += pam_xdg
diff --git a/lib/libpam/modules/pam_xdg/pam_xdg.8 b/lib/libpam/modules/pam_xdg/pam_xdg.8
index 9b335751a9fb..031010953e98 100644
--- a/lib/libpam/modules/pam_xdg/pam_xdg.8
+++ b/lib/libpam/modules/pam_xdg/pam_xdg.8
@@ -50,7 +50,6 @@ Use an alternate base directory
.Bl -tag -width indent
.It Ev XDG_RUNTIME_DIR
The location of the runtime files base directory created by this module.
-Note that the module does not set this environment variable.
.El
.Sh STANDARDS
The directory created by this module conforms to the
diff --git a/lib/libsys/kqueue.2 b/lib/libsys/kqueue.2
index 96c9b0222a37..a8ebabf02cf7 100644
--- a/lib/libsys/kqueue.2
+++ b/lib/libsys/kqueue.2
@@ -97,10 +97,37 @@ system call also creates a new kernel event queue, and additionally takes
a
.Fa flags
argument, which is a bitwise-inclusive OR of the following flags:
-.Bl -tag -width "KQUEUE_CLOEXEC"
+.Bl -tag -width "KQUEUE_CPONFORK"
.It Dv KQUEUE_CLOEXEC
The returned file descriptor is automatically closed on
.Xr execve 2
+.It Dv KQUEUE_CPONFORK
+When this flag is set, the created kqueue is copied into
+the child process on
+.Xr fork 2
+calls.
+The kqueue descriptor index of the new kqueue will be inherited by the child,
+that is, the numeric value of the descriptor will remain the same.
+.Pp
+Copying is deep, that is, each registered event in the original kqueue is
+copied (and not shared) into the new kqueue.
+This is contrary to how other descriptor types are handled upon
+.Xr fork 2 ,
+where the copied file descriptor references the same file object
+as the source descriptor (shallow copy).
+.Pp
+By default, in other words, when the flag is not set, kqueues from
+the parent are not copied on fork to the child process.
+The corresponding file descriptor indeces are unused in the child.
+.Pp
+Registered events that reference file descriptors which are not
+duplicated on fork, are not copied into the new kqueue.
+For instance, if the event references a file descriptor opened with the
+.Dv O_CLOEXEC
+flag set, it is not copied.
+Similarly, if event references a kqueue opened without the
+.Dv KQUEUE_CPONFORK
+flag, the event is not copied.
.El
.Pp
The
diff --git a/lib/libsys/socket.2 b/lib/libsys/socket.2
index b211611c6354..48b8f4e87489 100644
--- a/lib/libsys/socket.2
+++ b/lib/libsys/socket.2
@@ -25,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd May 17, 2025
+.Dd September 28, 2025
.Dt SOCKET 2
.Os
.Sh NAME
@@ -64,7 +64,7 @@ PF_NETGRAPH Netgraph sockets,
PF_NETLINK Netlink protocols,
PF_BLUETOOTH Bluetooth protocols,
PF_INET_SDP OFED socket direct protocol (IPv4),
-AF_HYPERV HyperV sockets
+PF_HYPERV HyperV sockets
.Ed
.Pp
Each protocol family is connected to an address family, which has the
@@ -89,32 +89,6 @@ SOCK_RAW Raw-protocol interface,
SOCK_SEQPACKET Sequenced packet stream
.Ed
.Pp
-A
-.Dv SOCK_STREAM
-type provides sequenced, reliable,
-two-way connection based byte streams.
-An out-of-band data transmission mechanism may be supported.
-A
-.Dv SOCK_DGRAM
-socket supports
-datagrams (connectionless, unreliable messages of
-a fixed (typically small) maximum length).
-A
-.Dv SOCK_SEQPACKET
-socket may provide a sequenced, reliable,
-two-way connection-based data transmission path for datagrams
-of fixed maximum length; a consumer may be required to read
-an entire packet with each read system call.
-This facility may have protocol-specific properties.
-.Dv SOCK_RAW
-sockets provide access to internal network protocols and interfaces.
-The
-.Dv SOCK_RAW
-type is available only to the super-user and is described in
-.Xr ip 4
-and
-.Xr ip6 4 .
-.Pp
Additionally, the following flags are allowed in the
.Fa type
argument:
@@ -140,32 +114,23 @@ particular to the
in which communication
is to take place; see
.Xr protocols 5 .
-.Pp
The
.Fa protocol
argument may be set to zero (0) to request the default
implementation of a socket type for the protocol, if any.
-.Pp
-Sockets of type
+.Sh STREAM SOCKET TYPE
+The
+.Dv SOCK_STREAM
+socket type provides reliable, sequenced, full-duplex octet streams between
+the socket and a peer to which the socket is connected.
+A socket of type
.Dv SOCK_STREAM
-are full-duplex byte streams, similar
-to pipes.
-A stream socket must be in a
+needs to be in a
.Em connected
-state before any data may be sent or received
-on it.
+state before any data can be sent or received.
A connection to another socket is created with a
.Xr connect 2
system call.
-Once connected, data may be transferred using
-.Xr read 2
-and
-.Xr write 2
-calls or some variant of the
-.Xr send 2
-and
-.Xr recv 2
-functions.
(Some protocol families, such as the Internet family,
support the notion of an
.Dq implied connect ,
@@ -173,62 +138,210 @@ which permits data to be sent piggybacked onto a connect operation by
using the
.Xr sendto 2
system call.)
-When a session has been completed a
-.Xr close 2
-may be performed.
-Out-of-band data may also be transmitted as described in
+Once connected, data may be sent using
+.Xr send 2 ,
+.Xr sendto 2 ,
+.Xr sendmsg 2
+and
+.Xr write 2
+system calls.
+Data may be received using
+.Xr recv 2 ,
+.Xr recvfrom 2 ,
+.Xr recvmsg 2 ,
+and
+.Xr read 2
+system calls.
+Record boundaries are not maintained; data sent on a stream socket using output
+operations of one size can be received using input operations of smaller or
+larger sizes without loss of data.
+Data may be buffered; successful return from an output function does not imply
+that the data has been delivered to the peer or even transmitted from the local
+system.
+For certain protocols out-of-band data may also be transmitted as described in
.Xr send 2
and received as described in
.Xr recv 2 .
.Pp
-The communications protocols used to implement a
-.Dv SOCK_STREAM
-ensure that data
-is not lost or duplicated.
-If a piece of data for which the
-peer protocol has buffer space cannot be successfully transmitted
-within a reasonable length of time, then
-the connection is considered broken and calls
-will indicate an error with
--1 returns and with
-.Er ETIMEDOUT
-as the specific code
-in the global variable
-.Va errno .
-The protocols optionally keep sockets
-.Dq warm
-by forcing transmissions
-roughly every minute in the absence of other activity.
-An error is then indicated if no response can be
-elicited on an otherwise
-idle connection for an extended period (e.g.\& 5 minutes).
-By default, a
+If data cannot be successfully transmitted within a given time then the
+connection is considered broken, and subsequent operations shall fail with
+a protocol specific error code.
+A
.Dv SIGPIPE
-signal is raised if a process sends
-on a broken stream, but this behavior may be inhibited via
+signal is raised if a thread attempts to send data on a broken stream (one that
+is no longer connected).
+The signal can be suppressed by the
+.Dv MSG_NOSIGNAL
+flag with distinct
+.Xr send 2 ,
+.Xr sendto 2 ,
+and
+.Xr sendmsg 2
+system calls or by the
+.Dv SO_NOSIGPIPE
+socket option set on the socket with
.Xr setsockopt 2 .
.Pp
-.Dv SOCK_SEQPACKET
-sockets employ the same system calls
-as
+The
.Dv SOCK_STREAM
-sockets.
-The only difference
-is that
-.Xr read 2
-calls will return only the amount of data requested,
-and any remaining in the arriving packet will be discarded.
+socket is supported by the following protocol families:
+.Dv PF_INET ,
+.Dv PF_INET6 ,
+.Dv PF_UNIX ,
+.Dv PF_BLUETOOTH ,
+.Dv PF_HYPERV ,
+and
+.Dv PF_INET_SDP .
+Out-of-band data transmission mechanism is supported for stream sockets of
+.Dv PF_INET
+and
+.Dv PF_INET6
+protocol families.
+.Sh DATAGRAM SOCKET TYPE
+The
+.Dv SOCK_DGRAM
+socket type supports connectionless data transfer which is not necessarily
+acknowledged or reliable.
+Datagrams can be sent to the address specified (possibly multicast or
+broadcast) in each output operation, and incoming datagrams can be received
+from multiple sources.
+The source address of each datagram is available when receiving the datagram
+with
+.Xr recvfrom 2
+or
+.Xr recvmsg 2 .
+An application can also pre-specify a peer address with
+.Xr sendto 2
+or
+.Xr sendmsg 2 ,
+in which case calls to output functions that do not specify a peer address
+shall send to the pre-specified peer.
+If a peer has been specified, only datagrams from that peer shall be received.
+A datagram shall be sent in a single output operation, and needs to be received
+in a single input operation.
+The maximum size of a datagram is protocol-specific.
+Output datagrams may be buffered within the system; thus, a successful return
+from an output function does not guarantee that a datagram is actually sent or
+received.
.Pp
+The
.Dv SOCK_DGRAM
+socket is supported by the following protocol families:
+.Dv PF_INET ,
+.Dv PF_INET6 ,
+.Dv PF_UNIX ,
+.Dv PF_NETGRAPH ,
and
-.Dv SOCK_RAW
-sockets allow sending of datagrams to correspondents
-named in
+.Dv PF_NETLINK .
+.Sh SEQUENCED PACKET SOCKET TYPE
+The
+.Dv SOCK_SEQPACKET
+socket type is similar to the
+.Dv SOCK_STREAM
+type, and is also connection-oriented.
+The only difference between these types is that record boundaries are
+maintained using the
+.Dv SOCK_SEQPACKET
+type.
+A record can be sent using one or more output operations and received using one
+or more input operations, but a single operation never transfers parts of more
+than one record.
+Record boundaries are set by the sender with the
+.Dv MSG_EOR
+flag of
.Xr send 2
-calls.
-Datagrams are generally received with
+or
+.Xr sendmsg 2
+functions.
+There is no possibility to set a record boundary with
+.Xr write 2 .
+Record boundaries are visible to the receiver via the
+.Dv MSG_EOR
+flag in the received message flags returned by the
+.Xr recvmsg 2
+function.
+It is protocol-specific whether a maximum record size is imposed.
+.Pp
+The
+.Dv SOCK_SEQPACKET
+socket is supported by the following protocol families:
+.Dv PF_INET ,
+.Dv PF_INET6 ,
+and
+.Dv PF_UNIX .
+.Pp
+.Sh RAW SOCKET TYPE
+The
+.Dv SOCK_RAW
+socket type provides access to internal network protocols and interfaces.
+It is a datagram socket in its nature, thus has the same semantics of
+read and write operations.
+The
+.Dv SOCK_RAW
+type is available only to the super-user and is described in
+.Xr ip 4
+and
+.Xr ip6 4 .
+.Sh NON-BLOCKING MODE
+A socket can be created in
+.Em non-blocking mode
+with the help of
+.Dv SOCK_NONBLOCK
+flag.
+Alternatively, the non-blocking mode on a socket can be turned on and off with
+the help of the
+.Dv O_NONBLOCK
+flag of the
+.Xr fcntl 2
+system call.
+.Pp
+When a non-blocking socket has not enough data in its receive buffer to fulfill
+the application supplied buffer, then data receiving system calls like
+.Xr recv 2 ,
.Xr recvfrom 2 ,
-which returns the next datagram with its return address.
+.Xr recvmsg 2
+and
+.Xr read 2
+will not block waiting for the data but immediately return.
+Return value will indicate amount of bytes read into the supplied buffer.
+The
+.Va errno
+will be set to
+.Dv EAGAIN
+.Po
+has same value as
+.Dv EWOULDBLOCK
+.Pc .
+.Pp
+If application tries to send more data on a non-blocking socket than the socket
+send buffer can accomodate with
+.Xr send 2 ,
+.Xr sendto 2 ,
+.Xr sendmsg 2
+or
+.Xr write 2
+system calls partial data will be sent.
+Return value will indicate amount of bytes sent.
+The
+.Va errno
+will be set to
+.Dv EAGAIN .
+Note that sockets of
+.Dv SOCK_DGRAM
+type are unreliable, thus for these sockets sending operations will never fail
+with
+.Dv EAGAIN
+in non-blocking mode neither will block in blocking mode.
+.Sh OTHER OPERATIONS ON SOCKETS
+Since socket descriptors are file descriptors, many generic file operations
+performed by
+.Xr fcntl 2 ,
+apply.
+Socket descriptors can be used with all event engines, such as
+.Xr kevent 2 ,
+.Xr select 2
+and
+.Xr poll 2 .
.Pp
An
.Xr fcntl 2
@@ -250,6 +363,12 @@ The
and
.Xr getsockopt 2
system calls are used to set and get options, respectively.
+.Pp
+Connection associated with a socket can be terminated by
+.Xr close 2
+system call.
+One direction of communication can be disabled with
+.Xr shutdown 2 .
.Sh RETURN VALUES
A -1 is returned if an error occurs, otherwise the return
value is a descriptor referencing the socket.
@@ -282,16 +401,23 @@ The socket type is not supported by the protocol.
.Sh SEE ALSO
.Xr accept 2 ,
.Xr bind 2 ,
+.Xr close 2 ,
.Xr connect 2 ,
+.Xr fcntl 2 ,
.Xr getpeername 2 ,
.Xr getsockname 2 ,
.Xr getsockopt 2 ,
.Xr ioctl 2 ,
+.Xr kevent 2 ,
.Xr listen 2 ,
+.Xr poll 2 ,
.Xr read 2 ,
.Xr recv 2 ,
.Xr select 2 ,
.Xr send 2 ,
+.Xr sendmsg 2 ,
+.Xr sendto 2 ,
+.Xr signal 3 ,
.Xr shutdown 2 ,
.Xr socketpair 2 ,
.Xr write 2 ,
diff --git a/lib/libunbound/Makefile b/lib/libunbound/Makefile
index e2cd25ea8b34..1a31e50e6416 100644
--- a/lib/libunbound/Makefile
+++ b/lib/libunbound/Makefile
@@ -1,4 +1,3 @@
-PACKAGE=lib${LIB}
# Vendor sources and generated files
LDNSDIR= ${SRCTOP}/contrib/ldns
UNBOUNDDIR= ${SRCTOP}/contrib/unbound
@@ -6,9 +5,10 @@ UNBOUNDDIR= ${SRCTOP}/contrib/unbound
# Hold my beer and watch this
.PATH: ${UNBOUNDDIR} ${UNBOUNDDIR}/cachedb ${UNBOUNDDIR}/dns64 ${UNBOUNDDIR}/iterator ${UNBOUNDDIR}/sldns ${UNBOUNDDIR}/libunbound ${UNBOUNDDIR}/services ${UNBOUNDDIR}/services/cache ${UNBOUNDDIR}/util ${UNBOUNDDIR}/util/data ${UNBOUNDDIR}/respip ${UNBOUNDDIR}/util/storage ${UNBOUNDDIR}/validator
-LIB= unbound
+PACKAGE= local-unbound
+
+LIB= unbound
PRIVATELIB=
-PACKAGE= unbound
CFLAGS+= -I${UNBOUNDDIR} -I${LDNSDIR} -I${.OBJDIR} -I${.CURDIR}
CFLAGS+= -DOPENSSL_API_COMPAT=0x10100000L
diff --git a/lib/ncurses/Makefile.inc b/lib/ncurses/Makefile.inc
index eea49908474c..e14867696834 100644
--- a/lib/ncurses/Makefile.inc
+++ b/lib/ncurses/Makefile.inc
@@ -1,6 +1,7 @@
# This is to include src/lib/Makefile.inc
PACKAGE?= ncurses
+LIB_PACKAGE=
WARNS?= 3
.include "../Makefile.inc"
diff --git a/libexec/rc/rc.conf b/libexec/rc/rc.conf
index b7cce777c4f6..ada9094360f6 100644
--- a/libexec/rc/rc.conf
+++ b/libexec/rc/rc.conf
@@ -24,7 +24,7 @@
: ${_localbase:="$(/sbin/sysctl -n user.localbase 2> /dev/null)"}
: ${_localbase:="/usr/local"}
-# rc_debug can't be set here without interferring with rc.subr's setting it
+# rc_debug can't be set here without interfering with rc.subr's setting it
# when the kenv variable rc.debug is set.
#rc_debug="NO" # Set to YES to enable debugging output from rc.d
rc_info="NO" # Enables display of informational messages at boot.
@@ -707,6 +707,7 @@ osrelease_enable="YES" # Update /var/run/os-release on boot (or NO).
osrelease_file="/var/run/os-release" # File to update for os-release.
osrelease_perms="444" # Default permission for os-release file.
dmesg_enable="YES" # Save dmesg(8) to /var/run/dmesg.boot
+dmesg_umask="022" # Default umask for /var/run/dmesg.boot file.
watchdogd_enable="NO" # Start the software watchdog daemon
watchdogd_flags="" # Flags to watchdogd (if enabled)
watchdogd_timeout="" # watchdogd timeout, overrides -t in watchdogd_flags
diff --git a/libexec/rc/rc.d/Makefile b/libexec/rc/rc.d/Makefile
index 093da31ed787..3b7f45e8f101 100644
--- a/libexec/rc/rc.d/Makefile
+++ b/libexec/rc/rc.d/Makefile
@@ -294,7 +294,7 @@ SSHPACKAGE= ssh
SSH= sshd
CONFGROUPS.${MK_UNBOUND}+= UNBOUND
-UNBOUNDPACKAGE= unbound
+UNBOUNDPACKAGE= local-unbound
UNBOUND= local_unbound
CONFGROUPS.${MK_VI}+= VI
diff --git a/libexec/rc/rc.d/dmesg b/libexec/rc/rc.d/dmesg
index 51e35d5d4e80..736449f3b159 100755
--- a/libexec/rc/rc.d/dmesg
+++ b/libexec/rc/rc.d/dmesg
@@ -19,7 +19,7 @@ stop_cmd=":"
do_dmesg()
{
rm -f ${dmesg_file}
- ( umask 022 ; /sbin/dmesg $rc_flags > ${dmesg_file} )
+ ( umask "${dmesg_umask}" ; /sbin/dmesg $rc_flags > ${dmesg_file} )
}
load_rc_config $name
diff --git a/release/Makefile.oracle b/release/Makefile.oracle
index 3573f29b96c1..6d792cc9fd30 100644
--- a/release/Makefile.oracle
+++ b/release/Makefile.oracle
@@ -24,21 +24,28 @@
# Syncing to all sites should take 2-3 hours after this final step.
ORACLE_BASENAME= ${OSRELEASE}-${BUILDDATE}${GITREV:C/^(.+)/-\1/}
-ORACLE_PORTS_LIST= ftp/curl emulators/qemu@tools
CLEANFILES+= cw-oracle-portinstall
cw-oracle-portinstall: .PHONY
-.if !exists(/usr/local/bin/curl) || !exists(/usr/local/bin/qemu-img)
-. if !exists(${PORTSDIR}/Makefile)
-. if !exists(/usr/local/sbin/pkg-static)
+.if (!exists(/usr/local/bin/curl) || !exists(/usr/local/bin/qemu-img)) && !exists(${PORTSDIR}/Makefile)
+. if !exists(/usr/local/sbin/pkg-static)
env ASSUME_ALWAYS_YES=yes pkg bootstrap -yf
-. endif
- env ASSUME_ALWAYS_YES=yes pkg install -y ${ORACLE_PORTS_LIST}
+. endif
+.endif
+.if !exists(/usr/local/bin/curl)
+. if !exists(${PORTSDIR}/Makefile)
+ env ASSUME_ALWAYS_YES=yes pkg install -y ftp/curl
. else
env UNAME_r=${UNAME_r} make -C \
${PORTSDIR}/ftp/curl \
BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \
all install clean
+. endif
+.endif
+.if !exists(/usr/local/bin/qemu-img)
+. if !exists(${PORTSDIR}/Makefile)
+ env ASSUME_ALWAYS_YES=yes pkg install -y emulators/qemu@tools
+. else
env UNAME_r=${UNAME_r} FLAVOR=tools make -C \
${PORTSDIR}/emulators/qemu \
BATCH=1 WRKDIRPREFIX=/tmp/ports DISTDIR=/tmp/distfiles \
diff --git a/release/packages/ucl/unbound-all.ucl b/release/packages/ucl/local-unbound-all.ucl
index e66f00be16a7..e66f00be16a7 100644
--- a/release/packages/ucl/unbound-all.ucl
+++ b/release/packages/ucl/local-unbound-all.ucl
diff --git a/release/packages/ucl/local-unbound.ucl b/release/packages/ucl/local-unbound.ucl
new file mode 100644
index 000000000000..0f1c77a0d0ee
--- /dev/null
+++ b/release/packages/ucl/local-unbound.ucl
@@ -0,0 +1,27 @@
+/*
+ * SPDX-License-Identifier: ISC
+ *
+ * Copyright (c) 2025 Lexi Winter <ivy@FreeBSD.org>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+messages = [
+ {
+ type: upgrade
+ message: <<EOM
+After upgrading local-unbound, the configuration file should be regenerated
+by running "service local_unbound setup" before restarting the service.
+EOM
+ }
+]
diff --git a/release/scripts/pkg-stage.sh b/release/scripts/pkg-stage.sh
index f9216b52b088..6d460a83e1da 100755
--- a/release/scripts/pkg-stage.sh
+++ b/release/scripts/pkg-stage.sh
@@ -110,7 +110,7 @@ ${PKGCMD} repo ${PKG_REPODIR}
if [ $NO_ROOT ]; then
mtree -c -p $ROOTDIR | mtree -C -k type,mode,link,size | \
- grep '^./packages/' >> $ROOTDIR/METALOG
+ grep '^./packages[/ ]' >> $ROOTDIR/METALOG
fi
# Always exit '0', even if pkg(8) complains about conflicts.
diff --git a/release/tools/vmimage.subr b/release/tools/vmimage.subr
index 15c4dd53e70b..99e1936296e1 100644
--- a/release/tools/vmimage.subr
+++ b/release/tools/vmimage.subr
@@ -213,16 +213,6 @@ vm_extra_install_packages() {
install -y -r ${PKG_REPO_NAME} $pkg
done
metalog_add_data ./var/db/pkg/local.sqlite
-
- # Add some database files which are created by pkg triggers;
- # at some point in the future the tools which create these
- # files should probably learn how to record them in METALOG
- # (which would simplify no-root installworld as well).
- metalog_add_data ./etc/login.conf.db
- metalog_add_data ./etc/passwd
- metalog_add_data ./etc/pwd.db
- metalog_add_data ./etc/spwd.db 600
- metalog_add_data ./var/db/services.db
else
if [ -n "${WITHOUT_QEMU}" ]; then
return 0
@@ -290,6 +280,43 @@ buildfs() {
cat ${DESTDIR}/METALOG.pkg >> ${DESTDIR}/METALOG
fi
+ if [ -n "${NO_ROOT}" ]; then
+ # Check for any directories in the staging tree which weren't
+ # recorded in METALOG, and record them now. This is a quick hack
+ # to avoid creating unusable VM images and should go away once
+ # the bugs which produce such unlogged directories are gone.
+ grep type=dir ${DESTDIR}/METALOG |
+ cut -f 1 -d ' ' |
+ sort -u > ${DESTDIR}/METALOG.dirs
+ ( cd ${DESTDIR} && find . -type d ) |
+ sort |
+ comm -23 - ${DESTDIR}/METALOG.dirs > ${DESTDIR}/METALOG.missingdirs
+ if [ -s ${DESTDIR}/METALOG.missingdirs ]; then
+ echo "WARNING: Directories exist but were not in METALOG"
+ cat ${DESTDIR}/METALOG.missingdirs
+ fi
+ while read DIR; do
+ metalog_add_data ${DIR}
+ done < ${DESTDIR}/METALOG.missingdirs
+
+ if [ -z "${NOPKGBASE}" ]; then
+ # Add some database files which are created by pkg triggers;
+ # at some point in the future the tools which create these
+ # files should probably learn how to record them in METALOG
+ # (which would simplify no-root installworld as well).
+ metalog_add_data ./etc/login.conf.db
+ metalog_add_data ./etc/passwd
+ metalog_add_data ./etc/pwd.db
+ metalog_add_data ./etc/spwd.db 600
+ metalog_add_data ./var/db/services.db
+ fi
+
+ # Sort METALOG file; makefs produces directories with 000 permissions
+ # if their contents are seen before the directories themselves.
+ env -i LC_COLLATE=C sort -u ${DESTDIR}/METALOG > ${DESTDIR}/METALOG.sorted
+ mv ${DESTDIR}/METALOG.sorted ${DESTDIR}/METALOG
+ fi
+
case "${VMFS}" in
ufs)
cd ${DESTDIR} && ${MAKEFS} ${MAKEFSARGS} -o label=rootfs -o version=2 -o softupdates=1 \
diff --git a/sbin/devd/snd.conf b/sbin/devd/snd.conf
index cf9cd9e94191..a45f427f6c79 100644
--- a/sbin/devd/snd.conf
+++ b/sbin/devd/snd.conf
@@ -5,6 +5,9 @@ notify 0 {
match "type" "IN";
match "cdev" "dsp[0-9]+";
+ # Other audio servers or device switching commands can be used here
+ # instead of virtual_oss(8).
+ #
# FIXME: We are hardcoding /dev/vdsp.ctl here, simply because it is a
# common virtual_oss control device name. Until we find a proper way to
# define control devices here, /dev/vdsp.ctl can be changed to the
@@ -18,6 +21,6 @@ notify 0 {
match "type" "OUT";
match "cdev" "dsp[0-9]+";
- # FIXME: See comment above.
+ # See comment above.
action "/usr/sbin/virtual_oss_cmd /dev/vdsp.ctl -P /dev/$cdev";
};
diff --git a/sbin/fsck_ffs/setup.c b/sbin/fsck_ffs/setup.c
index f10f02d159c3..41b4a5336350 100644
--- a/sbin/fsck_ffs/setup.c
+++ b/sbin/fsck_ffs/setup.c
@@ -58,7 +58,6 @@ char *copybuf; /* buffer to copy snapshot blocks */
static int sbhashfailed;
#define POWEROF2(num) (((num) & ((num) - 1)) == 0)
-static int calcsb(char *dev, int devfd, struct fs *fs);
static void saverecovery(int readfd, int writefd);
static int chkrecovery(int devfd);
static int getlbnblkno(struct inodesc *);
@@ -501,52 +500,6 @@ sblock_init(void)
}
/*
- * Calculate a prototype superblock based on information in the boot area.
- * When done the cgsblock macro can be calculated and the fs_ncg field
- * can be used. Do NOT attempt to use other macros without verifying that
- * their needed information is available!
- */
-static int
-calcsb(char *dev, int devfd, struct fs *fs)
-{
- struct fsrecovery *fsr;
- char *fsrbuf;
- u_int secsize;
-
- /*
- * We need fragments-per-group and the partition-size.
- *
- * Newfs stores these details at the end of the boot block area
- * at the start of the filesystem partition. If they have been
- * overwritten by a boot block, we fail. But usually they are
- * there and we can use them.
- */
- if (ioctl(devfd, DIOCGSECTORSIZE, &secsize) == -1)
- return (0);
- fsrbuf = Balloc(secsize);
- if (fsrbuf == NULL)
- errx(EEXIT, "calcsb: cannot allocate recovery buffer");
- if (blread(devfd, fsrbuf,
- (SBLOCK_UFS2 - secsize) / dev_bsize, secsize) != 0) {
- free(fsrbuf);
- return (0);
- }
- fsr = (struct fsrecovery *)&fsrbuf[secsize - sizeof *fsr];
- if (fsr->fsr_magic != FS_UFS2_MAGIC) {
- free(fsrbuf);
- return (0);
- }
- memset(fs, 0, sizeof(struct fs));
- fs->fs_fpg = fsr->fsr_fpg;
- fs->fs_fsbtodb = fsr->fsr_fsbtodb;
- fs->fs_sblkno = fsr->fsr_sblkno;
- fs->fs_magic = fsr->fsr_magic;
- fs->fs_ncg = fsr->fsr_ncg;
- free(fsrbuf);
- return (1);
-}
-
-/*
* Check to see if recovery information exists.
* Return 1 if it exists or cannot be created.
* Return 0 if it does not exist and can be created.
diff --git a/sbin/geom/Makefile b/sbin/geom/Makefile
index 078503d3ae67..61561ef1ff1b 100644
--- a/sbin/geom/Makefile
+++ b/sbin/geom/Makefile
@@ -9,7 +9,7 @@ MAN= geom.8
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/core
CFLAGS+= -DGEOM_CLASS_DIR=\"${GEOM_CLASS_DIR}\"
-LIBADD= geom util
+LIBADD= geom util xo
.if defined(RESCUE)
.PATH: ${SRCTOP}/lib/geom/part \
diff --git a/sbin/geom/core/geom.c b/sbin/geom/core/geom.c
index b78021194ddd..2de696ce6a43 100644
--- a/sbin/geom/core/geom.c
+++ b/sbin/geom/core/geom.c
@@ -49,9 +49,12 @@
#include <assert.h>
#include <libgeom.h>
#include <geom.h>
+#include <libxo/xo.h>
#include "misc/subr.h"
+#define GEOM_XO_VERSION "1"
+
#ifdef STATIC_GEOM_CLASSES
extern uint32_t gpart_version;
extern struct g_command gpart_class_commands[];
@@ -513,6 +516,7 @@ run_command(int argc, char *argv[])
gctl_free(req);
if (verbose)
printf("Done.\n");
+ xo_finish();
exit(EXIT_SUCCESS);
}
@@ -810,6 +814,10 @@ main(int argc, char *argv[])
provider_name = NULL;
tflag = false;
+ argc = xo_parse_args(argc, argv);
+ if (argc < 0)
+ return (argc);
+
if (strcmp(getprogname(), "geom") == 0) {
while ((ch = getopt(argc, argv, "hp:t")) != -1) {
switch (ch) {
@@ -831,6 +839,7 @@ main(int argc, char *argv[])
* Don't adjust argc and argv, it would break get_class().
*/
}
+ xo_set_version(GEOM_XO_VERSION);
if (tflag && provider_name != NULL) {
errx(EXIT_FAILURE,
@@ -839,6 +848,7 @@ main(int argc, char *argv[])
if (provider_name != NULL) {
list_one_geom_by_provider(provider_name);
+ xo_finish();
return (0);
}
@@ -882,29 +892,33 @@ find_geom(struct gclass *classp, const char *name)
}
static void
-list_one_provider(struct gprovider *pp, const char *prefix)
+list_one_provider(struct gprovider *pp, const char *padding)
{
struct gconfig *conf;
char buf[5];
- printf("Name: %s\n", pp->lg_name);
+ xo_emit("{Lcw:Name}{:Name}\n", pp->lg_name);
humanize_number(buf, sizeof(buf), (int64_t)pp->lg_mediasize, "",
HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL);
- printf("%sMediasize: %jd (%s)\n", prefix, (intmax_t)pp->lg_mediasize,
- buf);
- printf("%sSectorsize: %u\n", prefix, pp->lg_sectorsize);
+ xo_emit("{P:/%s}{Lcw:Mediasize}{:Mediasize/%jd} ({N:/%s})\n",
+ padding, (intmax_t)pp->lg_mediasize, buf);
+ xo_emit("{P:/%s}{Lcw:Sectorsize}{:Sectorsize/%u} \n",
+ padding, pp->lg_sectorsize);
if (pp->lg_stripesize > 0 || pp->lg_stripeoffset > 0) {
- printf("%sStripesize: %ju\n", prefix, pp->lg_stripesize);
- printf("%sStripeoffset: %ju\n", prefix, pp->lg_stripeoffset);
+ xo_emit("{P:/%s}{Lcw:Stripesize}{Stripesize/%ju}\n",
+ padding, pp->lg_stripesize);
+ xo_emit("{P:/%s}{Lcw:Stripeoffset}{Stripeoffset/%ju}\n",
+ padding, pp->lg_stripeoffset);
}
- printf("%sMode: %s\n", prefix, pp->lg_mode);
+ xo_emit("{P:/%s}{Lcw:Mode}{Mode}\n", padding, pp->lg_mode);
LIST_FOREACH(conf, &pp->lg_config, lg_config) {
- printf("%s%s: %s\n", prefix, conf->lg_name, conf->lg_val);
+ xo_emit("{P:/%s}{Lcwa:}{a:}\n", padding, conf->lg_name,
+ conf->lg_name, conf->lg_val);
}
}
static void
-list_one_consumer(struct gconsumer *cp, const char *prefix)
+list_one_consumer(struct gconsumer *cp, const char *padding)
{
struct gprovider *pp;
struct gconfig *conf;
@@ -915,20 +929,24 @@ list_one_consumer(struct gconsumer *cp, const char *prefix)
else {
char buf[5];
- printf("Name: %s\n", pp->lg_name);
+ xo_emit("{Lcw:Name}{:Name}\n", pp->lg_name);
humanize_number(buf, sizeof(buf), (int64_t)pp->lg_mediasize, "",
HN_AUTOSCALE, HN_B | HN_NOSPACE | HN_DECIMAL);
- printf("%sMediasize: %jd (%s)\n", prefix,
- (intmax_t)pp->lg_mediasize, buf);
- printf("%sSectorsize: %u\n", prefix, pp->lg_sectorsize);
+ xo_emit("{P:/%s}{Lcw:Mediasize}{:Mediasize/%jd} ({N:/%s})\n",
+ padding, (intmax_t)pp->lg_mediasize, buf);
+ xo_emit("{P:/%s}{Lcw:Sectorsize}{:Sectorsize/%u}\n",
+ padding, pp->lg_sectorsize);
if (pp->lg_stripesize > 0 || pp->lg_stripeoffset > 0) {
- printf("%sStripesize: %ju\n", prefix, pp->lg_stripesize);
- printf("%sStripeoffset: %ju\n", prefix, pp->lg_stripeoffset);
+ xo_emit("{P:/%s}{Lcw:Stripesize}{:Stripesize/%ju}\n",
+ padding, pp->lg_stripesize);
+ xo_emit("{P:/%s}{Lcw:Stripeoffset}{:Stripesize/%ju}\n",
+ padding, pp->lg_stripeoffset);
}
- printf("%sMode: %s\n", prefix, cp->lg_mode);
+ xo_emit("{P:/%s}{Lcw:Mode}{:Mode}\n", padding, pp->lg_mode);
}
LIST_FOREACH(conf, &cp->lg_config, lg_config) {
- printf("%s%s: %s\n", prefix, conf->lg_name, conf->lg_val);
+ xo_emit("{P:/%s}{Lcwa:}{a:}\n", padding, conf->lg_name,
+ conf->lg_name, conf->lg_val);
}
}
@@ -940,27 +958,36 @@ list_one_geom(struct ggeom *gp)
struct gconfig *conf;
unsigned n;
- printf("Geom name: %s\n", gp->lg_name);
+ xo_emit("{Lcw:Geom name}{:Name}\n", gp->lg_name);
LIST_FOREACH(conf, &gp->lg_config, lg_config) {
- printf("%s: %s\n", conf->lg_name, conf->lg_val);
+ xo_emit("{Lcwa:}{a:}\n", conf->lg_name, conf->lg_name,
+ conf->lg_val);
}
if (!LIST_EMPTY(&gp->lg_provider)) {
- printf("Providers:\n");
+ xo_open_list("Providers");
+ xo_emit("{Tc:Providers}\n");
n = 1;
LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
- printf("%u. ", n++);
+ xo_emit("{T:/%u}. ", n++);
+ xo_open_instance("provider");
list_one_provider(pp, " ");
+ xo_close_instance("provider");
}
+ xo_close_list("Providers");
}
if (!LIST_EMPTY(&gp->lg_consumer)) {
- printf("Consumers:\n");
+ xo_open_list("Consumers");
+ xo_emit("{Tc:Consumers}\n");
n = 1;
LIST_FOREACH(cp, &gp->lg_consumer, lg_consumer) {
- printf("%u. ", n++);
+ xo_emit("{T:/%u}. ", n++);
+ xo_open_instance("consumer");
list_one_consumer(cp, " ");
+ xo_close_instance("consumer");
}
+ xo_close_list("Consumers");
}
- printf("\n");
+ xo_emit("\n");
}
static void
@@ -978,8 +1005,10 @@ list_one_geom_by_provider(const char *provider_name)
if (gp == NULL)
errx(EXIT_FAILURE, "Cannot find provider '%s'.", provider_name);
- printf("Geom class: %s\n", gp->lg_class->lg_name);
+ xo_open_container("Geom");
+ xo_emit("{Lwc:Geom class}{:Class}\n", gp->lg_class->lg_name);
list_one_geom(gp);
+ xo_close_container("Geom");
}
static void
@@ -1038,14 +1067,20 @@ std_list(struct gctl_req *req, unsigned flags __unused)
"an instance named '%s'.",
gclass_name, name);
}
+ xo_open_container("Geom");
list_one_geom(gp);
+ xo_close_container("Geom");
}
} else {
+ xo_open_list("Geoms");
LIST_FOREACH(gp, &classp->lg_geom, lg_geom) {
if (LIST_EMPTY(&gp->lg_provider) && !all)
continue;
+ xo_open_instance("geom");
list_one_geom(gp);
+ xo_close_instance("geom");
}
+ xo_close_list("Geoms");
}
geom_deletetree(&mesh);
}
@@ -1115,34 +1150,24 @@ status_update_len_prs(struct ggeom *gp, int *name_len, int *status_len)
}
static char *
-status_one_consumer(struct gconsumer *cp)
+status_one_consumer(struct gconsumer *cp, const char *value)
{
- static char buf[256];
struct gprovider *pp;
struct gconfig *conf;
- const char *state, *syncr;
+ char *ret;
pp = cp->lg_provider;
if (pp == NULL)
return (NULL);
- state = NULL;
- syncr = NULL;
+ ret = NULL;
LIST_FOREACH(conf, &cp->lg_config, lg_config) {
- if (strcasecmp(conf->lg_name, "state") == 0)
- state = conf->lg_val;
- if (strcasecmp(conf->lg_name, "synchronized") == 0)
- syncr = conf->lg_val;
- }
- if (state == NULL && syncr == NULL)
- snprintf(buf, sizeof(buf), "%s", pp->lg_name);
- else if (state != NULL && syncr != NULL) {
- snprintf(buf, sizeof(buf), "%s (%s, %s)", pp->lg_name,
- state, syncr);
- } else {
- snprintf(buf, sizeof(buf), "%s (%s)", pp->lg_name,
- state ? state : syncr);
+ if (strcasecmp(conf->lg_name, value) == 0)
+ ret = conf->lg_val;
}
- return (buf);
+
+ if (ret == NULL)
+ return (NULL);
+ return (ret);
}
static void
@@ -1150,8 +1175,8 @@ status_one_geom(struct ggeom *gp, int script, int name_len, int status_len)
{
struct gconsumer *cp;
struct gconfig *conf;
- const char *name, *status, *component;
- int gotone;
+ const char *name, *status, *cstate, *csyncr;
+ int gotone, len;
name = gp->lg_name;
status = "N/A";
@@ -1161,21 +1186,53 @@ status_one_geom(struct ggeom *gp, int script, int name_len, int status_len)
break;
}
}
- gotone = 0;
+ gotone = len = 0;
+ xo_open_instance("status");
LIST_FOREACH(cp, &gp->lg_consumer, lg_consumer) {
- component = status_one_consumer(cp);
- if (component == NULL)
+ if (cp->lg_provider == NULL)
continue;
+
+ cstate = status_one_consumer(cp, "state");
+ csyncr = status_one_consumer(cp, "synchronized");
+ if (!gotone || script) {
+ if (!gotone) {
+ xo_emit("{:name/%*s} {:status/%*s} ",
+ name_len, name, status_len, status);
+ } else {
+ xo_emit("{d:name/%*s} {d:status/%*s} ",
+ name_len, name, status_len, status);
+ }
+ xo_open_list("components");
+ }
+
+ xo_open_instance("components");
+ if (cstate != NULL && csyncr != NULL) {
+ xo_emit("{P:/%*s}{:component} ({:state}, {:synchronized})\n",
+ len, "", cp->lg_provider->lg_name, cstate, csyncr);
+ } else if (cstate != NULL) {
+ xo_emit("{P:/%*s}{:component} ({:state})\n",
+ len, "", cp->lg_provider->lg_name, cstate);
+ } else if (csyncr != NULL) {
+ xo_emit("{P:/%*s}{:component} ({:synchronized})\n",
+ len, "", cp->lg_provider->lg_name, csyncr);
+ } else {
+ xo_emit("{P:/%*s}{:component}\n",
+ len, "", cp->lg_provider->lg_name);
+ }
+ xo_close_instance("components");
gotone = 1;
- printf("%*s %*s %s\n", name_len, name, status_len, status,
- component);
- if (!script)
- name = status = "";
+ if (!len && !script)
+ len = name_len + status_len + 4;
}
if (!gotone) {
- printf("%*s %*s %s\n", name_len, name, status_len, status,
- "N/A");
+ xo_emit("{:name/%*s} {:status/%*s} ", name_len, name, status_len, status);
+ xo_open_list("components");
+ xo_open_instance("components");
+ xo_emit("{P:/%*s}{d:component}\n", len, "", "N/A");
+ xo_close_instance("components");
}
+ xo_close_list("components");
+ xo_close_instance("status");
}
static void
@@ -1184,9 +1241,10 @@ status_one_geom_prs(struct ggeom *gp, int script, int name_len, int status_len)
struct gprovider *pp;
struct gconsumer *cp;
struct gconfig *conf;
- const char *name, *status, *component;
- int gotone;
+ const char *name, *status, *cstate, *csyncr;
+ int gotone, len;
+ xo_open_instance("status");
LIST_FOREACH(pp, &gp->lg_provider, lg_provider) {
name = pp->lg_name;
status = "N/A";
@@ -1202,22 +1260,53 @@ status_one_geom_prs(struct ggeom *gp, int script, int name_len, int status_len)
break;
}
}
- gotone = 0;
+ gotone = len = 0;
LIST_FOREACH(cp, &gp->lg_consumer, lg_consumer) {
- component = status_one_consumer(cp);
- if (component == NULL)
+ if (cp->lg_provider == NULL)
continue;
+
+ cstate = status_one_consumer(cp, "state");
+ csyncr = status_one_consumer(cp, "synchronized");
+ if (!gotone || script) {
+ if (!gotone) {
+ xo_emit("{:name/%*s} {:status/%*s} ",
+ name_len, name, status_len, status);
+ } else {
+ xo_emit("{d:name/%*s} {d:status/%*s} ",
+ name_len, name, status_len, status);
+ }
+ xo_open_list("components");
+ }
+
+ xo_open_instance("component");
+ if (cstate != NULL && csyncr != NULL) {
+ xo_emit("{P:/%*s}{:component} ({:state}, {:synchronized})\n",
+ len, "", cp->lg_provider->lg_name, cstate, csyncr);
+ } else if (cstate != NULL) {
+ xo_emit("{P:/%*s}{:component} ({:state})\n",
+ len, "", cp->lg_provider->lg_name, cstate);
+ } else if (csyncr != NULL) {
+ xo_emit("{P:/%*s}{:component} ({:synchronized})\n",
+ len, "", cp->lg_provider->lg_name, csyncr);
+ } else {
+ xo_emit("{P:/%*s}{:component}\n",
+ len, "", cp->lg_provider->lg_name);
+ }
+ xo_close_instance("component");
gotone = 1;
- printf("%*s %*s %s\n", name_len, name,
- status_len, status, component);
- if (!script)
- name = status = "";
+ if (!len && !script)
+ len = name_len + status_len + 4;
}
if (!gotone) {
- printf("%*s %*s %s\n", name_len, name,
- status_len, status, "N/A");
+ xo_emit("{:name/%*s} {:status/%*s} ", name_len, name, status_len, status);
+ xo_open_list("components");
+ xo_open_instance("components");
+ xo_emit("{P:/%*s}{d:component}\n", len, "", "N/A");
+ xo_close_instance("components");
}
+ xo_close_list("components");
}
+ xo_close_instance("status");
}
static void
@@ -1240,13 +1329,9 @@ std_status(struct gctl_req *req, unsigned flags __unused)
all = gctl_get_int(req, "all");
geoms = gctl_get_int(req, "geoms");
script = gctl_get_int(req, "script");
- if (script) {
- name_len = 0;
- status_len = 0;
- } else {
- name_len = strlen("Name");
- status_len = strlen("Status");
- }
+ name_len = strlen("Name");
+ status_len = strlen("Status");
+
if (nargs > 0) {
for (i = 0, n = 0; i < nargs; i++) {
name = gctl_get_ascii(req, "arg%d", i);
@@ -1282,9 +1367,10 @@ std_status(struct gctl_req *req, unsigned flags __unused)
goto end;
}
if (!script) {
- printf("%*s %*s %s\n", name_len, "Name", status_len, "Status",
- "Components");
+ xo_emit("{T:/%*s} {T:/%*s} {T:Components}\n",
+ name_len, "Name", status_len, "Status");
}
+ xo_open_list("status");
if (nargs > 0) {
for (i = 0; i < nargs; i++) {
name = gctl_get_ascii(req, "arg%d", i);
@@ -1312,6 +1398,7 @@ std_status(struct gctl_req *req, unsigned flags __unused)
}
}
}
+ xo_close_list("status");
end:
geom_deletetree(&mesh);
}
diff --git a/sbin/ifconfig/ifconfig.8 b/sbin/ifconfig/ifconfig.8
index fafb77e1ca6c..d4f8d2b5747a 100644
--- a/sbin/ifconfig/ifconfig.8
+++ b/sbin/ifconfig/ifconfig.8
@@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 12, 2025
+.Dd October 12, 2025
.Dt IFCONFIG 8
.Os
.Sh NAME
@@ -2799,7 +2799,7 @@ Set the untagged VLAN identifier for an interface.
Frames received on this interface without an 802.1Q tag will be assigned
to this VLAN instead of the default VLAN 0,
and outgoing frames on this VLAN will have their 802.1Q tag removed.
-.It Cm -ifuntagged Ar interface Ar vlan-id
+.It Cm -ifuntagged Ar interface
Clear the untagged VLAN identifier for an interface.
.It Cm defuntagged Ar vlan-id
Enable the
diff --git a/sbin/ipfw/tables.c b/sbin/ipfw/tables.c
index 7c3b1bb35a01..245c0c9e0399 100644
--- a/sbin/ipfw/tables.c
+++ b/sbin/ipfw/tables.c
@@ -1037,9 +1037,6 @@ table_modify_record(ipfw_obj_header *oh, int ac, char *av[], int add,
}
}
- /* Get real OS error */
- error = errno;
-
/* Report results back */
ptent = tent_buf;
for (i = 0; i < count; ptent++, i++) {
diff --git a/sbin/mdconfig/tests/mdconfig_test.sh b/sbin/mdconfig/tests/mdconfig_test.sh
index ea87ff5d542d..cc29c188cbd8 100755
--- a/sbin/mdconfig/tests/mdconfig_test.sh
+++ b/sbin/mdconfig/tests/mdconfig_test.sh
@@ -274,22 +274,23 @@ attach_size_rounddown()
attach_size_rounddown_body()
{
local md
- local ss=8192
- local ms=$(($ss + 4096))
- local ms2=$((2 * $ss + 4096))
+ local pgsz=$(pagesize)
+ local ss=$(($pgsz * 2))
+ local ms=$(($ss + $pgsz))
+ local ms2=$((2 * $ss + $pgsz))
- # Use a sector size that's a likely multiple of PAGE_SIZE, as md(4)
+ # Use a sector size that's a multiple of the kernel page size, as md(4)
# expects that for swap MDs.
atf_check -s exit:0 -o save:mdconfig.out -e empty \
-x "mdconfig -a -t swap -S $ss -s ${ms}b"
md=$(cat mdconfig.out)
- # 12288 bytes should be rounded down to one sector.
- check_diskinfo "$md" 8192 1 $ss
+ # one sector plus one page should be rounded down to one sector.
+ check_diskinfo "$md" $ss 1 $ss
# Resize and verify that the new size was also rounded down.
atf_check -s exit:0 -o empty -e empty \
-x "mdconfig -r -u ${md#md} -s ${ms2}b"
- check_diskinfo "$md" 16384 2 $ss
+ check_diskinfo "$md" $((2 * $ss)) 2 $ss
}
attach_size_rounddown_cleanup()
{
diff --git a/sbin/ping/tests/Makefile b/sbin/ping/tests/Makefile
index 0520b1d634cf..7d3ab02b9a86 100644
--- a/sbin/ping/tests/Makefile
+++ b/sbin/ping/tests/Makefile
@@ -1,5 +1,6 @@
ATF_TESTS_C+= in_cksum_test
-SRCS.in_cksum_test= in_cksum_test.c ../utils.c
+.PATH: ${.CURDIR:H}
+SRCS.in_cksum_test= in_cksum_test.c utils.c
PACKAGE= tests
diff --git a/secure/lib/libcrypto/Makefile b/secure/lib/libcrypto/Makefile
index 5cb3f5a7c3fe..738de3479987 100644
--- a/secure/lib/libcrypto/Makefile
+++ b/secure/lib/libcrypto/Makefile
@@ -682,6 +682,9 @@ buildasm cleanasm:
${.TARGET:S/build/all/:S/asm$//}
.endfor
+HAS_TESTS= yes
+SUBDIR.${MK_TESTS}= tests
+
.include <bsd.lib.mk>
.if ${MACHINE} == "powerpc"
diff --git a/secure/lib/libcrypto/Makefile.inc b/secure/lib/libcrypto/Makefile.inc
index 4d5e9c68a1fe..5b281166df61 100644
--- a/secure/lib/libcrypto/Makefile.inc
+++ b/secure/lib/libcrypto/Makefile.inc
@@ -3,9 +3,6 @@
PACKAGE= openssl
LIB_PACKAGE=
-# OpenSSL version used for manual page generation
-.include "Makefile.version"
-
LCRYPTO_SRC= ${SRCTOP}/crypto/openssl
LCRYPTO_DOC= ${LCRYPTO_SRC}/doc
@@ -15,10 +12,7 @@ CFLAGS+= -I${LCRYPTO_SRC}/providers/common/include
CFLAGS+= -I${LCRYPTO_SRC}/providers/fips/include
CFLAGS+= -I${LCRYPTO_SRC}/providers/implementations/include
-.include "Makefile.common"
+.SUFFIXES: .pc
+.PATH.pc: ${LCRYPTO_SRC}/exporters
-.for pcfile in ${PCFILES}
-${pcfile}: ${pcfile}.in
- sed -e 's,@openssl_ver@,${OPENSSL_VER},g' ${.ALLSRC} > ${.TARGET}
-.endfor
-CLEANFILES+= ${PCFILES}
+.include "Makefile.common"
diff --git a/secure/lib/libcrypto/Makefile.version b/secure/lib/libcrypto/Makefile.version
deleted file mode 100644
index 81636b8adfe8..000000000000
--- a/secure/lib/libcrypto/Makefile.version
+++ /dev/null
@@ -1,2 +0,0 @@
-OPENSSL_VER= 3.5.4
-OPENSSL_DATE= 2025-09-30
diff --git a/secure/lib/libcrypto/tests/Makefile b/secure/lib/libcrypto/tests/Makefile
new file mode 100644
index 000000000000..d309a1b1100c
--- /dev/null
+++ b/secure/lib/libcrypto/tests/Makefile
@@ -0,0 +1,5 @@
+PACKAGE= tests
+
+ATF_TESTS_SH+= libcrypto_test
+
+.include <bsd.test.mk>
diff --git a/secure/lib/libcrypto/tests/libcrypto_test.sh b/secure/lib/libcrypto/tests/libcrypto_test.sh
new file mode 100755
index 000000000000..83ef1686089d
--- /dev/null
+++ b/secure/lib/libcrypto/tests/libcrypto_test.sh
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Copyright (c) 2025 Enji Cooper
+
+atf_test_case legacy_provider
+legacy_provider_head() {
+ atf_set "descr" "daemon should drop privileges"
+}
+legacy_provider_body() {
+ local passphrase="test"
+ local plaintext="test"
+
+ export OPENSSL_CONF="$PWD/openssl.conf"
+ cat > "$OPENSSL_CONF" <<EOF
+HOME = .
+
+openssl_conf = openssl_init
+
+[openssl_init]
+providers = provider_sect
+
+# List of providers to load
+[provider_sect]
+default = default_sect
+legacy = legacy_sect
+
+[default_sect]
+activate = 1
+
+[legacy_sect]
+activate = 1
+EOF
+
+ echo "$plaintext" | atf_check -s exit:0 -e empty -o not-empty \
+ openssl rc4 -e -k "$passphrase" -a -pbkdf2
+}
+
+atf_init_test_cases() {
+ atf_add_test_case legacy_provider
+}
diff --git a/share/examples/bhyve/vmrun.sh b/share/examples/bhyve/vmrun.sh
index 52935363023a..e0052e781dc0 100755
--- a/share/examples/bhyve/vmrun.sh
+++ b/share/examples/bhyve/vmrun.sh
@@ -268,8 +268,10 @@ fi
if [ -z "$firmware" ]; then
case ${platform} in
amd64)
- firmware="${efi_firmware}"
- firmware_pkg="edk2-bhyve"
+ if [ ${efi_mode} -ne 0 ]; then
+ firmware="${efi_firmware}"
+ firmware_pkg="edk2-bhyve"
+ fi
;;
arm64)
firmware="${uboot_firmware}"
diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4
index 7048df4593bf..3af952256d3a 100644
--- a/share/man/man4/bridge.4
+++ b/share/man/man4/bridge.4
@@ -36,7 +36,7 @@
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd July 28, 2025
+.Dd October 13, 2025
.Dt IF_BRIDGE 4
.Os
.Sh NAME
@@ -272,53 +272,149 @@ by setting the
node using
.Xr sysctl 8 .
.Sh VLAN SUPPORT
-The
+Virtual LANs (VLANs), defined in the IEEE 802.1Q standard, allow traffic
+on a bridge to be segregated into separate logical networks which cannot
+communicate with each other.
+For example, two interfaces in VLAN 10 would be able to communicate
+with each other, but not with another interface in VLAN 20.
+.Pp
+Each VLAN is identified by a number between 1 and 4094 inclusive.
+By default, all traffic on the bridge is assigned to "VLAN 0",
+a pseudo-VLAN used for historical compatibility.
+When VLANs are in use on a bridge, it is recommended to explicitly
+assign all traffic to a VLAN rather than using VLAN 0.
+.Pp
+The bridge implements Independent VLAN Learning (IVL), meaning that
+host addresses are learned separately for each VLAN, and the same host
+address may exist on several different ports in different VLANs.
+.Pp
+If a
+.Xr vlan 4
+interface is configured on an interface which is also an
.Nm
-driver has full support for virtual LANs (VLANs).
-The bridge implements independent VLAN learning, i.e. MAC addresses are
-learned on a per-VLAN basis, and the same MAC address may be learned on
-multiple interfaces on different VLANs.
-Incoming frames with an 802.1Q tag will be assigned to the appropriate
-VLAN.
-.Pp
-Traffic sent to or from the host is not assigned to a VLAN by default.
-To allow the host to communicate on a VLAN, configure a
+member interface, all tagged frames will be processed by the
.Xr vlan 4
-interface on the bridge and (if necessary) assign IP addresses there.
-.Pp
-By default no access control is enabled, so any interface may
-participate in any VLAN.
-.Pp
-VLAN filtering may be enabled on a bridge using the
+interface and will not be visible to the bridge.
+This configuration is not recommended and may be unsupported in a
+future release.
+.Ss Tagged and untagged traffic
+Incoming frames on a member interface may be either tagged or untagged.
+Tagged frames contain an 802.1Q header indicating which VLAN the
+frame belongs to, while untagged frames do not.
+When a tagged frame is received, the frame is automatically assigned to
+the VLAN in the tag (subject to any configured VLAN access list),
+while untagged frames are assigned to the interface's configured
+Port VLAN ID (PVID), or to VLAN 0 if no PVID is configured.
+.Ss Assigning interfaces to VLANs
+An interface's PVID may be configured using the
.Xr ifconfig 8
-.Cm vlanfilter
-option.
-When VLAN filtering is enabled, an interface may only send and receive
-frames based on its configured VLAN access list.
+.Cm ifuntagged
+command:
+.Bd -literal -offset indent
+ifconfig bridge0 ifuntagged ix0 10
+.Ed
.Pp
-The interface's untagged VLAN ID may be configured using the
-.Xr ifconfig 8
+Or by using the
.Cm untagged
-option.
-If an untagged VLAN ID is configured, incoming frames will be assigned
-to that VLAN, and the interface may receive outgoing untagged frames
-in that VLAN.
-.Pp
-The tagged VLAN access list may be configured using the
-.Cm tagged ,
-.Cm +tagged
-and
-.Cm -tagged
-options to
-.Xr ifconfig 8 .
-An interface may send and receive tagged frames for any VLAN in its
-access list.
+option to
+.Cm addm :
+.Bd -literal -offset indent
+ifconfig bridge0 addm ix0 untagged 10
+.Ed
.Pp
-The bridge will automatically insert or remove 802.1q tags as needed,
-based on the interface configuration, when forwarding frames between
-interfaces.
-This tag processing is only done for interfaces with VLAN filtering
-enabled.
+This will assign all untagged traffic received on the interface to the
+specified VLAN, and any traffic transmitted on the interface in this
+VLAN will have its VLAN tag (if present) removed.
+Conversely, any traffic transmitted on the interface in a different
+VLAN will have a tag added, to allow the remote system to assign the
+traffic to the appropriate VLAN.
+.Ss Host communication in a VLAN
+Sometimes it is useful to allow the host itself to communicate in a VLAN,
+for example to provide routing to other hosts in the VLAN.
+To do this, create a
+.Xr vlan 4
+interface on top of the
+.Nm
+interface with the appropriate VLAN tag.
+For example, to allow the host to communicate in VLAN 10:
+.Bd -literal -offset indent
+ifconfig bridge0.10 create inet6 2001:db8::1/64
+.Ed
+.Ss Configuring the VLAN access list (VLAN filtering)
+For historical reasons, the default
+.Nm
+configuration allows all interfaces to send tagged traffic for any VLAN,
+meaning that VLANs do not provide security separation.
+To restrict which interfaces may communicate in which VLANs,
+enable VLAN filtering on the bridge:
+.Bd -literal -offset indent
+ifconfig bridge0 vlanfilter
+.Ed
+.Pp
+This has the following effects on bridge members:
+.Bl -bullet -offset indent
+.It
+No untagged frames will be accepted from a member interface unless
+the interface has a PVID configured.
+.It
+No tagged frames will be accepted from a member interface unless
+the VLAN identifier is present in the interface's VLAN access list.
+.It
+Frames with stacked tags (Q-in-Q) will not be accepted from a
+member interface unless the
+.Cm qinq
+option (see below) has been configured for that member.
+.El
+.Pp
+To configure the VLAN access list, use the
+.Xr ifconfig 8
+.Cm iftagged ,
+.Cm +iftagged
+or
+.Cm -iftagged
+commands.
+For example, to allow an interface to communicate in VLANs 10, 20,
+and any VLAN from 100 to 199:
+.Bd -literal -offset indent
+ifconfig bridge0 iftagged ix0 10,20,100-199
+.Ed
+.Ss IEEE 802.1ad (Q-in-Q) configuration
+IEEE 802.1ad, also called Q-in-Q or
+.Dq tag stacking ,
+allows a single Ethernet frame to contain multiple tags.
+This allows one Ethernet network to transport traffic between endpoints
+using its own VLAN tags without interfering with any pre-existing tags,
+and is often used in service provider networks to provide
+.Dq virtual wire
+Ethernet services.
+.Pp
+When VLAN filtering is enabled,
+.Nm
+does not permit member interfaces to send Q-in-Q frames, because in
+certain configuration this allows
+.Dq VLAN-hopping
+attacks on the bridge.
+For example, consider a bridge with port ix0 configured as a tagged
+port in VLAN 10, and port ix1 configured as untagged in VLAN 10 and
+tagged in VLAN 20.
+If ix0 is allowed to send Q-in-Q frames, then it can send a frame with
+two tags: one for VLAN 10, followed by one for VLAN 20.
+When the bridge forwards the frame to ix1, it will strip the VLAN tag
+for VLAN 10, then forward the frame to ix1 with the tag for VLAN 20
+intact, effectively allowing ix1 to send traffic on VLAN 20 even
+though the bridge configuration should not permit that.
+.Pp
+To permit an interface to send Q-in-Q frames, set the
+.Xr ifconfig 8
+.Cm qinq
+flag on the interface.
+This is only required on the interface which will send Q-in-Q frames,
+not the interface receiving the frames.
+.Pp
+Alternatively, set the
+.Cm defqinq
+flag on the bridge itself to enable Q-in-Q for all newly-added
+interfaces by default.
.Sh PACKET FILTERING
Packet filtering can be used with any firewall package that hooks in via the
.Xr pfil 9
@@ -537,6 +633,36 @@ ifconfig_wlan0="up ssid my_ap mode 11g"
ifconfig_fxp0="up"
.Ed
.Pp
+The following will cause a bridge to be created with two VLANs,
+10 and 20, where the
+.Dq Li em
+interfaces can only communicate in their assigned VLANs,
+while
+.Dq Li ix0
+is a trunk port which can communicate in either VLAN:
+.Bd -literal -offset indent
+cloned_interfaces="bridge0"
+ifconfig_bridge0="vlanfilter \e
+ addm em0 untagged 10 \e
+ addm em1 untagged 10 \e
+ addm em2 untagged 20 \e
+ addm em3 untagged 20 \e
+ addm ix0 tagged 10,20"
+ifconfig_em0="up"
+ifconfig_em1="up"
+ifconfig_em2="up"
+ifconfig_em3="up"
+ifconfig_ix0="up"
+.Ed
+.Pp
+The previous example could be extended to allow the host to
+communicate in VLANs 10 and 20:
+.Bd -literal -offset indent
+vlans_bridge0="10 20"
+ifconfig_bridge0_10_ipv6="inet6 2001:db8:0:10::1/64"
+ifconfig_bridge0_20_ipv6="inet6 2001:db8:0:20::1/64"
+.Ed
+.Pp
Consider a system with two 4-port Ethernet boards.
The following will cause a bridge consisting of all 8 ports with
Rapid Spanning Tree enabled to be created:
diff --git a/share/man/man4/linprocfs.4 b/share/man/man4/linprocfs.4
index 53940d7c02b0..dcd1c642b409 100644
--- a/share/man/man4/linprocfs.4
+++ b/share/man/man4/linprocfs.4
@@ -9,7 +9,7 @@
.Nd Linux process file system
.Sh SYNOPSIS
.Bd -literal
-linproc /compat/linux/proc linprocfs rw 0 0
+linprocfs /compat/linux/proc linprocfs rw 0 0
.Ed
.Sh DESCRIPTION
The Linux process file system, or
@@ -138,7 +138,7 @@ To mount a
file system on
.Pa /compat/linux/proc :
.Pp
-.Dl "mount -t linprocfs linproc /compat/linux/proc"
+.Dl "mount -t linprocfs linprocfs /compat/linux/proc"
.Sh SEE ALSO
.Xr mount 2 ,
.Xr unmount 2 ,
diff --git a/share/man/man4/linsysfs.4 b/share/man/man4/linsysfs.4
index 12729a814085..045e1af89173 100644
--- a/share/man/man4/linsysfs.4
+++ b/share/man/man4/linsysfs.4
@@ -9,7 +9,7 @@
.Nd Linux kernel objects file system
.Sh SYNOPSIS
.Bd -literal
-linsys /compat/linux/sys linsysfs rw 0 0
+linsysfs /compat/linux/sys linsysfs rw 0 0
.Ed
.Sh DESCRIPTION
The
@@ -66,7 +66,7 @@ The PCI device hierarchy node.
.Sh EXAMPLES
The most common usage follows:
.Pp
-.Dl "mount -t linsysfs linsys /compat/linux/sys"
+.Dl "mount -t linsysfs linsysfs /compat/linux/sys"
.Pp
where
.Pa /compat/linux/sys
diff --git a/share/man/man4/nvd.4 b/share/man/man4/nvd.4
index d5145939e409..1861fabc91d0 100644
--- a/share/man/man4/nvd.4
+++ b/share/man/man4/nvd.4
@@ -31,7 +31,7 @@
.\"
.\" Author: Jim Harris <jimharris@FreeBSD.org>
.\"
-.Dd May 18, 2019
+.Dd October 2, 2025
.Dt NVD 4
.Os
.Sh NAME
@@ -72,6 +72,10 @@ Note that device nodes from the
driver are not
.Xr GEOM 4
disks and cannot be partitioned.
+.Sh HARDWARE
+The
+.Nm
+driver supports NVMe storage devices using NVMe namespaces.
.Sh CONFIGURATION
The
.Nm
diff --git a/share/man/man7/release.7 b/share/man/man7/release.7
index 05f80374926f..2493a34721bc 100644
--- a/share/man/man7/release.7
+++ b/share/man/man7/release.7
@@ -1,3 +1,6 @@
+.\"
+.\" SPDX-License-Identifier: BSD-2-Clause
+.\"
.\" Copyright (c) 2002 Murray Stokely <murray@FreeBSD.org>
.\" All rights reserved.
.\"
@@ -22,7 +25,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd September 11, 2025
+.Dd October 13, 2025
.Dt RELEASE 7
.Os
.Sh NAME
@@ -136,6 +139,8 @@ configuration file supports the following variables:
.Bl -tag -width Ev
.It Va CHROOTDIR
The directory within which the release will be built.
+Defaults to
+.Pa /scratch .
.It Va CHROOT_MAKEENV
Additional
.Xr make 1
@@ -636,6 +641,7 @@ Typically, one only needs to set
.El
.Sh FILES
.Bl -tag -compact -width Pa
+.It Pa /scratch
.It Pa /usr/doc/Makefile
.It Pa /usr/doc/share/mk/doc.project.mk
.It Pa /usr/ports/Mk/bsd.port.mk
@@ -688,16 +694,10 @@ the Raspberry Pi, exist in the directory corresponding to the
.Va TARGET
.Xr make 1
variable.
-For example, to build an image for the Raspberry Pi:
-.Bd -literal -offset indent
-cd /usr/src/release
-sh release.sh -c arm/RPI-B.conf
-.Ed
-.Pp
-To build an image for the Raspberry Pi 3:
+For example, to build an image for 64-bit Raspberry Pis:
.Bd -literal -offset indent
cd /usr/src/release
-sh release.sh -c arm64/RPI3.conf
+sh release.sh -c arm64/RPI.conf
.Ed
.Pp
After running these commands, all prepared release files are available in the
diff --git a/share/man/man9/VOP_OPENCLOSE.9 b/share/man/man9/VOP_OPENCLOSE.9
index 9a4f7069962d..672f9faa92f5 100644
--- a/share/man/man9/VOP_OPENCLOSE.9
+++ b/share/man/man9/VOP_OPENCLOSE.9
@@ -26,7 +26,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd December 2, 2009
+.Dd October 17, 2025
.Dt VOP_OPEN 9
.Os
.Sh NAME
@@ -78,6 +78,17 @@ The access mode is a set of flags, including
.Dv FWRITE ,
.Dv O_NONBLOCK ,
.Dv O_APPEND .
+.Pp
+The thread
+.Fa td
+passed to
+.Fn VOP_CLOSE
+may be
+.Ql NULL
+if the last reference to the open file is released from a kernel context, e.g.,
+the destruction of a socket buffer containing the file reference in a
+.Dv SCM_RIGHTS
+message.
.Sh LOCKS
.Fn VOP_OPEN
expects
diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index 0a3594e05d94..1591a3e0905e 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -97,6 +97,14 @@ manlinksinstall: .PHONY
all-man:
+# Take groups from both MANGROUPS and MANGROUPS.yes, to allow syntax like
+# MANGROUPS.${MK_FOO}=FOO. Sort and uniq the list of groups in case of
+# duplicates.
+.if defined(MANGROUPS) || defined(MANGROUPS.yes)
+MANGROUPS:=${MANGROUPS} ${MANGROUPS.yes}
+MANGROUPS:=${MANGROUPS:O:u}
+.endif
+
.for __group in ${MANGROUPS}
realmaninstall: realmaninstall-${__group}
diff --git a/stand/i386/boot2/Makefile b/stand/i386/boot2/Makefile
index 313bb8030f3e..94dbd7af29d6 100644
--- a/stand/i386/boot2/Makefile
+++ b/stand/i386/boot2/Makefile
@@ -33,7 +33,8 @@ CFLAGS+=-fomit-frame-pointer \
CFLAGS.gcc+= -Os \
-fno-asynchronous-unwind-tables \
- --param max-inline-insns-single=100
+ --param max-inline-insns-single=100 \
+ --param min-pagesize=1024
CFLAGS.clang+= -Oz ${CLANG_OPT_SMALL}
diff --git a/stand/i386/gptboot/Makefile b/stand/i386/gptboot/Makefile
index a829be6c745d..366d82497819 100644
--- a/stand/i386/gptboot/Makefile
+++ b/stand/i386/gptboot/Makefile
@@ -34,7 +34,8 @@ CFLAGS+=-DBOOTPROG=\"gptboot\" \
-Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \
-Wno-pointer-sign
-CFLAGS.gcc+= --param max-inline-insns-single=100
+CFLAGS.gcc+= --param max-inline-insns-single=100 \
+ --param min-pagesize=1024
LD_FLAGS+=${LD_FLAGS_BIN}
diff --git a/stand/i386/gptzfsboot/Makefile b/stand/i386/gptzfsboot/Makefile
index 0b67ff8cdaf4..ebdd4958c5f2 100644
--- a/stand/i386/gptzfsboot/Makefile
+++ b/stand/i386/gptzfsboot/Makefile
@@ -46,7 +46,8 @@ CFLAGS.clang+= -Wno-tentative-definition-incomplete-type
NO_WCAST_ALIGN=
-CFLAGS.gcc+= --param max-inline-insns-single=100
+CFLAGS.gcc+= --param max-inline-insns-single=100 \
+ --param min-pagesize=1024
LD_FLAGS+=${LD_FLAGS_BIN}
diff --git a/stand/i386/isoboot/Makefile b/stand/i386/isoboot/Makefile
index 0049e7fd3e0a..bf22e0f21d59 100644
--- a/stand/i386/isoboot/Makefile
+++ b/stand/i386/isoboot/Makefile
@@ -29,7 +29,8 @@ CFLAGS+=-DBOOTPROG=\"isoboot\" \
-Wpointer-arith -Wshadow -Wstrict-prototypes -Wwrite-strings \
-Wno-pointer-sign
-CFLAGS.gcc+= --param max-inline-insns-single=100
+CFLAGS.gcc+= --param max-inline-insns-single=100 \
+ --param min-pagesize=1024
CFLAGS.clang+= -Oz ${CLANG_OPT_SMALL}
LD_FLAGS+=${LD_FLAGS_BIN}
diff --git a/sys/amd64/amd64/elf_machdep.c b/sys/amd64/amd64/elf_machdep.c
index 6cc2d58bbbcc..933f1ac0051f 100644
--- a/sys/amd64/amd64/elf_machdep.c
+++ b/sys/amd64/amd64/elf_machdep.c
@@ -179,7 +179,7 @@ freebsd_brand_info_la57_img_compat(const struct image_params *imgp,
return (!prefer_uva_la48);
}
-static Elf64_Brandinfo freebsd_brand_info_la48 = {
+static const Elf64_Brandinfo freebsd_brand_info_la48 = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_X86_64,
.compat_3_brand = "FreeBSD",
@@ -190,7 +190,7 @@ static Elf64_Brandinfo freebsd_brand_info_la48 = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE,
};
-static Elf64_Brandinfo freebsd_brand_info_la57 = {
+static const Elf64_Brandinfo freebsd_brand_info_la57 = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_X86_64,
.compat_3_brand = "FreeBSD",
@@ -216,7 +216,7 @@ sysinit_register_elf64_brand_entries(void *arg __unused)
SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST,
sysinit_register_elf64_brand_entries, NULL);
-static Elf64_Brandinfo freebsd_brand_oinfo = {
+static const Elf64_Brandinfo freebsd_brand_oinfo = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_X86_64,
.compat_3_brand = "FreeBSD",
@@ -226,11 +226,10 @@ static Elf64_Brandinfo freebsd_brand_oinfo = {
.brand_note = &elf64_freebsd_brandnote,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-
-SYSINIT(oelf64, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(oelf64, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t)elf64_insert_brand_entry, &freebsd_brand_oinfo);
-static Elf64_Brandinfo kfreebsd_brand_info = {
+static const Elf64_Brandinfo kfreebsd_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_X86_64,
.compat_3_brand = "FreeBSD",
@@ -240,8 +239,7 @@ static Elf64_Brandinfo kfreebsd_brand_info = {
.brand_note = &elf64_kfreebsd_brandnote,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY
};
-
-SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(kelf64, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t)elf64_insert_brand_entry, &kfreebsd_brand_info);
void
diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h
index 66d8991d36e8..ad67510fecf3 100644
--- a/sys/amd64/include/vmm.h
+++ b/sys/amd64/include/vmm.h
@@ -237,7 +237,7 @@ extern u_int vm_maxcpu; /* maximum virtual cpus */
int vm_create(const char *name, struct vm **retvm);
struct vcpu *vm_alloc_vcpu(struct vm *vm, int vcpuid);
void vm_disable_vcpu_creation(struct vm *vm);
-void vm_slock_vcpus(struct vm *vm);
+void vm_lock_vcpus(struct vm *vm);
void vm_unlock_vcpus(struct vm *vm);
void vm_destroy(struct vm *vm);
int vm_reinit(struct vm *vm);
@@ -362,6 +362,7 @@ enum vcpu_state {
};
int vcpu_set_state(struct vcpu *vcpu, enum vcpu_state state, bool from_idle);
+int vcpu_set_state_all(struct vm *vm, enum vcpu_state state);
enum vcpu_state vcpu_get_state(struct vcpu *vcpu, int *hostcpu);
static int __inline
diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c
index c8579c5da4ad..890cf01c46a0 100644
--- a/sys/amd64/linux/linux_sysvec.c
+++ b/sys/amd64/linux/linux_sysvec.c
@@ -857,7 +857,7 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset)
}
}
-static Elf_Brandnote linux64_brandnote = {
+static const Elf_Brandnote linux64_brandnote = {
.hdr.n_namesz = sizeof(GNU_ABI_VENDOR),
.hdr.n_descsz = 16,
.hdr.n_type = 1,
@@ -866,7 +866,7 @@ static Elf_Brandnote linux64_brandnote = {
.trans_osrel = linux_trans_osrel
};
-static Elf64_Brandinfo linux_glibc2brand = {
+static const Elf64_Brandinfo linux_glibc2brand = {
.brand = ELFOSABI_LINUX,
.machine = EM_X86_64,
.compat_3_brand = "Linux",
@@ -877,7 +877,7 @@ static Elf64_Brandinfo linux_glibc2brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-static Elf64_Brandinfo linux_glibc2brandshort = {
+static const Elf64_Brandinfo linux_glibc2brandshort = {
.brand = ELFOSABI_LINUX,
.machine = EM_X86_64,
.compat_3_brand = "Linux",
@@ -888,7 +888,7 @@ static Elf64_Brandinfo linux_glibc2brandshort = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-static Elf64_Brandinfo linux_muslbrand = {
+static const Elf64_Brandinfo linux_muslbrand = {
.brand = ELFOSABI_LINUX,
.machine = EM_X86_64,
.compat_3_brand = "Linux",
@@ -900,7 +900,7 @@ static Elf64_Brandinfo linux_muslbrand = {
LINUX_BI_FUTEX_REQUEUE
};
-static Elf64_Brandinfo *linux_brandlist[] = {
+static const Elf64_Brandinfo *linux_brandlist[] = {
&linux_glibc2brand,
&linux_glibc2brandshort,
&linux_muslbrand,
@@ -910,7 +910,7 @@ static Elf64_Brandinfo *linux_brandlist[] = {
static int
linux64_elf_modevent(module_t mod, int type, void *data)
{
- Elf64_Brandinfo **brandinfo;
+ const Elf64_Brandinfo **brandinfo;
int error;
struct linux_ioctl_handler **lihp;
diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c
index 8fac626f9053..735ebb151017 100644
--- a/sys/amd64/linux32/linux32_sysvec.c
+++ b/sys/amd64/linux32/linux32_sysvec.c
@@ -954,7 +954,7 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset)
}
}
-static Elf_Brandnote linux32_brandnote = {
+static const Elf_Brandnote linux32_brandnote = {
.hdr.n_namesz = sizeof(GNU_ABI_VENDOR),
.hdr.n_descsz = 16, /* XXX at least 16 */
.hdr.n_type = 1,
@@ -963,7 +963,7 @@ static Elf_Brandnote linux32_brandnote = {
.trans_osrel = linux_trans_osrel
};
-static Elf32_Brandinfo linux_brand = {
+static const Elf32_Brandinfo linux_brand = {
.brand = ELFOSABI_LINUX,
.machine = EM_386,
.compat_3_brand = "Linux",
@@ -974,7 +974,7 @@ static Elf32_Brandinfo linux_brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-static Elf32_Brandinfo linux_glibc2brand = {
+static const Elf32_Brandinfo linux_glibc2brand = {
.brand = ELFOSABI_LINUX,
.machine = EM_386,
.compat_3_brand = "Linux",
@@ -985,7 +985,7 @@ static Elf32_Brandinfo linux_glibc2brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-static Elf32_Brandinfo linux_muslbrand = {
+static const Elf32_Brandinfo linux_muslbrand = {
.brand = ELFOSABI_LINUX,
.machine = EM_386,
.compat_3_brand = "Linux",
@@ -997,7 +997,7 @@ static Elf32_Brandinfo linux_muslbrand = {
LINUX_BI_FUTEX_REQUEUE
};
-static Elf32_Brandinfo *linux_brandlist[] = {
+static const Elf32_Brandinfo *linux_brandlist[] = {
&linux_brand,
&linux_glibc2brand,
&linux_muslbrand,
@@ -1007,7 +1007,7 @@ static Elf32_Brandinfo *linux_brandlist[] = {
static int
linux_elf_modevent(module_t mod, int type, void *data)
{
- Elf32_Brandinfo **brandinfo;
+ const Elf32_Brandinfo **brandinfo;
int error;
struct linux_ioctl_handler **lihp;
diff --git a/sys/amd64/pt/pt.c b/sys/amd64/pt/pt.c
index c7b75767680a..6b2296de049c 100644
--- a/sys/amd64/pt/pt.c
+++ b/sys/amd64/pt/pt.c
@@ -42,15 +42,15 @@
*/
#include <sys/systm.h>
+#include <sys/bus.h>
#include <sys/hwt.h>
+#include <sys/interrupt.h>
#include <sys/kernel.h>
#include <sys/lock.h>
#include <sys/malloc.h>
#include <sys/module.h>
#include <sys/mutex.h>
-#include <sys/sdt.h>
#include <sys/smp.h>
-#include <sys/taskqueue.h>
#include <vm/vm.h>
#include <vm/vm_page.h>
@@ -94,12 +94,7 @@
MALLOC_DEFINE(M_PT, "pt", "Intel Processor Trace");
-SDT_PROVIDER_DEFINE(pt);
-SDT_PROBE_DEFINE(pt, , , topa__intr);
-
-TASKQUEUE_FAST_DEFINE_THREAD(pt);
-
-static void pt_send_buffer_record(void *arg, int pending __unused);
+static void pt_send_buffer_record(void *arg);
static int pt_topa_intr(struct trapframe *tf);
/*
@@ -122,29 +117,24 @@ struct pt_buffer {
size_t size;
struct mtx lock; /* Lock for fields below. */
vm_offset_t offset;
- uint64_t wrap_count;
- int curpage;
};
struct pt_ctx {
int id;
struct pt_buffer buf; /* ToPA buffer metadata */
- struct task task; /* ToPA buffer notification task */
struct hwt_context *hwt_ctx;
uint8_t *save_area; /* PT XSAVE area */
};
/* PT tracing contexts used for CPU mode. */
static struct pt_ctx *pt_pcpu_ctx;
-enum pt_cpu_state {
- PT_DISABLED = 0,
- PT_STOPPED,
- PT_ACTIVE
-};
+enum pt_cpu_state { PT_INACTIVE = 0, PT_ACTIVE };
static struct pt_cpu {
struct pt_ctx *ctx; /* active PT tracing context */
enum pt_cpu_state state; /* used as part of trace stop protocol */
+ void *swi_cookie; /* Software interrupt handler context */
+ int in_pcint_handler;
} *pt_pcpu;
/*
@@ -199,31 +189,28 @@ static __inline void
pt_update_buffer(struct pt_buffer *buf)
{
uint64_t reg;
- int curpage;
+ uint64_t offset;
/* Update buffer offset. */
reg = rdmsr(MSR_IA32_RTIT_OUTPUT_MASK_PTRS);
- curpage = (reg & PT_TOPA_PAGE_MASK) >> PT_TOPA_PAGE_SHIFT;
- mtx_lock_spin(&buf->lock);
- /* Check if the output wrapped. */
- if (buf->curpage > curpage)
- buf->wrap_count++;
- buf->curpage = curpage;
- buf->offset = reg >> 32;
- mtx_unlock_spin(&buf->lock);
-
- dprintf("%s: wrap_cnt: %lu, curpage: %d, offset: %zu\n", __func__,
- buf->wrap_count, buf->curpage, buf->offset);
+ offset = ((reg & PT_TOPA_PAGE_MASK) >> PT_TOPA_PAGE_SHIFT) * PAGE_SIZE;
+ offset += (reg >> 32);
+
+ atomic_store_rel_64(&buf->offset, offset);
}
static __inline void
pt_fill_buffer_record(int id, struct pt_buffer *buf,
struct hwt_record_entry *rec)
{
+ vm_offset_t offset;
+
+ offset = atomic_load_acq_64(&buf->offset);
+
rec->record_type = HWT_RECORD_BUFFER;
rec->buf_id = id;
- rec->curpage = buf->curpage;
- rec->offset = buf->offset + (buf->wrap_count * buf->size);
+ rec->curpage = offset / PAGE_SIZE;
+ rec->offset = offset & PAGE_MASK;
}
/*
@@ -273,9 +260,9 @@ pt_cpu_start(void *dummy)
MPASS(cpu->ctx != NULL);
dprintf("%s: curcpu %d\n", __func__, curcpu);
+ pt_cpu_set_state(curcpu, PT_ACTIVE);
load_cr4(rcr4() | CR4_XSAVE);
wrmsr(MSR_IA32_RTIT_STATUS, 0);
- pt_cpu_set_state(curcpu, PT_ACTIVE);
pt_cpu_toggle_local(cpu->ctx->save_area, true);
}
@@ -291,16 +278,16 @@ pt_cpu_stop(void *dummy)
struct pt_cpu *cpu;
struct pt_ctx *ctx;
- /* Shutdown may occur before PT gets properly configured. */
- if (pt_cpu_get_state(curcpu) == PT_DISABLED)
- return;
-
cpu = &pt_pcpu[curcpu];
ctx = cpu->ctx;
- MPASS(ctx != NULL);
- dprintf("%s: curcpu %d\n", __func__, curcpu);
- pt_cpu_set_state(curcpu, PT_STOPPED);
+ dprintf("%s: curcpu %d\n", __func__, curcpu);
+ /* Shutdown may occur before PT gets properly configured. */
+ if (ctx == NULL) {
+ dprintf("%s: missing context on cpu %d; bailing\n", __func__,
+ curcpu);
+ return;
+ }
pt_cpu_toggle_local(cpu->ctx->save_area, false);
pt_update_buffer(&ctx->buf);
}
@@ -406,13 +393,11 @@ pt_init_ctx(struct pt_ctx *pt_ctx, struct hwt_vm *vm, int ctx_id)
return (ENOMEM);
dprintf("%s: preparing ToPA buffer\n", __func__);
if (pt_topa_prepare(pt_ctx, vm) != 0) {
- dprintf("%s: failed to prepare ToPA buffer\n", __func__);
free(pt_ctx->save_area, M_PT);
return (ENOMEM);
}
pt_ctx->id = ctx_id;
- TASK_INIT(&pt_ctx->task, 0, pt_send_buffer_record, pt_ctx);
return (0);
}
@@ -426,7 +411,6 @@ pt_deinit_ctx(struct pt_ctx *pt_ctx)
if (pt_ctx->save_area != NULL)
free(pt_ctx->save_area, M_PT);
memset(pt_ctx, 0, sizeof(*pt_ctx));
- pt_ctx->buf.topa_hw = NULL;
}
/*
@@ -519,7 +503,6 @@ pt_backend_configure(struct hwt_context *ctx, int cpu_id, int thread_id)
XSTATE_XCOMP_BV_COMPACT;
pt_ext->rtit_ctl |= RTIT_CTL_TRACEEN;
pt_pcpu[cpu_id].ctx = pt_ctx;
- pt_cpu_set_state(cpu_id, PT_STOPPED);
return (0);
}
@@ -549,12 +532,19 @@ pt_backend_disable(struct hwt_context *ctx, int cpu_id)
if (ctx->mode == HWT_MODE_CPU)
return;
-
KASSERT(curcpu == cpu_id,
("%s: attempting to disable PT on another cpu", __func__));
+
+ cpu = &pt_pcpu[cpu_id];
+
+ dprintf("%s: waiting for cpu %d to exit interrupt handler\n", __func__,
+ cpu_id);
+ pt_cpu_set_state(cpu_id, PT_INACTIVE);
+ while (atomic_cmpset_int(&cpu->in_pcint_handler, 1, 0))
+ ;
+
pt_cpu_stop(NULL);
CPU_CLR(cpu_id, &ctx->cpu_map);
- cpu = &pt_pcpu[cpu_id];
cpu->ctx = NULL;
}
@@ -564,14 +554,14 @@ pt_backend_disable(struct hwt_context *ctx, int cpu_id)
static int
pt_backend_enable_smp(struct hwt_context *ctx)
{
-
dprintf("%s\n", __func__);
+
+ KASSERT(ctx->mode == HWT_MODE_CPU,
+ ("%s: should only be used for CPU mode", __func__));
if (ctx->mode == HWT_MODE_CPU &&
atomic_swap_32(&cpu_mode_ctr, 1) != 0)
return (-1);
- KASSERT(ctx->mode == HWT_MODE_CPU,
- ("%s: should only be used for CPU mode", __func__));
smp_rendezvous_cpus(ctx->cpu_map, NULL, pt_cpu_start, NULL, NULL);
return (0);
@@ -583,6 +573,7 @@ pt_backend_enable_smp(struct hwt_context *ctx)
static int
pt_backend_disable_smp(struct hwt_context *ctx)
{
+ struct pt_cpu *cpu;
dprintf("%s\n", __func__);
if (ctx->mode == HWT_MODE_CPU &&
@@ -593,6 +584,14 @@ pt_backend_disable_smp(struct hwt_context *ctx)
dprintf("%s: empty cpu map\n", __func__);
return (-1);
}
+ CPU_FOREACH_ISSET(cpu_id, &ctx->cpu_map) {
+ cpu = &pt_pcpu[cpu_id];
+ dprintf("%s: waiting for cpu %d to exit interrupt handler\n",
+ __func__, cpu_id);
+ pt_cpu_set_state(cpu_id, PT_INACTIVE);
+ while (atomic_cmpset_int(&cpu->in_pcint_handler, 1, 0))
+ ;
+ }
smp_rendezvous_cpus(ctx->cpu_map, NULL, pt_cpu_stop, NULL, NULL);
return (0);
@@ -611,13 +610,13 @@ pt_backend_init(struct hwt_context *ctx)
int error;
dprintf("%s\n", __func__);
- if (ctx->mode == HWT_MODE_CPU) {
- TAILQ_FOREACH(hwt_cpu, &ctx->cpus, next) {
- error = pt_init_ctx(&pt_pcpu_ctx[hwt_cpu->cpu_id],
- hwt_cpu->vm, hwt_cpu->cpu_id);
- if (error)
- return (error);
- }
+ if (ctx->mode != HWT_MODE_CPU)
+ return (0);
+ TAILQ_FOREACH(hwt_cpu, &ctx->cpus, next) {
+ error = pt_init_ctx(&pt_pcpu_ctx[hwt_cpu->cpu_id], hwt_cpu->vm,
+ hwt_cpu->cpu_id);
+ if (error)
+ return (error);
}
return (0);
@@ -647,20 +646,16 @@ pt_backend_deinit(struct hwt_context *ctx)
pt_deinit_ctx(pt_ctx);
}
} else {
- CPU_FOREACH(cpu_id) {
- if (!CPU_ISSET(cpu_id, &ctx->cpu_map))
+ CPU_FOREACH_ISSET(cpu_id, &ctx->cpu_map) {
+ if (pt_pcpu[cpu_id].ctx == NULL)
continue;
- if (pt_pcpu[cpu_id].ctx != NULL) {
- KASSERT(pt_pcpu[cpu_id].ctx ==
- &pt_pcpu_ctx[cpu_id],
- ("%s: CPU mode tracing with non-cpu mode PT"
- "context active",
- __func__));
- pt_pcpu[cpu_id].ctx = NULL;
- }
- pt_ctx = &pt_pcpu_ctx[cpu_id];
- pt_deinit_ctx(pt_ctx);
- memset(&pt_pcpu[cpu_id], 0, sizeof(struct pt_cpu));
+ KASSERT(pt_pcpu[cpu_id].ctx == &pt_pcpu_ctx[cpu_id],
+ ("%s: CPU mode tracing with non-cpu mode PT"
+ "context active",
+ __func__));
+ pt_deinit_ctx(pt_pcpu[cpu_id].ctx);
+ pt_pcpu[cpu_id].ctx = NULL;
+ atomic_set_int(&pt_pcpu[cpu_id].in_pcint_handler, 0);
}
}
@@ -675,15 +670,15 @@ pt_backend_read(struct hwt_vm *vm, int *curpage, vm_offset_t *curpage_offset,
uint64_t *data)
{
struct pt_buffer *buf;
+ uint64_t offset;
if (vm->ctx->mode == HWT_MODE_THREAD)
buf = &((struct pt_ctx *)vm->thr->private)->buf;
else
buf = &pt_pcpu[vm->cpu->cpu_id].ctx->buf;
- mtx_lock_spin(&buf->lock);
- *curpage = buf->curpage;
- *curpage_offset = buf->offset + (buf->wrap_count * vm->ctx->bufsize);
- mtx_unlock_spin(&buf->lock);
+ offset = atomic_load_acq_64(&buf->offset);
+ *curpage = offset / PAGE_SIZE;
+ *curpage_offset = offset & PAGE_MASK;
return (0);
}
@@ -762,15 +757,13 @@ static struct hwt_backend backend = {
* Used as a taskqueue routine from the ToPA interrupt handler.
*/
static void
-pt_send_buffer_record(void *arg, int pending __unused)
+pt_send_buffer_record(void *arg)
{
+ struct pt_cpu *cpu = (struct pt_cpu *)arg;
struct hwt_record_entry record;
- struct pt_ctx *ctx = (struct pt_ctx *)arg;
- /* Prepare buffer record. */
- mtx_lock_spin(&ctx->buf.lock);
+ struct pt_ctx *ctx = cpu->ctx;
pt_fill_buffer_record(ctx->id, &ctx->buf, &record);
- mtx_unlock_spin(&ctx->buf.lock);
hwt_record_ctx(ctx->hwt_ctx, &record, M_ZERO | M_NOWAIT);
}
static void
@@ -795,36 +788,40 @@ static int
pt_topa_intr(struct trapframe *tf)
{
struct pt_buffer *buf;
+ struct pt_cpu *cpu;
struct pt_ctx *ctx;
uint64_t reg;
- SDT_PROBE0(pt, , , topa__intr);
-
- if (pt_cpu_get_state(curcpu) != PT_ACTIVE) {
- return (0);
- }
+ cpu = &pt_pcpu[curcpu];
reg = rdmsr(MSR_IA_GLOBAL_STATUS);
if ((reg & GLOBAL_STATUS_FLAG_TRACETOPAPMI) == 0) {
- /* ACK spurious or leftover interrupt. */
pt_topa_status_clear();
+ return (0);
+ }
+
+ if (pt_cpu_get_state(curcpu) != PT_ACTIVE) {
return (1);
}
+ atomic_set_int(&cpu->in_pcint_handler, 1);
- ctx = pt_pcpu[curcpu].ctx;
+ ctx = cpu->ctx;
+ KASSERT(ctx != NULL,
+ ("%s: cpu %d: ToPA PMI interrupt without an active context",
+ __func__, curcpu));
buf = &ctx->buf;
KASSERT(buf->topa_hw != NULL,
- ("%s: ToPA PMI interrupt with invalid buffer", __func__));
-
+ ("%s: cpu %d: ToPA PMI interrupt with invalid buffer", __func__,
+ curcpu));
pt_cpu_toggle_local(ctx->save_area, false);
pt_update_buffer(buf);
pt_topa_status_clear();
- taskqueue_enqueue_flags(taskqueue_pt, &ctx->task,
- TASKQUEUE_FAIL_IF_PENDING);
if (pt_cpu_get_state(curcpu) == PT_ACTIVE) {
+ swi_sched(cpu->swi_cookie, SWI_FROMNMI);
pt_cpu_toggle_local(ctx->save_area, true);
lapic_reenable_pcint();
}
+ atomic_set_int(&cpu->in_pcint_handler, 0);
return (1);
}
@@ -839,7 +836,7 @@ static int
pt_init(void)
{
u_int cp[4];
- int error;
+ int error, i;
dprintf("pt: Enumerating part 1\n");
cpuid_count(CPUID_PT_LEAF, 0, cp);
@@ -869,20 +866,38 @@ pt_init(void)
pt_pcpu_ctx = mallocarray(mp_ncpus, sizeof(struct pt_ctx), M_PT,
M_ZERO | M_WAITOK);
+ for (i = 0; i < mp_ncpus; i++) {
+ error = swi_add(&clk_intr_event, "pt", pt_send_buffer_record,
+ &pt_pcpu[i], SWI_CLOCK, INTR_MPSAFE,
+ &pt_pcpu[i].swi_cookie);
+ if (error != 0) {
+ dprintf(
+ "%s: failed to add interrupt handler for cpu: %d\n",
+ __func__, error);
+ goto err;
+ }
+ }
+
nmi_register_handler(pt_topa_intr);
- if (!lapic_enable_pcint()) {
- nmi_remove_handler(pt_topa_intr);
- hwt_backend_unregister(&backend);
- free(pt_pcpu, M_PT);
- free(pt_pcpu_ctx, M_PT);
- pt_pcpu = NULL;
- pt_pcpu_ctx = NULL;
+ if (lapic_enable_pcint()) {
+ initialized = true;
+ return (0);
+ } else
printf("pt: failed to setup interrupt line\n");
- return (error);
+err:
+ nmi_remove_handler(pt_topa_intr);
+ hwt_backend_unregister(&backend);
+
+ for (i = 0; i < mp_ncpus; i++) {
+ if (pt_pcpu[i].swi_cookie != 0)
+ swi_remove(pt_pcpu[i].swi_cookie);
}
- initialized = true;
+ free(pt_pcpu, M_PT);
+ free(pt_pcpu_ctx, M_PT);
+ pt_pcpu = NULL;
+ pt_pcpu_ctx = NULL;
- return (0);
+ return (error);
}
/*
@@ -941,14 +956,24 @@ pt_supported(void)
static void
pt_deinit(void)
{
+ int i;
+ struct pt_cpu *cpu;
+
if (!initialized)
return;
nmi_remove_handler(pt_topa_intr);
lapic_disable_pcint();
hwt_backend_unregister(&backend);
+
+ for (i = 0; i < mp_ncpus; i++) {
+ cpu = &pt_pcpu[i];
+ swi_remove(cpu->swi_cookie);
+ }
+
free(pt_pcpu, M_PT);
free(pt_pcpu_ctx, M_PT);
pt_pcpu = NULL;
+ pt_pcpu_ctx = NULL;
initialized = false;
}
diff --git a/sys/amd64/sgx/sgx_linux.c b/sys/amd64/sgx/sgx_linux.c
index 6ecef9207a38..d389edc1b2b0 100644
--- a/sys/amd64/sgx/sgx_linux.c
+++ b/sys/amd64/sgx/sgx_linux.c
@@ -92,16 +92,7 @@ out:
return (error);
}
-static struct linux_ioctl_handler sgx_linux_handler = {
- sgx_linux_ioctl,
- SGX_LINUX_IOCTL_MIN,
- SGX_LINUX_IOCTL_MAX,
-};
-
-SYSINIT(sgx_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_register_handler, &sgx_linux_handler);
-SYSUNINIT(sgx_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_unregister_handler, &sgx_linux_handler);
+LINUX_IOCTL_SET(sgx, SGX_LINUX_IOCTL_MIN, SGX_LINUX_IOCTL_MAX);
static int
sgx_linux_modevent(module_t mod, int type, void *data)
diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c
index 2ac076551165..f7c59847140b 100644
--- a/sys/amd64/vmm/vmm.c
+++ b/sys/amd64/vmm/vmm.c
@@ -562,9 +562,9 @@ vm_alloc_vcpu(struct vm *vm, int vcpuid)
}
void
-vm_slock_vcpus(struct vm *vm)
+vm_lock_vcpus(struct vm *vm)
{
- sx_slock(&vm->vcpus_init_lock);
+ sx_xlock(&vm->vcpus_init_lock);
}
void
@@ -990,6 +990,54 @@ save_guest_fpustate(struct vcpu *vcpu)
static VMM_STAT(VCPU_IDLE_TICKS, "number of ticks vcpu was idle");
+/*
+ * Invoke the rendezvous function on the specified vcpu if applicable. Return
+ * true if the rendezvous is finished, false otherwise.
+ */
+static bool
+vm_rendezvous(struct vcpu *vcpu)
+{
+ struct vm *vm = vcpu->vm;
+ int vcpuid;
+
+ mtx_assert(&vcpu->vm->rendezvous_mtx, MA_OWNED);
+ KASSERT(vcpu->vm->rendezvous_func != NULL,
+ ("vm_rendezvous: no rendezvous pending"));
+
+ /* 'rendezvous_req_cpus' must be a subset of 'active_cpus' */
+ CPU_AND(&vm->rendezvous_req_cpus, &vm->rendezvous_req_cpus,
+ &vm->active_cpus);
+
+ vcpuid = vcpu->vcpuid;
+ if (CPU_ISSET(vcpuid, &vm->rendezvous_req_cpus) &&
+ !CPU_ISSET(vcpuid, &vm->rendezvous_done_cpus)) {
+ VMM_CTR0(vcpu, "Calling rendezvous func");
+ (*vm->rendezvous_func)(vcpu, vm->rendezvous_arg);
+ CPU_SET(vcpuid, &vm->rendezvous_done_cpus);
+ }
+ if (CPU_CMP(&vm->rendezvous_req_cpus,
+ &vm->rendezvous_done_cpus) == 0) {
+ VMM_CTR0(vcpu, "Rendezvous completed");
+ CPU_ZERO(&vm->rendezvous_req_cpus);
+ vm->rendezvous_func = NULL;
+ wakeup(&vm->rendezvous_func);
+ return (true);
+ }
+ return (false);
+}
+
+static void
+vcpu_wait_idle(struct vcpu *vcpu)
+{
+ KASSERT(vcpu->state != VCPU_IDLE, ("vcpu already idle"));
+
+ vcpu->reqidle = 1;
+ vcpu_notify_event_locked(vcpu, false);
+ VMM_CTR1(vcpu, "vcpu state change from %s to "
+ "idle requested", vcpu_state2str(vcpu->state));
+ msleep_spin(&vcpu->state, &vcpu->mtx, "vmstat", hz);
+}
+
static int
vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate,
bool from_idle)
@@ -1004,13 +1052,8 @@ vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate,
* ioctl() operating on a vcpu at any point.
*/
if (from_idle) {
- while (vcpu->state != VCPU_IDLE) {
- vcpu->reqidle = 1;
- vcpu_notify_event_locked(vcpu, false);
- VMM_CTR1(vcpu, "vcpu state change from %s to "
- "idle requested", vcpu_state2str(vcpu->state));
- msleep_spin(&vcpu->state, &vcpu->mtx, "vmstat", hz);
- }
+ while (vcpu->state != VCPU_IDLE)
+ vcpu_wait_idle(vcpu);
} else {
KASSERT(vcpu->state != VCPU_IDLE, ("invalid transition from "
"vcpu idle state"));
@@ -1062,6 +1105,95 @@ vcpu_set_state_locked(struct vcpu *vcpu, enum vcpu_state newstate,
return (0);
}
+/*
+ * Try to lock all of the vCPUs in the VM while taking care to avoid deadlocks
+ * with vm_smp_rendezvous().
+ *
+ * The complexity here suggests that the rendezvous mechanism needs a rethink.
+ */
+int
+vcpu_set_state_all(struct vm *vm, enum vcpu_state newstate)
+{
+ cpuset_t locked;
+ struct vcpu *vcpu;
+ int error, i;
+ uint16_t maxcpus;
+
+ KASSERT(newstate != VCPU_IDLE,
+ ("vcpu_set_state_all: invalid target state %d", newstate));
+
+ error = 0;
+ CPU_ZERO(&locked);
+ maxcpus = vm->maxcpus;
+
+ mtx_lock(&vm->rendezvous_mtx);
+restart:
+ if (vm->rendezvous_func != NULL) {
+ /*
+ * If we have a pending rendezvous, then the initiator may be
+ * blocked waiting for other vCPUs to execute the callback. The
+ * current thread may be a vCPU thread so we must not block
+ * waiting for the initiator, otherwise we get a deadlock.
+ * Thus, execute the callback on behalf of any idle vCPUs.
+ */
+ for (i = 0; i < maxcpus; i++) {
+ vcpu = vm_vcpu(vm, i);
+ if (vcpu == NULL)
+ continue;
+ vcpu_lock(vcpu);
+ if (vcpu->state == VCPU_IDLE) {
+ (void)vcpu_set_state_locked(vcpu, VCPU_FROZEN,
+ true);
+ CPU_SET(i, &locked);
+ }
+ if (CPU_ISSET(i, &locked)) {
+ /*
+ * We can safely execute the callback on this
+ * vCPU's behalf.
+ */
+ vcpu_unlock(vcpu);
+ (void)vm_rendezvous(vcpu);
+ vcpu_lock(vcpu);
+ }
+ vcpu_unlock(vcpu);
+ }
+ }
+
+ /*
+ * Now wait for remaining vCPUs to become idle. This may include the
+ * initiator of a rendezvous that is currently blocked on the rendezvous
+ * mutex.
+ */
+ CPU_FOREACH_ISCLR(i, &locked) {
+ if (i >= maxcpus)
+ break;
+ vcpu = vm_vcpu(vm, i);
+ if (vcpu == NULL)
+ continue;
+ vcpu_lock(vcpu);
+ while (vcpu->state != VCPU_IDLE) {
+ mtx_unlock(&vm->rendezvous_mtx);
+ vcpu_wait_idle(vcpu);
+ vcpu_unlock(vcpu);
+ mtx_lock(&vm->rendezvous_mtx);
+ if (vm->rendezvous_func != NULL)
+ goto restart;
+ vcpu_lock(vcpu);
+ }
+ error = vcpu_set_state_locked(vcpu, newstate, true);
+ vcpu_unlock(vcpu);
+ if (error != 0) {
+ /* Roll back state changes. */
+ CPU_FOREACH_ISSET(i, &locked)
+ (void)vcpu_set_state(vcpu, VCPU_IDLE, false);
+ break;
+ }
+ CPU_SET(i, &locked);
+ }
+ mtx_unlock(&vm->rendezvous_mtx);
+ return (error);
+}
+
static void
vcpu_require_state(struct vcpu *vcpu, enum vcpu_state newstate)
{
@@ -1083,36 +1215,23 @@ vcpu_require_state_locked(struct vcpu *vcpu, enum vcpu_state newstate)
static int
vm_handle_rendezvous(struct vcpu *vcpu)
{
- struct vm *vm = vcpu->vm;
+ struct vm *vm;
struct thread *td;
- int error, vcpuid;
- error = 0;
- vcpuid = vcpu->vcpuid;
td = curthread;
+ vm = vcpu->vm;
+
mtx_lock(&vm->rendezvous_mtx);
while (vm->rendezvous_func != NULL) {
- /* 'rendezvous_req_cpus' must be a subset of 'active_cpus' */
- CPU_AND(&vm->rendezvous_req_cpus, &vm->rendezvous_req_cpus, &vm->active_cpus);
-
- if (CPU_ISSET(vcpuid, &vm->rendezvous_req_cpus) &&
- !CPU_ISSET(vcpuid, &vm->rendezvous_done_cpus)) {
- VMM_CTR0(vcpu, "Calling rendezvous func");
- (*vm->rendezvous_func)(vcpu, vm->rendezvous_arg);
- CPU_SET(vcpuid, &vm->rendezvous_done_cpus);
- }
- if (CPU_CMP(&vm->rendezvous_req_cpus,
- &vm->rendezvous_done_cpus) == 0) {
- VMM_CTR0(vcpu, "Rendezvous completed");
- CPU_ZERO(&vm->rendezvous_req_cpus);
- vm->rendezvous_func = NULL;
- wakeup(&vm->rendezvous_func);
+ if (vm_rendezvous(vcpu))
break;
- }
+
VMM_CTR0(vcpu, "Wait for rendezvous completion");
mtx_sleep(&vm->rendezvous_func, &vm->rendezvous_mtx, 0,
"vmrndv", hz);
if (td_ast_pending(td, TDA_SUSPEND)) {
+ int error;
+
mtx_unlock(&vm->rendezvous_mtx);
error = thread_check_susp(td, true);
if (error != 0)
diff --git a/sys/arm/allwinner/aw_sid.c b/sys/arm/allwinner/aw_sid.c
index ba5faca33c5e..932c2f189e51 100644
--- a/sys/arm/allwinner/aw_sid.c
+++ b/sys/arm/allwinner/aw_sid.c
@@ -297,7 +297,7 @@ aw_sid_attach(device_t dev)
/* Register ourself so device can resolve who we are */
OF_device_register_xref(OF_xref_from_node(node), dev);
- for (i = 0; i < sc->sid_conf->nfuses ;i++) {\
+ for (i = 0; i < sc->sid_conf->nfuses; i++) {
SYSCTL_ADD_PROC(device_get_sysctl_ctx(dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(dev)),
OID_AUTO, sc->sid_conf->efuses[i].name,
diff --git a/sys/arm/arm/elf_machdep.c b/sys/arm/arm/elf_machdep.c
index ea6437f320ce..881c4fcff475 100644
--- a/sys/arm/arm/elf_machdep.c
+++ b/sys/arm/arm/elf_machdep.c
@@ -106,7 +106,7 @@ struct sysentvec elf32_freebsd_sysvec = {
};
INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec);
-static Elf32_Brandinfo freebsd_brand_info = {
+static const Elf32_Brandinfo freebsd_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_ARM,
.compat_3_brand = "FreeBSD",
@@ -118,7 +118,7 @@ static Elf32_Brandinfo freebsd_brand_info = {
.header_supported= elf32_arm_abi_supported,
};
-SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST,
+C_SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&freebsd_brand_info);
diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c
index 78883296c5b7..6a0ece1e4d98 100644
--- a/sys/arm/arm/pmap-v6.c
+++ b/sys/arm/arm/pmap-v6.c
@@ -1246,7 +1246,7 @@ pmap_bootstrap(vm_offset_t firstaddr)
}
static void
-pmap_init_reserved_pages(void)
+pmap_init_reserved_pages(void *dummy __unused)
{
struct pcpu *pc;
vm_offset_t pages;
diff --git a/sys/arm/arm/unwind.c b/sys/arm/arm/unwind.c
index 7ad91a3e01a5..0d77074fae34 100644
--- a/sys/arm/arm/unwind.c
+++ b/sys/arm/arm/unwind.c
@@ -278,7 +278,7 @@ unwind_module_unloaded(struct linker_file *lf)
* the unwind tables might be stripped, so instead we have to use the
* _exidx_start/end symbols created by ldscript.arm.
*/
-static int
+static void
module_info_init(void *arg __unused)
{
struct linker_file thekernel;
@@ -291,8 +291,6 @@ module_info_init(void *arg __unused)
thekernel.exidx_addr = CADDR(&_exidx_start);
thekernel.exidx_size = UADDR(&_exidx_end) - UADDR(&_exidx_start);
populate_module_info(create_module_info(), &thekernel);
-
- return (0);
}
SYSINIT(unwind_init, SI_SUB_KMEM, SI_ORDER_ANY, module_info_init, NULL);
diff --git a/sys/arm/ti/ti_pruss.c b/sys/arm/ti/ti_pruss.c
index 4e9f2022240c..bae1de9f2ddf 100644
--- a/sys/arm/ti/ti_pruss.c
+++ b/sys/arm/ti/ti_pruss.c
@@ -793,6 +793,7 @@ static const struct filterops ti_pruss_kq_read = {
.f_isfd = 1,
.f_detach = ti_pruss_irq_kqread_detach,
.f_event = ti_pruss_irq_kqevent,
+ .f_copy = knote_triv_copy,
};
static void
diff --git a/sys/arm64/arm64/cpu_errata.c b/sys/arm64/arm64/cpu_errata.c
index 989924bc0567..b876703a2a15 100644
--- a/sys/arm64/arm64/cpu_errata.c
+++ b/sys/arm64/arm64/cpu_errata.c
@@ -52,56 +52,11 @@ struct cpu_quirks {
u_int flags;
};
-static enum {
- SSBD_FORCE_ON,
- SSBD_FORCE_OFF,
- SSBD_KERNEL,
-} ssbd_method = SSBD_KERNEL;
-
-static cpu_quirk_install install_psci_bp_hardening;
-static cpu_quirk_install install_ssbd_workaround;
static cpu_quirk_install install_thunderx_bcast_tlbi_workaround;
static struct cpu_quirks cpu_quirks[] = {
{
.midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
- .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A57,0,0),
- .quirk_install = install_psci_bp_hardening,
- .flags = CPU_QUIRK_POST_DEVICE,
- },
- {
- .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
- .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A72,0,0),
- .quirk_install = install_psci_bp_hardening,
- .flags = CPU_QUIRK_POST_DEVICE,
- },
- {
- .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
- .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A73,0,0),
- .quirk_install = install_psci_bp_hardening,
- .flags = CPU_QUIRK_POST_DEVICE,
- },
- {
- .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
- .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A75,0,0),
- .quirk_install = install_psci_bp_hardening,
- .flags = CPU_QUIRK_POST_DEVICE,
- },
- {
- .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
- .midr_value =
- CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX2, 0,0),
- .quirk_install = install_psci_bp_hardening,
- .flags = CPU_QUIRK_POST_DEVICE,
- },
- {
- .midr_mask = 0,
- .midr_value = 0,
- .quirk_install = install_ssbd_workaround,
- .flags = CPU_QUIRK_POST_DEVICE,
- },
- {
- .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
.midr_value =
CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX, 0, 0),
.quirk_install = install_thunderx_bcast_tlbi_workaround,
@@ -114,57 +69,6 @@ static struct cpu_quirks cpu_quirks[] = {
},
};
-static void
-install_psci_bp_hardening(void)
-{
- /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */
- if (!psci_present)
- return;
-
- if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_1) != SMCCC_RET_SUCCESS)
- return;
-
- PCPU_SET(bp_harden, smccc_arch_workaround_1);
-}
-
-static void
-install_ssbd_workaround(void)
-{
- char *env;
-
- if (PCPU_GET(cpuid) == 0) {
- env = kern_getenv("kern.cfg.ssbd");
- if (env != NULL) {
- if (strcmp(env, "force-on") == 0) {
- ssbd_method = SSBD_FORCE_ON;
- } else if (strcmp(env, "force-off") == 0) {
- ssbd_method = SSBD_FORCE_OFF;
- }
- }
- }
-
- /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */
- if (!psci_present)
- return;
-
- /* Enable the workaround on this CPU if it's enabled in the firmware */
- if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_2) != SMCCC_RET_SUCCESS)
- return;
-
- switch(ssbd_method) {
- case SSBD_FORCE_ON:
- smccc_arch_workaround_2(1);
- break;
- case SSBD_FORCE_OFF:
- smccc_arch_workaround_2(0);
- break;
- case SSBD_KERNEL:
- default:
- PCPU_SET(ssbd, smccc_arch_workaround_2);
- break;
- }
-}
-
/*
* Workaround Cavium erratum 27456.
*
diff --git a/sys/arm64/arm64/elf_machdep.c b/sys/arm64/arm64/elf_machdep.c
index 13af5c5065d6..207b37180a26 100644
--- a/sys/arm64/arm64/elf_machdep.c
+++ b/sys/arm64/arm64/elf_machdep.c
@@ -121,7 +121,7 @@ static struct sysentvec elf64_freebsd_sysvec = {
};
INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec);
-static Elf64_Brandinfo freebsd_brand_info = {
+static const Elf64_Brandinfo freebsd_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_AARCH64,
.compat_3_brand = "FreeBSD",
@@ -131,8 +131,7 @@ static Elf64_Brandinfo freebsd_brand_info = {
.brand_note = &elf64_freebsd_brandnote,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-
-SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST,
+C_SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST,
(sysinit_cfunc_t)elf64_insert_brand_entry, &freebsd_brand_info);
static bool
@@ -336,7 +335,7 @@ elf_cpu_parse_dynamic(caddr_t loadbase __unused, Elf_Dyn *dynamic __unused)
return (0);
}
-static Elf_Note gnu_property_note = {
+static const Elf_Note gnu_property_note = {
.n_namesz = sizeof(GNU_ABI_VENDOR),
.n_descsz = 16,
.n_type = NT_GNU_PROPERTY_TYPE_0,
diff --git a/sys/arm64/arm64/spec_workaround.c b/sys/arm64/arm64/spec_workaround.c
new file mode 100644
index 000000000000..7f4f86cdb48c
--- /dev/null
+++ b/sys/arm64/arm64/spec_workaround.c
@@ -0,0 +1,166 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2025 Arm Ltd
+ * Copyright (c) 2018 Andrew Turner
+ *
+ * This software was developed by SRI International and the University of
+ * Cambridge Computer Laboratory under DARPA/AFRL contract FA8750-10-C-0237
+ * ("CTSRD"), as part of the DARPA CRASH research programme.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/param.h>
+#include <sys/kernel.h>
+#include <sys/pcpu.h>
+#include <sys/systm.h>
+
+#include <machine/cpu.h>
+#include <machine/cpu_feat.h>
+
+#include <dev/psci/psci.h>
+#include <dev/psci/smccc.h>
+
+static enum {
+ SSBD_FORCE_ON,
+ SSBD_FORCE_OFF,
+ SSBD_KERNEL,
+} ssbd_method = SSBD_KERNEL;
+
+struct psci_bp_hardening_impl {
+ u_int midr_mask;
+ u_int midr_value;
+};
+
+static struct psci_bp_hardening_impl psci_bp_hardening_impl[] = {
+ {
+ .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
+ .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A57,0,0),
+ },
+ {
+ .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
+ .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A72,0,0),
+ },
+ {
+ .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
+ .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A73,0,0),
+ },
+ {
+ .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
+ .midr_value = CPU_ID_RAW(CPU_IMPL_ARM, CPU_PART_CORTEX_A75,0,0),
+ },
+ {
+ .midr_mask = CPU_IMPL_MASK | CPU_PART_MASK,
+ .midr_value =
+ CPU_ID_RAW(CPU_IMPL_CAVIUM, CPU_PART_THUNDERX2, 0,0),
+ }
+};
+
+static cpu_feat_en
+psci_bp_hardening_check(const struct cpu_feat *feat __unused, u_int midr)
+{
+ size_t i;
+
+ for (i = 0; i < nitems(psci_bp_hardening_impl); i++) {
+ if ((midr & psci_bp_hardening_impl[i].midr_mask) ==
+ psci_bp_hardening_impl[i].midr_value) {
+ /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */
+ if (!psci_present)
+ return (FEAT_ALWAYS_DISABLE);
+
+ if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_1) !=
+ SMCCC_RET_SUCCESS)
+ return (FEAT_ALWAYS_DISABLE);
+
+ return (FEAT_DEFAULT_ENABLE);
+ }
+ }
+
+ return (FEAT_ALWAYS_DISABLE);
+}
+
+static bool
+psci_bp_hardening_enable(const struct cpu_feat *feat __unused,
+ cpu_feat_errata errata_status __unused, u_int *errata_list __unused,
+ u_int errata_count __unused)
+{
+ PCPU_SET(bp_harden, smccc_arch_workaround_1);
+
+ return (true);
+}
+
+CPU_FEAT(feat_csv2_missing, "Branch Predictor Hardening",
+ psci_bp_hardening_check, NULL, psci_bp_hardening_enable, NULL,
+ CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU);
+
+static cpu_feat_en
+ssbd_workaround_check(const struct cpu_feat *feat __unused, u_int midr __unused)
+{
+ char *env;
+
+ if (PCPU_GET(cpuid) == 0) {
+ env = kern_getenv("kern.cfg.ssbd");
+ if (env != NULL) {
+ if (strcmp(env, "force-on") == 0) {
+ ssbd_method = SSBD_FORCE_ON;
+ } else if (strcmp(env, "force-off") == 0) {
+ ssbd_method = SSBD_FORCE_OFF;
+ }
+ }
+ }
+
+ /* SMCCC depends on PSCI. If PSCI is missing so is SMCCC */
+ if (!psci_present)
+ return (FEAT_ALWAYS_DISABLE);
+
+ /* Enable the workaround on this CPU if it's enabled in the firmware */
+ if (smccc_arch_features(SMCCC_ARCH_WORKAROUND_2) != SMCCC_RET_SUCCESS)
+ return (FEAT_ALWAYS_DISABLE);
+
+ return (FEAT_DEFAULT_ENABLE);
+}
+
+static bool
+ssbd_workaround_enable(const struct cpu_feat *feat __unused,
+ cpu_feat_errata errata_status __unused, u_int *errata_list __unused,
+ u_int errata_count __unused)
+{
+ switch(ssbd_method) {
+ case SSBD_FORCE_ON:
+ smccc_arch_workaround_2(1);
+ break;
+ case SSBD_FORCE_OFF:
+ smccc_arch_workaround_2(0);
+ break;
+ case SSBD_KERNEL:
+ default:
+ PCPU_SET(ssbd, smccc_arch_workaround_2);
+ break;
+ }
+
+ return (true);
+}
+
+CPU_FEAT(feat_ssbs_missing, "Speculator Store Bypass Disable Workaround",
+ ssbd_workaround_check, NULL, ssbd_workaround_enable, NULL,
+ CPU_FEAT_AFTER_DEV | CPU_FEAT_PER_CPU);
diff --git a/sys/arm64/coresight/coresight.c b/sys/arm64/coresight/coresight.c
index 5928c153f4ae..9b9d3c65ecc9 100644
--- a/sys/arm64/coresight/coresight.c
+++ b/sys/arm64/coresight/coresight.c
@@ -113,7 +113,7 @@ coresight_get_output_device(struct endpoint *endp, struct endpoint **out_endp)
}
static void
-coresight_init(void)
+coresight_init(void *dummy __unused)
{
mtx_init(&cs_mtx, "ARM Coresight", NULL, MTX_DEF);
diff --git a/sys/arm64/include/vmm.h b/sys/arm64/include/vmm.h
index 84b286a60b38..696a69669a2a 100644
--- a/sys/arm64/include/vmm.h
+++ b/sys/arm64/include/vmm.h
@@ -177,7 +177,7 @@ DECLARE_VMMOPS_FUNC(int, restore_tsc, (void *vcpui, uint64_t now));
int vm_create(const char *name, struct vm **retvm);
struct vcpu *vm_alloc_vcpu(struct vm *vm, int vcpuid);
void vm_disable_vcpu_creation(struct vm *vm);
-void vm_slock_vcpus(struct vm *vm);
+void vm_lock_vcpus(struct vm *vm);
void vm_unlock_vcpus(struct vm *vm);
void vm_destroy(struct vm *vm);
int vm_reinit(struct vm *vm);
diff --git a/sys/arm64/linux/linux_sysvec.c b/sys/arm64/linux/linux_sysvec.c
index 084b7a11b01f..ac05820f89bc 100644
--- a/sys/arm64/linux/linux_sysvec.c
+++ b/sys/arm64/linux/linux_sysvec.c
@@ -584,7 +584,7 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset)
}
}
-static Elf_Brandnote linux64_brandnote = {
+static const Elf_Brandnote linux64_brandnote = {
.hdr.n_namesz = sizeof(GNU_ABI_VENDOR),
.hdr.n_descsz = 16,
.hdr.n_type = 1,
@@ -593,7 +593,7 @@ static Elf_Brandnote linux64_brandnote = {
.trans_osrel = linux_trans_osrel
};
-static Elf64_Brandinfo linux_glibc2brand = {
+static const Elf64_Brandinfo linux_glibc2brand = {
.brand = ELFOSABI_LINUX,
.machine = EM_AARCH64,
.compat_3_brand = "Linux",
@@ -604,7 +604,7 @@ static Elf64_Brandinfo linux_glibc2brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-Elf64_Brandinfo *linux_brandlist[] = {
+const Elf64_Brandinfo *linux_brandlist[] = {
&linux_glibc2brand,
NULL
};
@@ -612,8 +612,8 @@ Elf64_Brandinfo *linux_brandlist[] = {
static int
linux64_elf_modevent(module_t mod, int type, void *data)
{
- Elf64_Brandinfo **brandinfo;
- struct linux_ioctl_handler**lihp;
+ const Elf64_Brandinfo **brandinfo;
+ struct linux_ioctl_handler **lihp;
int error;
error = 0;
diff --git a/sys/arm64/vmm/vmm.c b/sys/arm64/vmm/vmm.c
index aeda689f3b1a..bf52dc0fe916 100644
--- a/sys/arm64/vmm/vmm.c
+++ b/sys/arm64/vmm/vmm.c
@@ -469,9 +469,9 @@ vm_alloc_vcpu(struct vm *vm, int vcpuid)
}
void
-vm_slock_vcpus(struct vm *vm)
+vm_lock_vcpus(struct vm *vm)
{
- sx_slock(&vm->vcpus_init_lock);
+ sx_xlock(&vm->vcpus_init_lock);
}
void
diff --git a/sys/cam/scsi/scsi_all.c b/sys/cam/scsi/scsi_all.c
index b518f84454ad..fd128e69f1f1 100644
--- a/sys/cam/scsi/scsi_all.c
+++ b/sys/cam/scsi/scsi_all.c
@@ -112,7 +112,7 @@ static void fetchtableentries(int sense_key, int asc, int ascq,
const struct asc_table_entry **);
#ifdef _KERNEL
-static void init_scsi_delay(void);
+static void init_scsi_delay(void *);
static int sysctl_scsi_delay(SYSCTL_HANDLER_ARGS);
static int set_scsi_delay(int delay);
#endif
@@ -686,7 +686,7 @@ scsi_op_desc(uint16_t opcode, struct scsi_inquiry_data *inq_data)
opmask = 1 << pd_type;
for (j = 0; j < num_tables; j++) {
- for (i = 0;i < num_ops[j] && table[j][i].opcode <= opcode; i++){
+ for (i = 0; i < num_ops[j] && table[j][i].opcode <= opcode; i++) {
if ((table[j][i].opcode == opcode)
&& ((table[j][i].opmask & opmask) != 0))
return(table[j][i].desc);
@@ -9379,7 +9379,7 @@ scsi_vpd_supported_page(struct cam_periph *periph, uint8_t page_id)
}
static void
-init_scsi_delay(void)
+init_scsi_delay(void *dummy __unused)
{
int delay;
diff --git a/sys/cam/scsi/scsi_enc_ses.c b/sys/cam/scsi/scsi_enc_ses.c
index 435874a9874a..3a362eaf11a4 100644
--- a/sys/cam/scsi/scsi_enc_ses.c
+++ b/sys/cam/scsi/scsi_enc_ses.c
@@ -2302,7 +2302,7 @@ ses_print_addl_data_sas_type0(char *sesname, struct sbuf *sbp,
sbuf_putc(sbp, '\n');
if (addl->proto_data.sasdev_phys == NULL)
return;
- for (i = 0;i < addl->proto_hdr.sas->base_hdr.num_phys;i++) {
+ for (i = 0; i < addl->proto_hdr.sas->base_hdr.num_phys; i++) {
phy = &addl->proto_data.sasdev_phys[i];
sbuf_printf(sbp, "%s: phy %d:", sesname, i);
if (ses_elm_sas_dev_phy_sata_dev(phy))
@@ -2349,7 +2349,7 @@ ses_print_addl_data_sas_type1(char *sesname, struct sbuf *sbp,
sbuf_printf(sbp, "Expander: %d phys", num_phys);
if (addl->proto_data.sasexp_phys == NULL)
return;
- for (i = 0;i < num_phys;i++) {
+ for (i = 0; i < num_phys; i++) {
exp_phy = &addl->proto_data.sasexp_phys[i];
sbuf_printf(sbp, "%s: phy %d: connector %d other %d\n",
sesname, i, exp_phy->connector_index,
@@ -2360,7 +2360,7 @@ ses_print_addl_data_sas_type1(char *sesname, struct sbuf *sbp,
sbuf_printf(sbp, "Port: %d phys", num_phys);
if (addl->proto_data.sasport_phys == NULL)
return;
- for (i = 0;i < num_phys;i++) {
+ for (i = 0; i < num_phys; i++) {
port_phy = &addl->proto_data.sasport_phys[i];
sbuf_printf(sbp,
"%s: phy %d: id %d connector %d other %d\n",
diff --git a/sys/cam/scsi/scsi_pass.c b/sys/cam/scsi/scsi_pass.c
index c3587421c176..b44ab866dfe7 100644
--- a/sys/cam/scsi/scsi_pass.c
+++ b/sys/cam/scsi/scsi_pass.c
@@ -206,7 +206,8 @@ static struct cdevsw pass_cdevsw = {
static const struct filterops passread_filtops = {
.f_isfd = 1,
.f_detach = passreadfiltdetach,
- .f_event = passreadfilt
+ .f_event = passreadfilt,
+ .f_copy = knote_triv_copy,
};
static MALLOC_DEFINE(M_SCSIPASS, "scsi_pass", "scsi passthrough buffers");
diff --git a/sys/cam/scsi/scsi_target.c b/sys/cam/scsi/scsi_target.c
index 21c78e35dadc..39ce2bcea8f4 100644
--- a/sys/cam/scsi/scsi_target.c
+++ b/sys/cam/scsi/scsi_target.c
@@ -108,6 +108,7 @@ static const struct filterops targread_filtops = {
.f_isfd = 1,
.f_detach = targreadfiltdetach,
.f_event = targreadfilt,
+ .f_copy = knote_triv_copy,
};
static struct cdevsw targ_cdevsw = {
diff --git a/sys/cddl/compat/opensolaris/kern/opensolaris.c b/sys/cddl/compat/opensolaris/kern/opensolaris.c
index 10924977c20d..898b2ea49f96 100644
--- a/sys/cddl/compat/opensolaris/kern/opensolaris.c
+++ b/sys/cddl/compat/opensolaris/kern/opensolaris.c
@@ -67,7 +67,7 @@ opensolaris_load(void *dummy)
SYSINIT(opensolaris_register, SI_SUB_OPENSOLARIS, SI_ORDER_FIRST, opensolaris_load, NULL);
static void
-opensolaris_unload(void)
+opensolaris_unload(void *dummy __unused)
{
mutex_destroy(&cpu_lock);
}
diff --git a/sys/compat/ia32/ia32_sysvec.c b/sys/compat/ia32/ia32_sysvec.c
index 0ea7d072e911..b9dada4eee7b 100644
--- a/sys/compat/ia32/ia32_sysvec.c
+++ b/sys/compat/ia32/ia32_sysvec.c
@@ -145,7 +145,7 @@ struct sysentvec ia32_freebsd_sysvec = {
};
INIT_SYSENTVEC(elf_ia32_sysvec, &ia32_freebsd_sysvec);
-static Elf32_Brandinfo ia32_brand_info = {
+static const Elf32_Brandinfo ia32_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_386,
.compat_3_brand = "FreeBSD",
@@ -155,12 +155,10 @@ static Elf32_Brandinfo ia32_brand_info = {
.brand_note = &elf32_freebsd_brandnote,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
+C_SYSINIT(ia32, SI_SUB_EXEC, SI_ORDER_MIDDLE,
+ (sysinit_cfunc_t)elf32_insert_brand_entry, &ia32_brand_info);
-SYSINIT(ia32, SI_SUB_EXEC, SI_ORDER_MIDDLE,
- (sysinit_cfunc_t) elf32_insert_brand_entry,
- &ia32_brand_info);
-
-static Elf32_Brandinfo ia32_brand_oinfo = {
+static const Elf32_Brandinfo ia32_brand_oinfo = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_386,
.compat_3_brand = "FreeBSD",
@@ -170,12 +168,10 @@ static Elf32_Brandinfo ia32_brand_oinfo = {
.brand_note = &elf32_freebsd_brandnote,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
+C_SYSINIT(oia32, SI_SUB_EXEC, SI_ORDER_ANY,
+ (sysinit_cfunc_t)elf32_insert_brand_entry, &ia32_brand_oinfo);
-SYSINIT(oia32, SI_SUB_EXEC, SI_ORDER_ANY,
- (sysinit_cfunc_t) elf32_insert_brand_entry,
- &ia32_brand_oinfo);
-
-static Elf32_Brandinfo kia32_brand_info = {
+static const Elf32_Brandinfo kia32_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_386,
.compat_3_brand = "FreeBSD",
@@ -184,10 +180,8 @@ static Elf32_Brandinfo kia32_brand_info = {
.brand_note = &elf32_kfreebsd_brandnote,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY
};
-
-SYSINIT(kia32, SI_SUB_EXEC, SI_ORDER_ANY,
- (sysinit_cfunc_t) elf32_insert_brand_entry,
- &kia32_brand_info);
+C_SYSINIT(kia32, SI_SUB_EXEC, SI_ORDER_ANY,
+ (sysinit_cfunc_t)elf32_insert_brand_entry, &kia32_brand_info);
void
elf32_dump_thread(struct thread *td, void *dst, size_t *off)
diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c
index 95b212be1306..7ac48786c77b 100644
--- a/sys/compat/linprocfs/linprocfs.c
+++ b/sys/compat/linprocfs/linprocfs.c
@@ -2216,6 +2216,67 @@ linprocfs_dosysvipc_shm(PFS_FILL_ARGS)
return (0);
}
+static int
+linprocfs_doinotify(const char *sysctl, PFS_FILL_ARGS)
+{
+ size_t size;
+ int error, val;
+
+ if (uio->uio_rw == UIO_READ) {
+ size = sizeof(val);
+ error = kernel_sysctlbyname(curthread,
+ __DECONST(void *, sysctl), &val, &size, NULL, 0, 0, 0);
+ if (error == 0)
+ sbuf_printf(sb, "%d\n", val);
+ } else {
+ char *endp, *newval;
+ long vall;
+
+ sbuf_trim(sb);
+ sbuf_finish(sb);
+ newval = sbuf_data(sb);
+ vall = strtol(newval, &endp, 10);
+ if (vall < 0 || vall > INT_MAX || endp == newval ||
+ *endp != '\0')
+ return (EINVAL);
+ val = (int)vall;
+ error = kernel_sysctlbyname(curthread,
+ __DECONST(void *, sysctl), NULL, NULL,
+ &val, sizeof(val), 0, 0);
+ }
+ return (error);
+}
+
+/*
+ * Filler function for proc/sys/fs/inotify/max_queued_events
+ */
+static int
+linprocfs_doinotify_max_queued_events(PFS_FILL_ARGS)
+{
+ return (linprocfs_doinotify("vfs.inotify.max_queued_events",
+ PFS_FILL_ARGNAMES));
+}
+
+/*
+ * Filler function for proc/sys/fs/inotify/max_user_instances
+ */
+static int
+linprocfs_doinotify_max_user_instances(PFS_FILL_ARGS)
+{
+ return (linprocfs_doinotify("vfs.inotify.max_user_instances",
+ PFS_FILL_ARGNAMES));
+}
+
+/*
+ * Filler function for proc/sys/fs/inotify/max_user_watches
+ */
+static int
+linprocfs_doinotify_max_user_watches(PFS_FILL_ARGS)
+{
+ return (linprocfs_doinotify("vfs.inotify.max_user_watches",
+ PFS_FILL_ARGNAMES));
+}
+
/*
* Filler function for proc/sys/fs/mqueue/msg_default
*/
@@ -2313,9 +2374,7 @@ linprocfs_domqueue_queues_max(PFS_FILL_ARGS)
static int
linprocfs_init(PFS_INIT_ARGS)
{
- struct pfs_node *root;
- struct pfs_node *dir;
- struct pfs_node *sys;
+ struct pfs_node *dir, *fs, *root, *sys;
root = pi->pi_root;
@@ -2466,10 +2525,18 @@ linprocfs_init(PFS_INIT_ARGS)
NULL, PFS_RD);
/* /proc/sys/fs/... */
- pfs_create_dir(sys, &dir, "fs", NULL, NULL, NULL, 0);
+ pfs_create_dir(sys, &fs, "fs", NULL, NULL, NULL, 0);
+
+ pfs_create_dir(fs, &dir, "inotify", NULL, NULL, NULL, 0);
+ pfs_create_file(dir, NULL, "max_queued_events",
+ &linprocfs_doinotify_max_queued_events, NULL, NULL, NULL, PFS_RDWR);
+ pfs_create_file(dir, NULL, "max_user_instances",
+ &linprocfs_doinotify_max_user_instances, NULL, NULL, NULL, PFS_RDWR);
+ pfs_create_file(dir, NULL, "max_user_watches",
+ &linprocfs_doinotify_max_user_watches, NULL, NULL, NULL, PFS_RDWR);
/* /proc/sys/fs/mqueue/... */
- pfs_create_dir(dir, &dir, "mqueue", NULL, NULL, NULL, 0);
+ pfs_create_dir(fs, &dir, "mqueue", NULL, NULL, NULL, 0);
pfs_create_file(dir, NULL, "msg_default",
&linprocfs_domqueue_msg_default, NULL, NULL, NULL, PFS_RD);
pfs_create_file(dir, NULL, "msgsize_default",
diff --git a/sys/compat/linux/linux.c b/sys/compat/linux/linux.c
index 61b207070963..a40f110634f7 100644
--- a/sys/compat/linux/linux.c
+++ b/sys/compat/linux/linux.c
@@ -578,8 +578,13 @@ bsd_to_linux_sockaddr(const struct sockaddr *sa, struct l_sockaddr **lsa,
return (0);
}
+/*
+ * If sap is NULL, then osa points at already copied in linux sockaddr that
+ * should be edited in place. Otherwise memory is allocated, sockaddr
+ * copied in and returned in *sap.
+ */
int
-linux_to_bsd_sockaddr(const struct l_sockaddr *osa, struct sockaddr **sap,
+linux_to_bsd_sockaddr(struct l_sockaddr *osa, struct sockaddr **sap,
socklen_t *len)
{
struct sockaddr *sa;
@@ -609,10 +614,12 @@ linux_to_bsd_sockaddr(const struct l_sockaddr *osa, struct sockaddr **sap,
}
#endif
- kosa = malloc(salen, M_SONAME, M_WAITOK);
-
- if ((error = copyin(osa, kosa, *len)))
- goto out;
+ if (sap != NULL) {
+ kosa = malloc(salen, M_SONAME, M_WAITOK);
+ if ((error = copyin(osa, kosa, *len)))
+ goto out;
+ } else
+ kosa = osa;
bdom = linux_to_bsd_domain(kosa->sa_family);
if (bdom == AF_UNKNOWN) {
@@ -686,12 +693,15 @@ linux_to_bsd_sockaddr(const struct l_sockaddr *osa, struct sockaddr **sap,
sa->sa_family = bdom;
sa->sa_len = salen;
- *sap = sa;
- *len = salen;
+ if (sap != NULL) {
+ *sap = sa;
+ *len = salen;
+ }
return (0);
out:
- free(kosa, M_SONAME);
+ if (sap != NULL)
+ free(kosa, M_SONAME);
return (error);
}
diff --git a/sys/compat/linux/linux_common.h b/sys/compat/linux/linux_common.h
index 97f5a259f300..814c183b338a 100644
--- a/sys/compat/linux/linux_common.h
+++ b/sys/compat/linux/linux_common.h
@@ -43,7 +43,7 @@ sa_family_t bsd_to_linux_domain(sa_family_t domain);
#define AF_UNKNOWN UINT8_MAX
int bsd_to_linux_sockaddr(const struct sockaddr *sa,
struct l_sockaddr **lsa, socklen_t len);
-int linux_to_bsd_sockaddr(const struct l_sockaddr *lsa,
+int linux_to_bsd_sockaddr(struct l_sockaddr *lsa,
struct sockaddr **sap, socklen_t *len);
void linux_to_bsd_poll_events(struct thread *td, int fd,
short lev, short *bev);
diff --git a/sys/compat/linux/linux_event.c b/sys/compat/linux/linux_event.c
index e88791659f1f..fc3ef7c3e90a 100644
--- a/sys/compat/linux/linux_event.c
+++ b/sys/compat/linux/linux_event.c
@@ -104,7 +104,7 @@ static int
epoll_create_common(struct thread *td, int flags)
{
- return (kern_kqueue(td, flags, NULL));
+ return (kern_kqueue(td, flags, false, NULL));
}
#ifdef LINUX_LEGACY_SYSCALLS
diff --git a/sys/compat/linux/linux_futex.c b/sys/compat/linux/linux_futex.c
index 37d0142bae8b..0586eb55a8f3 100644
--- a/sys/compat/linux/linux_futex.c
+++ b/sys/compat/linux/linux_futex.c
@@ -251,7 +251,7 @@ linux_futex(struct thread *td, struct linux_futex_args *args)
* set LINUX_BI_FUTEX_REQUEUE bit of Brandinfo flags.
*/
p = td->td_proc;
- Elf_Brandinfo *bi = p->p_elf_brandinfo;
+ const Elf_Brandinfo *bi = p->p_elf_brandinfo;
if (bi == NULL || ((bi->flags & LINUX_BI_FUTEX_REQUEUE)) == 0)
return (EINVAL);
args->val3_compare = false;
diff --git a/sys/compat/linux/linux_ioctl.h b/sys/compat/linux/linux_ioctl.h
index ccc25bc919ab..8345b7e4b719 100644
--- a/sys/compat/linux/linux_ioctl.h
+++ b/sys/compat/linux/linux_ioctl.h
@@ -823,4 +823,16 @@ int linux32_ioctl_register_handler(struct linux_ioctl_handler *h);
int linux32_ioctl_unregister_handler(struct linux_ioctl_handler *h);
#endif
+#define LINUX_IOCTL_SET(n, low, high) \
+static linux_ioctl_function_t n##_linux_ioctl; \
+static struct linux_ioctl_handler n##_linux_handler = { \
+ n##_linux_ioctl, \
+ low, \
+ high \
+}; \
+SYSINIT(n##_ioctl_register, SI_SUB_KLD, SI_ORDER_MIDDLE, \
+ linux_ioctl_register_handler, &n##_linux_handler); \
+SYSUNINIT(n##_ioctl_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE, \
+ linux_ioctl_unregister_handler, &n##_linux_handler)
+
#endif /* !_LINUX_IOCTL_H_ */
diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c
index 0e07b0a60ced..b1a483ce611c 100644
--- a/sys/compat/linux/linux_socket.c
+++ b/sys/compat/linux/linux_socket.c
@@ -2146,7 +2146,8 @@ linux_setsockopt(struct thread *td, struct linux_setsockopt_args *args)
return (ENOPROTOOPT);
}
- if (name == IPV6_NEXTHOP) {
+ switch (name) {
+ case IPV6_NEXTHOP: {
len = args->optlen;
error = linux_to_bsd_sockaddr(PTRIN(args->optval), &sa, &len);
if (error != 0)
@@ -2155,7 +2156,34 @@ linux_setsockopt(struct thread *td, struct linux_setsockopt_args *args)
error = kern_setsockopt(td, args->s, level,
name, sa, UIO_SYSSPACE, len);
free(sa, M_SONAME);
- } else {
+ break;
+ }
+ case MCAST_JOIN_GROUP:
+ case MCAST_LEAVE_GROUP:
+ case MCAST_JOIN_SOURCE_GROUP:
+ case MCAST_LEAVE_SOURCE_GROUP: {
+ struct group_source_req req;
+ size_t size;
+
+ size = (name == MCAST_JOIN_SOURCE_GROUP ||
+ name == MCAST_LEAVE_SOURCE_GROUP) ?
+ sizeof(struct group_source_req) : sizeof(struct group_req);
+
+ if ((error = copyin(PTRIN(args->optval), &req, size)))
+ return (error);
+ len = sizeof(struct sockaddr_storage);
+ if ((error = linux_to_bsd_sockaddr(
+ (struct l_sockaddr *)&req.gsr_group, NULL, &len)))
+ return (error);
+ if (size == sizeof(struct group_source_req) &&
+ (error = linux_to_bsd_sockaddr(
+ (struct l_sockaddr *)&req.gsr_source, NULL, &len)))
+ return (error);
+ error = kern_setsockopt(td, args->s, level, name, &req,
+ UIO_SYSSPACE, size);
+ break;
+ }
+ default:
error = kern_setsockopt(td, args->s, level,
name, PTRIN(args->optval), UIO_USERSPACE, args->optlen);
}
diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c
index 458744a9fec6..ff0f477ea8cc 100644
--- a/sys/compat/linuxkpi/common/src/linux_compat.c
+++ b/sys/compat/linuxkpi/common/src/linux_compat.c
@@ -1171,12 +1171,14 @@ static const struct filterops linux_dev_kqfiltops_read = {
.f_isfd = 1,
.f_detach = linux_file_kqfilter_detach,
.f_event = linux_file_kqfilter_read_event,
+ .f_copy = knote_triv_copy,
};
static const struct filterops linux_dev_kqfiltops_write = {
.f_isfd = 1,
.f_detach = linux_file_kqfilter_detach,
.f_event = linux_file_kqfilter_write_event,
+ .f_copy = knote_triv_copy,
};
static void
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index ea9b2667607e..9944375c3615 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -679,6 +679,7 @@ options TCP_OFFLOAD # TCP offload support.
options TCP_RFC7413 # TCP Fast Open
options TCPHPTS
+#options TCP_HPTS_KTEST # Add KTEST support for HPTS
# In order to enable IPSEC you MUST also add device crypto to
# your kernel configuration
@@ -2800,7 +2801,7 @@ options MAXFILES=999
# Random number generator
# Alternative algorithm.
-#options RANDOM_FENESTRASX
+options RANDOM_FENESTRASX
# Allow the CSPRNG algorithm to be loaded as a module.
#options RANDOM_LOADABLE
# Select this to allow high-rate but potentially expensive
diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64
index 856ea3af1372..2f412fa3cb1b 100644
--- a/sys/conf/files.arm64
+++ b/sys/conf/files.arm64
@@ -73,6 +73,7 @@ arm64/arm64/pmap.c standard
arm64/arm64/ptrace_machdep.c standard
arm64/arm64/sdt_machdep.c optional kdtrace_hooks
arm64/arm64/sigtramp.S standard
+arm64/arm64/spec_workaround.c standard
arm64/arm64/stack_machdep.c optional ddb | stack
arm64/arm64/strcmp.S standard
arm64/arm64/strncmp.S standard
diff --git a/sys/conf/options b/sys/conf/options
index b48ad1cf42cf..0b795a8d28fb 100644
--- a/sys/conf/options
+++ b/sys/conf/options
@@ -231,6 +231,7 @@ SYSVSEM opt_sysvipc.h
SYSVSHM opt_sysvipc.h
SW_WATCHDOG opt_watchdog.h
TCPHPTS
+TCP_HPTS_KTEST opt_inet.h
TCP_REQUEST_TRK opt_global.h
TCP_ACCOUNTING opt_global.h
TCP_BBR opt_inet.h
diff --git a/sys/conf/std.debug b/sys/conf/std.debug
index f5ed5582c78d..0149779b3e5c 100644
--- a/sys/conf/std.debug
+++ b/sys/conf/std.debug
@@ -16,3 +16,4 @@ options MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9) zones
options VERBOSE_SYSINIT=0 # Support debug.verbose_sysinit, off by default
options ALT_BREAK_TO_DEBUGGER # Enter debugger on keyboard escape sequence
options KDTRACE_MIB_SDT # Add SDT probes to network counters
+options TCP_HPTS_KTEST # Add KTEST support for HPTS
diff --git a/sys/conf/std.nodebug b/sys/conf/std.nodebug
index 4035e28d2a62..79676a1d618f 100644
--- a/sys/conf/std.nodebug
+++ b/sys/conf/std.nodebug
@@ -16,6 +16,7 @@ nooptions KCOV
nooptions MALLOC_DEBUG_MAXZONES
nooptions QUEUE_MACRO_DEBUG_TRASH
nooptions KDTRACE_MIB_SDT
+nooptions TCP_HPTS_KTEST
# Net80211 debugging
nooptions IEEE80211_DEBUG
diff --git a/sys/contrib/libnv/bsd_nvpair.c b/sys/contrib/libnv/bsd_nvpair.c
index c73bc2189121..b884dd260b84 100644
--- a/sys/contrib/libnv/bsd_nvpair.c
+++ b/sys/contrib/libnv/bsd_nvpair.c
@@ -985,13 +985,13 @@ nvpair_unpack_string_array(bool isbe __unused, nvpair_t *nvp,
size = nvp->nvp_datasize;
tmp = (const char *)ptr;
for (ii = 0; ii < nvp->nvp_nitems; ii++) {
- len = strnlen(tmp, size - 1) + 1;
- size -= len;
- if (tmp[len - 1] != '\0') {
+ if (size <= 0) {
ERRNO_SET(EINVAL);
return (NULL);
}
- if (size < 0) {
+ len = strnlen(tmp, size - 1) + 1;
+ size -= len;
+ if (tmp[len - 1] != '\0') {
ERRNO_SET(EINVAL);
return (NULL);
}
diff --git a/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh b/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh
index 1c608348ffcd..422b3e9df388 100755
--- a/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh
+++ b/sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh
@@ -121,7 +121,14 @@ case "$OS" in
KSRC="$FREEBSD_SNAP/../amd64/$FreeBSD/src.txz"
;;
freebsd15-0c)
- FreeBSD="15.0-ALPHA3"
+ FreeBSD="15.0-ALPHA4"
+ OSNAME="FreeBSD $FreeBSD"
+ OSv="freebsd14.0"
+ URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"
+ KSRC="$FREEBSD_SNAP/../amd64/$FreeBSD/src.txz"
+ ;;
+ freebsd16-0c)
+ FreeBSD="16.0-CURRENT"
OSNAME="FreeBSD $FreeBSD"
OSv="freebsd14.0"
URLxz="$FREEBSD_SNAP/$FreeBSD/amd64/Latest/FreeBSD-$FreeBSD-amd64-BASIC-CI-ufs.raw.xz"
@@ -287,7 +294,7 @@ else
while pidof /usr/bin/qemu-system-x86_64 >/dev/null; do
ssh 2>/dev/null root@vm0 "uname -a" && break
done
- ssh root@vm0 "pkg install -y bash ca_root_nss git qemu-guest-agent python3 py311-cloud-init"
+ ssh root@vm0 "env IGNORE_OSVERSION=yes pkg install -y bash ca_root_nss git qemu-guest-agent python3 py311-cloud-init"
ssh root@vm0 "chsh -s $BASH root"
ssh root@vm0 'sysrc qemu_guest_agent_enable="YES"'
ssh root@vm0 'sysrc cloudinit_enable="YES"'
diff --git a/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml b/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml
index 69349678d84c..3b164548f9be 100644
--- a/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml
+++ b/sys/contrib/openzfs/.github/workflows/zfs-qemu.yml
@@ -68,7 +68,7 @@ jobs:
# FreeBSD variants of 2025-06:
# FreeBSD Release: freebsd13-5r, freebsd14-2r, freebsd14-3r
# FreeBSD Stable: freebsd13-5s, freebsd14-3s
- # FreeBSD Current: freebsd15-0c
+ # FreeBSD Current: freebsd15-0c, freebsd16-0c
os: ${{ fromJson(needs.test-config.outputs.test_os) }}
runs-on: ubuntu-24.04
steps:
diff --git a/sys/contrib/openzfs/cmd/zdb/zdb.c b/sys/contrib/openzfs/cmd/zdb/zdb.c
index 70a4ed46f263..1ffb8ebc70f2 100644
--- a/sys/contrib/openzfs/cmd/zdb/zdb.c
+++ b/sys/contrib/openzfs/cmd/zdb/zdb.c
@@ -106,11 +106,15 @@ extern boolean_t spa_mode_readable_spacemaps;
extern uint_t zfs_reconstruct_indirect_combinations_max;
extern uint_t zfs_btree_verify_intensity;
+enum {
+ ARG_ALLOCATED = 256,
+ ARG_BLOCK_BIN_MODE,
+ ARG_BLOCK_CLASSES,
+};
+
static const char cmdname[] = "zdb";
uint8_t dump_opt[512];
-#define ALLOCATED_OPT 256
-
typedef void object_viewer_t(objset_t *, uint64_t, void *data, size_t size);
static uint64_t *zopt_metaslab = NULL;
@@ -131,6 +135,20 @@ static objset_t *os;
static boolean_t kernel_init_done;
static boolean_t corruption_found = B_FALSE;
+static enum {
+ BIN_AUTO = 0,
+ BIN_PSIZE,
+ BIN_LSIZE,
+ BIN_ASIZE,
+} block_bin_mode = BIN_AUTO;
+
+static enum {
+ CLASS_NORMAL = 1 << 1,
+ CLASS_SPECIAL = 1 << 2,
+ CLASS_DEDUP = 1 << 3,
+ CLASS_OTHER = 1 << 4,
+} block_classes = 0;
+
static void snprintf_blkptr_compact(char *, size_t, const blkptr_t *,
boolean_t);
static void mos_obj_refd(uint64_t);
@@ -749,6 +767,12 @@ usage(void)
(void) fprintf(stderr, " Options to control amount of output:\n");
(void) fprintf(stderr, " -b --block-stats "
"block statistics\n");
+ (void) fprintf(stderr, " --bin=(lsize|psize|asize) "
+ "bin blocks based on this size in all three columns\n");
+ (void) fprintf(stderr,
+ " --class=(normal|special|dedup|other)[,...]\n"
+ " only consider blocks from "
+ "these allocation classes\n");
(void) fprintf(stderr, " -B --backup "
"backup stream\n");
(void) fprintf(stderr, " -c --checksum "
@@ -1694,7 +1718,7 @@ dump_metaslab(metaslab_t *msp)
(u_longlong_t)msp->ms_id, (u_longlong_t)msp->ms_start,
(u_longlong_t)space_map_object(sm), freebuf);
- if (dump_opt[ALLOCATED_OPT] ||
+ if (dump_opt[ARG_ALLOCATED] ||
(dump_opt['m'] > 2 && !dump_opt['L'])) {
mutex_enter(&msp->ms_lock);
VERIFY0(metaslab_load(msp));
@@ -1705,7 +1729,7 @@ dump_metaslab(metaslab_t *msp)
dump_metaslab_stats(msp);
}
- if (dump_opt[ALLOCATED_OPT]) {
+ if (dump_opt[ARG_ALLOCATED]) {
uint64_t off = msp->ms_start;
zfs_range_tree_walk(msp->ms_allocatable, dump_allocated,
&off);
@@ -1726,7 +1750,7 @@ dump_metaslab(metaslab_t *msp)
SPACE_MAP_HISTOGRAM_SIZE, sm->sm_shift);
}
- if (dump_opt[ALLOCATED_OPT] ||
+ if (dump_opt[ARG_ALLOCATED] ||
(dump_opt['m'] > 2 && !dump_opt['L'])) {
metaslab_unload(msp);
mutex_exit(&msp->ms_lock);
@@ -5814,6 +5838,34 @@ dump_size_histograms(zdb_cb_t *zcb)
(void) printf("\nBlock Size Histogram\n");
+ switch (block_bin_mode) {
+ case BIN_PSIZE:
+ printf("(note: all categories are binned by %s)\n", "psize");
+ break;
+ case BIN_LSIZE:
+ printf("(note: all categories are binned by %s)\n", "lsize");
+ break;
+ case BIN_ASIZE:
+ printf("(note: all categories are binned by %s)\n", "asize");
+ break;
+ default:
+ printf("(note: all categories are binned separately)\n");
+ break;
+ }
+ if (block_classes != 0) {
+ char buf[256] = "";
+ if (block_classes & CLASS_NORMAL)
+ strlcat(buf, "\"normal\", ", sizeof (buf));
+ if (block_classes & CLASS_SPECIAL)
+ strlcat(buf, "\"special\", ", sizeof (buf));
+ if (block_classes & CLASS_DEDUP)
+ strlcat(buf, "\"dedup\", ", sizeof (buf));
+ if (block_classes & CLASS_OTHER)
+ strlcat(buf, "\"other\", ", sizeof (buf));
+ buf[strlen(buf)-2] = '\0';
+ printf("(note: only blocks in these classes are counted: %s)\n",
+ buf);
+ }
/*
* Print the first line titles
*/
@@ -6162,29 +6214,85 @@ skipped:
[BPE_GET_PSIZE(bp)]++;
return;
}
+
+ if (block_classes != 0) {
+ spa_config_enter(zcb->zcb_spa, SCL_CONFIG, FTAG, RW_READER);
+
+ uint64_t vdev = DVA_GET_VDEV(&bp->blk_dva[0]);
+ uint64_t offset = DVA_GET_OFFSET(&bp->blk_dva[0]);
+ vdev_t *vd = vdev_lookup_top(zcb->zcb_spa, vdev);
+ ASSERT(vd != NULL);
+ metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
+ ASSERT(ms != NULL);
+ metaslab_group_t *mg = ms->ms_group;
+ ASSERT(mg != NULL);
+ metaslab_class_t *mc = mg->mg_class;
+ ASSERT(mc != NULL);
+
+ spa_config_exit(zcb->zcb_spa, SCL_CONFIG, FTAG);
+
+ int class;
+ if (mc == spa_normal_class(zcb->zcb_spa)) {
+ class = CLASS_NORMAL;
+ } else if (mc == spa_special_class(zcb->zcb_spa)) {
+ class = CLASS_SPECIAL;
+ } else if (mc == spa_dedup_class(zcb->zcb_spa)) {
+ class = CLASS_DEDUP;
+ } else {
+ class = CLASS_OTHER;
+ }
+
+ if (!(block_classes & class)) {
+ goto hist_skipped;
+ }
+ }
+
/*
* The binning histogram bins by powers of two up to
* SPA_MAXBLOCKSIZE rather than creating bins for
* every possible blocksize found in the pool.
*/
- int bin = highbit64(BP_GET_PSIZE(bp)) - 1;
+ int bin;
+
+ /*
+ * Binning strategy: each bin includes blocks up to and including
+ * the given size (excluding blocks that fit into the previous bin).
+ * This way, the "4K" bin includes blocks within the (2K; 4K] range.
+ */
+#define BIN(size) (highbit64((size) - 1))
+
+ switch (block_bin_mode) {
+ case BIN_PSIZE: bin = BIN(BP_GET_PSIZE(bp)); break;
+ case BIN_LSIZE: bin = BIN(BP_GET_LSIZE(bp)); break;
+ case BIN_ASIZE: bin = BIN(BP_GET_ASIZE(bp)); break;
+ case BIN_AUTO: break;
+ default: PANIC("bad block_bin_mode"); abort();
+ }
+
+ if (block_bin_mode == BIN_AUTO)
+ bin = BIN(BP_GET_PSIZE(bp));
zcb->zcb_psize_count[bin]++;
zcb->zcb_psize_len[bin] += BP_GET_PSIZE(bp);
zcb->zcb_psize_total += BP_GET_PSIZE(bp);
- bin = highbit64(BP_GET_LSIZE(bp)) - 1;
+ if (block_bin_mode == BIN_AUTO)
+ bin = BIN(BP_GET_LSIZE(bp));
zcb->zcb_lsize_count[bin]++;
zcb->zcb_lsize_len[bin] += BP_GET_LSIZE(bp);
zcb->zcb_lsize_total += BP_GET_LSIZE(bp);
- bin = highbit64(BP_GET_ASIZE(bp)) - 1;
+ if (block_bin_mode == BIN_AUTO)
+ bin = BIN(BP_GET_ASIZE(bp));
zcb->zcb_asize_count[bin]++;
zcb->zcb_asize_len[bin] += BP_GET_ASIZE(bp);
zcb->zcb_asize_total += BP_GET_ASIZE(bp);
+#undef BIN
+
+hist_skipped:
if (!do_claim)
return;
@@ -9426,7 +9534,11 @@ main(int argc, char **argv)
{"livelist", no_argument, NULL, 'y'},
{"zstd-headers", no_argument, NULL, 'Z'},
{"allocated-map", no_argument, NULL,
- ALLOCATED_OPT},
+ ARG_ALLOCATED},
+ {"bin", required_argument, NULL,
+ ARG_BLOCK_BIN_MODE},
+ {"class", required_argument, NULL,
+ ARG_BLOCK_CLASSES},
{0, 0, 0, 0}
};
@@ -9457,7 +9569,7 @@ main(int argc, char **argv)
case 'u':
case 'y':
case 'Z':
- case ALLOCATED_OPT:
+ case ARG_ALLOCATED:
dump_opt[c]++;
dump_all = 0;
break;
@@ -9540,6 +9652,59 @@ main(int argc, char **argv)
case 'x':
vn_dumpdir = optarg;
break;
+ case ARG_BLOCK_BIN_MODE:
+ if (strcmp(optarg, "lsize") == 0) {
+ block_bin_mode = BIN_LSIZE;
+ } else if (strcmp(optarg, "psize") == 0) {
+ block_bin_mode = BIN_PSIZE;
+ } else if (strcmp(optarg, "asize") == 0) {
+ block_bin_mode = BIN_ASIZE;
+ } else {
+ (void) fprintf(stderr,
+ "--bin=\"%s\" must be one of \"lsize\", "
+ "\"psize\" or \"asize\"\n", optarg);
+ usage();
+ }
+ break;
+
+ case ARG_BLOCK_CLASSES: {
+ char *buf = strdup(optarg), *tok = buf, *next,
+ *save = NULL;
+
+ while ((next = strtok_r(tok, ",", &save)) != NULL) {
+ tok = NULL;
+
+ if (strcmp(next, "normal") == 0) {
+ block_classes |= CLASS_NORMAL;
+ } else if (strcmp(next, "special") == 0) {
+ block_classes |= CLASS_SPECIAL;
+ } else if (strcmp(next, "dedup") == 0) {
+ block_classes |= CLASS_DEDUP;
+ } else if (strcmp(next, "other") == 0) {
+ block_classes |= CLASS_OTHER;
+ } else {
+ (void) fprintf(stderr,
+ "--class=\"%s\" must be a "
+ "comma-separated list of either "
+ "\"normal\", \"special\", "
+ "\"asize\" or \"other\"; "
+ "got \"%s\"\n",
+ optarg, next);
+ usage();
+ }
+ }
+
+ if (block_classes == 0) {
+ (void) fprintf(stderr,
+ "--class= must be a comma-separated "
+ "list of either \"normal\", \"special\", "
+ "\"asize\" or \"other\"; got empty\n");
+ usage();
+ }
+
+ free(buf);
+ break;
+ }
default:
usage();
break;
diff --git a/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c b/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c
index 088c0108e911..222b5524669e 100644
--- a/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c
+++ b/sys/contrib/openzfs/cmd/zpool/zpool_vdev.c
@@ -270,14 +270,13 @@ is_spare(nvlist_t *config, const char *path)
* draid* Virtual dRAID spare
*/
static nvlist_t *
-make_leaf_vdev(nvlist_t *props, const char *arg, boolean_t is_primary)
+make_leaf_vdev(const char *arg, boolean_t is_primary, uint64_t ashift)
{
char path[MAXPATHLEN];
struct stat64 statbuf;
nvlist_t *vdev = NULL;
const char *type = NULL;
boolean_t wholedisk = B_FALSE;
- uint64_t ashift = 0;
int err;
/*
@@ -382,31 +381,6 @@ make_leaf_vdev(nvlist_t *props, const char *arg, boolean_t is_primary)
(uint64_t)wholedisk) == 0);
/*
- * Override defaults if custom properties are provided.
- */
- if (props != NULL) {
- const char *value = NULL;
-
- if (nvlist_lookup_string(props,
- zpool_prop_to_name(ZPOOL_PROP_ASHIFT), &value) == 0) {
- if (zfs_nicestrtonum(NULL, value, &ashift) != 0) {
- (void) fprintf(stderr,
- gettext("ashift must be a number.\n"));
- return (NULL);
- }
- if (ashift != 0 &&
- (ashift < ASHIFT_MIN || ashift > ASHIFT_MAX)) {
- (void) fprintf(stderr,
- gettext("invalid 'ashift=%" PRIu64 "' "
- "property: only values between %" PRId32 " "
- "and %" PRId32 " are allowed.\n"),
- ashift, ASHIFT_MIN, ASHIFT_MAX);
- return (NULL);
- }
- }
- }
-
- /*
* If the device is known to incorrectly report its physical sector
* size explicitly provide the known correct value.
*/
@@ -1513,6 +1487,29 @@ construct_spec(nvlist_t *props, int argc, char **argv)
const char *type, *fulltype;
boolean_t is_log, is_special, is_dedup, is_spare;
boolean_t seen_logs;
+ uint64_t ashift = 0;
+
+ if (props != NULL) {
+ const char *value = NULL;
+
+ if (nvlist_lookup_string(props,
+ zpool_prop_to_name(ZPOOL_PROP_ASHIFT), &value) == 0) {
+ if (zfs_nicestrtonum(NULL, value, &ashift) != 0) {
+ (void) fprintf(stderr,
+ gettext("ashift must be a number.\n"));
+ return (NULL);
+ }
+ if (ashift != 0 &&
+ (ashift < ASHIFT_MIN || ashift > ASHIFT_MAX)) {
+ (void) fprintf(stderr,
+ gettext("invalid 'ashift=%" PRIu64 "' "
+ "property: only values between %" PRId32 " "
+ "and %" PRId32 " are allowed.\n"),
+ ashift, ASHIFT_MIN, ASHIFT_MAX);
+ return (NULL);
+ }
+ }
+ }
top = NULL;
toplevels = 0;
@@ -1618,9 +1615,9 @@ construct_spec(nvlist_t *props, int argc, char **argv)
children * sizeof (nvlist_t *));
if (child == NULL)
zpool_no_memory();
- if ((nv = make_leaf_vdev(props, argv[c],
+ if ((nv = make_leaf_vdev(argv[c],
!(is_log || is_special || is_dedup ||
- is_spare))) == NULL) {
+ is_spare), ashift)) == NULL) {
for (c = 0; c < children - 1; c++)
nvlist_free(child[c]);
free(child);
@@ -1684,6 +1681,10 @@ construct_spec(nvlist_t *props, int argc, char **argv)
ZPOOL_CONFIG_ALLOCATION_BIAS,
VDEV_ALLOC_BIAS_DEDUP) == 0);
}
+ if (ashift > 0) {
+ fnvlist_add_uint64(nv,
+ ZPOOL_CONFIG_ASHIFT, ashift);
+ }
if (strcmp(type, VDEV_TYPE_RAIDZ) == 0) {
verify(nvlist_add_uint64(nv,
ZPOOL_CONFIG_NPARITY,
@@ -1711,8 +1712,9 @@ construct_spec(nvlist_t *props, int argc, char **argv)
* We have a device. Pass off to make_leaf_vdev() to
* construct the appropriate nvlist describing the vdev.
*/
- if ((nv = make_leaf_vdev(props, argv[0], !(is_log ||
- is_special || is_dedup || is_spare))) == NULL)
+ if ((nv = make_leaf_vdev(argv[0], !(is_log ||
+ is_special || is_dedup || is_spare),
+ ashift)) == NULL)
goto spec_out;
verify(nvlist_add_uint64(nv,
diff --git a/sys/contrib/openzfs/lib/libspl/include/sys/uio.h b/sys/contrib/openzfs/lib/libspl/include/sys/uio.h
index 93aa4984d734..9ada482be000 100644
--- a/sys/contrib/openzfs/lib/libspl/include/sys/uio.h
+++ b/sys/contrib/openzfs/lib/libspl/include/sys/uio.h
@@ -41,6 +41,7 @@
#ifndef _LIBSPL_SYS_UIO_H
#define _LIBSPL_SYS_UIO_H
+#include <sys/sysmacros.h>
#include <sys/types.h>
#include_next <sys/uio.h>
diff --git a/sys/contrib/openzfs/lib/libzfs/libzfs_status.c b/sys/contrib/openzfs/lib/libzfs/libzfs_status.c
index bdddefb92165..a589ca6896f0 100644
--- a/sys/contrib/openzfs/lib/libzfs/libzfs_status.c
+++ b/sys/contrib/openzfs/lib/libzfs/libzfs_status.c
@@ -98,57 +98,57 @@ static const char *const zfs_msgid_table[] = {
#define NMSGID (sizeof (zfs_msgid_table) / sizeof (zfs_msgid_table[0]))
static int
-vdev_missing(vdev_stat_t *vs, uint_t vsc)
+vdev_missing(vdev_stat_t *vs, uint_t vsc, void *arg)
{
- (void) vsc;
+ (void) vsc, (void) arg;
return (vs->vs_state == VDEV_STATE_CANT_OPEN &&
vs->vs_aux == VDEV_AUX_OPEN_FAILED);
}
static int
-vdev_faulted(vdev_stat_t *vs, uint_t vsc)
+vdev_faulted(vdev_stat_t *vs, uint_t vsc, void *arg)
{
- (void) vsc;
+ (void) vsc, (void) arg;
return (vs->vs_state == VDEV_STATE_FAULTED);
}
static int
-vdev_errors(vdev_stat_t *vs, uint_t vsc)
+vdev_errors(vdev_stat_t *vs, uint_t vsc, void *arg)
{
- (void) vsc;
+ (void) vsc, (void) arg;
return (vs->vs_state == VDEV_STATE_DEGRADED ||
vs->vs_read_errors != 0 || vs->vs_write_errors != 0 ||
vs->vs_checksum_errors != 0);
}
static int
-vdev_broken(vdev_stat_t *vs, uint_t vsc)
+vdev_broken(vdev_stat_t *vs, uint_t vsc, void *arg)
{
- (void) vsc;
+ (void) vsc, (void) arg;
return (vs->vs_state == VDEV_STATE_CANT_OPEN);
}
static int
-vdev_offlined(vdev_stat_t *vs, uint_t vsc)
+vdev_offlined(vdev_stat_t *vs, uint_t vsc, void *arg)
{
- (void) vsc;
+ (void) vsc, (void) arg;
return (vs->vs_state == VDEV_STATE_OFFLINE);
}
static int
-vdev_removed(vdev_stat_t *vs, uint_t vsc)
+vdev_removed(vdev_stat_t *vs, uint_t vsc, void *arg)
{
- (void) vsc;
+ (void) vsc, (void) arg;
return (vs->vs_state == VDEV_STATE_REMOVED);
}
static int
-vdev_non_native_ashift(vdev_stat_t *vs, uint_t vsc)
+vdev_non_native_ashift(vdev_stat_t *vs, uint_t vsc, void *arg)
{
- if (getenv("ZPOOL_STATUS_NON_NATIVE_ASHIFT_IGNORE") != NULL)
- return (0);
+ uint64_t ashift = *(uint64_t *)arg;
return (VDEV_STAT_VALID(vs_physical_ashift, vsc) &&
+ (ashift == 0 || vs->vs_configured_ashift < ashift) &&
vs->vs_configured_ashift < vs->vs_physical_ashift);
}
@@ -156,8 +156,8 @@ vdev_non_native_ashift(vdev_stat_t *vs, uint_t vsc)
* Detect if any leaf devices that have seen errors or could not be opened.
*/
static boolean_t
-find_vdev_problem(nvlist_t *vdev, int (*func)(vdev_stat_t *, uint_t),
- boolean_t ignore_replacing)
+find_vdev_problem(nvlist_t *vdev, int (*func)(vdev_stat_t *, uint_t, void *),
+ void *arg, boolean_t ignore_replacing)
{
nvlist_t **child;
uint_t c, children;
@@ -177,14 +177,16 @@ find_vdev_problem(nvlist_t *vdev, int (*func)(vdev_stat_t *, uint_t),
if (nvlist_lookup_nvlist_array(vdev, ZPOOL_CONFIG_CHILDREN, &child,
&children) == 0) {
- for (c = 0; c < children; c++)
- if (find_vdev_problem(child[c], func, ignore_replacing))
+ for (c = 0; c < children; c++) {
+ if (find_vdev_problem(child[c], func, arg,
+ ignore_replacing))
return (B_TRUE);
+ }
} else {
uint_t vsc;
vdev_stat_t *vs = (vdev_stat_t *)fnvlist_lookup_uint64_array(
vdev, ZPOOL_CONFIG_VDEV_STATS, &vsc);
- if (func(vs, vsc) != 0)
+ if (func(vs, vsc, arg) != 0)
return (B_TRUE);
}
@@ -193,9 +195,11 @@ find_vdev_problem(nvlist_t *vdev, int (*func)(vdev_stat_t *, uint_t),
*/
if (nvlist_lookup_nvlist_array(vdev, ZPOOL_CONFIG_L2CACHE, &child,
&children) == 0) {
- for (c = 0; c < children; c++)
- if (find_vdev_problem(child[c], func, ignore_replacing))
+ for (c = 0; c < children; c++) {
+ if (find_vdev_problem(child[c], func, arg,
+ ignore_replacing))
return (B_TRUE);
+ }
}
return (B_FALSE);
@@ -220,7 +224,7 @@ find_vdev_problem(nvlist_t *vdev, int (*func)(vdev_stat_t *, uint_t),
*/
static zpool_status_t
check_status(nvlist_t *config, boolean_t isimport,
- zpool_errata_t *erratap, const char *compat)
+ zpool_errata_t *erratap, const char *compat, uint64_t ashift)
{
pool_scan_stat_t *ps = NULL;
uint_t vsc, psc;
@@ -371,15 +375,15 @@ check_status(nvlist_t *config, boolean_t isimport,
* Bad devices in non-replicated config.
*/
if (vs->vs_state == VDEV_STATE_CANT_OPEN &&
- find_vdev_problem(nvroot, vdev_faulted, B_TRUE))
+ find_vdev_problem(nvroot, vdev_faulted, NULL, B_TRUE))
return (ZPOOL_STATUS_FAULTED_DEV_NR);
if (vs->vs_state == VDEV_STATE_CANT_OPEN &&
- find_vdev_problem(nvroot, vdev_missing, B_TRUE))
+ find_vdev_problem(nvroot, vdev_missing, NULL, B_TRUE))
return (ZPOOL_STATUS_MISSING_DEV_NR);
if (vs->vs_state == VDEV_STATE_CANT_OPEN &&
- find_vdev_problem(nvroot, vdev_broken, B_TRUE))
+ find_vdev_problem(nvroot, vdev_broken, NULL, B_TRUE))
return (ZPOOL_STATUS_CORRUPT_LABEL_NR);
/*
@@ -402,35 +406,37 @@ check_status(nvlist_t *config, boolean_t isimport,
/*
* Missing devices in a replicated config.
*/
- if (find_vdev_problem(nvroot, vdev_faulted, B_TRUE))
+ if (find_vdev_problem(nvroot, vdev_faulted, NULL, B_TRUE))
return (ZPOOL_STATUS_FAULTED_DEV_R);
- if (find_vdev_problem(nvroot, vdev_missing, B_TRUE))
+ if (find_vdev_problem(nvroot, vdev_missing, NULL, B_TRUE))
return (ZPOOL_STATUS_MISSING_DEV_R);
- if (find_vdev_problem(nvroot, vdev_broken, B_TRUE))
+ if (find_vdev_problem(nvroot, vdev_broken, NULL, B_TRUE))
return (ZPOOL_STATUS_CORRUPT_LABEL_R);
/*
* Devices with errors
*/
- if (!isimport && find_vdev_problem(nvroot, vdev_errors, B_TRUE))
+ if (!isimport && find_vdev_problem(nvroot, vdev_errors, NULL, B_TRUE))
return (ZPOOL_STATUS_FAILING_DEV);
/*
* Offlined devices
*/
- if (find_vdev_problem(nvroot, vdev_offlined, B_TRUE))
+ if (find_vdev_problem(nvroot, vdev_offlined, NULL, B_TRUE))
return (ZPOOL_STATUS_OFFLINE_DEV);
/*
* Removed device
*/
- if (find_vdev_problem(nvroot, vdev_removed, B_TRUE))
+ if (find_vdev_problem(nvroot, vdev_removed, NULL, B_TRUE))
return (ZPOOL_STATUS_REMOVED_DEV);
/*
* Suboptimal, but usable, ashift configuration.
*/
- if (find_vdev_problem(nvroot, vdev_non_native_ashift, B_FALSE))
+ if (!isimport &&
+ getenv("ZPOOL_STATUS_NON_NATIVE_ASHIFT_IGNORE") == NULL &&
+ find_vdev_problem(nvroot, vdev_non_native_ashift, &ashift, B_FALSE))
return (ZPOOL_STATUS_NON_NATIVE_ASHIFT);
/*
@@ -510,8 +516,10 @@ zpool_get_status(zpool_handle_t *zhp, const char **msgid,
ZFS_MAXPROPLEN, NULL, B_FALSE) != 0)
compatibility[0] = '\0';
+ uint64_t ashift = zpool_get_prop_int(zhp, ZPOOL_PROP_ASHIFT, NULL);
+
zpool_status_t ret = check_status(zhp->zpool_config, B_FALSE, errata,
- compatibility);
+ compatibility, ashift);
if (msgid != NULL) {
if (ret >= NMSGID)
@@ -526,7 +534,7 @@ zpool_status_t
zpool_import_status(nvlist_t *config, const char **msgid,
zpool_errata_t *errata)
{
- zpool_status_t ret = check_status(config, B_TRUE, errata, NULL);
+ zpool_status_t ret = check_status(config, B_TRUE, errata, NULL, 0);
if (ret >= NMSGID)
*msgid = NULL;
diff --git a/sys/contrib/openzfs/lib/libzpool/kernel.c b/sys/contrib/openzfs/lib/libzpool/kernel.c
index 8ed374627264..70eba5099119 100644
--- a/sys/contrib/openzfs/lib/libzpool/kernel.c
+++ b/sys/contrib/openzfs/lib/libzpool/kernel.c
@@ -23,6 +23,7 @@
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2018 by Delphix. All rights reserved.
* Copyright (c) 2016 Actifio, Inc. All rights reserved.
+ * Copyright (c) 2025, Klara, Inc.
*/
#include <assert.h>
@@ -645,39 +646,60 @@ __dprintf(boolean_t dprint, const char *file, const char *func,
* cmn_err() and panic()
* =========================================================================
*/
-static char ce_prefix[CE_IGNORE][10] = { "", "NOTICE: ", "WARNING: ", "" };
-static char ce_suffix[CE_IGNORE][2] = { "", "\n", "\n", "" };
-__attribute__((noreturn)) void
-vpanic(const char *fmt, va_list adx)
+static __attribute__((noreturn)) void
+panic_stop_or_abort(void)
{
- (void) fprintf(stderr, "error: ");
- (void) vfprintf(stderr, fmt, adx);
- (void) fprintf(stderr, "\n");
+ const char *stopenv = getenv("LIBZPOOL_PANIC_STOP");
+ if (stopenv != NULL && atoi(stopenv)) {
+ fputs("libzpool: LIBZPOOL_PANIC_STOP is set, sending "
+ "SIGSTOP to process group\n", stderr);
+ fflush(stderr);
+
+ kill(0, SIGSTOP);
+
+ fputs("libzpool: continued after panic stop, "
+ "aborting\n", stderr);
+ }
abort(); /* think of it as a "user-level crash dump" */
}
-__attribute__((noreturn)) void
-panic(const char *fmt, ...)
+static void
+vcmn_msg(int ce, const char *fmt, va_list adx)
{
- va_list adx;
+ switch (ce) {
+ case CE_IGNORE:
+ return;
+ case CE_CONT:
+ break;
+ case CE_NOTE:
+ fputs("libzpool: NOTICE: ", stderr);
+ break;
+ case CE_WARN:
+ fputs("libzpool: WARNING: ", stderr);
+ break;
+ case CE_PANIC:
+ fputs("libzpool: PANIC: ", stderr);
+ break;
+ default:
+ fputs("libzpool: [unknown severity %d]: ", stderr);
+ break;
+ }
- va_start(adx, fmt);
- vpanic(fmt, adx);
- va_end(adx);
+ vfprintf(stderr, fmt, adx);
+ if (ce != CE_CONT)
+ fputc('\n', stderr);
+ fflush(stderr);
}
void
vcmn_err(int ce, const char *fmt, va_list adx)
{
+ vcmn_msg(ce, fmt, adx);
+
if (ce == CE_PANIC)
- vpanic(fmt, adx);
- if (ce != CE_NOTE) { /* suppress noise in userland stress testing */
- (void) fprintf(stderr, "%s", ce_prefix[ce]);
- (void) vfprintf(stderr, fmt, adx);
- (void) fprintf(stderr, "%s", ce_suffix[ce]);
- }
+ panic_stop_or_abort();
}
void
@@ -690,6 +712,25 @@ cmn_err(int ce, const char *fmt, ...)
va_end(adx);
}
+__attribute__((noreturn)) void
+panic(const char *fmt, ...)
+{
+ va_list adx;
+
+ va_start(adx, fmt);
+ vcmn_msg(CE_PANIC, fmt, adx);
+ va_end(adx);
+
+ panic_stop_or_abort();
+}
+
+__attribute__((noreturn)) void
+vpanic(const char *fmt, va_list adx)
+{
+ vcmn_msg(CE_PANIC, fmt, adx);
+ panic_stop_or_abort();
+}
+
/*
* =========================================================================
* misc routines
diff --git a/sys/contrib/openzfs/man/man8/zdb.8 b/sys/contrib/openzfs/man/man8/zdb.8
index c3290ea14769..f51e24fa849c 100644
--- a/sys/contrib/openzfs/man/man8/zdb.8
+++ b/sys/contrib/openzfs/man/man8/zdb.8
@@ -144,6 +144,20 @@ subcommand.
Display statistics regarding the number, size
.Pq logical, physical and allocated
and deduplication of blocks.
+.It Fl -bin Ns = Ns ( Li lsize Ns | Ns Li psize Ns | Ns Li asize )
+When used with
+.Fl bb ,
+sort blocks into all three bins according to the given size (instead of binning
+a block for each size separately).
+.Pp
+For instance, with
+.Fl -bin Ns = Ns Li lsize ,
+a block with lsize of 16K and psize of 4K will be added to the 16K bin
+in all three columns.
+.It Fl -class Ns = Ns ( Li normal Ns | Ns Li special Ns | Ns Li dedup Ns | Ns Li other ) Ns Op , Ns …
+When used with
+.Fl bb ,
+only consider blocks from these allocation classes.
.It Fl B , -backup
Generate a backup stream, similar to
.Nm zfs Cm send ,
diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c
index ace2360c032d..ebc2c0eeb6d2 100644
--- a/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c
+++ b/sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c
@@ -163,6 +163,13 @@ param_set_arc_int(SYSCTL_HANDLER_ARGS)
return (0);
}
+static void
+warn_deprecated_sysctl(const char *old, const char *new)
+{
+ printf("WARNING: sysctl vfs.zfs.%s is deprecated. Use vfs.zfs.%s instead.\n",
+ old, new);
+}
+
int
param_set_arc_max(SYSCTL_HANDLER_ARGS)
{
@@ -185,12 +192,15 @@ param_set_arc_max(SYSCTL_HANDLER_ARGS)
if (val != 0)
zfs_arc_max = arc_c_max;
+ if (arg2 != 0)
+ warn_deprecated_sysctl("arc_max", "arc.max");
+
return (0);
}
SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_max,
CTLTYPE_ULONG | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
- NULL, 0, param_set_arc_max, "LU",
+ NULL, 1, param_set_arc_max, "LU",
"Maximum ARC size in bytes (LEGACY)");
int
@@ -214,12 +224,15 @@ param_set_arc_min(SYSCTL_HANDLER_ARGS)
if (val != 0)
zfs_arc_min = arc_c_min;
+ if (arg2 != 0)
+ warn_deprecated_sysctl("arc_min", "arc.min");
+
return (0);
}
SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_min,
CTLTYPE_ULONG | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
- NULL, 0, param_set_arc_min, "LU",
+ NULL, 1, param_set_arc_min, "LU",
"Minimum ARC size in bytes (LEGACY)");
extern uint_t zfs_arc_free_target;
@@ -242,6 +255,9 @@ param_set_arc_free_target(SYSCTL_HANDLER_ARGS)
zfs_arc_free_target = val;
+ if (arg2 != 0)
+ warn_deprecated_sysctl("arc_free_target", "arc.free_target");
+
return (0);
}
@@ -251,7 +267,7 @@ param_set_arc_free_target(SYSCTL_HANDLER_ARGS)
*/
SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_free_target,
CTLTYPE_UINT | CTLFLAG_RW | CTLFLAG_MPSAFE,
- NULL, 0, param_set_arc_free_target, "IU",
+ NULL, 1, param_set_arc_free_target, "IU",
"Desired number of free pages below which ARC triggers reclaim"
" (LEGACY)");
@@ -270,12 +286,15 @@ param_set_arc_no_grow_shift(SYSCTL_HANDLER_ARGS)
arc_no_grow_shift = val;
+ if (arg2 != 0)
+ warn_deprecated_sysctl("arc_no_grow_shift", "arc.no_grow_shift");
+
return (0);
}
SYSCTL_PROC(_vfs_zfs, OID_AUTO, arc_no_grow_shift,
CTLTYPE_INT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
- NULL, 0, param_set_arc_no_grow_shift, "I",
+ NULL, 1, param_set_arc_no_grow_shift, "I",
"log2(fraction of ARC which must be free to allow growing) (LEGACY)");
extern uint64_t l2arc_write_max;
@@ -746,12 +765,15 @@ param_set_min_auto_ashift(SYSCTL_HANDLER_ARGS)
zfs_vdev_min_auto_ashift = val;
+ if (arg2 != 0)
+ warn_deprecated_sysctl("min_auto_ashift",
+ "vdev.min_auto_ashift");
+
return (0);
}
SYSCTL_PROC(_vfs_zfs, OID_AUTO, min_auto_ashift,
- CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
- &zfs_vdev_min_auto_ashift, sizeof (zfs_vdev_min_auto_ashift),
+ CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, NULL, 1,
param_set_min_auto_ashift, "IU",
"Min ashift used when creating new top-level vdev. (LEGACY)");
@@ -771,12 +793,15 @@ param_set_max_auto_ashift(SYSCTL_HANDLER_ARGS)
zfs_vdev_max_auto_ashift = val;
+ if (arg2 != 0)
+ warn_deprecated_sysctl("max_auto_ashift",
+ "vdev.max_auto_ashift");
+
return (0);
}
SYSCTL_PROC(_vfs_zfs, OID_AUTO, max_auto_ashift,
- CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE,
- &zfs_vdev_max_auto_ashift, sizeof (zfs_vdev_max_auto_ashift),
+ CTLTYPE_UINT | CTLFLAG_RWTUN | CTLFLAG_MPSAFE, NULL, 1,
param_set_max_auto_ashift, "IU",
"Max ashift used when optimizing for logical -> physical sector size on"
" new top-level vdevs. (LEGACY)");
diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c
index 4de48e013ec4..d0a9c662e6f0 100644
--- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c
+++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c
@@ -762,8 +762,7 @@ zfsctl_common_pathconf(struct vop_pathconf_args *ap)
return (0);
case _PC_MIN_HOLE_SIZE:
- *ap->a_retval = (int)SPA_MINBLOCKSIZE;
- return (0);
+ return (EINVAL);
case _PC_ACL_EXTENDED:
*ap->a_retval = 0;
diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
index 411225786089..f34a2fd37a77 100644
--- a/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
+++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
@@ -4116,6 +4116,7 @@ zfs_pathconf(vnode_t *vp, int cmd, ulong_t *valp, cred_t *cr,
{
znode_t *zp;
zfsvfs_t *zfsvfs;
+ uint_t blksize, iosize;
int error;
switch (cmd) {
@@ -4127,8 +4128,20 @@ zfs_pathconf(vnode_t *vp, int cmd, ulong_t *valp, cred_t *cr,
*valp = 64;
return (0);
case _PC_MIN_HOLE_SIZE:
- *valp = (int)SPA_MINBLOCKSIZE;
- return (0);
+ iosize = vp->v_mount->mnt_stat.f_iosize;
+ if (vp->v_type == VREG) {
+ zp = VTOZ(vp);
+ blksize = zp->z_blksz;
+ if (zp->z_size <= blksize)
+ blksize = MAX(blksize, iosize);
+ *valp = (int)blksize;
+ return (0);
+ }
+ if (vp->v_type == VDIR) {
+ *valp = (int)iosize;
+ return (0);
+ }
+ return (EINVAL);
case _PC_ACL_EXTENDED:
#if 0 /* POSIX ACLs are not implemented for ZFS on FreeBSD yet. */
zp = VTOZ(vp);
@@ -4210,8 +4223,20 @@ zfs_getpages(struct vnode *vp, vm_page_t *ma, int count, int *rbehind,
zfs_vmobject_wlock(object);
(void) vm_page_grab_pages(object, OFF_TO_IDX(start),
- VM_ALLOC_NORMAL | VM_ALLOC_WAITOK | VM_ALLOC_ZERO,
+ VM_ALLOC_NORMAL | VM_ALLOC_WAITOK,
ma, count);
+ if (!vm_page_all_valid(ma[count - 1])) {
+ /*
+ * Later in this function, we copy DMU data to
+ * invalid pages only. The last page may not be
+ * entirely filled though, if the file does not
+ * end on a page boundary. Therefore, we zero
+ * that last page here to make sure it does not
+ * contain garbage after the end of file.
+ */
+ ASSERT(vm_page_none_valid(ma[count - 1]));
+ vm_page_zero_invalid(ma[count - 1], FALSE);
+ }
zfs_vmobject_wunlock(object);
}
if (blksz == zp->z_blksz)
diff --git a/sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c b/sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c
index 0dd2ecd7fd8d..3ddbfcb97184 100644
--- a/sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c
+++ b/sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c
@@ -183,6 +183,7 @@ static struct filterops zvol_filterops_vnode = {
.f_isfd = 1,
.f_detach = zvol_filter_detach,
.f_event = zvol_filter_vnode,
+ .f_copy = knote_triv_copy,
};
extern uint_t zfs_geom_probe_vdev_key;
diff --git a/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c b/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c
index 967a018640e1..4e66bee7744d 100644
--- a/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c
+++ b/sys/contrib/openzfs/module/os/linux/zfs/zvol_os.c
@@ -337,16 +337,14 @@ zvol_discard(zv_request_t *zvr)
}
/*
- * Align the request to volume block boundaries when a secure erase is
- * not required. This will prevent dnode_free_range() from zeroing out
- * the unaligned parts which is slow (read-modify-write) and useless
- * since we are not freeing any space by doing so.
+ * Align the request to volume block boundaries. This will prevent
+ * dnode_free_range() from zeroing out the unaligned parts which is
+ * slow (read-modify-write) and useless since we are not freeing any
+ * space by doing so.
*/
- if (!io_is_secure_erase(bio, rq)) {
- start = P2ROUNDUP(start, zv->zv_volblocksize);
- end = P2ALIGN_TYPED(end, zv->zv_volblocksize, uint64_t);
- size = end - start;
- }
+ start = P2ROUNDUP(start, zv->zv_volblocksize);
+ end = P2ALIGN_TYPED(end, zv->zv_volblocksize, uint64_t);
+ size = end - start;
if (start >= end)
goto unlock;
@@ -467,6 +465,24 @@ zvol_read_task(void *arg)
zv_request_task_free(task);
}
+/*
+ * Note:
+ *
+ * The kernel uses different enum names for the IO opcode, depending on the
+ * kernel version ('req_opf', 'req_op'). To sidestep this, use macros rather
+ * than inline functions for these checks.
+ */
+/* Should this IO go down the zvol write path? */
+#define ZVOL_OP_IS_WRITE(op) \
+ (op == REQ_OP_WRITE || \
+ op == REQ_OP_FLUSH || \
+ op == REQ_OP_DISCARD)
+
+/* Is this IO type supported by zvols? */
+#define ZVOL_OP_IS_SUPPORTED(op) (op == REQ_OP_READ || ZVOL_OP_IS_WRITE(op))
+
+/* Get the IO opcode */
+#define ZVOL_OP(bio, rq) (bio != NULL ? bio_op(bio) : req_op(rq))
/*
* Process a BIO or request
@@ -486,27 +502,32 @@ zvol_request_impl(zvol_state_t *zv, struct bio *bio, struct request *rq,
uint64_t size = io_size(bio, rq);
int rw;
- if (rq != NULL) {
- /*
- * Flush & trim requests go down the zvol_write codepath. Or
- * more specifically:
- *
- * If request is a write, or if it's op_is_sync() and not a
- * read, or if it's a flush, or if it's a discard, then send the
- * request down the write path.
- */
- if (op_is_write(rq->cmd_flags) ||
- (op_is_sync(rq->cmd_flags) && req_op(rq) != REQ_OP_READ) ||
- req_op(rq) == REQ_OP_FLUSH ||
- op_is_discard(rq->cmd_flags)) {
- rw = WRITE;
- } else {
- rw = READ;
- }
+ if (unlikely(!ZVOL_OP_IS_SUPPORTED(ZVOL_OP(bio, rq)))) {
+ zfs_dbgmsg("Unsupported zvol %s, op=%d, flags=0x%x",
+ rq != NULL ? "request" : "BIO",
+ ZVOL_OP(bio, rq),
+ rq != NULL ? rq->cmd_flags : bio->bi_opf);
+ ASSERT(ZVOL_OP_IS_SUPPORTED(ZVOL_OP(bio, rq)));
+ zvol_end_io(bio, rq, SET_ERROR(ENOTSUPP));
+ goto out;
+ }
+
+ if (ZVOL_OP_IS_WRITE(ZVOL_OP(bio, rq))) {
+ rw = WRITE;
} else {
- rw = bio_data_dir(bio);
+ rw = READ;
}
+ /*
+ * Sanity check
+ *
+ * If we're a BIO, check our rw matches the kernel's
+ * bio_data_dir(bio) rw. We need to check because we support fewer
+ * IO operations, and want to verify that what we think are reads and
+ * writes from those operations match what the kernel thinks.
+ */
+ ASSERT(rq != NULL || rw == bio_data_dir(bio));
+
if (unlikely(zv->zv_flags & ZVOL_REMOVING)) {
zvol_end_io(bio, rq, SET_ERROR(ENXIO));
goto out;
@@ -610,7 +631,7 @@ zvol_request_impl(zvol_state_t *zv, struct bio *bio, struct request *rq,
* interfaces lack this functionality (they block waiting for
* the i/o to complete).
*/
- if (io_is_discard(bio, rq) || io_is_secure_erase(bio, rq)) {
+ if (io_is_discard(bio, rq)) {
if (force_sync) {
zvol_discard(&zvr);
} else {
diff --git a/sys/contrib/openzfs/module/zfs/arc.c b/sys/contrib/openzfs/module/zfs/arc.c
index b677f90280d7..dbb5e942e2e6 100644
--- a/sys/contrib/openzfs/module/zfs/arc.c
+++ b/sys/contrib/openzfs/module/zfs/arc.c
@@ -1157,7 +1157,7 @@ buf_fini(void)
#if defined(_KERNEL)
/*
* Large allocations which do not require contiguous pages
- * should be using vmem_free() in the linux kernel\
+ * should be using vmem_free() in the linux kernel.
*/
vmem_free(buf_hash_table.ht_table,
(buf_hash_table.ht_mask + 1) * sizeof (void *));
@@ -4651,10 +4651,10 @@ arc_flush_task(void *arg)
arc_flush_impl(spa_guid, B_FALSE);
arc_async_flush_remove(spa_guid, af->af_cache_level);
- uint64_t elaspsed = NSEC2MSEC(gethrtime() - start_time);
- if (elaspsed > 0) {
+ uint64_t elapsed = NSEC2MSEC(gethrtime() - start_time);
+ if (elapsed > 0) {
zfs_dbgmsg("spa %llu arc flushed in %llu ms",
- (u_longlong_t)spa_guid, (u_longlong_t)elaspsed);
+ (u_longlong_t)spa_guid, (u_longlong_t)elapsed);
}
}
@@ -9152,7 +9152,7 @@ top:
if (dev->l2ad_first) {
/*
* This is the first sweep through the device. There is
- * nothing to evict. We have already trimmmed the
+ * nothing to evict. We have already trimmed the
* whole device.
*/
goto out;
@@ -10086,12 +10086,12 @@ l2arc_device_teardown(void *arg)
kmem_free(remdev->l2ad_dev_hdr, remdev->l2ad_dev_hdr_asize);
vmem_free(remdev, sizeof (l2arc_dev_t));
- uint64_t elaspsed = NSEC2MSEC(gethrtime() - start_time);
- if (elaspsed > 0) {
+ uint64_t elapsed = NSEC2MSEC(gethrtime() - start_time);
+ if (elapsed > 0) {
zfs_dbgmsg("spa %llu, vdev %llu removed in %llu ms",
(u_longlong_t)rva->rva_spa_gid,
(u_longlong_t)rva->rva_vdev_gid,
- (u_longlong_t)elaspsed);
+ (u_longlong_t)elapsed);
}
if (rva->rva_async)
diff --git a/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c b/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c
index 45ba17e36c35..f46980cad111 100644
--- a/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c
+++ b/sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c
@@ -47,25 +47,34 @@
#endif
static void
+seek_expect(int fd, off_t offset, int whence, off_t expect_offset)
+{
+ errno = 0;
+ off_t seek_offset = lseek(fd, offset, whence);
+ if (seek_offset == expect_offset)
+ return;
+
+ int err = errno;
+ fprintf(stderr, "lseek(fd, %ld, SEEK_%s) = %ld (expected %ld)",
+ offset, (whence == SEEK_DATA ? "DATA" : "HOLE"),
+ seek_offset, expect_offset);
+ if (err != 0)
+ fprintf(stderr, " (errno %d [%s])\n", err, strerror(err));
+ else
+ fputc('\n', stderr);
+ exit(2);
+}
+
+static inline void
seek_data(int fd, off_t offset, off_t expected)
{
- off_t data_offset = lseek(fd, offset, SEEK_DATA);
- if (data_offset != expected) {
- fprintf(stderr, "lseek(fd, %d, SEEK_DATA) = %d (expected %d)\n",
- (int)offset, (int)data_offset, (int)expected);
- exit(2);
- }
+ seek_expect(fd, offset, SEEK_DATA, expected);
}
-static void
+static inline void
seek_hole(int fd, off_t offset, off_t expected)
{
- off_t hole_offset = lseek(fd, offset, SEEK_HOLE);
- if (hole_offset != expected) {
- fprintf(stderr, "lseek(fd, %d, SEEK_HOLE) = %d (expected %d)\n",
- (int)offset, (int)hole_offset, (int)expected);
- exit(2);
- }
+ seek_expect(fd, offset, SEEK_HOLE, expected);
}
int
diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh
index 2bd9f616170b..1a9774331ba1 100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_reopen/zpool_reopen_004_pos.ksh
@@ -47,6 +47,8 @@ function cleanup
# bring back removed disk online for further tests
insert_disk $REMOVED_DISK $scsi_host
poolexists $TESTPOOL && destroy_pool $TESTPOOL
+ # Since the disk was offline during destroy, remove the label
+ zpool labelclear $DISK2 -f
}
log_assert "Testing zpool reopen with pool name as argument"
diff --git a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh
index bb697b76a9f3..9de308c4a11a 100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_trim.ksh
@@ -41,6 +41,7 @@
# 5. TRIM the first 1MB and last 2MB of the 5MB block of data.
# 6. Observe 2MB of used space on the zvol
# 7. Verify the trimmed regions are zero'd on the zvol
+# 8. Verify Secure Erase does not work on zvols (Linux only)
verify_runnable "global"
@@ -56,6 +57,7 @@ if is_linux ; then
else
trimcmd='blkdiscard'
fi
+ secure_trimcmd="$trimcmd --secure"
else
# By default, FreeBSD 'trim' always does a dry-run. '-f' makes
# it perform the actual operation.
@@ -114,6 +116,11 @@ function do_test {
log_must diff $datafile1 $datafile2
log_must rm $datafile1 $datafile2
+
+ # Secure erase should not work (Linux check only).
+ if [ -n "$secure_trimcmd" ] ; then
+ log_mustnot $secure_trimcmd $zvolpath
+ fi
}
log_assert "Verify that a ZFS volume can be TRIMed"
diff --git a/sys/crypto/chacha20/chacha.c b/sys/crypto/chacha20/chacha.c
index 52f7e18c651c..cb06003b0ecf 100644
--- a/sys/crypto/chacha20/chacha.c
+++ b/sys/crypto/chacha20/chacha.c
@@ -138,7 +138,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes)
for (;;) {
if (bytes < 64) {
#ifndef KEYSTREAM_ONLY
- for (i = 0;i < bytes;++i) tmp[i] = m[i];
+ for (i = 0; i < bytes; ++i) tmp[i] = m[i];
m = tmp;
#endif
ctarget = c;
@@ -160,7 +160,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes)
x13 = j13;
x14 = j14;
x15 = j15;
- for (i = 20;i > 0;i -= 2) {
+ for (i = 20; i > 0; i -= 2) {
QUARTERROUND( x0, x4, x8,x12)
QUARTERROUND( x1, x5, x9,x13)
QUARTERROUND( x2, x6,x10,x14)
@@ -240,7 +240,7 @@ chacha_encrypt_bytes(chacha_ctx *x,const u8 *m,u8 *c,u32 bytes)
if (bytes <= 64) {
if (bytes < 64) {
- for (i = 0;i < bytes;++i) ctarget[i] = c[i];
+ for (i = 0; i < bytes; ++i) ctarget[i] = c[i];
}
x->input[12] = j12;
x->input[13] = j13;
diff --git a/sys/crypto/openssl/ossl_sha256.c b/sys/crypto/openssl/ossl_sha256.c
index 4613a9409b44..50cb9739d114 100644
--- a/sys/crypto/openssl/ossl_sha256.c
+++ b/sys/crypto/openssl/ossl_sha256.c
@@ -74,11 +74,11 @@ ossl_sha256_init(void *c_)
unsigned int nn; \
switch ((c)->md_len) \
{ case SHA224_DIGEST_LENGTH: \
- for (nn=0;nn<SHA224_DIGEST_LENGTH/4;nn++) \
+ for (nn=0; nn < SHA224_DIGEST_LENGTH / 4; nn++) \
{ ll=(c)->h[nn]; (void)HOST_l2c(ll,(s)); } \
break; \
case SHA256_DIGEST_LENGTH: \
- for (nn=0;nn<SHA256_DIGEST_LENGTH/4;nn++) \
+ for (nn=0; nn < SHA256_DIGEST_LENGTH / 4; nn++) \
{ ll=(c)->h[nn]; (void)HOST_l2c(ll,(s)); } \
break; \
default: \
diff --git a/sys/dev/aac/aac_linux.c b/sys/dev/aac/aac_linux.c
index 609315f50939..65008c562342 100644
--- a/sys/dev/aac/aac_linux.c
+++ b/sys/dev/aac/aac_linux.c
@@ -52,15 +52,7 @@
#define AAC_LINUX_IOCTL_MIN 0x0000
#define AAC_LINUX_IOCTL_MAX 0x21ff
-static linux_ioctl_function_t aac_linux_ioctl;
-static struct linux_ioctl_handler aac_linux_handler = {aac_linux_ioctl,
- AAC_LINUX_IOCTL_MIN,
- AAC_LINUX_IOCTL_MAX};
-
-SYSINIT (aac_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_register_handler, &aac_linux_handler);
-SYSUNINIT(aac_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_unregister_handler, &aac_linux_handler);
+LINUX_IOCTL_SET(aac, AAC_LINUX_IOCTL_MIN, AAC_LINUX_IOCTL_MAX);
static int
aac_linux_modevent(module_t mod, int type, void *data)
diff --git a/sys/dev/aacraid/aacraid_linux.c b/sys/dev/aacraid/aacraid_linux.c
index 267dd84c65d5..6b6259ed7059 100644
--- a/sys/dev/aacraid/aacraid_linux.c
+++ b/sys/dev/aacraid/aacraid_linux.c
@@ -54,15 +54,7 @@
#define AAC_LINUX_IOCTL_MIN 0x0000
#define AAC_LINUX_IOCTL_MAX 0x21ff
-static linux_ioctl_function_t aacraid_linux_ioctl;
-static struct linux_ioctl_handler aacraid_linux_handler = {aacraid_linux_ioctl,
- AAC_LINUX_IOCTL_MIN,
- AAC_LINUX_IOCTL_MAX};
-
-SYSINIT (aacraid_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_register_handler, &aacraid_linux_handler);
-SYSUNINIT(aacraid_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_unregister_handler, &aacraid_linux_handler);
+LINUX_IOCTL_SET(aacraid, AAC_LINUX_IOCTL_MIN, AAC_LINUX_IOCTL_MAX);
static int
aacraid_linux_modevent(module_t mod, int type, void *data)
diff --git a/sys/dev/ahci/ahciem.c b/sys/dev/ahci/ahciem.c
index c9e6c35f4233..012796aa5d6f 100644
--- a/sys/dev/ahci/ahciem.c
+++ b/sys/dev/ahci/ahciem.c
@@ -479,7 +479,7 @@ ahci_em_emulate_ses_on_led(device_t dev, union ccb *ccb)
else
ads->common.bytes[0] |= SES_OBJSTAT_NOTINSTALLED;
if (ch->disablephy)
- ads->common.bytes[3] |= SESCTL_DEVOFF;
+ ads->bytes[2] |= SESCTL_DEVOFF;
ahci_putch(ch);
}
ccb->ccb_h.status = CAM_REQ_CMP;
diff --git a/sys/dev/aic7xxx/aic79xx.c b/sys/dev/aic7xxx/aic79xx.c
index 2b5015b20e41..cee45fa5cc8a 100644
--- a/sys/dev/aic7xxx/aic79xx.c
+++ b/sys/dev/aic7xxx/aic79xx.c
@@ -7788,8 +7788,8 @@ ahd_abort_scbs(struct ahd_softc *ahd, int target, char channel,
}
if (role != ROLE_TARGET) {
- for (;i < maxtarget; i++) {
- for (j = minlun;j < maxlun; j++) {
+ for (; i < maxtarget; i++) {
+ for (j = minlun; j < maxlun; j++) {
u_int scbid;
u_int tcl;
diff --git a/sys/dev/aic7xxx/aic7xxx.c b/sys/dev/aic7xxx/aic7xxx.c
index c09876e9f589..18f68b806948 100644
--- a/sys/dev/aic7xxx/aic7xxx.c
+++ b/sys/dev/aic7xxx/aic7xxx.c
@@ -5903,8 +5903,8 @@ ahc_abort_scbs(struct ahc_softc *ahc, int target, char channel,
}
if (role != ROLE_TARGET) {
- for (;i < maxtarget; i++) {
- for (j = minlun;j < maxlun; j++) {
+ for (; i < maxtarget; i++) {
+ for (j = minlun; j < maxlun; j++) {
u_int scbid;
u_int tcl;
diff --git a/sys/dev/atkbdc/psm.c b/sys/dev/atkbdc/psm.c
index 8563b5f93aa2..137758b104d3 100644
--- a/sys/dev/atkbdc/psm.c
+++ b/sys/dev/atkbdc/psm.c
@@ -5287,6 +5287,7 @@ static const struct filterops psmfiltops = {
.f_isfd = 1,
.f_detach = psmfilter_detach,
.f_event = psmfilter,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/dev/cyapa/cyapa.c b/sys/dev/cyapa/cyapa.c
index ed755f992949..464b03c0ab64 100644
--- a/sys/dev/cyapa/cyapa.c
+++ b/sys/dev/cyapa/cyapa.c
@@ -1121,7 +1121,8 @@ static int cyapafilt(struct knote *, long);
static const struct filterops cyapa_filtops = {
.f_isfd = 1,
.f_detach = cyapafiltdetach,
- .f_event = cyapafilt
+ .f_event = cyapafilt,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c
index bed74c3b6181..5c1d7ff30976 100644
--- a/sys/dev/dc/if_dc.c
+++ b/sys/dev/dc/if_dc.c
@@ -999,7 +999,7 @@ dc_setfilt_21143(struct dc_softc *sc)
else
DC_CLRBIT(sc, DC_NETCFG, DC_NETCFG_RX_ALLMULTI);
- if_foreach_llmaddr(ifp, dc_hash_maddr_21143, sp);
+ if_foreach_llmaddr(ifp, dc_hash_maddr_21143, sc);
if (if_getflags(ifp) & IFF_BROADCAST) {
h = dc_mchash_le(sc, if_getbroadcastaddr(ifp));
diff --git a/sys/dev/enetc/if_enetc.c b/sys/dev/enetc/if_enetc.c
index 808397b229a7..53002f9d73ce 100644
--- a/sys/dev/enetc/if_enetc.c
+++ b/sys/dev/enetc/if_enetc.c
@@ -848,7 +848,7 @@ enetc_hash_vid(uint16_t vid)
bool bit;
int i;
- for (i = 0;i < 6;i++) {
+ for (i = 0; i < 6; i++) {
bit = vid & BIT(i);
bit ^= !!(vid & BIT(i + 6));
hash |= bit << i;
@@ -1020,7 +1020,7 @@ enetc_msix_intr_assign(if_ctx_t ctx, int msix)
ENETC_RBICR0_ICEN | ENETC_RBICR0_SET_ICPT(ENETC_RX_INTR_PKT_THR));
}
vector = 0;
- for (i = 0;i < sc->tx_num_queues; i++, vector++) {
+ for (i = 0; i < sc->tx_num_queues; i++, vector++) {
tx_queue = &sc->tx_queues[i];
snprintf(irq_name, sizeof(irq_name), "txq%d", i);
iflib_softirq_alloc_generic(ctx, &tx_queue->irq,
@@ -1130,7 +1130,7 @@ enetc_isc_txd_encap(void *data, if_pkt_info_t ipi)
}
/* Now add remaining descriptors. */
- for (;i < ipi->ipi_nsegs; i++) {
+ for (; i < ipi->ipi_nsegs; i++) {
desc = &queue->ring[pidx];
bzero(desc, sizeof(*desc));
desc->addr = segs[i].ds_addr;
diff --git a/sys/dev/evdev/cdev.c b/sys/dev/evdev/cdev.c
index 9fe1299a0937..dd4115cdfc71 100644
--- a/sys/dev/evdev/cdev.c
+++ b/sys/dev/evdev/cdev.c
@@ -96,6 +96,7 @@ static const struct filterops evdev_cdev_filterops = {
.f_attach = NULL,
.f_detach = evdev_kqdetach,
.f_event = evdev_kqread,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/dev/evdev/uinput.c b/sys/dev/evdev/uinput.c
index 9ac9fee8a157..76a530479c02 100644
--- a/sys/dev/evdev/uinput.c
+++ b/sys/dev/evdev/uinput.c
@@ -104,6 +104,7 @@ static const struct filterops uinput_filterops = {
.f_attach = NULL,
.f_detach = uinput_kqdetach,
.f_event = uinput_kqread,
+ .f_copy = knote_triv_copy,
};
struct uinput_cdev_state
diff --git a/sys/dev/fdt/fdt_slicer.c b/sys/dev/fdt/fdt_slicer.c
index 3ba4eddf8b61..50112db5cfae 100644
--- a/sys/dev/fdt/fdt_slicer.c
+++ b/sys/dev/fdt/fdt_slicer.c
@@ -45,7 +45,7 @@
static int fill_slices(device_t dev, const char *provider,
struct flash_slice *slices, int *slices_num);
-static void fdt_slicer_init(void);
+static void fdt_slicer_init(void *);
static int
fill_slices_from_node(phandle_t node, struct flash_slice *slices, int *count)
@@ -138,7 +138,7 @@ fill_slices(device_t dev, const char *provider __unused,
}
static void
-fdt_slicer_init(void)
+fdt_slicer_init(void *dummy __unused)
{
flash_register_slicer(fill_slices, FLASH_SLICES_TYPE_NAND, false);
@@ -147,7 +147,7 @@ fdt_slicer_init(void)
}
static void
-fdt_slicer_cleanup(void)
+fdt_slicer_cleanup(void *dummy __unused)
{
flash_register_slicer(NULL, FLASH_SLICES_TYPE_NAND, true);
diff --git a/sys/dev/gpio/gpioc.c b/sys/dev/gpio/gpioc.c
index 6c6f79227166..517f7752daad 100644
--- a/sys/dev/gpio/gpioc.c
+++ b/sys/dev/gpio/gpioc.c
@@ -158,7 +158,8 @@ static const struct filterops gpioc_read_filterops = {
.f_attach = NULL,
.f_detach = gpioc_kqdetach,
.f_event = gpioc_kqread,
- .f_touch = NULL
+ .f_touch = NULL,
+ .f_copy = knote_triv_copy,
};
static struct gpioc_pin_event *
diff --git a/sys/dev/hid/hidraw.c b/sys/dev/hid/hidraw.c
index 4855843cd265..5b5e9b58f8bd 100644
--- a/sys/dev/hid/hidraw.c
+++ b/sys/dev/hid/hidraw.c
@@ -182,6 +182,7 @@ static const struct filterops hidraw_filterops_read = {
.f_isfd = 1,
.f_detach = hidraw_kqdetach,
.f_event = hidraw_kqread,
+ .f_copy = knote_triv_copy,
};
static void
diff --git a/sys/dev/hid/u2f.c b/sys/dev/hid/u2f.c
index 08f1a5ceedba..e1f696d72f01 100644
--- a/sys/dev/hid/u2f.c
+++ b/sys/dev/hid/u2f.c
@@ -132,6 +132,7 @@ static struct filterops u2f_filterops_read = {
.f_isfd = 1,
.f_detach = u2f_kqdetach,
.f_event = u2f_kqread,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/dev/hptmv/entry.c b/sys/dev/hptmv/entry.c
index 5c4718bf582f..f3d58f285b39 100644
--- a/sys/dev/hptmv/entry.c
+++ b/sys/dev/hptmv/entry.c
@@ -430,7 +430,7 @@ static void device_change(IAL_ADAPTER_T *pAdapter , MV_U8 channelIndex, int plug
if(pVDev->pParent)
{
int iMember;
- for(iMember = 0; iMember < pVDev->pParent->u.array.bArnMember; iMember++)
+ for (iMember = 0; iMember < pVDev->pParent->u.array.bArnMember; iMember++)
if((PVDevice)pVDev->pParent->u.array.pMember[iMember] == pVDev)
pVDev->pParent->u.array.pMember[iMember] = NULL;
pVDev->pParent = NULL;
@@ -984,7 +984,7 @@ fRegisterVdevice(IAL_ADAPTER_T *pAdapter)
PVBus pVBus;
int i,j;
- for(i=0;i<MV_SATA_CHANNELS_NUM;i++) {
+ for (i = 0; i < MV_SATA_CHANNELS_NUM; i++) {
pPhysical = &(pAdapter->VDevices[i]);
pLogical = pPhysical;
while (pLogical->pParent) pLogical = pLogical->pParent;
@@ -1027,8 +1027,7 @@ GetSpareDisk(_VBUS_ARG PVDevice pArray)
PVDevice pVDevice, pFind = NULL;
int i;
- for(i=0;i<MV_SATA_CHANNELS_NUM;i++)
- {
+ for (i=0; i < MV_SATA_CHANNELS_NUM; i++) {
pVDevice = &pAdapter->VDevices[i];
if(!pVDevice)
continue;
@@ -1356,7 +1355,7 @@ unregister:
goto unregister;
}
- for (i=0; i<MAX_COMMAND_BLOCKS_FOR_EACH_VBUS; i++) {
+ for (i = 0; i < MAX_COMMAND_BLOCKS_FOR_EACH_VBUS; i++) {
FreeCommand(_VBUS_P &(pAdapter->pCommandBlocks[i]));
}
@@ -1370,7 +1369,7 @@ unregister:
memset((void *)pAdapter->pbus_dmamap, 0, sizeof(struct _BUS_DMAMAP) * MAX_QUEUE_COMM);
pAdapter->pbus_dmamap_list = 0;
- for (i=0; i < MAX_QUEUE_COMM; i++) {
+ for (i = 0; i < MAX_QUEUE_COMM; i++) {
PBUS_DMAMAP pmap = &(pAdapter->pbus_dmamap[i]);
pmap->pAdapter = pAdapter;
dmamap_put(pmap);
@@ -1398,7 +1397,7 @@ unregister:
pAdapter->prdTableAlignedAddr = (PUCHAR)(((ULONG_PTR)pAdapter->prdTableAddr + 0x1f) & ~(ULONG_PTR)0x1fL);
{
PUCHAR PRDTable = pAdapter->prdTableAlignedAddr;
- for (i=0; i<PRD_TABLES_FOR_VBUS; i++)
+ for (i = 0; i < PRD_TABLES_FOR_VBUS; i++)
{
/* KdPrint(("i=%d,pAdapter->pFreePRDLink=%p\n",i,pAdapter->pFreePRDLink)); */
FreePRDTable(pAdapter, PRDTable);
@@ -1447,7 +1446,7 @@ unregister:
}
#ifdef SUPPORT_ARRAY
- for(i = MAX_ARRAY_DEVICE - 1; i >= 0; i--) {
+ for (i = MAX_ARRAY_DEVICE - 1; i >= 0; i--) {
pVDev = ArrayTables(i);
mArFreeArrayTable(pVDev);
}
@@ -1467,7 +1466,7 @@ unregister:
_vbus_p->nInstances = 1;
fRegisterVdevice(pAdapter);
- for (channel=0;channel<MV_SATA_CHANNELS_NUM;channel++) {
+ for (channel = 0; channel < MV_SATA_CHANNELS_NUM; channel++) {
pVDev = _vbus_p->pVDevice[channel];
if (pVDev && pVDev->vf_online)
fCheckBootable(pVDev);
@@ -1567,7 +1566,7 @@ fResetActiveCommands(PVBus _vbus_p)
{
MV_SATA_ADAPTER *pMvSataAdapter = &((IAL_ADAPTER_T *)_vbus_p->OsExt)->mvSataAdapter;
MV_U8 channel;
- for (channel=0;channel< MV_SATA_CHANNELS_NUM;channel++) {
+ for (channel = 0; channel < MV_SATA_CHANNELS_NUM; channel++) {
if (pMvSataAdapter->sataChannel[channel] && pMvSataAdapter->sataChannel[channel]->outstandingCommands)
MvSataResetChannel(pMvSataAdapter,channel);
}
@@ -1590,7 +1589,7 @@ check_cmds:
dataxfer_poll();
xor_poll();
#endif
- for (channel=0;channel< MV_SATA_CHANNELS_NUM;channel++) {
+ for (channel = 0; channel < MV_SATA_CHANNELS_NUM; channel++) {
pMvSataChannel = pMvSataAdapter->sataChannel[channel];
if (pMvSataChannel && pMvSataChannel->outstandingCommands)
{
@@ -1716,7 +1715,7 @@ fDeviceSendCommand(_VBUS_ARG PCommand pCmd)
MV_BOOLEAN is48bit;
MV_U8 channel;
- int i=0;
+ int i = 0;
DECLARE_BUFFER(FPSCAT_GATH, tmpSg);
@@ -2141,7 +2140,7 @@ FlushAdapter(IAL_ADAPTER_T *pAdapter)
hpt_printk(("flush all devices\n"));
/* flush all devices */
- for (i=0; i<MAX_VDEVICE_PER_VBUS; i++) {
+ for (i = 0; i < MAX_VDEVICE_PER_VBUS; i++) {
PVDevice pVDev = pAdapter->VBus.pVDevice[i];
if(pVDev) fFlushVDev(pVDev);
}
@@ -2174,7 +2173,7 @@ Check_Idle_Call(IAL_ADAPTER_T *pAdapter)
{
int i;
PVDevice pArray;
- for(i = 0; i < MAX_ARRAY_PER_VBUS; i++){
+ for (i = 0; i < MAX_ARRAY_PER_VBUS; i++) {
if ((pArray=ArrayTables(i))->u.array.dArStamp==0)
continue;
else if (pArray->u.array.rf_auto_rebuild) {
@@ -2378,7 +2377,7 @@ hpt_free_ccb(union ccb **ccb_Q, union ccb *ccb)
static void hpt_worker_thread(void)
{
- for(;;) {
+ for (;;) {
mtx_lock(&DpcQueue_Lock);
while (DpcQueue_First!=DpcQueue_Last) {
ST_HPT_DPC p;
@@ -2418,7 +2417,7 @@ static void hpt_worker_thread(void)
mtx_lock(&pAdapter->lock);
_vbus_p = &pAdapter->VBus;
- for (i=0;i<MAX_ARRAY_PER_VBUS;i++)
+ for (i = 0; i < MAX_ARRAY_PER_VBUS; i++)
{
if ((pArray=ArrayTables(i))->u.array.dArStamp==0)
continue;
@@ -2472,7 +2471,7 @@ launch_worker_thread(void)
int i;
PVDevice pVDev;
- for(i = 0; i < MAX_ARRAY_PER_VBUS; i++)
+ for (i = 0; i < MAX_ARRAY_PER_VBUS; i++)
if ((pVDev=ArrayTables(i))->u.array.dArStamp==0)
continue;
else{
diff --git a/sys/dev/hptmv/gui_lib.c b/sys/dev/hptmv/gui_lib.c
index d78fdcca69d2..f11044db733a 100644
--- a/sys/dev/hptmv/gui_lib.c
+++ b/sys/dev/hptmv/gui_lib.c
@@ -86,8 +86,7 @@ check_VDevice_valid(PVDevice p)
while(pAdapter != NULL)
{
_vbus_p = &pAdapter->VBus;
- for (i=0;i<MAX_ARRAY_PER_VBUS;i++)
- {
+ for (i = 0; i<MAX_ARRAY_PER_VBUS; i++) {
pVDevice=ArrayTables(i);
if ((pVDevice->u.array.dArStamp != 0) && (pVDevice == p))
return 0;
@@ -244,9 +243,9 @@ static void get_array_info(PVDevice pVDevice, PHPT_ARRAY_INFO pArrayInfo)
if(pVDevice->u.array.pMember[i] != NULL)
pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]);
- for(i=pArrayInfo->nDisk; i<MAX_ARRAY_MEMBERS; i++)
+ for (i = pArrayInfo->nDisk; i < MAX_ARRAY_MEMBERS; i++)
pArrayInfo->Members[i] = INVALID_DEVICEID;
- }
+}
static void get_array_info_v2(PVDevice pVDevice, PHPT_ARRAY_INFO_V2 pArrayInfo)
{
@@ -266,7 +265,7 @@ static void get_array_info_v2(PVDevice pVDevice, PHPT_ARRAY_INFO_V2 pArrayInfo)
if(pVDevice->u.array.pMember[i] != NULL)
pArrayInfo->Members[pArrayInfo->nDisk++] = VDEV_TO_ID(pVDevice->u.array.pMember[i]);
- for(i=pArrayInfo->nDisk; i<MAX_ARRAY_MEMBERS_V2; i++)
+ for (i = pArrayInfo->nDisk; i < MAX_ARRAY_MEMBERS_V2; i++)
pArrayInfo->Members[i] = INVALID_DEVICEID;
}
#endif
@@ -461,8 +460,7 @@ found:
pInfo->IoPort = 0;
pInfo->ControlPort = 0;
- for (i=0; i<2 ;i++)
- {
+ for (i = 0; i < 2; i++) {
pInfo->Devices[i] = (DEVICEID)INVALID_DEVICEID;
}
diff --git a/sys/dev/hptmv/hptproc.c b/sys/dev/hptmv/hptproc.c
index 38fe61ee7e04..328750d9034c 100644
--- a/sys/dev/hptmv/hptproc.c
+++ b/sys/dev/hptmv/hptproc.c
@@ -107,7 +107,7 @@ hpt_set_asc_info(IAL_ADAPTER_T *pAdapter, char *buffer,int length)
return -EINVAL;
}
- for (i=0;i<MV_SATA_CHANNELS_NUM;i++)
+ for (i = 0; i < MV_SATA_CHANNELS_NUM; i++)
if(i == ichan)
goto rebuild;
diff --git a/sys/dev/iommu/iommu_gas.c b/sys/dev/iommu/iommu_gas.c
index ffa8dc096adc..80e37341b3dc 100644
--- a/sys/dev/iommu/iommu_gas.c
+++ b/sys/dev/iommu/iommu_gas.c
@@ -77,7 +77,7 @@ static int iommu_check_free;
#endif
static void
-intel_gas_init(void)
+intel_gas_init(void *dummy __unused)
{
iommu_map_entry_zone = uma_zcreate("IOMMU_MAP_ENTRY",
diff --git a/sys/dev/ipmi/ipmi_linux.c b/sys/dev/ipmi/ipmi_linux.c
index 05eb30a0aa77..58872de12003 100644
--- a/sys/dev/ipmi/ipmi_linux.c
+++ b/sys/dev/ipmi/ipmi_linux.c
@@ -66,15 +66,7 @@
#define L_IPMICTL_SET_MY_LUN_CMD _IOW(IPMI_IOC_MAGIC, 19, unsigned int)
#define L_IPMICTL_GET_MY_LUN_CMD _IOW(IPMI_IOC_MAGIC, 20, unsigned int)
-static linux_ioctl_function_t ipmi_linux_ioctl;
-static struct linux_ioctl_handler ipmi_linux_handler = {ipmi_linux_ioctl,
- IPMI_LINUX_IOCTL_MIN,
- IPMI_LINUX_IOCTL_MAX};
-
-SYSINIT (ipmi_linux_register, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_register_handler, &ipmi_linux_handler);
-SYSUNINIT(ipmi_linux_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_unregister_handler, &ipmi_linux_handler);
+LINUX_IOCTL_SET(ipmi, IPMI_LINUX_IOCTL_MIN, IPMI_LINUX_IOCTL_MAX);
static int
ipmi_linux_modevent(module_t mod, int type, void *data)
diff --git a/sys/dev/ixl/if_ixl.c b/sys/dev/ixl/if_ixl.c
index 261f76055901..bfaf6cd69e58 100644
--- a/sys/dev/ixl/if_ixl.c
+++ b/sys/dev/ixl/if_ixl.c
@@ -1480,17 +1480,33 @@ ixl_if_multi_set(if_ctx_t ctx)
struct ixl_pf *pf = iflib_get_softc(ctx);
struct ixl_vsi *vsi = &pf->vsi;
struct i40e_hw *hw = vsi->hw;
+ enum i40e_status_code status;
int mcnt;
+ if_t ifp = iflib_get_ifp(ctx);
IOCTL_DEBUGOUT("ixl_if_multi_set: begin");
/* Delete filters for removed multicast addresses */
ixl_del_multi(vsi, false);
- mcnt = min(if_llmaddr_count(iflib_get_ifp(ctx)), MAX_MULTICAST_ADDR);
+ mcnt = min(if_llmaddr_count(ifp), MAX_MULTICAST_ADDR);
if (__predict_false(mcnt == MAX_MULTICAST_ADDR)) {
- i40e_aq_set_vsi_multicast_promiscuous(hw,
+ /* Check if promisc mode is already enabled, if yes return */
+ if (vsi->flags & IXL_FLAGS_MC_PROMISC)
+ return;
+
+ status = i40e_aq_set_vsi_multicast_promiscuous(hw,
vsi->seid, TRUE, NULL);
+ if (status != I40E_SUCCESS)
+ if_printf(ifp, "Failed to enable multicast promiscuous "
+ "mode, status: %s\n", i40e_stat_str(hw, status));
+ else {
+ if_printf(ifp, "Enabled multicast promiscuous mode\n");
+
+ /* Set the flag to track promiscuous mode */
+ vsi->flags |= IXL_FLAGS_MC_PROMISC;
+ }
+ /* Delete all existing MC filters */
ixl_del_multi(vsi, true);
return;
}
@@ -1693,6 +1709,13 @@ ixl_if_promisc_set(if_ctx_t ctx, int flags)
return (err);
err = i40e_aq_set_vsi_multicast_promiscuous(hw,
vsi->seid, multi, NULL);
+
+ /* Update the multicast promiscuous flag based on the new state */
+ if (multi)
+ vsi->flags |= IXL_FLAGS_MC_PROMISC;
+ else
+ vsi->flags &= ~IXL_FLAGS_MC_PROMISC;
+
return (err);
}
diff --git a/sys/dev/ixl/ixl.h b/sys/dev/ixl/ixl.h
index 95379448b570..ab0f38307d90 100644
--- a/sys/dev/ixl/ixl.h
+++ b/sys/dev/ixl/ixl.h
@@ -202,6 +202,7 @@
#define IXL_FLAGS_KEEP_TSO6 (1 << 1)
#define IXL_FLAGS_USES_MSIX (1 << 2)
#define IXL_FLAGS_IS_VF (1 << 3)
+#define IXL_FLAGS_MC_PROMISC (1 << 4)
#define IXL_VSI_IS_PF(v) ((v->flags & IXL_FLAGS_IS_VF) == 0)
#define IXL_VSI_IS_VF(v) ((v->flags & IXL_FLAGS_IS_VF) != 0)
diff --git a/sys/dev/ixl/ixl_pf_main.c b/sys/dev/ixl/ixl_pf_main.c
index 1752efc02fff..b62619ced5cb 100644
--- a/sys/dev/ixl/ixl_pf_main.c
+++ b/sys/dev/ixl/ixl_pf_main.c
@@ -593,24 +593,29 @@ ixl_add_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt)
* Routines for multicast and vlan filter management.
*
*********************************************************************/
+
+/**
+ * ixl_add_multi - Add multicast filters to the hardware
+ * @vsi: The VSI structure
+ *
+ * In case number of multicast filters in the IFP exceeds 127 entries,
+ * multicast promiscuous mode will be enabled and the filters will be removed
+ * from the hardware
+ */
void
ixl_add_multi(struct ixl_vsi *vsi)
{
if_t ifp = vsi->ifp;
- struct i40e_hw *hw = vsi->hw;
int mcnt = 0;
struct ixl_add_maddr_arg cb_arg;
IOCTL_DEBUGOUT("ixl_add_multi: begin");
- mcnt = if_llmaddr_count(ifp);
- if (__predict_false(mcnt >= MAX_MULTICAST_ADDR)) {
- i40e_aq_set_vsi_multicast_promiscuous(hw,
- vsi->seid, TRUE, NULL);
- /* delete all existing MC filters */
- ixl_del_multi(vsi, true);
- return;
- }
+ /*
+ * There is no need to check if the number of multicast addresses
+ * exceeds the MAX_MULTICAST_ADDR threshold and set promiscuous mode
+ * here, as all callers already handle this case.
+ */
cb_arg.vsi = vsi;
LIST_INIT(&cb_arg.to_add);
@@ -633,30 +638,103 @@ ixl_match_maddr(void *arg, struct sockaddr_dl *sdl, u_int cnt)
return (0);
}
+/**
+ * ixl_dis_multi_promisc - Disable multicast promiscuous mode
+ * @vsi: The VSI structure
+ * @vsi_mcnt: Number of multicast filters in the VSI
+ *
+ * Disable multicast promiscuous mode based on number of entries in the IFP
+ * and the VSI, then re-add multicast filters.
+ *
+ */
+static void
+ixl_dis_multi_promisc(struct ixl_vsi *vsi, int vsi_mcnt)
+{
+ struct ifnet *ifp = vsi->ifp;
+ struct i40e_hw *hw = vsi->hw;
+ int ifp_mcnt = 0;
+ enum i40e_status_code status;
+
+ /*
+ * Check if multicast promiscuous mode was actually enabled.
+ * If promiscuous mode was not enabled, don't attempt to disable it.
+ * Also, don't disable if IFF_PROMISC or IFF_ALLMULTI is set.
+ */
+ if (!(vsi->flags & IXL_FLAGS_MC_PROMISC) ||
+ (if_getflags(ifp) & (IFF_PROMISC | IFF_ALLMULTI)))
+ return;
+
+ ifp_mcnt = if_llmaddr_count(ifp);
+ /*
+ * Equal lists or empty ifp list mean the list has not been changed
+ * and in such case avoid disabling multicast promiscuous mode as it
+ * was not previously enabled. Case where multicast promiscuous mode has
+ * been enabled is when vsi_mcnt == 0 && ifp_mcnt > 0.
+ */
+ if (ifp_mcnt == vsi_mcnt || ifp_mcnt == 0 ||
+ ifp_mcnt >= MAX_MULTICAST_ADDR)
+ return;
+
+ status = i40e_aq_set_vsi_multicast_promiscuous(hw, vsi->seid,
+ FALSE, NULL);
+ if (status != I40E_SUCCESS) {
+ if_printf(ifp, "Failed to disable multicast promiscuous "
+ "mode, status: %s\n", i40e_stat_str(hw, status));
+
+ return;
+ }
+
+ /* Clear the flag since promiscuous mode is now disabled */
+ vsi->flags &= ~IXL_FLAGS_MC_PROMISC;
+ if_printf(ifp, "Disabled multicast promiscuous mode\n");
+
+ ixl_add_multi(vsi);
+}
+
+/**
+ * ixl_del_multi - Delete multicast filters from the hardware
+ * @vsi: The VSI structure
+ * @all: Bool to determine if all the multicast filters should be removed
+ *
+ * In case number of multicast filters in the IFP drops to 127 entries,
+ * multicast promiscuous mode will be disabled and the filters will be reapplied
+ * to the hardware.
+ */
void
ixl_del_multi(struct ixl_vsi *vsi, bool all)
{
- struct ixl_ftl_head to_del;
+ int to_del_cnt = 0, vsi_mcnt = 0;
if_t ifp = vsi->ifp;
struct ixl_mac_filter *f, *fn;
- int mcnt = 0;
+ struct ixl_ftl_head to_del;
IOCTL_DEBUGOUT("ixl_del_multi: begin");
LIST_INIT(&to_del);
/* Search for removed multicast addresses */
LIST_FOREACH_SAFE(f, &vsi->ftl, ftle, fn) {
- if ((f->flags & IXL_FILTER_MC) == 0 ||
- (!all && (if_foreach_llmaddr(ifp, ixl_match_maddr, f) == 0)))
+ if ((f->flags & IXL_FILTER_MC) == 0)
+ continue;
+
+ /* Count all the multicast filters in the VSI for comparison */
+ vsi_mcnt++;
+
+ if (!all && if_foreach_llmaddr(ifp, ixl_match_maddr, f) != 0)
continue;
LIST_REMOVE(f, ftle);
LIST_INSERT_HEAD(&to_del, f, ftle);
- mcnt++;
+ to_del_cnt++;
}
- if (mcnt > 0)
- ixl_del_hw_filters(vsi, &to_del, mcnt);
+ if (to_del_cnt > 0) {
+ ixl_del_hw_filters(vsi, &to_del, to_del_cnt);
+ return;
+ }
+
+ ixl_dis_multi_promisc(vsi, vsi_mcnt);
+
+ IOCTL_DEBUGOUT("ixl_del_multi: end");
}
void
diff --git a/sys/dev/mfi/mfi_linux.c b/sys/dev/mfi/mfi_linux.c
index 8ed8baa3858a..9541ff37336a 100644
--- a/sys/dev/mfi/mfi_linux.c
+++ b/sys/dev/mfi/mfi_linux.c
@@ -53,15 +53,7 @@
#define MFI_LINUX_IOCTL_MIN 0x4d00
#define MFI_LINUX_IOCTL_MAX 0x4d04
-static linux_ioctl_function_t mfi_linux_ioctl;
-static struct linux_ioctl_handler mfi_linux_handler = {mfi_linux_ioctl,
- MFI_LINUX_IOCTL_MIN,
- MFI_LINUX_IOCTL_MAX};
-
-SYSINIT (mfi_register, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_register_handler, &mfi_linux_handler);
-SYSUNINIT(mfi_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_unregister_handler, &mfi_linux_handler);
+LINUX_IOCTL_SET(mfi, MFI_LINUX_IOCTL_MIN, MFI_LINUX_IOCTL_MAX);
static struct linux_device_handler mfi_device_handler =
{ "mfi", "megaraid_sas", "mfi0", "megaraid_sas_ioctl_node", -1, 0, 1};
diff --git a/sys/dev/mii/mv88e151x.c b/sys/dev/mii/mv88e151x.c
index 618ad81471c9..fb03b2a7a917 100644
--- a/sys/dev/mii/mv88e151x.c
+++ b/sys/dev/mii/mv88e151x.c
@@ -97,7 +97,7 @@ mv88e151x_attach(device_t dev)
{
const struct mii_attach_args *ma;
struct mii_softc *sc;
- uint32_t cop_cap, cop_extcap;
+ uint32_t cop_cap = 0, cop_extcap = 0;
sc = device_get_softc(dev);
ma = device_get_ivars(dev);
@@ -224,10 +224,12 @@ mv88e151x_fiber_status(struct mii_softc *phy)
else if (reg & MV88E151X_STATUS_LINK &&
reg & MV88E151X_STATUS_SYNC &&
(reg & MV88E151X_STATUS_ENERGY) == 0) {
- if ((reg & MV88E151X_STATUS_SPEED_MASK) ==
+ if (((reg & MV88E151X_STATUS_SPEED_MASK) >>
+ MV88E151X_STATUS_SPEED_SHIFT) ==
MV88E151X_STATUS_SPEED_1000)
mii->mii_media_active |= IFM_1000_SX;
- else if ((reg & MV88E151X_STATUS_SPEED_MASK) ==
+ else if (((reg & MV88E151X_STATUS_SPEED_MASK) >>
+ MV88E151X_STATUS_SPEED_SHIFT) ==
MV88E151X_STATUS_SPEED_100)
mii->mii_media_active |= IFM_100_FX;
else
diff --git a/sys/dev/mps/mps_sas.c b/sys/dev/mps/mps_sas.c
index d69c8ea5fded..fa0f817ed67b 100644
--- a/sys/dev/mps/mps_sas.c
+++ b/sys/dev/mps/mps_sas.c
@@ -858,7 +858,7 @@ mps_detach_sas(struct mps_softc *sc)
if (sassc->devq != NULL)
cam_simq_free(sassc->devq);
- for(i=0; i< sassc->maxtargets ;i++) {
+ for (i = 0; i < sassc->maxtargets; i++) {
targ = &sassc->targets[i];
SLIST_FOREACH_SAFE(lun, &targ->luns, lun_link, lun_tmp) {
free(lun, M_MPT2);
@@ -3396,7 +3396,7 @@ mpssas_realloc_targets(struct mps_softc *sc, int maxtargets)
* the allocated LUNs for each target and then the target buffer
* itself.
*/
- for (i=0; i< maxtargets; i++) {
+ for (i = 0; i < maxtargets; i++) {
targ = &sassc->targets[i];
SLIST_FOREACH_SAFE(lun, &targ->luns, lun_link, lun_tmp) {
free(lun, M_MPT2);
diff --git a/sys/dev/mpt/mpt_raid.c b/sys/dev/mpt/mpt_raid.c
index 5ff08ffcf2b3..2b868f6ef070 100644
--- a/sys/dev/mpt/mpt_raid.c
+++ b/sys/dev/mpt/mpt_raid.c
@@ -830,7 +830,7 @@ mpt_is_raid_volume(struct mpt_softc *mpt, target_id_t tgt)
}
ioc_vol = mpt->ioc_page2->RaidVolume;
ioc_last_vol = ioc_vol + mpt->ioc_page2->NumActiveVolumes;
- for (;ioc_vol != ioc_last_vol; ioc_vol++) {
+ for (; ioc_vol != ioc_last_vol; ioc_vol++) {
if (ioc_vol->VolumeID == tgt) {
return (1);
}
@@ -1406,7 +1406,7 @@ mpt_refresh_raid_data(struct mpt_softc *mpt)
ioc_vol = mpt->ioc_page2->RaidVolume;
ioc_last_vol = ioc_vol + mpt->ioc_page2->NumActiveVolumes;
- for (;ioc_vol != ioc_last_vol; ioc_vol++) {
+ for (; ioc_vol != ioc_last_vol; ioc_vol++) {
struct mpt_raid_volume *mpt_vol;
mpt_vol = mpt->raid_volumes + ioc_vol->VolumePageNumber;
diff --git a/sys/dev/mrsas/mrsas_linux.c b/sys/dev/mrsas/mrsas_linux.c
index d7d48740a204..b06788fffc82 100644
--- a/sys/dev/mrsas/mrsas_linux.c
+++ b/sys/dev/mrsas/mrsas_linux.c
@@ -67,15 +67,7 @@
#define MRSAS_LINUX_IOCTL_MIN 0x4d00
#define MRSAS_LINUX_IOCTL_MAX 0x4d01
-static linux_ioctl_function_t mrsas_linux_ioctl;
-static struct linux_ioctl_handler mrsas_linux_handler = {mrsas_linux_ioctl,
- MRSAS_LINUX_IOCTL_MIN,
-MRSAS_LINUX_IOCTL_MAX};
-
-SYSINIT(mrsas_register, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_register_handler, &mrsas_linux_handler);
-SYSUNINIT(mrsas_unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,
- linux_ioctl_unregister_handler, &mrsas_linux_handler);
+LINUX_IOCTL_SET(mrsas, MRSAS_LINUX_IOCTL_MIN, MRSAS_LINUX_IOCTL_MAX);
static struct linux_device_handler mrsas_device_handler =
{"mrsas", "megaraid_sas", "mrsas0", "megaraid_sas_ioctl_node", -1, 0, 1};
diff --git a/sys/dev/netmap/netmap_freebsd.c b/sys/dev/netmap/netmap_freebsd.c
index 8cc543d54c2e..9fb4370129f3 100644
--- a/sys/dev/netmap/netmap_freebsd.c
+++ b/sys/dev/netmap/netmap_freebsd.c
@@ -738,6 +738,7 @@ nm_os_extmem_create(unsigned long p, struct nmreq_pools_info *pi, int *perror)
out_rem:
vm_map_remove(kernel_map, e->kva, e->kva + e->size);
+ e->obj = NULL; /* reference consumed by vm_map_remove() */
out_rel:
vm_object_deallocate(e->obj);
e->obj = NULL;
@@ -1406,19 +1407,34 @@ netmap_knwrite(struct knote *kn, long hint)
return netmap_knrw(kn, hint, POLLOUT);
}
+static int
+netmap_kncopy(struct knote *kn, struct proc *p1)
+{
+ struct netmap_priv_d *priv;
+ struct nm_selinfo *si;
+
+ priv = kn->kn_hook;
+ si = priv->np_si[kn->kn_filter == EVFILT_WRITE ? NR_TX : NR_RX];
+ NMG_LOCK();
+ si->kqueue_users++;
+ NMG_UNLOCK();
+ return (0);
+}
+
static const struct filterops netmap_rfiltops = {
.f_isfd = 1,
.f_detach = netmap_knrdetach,
.f_event = netmap_knread,
+ .f_copy = netmap_kncopy,
};
static const struct filterops netmap_wfiltops = {
.f_isfd = 1,
.f_detach = netmap_knwdetach,
.f_event = netmap_knwrite,
+ .f_copy = netmap_kncopy,
};
-
/*
* This is called when a thread invokes kevent() to record
* a change in the configuration of the kqueue().
diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c
index 4625c2616562..265181ef7ad0 100644
--- a/sys/dev/nfe/if_nfe.c
+++ b/sys/dev/nfe/if_nfe.c
@@ -2078,7 +2078,7 @@ nfe_rxeof(struct nfe_softc *sc, int count, int *rx_npktsp)
bus_dmamap_sync(sc->rxq.rx_desc_tag, sc->rxq.rx_desc_map,
BUS_DMASYNC_POSTREAD);
- for (prog = 0;;NFE_INC(sc->rxq.cur, NFE_RX_RING_COUNT), vtag = 0) {
+ for (prog = 0; ; NFE_INC(sc->rxq.cur, NFE_RX_RING_COUNT), vtag = 0) {
if (count <= 0)
break;
count--;
@@ -2192,7 +2192,7 @@ nfe_jrxeof(struct nfe_softc *sc, int count, int *rx_npktsp)
bus_dmamap_sync(sc->jrxq.jrx_desc_tag, sc->jrxq.jrx_desc_map,
BUS_DMASYNC_POSTREAD);
- for (prog = 0;;NFE_INC(sc->jrxq.jcur, NFE_JUMBO_RX_RING_COUNT),
+ for (prog = 0; ; NFE_INC(sc->jrxq.jcur, NFE_JUMBO_RX_RING_COUNT),
vtag = 0) {
if (count <= 0)
break;
diff --git a/sys/dev/null/null.c b/sys/dev/null/null.c
index 8525eb9543c3..b5725de30bef 100644
--- a/sys/dev/null/null.c
+++ b/sys/dev/null/null.c
@@ -61,12 +61,14 @@ static int zero_ev(struct knote *kn, long hint);
static const struct filterops one_fop = {
.f_isfd = 1,
- .f_event = one_ev
+ .f_event = one_ev,
+ .f_copy = knote_triv_copy,
};
static const struct filterops zero_fop = {
.f_isfd = 1,
- .f_event = zero_ev
+ .f_event = zero_ev,
+ .f_copy = knote_triv_copy,
};
static struct cdevsw full_cdevsw = {
diff --git a/sys/dev/nvme/nvme.c b/sys/dev/nvme/nvme.c
index ead91f0d01fe..d119f9877aaa 100644
--- a/sys/dev/nvme/nvme.c
+++ b/sys/dev/nvme/nvme.c
@@ -51,7 +51,7 @@ int32_t nvme_retry_count;
MALLOC_DEFINE(M_NVME, "nvme", "nvme(4) memory allocations");
static void
-nvme_init(void)
+nvme_init(void *dummy __unused)
{
uint32_t i;
@@ -62,7 +62,7 @@ nvme_init(void)
SYSINIT(nvme_register, SI_SUB_DRIVERS, SI_ORDER_SECOND, nvme_init, NULL);
static void
-nvme_uninit(void)
+nvme_uninit(void *dummy __unused)
{
}
diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h
index 57cb37907e65..f4ea08f129c0 100644
--- a/sys/dev/nvme/nvme.h
+++ b/sys/dev/nvme/nvme.h
@@ -2153,8 +2153,6 @@ static inline
void nvme_namespace_data_swapbytes(struct nvme_namespace_data *s __unused)
{
#if _BYTE_ORDER != _LITTLE_ENDIAN
- int i;
-
s->nsze = le64toh(s->nsze);
s->ncap = le64toh(s->ncap);
s->nuse = le64toh(s->nuse);
@@ -2173,7 +2171,7 @@ void nvme_namespace_data_swapbytes(struct nvme_namespace_data *s __unused)
s->anagrpid = le32toh(s->anagrpid);
s->nvmsetid = le16toh(s->nvmsetid);
s->endgid = le16toh(s->endgid);
- for (i = 0; i < 64; i++)
+ for (unsigned i = 0; i < nitems(s->lbaf); i++)
s->lbaf[i] = le32toh(s->lbaf[i]);
#endif
}
diff --git a/sys/dev/nvme/nvme_sim.c b/sys/dev/nvme/nvme_sim.c
index a06774a64761..7693aa6d54d3 100644
--- a/sys/dev/nvme/nvme_sim.c
+++ b/sys/dev/nvme/nvme_sim.c
@@ -391,7 +391,7 @@ nvme_sim_controller_fail(void *ctrlr_arg)
struct nvme_consumer *consumer_cookie;
static void
-nvme_sim_init(void)
+nvme_sim_init(void *dummy __unused)
{
if (nvme_use_nvd)
return;
@@ -404,7 +404,7 @@ SYSINIT(nvme_sim_register, SI_SUB_DRIVERS, SI_ORDER_ANY,
nvme_sim_init, NULL);
static void
-nvme_sim_uninit(void)
+nvme_sim_uninit(void *dummy __unused)
{
if (nvme_use_nvd)
return;
diff --git a/sys/dev/ocs_fc/ocs_mgmt.c b/sys/dev/ocs_fc/ocs_mgmt.c
index 726b499f28ba..5b7f6557c017 100644
--- a/sys/dev/ocs_fc/ocs_mgmt.c
+++ b/sys/dev/ocs_fc/ocs_mgmt.c
@@ -226,7 +226,7 @@ ocs_mgmt_get_list(ocs_t *ocs, ocs_textbuf_t *textbuf)
ocs_mgmt_start_unnumbered_section(textbuf, "ocs");
- for (i=0;i<ARRAY_SIZE(mgmt_table);i++) {
+ for (i = 0; i < ARRAY_SIZE(mgmt_table); i++) {
access = 0;
if (mgmt_table[i].get_handler) {
access |= MGMT_MODE_RD;
@@ -305,7 +305,7 @@ ocs_mgmt_get(ocs_t *ocs, char *name, ocs_textbuf_t *textbuf)
if (ocs_strncmp(name, qualifier, strlen(qualifier)) == 0) {
char *unqualified_name = name + strlen(qualifier) + 1;
- for (i=0;i<ARRAY_SIZE(mgmt_table);i++) {
+ for (i = 0; i < ARRAY_SIZE(mgmt_table); i++) {
if (ocs_strcmp(unqualified_name, mgmt_table[i].name) == 0) {
if (mgmt_table[i].get_handler) {
mgmt_table[i].get_handler(ocs, name, textbuf);
@@ -387,7 +387,7 @@ ocs_mgmt_set(ocs_t *ocs, char *name, char *value)
char *unqualified_name = name + strlen(qualifier) +1;
/* See if it's a value I can set */
- for (i=0;i<ARRAY_SIZE(mgmt_table);i++) {
+ for (i = 0; i < ARRAY_SIZE(mgmt_table); i++) {
if (ocs_strcmp(unqualified_name, mgmt_table[i].name) == 0) {
if (mgmt_table[i].set_handler) {
return mgmt_table[i].set_handler(ocs, name, value);
@@ -469,7 +469,7 @@ ocs_mgmt_exec(ocs_t *ocs, char *action, void *arg_in,
char *unqualified_name = action + strlen(qualifier) +1;
/* See if it's an action I can perform */
- for (i=0;i<ARRAY_SIZE(mgmt_table); i++) {
+ for (i = 0; i < ARRAY_SIZE(mgmt_table); i++) {
if (ocs_strcmp(unqualified_name, mgmt_table[i].name) == 0) {
if (mgmt_table[i].action_handler) {
return mgmt_table[i].action_handler(ocs, action, arg_in, arg_in_length,
@@ -527,7 +527,7 @@ ocs_mgmt_get_all(ocs_t *ocs, ocs_textbuf_t *textbuf)
ocs_mgmt_start_unnumbered_section(textbuf, "ocs");
- for (i=0;i<ARRAY_SIZE(mgmt_table);i++) {
+ for (i = 0; i < ARRAY_SIZE(mgmt_table); i++) {
if (mgmt_table[i].get_handler) {
mgmt_table[i].get_handler(ocs, mgmt_table[i].name, textbuf);
} else if (mgmt_table[i].action_handler) {
@@ -1212,7 +1212,7 @@ get_sfp_a2(ocs_t *ocs, char *name, ocs_textbuf_t *textbuf)
int buffer_remaining = (SFP_PAGE_SIZE * 3) + 1;
int bytes_added;
- for (i=0; i < bytes_read; i++) {
+ for (i = 0; i < bytes_read; i++) {
bytes_added = ocs_snprintf(d, buffer_remaining, "%02x ", *s);
++s;
d += bytes_added;
@@ -2040,7 +2040,7 @@ get_profile_list(ocs_t *ocs, char *name, ocs_textbuf_t *textbuf)
result_buf = ocs_malloc(ocs, BUFFER_SIZE, OCS_M_ZERO);
bytes_left = BUFFER_SIZE;
- for (i=0; i<result.list->num_descriptors; i++) {
+ for (i = 0; i < result.list->num_descriptors; i++) {
sprintf(result_line, "0x%02x:%s\n", result.list->descriptors[i].profile_id,
result.list->descriptors[i].profile_description);
if (strlen(result_line) < bytes_left) {
diff --git a/sys/dev/pci/controller/pci_n1sdp.c b/sys/dev/pci/controller/pci_n1sdp.c
index 487041bc78e4..22f0ea27d45b 100644
--- a/sys/dev/pci/controller/pci_n1sdp.c
+++ b/sys/dev/pci/controller/pci_n1sdp.c
@@ -345,6 +345,17 @@ n1sdp_pcie_write_config(device_t dev, u_int bus, u_int slot,
bus_space_write_4(t, h, offset & ~3, data);
}
+static int
+n1sdp_pcie_acpi_request_feature(device_t pcib __unused, device_t dev __unused,
+ enum pci_feature feature __unused)
+{
+ /*
+ * HotPlug isn't supported on the N1SDP as it causes an interrupt storm
+ */
+ return (EINVAL);
+}
+
+
static device_method_t n1sdp_pcie_acpi_methods[] = {
DEVMETHOD(device_probe, n1sdp_pcie_acpi_probe),
DEVMETHOD(device_attach, n1sdp_pcie_acpi_attach),
@@ -352,6 +363,7 @@ static device_method_t n1sdp_pcie_acpi_methods[] = {
/* pcib interface */
DEVMETHOD(pcib_read_config, n1sdp_pcie_read_config),
DEVMETHOD(pcib_write_config, n1sdp_pcie_write_config),
+ DEVMETHOD(pcib_request_feature, n1sdp_pcie_acpi_request_feature),
DEVMETHOD_END
};
diff --git a/sys/dev/ppc/ppc.c b/sys/dev/ppc/ppc.c
index 9870379e2eba..de75f4747709 100644
--- a/sys/dev/ppc/ppc.c
+++ b/sys/dev/ppc/ppc.c
@@ -1389,7 +1389,7 @@ ppc_exec_microseq(device_t dev, struct ppb_microseq **p_msq)
/* let's suppose the next instr. is the same */
prefetch:
- for (;mi->opcode == MS_OP_RASSERT; INCR_PC)
+ for (; mi->opcode == MS_OP_RASSERT; INCR_PC)
w_reg(mi->arg[0].i, ppc, (char)mi->arg[1].i);
if (mi->opcode == MS_OP_DELAY) {
diff --git a/sys/dev/qat/qat_common/adf_freebsd_dev_processes.c b/sys/dev/qat/qat_common/adf_freebsd_dev_processes.c
index 67e1d4ad2cab..c5b745bb78fb 100644
--- a/sys/dev/qat/qat_common/adf_freebsd_dev_processes.c
+++ b/sys/dev/qat/qat_common/adf_freebsd_dev_processes.c
@@ -89,6 +89,7 @@ static struct filterops adf_state_read_filterops = {
.f_attach = NULL,
.f_detach = adf_state_kqread_detach,
.f_event = adf_state_kqread_event,
+ .f_copy = knote_triv_copy,
};
static struct cdev *adf_processes_dev;
diff --git a/sys/dev/smartpqi/smartpqi_event.c b/sys/dev/smartpqi/smartpqi_event.c
index f000d9ce9db3..88dcf45dd08a 100644
--- a/sys/dev/smartpqi/smartpqi_event.c
+++ b/sys/dev/smartpqi/smartpqi_event.c
@@ -115,7 +115,7 @@ pqisrc_ack_all_events(void *arg1)
pending_event = &softs->pending_events[0];
- for (i=0; i < PQI_NUM_SUPPORTED_EVENTS; i++) {
+ for (i = 0; i < PQI_NUM_SUPPORTED_EVENTS; i++) {
if (pending_event->pending == true) {
pending_event->pending = false;
pqisrc_acknowledge_event(softs, pending_event);
@@ -417,7 +417,7 @@ pqisrc_report_event_config(pqisrc_softstate_t *softs)
softs->event_config.num_event_descriptors = MIN(event_config_p->num_event_descriptors,
PQI_MAX_EVENT_DESCRIPTORS) ;
- for (i=0; i < softs->event_config.num_event_descriptors ;i++){
+ for (i = 0; i < softs->event_config.num_event_descriptors; i++) {
softs->event_config.descriptors[i].event_type =
event_config_p->descriptors[i].event_type;
}
@@ -477,7 +477,7 @@ pqisrc_set_event_config(pqisrc_softstate_t *softs)
event_config_p->num_event_descriptors = softs->event_config.num_event_descriptors;
- for (i=0; i < softs->event_config.num_event_descriptors ; i++){
+ for (i = 0; i < softs->event_config.num_event_descriptors; i++) {
event_config_p->descriptors[i].event_type =
softs->event_config.descriptors[i].event_type;
if( pqisrc_event_type_to_event_index(event_config_p->descriptors[i].event_type) != -1)
diff --git a/sys/dev/smartpqi/smartpqi_queue.c b/sys/dev/smartpqi/smartpqi_queue.c
index 2e80b01b5436..f05c951cd4f9 100644
--- a/sys/dev/smartpqi/smartpqi_queue.c
+++ b/sys/dev/smartpqi/smartpqi_queue.c
@@ -700,7 +700,7 @@ pqisrc_create_op_obq(pqisrc_softstate_t *softs,
} else {
int i = 0;
DBG_WARN("Error Status Descriptors\n");
- for(i = 0; i < 4;i++)
+ for (i = 0; i < 4; i++)
DBG_WARN(" %x ",admin_resp.resp_type.create_op_oq.status_desc[i]);
}
@@ -743,7 +743,7 @@ pqisrc_create_op_ibq(pqisrc_softstate_t *softs,
} else {
int i = 0;
DBG_WARN("Error Status Decsriptors\n");
- for(i = 0; i < 4;i++)
+ for (i = 0; i < 4; i++)
DBG_WARN(" %x ",admin_resp.resp_type.create_op_iq.status_desc[i]);
}
diff --git a/sys/dev/sound/pci/hda/hdac.c b/sys/dev/sound/pci/hda/hdac.c
index 80028063bb0d..8a325c538b9b 100644
--- a/sys/dev/sound/pci/hda/hdac.c
+++ b/sys/dev/sound/pci/hda/hdac.c
@@ -170,6 +170,7 @@ static const struct {
{ HDA_NVIDIA_GF119, "NVIDIA GF119", 0, 0 },
{ HDA_NVIDIA_GF110_1, "NVIDIA GF110", 0, HDAC_QUIRK_MSI },
{ HDA_NVIDIA_GF110_2, "NVIDIA GF110", 0, HDAC_QUIRK_MSI },
+ { HDA_ATI_RAVEN, "ATI Raven", 0, 0 },
{ HDA_ATI_SB450, "ATI SB450", 0, 0 },
{ HDA_ATI_SB600, "ATI SB600", 0, 0 },
{ HDA_ATI_RS600, "ATI RS600", 0, 0 },
diff --git a/sys/dev/sound/pci/hda/hdac.h b/sys/dev/sound/pci/hda/hdac.h
index c11e6b2d6810..8fb54108a833 100644
--- a/sys/dev/sound/pci/hda/hdac.h
+++ b/sys/dev/sound/pci/hda/hdac.h
@@ -154,6 +154,7 @@
/* ATI */
#define ATI_VENDORID 0x1002
+#define HDA_ATI_RAVEN HDA_MODEL_CONSTRUCT(ATI, 0x15de)
#define HDA_ATI_SB450 HDA_MODEL_CONSTRUCT(ATI, 0x437b)
#define HDA_ATI_SB600 HDA_MODEL_CONSTRUCT(ATI, 0x4383)
#define HDA_ATI_RS600 HDA_MODEL_CONSTRUCT(ATI, 0x793b)
diff --git a/sys/dev/sym/sym_hipd.c b/sys/dev/sym/sym_hipd.c
index fa65d544e17d..b4e5c1075fb4 100644
--- a/sys/dev/sym/sym_hipd.c
+++ b/sys/dev/sym/sym_hipd.c
@@ -3266,7 +3266,7 @@ static void sym_init (hcb_p np, int reason)
* Reinitialize usrwide.
* Prepare sync negotiation according to actual SCSI bus mode.
*/
- for (i=0;i<SYM_CONF_MAX_TARGET;i++) {
+ for (i = 0; i < SYM_CONF_MAX_TARGET; i++) {
tcb_p tp = &np->target[i];
tp->to_reset = 0;
@@ -3715,7 +3715,7 @@ static void sym_log_hard_error(hcb_p np, u_short sist, u_char dstat)
}
printf ("%s: regdump:", sym_name(np));
- for (i=0; i<24;i++)
+ for (i = 0; i < 24; i++)
printf (" %02x", (unsigned)INB_OFF(i));
printf (".\n");
@@ -5527,8 +5527,8 @@ static int sym_show_msg (u_char * msg)
u_char i;
printf ("%x",*msg);
if (*msg==M_EXTENDED) {
- for (i=1;i<8;i++) {
- if (i-1>msg[1]) break;
+ for (i = 1; i < 8; i++) {
+ if (i - 1 > msg[1]) break;
printf ("-%x",msg[i]);
}
return (i+1);
@@ -6744,10 +6744,10 @@ restart_test:
/*
* Wait 'til done (with timeout)
*/
- for (i=0; i<SYM_SNOOP_TIMEOUT; i++)
+ for (i = 0; i < SYM_SNOOP_TIMEOUT; i++)
if (INB(nc_istat) & (INTF|SIP|DIP))
break;
- if (i>=SYM_SNOOP_TIMEOUT) {
+ if (i >= SYM_SNOOP_TIMEOUT) {
printf ("CACHE TEST FAILED: timeout.\n");
return (0x20);
}
diff --git a/sys/dev/tdfx/tdfx_linux.c b/sys/dev/tdfx/tdfx_linux.c
index f3410106bad2..777144d21bb6 100644
--- a/sys/dev/tdfx/tdfx_linux.c
+++ b/sys/dev/tdfx/tdfx_linux.c
@@ -42,7 +42,7 @@ LINUX_IOCTL_SET(tdfx, LINUX_IOCTL_TDFX_MIN, LINUX_IOCTL_TDFX_MAX);
* Linux emulation IOCTL for /dev/tdfx
*/
static int
-linux_ioctl_tdfx(struct thread *td, struct linux_ioctl_args* args)
+tdfx_linux_ioctl(struct thread *td, struct linux_ioctl_args* args)
{
cap_rights_t rights;
int error = 0;
diff --git a/sys/dev/tdfx/tdfx_linux.h b/sys/dev/tdfx/tdfx_linux.h
index b87cb41f38fe..9d012c12274b 100644
--- a/sys/dev/tdfx/tdfx_linux.h
+++ b/sys/dev/tdfx/tdfx_linux.h
@@ -35,18 +35,6 @@
#include <machine/../linux/linux_proto.h>
#include <compat/linux/linux_ioctl.h>
-/*
- * This code was donated by Vladimir N. Silynaev to allow for defining
- * ioctls within modules
- */
-#define LINUX_IOCTL_SET(n,low,high) \
-static linux_ioctl_function_t linux_ioctl_##n; \
-static struct linux_ioctl_handler n##_handler = {linux_ioctl_##n, low, high}; \
-SYSINIT(n##register, SI_SUB_KLD, SI_ORDER_MIDDLE,\
-linux_ioctl_register_handler, &n##_handler); \
-SYSUNINIT(n##unregister, SI_SUB_KLD, SI_ORDER_MIDDLE,\
-linux_ioctl_unregister_handler, &n##_handler);
-
/* Values for /dev/3dfx */
/* Query IOCTLs */
#define LINUX_IOCTL_TDFX_QUERY_BOARDS 0x3302
diff --git a/sys/dev/tws/tws.c b/sys/dev/tws/tws.c
index af151c8c4f06..fccd6689a6aa 100644
--- a/sys/dev/tws/tws.c
+++ b/sys/dev/tws/tws.c
@@ -311,7 +311,7 @@ attach_fail_4:
if (sc->cmd_tag)
bus_dma_tag_destroy(sc->cmd_tag);
attach_fail_3:
- for(i=0;i<sc->irqs;i++) {
+ for (i = 0; i < sc->irqs; i++) {
if ( sc->irq_res[i] ){
if (bus_release_resource(sc->tws_dev,
SYS_RES_IRQ, sc->irq_res_id[i], sc->irq_res[i]))
@@ -369,7 +369,7 @@ tws_detach(device_t dev)
tws_teardown_intr(sc);
/* Release irq resource */
- for(i=0;i<sc->irqs;i++) {
+ for (i = 0; i < sc->irqs; i++) {
if ( sc->irq_res[i] ){
if (bus_release_resource(sc->tws_dev,
SYS_RES_IRQ, sc->irq_res_id[i], sc->irq_res[i]))
@@ -402,7 +402,7 @@ tws_detach(device_t dev)
TWS_TRACE(sc, "bus release mem resource", 0, sc->reg_res_id);
}
- for ( i=0; i< tws_queue_depth; i++) {
+ for (i = 0; i < tws_queue_depth; i++) {
if (sc->reqs[i].dma_map)
bus_dmamap_destroy(sc->data_tag, sc->reqs[i].dma_map);
callout_drain(&sc->reqs[i].timeout);
@@ -432,7 +432,7 @@ tws_setup_intr(struct tws_softc *sc, int irqs)
{
int i, error;
- for(i=0;i<irqs;i++) {
+ for (i = 0; i < irqs; i++) {
if (!(sc->intr_handle[i])) {
if ((error = bus_setup_intr(sc->tws_dev, sc->irq_res[i],
INTR_TYPE_CAM | INTR_MPSAFE,
@@ -452,7 +452,7 @@ tws_teardown_intr(struct tws_softc *sc)
{
int i;
- for(i=0;i<sc->irqs;i++) {
+ for (i = 0; i < sc->irqs; i++) {
if (sc->intr_handle[i]) {
bus_teardown_intr(sc->tws_dev,
sc->irq_res[i], sc->intr_handle[i]);
@@ -669,8 +669,7 @@ tws_init_reqs(struct tws_softc *sc, u_int32_t dma_mem_size)
bzero(cmd_buf, dma_mem_size);
TWS_TRACE_DEBUG(sc, "phy cmd", sc->dma_mem_phys, 0);
mtx_lock(&sc->q_lock);
- for ( i=0; i< tws_queue_depth; i++)
- {
+ for (i = 0; i < tws_queue_depth; i++) {
if (bus_dmamap_create(sc->data_tag, 0, &sc->reqs[i].dma_map)) {
/* log a ENOMEM failure msg here */
mtx_unlock(&sc->q_lock);
diff --git a/sys/dev/tws/tws_services.c b/sys/dev/tws/tws_services.c
index da8bbacc39f7..e5c3d45c533f 100644
--- a/sys/dev/tws/tws_services.c
+++ b/sys/dev/tws/tws_services.c
@@ -200,7 +200,7 @@ tws_init_qs(struct tws_softc *sc)
{
mtx_lock(&sc->q_lock);
- for(int i=0;i<TWS_MAX_QS;i++) {
+ for (int i = 0; i < TWS_MAX_QS; i++) {
sc->q_head[i] = NULL;
sc->q_tail[i] = NULL;
}
diff --git a/sys/dev/usb/controller/ehci_pci.c b/sys/dev/usb/controller/ehci_pci.c
index d7298ab89df7..9550002e3b70 100644
--- a/sys/dev/usb/controller/ehci_pci.c
+++ b/sys/dev/usb/controller/ehci_pci.c
@@ -88,6 +88,7 @@
#define PCI_EHCI_VENDORID_NEC 0x1033
#define PCI_EHCI_VENDORID_OPTI 0x1045
#define PCI_EHCI_VENDORID_PHILIPS 0x1131
+#define PCI_EHCI_VENDORID_REALTEK 0x10ec
#define PCI_EHCI_VENDORID_SIS 0x1039
#define PCI_EHCI_VENDORID_NVIDIA 0x12D2
#define PCI_EHCI_VENDORID_NVIDIA2 0x10DE
@@ -218,6 +219,9 @@ ehci_pci_match(device_t self)
case 0x15621131:
return "Philips ISP156x USB 2.0 controller";
+ case 0x816d10ec:
+ return ("Realtek RTL811x USB 2.0 controller");
+
case 0x70021039:
return "SiS 968 USB 2.0 controller";
@@ -402,6 +406,9 @@ ehci_pci_attach(device_t self)
case PCI_EHCI_VENDORID_PHILIPS:
sprintf(sc->sc_vendor, "Philips");
break;
+ case PCI_EHCI_VENDORID_REALTEK:
+ sprintf(sc->sc_vendor, "Realtek");
+ break;
case PCI_EHCI_VENDORID_SIS:
sprintf(sc->sc_vendor, "SiS");
break;
diff --git a/sys/dev/usb/usb_dev.c b/sys/dev/usb/usb_dev.c
index 293b0c72587f..e58d6a674ec0 100644
--- a/sys/dev/usb/usb_dev.c
+++ b/sys/dev/usb/usb_dev.c
@@ -1231,12 +1231,14 @@ static const struct filterops usb_filtops_write = {
.f_isfd = 1,
.f_detach = usb_filter_detach,
.f_event = usb_filter_write,
+ .f_copy = knote_triv_copy,
};
static const struct filterops usb_filtops_read = {
.f_isfd = 1,
.f_detach = usb_filter_detach,
.f_event = usb_filter_read,
+ .f_copy = knote_triv_copy,
};
/* ARGSUSED */
diff --git a/sys/dev/vmm/vmm_dev.c b/sys/dev/vmm/vmm_dev.c
index 460a508a60dc..4961b21180e1 100644
--- a/sys/dev/vmm/vmm_dev.c
+++ b/sys/dev/vmm/vmm_dev.c
@@ -120,18 +120,18 @@ vcpu_unlock_one(struct vcpu *vcpu)
vcpu_set_state(vcpu, VCPU_IDLE, false);
}
+#ifndef __amd64__
static int
-vcpu_lock_all(struct vmmdev_softc *sc)
+vcpu_set_state_all(struct vm *vm, enum vcpu_state newstate)
{
struct vcpu *vcpu;
int error;
uint16_t i, j, maxcpus;
error = 0;
- vm_slock_vcpus(sc->vm);
- maxcpus = vm_get_maxcpus(sc->vm);
+ maxcpus = vm_get_maxcpus(vm);
for (i = 0; i < maxcpus; i++) {
- vcpu = vm_vcpu(sc->vm, i);
+ vcpu = vm_vcpu(vm, i);
if (vcpu == NULL)
continue;
error = vcpu_lock_one(vcpu);
@@ -141,16 +141,32 @@ vcpu_lock_all(struct vmmdev_softc *sc)
if (error) {
for (j = 0; j < i; j++) {
- vcpu = vm_vcpu(sc->vm, j);
+ vcpu = vm_vcpu(vm, j);
if (vcpu == NULL)
continue;
vcpu_unlock_one(vcpu);
}
- vm_unlock_vcpus(sc->vm);
}
return (error);
}
+#endif
+
+static int
+vcpu_lock_all(struct vmmdev_softc *sc)
+{
+ int error;
+
+ /*
+ * Serialize vcpu_lock_all() callers. Individual vCPUs are not locked
+ * in a consistent order so we need to serialize to avoid deadlocks.
+ */
+ vm_lock_vcpus(sc->vm);
+ error = vcpu_set_state_all(sc->vm, VCPU_FROZEN);
+ if (error != 0)
+ vm_unlock_vcpus(sc->vm);
+ return (error);
+}
static void
vcpu_unlock_all(struct vmmdev_softc *sc)
diff --git a/sys/dev/xdma/xdma.c b/sys/dev/xdma/xdma.c
index 62b781159d03..cdd9ad0b8f39 100644
--- a/sys/dev/xdma/xdma.c
+++ b/sys/dev/xdma/xdma.c
@@ -555,7 +555,7 @@ xdma_put(xdma_controller_t *xdma)
}
static void
-xdma_init(void)
+xdma_init(void *dummy __unused)
{
mtx_init(&xdma_mtx, "xDMA", NULL, MTX_DEF);
diff --git a/sys/dev/xen/bus/xen_intr.c b/sys/dev/xen/bus/xen_intr.c
index cb30b6efa484..2b5fa8fb7cd1 100644
--- a/sys/dev/xen/bus/xen_intr.c
+++ b/sys/dev/xen/bus/xen_intr.c
@@ -460,7 +460,7 @@ xen_intr_handle_upcall(void *unused __unused)
return (FILTER_HANDLED);
}
-static int
+static void
xen_intr_init(void *dummy __unused)
{
shared_info_t *s = HYPERVISOR_shared_info;
@@ -468,7 +468,7 @@ xen_intr_init(void *dummy __unused)
int i;
if (!xen_domain())
- return (0);
+ return;
_Static_assert(is_valid_evtchn(0),
"is_valid_evtchn(0) fails (unused by Xen, but valid by interface");
@@ -502,8 +502,6 @@ xen_intr_init(void *dummy __unused)
if (bootverbose)
printf("Xen interrupt system initialized\n");
-
- return (0);
}
SYSINIT(xen_intr_init, SI_SUB_INTR, SI_ORDER_SECOND, xen_intr_init, NULL);
diff --git a/sys/fs/cuse/cuse.c b/sys/fs/cuse/cuse.c
index d63a7d4691cf..b2524324584a 100644
--- a/sys/fs/cuse/cuse.c
+++ b/sys/fs/cuse/cuse.c
@@ -195,12 +195,14 @@ static const struct filterops cuse_client_kqfilter_read_ops = {
.f_isfd = 1,
.f_detach = cuse_client_kqfilter_read_detach,
.f_event = cuse_client_kqfilter_read_event,
+ .f_copy = knote_triv_copy,
};
static const struct filterops cuse_client_kqfilter_write_ops = {
.f_isfd = 1,
.f_detach = cuse_client_kqfilter_write_detach,
.f_event = cuse_client_kqfilter_write_event,
+ .f_copy = knote_triv_copy,
};
static d_open_t cuse_client_open;
diff --git a/sys/fs/devfs/devfs_dir.c b/sys/fs/devfs/devfs_dir.c
index 3dc87538017d..aad87606e738 100644
--- a/sys/fs/devfs/devfs_dir.c
+++ b/sys/fs/devfs/devfs_dir.c
@@ -162,7 +162,7 @@ int
devfs_pathpath(const char *p1, const char *p2)
{
- for (;;p1++, p2++) {
+ for (;; p1++, p2++) {
if (*p1 != *p2) {
if (*p1 == '/' && *p2 == '\0')
return (1);
diff --git a/sys/fs/fuse/fuse_device.c b/sys/fs/fuse/fuse_device.c
index 57b3559731f7..75bc0357571f 100644
--- a/sys/fs/fuse/fuse_device.c
+++ b/sys/fs/fuse/fuse_device.c
@@ -126,11 +126,13 @@ static const struct filterops fuse_device_rfiltops = {
.f_isfd = 1,
.f_detach = fuse_device_filt_detach,
.f_event = fuse_device_filt_read,
+ .f_copy = knote_triv_copy,
};
static const struct filterops fuse_device_wfiltops = {
.f_isfd = 1,
.f_event = fuse_device_filt_write,
+ .f_copy = knote_triv_copy,
};
/****************************
diff --git a/sys/fs/fuse/fuse_vnops.c b/sys/fs/fuse/fuse_vnops.c
index 5c28db29fc63..683ee2f7ad56 100644
--- a/sys/fs/fuse/fuse_vnops.c
+++ b/sys/fs/fuse/fuse_vnops.c
@@ -284,7 +284,7 @@ fuse_flush(struct vnode *vp, struct ucred *cred, pid_t pid, int fflag)
struct mount *mp = vnode_mount(vp);
int err;
- if (fsess_not_impl(vnode_mount(vp), FUSE_FLUSH))
+ if (fsess_not_impl(mp, FUSE_FLUSH))
return 0;
err = fuse_filehandle_getrw(vp, fflag, &fufh, cred, pid);
@@ -292,7 +292,7 @@ fuse_flush(struct vnode *vp, struct ucred *cred, pid_t pid, int fflag)
return err;
if (fufh->fuse_open_flags & FOPEN_NOFLUSH &&
- (!fsess_opt_writeback(vnode_mount(vp))))
+ (!fsess_opt_writeback(mp)))
return (0);
fdisp_init(&fdi, sizeof(*ffi));
diff --git a/sys/fs/nfs/nfs_commonsubs.c b/sys/fs/nfs/nfs_commonsubs.c
index 7f5b29ca2085..ec95716ea485 100644
--- a/sys/fs/nfs/nfs_commonsubs.c
+++ b/sys/fs/nfs/nfs_commonsubs.c
@@ -216,10 +216,17 @@ NFSD_VNET_DEFINE_STATIC(u_char *, nfsrv_dnsname) = NULL;
* marked 0 in this array, the code will still work, just not quite as
* efficiently.)
*/
-static int nfs_bigreply[NFSV42_NPROCS] = { 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
- 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 };
+static bool nfs_bigreply[NFSV42_NPROCS] = {
+ [NFSPROC_GETACL] = true,
+ [NFSPROC_GETEXTATTR] = true,
+ [NFSPROC_LISTEXTATTR] = true,
+ [NFSPROC_LOOKUP] = true,
+ [NFSPROC_READ] = true,
+ [NFSPROC_READDIR] = true,
+ [NFSPROC_READDIRPLUS] = true,
+ [NFSPROC_READDS] = true,
+ [NFSPROC_READLINK] = true,
+};
/* local functions */
static int nfsrv_skipace(struct nfsrv_descript *nd, int *acesizep);
@@ -232,6 +239,8 @@ static int nfsrv_getrefstr(struct nfsrv_descript *, u_char **, u_char **,
static void nfsrv_refstrbigenough(int, u_char **, u_char **, int *);
static uint32_t vtonfsv4_type(struct vattr *);
static __enum_uint8(vtype) nfsv4tov_type(uint32_t, uint16_t *);
+static void nfsv4_setsequence(struct nfsmount *, struct nfsrv_descript *,
+ struct nfsclsession *, bool, struct ucred *);
static struct {
int op;
@@ -5021,9 +5030,9 @@ nfsv4_seqsess_cacherep(uint32_t slotid, struct nfsslot *slots, int repstat,
/*
* Generate the xdr for an NFSv4.1 Sequence Operation.
*/
-void
+static void
nfsv4_setsequence(struct nfsmount *nmp, struct nfsrv_descript *nd,
- struct nfsclsession *sep, int dont_replycache, struct ucred *cred)
+ struct nfsclsession *sep, bool dont_replycache, struct ucred *cred)
{
uint32_t *tl, slotseq = 0;
int error, maxslot, slotpos;
@@ -5054,7 +5063,7 @@ nfsv4_setsequence(struct nfsmount *nmp, struct nfsrv_descript *nd,
*tl++ = txdr_unsigned(slotseq);
*tl++ = txdr_unsigned(slotpos);
*tl++ = txdr_unsigned(maxslot);
- if (dont_replycache == 0)
+ if (!dont_replycache)
*tl = newnfs_true;
else
*tl = newnfs_false;
diff --git a/sys/fs/nfs/nfs_var.h b/sys/fs/nfs/nfs_var.h
index 61083ecf2d66..16a76c060e78 100644
--- a/sys/fs/nfs/nfs_var.h
+++ b/sys/fs/nfs/nfs_var.h
@@ -361,8 +361,6 @@ int nfsv4_getipaddr(struct nfsrv_descript *, struct sockaddr_in *,
int nfsv4_seqsession(uint32_t, uint32_t, uint32_t, struct nfsslot *,
struct mbuf **, uint16_t);
void nfsv4_seqsess_cacherep(uint32_t, struct nfsslot *, int, struct mbuf **);
-void nfsv4_setsequence(struct nfsmount *, struct nfsrv_descript *,
- struct nfsclsession *, int, struct ucred *);
int nfsv4_sequencelookup(struct nfsmount *, struct nfsclsession *, int *,
int *, uint32_t *, uint8_t *, bool);
void nfsv4_freeslot(struct nfsclsession *, int, bool);
diff --git a/sys/fs/p9fs/p9_transport.c b/sys/fs/p9fs/p9_transport.c
index c82d81fedcd7..25eee984265c 100644
--- a/sys/fs/p9fs/p9_transport.c
+++ b/sys/fs/p9fs/p9_transport.c
@@ -34,9 +34,8 @@
TAILQ_HEAD(, p9_trans_module) transports;
static void
-p9_transport_init(void)
+p9_transport_init(void *dummy __unused)
{
-
TAILQ_INIT(&transports);
}
diff --git a/sys/fs/udf/osta.c b/sys/fs/udf/osta.c
index f79b86993367..1a083d8c26b1 100644
--- a/sys/fs/udf/osta.c
+++ b/sys/fs/udf/osta.c
@@ -383,7 +383,7 @@ int UDFTransName(
int maxFilenameLen;
/* Translate extension, and store it in ext. */
for(index = 0; index<EXT_SIZE &&
- extIndex + index +1 < udfLen; index++ ) {
+ extIndex + index +1 < udfLen; index++) {
current = udfName[extIndex + index + 1];
if (IsIllegal(current) ||
!UnicodeIsPrint(current)) {
@@ -432,7 +432,7 @@ int UDFTransName(
/* Place a translated extension at end, if found. */
if (hasExt) {
newName[newIndex++] = PERIOD;
- for (index = 0;index < localExtIndex ;index++ ) {
+ for (index = 0; index < localExtIndex; index++) {
newName[newIndex++] = ext[index];
}
}
diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c
index a14f9ca74305..b6d6db60ca3d 100644
--- a/sys/fs/unionfs/union_subr.c
+++ b/sys/fs/unionfs/union_subr.c
@@ -587,6 +587,7 @@ unionfs_find_node_status(struct unionfs_node *unp, struct thread *td)
struct unionfs_node_status *unsp;
pid_t pid;
+ MPASS(td != NULL);
pid = td->td_proc->p_pid;
ASSERT_VOP_ELOCKED(UNIONFSTOV(unp), __func__);
@@ -612,6 +613,7 @@ unionfs_get_node_status(struct unionfs_node *unp, struct thread *td,
struct unionfs_node_status *unsp;
pid_t pid;
+ MPASS(td != NULL);
pid = td->td_proc->p_pid;
KASSERT(NULL != unspp, ("%s: NULL status", __func__));
diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c
index 627b2f6e9a1d..66fee97a07d5 100644
--- a/sys/fs/unionfs/union_vnops.c
+++ b/sys/fs/unionfs/union_vnops.c
@@ -814,7 +814,7 @@ unionfs_close(struct vop_close_args *ap)
unp = VTOUNIONFS(vp);
lvp = unp->un_lowervp;
uvp = unp->un_uppervp;
- unsp = unionfs_find_node_status(unp, td);
+ unsp = (td != NULL) ? unionfs_find_node_status(unp, td) : NULL;
if (unsp == NULL ||
(unsp->uns_lower_opencnt <= 0 && unsp->uns_upper_opencnt <= 0)) {
@@ -2208,7 +2208,6 @@ unionfs_lock_restart:
vholdnz(tvp);
VI_UNLOCK(vp);
error = VOP_LOCK(tvp, flags);
- vdrop(tvp);
if (error == 0 && (lvp_locked || VTOUNIONFS(vp) == NULL)) {
/*
* After dropping the interlock above, there exists a window
@@ -2234,6 +2233,7 @@ unionfs_lock_restart:
unp = VTOUNIONFS(vp);
if (unp == NULL || unp->un_uppervp != NULL) {
VOP_UNLOCK(tvp);
+ vdrop(tvp);
/*
* If we previously held the lock, the upgrade may
* have temporarily dropped the lock, in which case
@@ -2249,6 +2249,7 @@ unionfs_lock_restart:
goto unionfs_lock_restart;
}
}
+ vdrop(tvp);
return (error);
}
@@ -2259,7 +2260,6 @@ unionfs_unlock(struct vop_unlock_args *ap)
struct vnode *vp;
struct vnode *tvp;
struct unionfs_node *unp;
- int error;
KASSERT_UNIONFS_VNODE(ap->a_vp);
@@ -2271,11 +2271,7 @@ unionfs_unlock(struct vop_unlock_args *ap)
tvp = (unp->un_uppervp != NULL ? unp->un_uppervp : unp->un_lowervp);
- vholdnz(tvp);
- error = VOP_UNLOCK(tvp);
- vdrop(tvp);
-
- return (error);
+ return (VOP_UNLOCK(tvp));
}
static int
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c
index 27c65f15d5e3..db0bc77a752f 100644
--- a/sys/geom/geom_dev.c
+++ b/sys/geom/geom_dev.c
@@ -82,6 +82,7 @@ static const struct filterops gdev_filterops_vnode = {
.f_isfd = 1,
.f_detach = gdev_filter_detach,
.f_event = gdev_filter_vnode,
+ .f_copy = knote_triv_copy,
};
static struct cdevsw g_dev_cdevsw = {
diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c
index 13769af0fbca..14c942942d08 100644
--- a/sys/i386/i386/elf_machdep.c
+++ b/sys/i386/i386/elf_machdep.c
@@ -92,7 +92,7 @@ struct sysentvec elf32_freebsd_sysvec = {
};
INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec);
-static Elf32_Brandinfo freebsd_brand_info = {
+static const Elf32_Brandinfo freebsd_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_386,
.compat_3_brand = "FreeBSD",
@@ -103,11 +103,11 @@ static Elf32_Brandinfo freebsd_brand_info = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST,
+C_SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&freebsd_brand_info);
-static Elf32_Brandinfo freebsd_brand_oinfo = {
+static const Elf32_Brandinfo freebsd_brand_oinfo = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_386,
.compat_3_brand = "FreeBSD",
@@ -118,11 +118,11 @@ static Elf32_Brandinfo freebsd_brand_oinfo = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&freebsd_brand_oinfo);
-static Elf32_Brandinfo kfreebsd_brand_info = {
+static const Elf32_Brandinfo kfreebsd_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_386,
.compat_3_brand = "FreeBSD",
@@ -133,7 +133,7 @@ static Elf32_Brandinfo kfreebsd_brand_info = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE_MANDATORY
};
-SYSINIT(kelf32, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(kelf32, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&kfreebsd_brand_info);
diff --git a/sys/i386/i386/in_cksum_machdep.c b/sys/i386/i386/in_cksum_machdep.c
index 27ab09d82da0..b658d85bc892 100644
--- a/sys/i386/i386/in_cksum_machdep.c
+++ b/sys/i386/i386/in_cksum_machdep.c
@@ -84,7 +84,7 @@ in_cksum_skip(struct mbuf *m, int len, int skip)
}
}
- for (;m && len; m = m->m_next) {
+ for (; m && len; m = m->m_next) {
if (m->m_len == 0)
continue;
w = mtod(m, u_short *);
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index 6aac0e968362..3f659432552c 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -1605,7 +1605,7 @@ init386(int first)
}
static void
-machdep_init_trampoline(void)
+machdep_init_trampoline(void *dummy __unused)
{
struct region_descriptor r_gdt, r_idt;
struct i386tss *tss;
diff --git a/sys/i386/i386/pmap.c b/sys/i386/i386/pmap.c
index b44f5e08bbcf..1cf0867d57c3 100644
--- a/sys/i386/i386/pmap.c
+++ b/sys/i386/i386/pmap.c
@@ -720,7 +720,7 @@ __CONCAT(PMTYPE, bootstrap)(vm_paddr_t firstaddr)
}
static void
-pmap_init_reserved_pages(void)
+pmap_init_reserved_pages(void *dummy __unused)
{
struct pcpu *pc;
vm_offset_t pages;
diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c
index 85877bf40997..14b5f64388d2 100644
--- a/sys/i386/linux/linux_sysvec.c
+++ b/sys/i386/linux/linux_sysvec.c
@@ -796,7 +796,7 @@ linux_vdso_reloc(char *mapping, Elf_Addr offset)
}
}
-static Elf_Brandnote linux_brandnote = {
+static const Elf_Brandnote linux_brandnote = {
.hdr.n_namesz = sizeof(GNU_ABI_VENDOR),
.hdr.n_descsz = 16, /* XXX at least 16 */
.hdr.n_type = 1,
@@ -805,7 +805,7 @@ static Elf_Brandnote linux_brandnote = {
.trans_osrel = linux_trans_osrel
};
-static Elf32_Brandinfo linux_brand = {
+static const Elf32_Brandinfo linux_brand = {
.brand = ELFOSABI_LINUX,
.machine = EM_386,
.compat_3_brand = "Linux",
@@ -816,7 +816,7 @@ static Elf32_Brandinfo linux_brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-static Elf32_Brandinfo linux_glibc2brand = {
+static const Elf32_Brandinfo linux_glibc2brand = {
.brand = ELFOSABI_LINUX,
.machine = EM_386,
.compat_3_brand = "Linux",
@@ -827,7 +827,7 @@ static Elf32_Brandinfo linux_glibc2brand = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-static Elf32_Brandinfo linux_muslbrand = {
+static const Elf32_Brandinfo linux_muslbrand = {
.brand = ELFOSABI_LINUX,
.machine = EM_386,
.compat_3_brand = "Linux",
@@ -839,7 +839,7 @@ static Elf32_Brandinfo linux_muslbrand = {
LINUX_BI_FUTEX_REQUEUE
};
-Elf32_Brandinfo *linux_brandlist[] = {
+const Elf32_Brandinfo *linux_brandlist[] = {
&linux_brand,
&linux_glibc2brand,
&linux_muslbrand,
@@ -849,7 +849,7 @@ Elf32_Brandinfo *linux_brandlist[] = {
static int
linux_elf_modevent(module_t mod, int type, void *data)
{
- Elf32_Brandinfo **brandinfo;
+ const Elf32_Brandinfo **brandinfo;
int error;
struct linux_ioctl_handler **lihp;
diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c
index 1bc2491a1a12..779158b41221 100644
--- a/sys/kern/imgact_elf.c
+++ b/sys/kern/imgact_elf.c
@@ -92,7 +92,7 @@
#define ELF_ABI_ID __CONCAT(elf, __ELF_WORD_SIZE)
static int __elfN(check_header)(const Elf_Ehdr *hdr);
-static Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp,
+static const Elf_Brandinfo *__elfN(get_brandinfo)(struct image_params *imgp,
const char *interp, int32_t *osrel, uint32_t *fctl0);
static int __elfN(load_file)(struct proc *p, const char *file, u_long *addr,
u_long *entry);
@@ -104,7 +104,7 @@ static bool __elfN(freebsd_trans_osrel)(const Elf_Note *note,
int32_t *osrel);
static bool kfreebsd_trans_osrel(const Elf_Note *note, int32_t *osrel);
static bool __elfN(check_note)(struct image_params *imgp,
- Elf_Brandnote *checknote, int32_t *osrel, bool *has_fctl0,
+ const Elf_Brandnote *checknote, int32_t *osrel, bool *has_fctl0,
uint32_t *fctl0);
static vm_prot_t __elfN(trans_prot)(Elf_Word);
static Elf_Word __elfN(untrans_prot)(vm_prot_t);
@@ -227,11 +227,11 @@ SYSCTL_BOOL(ELF_NODE_OID, OID_AUTO, allow_wx,
CTLFLAG_RWTUN, &__elfN(allow_wx), 0,
"Allow pages to be mapped simultaneously writable and executable");
-static Elf_Brandinfo *elf_brand_list[MAX_BRANDS];
+static const Elf_Brandinfo *elf_brand_list[MAX_BRANDS];
#define aligned(a, t) (rounddown2((u_long)(a), sizeof(t)) == (u_long)(a))
-Elf_Brandnote __elfN(freebsd_brandnote) = {
+const Elf_Brandnote __elfN(freebsd_brandnote) = {
.hdr.n_namesz = sizeof(FREEBSD_ABI_VENDOR),
.hdr.n_descsz = sizeof(int32_t),
.hdr.n_type = NT_FREEBSD_ABI_TAG,
@@ -254,7 +254,7 @@ __elfN(freebsd_trans_osrel)(const Elf_Note *note, int32_t *osrel)
static int GNU_KFREEBSD_ABI_DESC = 3;
-Elf_Brandnote __elfN(kfreebsd_brandnote) = {
+const Elf_Brandnote __elfN(kfreebsd_brandnote) = {
.hdr.n_namesz = sizeof(GNU_ABI_VENDOR),
.hdr.n_descsz = 16, /* XXX at least 16 */
.hdr.n_type = 1,
@@ -286,7 +286,7 @@ kfreebsd_trans_osrel(const Elf_Note *note, int32_t *osrel)
}
int
-__elfN(insert_brand_entry)(Elf_Brandinfo *entry)
+__elfN(insert_brand_entry)(const Elf_Brandinfo *entry)
{
int i;
@@ -305,7 +305,7 @@ __elfN(insert_brand_entry)(Elf_Brandinfo *entry)
}
int
-__elfN(remove_brand_entry)(Elf_Brandinfo *entry)
+__elfN(remove_brand_entry)(const Elf_Brandinfo *entry)
{
int i;
@@ -321,7 +321,7 @@ __elfN(remove_brand_entry)(Elf_Brandinfo *entry)
}
bool
-__elfN(brand_inuse)(Elf_Brandinfo *entry)
+__elfN(brand_inuse)(const Elf_Brandinfo *entry)
{
struct proc *p;
bool rval = false;
@@ -338,12 +338,12 @@ __elfN(brand_inuse)(Elf_Brandinfo *entry)
return (rval);
}
-static Elf_Brandinfo *
+static const Elf_Brandinfo *
__elfN(get_brandinfo)(struct image_params *imgp, const char *interp,
int32_t *osrel, uint32_t *fctl0)
{
const Elf_Ehdr *hdr = (const Elf_Ehdr *)imgp->image_header;
- Elf_Brandinfo *bi, *bi_m;
+ const Elf_Brandinfo *bi, *bi_m;
bool ret, has_fctl0;
int i, interp_name_len;
@@ -492,7 +492,7 @@ __elfN(phdr_in_zero_page)(const Elf_Ehdr *hdr)
static int
__elfN(check_header)(const Elf_Ehdr *hdr)
{
- Elf_Brandinfo *bi;
+ const Elf_Brandinfo *bi;
int i;
if (!IS_ELF(*hdr) ||
@@ -1109,7 +1109,7 @@ __CONCAT(exec_, __elfN(imgact))(struct image_params *imgp)
struct vmspace *vmspace;
vm_map_t map;
char *interp;
- Elf_Brandinfo *brand_info;
+ const Elf_Brandinfo *brand_info;
struct sysentvec *sv;
u_long addr, baddr, entry, proghdr;
u_long maxalign, maxsalign, mapsz, maxv, maxv1, anon_loc;
@@ -1925,7 +1925,7 @@ __elfN(puthdr)(struct thread *td, void *hdr, size_t hdrsize, int numsegs,
Elf_Phdr *phdr;
Elf_Shdr *shdr;
struct phdr_closure phc;
- Elf_Brandinfo *bi;
+ const Elf_Brandinfo *bi;
ehdr = (Elf_Ehdr *)hdr;
bi = td->td_proc->p_elf_brandinfo;
@@ -2831,7 +2831,7 @@ __elfN(parse_notes)(const struct image_params *imgp, const Elf_Note *checknote,
}
if ((const char *)note_end - (const char *)note <
sizeof(Elf_Note)) {
- uprintf("ELF note to short\n");
+ uprintf("ELF note too short\n");
goto retf;
}
if (note->n_namesz != checknote->n_namesz ||
@@ -2839,9 +2839,9 @@ __elfN(parse_notes)(const struct image_params *imgp, const Elf_Note *checknote,
note->n_type != checknote->n_type)
goto nextnote;
note_name = (const char *)(note + 1);
- if (note_name + checknote->n_namesz >=
- (const char *)note_end || strncmp(note_vendor,
- note_name, checknote->n_namesz) != 0)
+ if (note_name + roundup2(note->n_namesz, ELF_NOTE_ROUNDSIZE) +
+ note->n_descsz >= (const char *)note_end ||
+ strncmp(note_vendor, note_name, checknote->n_namesz) != 0)
goto nextnote;
if (cb(note, cb_arg, &res))
@@ -2861,7 +2861,7 @@ ret:
}
struct brandnote_cb_arg {
- Elf_Brandnote *brandnote;
+ const Elf_Brandnote *brandnote;
int32_t *osrel;
};
@@ -2883,7 +2883,7 @@ brandnote_cb(const Elf_Note *note, void *arg0, bool *res)
return (true);
}
-static Elf_Note fctl_note = {
+static const Elf_Note fctl_note = {
.n_namesz = sizeof(FREEBSD_ABI_VENDOR),
.n_descsz = sizeof(uint32_t),
.n_type = NT_FREEBSD_FEATURE_CTL,
@@ -2918,7 +2918,7 @@ note_fctl_cb(const Elf_Note *note, void *arg0, bool *res)
* as for headers.
*/
static bool
-__elfN(check_note)(struct image_params *imgp, Elf_Brandnote *brandnote,
+__elfN(check_note)(struct image_params *imgp, const Elf_Brandnote *brandnote,
int32_t *osrel, bool *has_fctl0, uint32_t *fctl0)
{
const Elf_Phdr *phdr;
diff --git a/sys/kern/kern_boottrace.c b/sys/kern/kern_boottrace.c
index 1fa87955a299..c83255bc74ee 100644
--- a/sys/kern/kern_boottrace.c
+++ b/sys/kern/kern_boottrace.c
@@ -579,7 +579,7 @@ sysctl_boottrace_reset(SYSCTL_HANDLER_ARGS)
}
static void
-boottrace_init(void)
+boottrace_init(void *dummy __unused)
{
if (!boottrace_enabled)
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
index 19118eb7f275..a71a601733e5 100644
--- a/sys/kern/kern_descrip.c
+++ b/sys/kern/kern_descrip.c
@@ -2486,7 +2486,7 @@ fdunshare(struct thread *td)
if (refcount_load(&p->p_fd->fd_refcnt) == 1)
return;
- tmp = fdcopy(p->p_fd);
+ tmp = fdcopy(p->p_fd, p);
fdescfree(td);
p->p_fd = tmp;
}
@@ -2515,14 +2515,17 @@ pdunshare(struct thread *td)
* this is to ease callers, not catch errors.
*/
struct filedesc *
-fdcopy(struct filedesc *fdp)
+fdcopy(struct filedesc *fdp, struct proc *p1)
{
struct filedesc *newfdp;
struct filedescent *nfde, *ofde;
+ struct file *fp;
int i, lastfile;
+ bool fork_pass;
MPASS(fdp != NULL);
+ fork_pass = false;
newfdp = fdinit();
FILEDESC_SLOCK(fdp);
for (;;) {
@@ -2533,10 +2536,35 @@ fdcopy(struct filedesc *fdp)
fdgrowtable(newfdp, lastfile + 1);
FILEDESC_SLOCK(fdp);
}
- /* copy all passable descriptors (i.e. not kqueue) */
+
+ /*
+ * Copy all passable descriptors (i.e. not kqueue), and
+ * prepare to handle copyable but not passable descriptors
+ * (kqueues).
+ *
+ * The pass to handle copying is performed after all passable
+ * files are installed into the new file descriptor's table,
+ * since kqueues need all referenced file descriptors already
+ * valid, including other kqueues. For the same reason the
+ * copying is done in two passes by itself, first installing
+ * not fully initialized ('empty') copyable files into the new
+ * fd table, and then giving the subsystems a second chance to
+ * really fill the copied file backing structure with the
+ * content.
+ */
newfdp->fd_freefile = fdp->fd_freefile;
FILEDESC_FOREACH_FDE(fdp, i, ofde) {
- if ((ofde->fde_file->f_ops->fo_flags & DFLAG_PASSABLE) == 0 ||
+ const struct fileops *ops;
+
+ ops = ofde->fde_file->f_ops;
+ fp = NULL;
+ if ((ops->fo_flags & DFLAG_FORK) != 0 &&
+ (ofde->fde_flags & UF_FOCLOSE) == 0) {
+ if (ops->fo_fork(newfdp, ofde->fde_file, &fp, p1,
+ curthread) != 0)
+ continue;
+ fork_pass = true;
+ } else if ((ops->fo_flags & DFLAG_PASSABLE) == 0 ||
(ofde->fde_flags & UF_FOCLOSE) != 0 ||
!fhold(ofde->fde_file)) {
if (newfdp->fd_freefile == fdp->fd_freefile)
@@ -2545,11 +2573,30 @@ fdcopy(struct filedesc *fdp)
}
nfde = &newfdp->fd_ofiles[i];
*nfde = *ofde;
+ if (fp != NULL)
+ nfde->fde_file = fp;
filecaps_copy(&ofde->fde_caps, &nfde->fde_caps, true);
fdused_init(newfdp, i);
}
MPASS(newfdp->fd_freefile != -1);
FILEDESC_SUNLOCK(fdp);
+
+ /*
+ * Now handle copying kqueues, since all fds, including
+ * kqueues, are in place.
+ */
+ if (__predict_false(fork_pass)) {
+ FILEDESC_FOREACH_FDE(newfdp, i, nfde) {
+ const struct fileops *ops;
+
+ ops = nfde->fde_file->f_ops;
+ if ((ops->fo_flags & DFLAG_FORK) == 0 ||
+ nfde->fde_file == NULL)
+ continue;
+ ops->fo_fork(newfdp, NULL, &nfde->fde_file, p1,
+ curthread);
+ }
+ }
return (newfdp);
}
diff --git a/sys/kern/kern_devctl.c b/sys/kern/kern_devctl.c
index 7a2818c29b1a..a37cb23efed8 100644
--- a/sys/kern/kern_devctl.c
+++ b/sys/kern/kern_devctl.c
@@ -130,6 +130,7 @@ static const struct filterops devctl_rfiltops = {
.f_isfd = 1,
.f_detach = filt_devctl_detach,
.f_event = filt_devctl_read,
+ .f_copy = knote_triv_copy,
};
static struct cdev *devctl_dev;
@@ -140,7 +141,7 @@ static struct devctlbridge {
} devctl_notify_hook = { .send_f = NULL };
static void
-devctl_init(void)
+devctl_init(void *dummy __unused)
{
int reserve;
uma_zone_t z;
diff --git a/sys/kern/kern_event.c b/sys/kern/kern_event.c
index 23d8dc9cf54a..1baa24d278bf 100644
--- a/sys/kern/kern_event.c
+++ b/sys/kern/kern_event.c
@@ -134,6 +134,7 @@ static fo_kqfilter_t kqueue_kqfilter;
static fo_stat_t kqueue_stat;
static fo_close_t kqueue_close;
static fo_fill_kinfo_t kqueue_fill_kinfo;
+static fo_fork_t kqueue_fork;
static const struct fileops kqueueops = {
.fo_read = invfo_rdwr,
@@ -148,7 +149,9 @@ static const struct fileops kqueueops = {
.fo_chown = invfo_chown,
.fo_sendfile = invfo_sendfile,
.fo_cmp = file_kcmp_generic,
+ .fo_fork = kqueue_fork,
.fo_fill_kinfo = kqueue_fill_kinfo,
+ .fo_flags = DFLAG_FORK,
};
static int knote_attach(struct knote *kn, struct kqueue *kq);
@@ -156,7 +159,7 @@ static void knote_drop(struct knote *kn, struct thread *td);
static void knote_drop_detached(struct knote *kn, struct thread *td);
static void knote_enqueue(struct knote *kn);
static void knote_dequeue(struct knote *kn);
-static void knote_init(void);
+static void knote_init(void *);
static struct knote *knote_alloc(int mflag);
static void knote_free(struct knote *kn);
@@ -176,6 +179,7 @@ static void filt_timerdetach(struct knote *kn);
static void filt_timerstart(struct knote *kn, sbintime_t to);
static void filt_timertouch(struct knote *kn, struct kevent *kev,
u_long type);
+static int filt_timercopy(struct knote *kn, struct proc *p1);
static int filt_timervalidate(struct knote *kn, sbintime_t *to);
static int filt_timer(struct knote *kn, long hint);
static int filt_userattach(struct knote *kn);
@@ -187,11 +191,13 @@ static void filt_usertouch(struct knote *kn, struct kevent *kev,
static const struct filterops file_filtops = {
.f_isfd = 1,
.f_attach = filt_fileattach,
+ .f_copy = knote_triv_copy,
};
static const struct filterops kqread_filtops = {
.f_isfd = 1,
.f_detach = filt_kqdetach,
.f_event = filt_kqueue,
+ .f_copy = knote_triv_copy,
};
/* XXX - move to kern_proc.c? */
static const struct filterops proc_filtops = {
@@ -199,12 +205,14 @@ static const struct filterops proc_filtops = {
.f_attach = filt_procattach,
.f_detach = filt_procdetach,
.f_event = filt_proc,
+ .f_copy = knote_triv_copy,
};
static const struct filterops jail_filtops = {
.f_isfd = 0,
.f_attach = filt_jailattach,
.f_detach = filt_jaildetach,
.f_event = filt_jail,
+ .f_copy = knote_triv_copy,
};
static const struct filterops timer_filtops = {
.f_isfd = 0,
@@ -212,12 +220,14 @@ static const struct filterops timer_filtops = {
.f_detach = filt_timerdetach,
.f_event = filt_timer,
.f_touch = filt_timertouch,
+ .f_copy = filt_timercopy,
};
static const struct filterops user_filtops = {
.f_attach = filt_userattach,
.f_detach = filt_userdetach,
.f_event = filt_user,
.f_touch = filt_usertouch,
+ .f_copy = knote_triv_copy,
};
static uma_zone_t knote_zone;
@@ -347,6 +357,7 @@ filt_nullattach(struct knote *kn)
static const struct filterops null_filtops = {
.f_isfd = 0,
.f_attach = filt_nullattach,
+ .f_copy = knote_triv_copy,
};
/* XXX - make SYSINIT to add these, and move into respective modules. */
@@ -940,6 +951,30 @@ filt_timerattach(struct knote *kn)
return (0);
}
+static int
+filt_timercopy(struct knote *kn, struct proc *p)
+{
+ struct kq_timer_cb_data *kc_src, *kc;
+
+ if (atomic_fetchadd_int(&kq_ncallouts, 1) + 1 > kq_calloutmax) {
+ atomic_subtract_int(&kq_ncallouts, 1);
+ return (ENOMEM);
+ }
+
+ kn->kn_status &= ~KN_DETACHED;
+ kc_src = kn->kn_ptr.p_v;
+ kn->kn_ptr.p_v = kc = malloc(sizeof(*kc), M_KQUEUE, M_WAITOK);
+ kc->kn = kn;
+ kc->p = p;
+ kc->flags = kc_src->flags & ~KQ_TIMER_CB_ENQUEUED;
+ kc->next = kc_src->next;
+ kc->to = kc_src->to;
+ kc->cpuid = PCPU_GET(cpuid);
+ callout_init(&kc->c, 1);
+ kqtimer_sched_callout(kc);
+ return (0);
+}
+
static void
filt_timerstart(struct knote *kn, sbintime_t to)
{
@@ -1151,7 +1186,7 @@ int
sys_kqueue(struct thread *td, struct kqueue_args *uap)
{
- return (kern_kqueue(td, 0, NULL));
+ return (kern_kqueue(td, 0, false, NULL));
}
int
@@ -1159,55 +1194,76 @@ sys_kqueuex(struct thread *td, struct kqueuex_args *uap)
{
int flags;
- if ((uap->flags & ~(KQUEUE_CLOEXEC)) != 0)
+ if ((uap->flags & ~(KQUEUE_CLOEXEC | KQUEUE_CPONFORK)) != 0)
return (EINVAL);
flags = 0;
if ((uap->flags & KQUEUE_CLOEXEC) != 0)
flags |= O_CLOEXEC;
- return (kern_kqueue(td, flags, NULL));
+ return (kern_kqueue(td, flags, (uap->flags & KQUEUE_CPONFORK) != 0,
+ NULL));
}
static void
-kqueue_init(struct kqueue *kq)
+kqueue_init(struct kqueue *kq, bool cponfork)
{
mtx_init(&kq->kq_lock, "kqueue", NULL, MTX_DEF | MTX_DUPOK);
TAILQ_INIT(&kq->kq_head);
knlist_init_mtx(&kq->kq_sel.si_note, &kq->kq_lock);
TASK_INIT(&kq->kq_task, 0, kqueue_task, kq);
+ if (cponfork)
+ kq->kq_state |= KQ_CPONFORK;
}
-int
-kern_kqueue(struct thread *td, int flags, struct filecaps *fcaps)
+static int
+kern_kqueue_alloc(struct thread *td, struct filedesc *fdp, int *fdip,
+ struct file **fpp, int flags, struct filecaps *fcaps, bool cponfork,
+ struct kqueue **kqp)
{
- struct filedesc *fdp;
- struct kqueue *kq;
- struct file *fp;
struct ucred *cred;
- int fd, error;
+ struct kqueue *kq;
+ int error;
- fdp = td->td_proc->p_fd;
cred = td->td_ucred;
if (!chgkqcnt(cred->cr_ruidinfo, 1, lim_cur(td, RLIMIT_KQUEUES)))
return (ENOMEM);
- error = falloc_caps(td, &fp, &fd, flags, fcaps);
+ error = fdip != NULL ? falloc_caps(td, fpp, fdip, flags, fcaps) :
+ _falloc_noinstall(td, fpp, 1);
if (error != 0) {
chgkqcnt(cred->cr_ruidinfo, -1, 0);
return (error);
}
/* An extra reference on `fp' has been held for us by falloc(). */
- kq = malloc(sizeof *kq, M_KQUEUE, M_WAITOK | M_ZERO);
- kqueue_init(kq);
+ kq = malloc(sizeof(*kq), M_KQUEUE, M_WAITOK | M_ZERO);
+ kqueue_init(kq, cponfork);
kq->kq_fdp = fdp;
kq->kq_cred = crhold(cred);
- FILEDESC_XLOCK(fdp);
+ if (fdip != NULL)
+ FILEDESC_XLOCK(fdp);
TAILQ_INSERT_HEAD(&fdp->fd_kqlist, kq, kq_list);
- FILEDESC_XUNLOCK(fdp);
+ if (fdip != NULL)
+ FILEDESC_XUNLOCK(fdp);
+
+ finit(*fpp, FREAD | FWRITE, DTYPE_KQUEUE, kq, &kqueueops);
+ *kqp = kq;
+ return (0);
+}
+
+int
+kern_kqueue(struct thread *td, int flags, bool cponfork, struct filecaps *fcaps)
+{
+ struct kqueue *kq;
+ struct file *fp;
+ int fd, error;
+
+ error = kern_kqueue_alloc(td, td->td_proc->p_fd, &fd, &fp, flags,
+ fcaps, cponfork, &kq);
+ if (error != 0)
+ return (error);
- finit(fp, FREAD | FWRITE, DTYPE_KQUEUE, kq, &kqueueops);
fdrop(fp, td);
td->td_retval[0] = fd;
@@ -1488,7 +1544,7 @@ kern_kevent_anonymous(struct thread *td, int nevents,
struct kqueue kq = {};
int error;
- kqueue_init(&kq);
+ kqueue_init(&kq, false);
kq.kq_refcnt = 1;
error = kqueue_kevent(&kq, td, nevents, nevents, k_ops, NULL);
kqueue_drain(&kq, td);
@@ -1576,7 +1632,7 @@ kqueue_fo_release(int filt)
mtx_lock(&filterops_lock);
KASSERT(sysfilt_ops[~filt].for_refcnt > 0,
- ("filter object refcount not valid on release"));
+ ("filter object %d refcount not valid on release", filt));
sysfilt_ops[~filt].for_refcnt--;
mtx_unlock(&filterops_lock);
}
@@ -1855,17 +1911,8 @@ done:
}
static int
-kqueue_acquire(struct file *fp, struct kqueue **kqp)
+kqueue_acquire_ref(struct kqueue *kq)
{
- int error;
- struct kqueue *kq;
-
- error = 0;
-
- kq = fp->f_data;
- if (fp->f_type != DTYPE_KQUEUE || kq == NULL)
- return (EINVAL);
- *kqp = kq;
KQ_LOCK(kq);
if ((kq->kq_state & KQ_CLOSING) == KQ_CLOSING) {
KQ_UNLOCK(kq);
@@ -1873,8 +1920,22 @@ kqueue_acquire(struct file *fp, struct kqueue **kqp)
}
kq->kq_refcnt++;
KQ_UNLOCK(kq);
+ return (0);
+}
- return error;
+static int
+kqueue_acquire(struct file *fp, struct kqueue **kqp)
+{
+ struct kqueue *kq;
+ int error;
+
+ kq = fp->f_data;
+ if (fp->f_type != DTYPE_KQUEUE || kq == NULL)
+ return (EINVAL);
+ error = kqueue_acquire_ref(kq);
+ if (error == 0)
+ *kqp = kq;
+ return (error);
}
static void
@@ -2887,7 +2948,7 @@ knote_dequeue(struct knote *kn)
}
static void
-knote_init(void)
+knote_init(void *dummy __unused)
{
knote_zone = uma_zcreate("KNOTE", sizeof(struct knote), NULL, NULL,
@@ -2937,6 +2998,152 @@ noacquire:
return (error);
}
+static int
+kqueue_fork_alloc(struct filedesc *fdp, struct file *fp, struct file **fp1,
+ struct thread *td)
+{
+ struct kqueue *kq, *kq1;
+ int error;
+
+ MPASS(fp->f_type == DTYPE_KQUEUE);
+ kq = fp->f_data;
+ if ((kq->kq_state & KQ_CPONFORK) == 0)
+ return (EOPNOTSUPP);
+ error = kqueue_acquire_ref(kq);
+ if (error != 0)
+ return (error);
+ error = kern_kqueue_alloc(td, fdp, NULL, fp1, 0, NULL, true, &kq1);
+ if (error == 0) {
+ kq1->kq_forksrc = kq;
+ (*fp1)->f_flag = fp->f_flag & (FREAD | FWRITE | FEXEC |
+ O_CLOEXEC | O_CLOFORK);
+ } else {
+ kqueue_release(kq, 0);
+ }
+ return (error);
+}
+
+static void
+kqueue_fork_copy_knote(struct kqueue *kq1, struct knote *kn, struct proc *p1,
+ struct filedesc *fdp)
+{
+ struct knote *kn1;
+ const struct filterops *fop;
+ int error;
+
+ fop = kn->kn_fop;
+ if (fop->f_copy == NULL || (fop->f_isfd &&
+ fdp->fd_files->fdt_ofiles[kn->kn_kevent.ident].fde_file == NULL))
+ return;
+ error = kqueue_expand(kq1, fop, kn->kn_kevent.ident, M_WAITOK);
+ if (error != 0)
+ return;
+
+ kn1 = knote_alloc(M_WAITOK);
+ *kn1 = *kn;
+ kn1->kn_status |= KN_DETACHED;
+ kn1->kn_status &= ~KN_QUEUED;
+ kn1->kn_kq = kq1;
+ error = fop->f_copy(kn1, p1);
+ if (error != 0) {
+ knote_free(kn1);
+ return;
+ }
+ (void)kqueue_fo_find(kn->kn_kevent.filter);
+ if (fop->f_isfd && !fhold(kn1->kn_fp)) {
+ fop->f_detach(kn1);
+ kqueue_fo_release(kn->kn_kevent.filter);
+ knote_free(kn1);
+ return;
+ }
+ if (kn->kn_knlist != NULL)
+ knlist_add(kn->kn_knlist, kn1, 0);
+ KQ_LOCK(kq1);
+ knote_attach(kn1, kq1);
+ kn1->kn_influx = 0;
+ if ((kn->kn_status & KN_QUEUED) != 0)
+ knote_enqueue(kn1);
+ KQ_UNLOCK(kq1);
+}
+
+static void
+kqueue_fork_copy_list(struct klist *knlist, struct knote *marker,
+ struct kqueue *kq, struct kqueue *kq1, struct proc *p1,
+ struct filedesc *fdp)
+{
+ struct knote *kn;
+
+ KQ_OWNED(kq);
+ kn = SLIST_FIRST(knlist);
+ while (kn != NULL) {
+ if ((kn->kn_status & KN_DETACHED) != 0 ||
+ (kn_in_flux(kn) && (kn->kn_status & KN_SCAN) == 0)) {
+ kn = SLIST_NEXT(kn, kn_link);
+ continue;
+ }
+ kn_enter_flux(kn);
+ SLIST_INSERT_AFTER(kn, marker, kn_link);
+ KQ_UNLOCK(kq);
+ kqueue_fork_copy_knote(kq1, kn, p1, fdp);
+ KQ_LOCK(kq);
+ kn_leave_flux(kn);
+ kn = SLIST_NEXT(marker, kn_link);
+ /* XXXKIB switch kn_link to LIST? */
+ SLIST_REMOVE(knlist, marker, knote, kn_link);
+ }
+}
+
+static int
+kqueue_fork_copy(struct filedesc *fdp, struct file *fp, struct file *fp1,
+ struct proc *p1, struct thread *td)
+{
+ struct kqueue *kq, *kq1;
+ struct knote *marker;
+ int error, i;
+
+ error = 0;
+ MPASS(fp == NULL);
+ MPASS(fp1->f_type == DTYPE_KQUEUE);
+
+ kq1 = fp1->f_data;
+ kq = kq1->kq_forksrc;
+ marker = knote_alloc(M_WAITOK);
+ marker->kn_status = KN_MARKER;
+
+ KQ_LOCK(kq);
+ for (i = 0; i < kq->kq_knlistsize; i++) {
+ kqueue_fork_copy_list(&kq->kq_knlist[i], marker, kq, kq1,
+ p1, fdp);
+ }
+ if (kq->kq_knhashmask != 0) {
+ for (i = 0; i <= kq->kq_knhashmask; i++) {
+ kqueue_fork_copy_list(&kq->kq_knhash[i], marker, kq,
+ kq1, p1, fdp);
+ }
+ }
+ kqueue_release(kq, 1);
+ kq1->kq_forksrc = NULL;
+ KQ_UNLOCK(kq);
+
+ knote_free(marker);
+ return (error);
+}
+
+static int
+kqueue_fork(struct filedesc *fdp, struct file *fp, struct file **fp1,
+ struct proc *p1, struct thread *td)
+{
+ if (*fp1 == NULL)
+ return (kqueue_fork_alloc(fdp, fp, fp1, td));
+ return (kqueue_fork_copy(fdp, fp, *fp1, p1, td));
+}
+
+int
+knote_triv_copy(struct knote *kn __unused, struct proc *p1 __unused)
+{
+ return (0);
+}
+
struct knote_status_export_bit {
int kn_status_bit;
int knt_status_bit;
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 0fc2d0e7f1bc..2bdd6faa025a 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -418,7 +418,7 @@ do_execve(struct thread *td, struct image_args *args, struct mac *mac_p,
#endif
int error, i, orig_osrel;
uint32_t orig_fctl0;
- Elf_Brandinfo *orig_brandinfo;
+ const Elf_Brandinfo *orig_brandinfo;
size_t freepath_size;
static const char fexecv_proc_title[] = "(fexecv)";
@@ -1314,7 +1314,7 @@ exec_map_stack(struct image_params *imgp)
MAP_INHERIT_SHARE | MAP_ACC_NO_CHARGE);
} else {
sharedpage_addr = sv->sv_shared_page_base;
- vm_map_fixed(map, obj, 0,
+ error = vm_map_fixed(map, obj, 0,
sharedpage_addr, sv->sv_shared_page_len,
VM_PROT_READ | VM_PROT_EXECUTE,
VM_PROT_READ | VM_PROT_EXECUTE,
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c
index ab8ed32ad189..c4b1c8201ff2 100644
--- a/sys/kern/kern_exit.c
+++ b/sys/kern/kern_exit.c
@@ -807,7 +807,7 @@ kern_abort2(struct thread *td, const char *why, int nargs, void **uargs)
}
if (nargs > 0) {
sbuf_putc(sb, '(');
- for (i = 0;i < nargs; i++)
+ for (i = 0; i < nargs; i++)
sbuf_printf(sb, "%s%p", i == 0 ? "" : ", ", uargs[i]);
sbuf_putc(sb, ')');
}
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
index 7f6abae187b3..8b237b6dbd17 100644
--- a/sys/kern/kern_fork.c
+++ b/sys/kern/kern_fork.c
@@ -423,7 +423,7 @@ do_fork(struct thread *td, struct fork_req *fr, struct proc *p2, struct thread *
pd = pdshare(p1->p_pd);
else
pd = pdcopy(p1->p_pd);
- fd = fdcopy(p1->p_fd);
+ fd = fdcopy(p1->p_fd, p2);
fdtol = NULL;
} else {
if (fr->fr_flags2 & FR2_SHARE_PATHS)
diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c
index 3697d95fe0e5..00732d55cd46 100644
--- a/sys/kern/kern_jail.c
+++ b/sys/kern/kern_jail.c
@@ -2909,12 +2909,6 @@ prison_remove(struct prison *pr)
{
sx_assert(&allprison_lock, SA_XLOCKED);
mtx_assert(&pr->pr_mtx, MA_OWNED);
- if (!prison_isalive(pr)) {
- /* Silently ignore already-dying prisons. */
- mtx_unlock(&pr->pr_mtx);
- sx_xunlock(&allprison_lock);
- return;
- }
prison_deref(pr, PD_KILL | PD_DEREF | PD_LOCKED | PD_LIST_XLOCKED);
}
@@ -3461,12 +3455,17 @@ prison_deref(struct prison *pr, int flags)
/* Kill the prison and its descendents. */
KASSERT(pr != &prison0,
("prison_deref trying to kill prison0"));
- if (!(flags & PD_DEREF)) {
- prison_hold(pr);
- flags |= PD_DEREF;
+ if (!prison_isalive(pr)) {
+ /* Silently ignore already-dying prisons. */
+ flags &= ~PD_KILL;
+ } else {
+ if (!(flags & PD_DEREF)) {
+ prison_hold(pr);
+ flags |= PD_DEREF;
+ }
+ flags = prison_lock_xlock(pr, flags);
+ prison_deref_kill(pr, &freeprison);
}
- flags = prison_lock_xlock(pr, flags);
- prison_deref_kill(pr, &freeprison);
}
if (flags & PD_DEUREF) {
/* Drop a user reference. */
diff --git a/sys/kern/kern_jaildesc.c b/sys/kern/kern_jaildesc.c
index 3f322b271400..a564393d3366 100644
--- a/sys/kern/kern_jaildesc.c
+++ b/sys/kern/kern_jaildesc.c
@@ -344,6 +344,7 @@ static const struct filterops jaildesc_kqops = {
.f_isfd = 1,
.f_detach = jaildesc_kqops_detach,
.f_event = jaildesc_kqops_event,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/kern/kern_jailmeta.c b/sys/kern/kern_jailmeta.c
index 4e37eccad03a..91bb7155820d 100644
--- a/sys/kern/kern_jailmeta.c
+++ b/sys/kern/kern_jailmeta.c
@@ -599,22 +599,18 @@ SYSCTL_PROC(_security_jail, OID_AUTO, env,
/* Setup and tear down. */
-static int
+static void
jm_sysinit(void *arg __unused)
{
meta.osd_slot = osd_jail_register(jm_osd_destructor, meta.methods);
env.osd_slot = osd_jail_register(jm_osd_destructor, env.methods);
-
- return (0);
}
-static int
+static void
jm_sysuninit(void *arg __unused)
{
osd_jail_deregister(meta.osd_slot);
osd_jail_deregister(env.osd_slot);
-
- return (0);
}
SYSINIT(jailmeta, SI_SUB_DRIVERS, SI_ORDER_ANY, jm_sysinit, NULL);
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index d566bc01bc5e..e2f63cbc0c5a 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -435,7 +435,7 @@ linker_file_register_modules(linker_file_t lf)
}
static void
-linker_init_kernel_modules(void)
+linker_init_kernel_modules(void *dummy __unused)
{
sx_xlock(&kld_sx);
diff --git a/sys/kern/kern_malloc.c b/sys/kern/kern_malloc.c
index 653ce1ee556b..fcbfbe64f854 100644
--- a/sys/kern/kern_malloc.c
+++ b/sys/kern/kern_malloc.c
@@ -303,7 +303,7 @@ sysctl_vm_malloc_zone_sizes(SYSCTL_HANDLER_ARGS)
*/
#if MALLOC_DEBUG_MAXZONES > 1
static void
-tunable_set_numzones(void)
+tunable_set_numzones(void *dummy __unused)
{
TUNABLE_INT_FETCH("debug.malloc.numzones",
@@ -1302,7 +1302,7 @@ mallocinit(void *dummy)
#endif
align, UMA_ZONE_MALLOC);
}
- for (;i <= size; i+= KMEM_ZBASE)
+ for (; i <= size; i+= KMEM_ZBASE)
kmemsize[i >> KMEM_ZSHIFT] = indx;
}
}
diff --git a/sys/kern/kern_racct.c b/sys/kern/kern_racct.c
index 7351e9cb6313..2aab151aba08 100644
--- a/sys/kern/kern_racct.c
+++ b/sys/kern/kern_racct.c
@@ -1312,7 +1312,7 @@ static struct kproc_desc racctd_kp = {
};
static void
-racctd_init(void)
+racctd_init(void *dummy __unused)
{
if (!racct_enable)
return;
@@ -1322,7 +1322,7 @@ racctd_init(void)
SYSINIT(racctd, SI_SUB_RACCTD, SI_ORDER_FIRST, racctd_init, NULL);
static void
-racct_init(void)
+racct_init(void *dummy __unused)
{
if (!racct_enable)
return;
diff --git a/sys/kern/kern_rangelock.c b/sys/kern/kern_rangelock.c
index 3854ffbeec29..cd66bff62608 100644
--- a/sys/kern/kern_rangelock.c
+++ b/sys/kern/kern_rangelock.c
@@ -300,7 +300,7 @@ static void rangelock_free_free(struct rl_q_entry *free);
static void rangelock_noncheating_destroy(struct rangelock *lock);
static void
-rangelock_sys_init(void)
+rangelock_sys_init(void *dummy __unused)
{
rl_entry_zone = uma_zcreate("rl_entry", sizeof(struct rl_q_entry),
NULL, NULL, NULL, NULL, UMA_ALIGNOF(struct rl_q_entry),
diff --git a/sys/kern/kern_rctl.c b/sys/kern/kern_rctl.c
index 4232c71f86fb..682ba86d23ff 100644
--- a/sys/kern/kern_rctl.c
+++ b/sys/kern/kern_rctl.c
@@ -209,7 +209,7 @@ static struct dict actionnames[] = {
{ "throttle", RCTL_ACTION_THROTTLE },
{ NULL, -1 }};
-static void rctl_init(void);
+static void rctl_init(void *);
SYSINIT(rctl, SI_SUB_RACCT, SI_ORDER_FIRST, rctl_init, NULL);
static uma_zone_t rctl_rule_zone;
@@ -2175,7 +2175,7 @@ rctl_racct_release(struct racct *racct)
}
static void
-rctl_init(void)
+rctl_init(void *dummy __unused)
{
if (!racct_enable)
diff --git a/sys/kern/kern_sharedpage.c b/sys/kern/kern_sharedpage.c
index 5b8398caaca9..f48d0e3d616b 100644
--- a/sys/kern/kern_sharedpage.c
+++ b/sys/kern/kern_sharedpage.c
@@ -130,8 +130,7 @@ shared_page_init(void *dummy __unused)
shared_page_mapping = (char *)addr;
}
-SYSINIT(shp, SI_SUB_EXEC, SI_ORDER_FIRST, (sysinit_cfunc_t)shared_page_init,
- NULL);
+SYSINIT(shp, SI_SUB_EXEC, SI_ORDER_FIRST, shared_page_init, NULL);
/*
* Push the timehands update to the shared page.
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 8efc0886988b..a55f3c761449 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -113,7 +113,7 @@ static int filt_sigattach(struct knote *kn);
static void filt_sigdetach(struct knote *kn);
static int filt_signal(struct knote *kn, long hint);
static struct thread *sigtd(struct proc *p, int sig, bool fast_sigblock);
-static void sigqueue_start(void);
+static void sigqueue_start(void *);
static void sigfastblock_setpend(struct thread *td, bool resched);
static void sig_handle_first_stop(struct thread *td, struct proc *p,
int sig);
@@ -124,6 +124,7 @@ const struct filterops sig_filtops = {
.f_attach = filt_sigattach,
.f_detach = filt_sigdetach,
.f_event = filt_signal,
+ .f_copy = knote_triv_copy,
};
static int kern_forcesigexit = 1;
@@ -344,7 +345,7 @@ ast_sigsuspend(struct thread *td, int tda __unused)
}
static void
-sigqueue_start(void)
+sigqueue_start(void *dummy __unused)
{
ksiginfo_zone = uma_zcreate("ksiginfo", sizeof(ksiginfo_t),
NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
diff --git a/sys/kern/kern_time.c b/sys/kern/kern_time.c
index 2a6f0989f6aa..5b7485c25cd7 100644
--- a/sys/kern/kern_time.c
+++ b/sys/kern/kern_time.c
@@ -90,7 +90,7 @@ static int user_clock_nanosleep(struct thread *td, clockid_t clock_id,
int flags, const struct timespec *ua_rqtp,
struct timespec *ua_rmtp);
-static void itimer_start(void);
+static void itimer_start(void *);
static int itimer_init(void *, int, int);
static void itimer_fini(void *, int);
static void itimer_enter(struct itimer *);
@@ -1170,7 +1170,7 @@ eventratecheck(struct timeval *lasttime, int *cureps, int maxeps)
}
static void
-itimer_start(void)
+itimer_start(void *dummy __unused)
{
static const struct kclock rt_clock = {
.timer_create = realtimer_create,
diff --git a/sys/kern/subr_devstat.c b/sys/kern/subr_devstat.c
index 07a9cc0f57be..c4d0223d484f 100644
--- a/sys/kern/subr_devstat.c
+++ b/sys/kern/subr_devstat.c
@@ -415,7 +415,7 @@ sysctl_devstat(SYSCTL_HANDLER_ARGS)
if (error != 0)
return (error);
- for (;nds != NULL;) {
+ while (nds != NULL) {
error = SYSCTL_OUT(req, nds, sizeof(struct devstat));
if (error != 0)
return (error);
diff --git a/sys/kern/subr_log.c b/sys/kern/subr_log.c
index 5380902e602f..aac35a56130e 100644
--- a/sys/kern/subr_log.c
+++ b/sys/kern/subr_log.c
@@ -79,6 +79,7 @@ static const struct filterops log_read_filterops = {
.f_attach = NULL,
.f_detach = logkqdetach,
.f_event = logkqread,
+ .f_copy = knote_triv_copy,
};
static struct logsoftc {
diff --git a/sys/kern/subr_pcpu.c b/sys/kern/subr_pcpu.c
index 5c14e15830f4..c9a387a5e87b 100644
--- a/sys/kern/subr_pcpu.c
+++ b/sys/kern/subr_pcpu.c
@@ -140,7 +140,7 @@ uma_zone_t pcpu_zone_32;
uma_zone_t pcpu_zone_64;
static void
-pcpu_zones_startup(void)
+pcpu_zones_startup(void *dummy __unused)
{
pcpu_zone_4 = uma_zcreate("pcpu-4", 4,
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c
index db0ceb17b9f0..e2070ae3f865 100644
--- a/sys/kern/subr_prf.c
+++ b/sys/kern/subr_prf.c
@@ -766,7 +766,7 @@ reswitch: switch (ch = (u_char)*fmt++) {
PCHAR(hex2ascii(*up & 0x0f));
up++;
if (width)
- for (q=p;*q;q++)
+ for (q = p; *q; q++)
PCHAR(*q);
}
break;
diff --git a/sys/kern/sys_eventfd.c b/sys/kern/sys_eventfd.c
index c2a0f67cae85..04ed107c933d 100644
--- a/sys/kern/sys_eventfd.c
+++ b/sys/kern/sys_eventfd.c
@@ -85,13 +85,16 @@ static int filt_eventfdwrite(struct knote *kn, long hint);
static const struct filterops eventfd_rfiltops = {
.f_isfd = 1,
.f_detach = filt_eventfddetach,
- .f_event = filt_eventfdread
+ .f_event = filt_eventfdread,
+ .f_copy = knote_triv_copy,
};
+
static const struct filterops eventfd_wfiltops = {
.f_isfd = 1,
.f_detach = filt_eventfddetach,
- .f_event = filt_eventfdwrite
+ .f_event = filt_eventfdwrite,
+ .f_copy = knote_triv_copy,
};
struct eventfd {
diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c
index 57ebe8dc85f0..6531cea31423 100644
--- a/sys/kern/sys_pipe.c
+++ b/sys/kern/sys_pipe.c
@@ -181,20 +181,23 @@ static int filt_pipedump(struct proc *p, struct knote *kn,
static const struct filterops pipe_nfiltops = {
.f_isfd = 1,
.f_detach = filt_pipedetach_notsup,
- .f_event = filt_pipenotsup
+ .f_event = filt_pipenotsup,
/* no userdump */
+ .f_copy = knote_triv_copy,
};
static const struct filterops pipe_rfiltops = {
.f_isfd = 1,
.f_detach = filt_pipedetach,
.f_event = filt_piperead,
.f_userdump = filt_pipedump,
+ .f_copy = knote_triv_copy,
};
static const struct filterops pipe_wfiltops = {
.f_isfd = 1,
.f_detach = filt_pipedetach,
.f_event = filt_pipewrite,
.f_userdump = filt_pipedump,
+ .f_copy = knote_triv_copy,
};
/*
diff --git a/sys/kern/sys_procdesc.c b/sys/kern/sys_procdesc.c
index acaf1241cb2e..c5db21544b0f 100644
--- a/sys/kern/sys_procdesc.c
+++ b/sys/kern/sys_procdesc.c
@@ -486,6 +486,7 @@ static const struct filterops procdesc_kqops = {
.f_isfd = 1,
.f_detach = procdesc_kqops_detach,
.f_event = procdesc_kqops_event,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c
index c221106ae067..bc0725230cca 100644
--- a/sys/kern/sys_socket.c
+++ b/sys/kern/sys_socket.c
@@ -586,7 +586,7 @@ soaio_enqueue(struct task *task)
}
static void
-soaio_init(void)
+soaio_init(void *dummy __unused)
{
soaio_lifetime = AIOD_LIFETIME_DEFAULT;
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index c8e2c561b7cf..067471eb949a 100644
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -754,12 +754,14 @@ static const struct filterops tty_kqops_read = {
.f_isfd = 1,
.f_detach = tty_kqops_read_detach,
.f_event = tty_kqops_read_event,
+ .f_copy = knote_triv_copy,
};
static const struct filterops tty_kqops_write = {
.f_isfd = 1,
.f_detach = tty_kqops_write_detach,
.f_event = tty_kqops_write_event,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/kern/tty_pts.c b/sys/kern/tty_pts.c
index 1291770a9ccb..2672935c2d89 100644
--- a/sys/kern/tty_pts.c
+++ b/sys/kern/tty_pts.c
@@ -491,11 +491,13 @@ static const struct filterops pts_kqops_read = {
.f_isfd = 1,
.f_detach = pts_kqops_read_detach,
.f_event = pts_kqops_read_event,
+ .f_copy = knote_triv_copy,
};
static const struct filterops pts_kqops_write = {
.f_isfd = 1,
.f_detach = pts_kqops_write_detach,
.f_event = pts_kqops_write_event,
+ .f_copy = knote_triv_copy,
};
static int
diff --git a/sys/kern/uipc_mqueue.c b/sys/kern/uipc_mqueue.c
index a8aec397b352..4c1bb1ff228e 100644
--- a/sys/kern/uipc_mqueue.c
+++ b/sys/kern/uipc_mqueue.c
@@ -281,11 +281,13 @@ static const struct filterops mq_rfiltops = {
.f_isfd = 1,
.f_detach = filt_mqdetach,
.f_event = filt_mqread,
+ .f_copy = knote_triv_copy,
};
static const struct filterops mq_wfiltops = {
.f_isfd = 1,
.f_detach = filt_mqdetach,
.f_event = filt_mqwrite,
+ .f_copy = knote_triv_copy,
};
/*
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index fe2d8d056062..eb9544628137 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -191,16 +191,19 @@ static const struct filterops soread_filtops = {
.f_isfd = 1,
.f_detach = filt_sordetach,
.f_event = filt_soread,
+ .f_copy = knote_triv_copy,
};
static const struct filterops sowrite_filtops = {
.f_isfd = 1,
.f_detach = filt_sowdetach,
.f_event = filt_sowrite,
+ .f_copy = knote_triv_copy,
};
static const struct filterops soempty_filtops = {
.f_isfd = 1,
.f_detach = filt_sowdetach,
.f_event = filt_soempty,
+ .f_copy = knote_triv_copy,
};
so_gen_t so_gencnt; /* generation count for sockets */
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 340d84666459..807271488af2 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -1069,6 +1069,21 @@ uipc_stream_sbspace(struct sockbuf *sb)
return (min(space, mbspace));
}
+/*
+ * UNIX version of generic sbwait() for writes. We wait on peer's receive
+ * buffer, using our timeout.
+ */
+static int
+uipc_stream_sbwait(struct socket *so, sbintime_t timeo)
+{
+ struct sockbuf *sb = &so->so_rcv;
+
+ SOCK_RECVBUF_LOCK_ASSERT(so);
+ sb->sb_flags |= SB_WAIT;
+ return (msleep_sbt(&sb->sb_acc, SOCK_RECVBUF_MTX(so), PSOCK | PCATCH,
+ "sbwait", timeo, 0, 0));
+}
+
static int
uipc_sosend_stream_or_seqpacket(struct socket *so, struct sockaddr *addr,
struct uio *uio0, struct mbuf *m, struct mbuf *c, int flags,
@@ -1203,7 +1218,8 @@ restart:
error = EWOULDBLOCK;
goto out4;
}
- if ((error = sbwait(so2, SO_RCV)) != 0) {
+ if ((error = uipc_stream_sbwait(so2,
+ so->so_snd.sb_timeo)) != 0) {
SOCK_RECVBUF_UNLOCK(so2);
goto out4;
} else
@@ -1543,15 +1559,19 @@ restart:
mc_init_m(&cmc, control);
SOCK_RECVBUF_LOCK(so);
- MPASS(!(sb->sb_state & SBS_CANTRCVMORE));
-
- if (__predict_false(cmc.mc_len + sb->sb_ccc +
- sb->sb_ctl > sb->sb_hiwat)) {
+ if (__predict_false(
+ (sb->sb_state & SBS_CANTRCVMORE) ||
+ cmc.mc_len + sb->sb_ccc + sb->sb_ctl >
+ sb->sb_hiwat)) {
/*
- * Too bad, while unp_externalize() was
- * failing, the other side had filled
- * the buffer and we can't prepend data
- * back. Losing data!
+ * While the lock was dropped and we
+ * were failing in unp_externalize(),
+ * the peer could has a) disconnected,
+ * b) filled the buffer so that we
+ * can't prepend data back.
+ * These are two edge conditions that
+ * we just can't handle, so lose the
+ * data and return the error.
*/
SOCK_RECVBUF_UNLOCK(so);
SOCK_IO_RECV_UNLOCK(so);
@@ -1835,11 +1855,13 @@ static const struct filterops uipc_write_filtops = {
.f_isfd = 1,
.f_detach = uipc_filt_sowdetach,
.f_event = uipc_filt_sowrite,
+ .f_copy = knote_triv_copy,
};
static const struct filterops uipc_empty_filtops = {
.f_isfd = 1,
.f_detach = uipc_filt_sowdetach,
.f_event = uipc_filt_soempty,
+ .f_copy = knote_triv_copy,
};
static int
@@ -2397,7 +2419,7 @@ uipc_sendfile_wait(struct socket *so, off_t need, int *space)
}
if (!sockref)
soref(so2);
- error = sbwait(so2, SO_RCV);
+ error = uipc_stream_sbwait(so2, so->so_snd.sb_timeo);
if (error == 0 &&
__predict_false(sb->sb_state & SBS_CANTRCVMORE))
error = EPIPE;
diff --git a/sys/kern/vfs_aio.c b/sys/kern/vfs_aio.c
index e63fa4c01434..60916a9fbd32 100644
--- a/sys/kern/vfs_aio.c
+++ b/sys/kern/vfs_aio.c
@@ -345,12 +345,14 @@ static const struct filterops aio_filtops = {
.f_attach = filt_aioattach,
.f_detach = filt_aiodetach,
.f_event = filt_aio,
+ .f_copy = knote_triv_copy,
};
static const struct filterops lio_filtops = {
.f_isfd = 0,
.f_attach = filt_lioattach,
.f_detach = filt_liodetach,
- .f_event = filt_lio
+ .f_event = filt_lio,
+ .f_copy = knote_triv_copy,
};
static eventhandler_tag exit_tag, exec_tag;
diff --git a/sys/kern/vfs_inotify.c b/sys/kern/vfs_inotify.c
index b265a5ff3a62..e60d8426ee42 100644
--- a/sys/kern/vfs_inotify.c
+++ b/sys/kern/vfs_inotify.c
@@ -111,6 +111,7 @@ static const struct filterops inotify_rfiltops = {
.f_isfd = 1,
.f_detach = filt_inotifydetach,
.f_event = filt_inotifyevent,
+ .f_copy = knote_triv_copy,
};
static MALLOC_DEFINE(M_INOTIFY, "inotify", "inotify data structures");
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 73e110c05bc1..58975f7ac932 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -6545,6 +6545,7 @@ const struct filterops fs_filtops = {
.f_attach = filt_fsattach,
.f_detach = filt_fsdetach,
.f_event = filt_fsevent,
+ .f_copy = knote_triv_copy,
};
static int
@@ -6624,24 +6625,28 @@ static int filt_vfsvnode(struct knote *kn, long hint);
static void filt_vfsdetach(struct knote *kn);
static int filt_vfsdump(struct proc *p, struct knote *kn,
struct kinfo_knote *kin);
+static int filt_vfscopy(struct knote *kn, struct proc *p1);
static const struct filterops vfsread_filtops = {
.f_isfd = 1,
.f_detach = filt_vfsdetach,
.f_event = filt_vfsread,
.f_userdump = filt_vfsdump,
+ .f_copy = filt_vfscopy,
};
static const struct filterops vfswrite_filtops = {
.f_isfd = 1,
.f_detach = filt_vfsdetach,
.f_event = filt_vfswrite,
.f_userdump = filt_vfsdump,
+ .f_copy = filt_vfscopy,
};
static const struct filterops vfsvnode_filtops = {
.f_isfd = 1,
.f_detach = filt_vfsdetach,
.f_event = filt_vfsvnode,
.f_userdump = filt_vfsdump,
+ .f_copy = filt_vfscopy,
};
static void
@@ -6825,6 +6830,16 @@ filt_vfsdump(struct proc *p, struct knote *kn, struct kinfo_knote *kin)
return (0);
}
+static int
+filt_vfscopy(struct knote *kn, struct proc *p1)
+{
+ struct vnode *vp;
+
+ vp = (struct vnode *)kn->kn_hook;
+ vhold(vp);
+ return (0);
+}
+
int
vfs_read_dirent(struct vop_readdir_args *ap, struct dirent *dp, off_t off)
{
diff --git a/sys/libkern/arc4random.c b/sys/libkern/arc4random.c
index 016822e9f03c..6fca7c3c4e9d 100644
--- a/sys/libkern/arc4random.c
+++ b/sys/libkern/arc4random.c
@@ -156,7 +156,7 @@ chacha20_randomstir(struct chacha20_s *chacha20)
* Initialize the contexts.
*/
static void
-chacha20_init(void)
+chacha20_init(void *dummy __unused)
{
struct chacha20_s *chacha20;
@@ -176,7 +176,7 @@ SYSINIT(chacha20, SI_SUB_LOCK, SI_ORDER_ANY, chacha20_init, NULL);
static void
-chacha20_uninit(void)
+chacha20_uninit(void *dummy __unused)
{
struct chacha20_s *chacha20;
diff --git a/sys/libkern/x86/crc32_sse42.c b/sys/libkern/x86/crc32_sse42.c
index b79c7afbeeb1..94ffdc178910 100644
--- a/sys/libkern/x86/crc32_sse42.c
+++ b/sys/libkern/x86/crc32_sse42.c
@@ -199,8 +199,10 @@ crc32c_shift(uint32_t zeros[][256], uint32_t crc)
static void
#ifndef _KERNEL
__attribute__((__constructor__))
-#endif
crc32c_init_hw(void)
+#else
+crc32c_init_hw(void *dummy __unused)
+#endif
{
crc32c_zeros(crc32c_long, LONG);
crc32c_zeros(crc32c_2long, 2 * LONG);
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index feb9778c23da..63a0b3260e6d 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -577,6 +577,7 @@ _mlx5ib= mlx5ib
${MACHINE_CPUARCH} == "i386"
_ena= ena
_gve= gve
+_igc= igc
# gcc13 and earlier lack __builtin_bitcountg used by linux emulation
.if !(${COMPILER_TYPE} == "gcc" && ${COMPILER_VERSION} < 140000)
_iwlwifi= iwlwifi
@@ -747,7 +748,6 @@ _et= et
_ftgpio= ftgpio
_ftwd= ftwd
_exca= exca
-_igc= igc
_io= io
_itwd= itwd
_ix= ix
diff --git a/sys/modules/ktest/Makefile b/sys/modules/ktest/Makefile
index a3052efa9ed9..d5f15576f38b 100644
--- a/sys/modules/ktest/Makefile
+++ b/sys/modules/ktest/Makefile
@@ -1,5 +1,6 @@
SUBDIR= ktest \
ktest_example \
- ktest_netlink_message_writer
+ ktest_netlink_message_writer \
+ ktest_tcphpts
.include <bsd.subdir.mk>
diff --git a/sys/modules/ktest/ktest_tcphpts/Makefile b/sys/modules/ktest/ktest_tcphpts/Makefile
new file mode 100644
index 000000000000..b642c0cb4209
--- /dev/null
+++ b/sys/modules/ktest/ktest_tcphpts/Makefile
@@ -0,0 +1,13 @@
+PACKAGE= tests
+WARNS?= 6
+
+SYSDIR?=${SRCTOP}/sys
+.include "${SYSDIR}/conf/kern.opts.mk"
+
+.PATH: ${SYSDIR}/netinet
+
+KMOD= ktest_tcphpts
+SRCS= tcp_hpts_test.c
+
+.include <bsd.kmod.mk>
+
diff --git a/sys/modules/zfs/zfs_config.h b/sys/modules/zfs/zfs_config.h
index db1b6f33a8ef..3a17ed289235 100644
--- a/sys/modules/zfs/zfs_config.h
+++ b/sys/modules/zfs/zfs_config.h
@@ -843,7 +843,7 @@
/* #undef ZFS_DEVICE_MINOR */
/* Define the project alias string. */
-#define ZFS_META_ALIAS "zfs-2.4.99-95-FreeBSD_g5605a6d79"
+#define ZFS_META_ALIAS "zfs-2.4.99-113-FreeBSD_g6ae99d269"
/* Define the project author. */
#define ZFS_META_AUTHOR "OpenZFS"
@@ -873,7 +873,7 @@
#define ZFS_META_NAME "zfs"
/* Define the project release. */
-#define ZFS_META_RELEASE "95-FreeBSD_g5605a6d79"
+#define ZFS_META_RELEASE "113-FreeBSD_g6ae99d269"
/* Define the project version. */
#define ZFS_META_VERSION "2.4.99"
diff --git a/sys/modules/zfs/zfs_gitrev.h b/sys/modules/zfs/zfs_gitrev.h
index 8a1802f5480b..6f568754f61d 100644
--- a/sys/modules/zfs/zfs_gitrev.h
+++ b/sys/modules/zfs/zfs_gitrev.h
@@ -1 +1 @@
-#define ZFS_META_GITREV "zfs-2.4.99-95-g5605a6d79"
+#define ZFS_META_GITREV "zfs-2.4.99-113-g6ae99d269"
diff --git a/sys/net/bpf.c b/sys/net/bpf.c
index a347dbe2eb73..f598733773d0 100644
--- a/sys/net/bpf.c
+++ b/sys/net/bpf.c
@@ -253,12 +253,14 @@ static const struct filterops bpfread_filtops = {
.f_isfd = 1,
.f_detach = filt_bpfdetach,
.f_event = filt_bpfread,
+ .f_copy = knote_triv_copy,
};
static const struct filterops bpfwrite_filtops = {
.f_isfd = 1,
.f_detach = filt_bpfdetach,
.f_event = filt_bpfwrite,
+ .f_copy = knote_triv_copy,
};
/*
diff --git a/sys/net/if_tuntap.c b/sys/net/if_tuntap.c
index c8dbb6aa8893..56bb90cce9bc 100644
--- a/sys/net/if_tuntap.c
+++ b/sys/net/if_tuntap.c
@@ -261,6 +261,7 @@ static const struct filterops tun_read_filterops = {
.f_attach = NULL,
.f_detach = tunkqdetach,
.f_event = tunkqread,
+ .f_copy = knote_triv_copy,
};
static const struct filterops tun_write_filterops = {
@@ -268,6 +269,7 @@ static const struct filterops tun_write_filterops = {
.f_attach = NULL,
.f_detach = tunkqdetach,
.f_event = tunkqwrite,
+ .f_copy = knote_triv_copy,
};
static struct tuntap_driver {
diff --git a/sys/net/route.c b/sys/net/route.c
index 7a50bcc43e06..d2c9f3e39c17 100644
--- a/sys/net/route.c
+++ b/sys/net/route.c
@@ -89,7 +89,7 @@ static int rt_ifdelroute(const struct rtentry *rt, const struct nhop_object *,
* SI_ORDER_MIDDLE.
*/
static void
-route_init(void)
+route_init(void *dummy __unused)
{
nhops_init();
diff --git a/sys/net/route/route_tables.c b/sys/net/route/route_tables.c
index 176ca43fa1c5..3b7bb1385d0e 100644
--- a/sys/net/route/route_tables.c
+++ b/sys/net/route/route_tables.c
@@ -186,7 +186,7 @@ rtables_prison_destructor(void *data)
}
static void
-rtables_init(void)
+rtables_init(void *dummy __unused)
{
osd_method_t methods[PR_MAXMETHOD] = {
[PR_METHOD_ATTACH] = rtables_check_proc_fib,
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index f0dcc973ca7c..be858428bb3e 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -309,7 +309,7 @@ rtsock_notify_event(uint32_t fibnum, const struct rib_cmd_info *rc)
}
static void
-rtsock_init(void)
+rtsock_init(void *dummy __unused)
{
rtsbridge_orig_p = rtsock_callback_p;
rtsock_callback_p = &rtsbridge;
diff --git a/sys/net80211/ieee80211_ht.c b/sys/net80211/ieee80211_ht.c
index 3af56a228295..a8a767785fce 100644
--- a/sys/net80211/ieee80211_ht.c
+++ b/sys/net80211/ieee80211_ht.c
@@ -167,7 +167,7 @@ static ieee80211_send_action_func ht_send_action_ba_delba;
static ieee80211_send_action_func ht_send_action_ht_txchwidth;
static void
-ieee80211_ht_init(void)
+ieee80211_ht_init(void *dummy __unused)
{
/*
* Setup HT parameters that depends on the clock frequency.
diff --git a/sys/net80211/ieee80211_hwmp.c b/sys/net80211/ieee80211_hwmp.c
index b69210768c54..084e67da13db 100644
--- a/sys/net80211/ieee80211_hwmp.c
+++ b/sys/net80211/ieee80211_hwmp.c
@@ -212,7 +212,7 @@ SYSCTL_PROC(_net_wlan_hwmp, OID_AUTO, inact,
"mesh route inactivity timeout (ms)");
static void
-ieee80211_hwmp_init(void)
+ieee80211_hwmp_init(void *dummy __unused)
{
/* Default values as per amendment */
ieee80211_hwmp_pathtimeout = msecs_to_ticks(5*1000);
diff --git a/sys/net80211/ieee80211_mesh.c b/sys/net80211/ieee80211_mesh.c
index 3f0410a69e3c..7f2e8bdcb963 100644
--- a/sys/net80211/ieee80211_mesh.c
+++ b/sys/net80211/ieee80211_mesh.c
@@ -548,7 +548,7 @@ mesh_gatemode_cb(void *arg)
}
static void
-ieee80211_mesh_init(void)
+ieee80211_mesh_init(void *dummy __unused)
{
memset(mesh_proto_paths, 0, sizeof(mesh_proto_paths));
diff --git a/sys/net80211/ieee80211_phy.c b/sys/net80211/ieee80211_phy.c
index 7f53c717152b..b4d9b16907d2 100644
--- a/sys/net80211/ieee80211_phy.c
+++ b/sys/net80211/ieee80211_phy.c
@@ -348,7 +348,7 @@ ieee80211_setup_ratetable(struct ieee80211_rate_table *rt)
/* Setup all rate tables */
static void
-ieee80211_phy_init(void)
+ieee80211_phy_init(void *dummy __unused)
{
static struct ieee80211_rate_table * const ratetables[] = {
&ieee80211_half_table,
diff --git a/sys/net80211/ieee80211_proto.c b/sys/net80211/ieee80211_proto.c
index 0c161d98a55a..4918bf7d025f 100644
--- a/sys/net80211/ieee80211_proto.c
+++ b/sys/net80211/ieee80211_proto.c
@@ -459,7 +459,7 @@ static const struct ieee80211_authenticator auth_internal = {
* Setup internal authenticators once; they are never unregistered.
*/
static void
-ieee80211_auth_setup(void)
+ieee80211_auth_setup(void *dummy __unused)
{
ieee80211_authenticator_register(IEEE80211_AUTH_OPEN, &auth_internal);
ieee80211_authenticator_register(IEEE80211_AUTH_SHARED, &auth_internal);
diff --git a/sys/net80211/ieee80211_vht.c b/sys/net80211/ieee80211_vht.c
index 10a5fc7f08ab..095c4108c768 100644
--- a/sys/net80211/ieee80211_vht.c
+++ b/sys/net80211/ieee80211_vht.c
@@ -102,7 +102,7 @@ vht_send_action_placeholder(struct ieee80211_node *ni,
}
static void
-ieee80211_vht_init(void)
+ieee80211_vht_init(void *dummy __unused)
{
ieee80211_recv_action_register(IEEE80211_ACTION_CAT_VHT,
diff --git a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
index 0181a67ac604..f35712cc8f69 100644
--- a/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
+++ b/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_rtl.c
@@ -81,9 +81,6 @@ const STRUCT_USB_HOST_ID ubt_rtl_devs[] =
{ USB_VPI(0x0bda, 0xb00c, 0) },
{ USB_VPI(0x0bda, 0xc822, 0) },
- /* Realtek 8822CU Bluetooth devices */
- { USB_VPI(0x13d3, 0x3549, 0) },
-
/* Realtek 8851BE Bluetooth devices */
{ USB_VPI(0x13d3, 0x3600, 0) },
diff --git a/sys/netinet/cc/cc.c b/sys/netinet/cc/cc.c
index c20a20cd983d..bc06616dbf93 100644
--- a/sys/netinet/cc/cc.c
+++ b/sys/netinet/cc/cc.c
@@ -271,7 +271,7 @@ cc_check_default(struct cc_algo *remove_cc)
* Initialise CC subsystem on system boot.
*/
static void
-cc_init(void)
+cc_init(void *dummy __unused)
{
CC_LIST_LOCK_INIT();
STAILQ_INIT(&cc_list);
diff --git a/sys/netinet/in_fib_algo.c b/sys/netinet/in_fib_algo.c
index 123dacb409e7..95621c300064 100644
--- a/sys/netinet/in_fib_algo.c
+++ b/sys/netinet/in_fib_algo.c
@@ -767,7 +767,7 @@ struct fib_lookup_module flm_radix4 = {
};
static void
-fib4_algo_init(void)
+fib4_algo_init(void *dummy __unused)
{
fib_module_register(&flm_bsearch4);
diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c
index f5b20c49ffd2..ba112afbf002 100644
--- a/sys/netinet/in_mcast.c
+++ b/sys/netinet/in_mcast.c
@@ -159,9 +159,6 @@ static struct ip_moptions *
static int inp_get_source_filters(struct inpcb *, struct sockopt *);
static int inp_join_group(struct inpcb *, struct sockopt *);
static int inp_leave_group(struct inpcb *, struct sockopt *);
-static struct ifnet *
- inp_lookup_mcast_ifp(const struct inpcb *,
- const struct sockaddr_in *, const struct in_addr);
static int inp_block_unblock_source(struct inpcb *, struct sockopt *);
static int inp_set_multicast_if(struct inpcb *, struct sockopt *);
static int inp_set_source_filters(struct inpcb *, struct sockopt *);
@@ -1832,69 +1829,55 @@ inp_getmoptions(struct inpcb *inp, struct sockopt *sopt)
}
/*
- * Look up the ifnet to use for a multicast group membership,
- * given the IPv4 address of an interface, and the IPv4 group address.
- *
- * This routine exists to support legacy multicast applications
- * which do not understand that multicast memberships are scoped to
- * specific physical links in the networking stack, or which need
- * to join link-scope groups before IPv4 addresses are configured.
- *
- * Use this socket's current FIB number for any required FIB lookup.
- * If ina is INADDR_ANY, look up the group address in the unicast FIB,
- * and use its ifp; usually, this points to the default next-hop.
- *
- * If the FIB lookup fails, attempt to use the first non-loopback
- * interface with multicast capability in the system as a
- * last resort. The legacy IPv4 ASM API requires that we do
- * this in order to allow groups to be joined when the routing
- * table has not yet been populated during boot.
- *
- * Returns NULL if no ifp could be found, otherwise return referenced ifp.
+ * Look up the ifnet to join a multicast group membership via legacy
+ * IP_ADD_MEMBERSHIP or via more modern MCAST_JOIN_GROUP.
*
- * FUTURE: Implement IPv4 source-address selection.
+ * If the interface index was specified explicitly, just use it. If the
+ * address was specified (legacy), try to find matching interface. Else
+ * (index == 0 && no address) do a route lookup. If that fails for a modern
+ * MCAST_JOIN_GROUP return failure, for legacy IP_ADD_MEMBERSHIP find first
+ * multicast capable interface.
*/
static struct ifnet *
-inp_lookup_mcast_ifp(const struct inpcb *inp,
- const struct sockaddr_in *gsin, const struct in_addr ina)
+inp_lookup_mcast_ifp(const struct inpcb *inp, const struct in_addr maddr,
+const struct in_addr *ina, const u_int index)
{
struct ifnet *ifp;
struct nhop_object *nh;
NET_EPOCH_ASSERT();
- KASSERT(inp != NULL, ("%s: inp must not be NULL", __func__));
- KASSERT(gsin->sin_family == AF_INET, ("%s: not AF_INET", __func__));
- KASSERT(IN_MULTICAST(ntohl(gsin->sin_addr.s_addr)),
- ("%s: not multicast", __func__));
- ifp = NULL;
- if (!in_nullhost(ina)) {
- INADDR_TO_IFP(ina, ifp);
+ if (index != 0)
+ return (ifnet_byindex_ref(index));
+
+ if (ina != NULL && !in_nullhost(*ina)) {
+ INADDR_TO_IFP(*ina, ifp);
if (ifp != NULL)
if_ref(ifp);
- } else {
- nh = fib4_lookup(inp->inp_inc.inc_fibnum, gsin->sin_addr, 0, NHR_NONE, 0);
- if (nh != NULL) {
- ifp = nh->nh_ifp;
- if_ref(ifp);
- } else {
- struct in_ifaddr *ia;
- struct ifnet *mifp;
-
- mifp = NULL;
- CK_STAILQ_FOREACH(ia, &V_in_ifaddrhead, ia_link) {
- mifp = ia->ia_ifp;
- if (!(mifp->if_flags & IFF_LOOPBACK) &&
- (mifp->if_flags & IFF_MULTICAST)) {
- ifp = mifp;
- if_ref(ifp);
- break;
- }
+ return (ifp);
+ }
+
+ nh = fib4_lookup(inp->inp_inc.inc_fibnum, maddr, 0, NHR_NONE, 0);
+ if (nh != NULL) {
+ ifp = nh->nh_ifp;
+ if_ref(ifp);
+ return (ifp);
+ }
+
+ if (ina != NULL) {
+ struct in_ifaddr *ia;
+
+ CK_STAILQ_FOREACH(ia, &V_in_ifaddrhead, ia_link) {
+ if (!(ia->ia_ifp->if_flags & IFF_LOOPBACK) &&
+ (ia->ia_ifp->if_flags & IFF_MULTICAST)) {
+ ifp = ia->ia_ifp;
+ if_ref(ifp);
+ return (ifp);
}
}
}
- return (ifp);
+ return (NULL);
}
/*
@@ -1926,13 +1909,13 @@ inp_join_group(struct inpcb *inp, struct sockopt *sopt)
switch (sopt->sopt_name) {
case IP_ADD_MEMBERSHIP: {
struct ip_mreqn mreqn;
+ bool mreq;
- if (sopt->sopt_valsize == sizeof(struct ip_mreqn))
- error = sooptcopyin(sopt, &mreqn,
- sizeof(struct ip_mreqn), sizeof(struct ip_mreqn));
- else
- error = sooptcopyin(sopt, &mreqn,
- sizeof(struct ip_mreq), sizeof(struct ip_mreq));
+ mreq = (sopt->sopt_valsize != sizeof(struct ip_mreqn));
+
+ error = sooptcopyin(sopt, &mreqn,
+ mreq ? sizeof(struct ip_mreq) : sizeof(struct ip_mreqn),
+ mreq ? sizeof(struct ip_mreq) : sizeof(struct ip_mreqn));
if (error)
return (error);
@@ -1943,12 +1926,9 @@ inp_join_group(struct inpcb *inp, struct sockopt *sopt)
return (EINVAL);
NET_EPOCH_ENTER(et);
- if (sopt->sopt_valsize == sizeof(struct ip_mreqn) &&
- mreqn.imr_ifindex != 0)
- ifp = ifnet_byindex_ref(mreqn.imr_ifindex);
- else
- ifp = inp_lookup_mcast_ifp(inp, &gsa->sin,
- mreqn.imr_address);
+ ifp = inp_lookup_mcast_ifp(inp, mreqn.imr_multiaddr,
+ mreq ? &mreqn.imr_address : NULL,
+ mreq ? 0 : mreqn.imr_ifindex);
NET_EPOCH_EXIT(et);
break;
}
@@ -1971,8 +1951,8 @@ inp_join_group(struct inpcb *inp, struct sockopt *sopt)
ssa->sin.sin_addr = mreqs.imr_sourceaddr;
NET_EPOCH_ENTER(et);
- ifp = inp_lookup_mcast_ifp(inp, &gsa->sin,
- mreqs.imr_interface);
+ ifp = inp_lookup_mcast_ifp(inp, mreqs.imr_multiaddr,
+ &mreqs.imr_interface, 0);
NET_EPOCH_EXIT(et);
CTR3(KTR_IGMPV3, "%s: imr_interface = 0x%08x, ifp = %p",
__func__, ntohl(mreqs.imr_interface.s_addr), ifp);
@@ -2013,7 +1993,8 @@ inp_join_group(struct inpcb *inp, struct sockopt *sopt)
return (EINVAL);
NET_EPOCH_ENTER(et);
- ifp = ifnet_byindex_ref(gsr.gsr_interface);
+ ifp = inp_lookup_mcast_ifp(inp, gsa->sin.sin_addr, NULL,
+ gsr.gsr_interface);
NET_EPOCH_EXIT(et);
if (ifp == NULL)
return (EADDRNOTAVAIL);
diff --git a/sys/netinet/libalias/alias_db.c b/sys/netinet/libalias/alias_db.c
index c143d74a2f45..41f0a328daec 100644
--- a/sys/netinet/libalias/alias_db.c
+++ b/sys/netinet/libalias/alias_db.c
@@ -2181,7 +2181,7 @@ LibAliasInit(struct libalias *la)
#undef malloc /* XXX: ugly */
la = malloc(sizeof *la, M_ALIAS, M_WAITOK | M_ZERO);
#else
- la = calloc(sizeof *la, 1);
+ la = calloc(1, sizeof *la);
if (la == NULL)
return (la);
#endif
diff --git a/sys/netinet/siftr.c b/sys/netinet/siftr.c
index 374b5595fcbc..5b89ca026e85 100644
--- a/sys/netinet/siftr.c
+++ b/sys/netinet/siftr.c
@@ -519,7 +519,7 @@ siftr_pkt_manager_thread(void *arg)
if (log_buf != NULL) {
alq_post_flags(siftr_alq, log_buf, 0);
}
- for (;cnt > 0; cnt--) {
+ for (; cnt > 0; cnt--) {
pkt_node = STAILQ_FIRST(&tmp_pkt_queue);
STAILQ_REMOVE_HEAD(&tmp_pkt_queue, nodes);
free(pkt_node, M_SIFTR_PKTNODE);
diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c
index 63bbe4bba11b..c54459bb5f01 100644
--- a/sys/netinet/tcp_hpts.c
+++ b/sys/netinet/tcp_hpts.c
@@ -39,15 +39,14 @@
* First, and probably the main thing its used by Rack and BBR, it can
* be used to call tcp_output() of a transport stack at some time in the future.
* The normal way this is done is that tcp_output() of the stack schedules
- * itself to be called again by calling tcp_hpts_insert(tcpcb, slot). The
- * slot is the time from now that the stack wants to be called but it
- * must be converted to tcp_hpts's notion of slot. This is done with
- * one of the macros HPTS_MS_TO_SLOTS or HPTS_USEC_TO_SLOTS. So a typical
+ * itself to be called again by calling tcp_hpts_insert(tcpcb, usecs). The
+ * usecs is the time from now that the stack wants to be called and is
+ * passing time directly in microseconds. So a typical
* call from the tcp_output() routine might look like:
*
- * tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(550));
+ * tcp_hpts_insert(tp, 550, NULL);
*
- * The above would schedule tcp_output() to be called in 550 useconds.
+ * The above would schedule tcp_output() to be called in 550 microseconds.
* Note that if using this mechanism the stack will want to add near
* its top a check to prevent unwanted calls (from user land or the
* arrival of incoming ack's). So it would add something like:
@@ -149,27 +148,44 @@
#include <netinet/tcpip.h>
#include <netinet/cc/cc.h>
#include <netinet/tcp_hpts.h>
+#include <netinet/tcp_hpts_internal.h>
#include <netinet/tcp_log_buf.h>
#ifdef tcp_offload
#include <netinet/tcp_offload.h>
#endif
-/*
- * The hpts uses a 102400 wheel. The wheel
- * defines the time in 10 usec increments (102400 x 10).
- * This gives a range of 10usec - 1024ms to place
- * an entry within. If the user requests more than
- * 1.024 second, a remaineder is attached and the hpts
- * when seeing the remainder will re-insert the
- * inpcb forward in time from where it is until
- * the remainder is zero.
- */
+/* Global instance for TCP HPTS */
+struct tcp_hptsi *tcp_hptsi_pace;
+
+/* Default function table for production use. */
+const struct tcp_hptsi_funcs tcp_hptsi_default_funcs = {
+ .microuptime = microuptime,
+ .swi_add = swi_add,
+ .swi_remove = swi_remove,
+ .swi_sched = swi_sched,
+ .intr_event_bind = intr_event_bind,
+ .intr_event_bind_ithread_cpuset = intr_event_bind_ithread_cpuset,
+ .callout_init = callout_init,
+ .callout_reset_sbt_on = callout_reset_sbt_on,
+ ._callout_stop_safe = _callout_stop_safe,
+};
-#define NUM_OF_HPTSI_SLOTS 102400
+#ifdef TCP_HPTS_KTEST
+#define microuptime pace->funcs->microuptime
+#define swi_add pace->funcs->swi_add
+#define swi_remove pace->funcs->swi_remove
+#define swi_sched pace->funcs->swi_sched
+#define intr_event_bind pace->funcs->intr_event_bind
+#define intr_event_bind_ithread_cpuset pace->funcs->intr_event_bind_ithread_cpuset
+#define callout_init pace->funcs->callout_init
+#define callout_reset_sbt_on pace->funcs->callout_reset_sbt_on
+#define _callout_stop_safe pace->funcs->_callout_stop_safe
+#endif
-/* The number of connections after which the dynamic sleep logic kicks in. */
-#define DEFAULT_CONNECTION_THRESHOLD 100
+static MALLOC_DEFINE(M_TCPHPTS, "tcp_hpts", "TCP hpts");
+
+static void tcp_hpts_thread(void *ctx);
/*
* When using the hpts, a TCP stack must make sure
@@ -204,87 +220,22 @@
*
* When we are in the "new" mode i.e. conn_cnt > conn_cnt_thresh
* then we do a dynamic adjustment on the time we sleep.
- * Our threshold is if the lateness of the first client served (in ticks) is
+ * Our threshold is if the lateness of the first client served (in slots) is
* greater than or equal too slots_indicate_more_sleep (10ms
- * or 10000 ticks). If we were that late, the actual sleep time
- * is adjusted down by 50%. If the ticks_ran is less than
- * slots_indicate_more_sleep (100 ticks or 1000usecs).
+ * or 10000 slots). If we were that late, the actual sleep time
+ * is adjusted down by 50%. If the slots_ran is less than
+ * slots_indicate_more_sleep (100 slots or 1000usecs).
*
*/
-/* Each hpts has its own p_mtx which is used for locking */
-#define HPTS_MTX_ASSERT(hpts) mtx_assert(&(hpts)->p_mtx, MA_OWNED)
-#define HPTS_LOCK(hpts) mtx_lock(&(hpts)->p_mtx)
-#define HPTS_TRYLOCK(hpts) mtx_trylock(&(hpts)->p_mtx)
-#define HPTS_UNLOCK(hpts) mtx_unlock(&(hpts)->p_mtx)
-struct tcp_hpts_entry {
- /* Cache line 0x00 */
- struct mtx p_mtx; /* Mutex for hpts */
- struct timeval p_mysleep; /* Our min sleep time */
- uint64_t syscall_cnt;
- uint64_t sleeping; /* What the actual sleep was (if sleeping) */
- uint16_t p_hpts_active; /* Flag that says hpts is awake */
- uint8_t p_wheel_complete; /* have we completed the wheel arc walk? */
- uint32_t p_curtick; /* Tick in 10 us the hpts is going to */
- uint32_t p_runningslot; /* Current tick we are at if we are running */
- uint32_t p_prev_slot; /* Previous slot we were on */
- uint32_t p_cur_slot; /* Current slot in wheel hpts is draining */
- uint32_t p_nxt_slot; /* The next slot outside the current range of
- * slots that the hpts is running on. */
- int32_t p_on_queue_cnt; /* Count on queue in this hpts */
- uint32_t p_lasttick; /* Last tick before the current one */
- uint8_t p_direct_wake :1, /* boolean */
- p_on_min_sleep:1, /* boolean */
- p_hpts_wake_scheduled:1, /* boolean */
- hit_callout_thresh:1,
- p_avail:4;
- uint8_t p_fill[3]; /* Fill to 32 bits */
- /* Cache line 0x40 */
- struct hptsh {
- TAILQ_HEAD(, tcpcb) head;
- uint32_t count;
- uint32_t gencnt;
- } *p_hptss; /* Hptsi wheel */
- uint32_t p_hpts_sleep_time; /* Current sleep interval having a max
- * of 255ms */
- uint32_t overidden_sleep; /* what was overrided by min-sleep for logging */
- uint32_t saved_lasttick; /* for logging */
- uint32_t saved_curtick; /* for logging */
- uint32_t saved_curslot; /* for logging */
- uint32_t saved_prev_slot; /* for logging */
- uint32_t p_delayed_by; /* How much were we delayed by */
- /* Cache line 0x80 */
- struct sysctl_ctx_list hpts_ctx;
- struct sysctl_oid *hpts_root;
- struct intr_event *ie;
- void *ie_cookie;
- uint16_t p_num; /* The hpts number one per cpu */
- uint16_t p_cpu; /* The hpts CPU */
- /* There is extra space in here */
- /* Cache line 0x100 */
- struct callout co __aligned(CACHE_LINE_SIZE);
-} __aligned(CACHE_LINE_SIZE);
-
-static struct tcp_hptsi {
- struct cpu_group **grps;
- struct tcp_hpts_entry **rp_ent; /* Array of hptss */
- uint32_t *cts_last_ran;
- uint32_t grp_cnt;
- uint32_t rp_num_hptss; /* Number of hpts threads */
-} tcp_pace;
-
-static MALLOC_DEFINE(M_TCPHPTS, "tcp_hpts", "TCP hpts");
#ifdef RSS
-static int tcp_bind_threads = 1;
+int tcp_bind_threads = 1;
#else
-static int tcp_bind_threads = 2;
+int tcp_bind_threads = 2;
#endif
static int tcp_use_irq_cpu = 0;
static int hpts_does_tp_logging = 0;
-
-static int32_t tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout);
-static void tcp_hpts_thread(void *ctx);
-
+static int32_t tcp_hpts_precision = 120;
int32_t tcp_min_hptsi_time = DEFAULT_MIN_SLEEP;
static int conn_cnt_thresh = DEFAULT_CONNECTION_THRESHOLD;
static int32_t dynamic_min_sleep = DYNAMIC_MIN_SLEEP;
@@ -295,23 +246,6 @@ SYSCTL_NODE(_net_inet_tcp, OID_AUTO, hpts, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
SYSCTL_NODE(_net_inet_tcp_hpts, OID_AUTO, stats, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
"TCP Hpts statistics");
-#define timersub(tvp, uvp, vvp) \
- do { \
- (vvp)->tv_sec = (tvp)->tv_sec - (uvp)->tv_sec; \
- (vvp)->tv_usec = (tvp)->tv_usec - (uvp)->tv_usec; \
- if ((vvp)->tv_usec < 0) { \
- (vvp)->tv_sec--; \
- (vvp)->tv_usec += 1000000; \
- } \
- } while (0)
-
-static int32_t tcp_hpts_precision = 120;
-
-static struct hpts_domain_info {
- int count;
- int cpu[MAXCPU];
-} hpts_domains[MAXMEMDOM];
-
counter_u64_t hpts_hopelessly_behind;
SYSCTL_COUNTER_U64(_net_inet_tcp_hpts_stats, OID_AUTO, hopeless, CTLFLAG_RD,
@@ -459,14 +393,14 @@ SYSCTL_INT(_net_inet_tcp_hpts, OID_AUTO, nowake_over_thresh, CTLFLAG_RW,
&tcp_hpts_no_wake_over_thresh, 0,
"When we are over the threshold on the pacer do we prohibit wakeups?");
-static uint16_t
-hpts_random_cpu(void)
+uint16_t
+tcp_hptsi_random_cpu(struct tcp_hptsi *pace)
{
uint16_t cpuid;
uint32_t ran;
ran = arc4random();
- cpuid = (((ran & 0xffff) % mp_ncpus) % tcp_pace.rp_num_hptss);
+ cpuid = (((ran & 0xffff) % mp_ncpus) % pace->rp_num_hptss);
return (cpuid);
}
@@ -487,13 +421,11 @@ tcp_hpts_log(struct tcp_hpts_entry *hpts, struct tcpcb *tp, struct timeval *tv,
log.u_bbr.flex2 = hpts->p_cur_slot;
log.u_bbr.flex3 = hpts->p_prev_slot;
log.u_bbr.flex4 = idx;
- log.u_bbr.flex5 = hpts->p_curtick;
log.u_bbr.flex6 = hpts->p_on_queue_cnt;
log.u_bbr.flex7 = hpts->p_cpu;
log.u_bbr.flex8 = (uint8_t)from_callout;
log.u_bbr.inflight = slots_to_run;
log.u_bbr.applimited = hpts->overidden_sleep;
- log.u_bbr.delivered = hpts->saved_curtick;
log.u_bbr.timeStamp = tcp_tv_to_usec(tv);
log.u_bbr.epoch = hpts->saved_curslot;
log.u_bbr.lt_epoch = hpts->saved_prev_slot;
@@ -510,11 +442,67 @@ tcp_hpts_log(struct tcp_hpts_entry *hpts, struct tcpcb *tp, struct timeval *tv,
}
}
+/*
+ * Timeout handler for the HPTS sleep callout. It immediately schedules the SWI
+ * for the HPTS entry to run.
+ */
static void
-tcp_wakehpts(struct tcp_hpts_entry *hpts)
+tcp_hpts_sleep_timeout(void *arg)
{
+#ifdef TCP_HPTS_KTEST
+ struct tcp_hptsi *pace;
+#endif
+ struct tcp_hpts_entry *hpts;
+
+ hpts = (struct tcp_hpts_entry *)arg;
+#ifdef TCP_HPTS_KTEST
+ pace = hpts->p_hptsi;
+#endif
+ swi_sched(hpts->ie_cookie, 0);
+}
+
+/*
+ * Reset the HPTS callout timer with the provided timeval. Returns the results
+ * of the callout_reset_sbt_on() function.
+ */
+static int
+tcp_hpts_sleep(struct tcp_hpts_entry *hpts, struct timeval *tv)
+{
+#ifdef TCP_HPTS_KTEST
+ struct tcp_hptsi *pace;
+#endif
+ sbintime_t sb;
+
+#ifdef TCP_HPTS_KTEST
+ pace = hpts->p_hptsi;
+#endif
+
+ /* Store off to make visible the actual sleep time */
+ hpts->sleeping = tv->tv_usec;
+
+ sb = tvtosbt(*tv);
+ return (callout_reset_sbt_on(
+ &hpts->co, sb, 0, tcp_hpts_sleep_timeout, hpts, hpts->p_cpu,
+ (C_DIRECT_EXEC | C_PREL(tcp_hpts_precision))));
+}
+
+/*
+ * Schedules the SWI for the HTPS entry to run, if not already scheduled or
+ * running.
+ */
+void
+tcp_hpts_wake(struct tcp_hpts_entry *hpts)
+{
+#ifdef TCP_HPTS_KTEST
+ struct tcp_hptsi *pace;
+#endif
+
HPTS_MTX_ASSERT(hpts);
+#ifdef TCP_HPTS_KTEST
+ pace = hpts->p_hptsi;
+#endif
+
if (tcp_hpts_no_wake_over_thresh && (hpts->p_on_queue_cnt >= conn_cnt_thresh)) {
hpts->p_direct_wake = 0;
return;
@@ -526,15 +514,6 @@ tcp_wakehpts(struct tcp_hpts_entry *hpts)
}
static void
-hpts_timeout_swi(void *arg)
-{
- struct tcp_hpts_entry *hpts;
-
- hpts = (struct tcp_hpts_entry *)arg;
- swi_sched(hpts->ie_cookie, 0);
-}
-
-static void
tcp_hpts_insert_internal(struct tcpcb *tp, struct tcp_hpts_entry *hpts)
{
struct inpcb *inp = tptoinpcb(tp);
@@ -562,13 +541,13 @@ tcp_hpts_insert_internal(struct tcpcb *tp, struct tcp_hpts_entry *hpts)
}
static struct tcp_hpts_entry *
-tcp_hpts_lock(struct tcpcb *tp)
+tcp_hpts_lock(struct tcp_hptsi *pace, struct tcpcb *tp)
{
struct tcp_hpts_entry *hpts;
INP_LOCK_ASSERT(tptoinpcb(tp));
- hpts = tcp_pace.rp_ent[tp->t_hpts_cpu];
+ hpts = pace->rp_ent[tp->t_hpts_cpu];
HPTS_LOCK(hpts);
return (hpts);
@@ -595,11 +574,10 @@ tcp_hpts_release(struct tcpcb *tp)
* and has never received a first packet.
*/
void
-tcp_hpts_init(struct tcpcb *tp)
+__tcp_hpts_init(struct tcp_hptsi *pace, struct tcpcb *tp)
{
-
if (__predict_true(tp->t_hpts_cpu == HPTS_CPU_NONE)) {
- tp->t_hpts_cpu = hpts_random_cpu();
+ tp->t_hpts_cpu = tcp_hptsi_random_cpu(pace);
MPASS(!(tp->t_flags2 & TF2_HPTS_CPU_SET));
}
}
@@ -611,14 +589,14 @@ tcp_hpts_init(struct tcpcb *tp)
* INP lock and then get the hpts lock.
*/
void
-tcp_hpts_remove(struct tcpcb *tp)
+__tcp_hpts_remove(struct tcp_hptsi *pace, struct tcpcb *tp)
{
struct tcp_hpts_entry *hpts;
struct hptsh *hptsh;
INP_WLOCK_ASSERT(tptoinpcb(tp));
- hpts = tcp_hpts_lock(tp);
+ hpts = tcp_hpts_lock(pace, tp);
if (tp->t_in_hpts == IHPTS_ONQUEUE) {
hptsh = &hpts->p_hptss[tp->t_hpts_slot];
tp->t_hpts_request = 0;
@@ -662,23 +640,19 @@ hpts_slot(uint32_t wheel_slot, uint32_t plus)
{
/*
* Given a slot on the wheel, what slot
- * is that plus ticks out?
+ * is that plus slots out?
*/
- KASSERT(wheel_slot < NUM_OF_HPTSI_SLOTS, ("Invalid tick %u not on wheel", wheel_slot));
+ KASSERT(wheel_slot < NUM_OF_HPTSI_SLOTS, ("Invalid slot %u not on wheel", wheel_slot));
return ((wheel_slot + plus) % NUM_OF_HPTSI_SLOTS);
}
static inline int
-tick_to_wheel(uint32_t cts_in_wticks)
+cts_to_wheel(uint32_t cts)
{
/*
- * Given a timestamp in ticks (so by
- * default to get it to a real time one
- * would multiply by 10.. i.e the number
- * of ticks in a slot) map it to our limited
- * space wheel.
+ * Given a timestamp in useconds map it to our limited space wheel.
*/
- return (cts_in_wticks % NUM_OF_HPTSI_SLOTS);
+ return ((cts / HPTS_USECS_PER_SLOT) % NUM_OF_HPTSI_SLOTS);
}
static inline int
@@ -721,7 +695,7 @@ max_slots_available(struct tcp_hpts_entry *hpts, uint32_t wheel_slot, uint32_t *
if ((hpts->p_hpts_active == 1) &&
(hpts->p_wheel_complete == 0)) {
end_slot = hpts->p_runningslot;
- /* Back up one tick */
+ /* Back up one slot */
if (end_slot == 0)
end_slot = NUM_OF_HPTSI_SLOTS - 1;
else
@@ -734,7 +708,7 @@ max_slots_available(struct tcp_hpts_entry *hpts, uint32_t wheel_slot, uint32_t *
* not active, or we have
* completed the pass over
* the wheel, we can use the
- * prev tick and subtract one from it. This puts us
+ * prev slot and subtract one from it. This puts us
* as far out as possible on the wheel.
*/
end_slot = hpts->p_prev_slot;
@@ -747,7 +721,7 @@ max_slots_available(struct tcp_hpts_entry *hpts, uint32_t wheel_slot, uint32_t *
/*
* Now we have close to the full wheel left minus the
* time it has been since the pacer went to sleep. Note
- * that wheel_tick, passed in, should be the current time
+ * that wheel_slot, passed in, should be the current time
* from the perspective of the caller, mapped to the wheel.
*/
if (hpts->p_prev_slot != wheel_slot)
@@ -824,7 +798,7 @@ max_slots_available(struct tcp_hpts_entry *hpts, uint32_t wheel_slot, uint32_t *
#ifdef INVARIANTS
static void
check_if_slot_would_be_wrong(struct tcp_hpts_entry *hpts, struct tcpcb *tp,
- uint32_t hptsslot, int line)
+ uint32_t hptsslot)
{
/*
* Sanity checks for the pacer with invariants
@@ -855,12 +829,13 @@ check_if_slot_would_be_wrong(struct tcp_hpts_entry *hpts, struct tcpcb *tp,
}
#endif
-uint32_t
-tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_diag *diag)
+void
+__tcp_hpts_insert(struct tcp_hptsi *pace, struct tcpcb *tp, uint32_t usecs,
+ struct hpts_diag *diag)
{
struct tcp_hpts_entry *hpts;
struct timeval tv;
- uint32_t slot_on, wheel_cts, last_slot, need_new_to = 0;
+ uint32_t slot, wheel_cts, last_slot, need_new_to = 0;
int32_t wheel_slot, maxslots;
bool need_wakeup = false;
@@ -869,11 +844,13 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_
MPASS(!(tp->t_in_hpts == IHPTS_ONQUEUE));
/*
+ * Convert microseconds to slots for internal use.
* We now return the next-slot the hpts will be on, beyond its
* current run (if up) or where it was when it stopped if it is
* sleeping.
*/
- hpts = tcp_hpts_lock(tp);
+ slot = HPTS_USEC_TO_SLOTS(usecs);
+ hpts = tcp_hpts_lock(pace, tp);
microuptime(&tv);
if (diag) {
memset(diag, 0, sizeof(struct hpts_diag));
@@ -882,8 +859,6 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_
diag->p_runningslot = hpts->p_runningslot;
diag->p_nxt_slot = hpts->p_nxt_slot;
diag->p_cur_slot = hpts->p_cur_slot;
- diag->p_curtick = hpts->p_curtick;
- diag->p_lasttick = hpts->p_lasttick;
diag->slot_req = slot;
diag->p_on_min_sleep = hpts->p_on_min_sleep;
diag->hpts_sleep_time = hpts->p_hpts_sleep_time;
@@ -910,17 +885,15 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_
* timeout is not 1.
*/
hpts->p_direct_wake = 1;
- tcp_wakehpts(hpts);
+ tcp_hpts_wake(hpts);
}
- slot_on = hpts->p_nxt_slot;
HPTS_UNLOCK(hpts);
- return (slot_on);
+ return;
}
- /* Get the current time relative to the wheel */
- wheel_cts = tcp_tv_to_hpts_slot(&tv);
- /* Map it onto the wheel */
- wheel_slot = tick_to_wheel(wheel_cts);
+ /* Get the current time stamp and map it onto the wheel */
+ wheel_cts = tcp_tv_to_usec(&tv);
+ wheel_slot = cts_to_wheel(wheel_cts);
/* Now what's the max we can place it at? */
maxslots = max_slots_available(hpts, wheel_slot, &last_slot);
if (diag) {
@@ -952,11 +925,11 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_
tp->t_hpts_slot = last_slot;
}
if (diag) {
- diag->slot_remaining = tp->t_hpts_request;
+ diag->time_remaining = tp->t_hpts_request;
diag->inp_hptsslot = tp->t_hpts_slot;
}
#ifdef INVARIANTS
- check_if_slot_would_be_wrong(hpts, tp, tp->t_hpts_slot, line);
+ check_if_slot_would_be_wrong(hpts, tp, tp->t_hpts_slot);
#endif
if (__predict_true(tp->t_in_hpts != IHPTS_MOVING))
tcp_hpts_insert_internal(tp, hpts);
@@ -995,12 +968,12 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_
}
/*
* Now how far is the hpts sleeping to? if active is 1, its
- * up and ticking we do nothing, otherwise we may need to
+ * up and running we do nothing, otherwise we may need to
* reschedule its callout if need_new_to is set from above.
*/
if (need_wakeup) {
hpts->p_direct_wake = 1;
- tcp_wakehpts(hpts);
+ tcp_hpts_wake(hpts);
if (diag) {
diag->need_new_to = 0;
diag->co_ret = 0xffff0000;
@@ -1008,7 +981,6 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_
} else if (need_new_to) {
int32_t co_ret;
struct timeval tv;
- sbintime_t sb;
tv.tv_sec = 0;
tv.tv_usec = 0;
@@ -1016,24 +988,18 @@ tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line, struct hpts_
tv.tv_sec++;
need_new_to -= HPTS_USEC_IN_SEC;
}
- tv.tv_usec = need_new_to;
- sb = tvtosbt(tv);
- co_ret = callout_reset_sbt_on(&hpts->co, sb, 0,
- hpts_timeout_swi, hpts, hpts->p_cpu,
- (C_DIRECT_EXEC | C_PREL(tcp_hpts_precision)));
+ tv.tv_usec = need_new_to; /* XXX: Why is this sleeping over the max? */
+ co_ret = tcp_hpts_sleep(hpts, &tv);
if (diag) {
diag->need_new_to = need_new_to;
diag->co_ret = co_ret;
}
}
- slot_on = hpts->p_nxt_slot;
HPTS_UNLOCK(hpts);
-
- return (slot_on);
}
static uint16_t
-hpts_cpuid(struct tcpcb *tp, int *failed)
+hpts_cpuid(struct tcp_hptsi *pace, struct tcpcb *tp, int *failed)
{
struct inpcb *inp = tptoinpcb(tp);
u_int cpuid;
@@ -1060,7 +1026,7 @@ hpts_cpuid(struct tcpcb *tp, int *failed)
#ifdef RSS
cpuid = rss_hash2cpuid(inp->inp_flowid, inp->inp_flowtype);
if (cpuid == NETISR_CPUID_NONE)
- return (hpts_random_cpu());
+ return (tcp_hptsi_random_cpu(pace));
else
return (cpuid);
#endif
@@ -1071,7 +1037,7 @@ hpts_cpuid(struct tcpcb *tp, int *failed)
*/
if (inp->inp_flowtype == M_HASHTYPE_NONE) {
counter_u64_add(cpu_uses_random, 1);
- return (hpts_random_cpu());
+ return (tcp_hptsi_random_cpu(pace));
}
/*
* Hash to a thread based on the flowid. If we are using numa,
@@ -1086,7 +1052,7 @@ hpts_cpuid(struct tcpcb *tp, int *failed)
#ifdef NUMA
} else {
/* Hash into the cpu's that use that domain */
- di = &hpts_domains[inp->inp_numa_domain];
+ di = &pace->domains[inp->inp_numa_domain];
cpuid = di->cpu[inp->inp_flowid % di->count];
}
#endif
@@ -1118,9 +1084,16 @@ tcp_hpts_set_max_sleep(struct tcp_hpts_entry *hpts, int wrap_loop_cnt)
}
}
-static int32_t
+static bool
+tcp_hpts_different_slots(uint32_t cts, uint32_t cts_last_run)
+{
+ return ((cts / HPTS_USECS_PER_SLOT) != (cts_last_run / HPTS_USECS_PER_SLOT));
+}
+
+int32_t
tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout)
{
+ struct tcp_hptsi *pace;
struct tcpcb *tp;
struct timeval tv;
int32_t slots_to_run, i, error;
@@ -1130,6 +1103,7 @@ tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout)
int32_t wrap_loop_cnt = 0;
int32_t slot_pos_of_endpoint = 0;
int32_t orig_exit_slot;
+ uint32_t cts, cts_last_run;
bool completed_measure, seen_endpoint;
completed_measure = false;
@@ -1137,32 +1111,34 @@ tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout)
HPTS_MTX_ASSERT(hpts);
NET_EPOCH_ASSERT();
+
+ pace = hpts->p_hptsi;
+ MPASS(pace != NULL);
+
/* record previous info for any logging */
- hpts->saved_lasttick = hpts->p_lasttick;
- hpts->saved_curtick = hpts->p_curtick;
hpts->saved_curslot = hpts->p_cur_slot;
hpts->saved_prev_slot = hpts->p_prev_slot;
- hpts->p_lasttick = hpts->p_curtick;
- hpts->p_curtick = tcp_gethptstick(&tv);
- tcp_pace.cts_last_ran[hpts->p_num] = tcp_tv_to_usec(&tv);
- orig_exit_slot = hpts->p_cur_slot = tick_to_wheel(hpts->p_curtick);
+ microuptime(&tv);
+ cts_last_run = pace->cts_last_ran[hpts->p_cpu];
+ pace->cts_last_ran[hpts->p_cpu] = cts = tcp_tv_to_usec(&tv);
+
+ orig_exit_slot = hpts->p_cur_slot = cts_to_wheel(cts);
if ((hpts->p_on_queue_cnt == 0) ||
- (hpts->p_lasttick == hpts->p_curtick)) {
+ !tcp_hpts_different_slots(cts, cts_last_run)) {
/*
- * No time has yet passed,
- * or nothing to do.
+ * Not enough time has yet passed or nothing to do.
*/
hpts->p_prev_slot = hpts->p_cur_slot;
- hpts->p_lasttick = hpts->p_curtick;
goto no_run;
}
again:
hpts->p_wheel_complete = 0;
HPTS_MTX_ASSERT(hpts);
slots_to_run = hpts_slots_diff(hpts->p_prev_slot, hpts->p_cur_slot);
- if (((hpts->p_curtick - hpts->p_lasttick) > (NUM_OF_HPTSI_SLOTS - 1)) &&
- (hpts->p_on_queue_cnt != 0)) {
+ if ((hpts->p_on_queue_cnt != 0) &&
+ ((cts - cts_last_run) >
+ ((NUM_OF_HPTSI_SLOTS-1) * HPTS_USECS_PER_SLOT))) {
/*
* Wheel wrap is occuring, basically we
* are behind and the distance between
@@ -1238,7 +1214,7 @@ again:
uint32_t runningslot;
/*
- * Calculate our delay, if there are no extra ticks there
+ * Calculate our delay, if there are no extra slots there
* was not any (i.e. if slots_to_run == 1, no delay).
*/
hpts->p_delayed_by = (slots_to_run - (i + 1)) *
@@ -1391,7 +1367,7 @@ again:
* gets added to the hpts (not this one)
* :-)
*/
- tcp_set_hpts(tp);
+ __tcp_set_hpts(pace, tp);
}
CURVNET_SET(inp->inp_vnet);
/* Lets do any logging that we might want to */
@@ -1450,10 +1426,12 @@ no_one:
hpts->p_delayed_by = 0;
/*
* Check to see if we took an excess amount of time and need to run
- * more ticks (if we did not hit eno-bufs).
+ * more slots (if we did not hit eno-bufs).
*/
hpts->p_prev_slot = hpts->p_cur_slot;
- hpts->p_lasttick = hpts->p_curtick;
+ microuptime(&tv);
+ cts_last_run = cts;
+ cts = tcp_tv_to_usec(&tv);
if (!from_callout || (loop_cnt > max_pacer_loops)) {
/*
* Something is serious slow we have
@@ -1465,7 +1443,7 @@ no_one:
* can never catch up :(
*
* We will just lie to this thread
- * and let it thing p_curtick is
+ * and let it think p_curslot is
* correct. When it next awakens
* it will find itself further behind.
*/
@@ -1473,20 +1451,19 @@ no_one:
counter_u64_add(hpts_hopelessly_behind, 1);
goto no_run;
}
- hpts->p_curtick = tcp_gethptstick(&tv);
- hpts->p_cur_slot = tick_to_wheel(hpts->p_curtick);
+
+ hpts->p_cur_slot = cts_to_wheel(cts);
if (!seen_endpoint) {
/* We saw no endpoint but we may be looping */
orig_exit_slot = hpts->p_cur_slot;
}
- if ((wrap_loop_cnt < 2) &&
- (hpts->p_lasttick != hpts->p_curtick)) {
+ if ((wrap_loop_cnt < 2) && tcp_hpts_different_slots(cts, cts_last_run)) {
counter_u64_add(hpts_loops, 1);
loop_cnt++;
goto again;
}
no_run:
- tcp_pace.cts_last_ran[hpts->p_num] = tcp_tv_to_usec(&tv);
+ pace->cts_last_ran[hpts->p_cpu] = cts;
/*
* Set flag to tell that we are done for
* any slot input that happens during
@@ -1494,25 +1471,36 @@ no_run:
*/
hpts->p_wheel_complete = 1;
/*
- * Now did we spend too long running input and need to run more ticks?
- * Note that if wrap_loop_cnt < 2 then we should have the conditions
- * in the KASSERT's true. But if the wheel is behind i.e. wrap_loop_cnt
- * is greater than 2, then the condtion most likely are *not* true.
- * Also if we are called not from the callout, we don't run the wheel
- * multiple times so the slots may not align either.
- */
- KASSERT(((hpts->p_prev_slot == hpts->p_cur_slot) ||
- (wrap_loop_cnt >= 2) || !from_callout),
- ("H:%p p_prev_slot:%u not equal to p_cur_slot:%u", hpts,
- hpts->p_prev_slot, hpts->p_cur_slot));
- KASSERT(((hpts->p_lasttick == hpts->p_curtick)
- || (wrap_loop_cnt >= 2) || !from_callout),
- ("H:%p p_lasttick:%u not equal to p_curtick:%u", hpts,
- hpts->p_lasttick, hpts->p_curtick));
- if (from_callout && (hpts->p_lasttick != hpts->p_curtick)) {
- hpts->p_curtick = tcp_gethptstick(&tv);
+ * If enough time has elapsed that we should be processing the next
+ * slot(s), then we should have kept running and not marked the wheel as
+ * complete.
+ *
+ * But there are several other conditions where we would have stopped
+ * processing, so the prev/cur slots and cts variables won't match.
+ * These conditions are:
+ *
+ * - Calls not from callouts don't run multiple times
+ * - The wheel is empty
+ * - We've processed more than max_pacer_loops times
+ * - We've wrapped more than 2 times
+ *
+ * This assert catches when the logic above has violated this design.
+ *
+ */
+ KASSERT((!from_callout || (hpts->p_on_queue_cnt == 0) ||
+ (loop_cnt > max_pacer_loops) || (wrap_loop_cnt >= 2) ||
+ ((hpts->p_prev_slot == hpts->p_cur_slot) &&
+ !tcp_hpts_different_slots(cts, cts_last_run))),
+ ("H:%p Shouldn't be done! prev_slot:%u, cur_slot:%u, "
+ "cts_last_run:%u, cts:%u, loop_cnt:%d, wrap_loop_cnt:%d",
+ hpts, hpts->p_prev_slot, hpts->p_cur_slot,
+ cts_last_run, cts, loop_cnt, wrap_loop_cnt));
+
+ if (from_callout && tcp_hpts_different_slots(cts, cts_last_run)) {
+ microuptime(&tv);
+ cts = tcp_tv_to_usec(&tv);
+ hpts->p_cur_slot = cts_to_wheel(cts);
counter_u64_add(hpts_loops, 1);
- hpts->p_cur_slot = tick_to_wheel(hpts->p_curtick);
goto again;
}
@@ -1526,16 +1514,16 @@ no_run:
}
void
-tcp_set_hpts(struct tcpcb *tp)
+__tcp_set_hpts(struct tcp_hptsi *pace, struct tcpcb *tp)
{
struct tcp_hpts_entry *hpts;
int failed;
INP_WLOCK_ASSERT(tptoinpcb(tp));
- hpts = tcp_hpts_lock(tp);
+ hpts = tcp_hpts_lock(pace, tp);
if (tp->t_in_hpts == IHPTS_NONE && !(tp->t_flags2 & TF2_HPTS_CPU_SET)) {
- tp->t_hpts_cpu = hpts_cpuid(tp, &failed);
+ tp->t_hpts_cpu = hpts_cpuid(pace, tp, &failed);
if (failed == 0)
tp->t_flags2 |= TF2_HPTS_CPU_SET;
}
@@ -1543,33 +1531,35 @@ tcp_set_hpts(struct tcpcb *tp)
}
static struct tcp_hpts_entry *
-tcp_choose_hpts_to_run(void)
+tcp_choose_hpts_to_run(struct tcp_hptsi *pace)
{
+ struct timeval tv;
int i, oldest_idx, start, end;
uint32_t cts, time_since_ran, calc;
- cts = tcp_get_usecs(NULL);
+ microuptime(&tv);
+ cts = tcp_tv_to_usec(&tv);
time_since_ran = 0;
/* Default is all one group */
start = 0;
- end = tcp_pace.rp_num_hptss;
+ end = pace->rp_num_hptss;
/*
* If we have more than one L3 group figure out which one
* this CPU is in.
*/
- if (tcp_pace.grp_cnt > 1) {
- for (i = 0; i < tcp_pace.grp_cnt; i++) {
- if (CPU_ISSET(curcpu, &tcp_pace.grps[i]->cg_mask)) {
- start = tcp_pace.grps[i]->cg_first;
- end = (tcp_pace.grps[i]->cg_last + 1);
+ if (pace->grp_cnt > 1) {
+ for (i = 0; i < pace->grp_cnt; i++) {
+ if (CPU_ISSET(curcpu, &pace->grps[i]->cg_mask)) {
+ start = pace->grps[i]->cg_first;
+ end = (pace->grps[i]->cg_last + 1);
break;
}
}
}
oldest_idx = -1;
for (i = start; i < end; i++) {
- if (TSTMP_GT(cts, tcp_pace.cts_last_ran[i]))
- calc = cts - tcp_pace.cts_last_ran[i];
+ if (TSTMP_GT(cts, pace->cts_last_ran[i]))
+ calc = cts - pace->cts_last_ran[i];
else
calc = 0;
if (calc > time_since_ran) {
@@ -1578,9 +1568,9 @@ tcp_choose_hpts_to_run(void)
}
}
if (oldest_idx >= 0)
- return(tcp_pace.rp_ent[oldest_idx]);
+ return(pace->rp_ent[oldest_idx]);
else
- return(tcp_pace.rp_ent[(curcpu % tcp_pace.rp_num_hptss)]);
+ return(pace->rp_ent[(curcpu % pace->rp_num_hptss)]);
}
static void
@@ -1588,9 +1578,9 @@ __tcp_run_hpts(void)
{
struct epoch_tracker et;
struct tcp_hpts_entry *hpts;
- int ticks_ran;
+ int slots_ran;
- hpts = tcp_choose_hpts_to_run();
+ hpts = tcp_choose_hpts_to_run(tcp_hptsi_pace);
if (hpts->p_hpts_active) {
/* Already active */
@@ -1606,12 +1596,11 @@ __tcp_run_hpts(void)
hpts->syscall_cnt++;
counter_u64_add(hpts_direct_call, 1);
hpts->p_hpts_active = 1;
- ticks_ran = tcp_hptsi(hpts, false);
+ slots_ran = tcp_hptsi(hpts, false);
/* We may want to adjust the sleep values here */
if (hpts->p_on_queue_cnt >= conn_cnt_thresh) {
- if (ticks_ran > slots_indicate_less_sleep) {
+ if (slots_ran > slots_indicate_less_sleep) {
struct timeval tv;
- sbintime_t sb;
hpts->p_mysleep.tv_usec /= 2;
if (hpts->p_mysleep.tv_usec < dynamic_min_sleep)
@@ -1635,13 +1624,8 @@ __tcp_run_hpts(void)
* the dynamic value and set the on_min_sleep
* flag so we will not be awoken.
*/
- sb = tvtosbt(tv);
- /* Store off to make visible the actual sleep time */
- hpts->sleeping = tv.tv_usec;
- callout_reset_sbt_on(&hpts->co, sb, 0,
- hpts_timeout_swi, hpts, hpts->p_cpu,
- (C_DIRECT_EXEC | C_PREL(tcp_hpts_precision)));
- } else if (ticks_ran < slots_indicate_more_sleep) {
+ (void)tcp_hpts_sleep(hpts, &tv);
+ } else if (slots_ran < slots_indicate_more_sleep) {
/* For the further sleep, don't reschedule hpts */
hpts->p_mysleep.tv_usec *= 2;
if (hpts->p_mysleep.tv_usec > dynamic_max_sleep)
@@ -1658,17 +1642,22 @@ out_with_mtx:
static void
tcp_hpts_thread(void *ctx)
{
+#ifdef TCP_HPTS_KTEST
+ struct tcp_hptsi *pace;
+#endif
struct tcp_hpts_entry *hpts;
struct epoch_tracker et;
struct timeval tv;
- sbintime_t sb;
- int ticks_ran;
+ int slots_ran;
hpts = (struct tcp_hpts_entry *)ctx;
+#ifdef TCP_HPTS_KTEST
+ pace = hpts->p_hptsi;
+#endif
HPTS_LOCK(hpts);
if (hpts->p_direct_wake) {
/* Signaled by input or output with low occupancy count. */
- callout_stop(&hpts->co);
+ _callout_stop_safe(&hpts->co, 0);
counter_u64_add(hpts_direct_awakening, 1);
} else {
/* Timed out, the normal case. */
@@ -1721,7 +1710,7 @@ tcp_hpts_thread(void *ctx)
}
hpts->sleeping = 0;
hpts->p_hpts_active = 1;
- ticks_ran = tcp_hptsi(hpts, true);
+ slots_ran = tcp_hptsi(hpts, true);
tv.tv_sec = 0;
tv.tv_usec = hpts->p_hpts_sleep_time * HPTS_USECS_PER_SLOT;
if ((hpts->p_on_queue_cnt > conn_cnt_thresh) && (hpts->hit_callout_thresh == 0)) {
@@ -1737,11 +1726,11 @@ tcp_hpts_thread(void *ctx)
* Only adjust sleep time if we were
* called from the callout i.e. direct_wake == 0.
*/
- if (ticks_ran < slots_indicate_more_sleep) {
+ if (slots_ran < slots_indicate_more_sleep) {
hpts->p_mysleep.tv_usec *= 2;
if (hpts->p_mysleep.tv_usec > dynamic_max_sleep)
hpts->p_mysleep.tv_usec = dynamic_max_sleep;
- } else if (ticks_ran > slots_indicate_less_sleep) {
+ } else if (slots_ran > slots_indicate_less_sleep) {
hpts->p_mysleep.tv_usec /= 2;
if (hpts->p_mysleep.tv_usec < dynamic_min_sleep)
hpts->p_mysleep.tv_usec = dynamic_min_sleep;
@@ -1797,18 +1786,11 @@ tcp_hpts_thread(void *ctx)
hpts->p_hpts_active = 0;
back_to_sleep:
hpts->p_direct_wake = 0;
- sb = tvtosbt(tv);
- /* Store off to make visible the actual sleep time */
- hpts->sleeping = tv.tv_usec;
- callout_reset_sbt_on(&hpts->co, sb, 0,
- hpts_timeout_swi, hpts, hpts->p_cpu,
- (C_DIRECT_EXEC | C_PREL(tcp_hpts_precision)));
+ (void)tcp_hpts_sleep(hpts, &tv);
NET_EPOCH_EXIT(et);
HPTS_UNLOCK(hpts);
}
-#undef timersub
-
static int32_t
hpts_count_level(struct cpu_group *cg)
{
@@ -1845,57 +1827,63 @@ hpts_gather_grps(struct cpu_group **grps, int32_t *at, int32_t max, struct cpu_g
}
}
-static void
-tcp_hpts_mod_load(void)
+/*
+ * Initialize a tcp_hptsi structure. This performs the core initialization
+ * without starting threads.
+ */
+struct tcp_hptsi*
+tcp_hptsi_create(const struct tcp_hptsi_funcs *funcs, bool enable_sysctl)
{
+ struct tcp_hptsi *pace;
struct cpu_group *cpu_top;
- int32_t error __diagused;
- int32_t i, j, bound = 0, created = 0;
+ uint32_t i, j, cts;
+ int32_t count;
size_t sz, asz;
struct timeval tv;
- sbintime_t sb;
struct tcp_hpts_entry *hpts;
- struct pcpu *pc;
char unit[16];
uint32_t ncpus = mp_ncpus ? mp_ncpus : MAXCPU;
- int count, domain;
+ KASSERT(funcs != NULL, ("funcs is NULL"));
+
+ /* Allocate the main structure */
+ pace = malloc(sizeof(struct tcp_hptsi), M_TCPHPTS, M_WAITOK | M_ZERO);
+ if (pace == NULL)
+ return (NULL);
+
+ memset(pace, 0, sizeof(*pace));
+ pace->funcs = funcs;
+
+ /* Setup CPU topology information */
#ifdef SMP
cpu_top = smp_topo();
#else
cpu_top = NULL;
#endif
- tcp_pace.rp_num_hptss = ncpus;
- hpts_hopelessly_behind = counter_u64_alloc(M_WAITOK);
- hpts_loops = counter_u64_alloc(M_WAITOK);
- back_tosleep = counter_u64_alloc(M_WAITOK);
- combined_wheel_wrap = counter_u64_alloc(M_WAITOK);
- wheel_wrap = counter_u64_alloc(M_WAITOK);
- hpts_wake_timeout = counter_u64_alloc(M_WAITOK);
- hpts_direct_awakening = counter_u64_alloc(M_WAITOK);
- hpts_back_tosleep = counter_u64_alloc(M_WAITOK);
- hpts_direct_call = counter_u64_alloc(M_WAITOK);
- cpu_uses_flowid = counter_u64_alloc(M_WAITOK);
- cpu_uses_random = counter_u64_alloc(M_WAITOK);
+ pace->rp_num_hptss = ncpus;
- sz = (tcp_pace.rp_num_hptss * sizeof(struct tcp_hpts_entry *));
- tcp_pace.rp_ent = malloc(sz, M_TCPHPTS, M_WAITOK | M_ZERO);
- sz = (sizeof(uint32_t) * tcp_pace.rp_num_hptss);
- tcp_pace.cts_last_ran = malloc(sz, M_TCPHPTS, M_WAITOK);
- tcp_pace.grp_cnt = 0;
+ /* Allocate hpts entry array */
+ sz = (pace->rp_num_hptss * sizeof(struct tcp_hpts_entry *));
+ pace->rp_ent = malloc(sz, M_TCPHPTS, M_WAITOK | M_ZERO);
+
+ /* Allocate timestamp tracking array */
+ sz = (sizeof(uint32_t) * pace->rp_num_hptss);
+ pace->cts_last_ran = malloc(sz, M_TCPHPTS, M_WAITOK);
+
+ /* Setup CPU groups */
if (cpu_top == NULL) {
- tcp_pace.grp_cnt = 1;
+ pace->grp_cnt = 1;
} else {
/* Find out how many cache level 3 domains we have */
count = 0;
- tcp_pace.grp_cnt = hpts_count_level(cpu_top);
- if (tcp_pace.grp_cnt == 0) {
- tcp_pace.grp_cnt = 1;
+ pace->grp_cnt = hpts_count_level(cpu_top);
+ if (pace->grp_cnt == 0) {
+ pace->grp_cnt = 1;
}
- sz = (tcp_pace.grp_cnt * sizeof(struct cpu_group *));
- tcp_pace.grps = malloc(sz, M_TCPHPTS, M_WAITOK);
+ sz = (pace->grp_cnt * sizeof(struct cpu_group *));
+ pace->grps = malloc(sz, M_TCPHPTS, M_WAITOK);
/* Now populate the groups */
- if (tcp_pace.grp_cnt == 1) {
+ if (pace->grp_cnt == 1) {
/*
* All we need is the top level all cpu's are in
* the same cache so when we use grp[0]->cg_mask
@@ -1903,193 +1891,290 @@ tcp_hpts_mod_load(void)
* all cpu's in it. The level here is probably
* zero which is ok.
*/
- tcp_pace.grps[0] = cpu_top;
+ pace->grps[0] = cpu_top;
} else {
/*
* Here we must find all the level three cache domains
* and setup our pointers to them.
*/
count = 0;
- hpts_gather_grps(tcp_pace.grps, &count, tcp_pace.grp_cnt, cpu_top);
+ hpts_gather_grps(pace->grps, &count, pace->grp_cnt, cpu_top);
}
}
+
+ /* Cache the current time for initializing the hpts entries */
+ microuptime(&tv);
+ cts = tcp_tv_to_usec(&tv);
+
+ /* Initialize each hpts entry */
asz = sizeof(struct hptsh) * NUM_OF_HPTSI_SLOTS;
- for (i = 0; i < tcp_pace.rp_num_hptss; i++) {
- tcp_pace.rp_ent[i] = malloc(sizeof(struct tcp_hpts_entry),
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ pace->rp_ent[i] = malloc(sizeof(struct tcp_hpts_entry),
M_TCPHPTS, M_WAITOK | M_ZERO);
- tcp_pace.rp_ent[i]->p_hptss = malloc(asz, M_TCPHPTS, M_WAITOK);
- hpts = tcp_pace.rp_ent[i];
- /*
- * Init all the hpts structures that are not specifically
- * zero'd by the allocations. Also lets attach them to the
- * appropriate sysctl block as well.
- */
- mtx_init(&hpts->p_mtx, "tcp_hpts_lck",
- "hpts", MTX_DEF | MTX_DUPOK);
- for (j = 0; j < NUM_OF_HPTSI_SLOTS; j++) {
- TAILQ_INIT(&hpts->p_hptss[j].head);
- hpts->p_hptss[j].count = 0;
- hpts->p_hptss[j].gencnt = 0;
- }
- sysctl_ctx_init(&hpts->hpts_ctx);
- sprintf(unit, "%d", i);
- hpts->hpts_root = SYSCTL_ADD_NODE(&hpts->hpts_ctx,
- SYSCTL_STATIC_CHILDREN(_net_inet_tcp_hpts),
- OID_AUTO,
- unit,
- CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
- "");
- SYSCTL_ADD_INT(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "out_qcnt", CTLFLAG_RD,
- &hpts->p_on_queue_cnt, 0,
- "Count TCB's awaiting output processing");
- SYSCTL_ADD_U16(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "active", CTLFLAG_RD,
- &hpts->p_hpts_active, 0,
- "Is the hpts active");
- SYSCTL_ADD_UINT(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "curslot", CTLFLAG_RD,
- &hpts->p_cur_slot, 0,
- "What the current running pacers goal");
- SYSCTL_ADD_UINT(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "runtick", CTLFLAG_RD,
- &hpts->p_runningslot, 0,
- "What the running pacers current slot is");
- SYSCTL_ADD_UINT(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "curtick", CTLFLAG_RD,
- &hpts->p_curtick, 0,
- "What the running pacers last tick mapped to the wheel was");
- SYSCTL_ADD_UINT(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "lastran", CTLFLAG_RD,
- &tcp_pace.cts_last_ran[i], 0,
- "The last usec tick that this hpts ran");
- SYSCTL_ADD_LONG(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "cur_min_sleep", CTLFLAG_RD,
- &hpts->p_mysleep.tv_usec,
- "What the running pacers is using for p_mysleep.tv_usec");
- SYSCTL_ADD_U64(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "now_sleeping", CTLFLAG_RD,
- &hpts->sleeping, 0,
- "What the running pacers is actually sleeping for");
- SYSCTL_ADD_U64(&hpts->hpts_ctx,
- SYSCTL_CHILDREN(hpts->hpts_root),
- OID_AUTO, "syscall_cnt", CTLFLAG_RD,
- &hpts->syscall_cnt, 0,
- "How many times we had syscalls on this hpts");
+ pace->rp_ent[i]->p_hptss = malloc(asz, M_TCPHPTS,
+ M_WAITOK | M_ZERO);
+ hpts = pace->rp_ent[i];
+ /* Basic initialization */
hpts->p_hpts_sleep_time = hpts_sleep_max;
- hpts->p_num = i;
- hpts->p_curtick = tcp_gethptstick(&tv);
- tcp_pace.cts_last_ran[i] = tcp_tv_to_usec(&tv);
- hpts->p_prev_slot = hpts->p_cur_slot = tick_to_wheel(hpts->p_curtick);
- hpts->p_cpu = 0xffff;
+ hpts->p_cpu = i;
+ pace->cts_last_ran[i] = cts;
+ hpts->p_cur_slot = cts_to_wheel(cts);
+ hpts->p_prev_slot = hpts->p_cur_slot;
hpts->p_nxt_slot = hpts_slot(hpts->p_cur_slot, 1);
callout_init(&hpts->co, 1);
+ hpts->p_hptsi = pace;
+ mtx_init(&hpts->p_mtx, "tcp_hpts_lck", "hpts",
+ MTX_DEF | MTX_DUPOK);
+ for (j = 0; j < NUM_OF_HPTSI_SLOTS; j++) {
+ TAILQ_INIT(&hpts->p_hptss[j].head);
+ }
+
+ /* Setup SYSCTL if requested */
+ if (enable_sysctl) {
+ sysctl_ctx_init(&hpts->hpts_ctx);
+ sprintf(unit, "%d", i);
+ hpts->hpts_root = SYSCTL_ADD_NODE(&hpts->hpts_ctx,
+ SYSCTL_STATIC_CHILDREN(_net_inet_tcp_hpts),
+ OID_AUTO,
+ unit,
+ CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+ "");
+ SYSCTL_ADD_INT(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "out_qcnt", CTLFLAG_RD,
+ &hpts->p_on_queue_cnt, 0,
+ "Count TCB's awaiting output processing");
+ SYSCTL_ADD_U16(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "active", CTLFLAG_RD,
+ &hpts->p_hpts_active, 0,
+ "Is the hpts active");
+ SYSCTL_ADD_UINT(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "curslot", CTLFLAG_RD,
+ &hpts->p_cur_slot, 0,
+ "What the current running pacers goal");
+ SYSCTL_ADD_UINT(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "runslot", CTLFLAG_RD,
+ &hpts->p_runningslot, 0,
+ "What the running pacers current slot is");
+ SYSCTL_ADD_UINT(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "lastran", CTLFLAG_RD,
+ &pace->cts_last_ran[i], 0,
+ "The last usec timestamp that this hpts ran");
+ SYSCTL_ADD_LONG(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "cur_min_sleep", CTLFLAG_RD,
+ &hpts->p_mysleep.tv_usec,
+ "What the running pacers is using for p_mysleep.tv_usec");
+ SYSCTL_ADD_U64(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "now_sleeping", CTLFLAG_RD,
+ &hpts->sleeping, 0,
+ "What the running pacers is actually sleeping for");
+ SYSCTL_ADD_U64(&hpts->hpts_ctx,
+ SYSCTL_CHILDREN(hpts->hpts_root),
+ OID_AUTO, "syscall_cnt", CTLFLAG_RD,
+ &hpts->syscall_cnt, 0,
+ "How many times we had syscalls on this hpts");
+ }
}
- /* Don't try to bind to NUMA domains if we don't have any */
- if (vm_ndomains == 1 && tcp_bind_threads == 2)
- tcp_bind_threads = 0;
- /*
- * Now lets start ithreads to handle the hptss.
- */
- for (i = 0; i < tcp_pace.rp_num_hptss; i++) {
- hpts = tcp_pace.rp_ent[i];
- hpts->p_cpu = i;
+ return (pace);
+}
+
+/*
+ * Create threads for a tcp_hptsi structure and starts timers for the current
+ * (minimum) sleep interval.
+ */
+void
+tcp_hptsi_start(struct tcp_hptsi *pace)
+{
+ struct tcp_hpts_entry *hpts;
+ struct pcpu *pc;
+ struct timeval tv;
+ uint32_t i, j;
+ int count, domain;
+ int error __diagused;
+
+ KASSERT(pace != NULL, ("tcp_hptsi_start: pace is NULL"));
+
+ /* Start threads for each hpts entry */
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ hpts = pace->rp_ent[i];
+
+ KASSERT(hpts->ie_cookie == NULL,
+ ("tcp_hptsi_start: hpts[%d]->ie_cookie is not NULL", i));
error = swi_add(&hpts->ie, "hpts",
tcp_hpts_thread, (void *)hpts,
SWI_NET, INTR_MPSAFE, &hpts->ie_cookie);
KASSERT(error == 0,
- ("Can't add hpts:%p i:%d err:%d",
- hpts, i, error));
- created++;
- hpts->p_mysleep.tv_sec = 0;
- hpts->p_mysleep.tv_usec = tcp_min_hptsi_time;
+ ("Can't add hpts:%p i:%d err:%d", hpts, i, error));
+
if (tcp_bind_threads == 1) {
- if (intr_event_bind(hpts->ie, i) == 0)
- bound++;
+ (void)intr_event_bind(hpts->ie, i);
} else if (tcp_bind_threads == 2) {
/* Find the group for this CPU (i) and bind into it */
- for (j = 0; j < tcp_pace.grp_cnt; j++) {
- if (CPU_ISSET(i, &tcp_pace.grps[j]->cg_mask)) {
+ for (j = 0; j < pace->grp_cnt; j++) {
+ if (CPU_ISSET(i, &pace->grps[j]->cg_mask)) {
if (intr_event_bind_ithread_cpuset(hpts->ie,
- &tcp_pace.grps[j]->cg_mask) == 0) {
- bound++;
+ &pace->grps[j]->cg_mask) == 0) {
pc = pcpu_find(i);
domain = pc->pc_domain;
- count = hpts_domains[domain].count;
- hpts_domains[domain].cpu[count] = i;
- hpts_domains[domain].count++;
+ count = pace->domains[domain].count;
+ pace->domains[domain].cpu[count] = i;
+ pace->domains[domain].count++;
break;
}
}
}
}
+
+ hpts->p_mysleep.tv_sec = 0;
+ hpts->p_mysleep.tv_usec = tcp_min_hptsi_time;
tv.tv_sec = 0;
tv.tv_usec = hpts->p_hpts_sleep_time * HPTS_USECS_PER_SLOT;
- hpts->sleeping = tv.tv_usec;
- sb = tvtosbt(tv);
- callout_reset_sbt_on(&hpts->co, sb, 0,
- hpts_timeout_swi, hpts, hpts->p_cpu,
- (C_DIRECT_EXEC | C_PREL(tcp_hpts_precision)));
- }
- /*
- * If we somehow have an empty domain, fall back to choosing
- * among all htps threads.
- */
- for (i = 0; i < vm_ndomains; i++) {
- if (hpts_domains[i].count == 0) {
- tcp_bind_threads = 0;
- break;
- }
+ (void)tcp_hpts_sleep(hpts, &tv);
}
- tcp_hpts_softclock = __tcp_run_hpts;
- tcp_lro_hpts_init();
- printf("TCP Hpts created %d swi interrupt threads and bound %d to %s\n",
- created, bound,
- tcp_bind_threads == 2 ? "NUMA domains" : "cpus");
}
-static void
-tcp_hpts_mod_unload(void)
+/*
+ * Stop all callouts/threads for a tcp_hptsi structure.
+ */
+void
+tcp_hptsi_stop(struct tcp_hptsi *pace)
{
+ struct tcp_hpts_entry *hpts;
int rv __diagused;
+ uint32_t i;
- tcp_lro_hpts_uninit();
- atomic_store_ptr(&tcp_hpts_softclock, NULL);
+ KASSERT(pace != NULL, ("tcp_hptsi_stop: pace is NULL"));
- for (int i = 0; i < tcp_pace.rp_num_hptss; i++) {
- struct tcp_hpts_entry *hpts = tcp_pace.rp_ent[i];
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ hpts = pace->rp_ent[i];
+ KASSERT(hpts != NULL, ("tcp_hptsi_stop: hpts[%d] is NULL", i));
+ KASSERT(hpts->ie_cookie != NULL,
+ ("tcp_hptsi_stop: hpts[%d]->ie_cookie is NULL", i));
- rv = callout_drain(&hpts->co);
+ rv = _callout_stop_safe(&hpts->co, CS_DRAIN);
MPASS(rv != 0);
rv = swi_remove(hpts->ie_cookie);
MPASS(rv == 0);
+ hpts->ie_cookie = NULL;
+ }
+}
- rv = sysctl_ctx_free(&hpts->hpts_ctx);
- MPASS(rv == 0);
+/*
+ * Destroy a tcp_hptsi structure initialized by tcp_hptsi_create.
+ */
+void
+tcp_hptsi_destroy(struct tcp_hptsi *pace)
+{
+ struct tcp_hpts_entry *hpts;
+ uint32_t i;
+
+ KASSERT(pace != NULL, ("tcp_hptsi_destroy: pace is NULL"));
+ KASSERT(pace->rp_ent != NULL, ("tcp_hptsi_destroy: pace->rp_ent is NULL"));
+
+ /* Cleanup each hpts entry */
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ hpts = pace->rp_ent[i];
+ if (hpts != NULL) {
+ /* Cleanup SYSCTL if it was initialized */
+ if (hpts->hpts_root != NULL) {
+ sysctl_ctx_free(&hpts->hpts_ctx);
+ }
- mtx_destroy(&hpts->p_mtx);
- free(hpts->p_hptss, M_TCPHPTS);
- free(hpts, M_TCPHPTS);
+ mtx_destroy(&hpts->p_mtx);
+ free(hpts->p_hptss, M_TCPHPTS);
+ free(hpts, M_TCPHPTS);
+ }
}
- free(tcp_pace.rp_ent, M_TCPHPTS);
- free(tcp_pace.cts_last_ran, M_TCPHPTS);
+ /* Cleanup main arrays */
+ free(pace->rp_ent, M_TCPHPTS);
+ free(pace->cts_last_ran, M_TCPHPTS);
#ifdef SMP
- free(tcp_pace.grps, M_TCPHPTS);
+ free(pace->grps, M_TCPHPTS);
#endif
+ /* Free the main structure */
+ free(pace, M_TCPHPTS);
+}
+
+static int
+tcp_hpts_mod_load(void)
+{
+ int i;
+
+ /* Don't try to bind to NUMA domains if we don't have any */
+ if (vm_ndomains == 1 && tcp_bind_threads == 2)
+ tcp_bind_threads = 0;
+
+ /* Create the tcp_hptsi structure */
+ tcp_hptsi_pace = tcp_hptsi_create(&tcp_hptsi_default_funcs, true);
+ if (tcp_hptsi_pace == NULL)
+ return (ENOMEM);
+
+ /* Initialize global counters */
+ hpts_hopelessly_behind = counter_u64_alloc(M_WAITOK);
+ hpts_loops = counter_u64_alloc(M_WAITOK);
+ back_tosleep = counter_u64_alloc(M_WAITOK);
+ combined_wheel_wrap = counter_u64_alloc(M_WAITOK);
+ wheel_wrap = counter_u64_alloc(M_WAITOK);
+ hpts_wake_timeout = counter_u64_alloc(M_WAITOK);
+ hpts_direct_awakening = counter_u64_alloc(M_WAITOK);
+ hpts_back_tosleep = counter_u64_alloc(M_WAITOK);
+ hpts_direct_call = counter_u64_alloc(M_WAITOK);
+ cpu_uses_flowid = counter_u64_alloc(M_WAITOK);
+ cpu_uses_random = counter_u64_alloc(M_WAITOK);
+
+ /* Start the threads */
+ tcp_hptsi_start(tcp_hptsi_pace);
+
+ /* Enable the global HPTS softclock function */
+ tcp_hpts_softclock = __tcp_run_hpts;
+
+ /* Initialize LRO HPTS */
+ tcp_lro_hpts_init();
+
+ /*
+ * If we somehow have an empty domain, fall back to choosing among all
+ * HPTS threads.
+ */
+ for (i = 0; i < vm_ndomains; i++) {
+ if (tcp_hptsi_pace->domains[i].count == 0) {
+ tcp_bind_threads = 0;
+ break;
+ }
+ }
+
+ printf("TCP HPTS started %u (%s) swi interrupt threads\n",
+ tcp_hptsi_pace->rp_num_hptss, (tcp_bind_threads == 0) ?
+ "(unbounded)" :
+ (tcp_bind_threads == 1 ? "per-cpu" : "per-NUMA-domain"));
+
+ return (0);
+}
+
+static void
+tcp_hpts_mod_unload(void)
+{
+ tcp_lro_hpts_uninit();
+
+ /* Disable the global HPTS softclock function */
+ atomic_store_ptr(&tcp_hpts_softclock, NULL);
+
+ tcp_hptsi_stop(tcp_hptsi_pace);
+ tcp_hptsi_destroy(tcp_hptsi_pace);
+ tcp_hptsi_pace = NULL;
+
+ /* Cleanup global counters */
counter_u64_free(hpts_hopelessly_behind);
counter_u64_free(hpts_loops);
counter_u64_free(back_tosleep);
@@ -2104,13 +2189,11 @@ tcp_hpts_mod_unload(void)
}
static int
-tcp_hpts_modevent(module_t mod, int what, void *arg)
+tcp_hpts_mod_event(module_t mod, int what, void *arg)
{
-
switch (what) {
case MOD_LOAD:
- tcp_hpts_mod_load();
- return (0);
+ return (tcp_hpts_mod_load());
case MOD_QUIESCE:
/*
* Since we are a dependency of TCP stack modules, they should
@@ -2130,7 +2213,7 @@ tcp_hpts_modevent(module_t mod, int what, void *arg)
static moduledata_t tcp_hpts_module = {
.name = "tcphpts",
- .evhand = tcp_hpts_modevent,
+ .evhand = tcp_hpts_mod_event,
};
DECLARE_MODULE(tcphpts, tcp_hpts_module, SI_SUB_SOFTINTR, SI_ORDER_ANY);
diff --git a/sys/netinet/tcp_hpts.h b/sys/netinet/tcp_hpts.h
index 6172baf2a062..6b05f9701ac2 100644
--- a/sys/netinet/tcp_hpts.h
+++ b/sys/netinet/tcp_hpts.h
@@ -28,19 +28,11 @@
/* Number of useconds represented by an hpts slot */
#define HPTS_USECS_PER_SLOT 10
-#define HPTS_MS_TO_SLOTS(x) ((x * 100) + 1)
-#define HPTS_USEC_TO_SLOTS(x) ((x+9) /10)
#define HPTS_USEC_IN_SEC 1000000
#define HPTS_MSEC_IN_SEC 1000
#define HPTS_USEC_IN_MSEC 1000
static inline uint32_t
-tcp_tv_to_hpts_slot(const struct timeval *sv)
-{
- return ((sv->tv_sec * 100000) + (sv->tv_usec / HPTS_USECS_PER_SLOT));
-}
-
-static inline uint32_t
tcp_tv_to_usec(const struct timeval *sv)
{
return ((uint32_t) ((sv->tv_sec * HPTS_USEC_IN_SEC) + sv->tv_usec));
@@ -66,7 +58,7 @@ struct hpts_diag {
uint32_t p_runningslot; /* bbr->inflight */
uint32_t slot_req; /* bbr->flex3 x */
uint32_t inp_hptsslot; /* bbr->flex4 x */
- uint32_t slot_remaining; /* bbr->flex5 x */
+ uint32_t time_remaining; /* bbr->flex5 x */
uint32_t have_slept; /* bbr->epoch x */
uint32_t hpts_sleep_time; /* bbr->applimited x */
uint32_t yet_to_sleep; /* bbr->lt_epoch x */
@@ -75,8 +67,6 @@ struct hpts_diag {
uint32_t maxslots; /* bbr->delRate x */
uint32_t wheel_cts; /* bbr->rttProp x */
int32_t co_ret; /* bbr->pkts_out x */
- uint32_t p_curtick; /* upper bbr->cur_del_rate */
- uint32_t p_lasttick; /* lower bbr->cur_del_rate */
uint8_t p_on_min_sleep; /* bbr->flex8 x */
};
@@ -92,13 +82,18 @@ struct hpts_diag {
#ifdef _KERNEL
+extern struct tcp_hptsi *tcp_hptsi_pace;
+
/*
* The following are the definitions for the kernel HPTS interface for managing
* the HPTS ring and the TCBs on it.
*/
-void tcp_hpts_init(struct tcpcb *);
-void tcp_hpts_remove(struct tcpcb *);
+void __tcp_hpts_init(struct tcp_hptsi *pace, struct tcpcb *);
+#define tcp_hpts_init(tp) __tcp_hpts_init(tcp_hptsi_pace, tp)
+
+void __tcp_hpts_remove(struct tcp_hptsi *pace, struct tcpcb *);
+#define tcp_hpts_remove(tp) __tcp_hpts_remove(tcp_hptsi_pace, tp)
static inline bool
tcp_in_hpts(struct tcpcb *tp)
@@ -132,12 +127,13 @@ tcp_in_hpts(struct tcpcb *tp)
* that INP_WLOCK() or from destroying your TCB where again
* you should already have the INP_WLOCK().
*/
-uint32_t tcp_hpts_insert_diag(struct tcpcb *tp, uint32_t slot, int32_t line,
- struct hpts_diag *diag);
-#define tcp_hpts_insert(inp, slot) \
- tcp_hpts_insert_diag((inp), (slot), __LINE__, NULL)
+void __tcp_hpts_insert(struct tcp_hptsi *pace, struct tcpcb *tp, uint32_t usecs,
+ struct hpts_diag *diag);
+#define tcp_hpts_insert(tp, usecs, diag) \
+ __tcp_hpts_insert(tcp_hptsi_pace, (tp), (usecs), (diag))
-void tcp_set_hpts(struct tcpcb *tp);
+void __tcp_set_hpts(struct tcp_hptsi *pace, struct tcpcb *tp);
+#define tcp_set_hpts(tp) __tcp_set_hpts(tcp_hptsi_pace, tp)
extern int32_t tcp_min_hptsi_time;
@@ -147,17 +143,6 @@ get_hpts_min_sleep_time(void)
return (tcp_min_hptsi_time + HPTS_USECS_PER_SLOT);
}
-static inline uint32_t
-tcp_gethptstick(struct timeval *sv)
-{
- struct timeval tv;
-
- if (sv == NULL)
- sv = &tv;
- microuptime(sv);
- return (tcp_tv_to_hpts_slot(sv));
-}
-
static inline uint64_t
tcp_get_u64_usecs(struct timeval *tv)
{
@@ -180,12 +165,5 @@ tcp_get_usecs(struct timeval *tv)
return (tcp_tv_to_usec(tv));
}
-/*
- * LRO HPTS initialization and uninitialization, only for internal use by the
- * HPTS code.
- */
-void tcp_lro_hpts_init(void);
-void tcp_lro_hpts_uninit(void);
-
#endif /* _KERNEL */
#endif /* __tcp_hpts_h__ */
diff --git a/sys/netinet/tcp_hpts_internal.h b/sys/netinet/tcp_hpts_internal.h
new file mode 100644
index 000000000000..8b33e03a6981
--- /dev/null
+++ b/sys/netinet/tcp_hpts_internal.h
@@ -0,0 +1,184 @@
+/*-
+ * Copyright (c) 2025 Netflix, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef __tcp_hpts_internal_h__
+#define __tcp_hpts_internal_h__
+
+/*
+ * TCP High Precision Timer System (HPTS) - Internal Definitions
+ *
+ * This header contains internal structures, constants, and interfaces that are
+ * implemented in tcp_hpts.c but exposed to enable comprehensive unit testing of
+ * the HPTS subsystem.
+ */
+
+#if defined(_KERNEL)
+
+/*
+ * The hpts uses a 102400 wheel. The wheel
+ * defines the time in 10 usec increments (102400 x 10).
+ * This gives a range of 10usec - 1024ms to place
+ * an entry within. If the user requests more than
+ * 1.024 second, a remaineder is attached and the hpts
+ * when seeing the remainder will re-insert the
+ * inpcb forward in time from where it is until
+ * the remainder is zero.
+ */
+
+#define NUM_OF_HPTSI_SLOTS 102400
+
+/* The number of connections after which the dynamic sleep logic kicks in. */
+#define DEFAULT_CONNECTION_THRESHOLD 100
+
+/*
+ * The hpts uses a 102400 wheel. The wheel
+ * defines the time in 10 usec increments (102400 x 10).
+ * This gives a range of 10usec - 1024ms to place
+ * an entry within. If the user requests more than
+ * 1.024 second, a remaineder is attached and the hpts
+ * when seeing the remainder will re-insert the
+ * inpcb forward in time from where it is until
+ * the remainder is zero.
+ */
+
+#define NUM_OF_HPTSI_SLOTS 102400
+
+/* Convert microseconds to HPTS slots */
+#define HPTS_USEC_TO_SLOTS(x) ((x+9) /10)
+
+/* The number of connections after which the dynamic sleep logic kicks in. */
+#define DEFAULT_CONNECTION_THRESHOLD 100
+
+extern int tcp_bind_threads; /* Thread binding configuration
+ * (0=none, 1=cpu, 2=numa) */
+
+/*
+ * Abstraction layer controlling time, interrupts and callouts.
+ */
+struct tcp_hptsi_funcs {
+ void (*microuptime)(struct timeval *tv);
+ int (*swi_add)(struct intr_event **eventp, const char *name,
+ driver_intr_t handler, void *arg, int pri, enum intr_type flags,
+ void **cookiep);
+ int (*swi_remove)(void *cookie);
+ void (*swi_sched)(void *cookie, int flags);
+ int (*intr_event_bind)(struct intr_event *ie, int cpu);
+ int (*intr_event_bind_ithread_cpuset)(struct intr_event *ie,
+ struct _cpuset *mask);
+ void (*callout_init)(struct callout *c, int mpsafe);
+ int (*callout_reset_sbt_on)(struct callout *c, sbintime_t sbt,
+ sbintime_t precision, void (*func)(void *), void *arg, int cpu,
+ int flags);
+ int (*_callout_stop_safe)(struct callout *c, int flags);
+};
+
+/* Default function table for system operation */
+extern const struct tcp_hptsi_funcs tcp_hptsi_default_funcs;
+
+/* Each hpts has its own p_mtx which is used for locking */
+#define HPTS_MTX_ASSERT(hpts) mtx_assert(&(hpts)->p_mtx, MA_OWNED)
+#define HPTS_LOCK(hpts) mtx_lock(&(hpts)->p_mtx)
+#define HPTS_TRYLOCK(hpts) mtx_trylock(&(hpts)->p_mtx)
+#define HPTS_UNLOCK(hpts) mtx_unlock(&(hpts)->p_mtx)
+
+struct tcp_hpts_entry {
+ /* Cache line 0x00 */
+ struct mtx p_mtx; /* Mutex for hpts */
+ struct timeval p_mysleep; /* Our min sleep time */
+ uint64_t syscall_cnt;
+ uint64_t sleeping; /* What the actual sleep was (if sleeping) */
+ uint16_t p_hpts_active; /* Flag that says hpts is awake */
+ uint8_t p_wheel_complete; /* have we completed the wheel arc walk? */
+ uint32_t p_runningslot; /* Current slot we are at if we are running */
+ uint32_t p_prev_slot; /* Previous slot we were on */
+ uint32_t p_cur_slot; /* Current slot in wheel hpts is draining */
+ uint32_t p_nxt_slot; /* The next slot outside the current range
+ * of slots that the hpts is running on. */
+ int32_t p_on_queue_cnt; /* Count on queue in this hpts */
+ uint8_t p_direct_wake :1, /* boolean */
+ p_on_min_sleep:1, /* boolean */
+ p_hpts_wake_scheduled:1,/* boolean */
+ hit_callout_thresh:1,
+ p_avail:4;
+ uint8_t p_fill[3]; /* Fill to 32 bits */
+ /* Cache line 0x40 */
+ struct hptsh {
+ TAILQ_HEAD(, tcpcb) head;
+ uint32_t count;
+ uint32_t gencnt;
+ } *p_hptss; /* Hptsi wheel */
+ uint32_t p_hpts_sleep_time; /* Current sleep interval having a max
+ * of 255ms */
+ uint32_t overidden_sleep; /* what was overrided by min-sleep for logging */
+ uint32_t saved_curslot; /* for logging */
+ uint32_t saved_prev_slot; /* for logging */
+ uint32_t p_delayed_by; /* How much were we delayed by */
+ /* Cache line 0x80 */
+ struct sysctl_ctx_list hpts_ctx;
+ struct sysctl_oid *hpts_root;
+ struct intr_event *ie;
+ void *ie_cookie;
+ uint16_t p_cpu; /* The hpts CPU */
+ struct tcp_hptsi *p_hptsi; /* Back pointer to parent hptsi structure */
+ /* There is extra space in here */
+ /* Cache line 0x100 */
+ struct callout co __aligned(CACHE_LINE_SIZE);
+} __aligned(CACHE_LINE_SIZE);
+
+struct tcp_hptsi {
+ struct cpu_group **grps;
+ struct tcp_hpts_entry **rp_ent; /* Array of hptss */
+ uint32_t *cts_last_ran;
+ uint32_t grp_cnt;
+ uint32_t rp_num_hptss; /* Number of hpts threads */
+ struct hpts_domain_info {
+ int count;
+ int cpu[MAXCPU];
+ } domains[MAXMEMDOM]; /* Per-NUMA domain CPU assignments */
+ const struct tcp_hptsi_funcs *funcs; /* Function table for testability */
+};
+
+/*
+ * Core tcp_hptsi structure manipulation functions.
+ */
+struct tcp_hptsi* tcp_hptsi_create(const struct tcp_hptsi_funcs *funcs,
+ bool enable_sysctl);
+void tcp_hptsi_destroy(struct tcp_hptsi *pace);
+void tcp_hptsi_start(struct tcp_hptsi *pace);
+void tcp_hptsi_stop(struct tcp_hptsi *pace);
+uint16_t tcp_hptsi_random_cpu(struct tcp_hptsi *pace);
+int32_t tcp_hptsi(struct tcp_hpts_entry *hpts, bool from_callout);
+
+void tcp_hpts_wake(struct tcp_hpts_entry *hpts);
+
+/*
+ * LRO HPTS initialization and uninitialization, only for internal use by the
+ * HPTS code.
+ */
+void tcp_lro_hpts_init(void);
+void tcp_lro_hpts_uninit(void);
+
+#endif /* defined(_KERNEL) */
+#endif /* __tcp_hpts_internal_h__ */
diff --git a/sys/netinet/tcp_hpts_test.c b/sys/netinet/tcp_hpts_test.c
new file mode 100644
index 000000000000..c5dc9cb5b03b
--- /dev/null
+++ b/sys/netinet/tcp_hpts_test.c
@@ -0,0 +1,1682 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2025 Netflix, Inc.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <tests/ktest.h>
+#include <sys/cdefs.h>
+#include "opt_inet.h"
+#include <sys/param.h>
+#include <sys/bus.h>
+#include <sys/interrupt.h>
+#include <sys/errno.h>
+#include <sys/malloc.h>
+#include <sys/mutex.h>
+#include <sys/refcount.h>
+#include <sys/socket.h>
+#include <sys/sysctl.h>
+#include <sys/systm.h>
+
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+#include <netinet/in_pcb.h>
+#include <netinet/tcp_seq.h>
+#include <netinet/tcp_var.h>
+#include <netinet/tcp_hpts.h>
+#include <netinet/tcp_hpts_internal.h>
+#include <dev/tcp_log/tcp_log_dev.h>
+#include <netinet/tcp_log_buf.h>
+
+#undef tcp_hpts_init
+#undef tcp_hpts_remove
+#undef tcp_hpts_insert
+#undef tcp_set_hpts
+
+/* Custom definitions that take the tcp_hptsi */
+#define tcp_hpts_init(pace, tp) __tcp_hpts_init((pace), (tp))
+#define tcp_hpts_remove(pace, tp) __tcp_hpts_remove((pace), (tp))
+#define tcp_hpts_insert(pace, tp, usecs, diag) \
+ __tcp_hpts_insert((pace), (tp), (usecs), (diag))
+#define tcp_set_hpts(pace, tp) __tcp_set_hpts((pace), (tp))
+
+static MALLOC_DEFINE(M_TCPHPTS, "tcp_hpts_test", "TCP hpts test");
+
+static int test_exit_on_failure = true;
+SYSCTL_NODE(_net_inet_tcp, OID_AUTO, hpts_test, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+ "TCP HPTS test controls");
+SYSCTL_INT(_net_inet_tcp_hpts_test, OID_AUTO, exit_on_failure, CTLFLAG_RW,
+ &test_exit_on_failure, 0,
+ "Exit HPTS test immediately on first failure (1) or continue running all tests (0)");
+
+#define KTEST_VERIFY(x) do { \
+ if (!(x)) { \
+ KTEST_ERR(ctx, "FAIL: %s", #x); \
+ if (test_exit_on_failure) \
+ return (EINVAL); \
+ } else { \
+ KTEST_LOG(ctx, "PASS: %s", #x); \
+ } \
+} while (0)
+
+#define KTEST_EQUAL(x, y) do { \
+ if ((x) != (y)) { \
+ KTEST_ERR(ctx, "FAIL: %s != %s (%d != %d)", #x, #y, (x), (y)); \
+ if (test_exit_on_failure) \
+ return (EINVAL); \
+ } else { \
+ KTEST_LOG(ctx, "PASS: %s == %s", #x, #y); \
+ } \
+} while (0)
+
+#define KTEST_NEQUAL(x, y) do { \
+ if ((x) == (y)) { \
+ KTEST_ERR(ctx, "FAIL: %s == %s (%d == %d)", #x, #y, (x), (y)); \
+ if (test_exit_on_failure) \
+ return (EINVAL); \
+ } else { \
+ KTEST_LOG(ctx, "PASS: %s != %s", #x, #y); \
+ } \
+} while (0)
+
+#define KTEST_GREATER_THAN(x, y) do { \
+ if ((x) <= (y)) { \
+ KTEST_ERR(ctx, "FAIL: %s <= %s (%d <= %d)", #x, #y, (x), (y)); \
+ if (test_exit_on_failure) \
+ return (EINVAL); \
+ } else { \
+ KTEST_LOG(ctx, "PASS: %s > %s", #x, #y); \
+ } \
+} while (0)
+
+#define KTEST_VERIFY_RET(x, y) do { \
+ if (!(x)) { \
+ KTEST_ERR(ctx, "FAIL: %s", #x); \
+ if (test_exit_on_failure) \
+ return (y); \
+ } else { \
+ KTEST_LOG(ctx, "PASS: %s", #x); \
+ } \
+} while (0)
+
+#ifdef TCP_HPTS_KTEST
+
+static void
+dump_hpts_entry(struct ktest_test_context *ctx, struct tcp_hpts_entry *hpts)
+{
+ KTEST_LOG(ctx, "tcp_hpts_entry(%p)", hpts);
+ KTEST_LOG(ctx, " p_cur_slot: %u", hpts->p_cur_slot);
+ KTEST_LOG(ctx, " p_prev_slot: %u", hpts->p_prev_slot);
+ KTEST_LOG(ctx, " p_nxt_slot: %u", hpts->p_nxt_slot);
+ KTEST_LOG(ctx, " p_runningslot: %u", hpts->p_runningslot);
+ KTEST_LOG(ctx, " p_on_queue_cnt: %d", hpts->p_on_queue_cnt);
+ KTEST_LOG(ctx, " p_hpts_active: %u", hpts->p_hpts_active);
+ KTEST_LOG(ctx, " p_wheel_complete: %u", hpts->p_wheel_complete);
+ KTEST_LOG(ctx, " p_direct_wake: %u", hpts->p_direct_wake);
+ KTEST_LOG(ctx, " p_on_min_sleep: %u", hpts->p_on_min_sleep);
+ KTEST_LOG(ctx, " p_hpts_wake_scheduled: %u", hpts->p_hpts_wake_scheduled);
+ KTEST_LOG(ctx, " hit_callout_thresh: %u", hpts->hit_callout_thresh);
+ KTEST_LOG(ctx, " p_hpts_sleep_time: %u", hpts->p_hpts_sleep_time);
+ KTEST_LOG(ctx, " p_delayed_by: %u", hpts->p_delayed_by);
+ KTEST_LOG(ctx, " overidden_sleep: %u", hpts->overidden_sleep);
+ KTEST_LOG(ctx, " saved_curslot: %u", hpts->saved_curslot);
+ KTEST_LOG(ctx, " saved_prev_slot: %u", hpts->saved_prev_slot);
+ KTEST_LOG(ctx, " syscall_cnt: %lu", hpts->syscall_cnt);
+ KTEST_LOG(ctx, " sleeping: %lu", hpts->sleeping);
+ KTEST_LOG(ctx, " p_cpu: %u", hpts->p_cpu);
+ KTEST_LOG(ctx, " ie_cookie: %p", hpts->ie_cookie);
+ KTEST_LOG(ctx, " p_hptsi: %p", hpts->p_hptsi);
+ KTEST_LOG(ctx, " p_mysleep: %ld.%06ld", hpts->p_mysleep.tv_sec, hpts->p_mysleep.tv_usec);
+}
+
+static void
+dump_tcpcb(struct tcpcb *tp)
+{
+ struct ktest_test_context *ctx = tp->t_fb_ptr;
+ struct inpcb *inp = &tp->t_inpcb;
+
+ KTEST_LOG(ctx, "tcp_control_block(%p)", tp);
+
+ /* HPTS-specific fields */
+ KTEST_LOG(ctx, " t_in_hpts: %d", tp->t_in_hpts);
+ KTEST_LOG(ctx, " t_hpts_cpu: %u", tp->t_hpts_cpu);
+ KTEST_LOG(ctx, " t_hpts_slot: %d", tp->t_hpts_slot);
+ KTEST_LOG(ctx, " t_hpts_gencnt: %u", tp->t_hpts_gencnt);
+ KTEST_LOG(ctx, " t_hpts_request: %u", tp->t_hpts_request);
+
+ /* LRO CPU field */
+ KTEST_LOG(ctx, " t_lro_cpu: %u", tp->t_lro_cpu);
+
+ /* TCP flags that affect HPTS */
+ KTEST_LOG(ctx, " t_flags2: 0x%x", tp->t_flags2);
+ KTEST_LOG(ctx, " TF2_HPTS_CPU_SET: %s", (tp->t_flags2 & TF2_HPTS_CPU_SET) ? "YES" : "NO");
+ KTEST_LOG(ctx, " TF2_HPTS_CALLS: %s", (tp->t_flags2 & TF2_HPTS_CALLS) ? "YES" : "NO");
+ KTEST_LOG(ctx, " TF2_SUPPORTS_MBUFQ: %s", (tp->t_flags2 & TF2_SUPPORTS_MBUFQ) ? "YES" : "NO");
+
+ /* Input PCB fields that HPTS uses */
+ KTEST_LOG(ctx, " inp_flags: 0x%x", inp->inp_flags);
+ KTEST_LOG(ctx, " INP_DROPPED: %s", (inp->inp_flags & INP_DROPPED) ? "YES" : "NO");
+ KTEST_LOG(ctx, " inp_flowid: 0x%x", inp->inp_flowid);
+ KTEST_LOG(ctx, " inp_flowtype: %u", inp->inp_flowtype);
+ KTEST_LOG(ctx, " inp_numa_domain: %d", inp->inp_numa_domain);
+}
+
+/* Enum for call counting indices */
+enum test_call_counts {
+ CCNT_MICROUPTIME = 0,
+ CCNT_SWI_ADD,
+ CCNT_SWI_REMOVE,
+ CCNT_SWI_SCHED,
+ CCNT_INTR_EVENT_BIND,
+ CCNT_INTR_EVENT_BIND_CPUSET,
+ CCNT_CALLOUT_INIT,
+ CCNT_CALLOUT_RESET_SBT_ON,
+ CCNT_CALLOUT_STOP_SAFE,
+ CCNT_TCP_OUTPUT,
+ CCNT_TCP_TFB_DO_QUEUED_SEGMENTS,
+ CCNT_MAX
+};
+
+static uint32_t call_counts[CCNT_MAX];
+
+static uint64_t test_time_usec = 0;
+
+/*
+ * Reset all test global variables to a clean state.
+ */
+static void
+test_hpts_init(void)
+{
+ memset(call_counts, 0, sizeof(call_counts));
+ test_time_usec = 0;
+}
+
+static void
+test_microuptime(struct timeval *tv)
+{
+ call_counts[CCNT_MICROUPTIME]++;
+ tv->tv_sec = test_time_usec / 1000000;
+ tv->tv_usec = test_time_usec % 1000000;
+}
+
+static int
+test_swi_add(struct intr_event **eventp, const char *name,
+ driver_intr_t handler, void *arg, int pri, enum intr_type flags,
+ void **cookiep)
+{
+ call_counts[CCNT_SWI_ADD]++;
+ /* Simulate successful SWI creation */
+ *eventp = (struct intr_event *)0xfeedface; /* Mock event */
+ *cookiep = (void *)0xdeadbeef; /* Mock cookie */
+ return (0);
+}
+
+static int
+test_swi_remove(void *cookie)
+{
+ call_counts[CCNT_SWI_REMOVE]++;
+ /* Simulate successful removal */
+ return (0);
+}
+
+static void
+test_swi_sched(void *cookie, int flags)
+{
+ call_counts[CCNT_SWI_SCHED]++;
+ /* Simulate successful SWI scheduling */
+}
+
+static int
+test_intr_event_bind(struct intr_event *ie, int cpu)
+{
+ call_counts[CCNT_INTR_EVENT_BIND]++;
+ /* Simulate successful binding */
+ return (0);
+}
+
+static int
+test_intr_event_bind_ithread_cpuset(struct intr_event *ie, struct _cpuset *mask)
+{
+ call_counts[CCNT_INTR_EVENT_BIND_CPUSET]++;
+ /* Simulate successful cpuset binding */
+ return (0);
+}
+
+static void
+test_callout_init(struct callout *c, int mpsafe)
+{
+ call_counts[CCNT_CALLOUT_INIT]++;
+ memset(c, 0, sizeof(*c));
+}
+
+static int
+test_callout_reset_sbt_on(struct callout *c, sbintime_t sbt, sbintime_t precision,
+ void (*func)(void *), void *arg, int cpu, int flags)
+{
+ call_counts[CCNT_CALLOUT_RESET_SBT_ON]++;
+ /* Return 1 to simulate successful timer scheduling */
+ return (1);
+}
+
+static int
+test_callout_stop_safe(struct callout *c, int flags)
+{
+ call_counts[CCNT_CALLOUT_STOP_SAFE]++;
+ /* Return 1 to simulate successful timer stopping */
+ return (1);
+}
+
+static const struct tcp_hptsi_funcs test_funcs = {
+ .microuptime = test_microuptime,
+ .swi_add = test_swi_add,
+ .swi_remove = test_swi_remove,
+ .swi_sched = test_swi_sched,
+ .intr_event_bind = test_intr_event_bind,
+ .intr_event_bind_ithread_cpuset = test_intr_event_bind_ithread_cpuset,
+ .callout_init = test_callout_init,
+ .callout_reset_sbt_on = test_callout_reset_sbt_on,
+ ._callout_stop_safe = test_callout_stop_safe,
+};
+
+#define TP_REMOVE_FROM_HPTS(tp) tp->bits_spare
+#define TP_LOG_TEST(tp) tp->t_log_state_set
+
+static int
+test_tcp_output(struct tcpcb *tp)
+{
+ struct ktest_test_context *ctx = tp->t_fb_ptr;
+ struct tcp_hptsi *pace = (struct tcp_hptsi*)tp->t_tfo_pending;
+ struct tcp_hpts_entry *hpts = pace->rp_ent[tp->t_hpts_cpu];
+
+ call_counts[CCNT_TCP_OUTPUT]++;
+ if (TP_LOG_TEST(tp)) {
+ KTEST_LOG(ctx, "=> tcp_output(%p)", tp);
+ dump_tcpcb(tp);
+ dump_hpts_entry(ctx, hpts);
+ }
+
+ if ((TP_REMOVE_FROM_HPTS(tp) & 1) != 0) {
+ if (TP_LOG_TEST(tp))
+ KTEST_LOG(ctx, "=> tcp_hpts_remove(%p)", tp);
+ tcp_hpts_remove(pace, tp);
+ }
+
+ if ((TP_REMOVE_FROM_HPTS(tp) & 2) != 0) {
+ INP_WUNLOCK(&tp->t_inpcb); /* tcp_output unlocks on error */
+ return (-1); /* Simulate tcp_output error */
+ }
+
+ return (0);
+}
+
+static int
+test_tfb_do_queued_segments(struct tcpcb *tp, int flag)
+{
+ struct ktest_test_context *ctx = tp->t_fb_ptr;
+ struct tcp_hptsi *pace = (struct tcp_hptsi*)tp->t_tfo_pending;
+ struct tcp_hpts_entry *hpts = pace->rp_ent[tp->t_hpts_cpu];
+
+ call_counts[CCNT_TCP_TFB_DO_QUEUED_SEGMENTS]++;
+ KTEST_LOG(ctx, "=> tfb_do_queued_segments(%p, %d)", tp, flag);
+ dump_tcpcb(tp);
+ dump_hpts_entry(ctx, hpts);
+
+ if ((TP_REMOVE_FROM_HPTS(tp) & 1) != 0) {
+ if (TP_LOG_TEST(tp))
+ KTEST_LOG(ctx, "=> tcp_hpts_remove(%p)", tp);
+ tcp_hpts_remove(pace, tp);
+ }
+
+ if ((TP_REMOVE_FROM_HPTS(tp) & 2) != 0) {
+ INP_WUNLOCK(&tp->t_inpcb); /* do_queued_segments unlocks on error */
+ return (-1); /* Simulate do_queued_segments error */
+ }
+
+ return (0);
+}
+
+static struct tcp_function_block test_tcp_fb = {
+ .tfb_tcp_block_name = "hpts_test_tcp",
+ .tfb_tcp_output = test_tcp_output,
+ .tfb_do_queued_segments = test_tfb_do_queued_segments,
+};
+
+/*
+ * Create a minimally initialized tcpcb that can be safely inserted into HPTS.
+ * This function allocates and initializes all the fields that HPTS code
+ * reads or writes.
+ */
+static struct tcpcb *
+test_hpts_create_tcpcb(struct ktest_test_context *ctx, struct tcp_hptsi *pace)
+{
+ struct tcpcb *tp;
+
+ tp = malloc(sizeof(struct tcpcb), M_TCPHPTS, M_WAITOK | M_ZERO);
+ if (tp) {
+ rw_init_flags(&tp->t_inpcb.inp_lock, "test-inp",
+ RW_RECURSE | RW_DUPOK);
+ refcount_init(&tp->t_inpcb.inp_refcount, 1);
+ tp->t_inpcb.inp_pcbinfo = &V_tcbinfo;
+ tp->t_fb = &test_tcp_fb;
+ tp->t_hpts_cpu = HPTS_CPU_NONE;
+ STAILQ_INIT(&tp->t_inqueue);
+ tcp_hpts_init(pace, tp);
+
+ /* Stuff some pointers in the tcb for test purposes. */
+ tp->t_fb_ptr = ctx;
+ tp->t_tfo_pending = (unsigned int*)pace;
+ }
+
+ return (tp);
+}
+
+/*
+ * Free a test tcpcb created by test_hpts_create_tcpcb()
+ */
+static void
+test_hpts_free_tcpcb(struct tcpcb *tp)
+{
+ if (tp == NULL)
+ return;
+
+ INP_LOCK_DESTROY(&tp->t_inpcb);
+ free(tp, M_TCPHPTS);
+}
+
+/*
+ * ***********************************************
+ * * KTEST functions for testing the HPTS module *
+ * ***********************************************
+ */
+
+/*
+ * Validates that the HPTS module is properly loaded and initialized by checking
+ * that the minimum HPTS time is configured.
+ */
+KTEST_FUNC(module_load)
+{
+ test_hpts_init();
+ KTEST_NEQUAL(tcp_min_hptsi_time, 0);
+ KTEST_VERIFY(tcp_bind_threads >= 0 && tcp_bind_threads <= 2);
+ KTEST_NEQUAL(tcp_hptsi_pace, NULL);
+ return (0);
+}
+
+/*
+ * Validates the creation and destruction of tcp_hptsi structures, ensuring
+ * proper initialization of internal fields and clean destruction.
+ */
+KTEST_FUNC(hptsi_create_destroy)
+{
+ struct tcp_hptsi *pace;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ KTEST_NEQUAL(pace->rp_ent, NULL);
+ KTEST_NEQUAL(pace->cts_last_ran, NULL);
+ KTEST_VERIFY(pace->rp_num_hptss > 0);
+ KTEST_VERIFY(pace->rp_num_hptss <= MAXCPU); /* Reasonable upper bound */
+ KTEST_VERIFY(pace->grp_cnt >= 1); /* At least one group */
+ KTEST_EQUAL(pace->funcs, &test_funcs); /* Verify function pointer was set */
+
+ /* Verify individual HPTS entries are properly initialized */
+ for (uint32_t i = 0; i < pace->rp_num_hptss; i++) {
+ KTEST_NEQUAL(pace->rp_ent[i], NULL);
+ KTEST_EQUAL(pace->rp_ent[i]->p_cpu, i);
+ KTEST_EQUAL(pace->rp_ent[i]->p_hptsi, pace);
+ KTEST_EQUAL(pace->rp_ent[i]->p_on_queue_cnt, 0);
+ }
+
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates that tcp_hptsi structures can be started and stopped properly,
+ * including verification that threads are created during start and cleaned up
+ * during stop operations.
+ */
+KTEST_FUNC(hptsi_start_stop)
+{
+ struct tcp_hptsi *pace;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+
+ tcp_hptsi_start(pace);
+
+ /* Verify that entries have threads started */
+ struct tcp_hpts_entry *hpts = pace->rp_ent[0];
+ KTEST_NEQUAL(hpts->ie_cookie, NULL); /* Should have SWI handler */
+ KTEST_EQUAL(hpts->p_hptsi, pace); /* Should point to our pace */
+
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates that multiple tcp_hptsi instances can coexist independently, with
+ * different configurations and CPU assignments without interfering with each
+ * other.
+ */
+KTEST_FUNC(hptsi_independence)
+{
+ struct tcp_hptsi *pace1, *pace2;
+ uint16_t cpu1, cpu2;
+
+ test_hpts_init();
+
+ pace1 = tcp_hptsi_create(&test_funcs, false);
+ pace2 = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace1, NULL);
+ KTEST_NEQUAL(pace2, NULL);
+ KTEST_NEQUAL(pace2->rp_ent, NULL);
+
+ cpu1 = tcp_hptsi_random_cpu(pace1);
+ cpu2 = tcp_hptsi_random_cpu(pace2);
+ KTEST_VERIFY(cpu1 < pace1->rp_num_hptss);
+ KTEST_VERIFY(cpu2 < pace2->rp_num_hptss);
+
+ /* Verify both instances have independent entry arrays */
+ KTEST_NEQUAL(pace1->rp_ent, pace2->rp_ent);
+ /* Verify they may have different CPU counts but both reasonable */
+ KTEST_VERIFY(pace1->rp_num_hptss > 0 && pace1->rp_num_hptss <= MAXCPU);
+ KTEST_VERIFY(pace2->rp_num_hptss > 0 && pace2->rp_num_hptss <= MAXCPU);
+
+ tcp_hptsi_destroy(pace1);
+ tcp_hptsi_destroy(pace2);
+
+ return (0);
+}
+
+/*
+ * Validates that custom function injection works correctly, ensuring that
+ * test-specific implementations of microuptime and others are properly
+ * called by the HPTS system.
+ */
+KTEST_FUNC(function_injection)
+{
+ struct tcp_hptsi *pace;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ KTEST_EQUAL(pace->funcs, &test_funcs);
+ KTEST_VERIFY(call_counts[CCNT_MICROUPTIME] > 0);
+ KTEST_VERIFY(call_counts[CCNT_CALLOUT_INIT] > 0);
+
+ tcp_hptsi_start(pace);
+ KTEST_VERIFY(call_counts[CCNT_SWI_ADD] > 0);
+ KTEST_VERIFY(tcp_bind_threads == 0 ||
+ call_counts[CCNT_INTR_EVENT_BIND] > 0 ||
+ call_counts[CCNT_INTR_EVENT_BIND_CPUSET] > 0);
+ KTEST_VERIFY(call_counts[CCNT_CALLOUT_RESET_SBT_ON] > 0);
+
+ tcp_hptsi_stop(pace);
+ KTEST_VERIFY(call_counts[CCNT_CALLOUT_STOP_SAFE] > 0);
+ KTEST_VERIFY(call_counts[CCNT_SWI_REMOVE] > 0);
+
+ tcp_hptsi_destroy(pace);
+
+ /* Verify we have a reasonable balance of create/destroy calls */
+ KTEST_EQUAL(call_counts[CCNT_SWI_ADD], call_counts[CCNT_SWI_REMOVE]);
+ KTEST_VERIFY(call_counts[CCNT_CALLOUT_RESET_SBT_ON] <= call_counts[CCNT_CALLOUT_STOP_SAFE]);
+
+ return (0);
+}
+
+/*
+ * Validates that a tcpcb can be properly initialized for HPTS compatibility,
+ * ensuring all required fields are set correctly and function pointers are
+ * valid for safe HPTS operations.
+ */
+KTEST_FUNC(tcpcb_initialization)
+{
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ /* Verify the tcpcb is properly initialized for HPTS */
+ tp = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp, NULL);
+ KTEST_NEQUAL(tp->t_fb, NULL);
+ KTEST_NEQUAL(tp->t_fb->tfb_tcp_output, NULL);
+ KTEST_NEQUAL(tp->t_fb->tfb_do_queued_segments, NULL);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_NONE);
+ KTEST_EQUAL((tp->t_flags2 & (TF2_HPTS_CPU_SET | TF2_HPTS_CALLS)), 0);
+
+ /* Verify that HPTS-specific fields are initialized */
+ KTEST_EQUAL(tp->t_hpts_gencnt, 0);
+ KTEST_EQUAL(tp->t_hpts_slot, 0);
+ KTEST_EQUAL(tp->t_hpts_request, 0);
+ KTEST_EQUAL(tp->t_lro_cpu, 0);
+ KTEST_VERIFY(tp->t_hpts_cpu < pace->rp_num_hptss);
+ KTEST_EQUAL(tp->t_inpcb.inp_refcount, 1);
+ KTEST_VERIFY(!(tp->t_inpcb.inp_flags & INP_DROPPED));
+
+ test_hpts_free_tcpcb(tp);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates that tcpcb structures can be successfully inserted into and removed
+ * from the HPTS wheel, with proper state tracking and slot assignment during
+ * the process.
+ */
+KTEST_FUNC(tcpcb_insertion)
+{
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp;
+ struct tcp_hpts_entry *hpts;
+ uint32_t timeout_usecs = 10;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ tp = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp, NULL);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_NONE);
+ KTEST_EQUAL((tp->t_flags2 & TF2_HPTS_CALLS), 0);
+
+ INP_WLOCK(&tp->t_inpcb);
+ tp->t_flags2 |= TF2_HPTS_CALLS;
+ KTEST_EQUAL(call_counts[CCNT_SWI_SCHED], 0);
+ tcp_hpts_insert(pace, tp, timeout_usecs, NULL);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE);
+ INP_WUNLOCK(&tp->t_inpcb);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 0);
+ KTEST_EQUAL(call_counts[CCNT_SWI_SCHED], 1);
+ KTEST_VERIFY(tcp_in_hpts(tp));
+ KTEST_VERIFY(tp->t_hpts_slot >= 0);
+ KTEST_VERIFY(tp->t_hpts_slot < NUM_OF_HPTSI_SLOTS);
+
+ hpts = pace->rp_ent[tp->t_hpts_cpu];
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 1);
+ KTEST_EQUAL(tp->t_hpts_request, 0);
+ KTEST_EQUAL(tp->t_hpts_slot, HPTS_USEC_TO_SLOTS(timeout_usecs));
+ //KTEST_EQUAL(tp->t_hpts_gencnt, 1);
+
+ INP_WLOCK(&tp->t_inpcb);
+ tcp_hpts_remove(pace, tp);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_NONE);
+ INP_WUNLOCK(&tp->t_inpcb);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 0);
+ KTEST_VERIFY(!tcp_in_hpts(tp));
+
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 0);
+
+ test_hpts_free_tcpcb(tp);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates the core HPTS timer functionality by verifying that scheduled
+ * tcpcb entries trigger tcp_output calls at appropriate times, simulating
+ * real-world timer-driven TCP processing.
+ */
+KTEST_FUNC(timer_functionality)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcp_hpts_entry *hpts;
+ struct tcpcb *tp;
+ int32_t slots_ran;
+ uint32_t i;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ for (i = 0; i < pace->rp_num_hptss; i++)
+ dump_hpts_entry(ctx, pace->rp_ent[i]);
+
+ /* Create and insert the tcpcb into the HPTS wheel to wait for 500 usec */
+ tp = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp, NULL);
+ dump_tcpcb(tp);
+ TP_LOG_TEST(tp) = 1; /* Enable logging for this tcpcb */
+
+ KTEST_LOG(ctx, "=> tcp_hpts_insert(%p)", tp);
+ INP_WLOCK(&tp->t_inpcb);
+ tp->t_flags2 |= TF2_HPTS_CALLS; /* Mark as needing HPTS processing */
+ tcp_hpts_insert(pace, tp, 500, NULL);
+ INP_WUNLOCK(&tp->t_inpcb);
+
+ dump_tcpcb(tp);
+ for (i = 0; i < pace->rp_num_hptss; i++)
+ dump_hpts_entry(ctx, pace->rp_ent[i]);
+
+ hpts = pace->rp_ent[tp->t_hpts_cpu];
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 1);
+ KTEST_EQUAL(hpts->p_prev_slot, 0);
+ KTEST_EQUAL(hpts->p_cur_slot, 0);
+ KTEST_EQUAL(hpts->p_runningslot, 0);
+ KTEST_EQUAL(hpts->p_nxt_slot, 1);
+ KTEST_EQUAL(hpts->p_hpts_active, 0);
+
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE);
+ KTEST_EQUAL(tp->t_hpts_request, 0);
+ KTEST_EQUAL(tp->t_hpts_slot, HPTS_USEC_TO_SLOTS(500));
+
+ /* Set our test flag to indicate the tcpcb should be removed from the
+ * wheel when tcp_output is called. */
+ TP_REMOVE_FROM_HPTS(tp) = 1;
+
+ /* Test early exit condition: advance time by insufficient amount */
+ KTEST_LOG(ctx, "Testing early exit with insufficient time advancement");
+ test_time_usec += 1; /* Very small advancement - should cause early exit */
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ /* Should return 0 slots due to insufficient time advancement */
+ KTEST_EQUAL(slots_ran, 0);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 0); /* No processing should occur */
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE); /* Connection still queued */
+
+ /* Wait for 498 more usecs and trigger the HPTS workers and verify
+ * nothing happens yet (total 499 usec) */
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 0);
+ test_time_usec += 498;
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ KTEST_LOG(ctx, "=> tcp_hptsi(%p)", pace->rp_ent[i]);
+ HPTS_LOCK(pace->rp_ent[i]);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(pace->rp_ent[i], true);
+ HPTS_UNLOCK(pace->rp_ent[i]);
+ NET_EPOCH_EXIT(et);
+
+ dump_hpts_entry(ctx, pace->rp_ent[i]);
+ KTEST_VERIFY(slots_ran >= 0);
+ KTEST_EQUAL(pace->rp_ent[i]->p_prev_slot, 49);
+ KTEST_EQUAL(pace->rp_ent[i]->p_cur_slot, 49);
+ }
+
+ dump_tcpcb(tp);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 0);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE);
+ KTEST_EQUAL(tp->t_hpts_request, 0);
+ KTEST_EQUAL(tp->t_hpts_slot, HPTS_USEC_TO_SLOTS(500));
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 1);
+
+ /* Wait for 1 more usec and trigger the HPTS workers and verify it
+ * triggers tcp_output this time */
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 0);
+ test_time_usec += 1;
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ KTEST_LOG(ctx, "=> tcp_hptsi(%p)", pace->rp_ent[i]);
+ HPTS_LOCK(pace->rp_ent[i]);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(pace->rp_ent[i], true);
+ HPTS_UNLOCK(pace->rp_ent[i]);
+ NET_EPOCH_EXIT(et);
+
+ dump_hpts_entry(ctx, pace->rp_ent[i]);
+ KTEST_VERIFY(slots_ran >= 0);
+ KTEST_EQUAL(pace->rp_ent[i]->p_prev_slot, 50);
+ KTEST_EQUAL(pace->rp_ent[i]->p_cur_slot, 50);
+ }
+
+ dump_tcpcb(tp);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 1);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_NONE);
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 0);
+
+ test_hpts_free_tcpcb(tp);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates HPTS scalability by creating and inserting a LOT of tcpcbs into
+ * the HPTS wheel, testing performance under high load conditions.
+ */
+KTEST_FUNC(scalability_tcpcbs)
+{
+ struct tcp_hptsi *pace;
+ struct tcpcb **tcpcbs;
+ uint32_t i, num_tcpcbs = 100000, total_queued = 0;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ /* Allocate array to hold pointers to all tcpcbs */
+ tcpcbs = malloc(num_tcpcbs * sizeof(struct tcpcb *), M_TCPHPTS, M_WAITOK | M_ZERO);
+ KTEST_VERIFY_RET(tcpcbs != NULL, ENOMEM);
+
+ /* Create a LOT of tcpcbs */
+ KTEST_LOG(ctx, "Creating %u tcpcbs...", num_tcpcbs);
+ for (i = 0; i < num_tcpcbs; i++) {
+ tcpcbs[i] = test_hpts_create_tcpcb(ctx, pace);
+ if (tcpcbs[i] == NULL) {
+ KTEST_ERR(ctx, "FAIL: tcpcbs[i] == NULL");
+ return (EINVAL);
+ }
+ }
+
+ /* Insert all created tcpcbs into HPTS */
+ KTEST_LOG(ctx, "Inserting all tcpcbs into HPTS...");
+ for (i = 0; i < num_tcpcbs; i++) {
+ INP_WLOCK(&tcpcbs[i]->t_inpcb);
+ tcpcbs[i]->t_flags2 |= TF2_HPTS_CALLS;
+ /* Insert with varying future timeouts to distribute across slots */
+ tcp_hpts_insert(pace, tcpcbs[i], 100 + (i % 1000), NULL);
+ INP_WUNLOCK(&tcpcbs[i]->t_inpcb);
+ }
+
+ /* Verify total queue counts across all CPUs */
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ total_queued += pace->rp_ent[i]->p_on_queue_cnt;
+ }
+ KTEST_EQUAL(total_queued, num_tcpcbs);
+
+ for (i = 0; i < pace->rp_num_hptss; i++)
+ dump_hpts_entry(ctx, pace->rp_ent[i]);
+
+ /* Remove all tcpcbs from HPTS */
+ KTEST_LOG(ctx, "Removing all tcpcbs from HPTS...");
+ for (i = 0; i < num_tcpcbs; i++) {
+ INP_WLOCK(&tcpcbs[i]->t_inpcb);
+ if (tcpcbs[i]->t_in_hpts != IHPTS_NONE) {
+ tcp_hpts_remove(pace, tcpcbs[i]);
+ }
+ INP_WUNLOCK(&tcpcbs[i]->t_inpcb);
+ }
+
+ /* Verify all queues are now empty */
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ if (pace->rp_ent[i]->p_on_queue_cnt != 0) {
+ KTEST_ERR(ctx, "FAIL: pace->rp_ent[i]->p_on_queue_cnt != 0");
+ return (EINVAL);
+ }
+ }
+
+ for (i = 0; i < num_tcpcbs; i++) {
+ test_hpts_free_tcpcb(tcpcbs[i]);
+ }
+ free(tcpcbs, M_TCPHPTS);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates wheel wrap scenarios where the timer falls significantly behind
+ * and needs to process more than one full wheel revolution worth of slots.
+ */
+KTEST_FUNC(wheel_wrap_recovery)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcpcb **tcpcbs;
+ uint32_t i, timeout_usecs, num_tcpcbs = 500;
+ int32_t slots_ran;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ /* Allocate array to hold pointers to tcpcbs */
+ tcpcbs = malloc(num_tcpcbs * sizeof(struct tcpcb *), M_TCPHPTS, M_WAITOK | M_ZERO);
+ KTEST_VERIFY_RET(tcpcbs != NULL, ENOMEM);
+
+ /* Create tcpcbs and insert them across many slots */
+ for (i = 0; i < num_tcpcbs; i++) {
+ tcpcbs[i] = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tcpcbs[i], NULL);
+ TP_REMOVE_FROM_HPTS(tcpcbs[i]) = 1;
+
+ timeout_usecs = ((i * NUM_OF_HPTSI_SLOTS) / num_tcpcbs) * HPTS_USECS_PER_SLOT; /* Spread across slots */
+
+ INP_WLOCK(&tcpcbs[i]->t_inpcb);
+ tcpcbs[i]->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tcpcbs[i], timeout_usecs, NULL);
+ INP_WUNLOCK(&tcpcbs[i]->t_inpcb);
+ }
+
+ /* Fast forward time significantly to trigger wheel wrap */
+ test_time_usec += (NUM_OF_HPTSI_SLOTS + 5000) * HPTS_USECS_PER_SLOT;
+
+ for (i = 0; i < pace->rp_num_hptss; i++) {
+ KTEST_LOG(ctx, "=> tcp_hptsi(%u)", i);
+ KTEST_NEQUAL(pace->rp_ent[i]->p_on_queue_cnt, 0);
+
+ HPTS_LOCK(pace->rp_ent[i]);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(pace->rp_ent[i], true);
+ HPTS_UNLOCK(pace->rp_ent[i]);
+ NET_EPOCH_EXIT(et);
+
+ KTEST_EQUAL(slots_ran, NUM_OF_HPTSI_SLOTS-1); /* Should process all slots */
+ KTEST_EQUAL(pace->rp_ent[i]->p_on_queue_cnt, 0);
+ KTEST_NEQUAL(pace->rp_ent[i]->p_cur_slot,
+ pace->rp_ent[i]->p_prev_slot);
+ }
+
+ /* Cleanup */
+ for (i = 0; i < num_tcpcbs; i++) {
+ INP_WLOCK(&tcpcbs[i]->t_inpcb);
+ if (tcpcbs[i]->t_in_hpts != IHPTS_NONE) {
+ tcp_hpts_remove(pace, tcpcbs[i]);
+ }
+ INP_WUNLOCK(&tcpcbs[i]->t_inpcb);
+ test_hpts_free_tcpcb(tcpcbs[i]);
+ }
+ free(tcpcbs, M_TCPHPTS);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates proper handling of tcpcbs in the IHPTS_MOVING state, which occurs
+ * when a tcpcb is being processed by the HPTS thread but gets removed.
+ */
+KTEST_FUNC(tcpcb_moving_state)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp1, *tp2;
+ struct tcp_hpts_entry *hpts;
+ int32_t slots_ran;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ /* Create two tcpcbs on the same CPU/slot */
+ tp1 = test_hpts_create_tcpcb(ctx, pace);
+ tp2 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp1, NULL);
+ KTEST_NEQUAL(tp2, NULL);
+
+ /* Force them to the same CPU for predictable testing */
+ tp1->t_hpts_cpu = 0;
+ tp2->t_hpts_cpu = 0;
+
+ /* Insert both into the same slot */
+ INP_WLOCK(&tp1->t_inpcb);
+ tp1->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp1, 100, NULL);
+ INP_WUNLOCK(&tp1->t_inpcb);
+
+ INP_WLOCK(&tp2->t_inpcb);
+ tp2->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp2, 100, NULL);
+ INP_WUNLOCK(&tp2->t_inpcb);
+
+ hpts = pace->rp_ent[0];
+
+ /* Manually transition tp1 to MOVING state to simulate race condition */
+ HPTS_LOCK(hpts);
+ tp1->t_in_hpts = IHPTS_MOVING;
+ tp1->t_hpts_slot = -1; /* Mark for removal */
+ HPTS_UNLOCK(hpts);
+
+ /* Set time and run HPTS to process the moving state */
+ test_time_usec += 100;
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ KTEST_VERIFY(slots_ran >= 0);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 1); /* Shouldn't call on both */
+
+ /* tp1 should be cleaned up and removed */
+ KTEST_EQUAL(tp1->t_in_hpts, IHPTS_NONE);
+ /* tp2 should have been processed normally */
+ KTEST_EQUAL(tp2->t_in_hpts, IHPTS_NONE);
+
+ test_hpts_free_tcpcb(tp1);
+ test_hpts_free_tcpcb(tp2);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates that tcpcbs with deferred requests (t_hpts_request > 0) are
+ * properly handled and re-inserted into appropriate future slots after
+ * the wheel processes enough slots to accommodate the original request.
+ */
+KTEST_FUNC(deferred_requests)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp, *tp2;
+ struct tcp_hpts_entry *hpts;
+ uint32_t large_timeout_usecs = (NUM_OF_HPTSI_SLOTS + 5000) * HPTS_USECS_PER_SLOT; /* Beyond wheel capacity */
+ uint32_t huge_timeout_usecs = (NUM_OF_HPTSI_SLOTS * 3) * HPTS_USECS_PER_SLOT; /* 3x wheel capacity */
+ uint32_t initial_request;
+ int32_t slots_ran;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ tp = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp, NULL);
+
+ /* Insert with a request that exceeds current wheel capacity */
+ INP_WLOCK(&tp->t_inpcb);
+ tp->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp, large_timeout_usecs, NULL);
+ INP_WUNLOCK(&tp->t_inpcb);
+
+ /* Verify it was inserted with a deferred request */
+ dump_tcpcb(tp);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE);
+ KTEST_VERIFY(tp->t_hpts_request > 0);
+ KTEST_VERIFY(tp->t_hpts_slot < NUM_OF_HPTSI_SLOTS);
+
+ hpts = pace->rp_ent[tp->t_hpts_cpu];
+
+ /* Advance time to process deferred requests */
+ test_time_usec += NUM_OF_HPTSI_SLOTS * HPTS_USECS_PER_SLOT;
+
+ /* Process the wheel to handle deferred requests */
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ dump_hpts_entry(ctx, hpts);
+ KTEST_GREATER_THAN(slots_ran, 0);
+ dump_tcpcb(tp);
+ KTEST_EQUAL(tp->t_hpts_request, 0);
+
+ /* Test incremental deferred request processing over multiple cycles */
+ KTEST_LOG(ctx, "Testing incremental deferred request processing");
+
+ /* Create a new connection with an even larger request */
+ tp2 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp2, NULL);
+ tp2->t_hpts_cpu = tp->t_hpts_cpu; /* Same CPU for predictable testing */
+
+ INP_WLOCK(&tp2->t_inpcb);
+ tp2->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp2, huge_timeout_usecs, NULL);
+ INP_WUNLOCK(&tp2->t_inpcb);
+
+ /* Verify initial deferred request */
+ initial_request = tp2->t_hpts_request;
+ KTEST_VERIFY(initial_request > NUM_OF_HPTSI_SLOTS);
+
+ /* Process one wheel cycle - should reduce but not eliminate request */
+ test_time_usec += NUM_OF_HPTSI_SLOTS * HPTS_USECS_PER_SLOT;
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ /* Request should be reduced but not zero */
+ KTEST_GREATER_THAN(initial_request, tp2->t_hpts_request);
+ KTEST_VERIFY(tp2->t_hpts_request > 0);
+ KTEST_EQUAL(tp2->t_in_hpts, IHPTS_ONQUEUE); /* Still queued */
+
+ /* For huge_timeout_usecs = NUM_OF_HPTSI_SLOTS * 3 * HPTS_USECS_PER_SLOT, we need ~3 cycles to complete.
+ * Each cycle can reduce the request by at most NUM_OF_HPTSI_SLOTS. */
+ test_time_usec += NUM_OF_HPTSI_SLOTS * HPTS_USECS_PER_SLOT;
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ /* After second cycle, request should be reduced significantly (likely by ~NUM_OF_HPTSI_SLOTS) */
+ KTEST_VERIFY(tp2->t_hpts_request < initial_request);
+ KTEST_VERIFY(tp2->t_hpts_request > 0); /* But not yet zero for such a large request */
+
+ /* Clean up second connection */
+ INP_WLOCK(&tp2->t_inpcb);
+ if (tp2->t_in_hpts != IHPTS_NONE) {
+ tcp_hpts_remove(pace, tp2);
+ }
+ INP_WUNLOCK(&tp2->t_inpcb);
+ test_hpts_free_tcpcb(tp2);
+
+ /* Clean up */
+ INP_WLOCK(&tp->t_inpcb);
+ if (tp->t_in_hpts != IHPTS_NONE) {
+ tcp_hpts_remove(pace, tp);
+ }
+ INP_WUNLOCK(&tp->t_inpcb);
+ test_hpts_free_tcpcb(tp);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates CPU assignment and affinity mechanisms, including flowid-based
+ * assignment, random fallback scenarios, and explicit CPU setting. Tests
+ * the actual cpu assignment logic in hpts_cpuid via tcp_set_hpts.
+ */
+KTEST_FUNC(cpu_assignment)
+{
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp1, *tp2, *tp2_dup, *tp3;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+
+ /* Test random CPU assignment (no flowid) */
+ tp1 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp1, NULL);
+ tp1->t_inpcb.inp_flowtype = M_HASHTYPE_NONE;
+ INP_WLOCK(&tp1->t_inpcb);
+ tcp_set_hpts(pace, tp1);
+ INP_WUNLOCK(&tp1->t_inpcb);
+ KTEST_VERIFY(tp1->t_hpts_cpu < pace->rp_num_hptss);
+ KTEST_VERIFY(tp1->t_flags2 & TF2_HPTS_CPU_SET);
+
+ /* Test flowid-based assignment */
+ tp2 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp2, NULL);
+ tp2->t_inpcb.inp_flowtype = M_HASHTYPE_RSS_TCP_IPV4;
+ tp2->t_inpcb.inp_flowid = 12345;
+ INP_WLOCK(&tp2->t_inpcb);
+ tcp_set_hpts(pace, tp2);
+ INP_WUNLOCK(&tp2->t_inpcb);
+ KTEST_VERIFY(tp2->t_hpts_cpu < pace->rp_num_hptss);
+ KTEST_VERIFY(tp2->t_flags2 & TF2_HPTS_CPU_SET);
+
+ /* With the same flowid, should get same CPU assignment */
+ tp2_dup = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp2_dup, NULL);
+ tp2_dup->t_inpcb.inp_flowtype = M_HASHTYPE_RSS_TCP_IPV4;
+ tp2_dup->t_inpcb.inp_flowid = 12345;
+ INP_WLOCK(&tp2_dup->t_inpcb);
+ tcp_set_hpts(pace, tp2_dup);
+ INP_WUNLOCK(&tp2_dup->t_inpcb);
+ KTEST_EQUAL(tp2_dup->t_hpts_cpu, tp2->t_hpts_cpu);
+
+ /* Test explicit CPU setting */
+ tp3 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp3, NULL);
+ tp3->t_hpts_cpu = 1; /* Assume we have at least 2 CPUs */
+ tp3->t_flags2 |= TF2_HPTS_CPU_SET;
+ INP_WLOCK(&tp3->t_inpcb);
+ tcp_set_hpts(pace, tp3);
+ INP_WUNLOCK(&tp3->t_inpcb);
+ KTEST_EQUAL(tp3->t_hpts_cpu, 1);
+
+ test_hpts_free_tcpcb(tp1);
+ test_hpts_free_tcpcb(tp2);
+ test_hpts_free_tcpcb(tp2_dup);
+ test_hpts_free_tcpcb(tp3);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates edge cases in slot calculation including boundary conditions
+ * around slot 0, maximum slots, and slot wrapping arithmetic.
+ */
+KTEST_FUNC(slot_boundary_conditions)
+{
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ /* Test insertion at slot 0 */
+ tp = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp, NULL);
+ INP_WLOCK(&tp->t_inpcb);
+ tp->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp, 0, NULL); /* Should insert immediately (0 timeout) */
+ INP_WUNLOCK(&tp->t_inpcb);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE);
+ KTEST_VERIFY(tp->t_hpts_slot < NUM_OF_HPTSI_SLOTS);
+
+ INP_WLOCK(&tp->t_inpcb);
+ tcp_hpts_remove(pace, tp);
+ INP_WUNLOCK(&tp->t_inpcb);
+
+ /* Test insertion at maximum slot value */
+ INP_WLOCK(&tp->t_inpcb);
+ tp->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp, (NUM_OF_HPTSI_SLOTS - 1) * HPTS_USECS_PER_SLOT, NULL);
+ INP_WUNLOCK(&tp->t_inpcb);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE);
+
+ INP_WLOCK(&tp->t_inpcb);
+ tcp_hpts_remove(pace, tp);
+ INP_WUNLOCK(&tp->t_inpcb);
+
+ /* Test very small timeout values */
+ INP_WLOCK(&tp->t_inpcb);
+ tp->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp, 1, NULL);
+ INP_WUNLOCK(&tp->t_inpcb);
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_ONQUEUE);
+ KTEST_EQUAL(tp->t_hpts_slot, HPTS_USEC_TO_SLOTS(1)); /* Should convert 1 usec to slot */
+
+ INP_WLOCK(&tp->t_inpcb);
+ tcp_hpts_remove(pace, tp);
+ INP_WUNLOCK(&tp->t_inpcb);
+
+ test_hpts_free_tcpcb(tp);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates HPTS behavior under high load conditions, including proper
+ * processing of many connections and connection count tracking.
+ */
+KTEST_FUNC(dynamic_sleep_adjustment)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcpcb **tcpcbs;
+ struct tcp_hpts_entry *hpts;
+ uint32_t i, num_tcpcbs = DEFAULT_CONNECTION_THRESHOLD + 50;
+ int32_t slots_ran;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ /* Create many connections to exceed threshold */
+ tcpcbs = malloc(num_tcpcbs * sizeof(struct tcpcb *), M_TCPHPTS, M_WAITOK | M_ZERO);
+ KTEST_VERIFY_RET(tcpcbs != NULL, ENOMEM);
+
+ for (i = 0; i < num_tcpcbs; i++) {
+ tcpcbs[i] = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tcpcbs[i], NULL);
+ tcpcbs[i]->t_hpts_cpu = 0; /* Force all to CPU 0 */
+ INP_WLOCK(&tcpcbs[i]->t_inpcb);
+ tcpcbs[i]->t_flags2 |= TF2_HPTS_CALLS;
+ TP_REMOVE_FROM_HPTS(tcpcbs[i]) = 1; /* Will be removed after output */
+ tcp_hpts_insert(pace, tcpcbs[i], 100, NULL);
+ INP_WUNLOCK(&tcpcbs[i]->t_inpcb);
+ }
+
+ hpts = pace->rp_ent[0];
+ dump_hpts_entry(ctx, hpts);
+
+ /* Verify we're above threshold */
+ KTEST_GREATER_THAN(hpts->p_on_queue_cnt, DEFAULT_CONNECTION_THRESHOLD);
+
+ /* Run HPTS to process many connections */
+ test_time_usec += 100;
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ /* Verify HPTS processed slots and connections correctly */
+ KTEST_GREATER_THAN(slots_ran, 0);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], num_tcpcbs);
+
+ /* Verify all connections were removed from queue */
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 0);
+
+ /* Cleanup */
+ for (i = 0; i < num_tcpcbs; i++) {
+ test_hpts_free_tcpcb(tcpcbs[i]);
+ }
+ free(tcpcbs, M_TCPHPTS);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates handling of concurrent insert/remove operations and race conditions
+ * between HPTS processing and user operations.
+ */
+KTEST_FUNC(concurrent_operations)
+{
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp1, *tp2;
+ struct tcp_hpts_entry *hpts;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ tp1 = test_hpts_create_tcpcb(ctx, pace);
+ tp2 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp1, NULL);
+ KTEST_NEQUAL(tp2, NULL);
+
+ /* Force all to CPU 0 */
+ tp1->t_hpts_cpu = 0;
+ tp2->t_hpts_cpu = 0;
+
+ /* Insert tp1 */
+ INP_WLOCK(&tp1->t_inpcb);
+ tp1->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp1, 100, NULL);
+ INP_WUNLOCK(&tp1->t_inpcb);
+
+ /* Insert tp2 into same slot */
+ INP_WLOCK(&tp2->t_inpcb);
+ tp2->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp2, 100, NULL);
+ INP_WUNLOCK(&tp2->t_inpcb);
+
+ /* Verify both are inserted */
+ KTEST_EQUAL(tp1->t_in_hpts, IHPTS_ONQUEUE);
+ KTEST_EQUAL(tp2->t_in_hpts, IHPTS_ONQUEUE);
+
+ /* Verify they're both assigned to the same slot */
+ KTEST_EQUAL(tp1->t_hpts_slot, tp2->t_hpts_slot);
+
+ /* Verify queue count reflects both connections */
+ KTEST_EQUAL(tp1->t_hpts_cpu, tp2->t_hpts_cpu); /* Should be on same CPU */
+ hpts = pace->rp_ent[tp1->t_hpts_cpu];
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 2);
+
+ /* Remove tp1 while tp2 is still there */
+ INP_WLOCK(&tp1->t_inpcb);
+ tcp_hpts_remove(pace, tp1);
+ INP_WUNLOCK(&tp1->t_inpcb);
+
+ /* Verify tp1 removed, tp2 still there */
+ KTEST_EQUAL(tp1->t_in_hpts, IHPTS_NONE);
+ KTEST_EQUAL(tp2->t_in_hpts, IHPTS_ONQUEUE);
+
+ /* Verify queue count decreased by one */
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 1);
+
+ /* Remove tp2 */
+ INP_WLOCK(&tp2->t_inpcb);
+ tcp_hpts_remove(pace, tp2);
+ INP_WUNLOCK(&tp2->t_inpcb);
+
+ KTEST_EQUAL(tp2->t_in_hpts, IHPTS_NONE);
+
+ /* Verify queue is now completely empty */
+ KTEST_EQUAL(hpts->p_on_queue_cnt, 0);
+
+ test_hpts_free_tcpcb(tp1);
+ test_hpts_free_tcpcb(tp2);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates the queued segments processing path via tfb_do_queued_segments,
+ * which is an alternative to direct tcp_output calls.
+ */
+KTEST_FUNC(queued_segments_processing)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp;
+ struct tcp_hpts_entry *hpts;
+ struct mbuf *fake_mbuf;
+ int32_t slots_ran;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ tp = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp, NULL);
+
+ /* Create a minimal fake mbuf that has valid STAILQ pointers */
+ fake_mbuf = malloc(sizeof(struct mbuf), M_TCPHPTS, M_WAITOK | M_ZERO);
+ KTEST_NEQUAL(fake_mbuf, NULL);
+
+ /* Set up for queued segments path */
+ tp->t_flags2 |= (TF2_HPTS_CALLS | TF2_SUPPORTS_MBUFQ);
+ STAILQ_INSERT_TAIL(&tp->t_inqueue, fake_mbuf, m_stailqpkt);
+
+ INP_WLOCK(&tp->t_inpcb);
+ tcp_hpts_insert(pace, tp, 100, NULL);
+ INP_WUNLOCK(&tp->t_inpcb);
+
+ hpts = pace->rp_ent[tp->t_hpts_cpu];
+
+ /* Run HPTS and verify queued segments path is taken */
+ test_time_usec += 100;
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ KTEST_VERIFY(slots_ran >= 0);
+ KTEST_EQUAL(call_counts[CCNT_TCP_TFB_DO_QUEUED_SEGMENTS], 1);
+
+ /* Connection should be removed from HPTS after processing */
+ KTEST_EQUAL(tp->t_in_hpts, IHPTS_NONE);
+
+ /* Clean up the fake mbuf if it's still in the queue */
+ if (!STAILQ_EMPTY(&tp->t_inqueue)) {
+ struct mbuf *m = STAILQ_FIRST(&tp->t_inqueue);
+ STAILQ_REMOVE_HEAD(&tp->t_inqueue, m_stailqpkt);
+ free(m, M_TCPHPTS);
+ }
+
+ test_hpts_free_tcpcb(tp);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates the direct wake mechanism and wake inhibition logic when
+ * the connection count exceeds thresholds.
+ */
+KTEST_FUNC(direct_wake_mechanism)
+{
+ struct tcp_hptsi *pace;
+ struct tcpcb *tp;
+ struct tcp_hpts_entry *hpts;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ tp = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp, NULL);
+ hpts = pace->rp_ent[tp->t_hpts_cpu];
+
+ /* Test direct wake when not over threshold */
+ HPTS_LOCK(hpts);
+ hpts->p_on_queue_cnt = 50; /* Below threshold */
+ hpts->p_hpts_wake_scheduled = 0;
+ tcp_hpts_wake(hpts);
+ KTEST_EQUAL(hpts->p_hpts_wake_scheduled, 1);
+ KTEST_EQUAL(call_counts[CCNT_SWI_SCHED], 1);
+ HPTS_UNLOCK(hpts);
+
+ /* Reset for next test */
+ hpts->p_hpts_wake_scheduled = 0;
+ call_counts[CCNT_SWI_SCHED] = 0;
+
+ /* Test wake inhibition when over threshold */
+ HPTS_LOCK(hpts);
+ hpts->p_on_queue_cnt = 200; /* Above threshold */
+ hpts->p_direct_wake = 1; /* Request direct wake */
+ tcp_hpts_wake(hpts);
+ KTEST_EQUAL(hpts->p_hpts_wake_scheduled, 0); /* Should be inhibited */
+ KTEST_EQUAL(hpts->p_direct_wake, 0); /* Should be cleared */
+ KTEST_EQUAL(call_counts[CCNT_SWI_SCHED], 0); /* No SWI scheduled */
+ HPTS_UNLOCK(hpts);
+
+ test_hpts_free_tcpcb(tp);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates HPTS collision detection when attempting to run HPTS while
+ * it's already active.
+ */
+KTEST_FUNC(hpts_collision_detection)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcp_hpts_entry *hpts;
+ int32_t slots_ran;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ hpts = pace->rp_ent[0];
+
+ /* Mark HPTS as active */
+ HPTS_LOCK(hpts);
+ hpts->p_hpts_active = 1;
+ HPTS_UNLOCK(hpts);
+
+ /* Attempt to run HPTS again - should detect collision */
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, false); /* from_callout = false */
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ /* Should return 0 indicating no work done due to collision */
+ KTEST_EQUAL(slots_ran, 0);
+
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+/*
+ * Validates generation count handling for race condition detection between
+ * HPTS processing and connection insertion/removal operations.
+ */
+KTEST_FUNC(generation_count_validation)
+{
+ struct epoch_tracker et;
+ struct tcp_hptsi *pace;
+ struct tcp_hpts_entry *hpts;
+ struct tcpcb *tp1, *tp2;
+ uint32_t initial_gencnt, slot_to_test = 10;
+ uint32_t timeout_usecs = slot_to_test * HPTS_USECS_PER_SLOT;
+ uint32_t tp2_original_gencnt;
+ int32_t slots_ran;
+
+ test_hpts_init();
+
+ pace = tcp_hptsi_create(&test_funcs, false);
+ KTEST_NEQUAL(pace, NULL);
+ tcp_hptsi_start(pace);
+
+ hpts = pace->rp_ent[0];
+
+ /* Record initial generation count for the test slot */
+ initial_gencnt = hpts->p_hptss[slot_to_test].gencnt;
+
+ /* Create and insert first connection */
+ tp1 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp1, NULL);
+ tp1->t_hpts_cpu = 0; /* Force to CPU 0 */
+
+ INP_WLOCK(&tp1->t_inpcb);
+ tp1->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp1, timeout_usecs, NULL);
+ INP_WUNLOCK(&tp1->t_inpcb);
+
+ /* Verify connection stored the generation count */
+ KTEST_EQUAL(tp1->t_in_hpts, IHPTS_ONQUEUE);
+ KTEST_EQUAL(tp1->t_hpts_slot, slot_to_test);
+ KTEST_EQUAL(tp1->t_hpts_gencnt, initial_gencnt);
+
+ /* Create second connection but don't insert yet */
+ tp2 = test_hpts_create_tcpcb(ctx, pace);
+ KTEST_NEQUAL(tp2, NULL);
+ tp2->t_hpts_cpu = 0; /* Force to CPU 0 */
+
+ /* Force generation count increment by processing the slot */
+ test_time_usec += (slot_to_test + 1) * HPTS_USECS_PER_SLOT;
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ /* Verify processing occurred */
+ KTEST_VERIFY(slots_ran > 0);
+ KTEST_EQUAL(call_counts[CCNT_TCP_OUTPUT], 1);
+
+ /* Verify generation count was incremented */
+ KTEST_EQUAL(hpts->p_hptss[slot_to_test].gencnt, initial_gencnt + 1);
+
+ /* Verify first connection was processed and removed */
+ KTEST_EQUAL(tp1->t_in_hpts, IHPTS_NONE);
+
+ /* Insert second connection and record its generation count */
+ INP_WLOCK(&tp2->t_inpcb);
+ tp2->t_flags2 |= TF2_HPTS_CALLS;
+ tcp_hpts_insert(pace, tp2, timeout_usecs, NULL);
+ INP_WUNLOCK(&tp2->t_inpcb);
+
+ /* Verify connection was inserted successfully */
+ KTEST_EQUAL(tp2->t_in_hpts, IHPTS_ONQUEUE);
+
+ /* Record the generation count that tp2 received */
+ tp2_original_gencnt = tp2->t_hpts_gencnt;
+
+ /* Test generation count mismatch detection during processing */
+ /* Manually set stale generation count to simulate race condition */
+ tp2->t_hpts_gencnt = tp2_original_gencnt + 100; /* Force a mismatch */
+
+ /* Process the slot to trigger generation count validation */
+ test_time_usec += (slot_to_test + 1) * HPTS_USECS_PER_SLOT;
+ HPTS_LOCK(hpts);
+ NET_EPOCH_ENTER(et);
+ slots_ran = tcp_hptsi(hpts, true);
+ HPTS_UNLOCK(hpts);
+ NET_EPOCH_EXIT(et);
+
+ /* Connection should be processed despite generation count mismatch */
+ KTEST_EQUAL(tp2->t_in_hpts, IHPTS_NONE); /* Processed and released */
+
+ /* The key test: HPTS should handle mismatched generation counts gracefully */
+ KTEST_VERIFY(slots_ran > 0); /* Processing should still occur */
+
+ test_hpts_free_tcpcb(tp1);
+ test_hpts_free_tcpcb(tp2);
+ tcp_hptsi_stop(pace);
+ tcp_hptsi_destroy(pace);
+
+ return (0);
+}
+
+static const struct ktest_test_info tests[] = {
+ KTEST_INFO(module_load),
+ KTEST_INFO(hptsi_create_destroy),
+ KTEST_INFO(hptsi_start_stop),
+ KTEST_INFO(hptsi_independence),
+ KTEST_INFO(function_injection),
+ KTEST_INFO(tcpcb_initialization),
+ KTEST_INFO(tcpcb_insertion),
+ KTEST_INFO(timer_functionality),
+ KTEST_INFO(scalability_tcpcbs),
+ KTEST_INFO(wheel_wrap_recovery),
+ KTEST_INFO(tcpcb_moving_state),
+ KTEST_INFO(deferred_requests),
+ KTEST_INFO(cpu_assignment),
+ KTEST_INFO(slot_boundary_conditions),
+ KTEST_INFO(dynamic_sleep_adjustment),
+ KTEST_INFO(concurrent_operations),
+ KTEST_INFO(queued_segments_processing),
+ KTEST_INFO(direct_wake_mechanism),
+ KTEST_INFO(hpts_collision_detection),
+ KTEST_INFO(generation_count_validation),
+};
+
+#else /* TCP_HPTS_KTEST */
+
+/*
+ * Stub to indicate that the TCP HPTS ktest is not enabled.
+ */
+KTEST_FUNC(module_load_without_tests)
+{
+ KTEST_LOG(ctx, "Warning: TCP HPTS ktest is not enabled");
+ return (0);
+}
+
+static const struct ktest_test_info tests[] = {
+ KTEST_INFO(module_load_without_tests),
+};
+
+#endif
+
+KTEST_MODULE_DECLARE(ktest_tcphpts, tests);
+KTEST_MODULE_DEPEND(ktest_tcphpts, tcphpts);
diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c
index dd27ec77c1af..2146b0cac48f 100644
--- a/sys/netinet/tcp_input.c
+++ b/sys/netinet/tcp_input.c
@@ -219,7 +219,7 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, recvbuf_auto, CTLFLAG_VNET | CTLFLAG_RW,
&VNET_NAME(tcp_do_autorcvbuf), 0,
"Enable automatic receive buffer sizing");
-VNET_DEFINE(int, tcp_autorcvbuf_max) = 2*1024*1024;
+VNET_DEFINE(int, tcp_autorcvbuf_max) = 8*1024*1024;
SYSCTL_INT(_net_inet_tcp, OID_AUTO, recvbuf_max, CTLFLAG_VNET | CTLFLAG_RW,
&VNET_NAME(tcp_autorcvbuf_max), 0,
"Max size of automatic receive buffer");
diff --git a/sys/netinet/tcp_lro_hpts.c b/sys/netinet/tcp_lro_hpts.c
index 43587285fe26..ac1a27a4290a 100644
--- a/sys/netinet/tcp_lro_hpts.c
+++ b/sys/netinet/tcp_lro_hpts.c
@@ -29,6 +29,8 @@
#include "opt_inet6.h"
#include <sys/param.h>
+#include <sys/bus.h>
+#include <sys/interrupt.h>
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
@@ -62,6 +64,7 @@
#include <netinet/tcp_lro.h>
#include <netinet/tcp_var.h>
#include <netinet/tcp_hpts.h>
+#include <netinet/tcp_hpts_internal.h>
#ifdef TCP_BLACKBOX
#include <netinet/tcp_log_buf.h>
#endif
diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c
index 2dfb7faf56e3..208f72c4661c 100644
--- a/sys/netinet/tcp_output.c
+++ b/sys/netinet/tcp_output.c
@@ -123,7 +123,7 @@ SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_inc, CTLFLAG_VNET | CTLFLAG_RW,
&VNET_NAME(tcp_autosndbuf_inc), 0,
"Incrementor step size of automatic send buffer");
-VNET_DEFINE(int, tcp_autosndbuf_max) = 2*1024*1024;
+VNET_DEFINE(int, tcp_autosndbuf_max) = 8*1024*1024;
SYSCTL_INT(_net_inet_tcp, OID_AUTO, sendbuf_max, CTLFLAG_VNET | CTLFLAG_RW,
&VNET_NAME(tcp_autosndbuf_max), 0,
"Max size of automatic send buffer");
diff --git a/sys/netinet/tcp_stacks/bbr.c b/sys/netinet/tcp_stacks/bbr.c
index f2d7867df9b4..10383bc0801e 100644
--- a/sys/netinet/tcp_stacks/bbr.c
+++ b/sys/netinet/tcp_stacks/bbr.c
@@ -477,10 +477,10 @@ bbr_log_rtt_shrinks(struct tcp_bbr *bbr, uint32_t cts, uint32_t applied,
uint16_t set);
static struct bbr_sendmap *
bbr_find_lowest_rsm(struct tcp_bbr *bbr);
-static __inline uint32_t
+static inline uint32_t
bbr_get_rtt(struct tcp_bbr *bbr, int32_t rtt_type);
static void
-bbr_log_to_start(struct tcp_bbr *bbr, uint32_t cts, uint32_t to, int32_t slot,
+bbr_log_to_start(struct tcp_bbr *bbr, uint32_t cts, uint32_t to, int32_t pacing_delay,
uint8_t which);
static void
bbr_log_timer_var(struct tcp_bbr *bbr, int mode, uint32_t cts,
@@ -489,7 +489,7 @@ bbr_log_timer_var(struct tcp_bbr *bbr, int mode, uint32_t cts,
static void
bbr_log_hpts_diag(struct tcp_bbr *bbr, uint32_t cts, struct hpts_diag *diag);
static void
-bbr_log_type_bbrsnd(struct tcp_bbr *bbr, uint32_t len, uint32_t slot,
+bbr_log_type_bbrsnd(struct tcp_bbr *bbr, uint32_t len, uint32_t pacing_delay,
uint32_t del_by, uint32_t cts, uint32_t sloton,
uint32_t prev_delay);
static void
@@ -724,7 +724,7 @@ bbr_minseg(struct tcp_bbr *bbr)
}
static void
-bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_t frm, int32_t slot, uint32_t tot_len)
+bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_t frm, int32_t pacing_delay, uint32_t tot_len)
{
struct inpcb *inp = tptoinpcb(tp);
struct hpts_diag diag;
@@ -751,40 +751,40 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
bbr->r_ctl.rc_timer_exp = 0;
prev_delay = bbr->r_ctl.rc_last_delay_val;
if (bbr->r_ctl.rc_last_delay_val &&
- (slot == 0)) {
+ (pacing_delay == 0)) {
/*
* If a previous pacer delay was in place we
* are not coming from the output side (where
* we calculate a delay, more likely a timer).
*/
- slot = bbr->r_ctl.rc_last_delay_val;
+ pacing_delay = bbr->r_ctl.rc_last_delay_val;
if (TSTMP_GT(cts, bbr->rc_pacer_started)) {
/* Compensate for time passed */
delay_calc = cts - bbr->rc_pacer_started;
- if (delay_calc <= slot)
- slot -= delay_calc;
+ if (delay_calc <= pacing_delay)
+ pacing_delay -= delay_calc;
}
}
/* Do we have early to make up for by pushing out the pacing time? */
if (bbr->r_agg_early_set) {
- bbr_log_pacing_delay_calc(bbr, 0, bbr->r_ctl.rc_agg_early, cts, slot, 0, bbr->r_agg_early_set, 2);
- slot += bbr->r_ctl.rc_agg_early;
+ bbr_log_pacing_delay_calc(bbr, 0, bbr->r_ctl.rc_agg_early, cts, pacing_delay, 0, bbr->r_agg_early_set, 2);
+ pacing_delay += bbr->r_ctl.rc_agg_early;
bbr->r_ctl.rc_agg_early = 0;
bbr->r_agg_early_set = 0;
}
/* Are we running a total debt that needs to be compensated for? */
if (bbr->r_ctl.rc_hptsi_agg_delay) {
- if (slot > bbr->r_ctl.rc_hptsi_agg_delay) {
+ if (pacing_delay > bbr->r_ctl.rc_hptsi_agg_delay) {
/* We nuke the delay */
- slot -= bbr->r_ctl.rc_hptsi_agg_delay;
+ pacing_delay -= bbr->r_ctl.rc_hptsi_agg_delay;
bbr->r_ctl.rc_hptsi_agg_delay = 0;
} else {
/* We nuke some of the delay, put in a minimal 100usecs */
- bbr->r_ctl.rc_hptsi_agg_delay -= slot;
- bbr->r_ctl.rc_last_delay_val = slot = 100;
+ bbr->r_ctl.rc_hptsi_agg_delay -= pacing_delay;
+ bbr->r_ctl.rc_last_delay_val = pacing_delay = 100;
}
}
- bbr->r_ctl.rc_last_delay_val = slot;
+ bbr->r_ctl.rc_last_delay_val = pacing_delay;
hpts_timeout = bbr_timer_start(tp, bbr, cts);
if (tp->t_flags & TF_DELACK) {
if (bbr->rc_in_persist == 0) {
@@ -810,7 +810,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
bbr->r_ctl.rc_hpts_flags = PACE_TMR_DELACK;
hpts_timeout = delayed_ack;
}
- if (slot) {
+ if (pacing_delay) {
/* Mark that we have a pacing timer up */
BBR_STAT_INC(bbr_paced_segments);
bbr->r_ctl.rc_hpts_flags |= PACE_PKT_OUTPUT;
@@ -820,7 +820,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
* wheel, we resort to a keep-alive timer if its configured.
*/
if ((hpts_timeout == 0) &&
- (slot == 0)) {
+ (pacing_delay == 0)) {
if ((V_tcp_always_keepalive || inp->inp_socket->so_options & SO_KEEPALIVE) &&
(tp->t_state <= TCPS_CLOSING)) {
/*
@@ -849,7 +849,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
if (left < hpts_timeout)
hpts_timeout = left;
}
- if (bbr->r_ctl.rc_incr_tmrs && slot &&
+ if (bbr->r_ctl.rc_incr_tmrs && pacing_delay &&
(bbr->r_ctl.rc_hpts_flags & (PACE_TMR_TLP|PACE_TMR_RXT))) {
/*
* If configured to do so, and the timer is either
@@ -867,7 +867,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
* this extra delay but this is easier and being more
* conservative is probably better.
*/
- hpts_timeout += slot;
+ hpts_timeout += pacing_delay;
}
if (hpts_timeout) {
/*
@@ -879,10 +879,10 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
bbr->r_ctl.rc_timer_exp = cts + hpts_timeout;
} else
bbr->r_ctl.rc_timer_exp = 0;
- if ((slot) &&
+ if ((pacing_delay) &&
(bbr->rc_use_google ||
bbr->output_error_seen ||
- (slot <= hpts_timeout)) ) {
+ (pacing_delay <= hpts_timeout)) ) {
/*
* Tell LRO that it can queue packets while
* we pace.
@@ -900,17 +900,15 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE;
bbr->rc_pacer_started = cts;
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(slot),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, pacing_delay, &diag);
bbr->rc_timer_first = 0;
bbr->bbr_timer_src = frm;
- bbr_log_to_start(bbr, cts, hpts_timeout, slot, 1);
+ bbr_log_to_start(bbr, cts, hpts_timeout, pacing_delay, 1);
bbr_log_hpts_diag(bbr, cts, &diag);
} else if (hpts_timeout) {
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(hpts_timeout),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, hpts_timeout, &diag);
/*
- * We add the flag here as well if the slot is set,
+ * We add the flag here as well if the pacing delay is set,
* since hpts will call in to clear the queue first before
* calling the output routine (which does our timers).
* We don't want to set the flag if its just a timer
@@ -919,7 +917,7 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
* on a keep-alive timer and a request comes in for
* more data.
*/
- if (slot)
+ if (pacing_delay)
bbr->rc_pacer_started = cts;
if ((bbr->r_ctl.rc_hpts_flags & PACE_TMR_RACK) &&
(bbr->rc_cwnd_limited == 0)) {
@@ -936,12 +934,12 @@ bbr_start_hpts_timer(struct tcp_bbr *bbr, struct tcpcb *tp, uint32_t cts, int32_
TF2_DONT_SACK_QUEUE);
}
bbr->bbr_timer_src = frm;
- bbr_log_to_start(bbr, cts, hpts_timeout, slot, 0);
+ bbr_log_to_start(bbr, cts, hpts_timeout, pacing_delay, 0);
bbr_log_hpts_diag(bbr, cts, &diag);
bbr->rc_timer_first = 1;
}
bbr->rc_tmr_stopped = 0;
- bbr_log_type_bbrsnd(bbr, tot_len, slot, delay_calc, cts, frm, prev_delay);
+ bbr_log_type_bbrsnd(bbr, tot_len, pacing_delay, delay_calc, cts, frm, prev_delay);
}
static void
@@ -1033,8 +1031,8 @@ bbr_timer_audit(struct tcpcb *tp, struct tcp_bbr *bbr, uint32_t cts, struct sock
}
/*
* Ok the timer originally started is not what we want now. We will
- * force the hpts to be stopped if any, and restart with the slot
- * set to what was in the saved slot.
+ * force the hpts to be stopped if any, and restart with the pacing
+ * delay set to what was in the saved delay.
*/
wrong_timer:
if ((bbr->r_ctl.rc_hpts_flags & PACE_PKT_OUTPUT) == 0) {
@@ -1843,7 +1841,7 @@ bbr_counter_destroy(void)
}
-static __inline void
+static inline void
bbr_fill_in_logging_data(struct tcp_bbr *bbr, struct tcp_log_bbr *l, uint32_t cts)
{
memset(l, 0, sizeof(union tcp_log_stackspecific));
@@ -2397,7 +2395,7 @@ bbr_log_hpts_diag(struct tcp_bbr *bbr, uint32_t cts, struct hpts_diag *diag)
log.u_bbr.flex2 = diag->p_cur_slot;
log.u_bbr.flex3 = diag->slot_req;
log.u_bbr.flex4 = diag->inp_hptsslot;
- log.u_bbr.flex5 = diag->slot_remaining;
+ log.u_bbr.flex5 = diag->time_remaining;
log.u_bbr.flex6 = diag->need_new_to;
log.u_bbr.flex7 = diag->p_hpts_active;
log.u_bbr.flex8 = diag->p_on_min_sleep;
@@ -2411,9 +2409,6 @@ bbr_log_hpts_diag(struct tcp_bbr *bbr, uint32_t cts, struct hpts_diag *diag)
log.u_bbr.bw_inuse = diag->wheel_slot;
log.u_bbr.rttProp = diag->wheel_cts;
log.u_bbr.delRate = diag->maxslots;
- log.u_bbr.cur_del_rate = diag->p_curtick;
- log.u_bbr.cur_del_rate <<= 32;
- log.u_bbr.cur_del_rate |= diag->p_lasttick;
TCP_LOG_EVENTP(bbr->rc_tp, NULL,
&bbr->rc_inp->inp_socket->so_rcv,
&bbr->rc_inp->inp_socket->so_snd,
@@ -2473,7 +2468,7 @@ bbr_log_pacing_delay_calc(struct tcp_bbr *bbr, uint16_t gain, uint32_t len,
}
static void
-bbr_log_to_start(struct tcp_bbr *bbr, uint32_t cts, uint32_t to, int32_t slot, uint8_t which)
+bbr_log_to_start(struct tcp_bbr *bbr, uint32_t cts, uint32_t to, int32_t pacing_delay, uint8_t which)
{
if (tcp_bblogging_on(bbr->rc_tp)) {
union tcp_log_stackspecific log;
@@ -2483,7 +2478,7 @@ bbr_log_to_start(struct tcp_bbr *bbr, uint32_t cts, uint32_t to, int32_t slot, u
log.u_bbr.flex1 = bbr->bbr_timer_src;
log.u_bbr.flex2 = to;
log.u_bbr.flex3 = bbr->r_ctl.rc_hpts_flags;
- log.u_bbr.flex4 = slot;
+ log.u_bbr.flex4 = pacing_delay;
log.u_bbr.flex5 = bbr->rc_tp->t_hpts_slot;
log.u_bbr.flex6 = TICKS_2_USEC(bbr->rc_tp->t_rxtcur);
log.u_bbr.pkts_out = bbr->rc_tp->t_flags2;
@@ -2733,13 +2728,13 @@ bbr_type_log_hdwr_pacing(struct tcp_bbr *bbr, const struct ifnet *ifp,
}
static void
-bbr_log_type_bbrsnd(struct tcp_bbr *bbr, uint32_t len, uint32_t slot, uint32_t del_by, uint32_t cts, uint32_t line, uint32_t prev_delay)
+bbr_log_type_bbrsnd(struct tcp_bbr *bbr, uint32_t len, uint32_t pacing_delay, uint32_t del_by, uint32_t cts, uint32_t line, uint32_t prev_delay)
{
if (tcp_bblogging_on(bbr->rc_tp)) {
union tcp_log_stackspecific log;
bbr_fill_in_logging_data(bbr, &log.u_bbr, cts);
- log.u_bbr.flex1 = slot;
+ log.u_bbr.flex1 = pacing_delay;
log.u_bbr.flex2 = del_by;
log.u_bbr.flex3 = prev_delay;
log.u_bbr.flex4 = line;
@@ -4211,7 +4206,7 @@ bbr_calc_thresh_tlp(struct tcpcb *tp, struct tcp_bbr *bbr,
/*
* Return one of three RTTs to use (in microseconds).
*/
-static __inline uint32_t
+static inline uint32_t
bbr_get_rtt(struct tcp_bbr *bbr, int32_t rtt_type)
{
uint32_t f_rtt;
@@ -4375,7 +4370,7 @@ bbr_timeout_rack(struct tcpcb *tp, struct tcp_bbr *bbr, uint32_t cts)
return (0);
}
-static __inline void
+static inline void
bbr_clone_rsm(struct tcp_bbr *bbr, struct bbr_sendmap *nrsm, struct bbr_sendmap *rsm, uint32_t start)
{
int idx;
@@ -5205,7 +5200,7 @@ bbr_process_timers(struct tcpcb *tp, struct tcp_bbr *bbr, uint32_t cts, uint8_t
left = bbr->r_ctl.rc_timer_exp - cts;
ret = -3;
bbr_log_to_processing(bbr, cts, ret, left, hpts_calling);
- tcp_hpts_insert(tp, HPTS_USEC_TO_SLOTS(left));
+ tcp_hpts_insert(tp, left, NULL);
return (1);
}
bbr->rc_tmr_stopped = 0;
@@ -5254,7 +5249,7 @@ bbr_timer_cancel(struct tcp_bbr *bbr, int32_t line, uint32_t cts)
else
time_since_send = 0;
if (bbr->r_ctl.rc_last_delay_val > time_since_send) {
- /* Cut down our slot time */
+ /* Cut down our pacing_delay time */
bbr->r_ctl.rc_last_delay_val -= time_since_send;
} else {
bbr->r_ctl.rc_last_delay_val = 0;
@@ -5888,7 +5883,7 @@ bbr_log_output(struct tcp_bbr *bbr, struct tcpcb *tp, struct tcpopt *to, int32_t
* sequence 1 for 10 bytes. In such an example the r_start would be
* 1 (starting sequence) but the r_end would be r_start+len i.e. 11.
* This means that r_end is actually the first sequence for the next
- * slot (11).
+ * pacing delay (11).
*
*/
INP_WLOCK_ASSERT(tptoinpcb(tp));
@@ -11856,7 +11851,7 @@ bbr_output_wtime(struct tcpcb *tp, const struct timeval *tv)
struct bbr_sendmap *rsm = NULL;
int32_t tso, mtu;
struct tcpopt to;
- int32_t slot = 0;
+ int32_t pacing_delay = 0;
struct inpcb *inp;
struct sockbuf *sb;
bool hpts_calling;
@@ -11986,8 +11981,7 @@ bbr_output_wtime(struct tcpcb *tp, const struct timeval *tv)
delay_calc -= bbr->r_ctl.rc_last_delay_val;
else {
/*
- * We are early setup to adjust
- * our slot time.
+ * We are early setup to adjust out pacing delay.
*/
uint64_t merged_val;
@@ -12104,7 +12098,7 @@ again:
#endif
error = 0;
tso = 0;
- slot = 0;
+ pacing_delay = 0;
mtu = 0;
sendwin = min(tp->snd_wnd, tp->snd_cwnd);
sb_offset = tp->snd_max - tp->snd_una;
@@ -12126,7 +12120,7 @@ recheck_resend:
tot_len = tp->t_maxseg;
if (hpts_calling)
/* Retry in a ms */
- slot = 1001;
+ pacing_delay = 1001;
goto just_return_nolock;
}
TAILQ_INSERT_TAIL(&bbr->r_ctl.rc_free, rsm, r_next);
@@ -12699,9 +12693,9 @@ just_return:
SOCK_SENDBUF_UNLOCK(so);
just_return_nolock:
if (tot_len)
- slot = bbr_get_pacing_delay(bbr, bbr->r_ctl.rc_bbr_hptsi_gain, tot_len, cts, 0);
+ pacing_delay = bbr_get_pacing_delay(bbr, bbr->r_ctl.rc_bbr_hptsi_gain, tot_len, cts, 0);
if (bbr->rc_no_pacing)
- slot = 0;
+ pacing_delay = 0;
if (tot_len == 0) {
if ((ctf_outstanding(tp) + min((bbr->r_ctl.rc_high_rwnd/2), bbr_minseg(bbr))) >=
tp->snd_wnd) {
@@ -12751,7 +12745,7 @@ just_return_nolock:
/* Dont update the time if we did not send */
bbr->r_ctl.rc_last_delay_val = 0;
bbr->rc_output_starts_timer = 1;
- bbr_start_hpts_timer(bbr, tp, cts, 9, slot, tot_len);
+ bbr_start_hpts_timer(bbr, tp, cts, 9, pacing_delay, tot_len);
bbr_log_type_just_return(bbr, cts, tot_len, hpts_calling, app_limited, p_maxseg, len);
if (SEQ_LT(tp->snd_nxt, tp->snd_max)) {
/* Make sure snd_nxt is drug up */
@@ -12787,7 +12781,7 @@ send:
flags &= ~TH_FIN;
if ((len == 0) && ((tp->t_flags & TF_ACKNOW) == 0)) {
/* Lets not send this */
- slot = 0;
+ pacing_delay = 0;
goto just_return;
}
}
@@ -13053,7 +13047,7 @@ send:
/*
* We have outstanding data, don't send a fin by itself!.
*/
- slot = 0;
+ pacing_delay = 0;
goto just_return;
}
/*
@@ -13763,7 +13757,7 @@ nomore:
if (tp->snd_cwnd < maxseg)
tp->snd_cwnd = maxseg;
}
- slot = (bbr_error_base_paceout + 1) << bbr->oerror_cnt;
+ pacing_delay = (bbr_error_base_paceout + 1) << bbr->oerror_cnt;
BBR_STAT_INC(bbr_saw_enobuf);
if (bbr->bbr_hdrw_pacing)
counter_u64_add(bbr_hdwr_pacing_enobuf, 1);
@@ -13812,18 +13806,18 @@ nomore:
}
/*
* Nuke all other things that can interfere
- * with slot
+ * with pacing delay
*/
if ((tot_len + len) && (len >= tp->t_maxseg)) {
- slot = bbr_get_pacing_delay(bbr,
+ pacing_delay = bbr_get_pacing_delay(bbr,
bbr->r_ctl.rc_bbr_hptsi_gain,
(tot_len + len), cts, 0);
- if (slot < bbr_error_base_paceout)
- slot = (bbr_error_base_paceout + 2) << bbr->oerror_cnt;
+ if (pacing_delay < bbr_error_base_paceout)
+ pacing_delay = (bbr_error_base_paceout + 2) << bbr->oerror_cnt;
} else
- slot = (bbr_error_base_paceout + 2) << bbr->oerror_cnt;
+ pacing_delay = (bbr_error_base_paceout + 2) << bbr->oerror_cnt;
bbr->rc_output_starts_timer = 1;
- bbr_start_hpts_timer(bbr, tp, cts, 10, slot,
+ bbr_start_hpts_timer(bbr, tp, cts, 10, pacing_delay,
tot_len);
return (error);
}
@@ -13841,9 +13835,9 @@ nomore:
}
/* FALLTHROUGH */
default:
- slot = (bbr_error_base_paceout + 3) << bbr->oerror_cnt;
+ pacing_delay = (bbr_error_base_paceout + 3) << bbr->oerror_cnt;
bbr->rc_output_starts_timer = 1;
- bbr_start_hpts_timer(bbr, tp, cts, 11, slot, 0);
+ bbr_start_hpts_timer(bbr, tp, cts, 11, pacing_delay, 0);
return (error);
}
#ifdef STATS
@@ -13981,12 +13975,12 @@ skip_again:
tcp_log_end_status(tp, TCP_EI_STATUS_SERVER_RST);
if (((flags & (TH_RST | TH_SYN | TH_FIN)) == 0) && tot_len) {
/*
- * Calculate/Re-Calculate the hptsi slot in usecs based on
+ * Calculate/Re-Calculate the hptsi timeout in usecs based on
* what we have sent so far
*/
- slot = bbr_get_pacing_delay(bbr, bbr->r_ctl.rc_bbr_hptsi_gain, tot_len, cts, 0);
+ pacing_delay = bbr_get_pacing_delay(bbr, bbr->r_ctl.rc_bbr_hptsi_gain, tot_len, cts, 0);
if (bbr->rc_no_pacing)
- slot = 0;
+ pacing_delay = 0;
}
tp->t_flags &= ~(TF_ACKNOW | TF_DELACK);
enobufs:
@@ -13999,8 +13993,8 @@ enobufs:
(more_to_rxt ||
((bbr->r_ctl.rc_resend = bbr_check_recovery_mode(tp, bbr, cts)) != NULL))) {
/* Rack cheats and shotguns out all rxt's 1ms apart */
- if (slot > 1000)
- slot = 1000;
+ if (pacing_delay > 1000)
+ pacing_delay = 1000;
}
if (bbr->bbr_hdrw_pacing && (bbr->hw_pacing_set == 0)) {
/*
@@ -14014,7 +14008,7 @@ enobufs:
tcp_bbr_tso_size_check(bbr, cts);
}
}
- bbr_start_hpts_timer(bbr, tp, cts, 12, slot, tot_len);
+ bbr_start_hpts_timer(bbr, tp, cts, 12, pacing_delay, tot_len);
if (SEQ_LT(tp->snd_nxt, tp->snd_max)) {
/* Make sure snd_nxt is drug up */
tp->snd_nxt = tp->snd_max;
@@ -14132,8 +14126,7 @@ bbr_switch_failed(struct tcpcb *tp)
}
} else
toval = HPTS_USECS_PER_SLOT;
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(toval),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, toval, &diag);
bbr_log_hpts_diag(bbr, cts, &diag);
}
diff --git a/sys/netinet/tcp_stacks/rack.c b/sys/netinet/tcp_stacks/rack.c
index 11ef5ba706c5..50077abdfd86 100644
--- a/sys/netinet/tcp_stacks/rack.c
+++ b/sys/netinet/tcp_stacks/rack.c
@@ -250,11 +250,11 @@ static int32_t rack_non_rxt_use_cr = 0; /* does a non-rxt in recovery use the co
static int32_t rack_persist_min = 250000; /* 250usec */
static int32_t rack_persist_max = 2000000; /* 2 Second in usec's */
static int32_t rack_honors_hpts_min_to = 1; /* Do we honor the hpts minimum time out for pacing timers */
-static uint32_t rack_max_reduce = 10; /* Percent we can reduce slot by */
+static uint32_t rack_max_reduce = 10; /* Percent we can reduce pacing delay by */
static int32_t rack_sack_not_required = 1; /* set to one to allow non-sack to use rack */
static int32_t rack_limit_time_with_srtt = 0;
static int32_t rack_autosndbuf_inc = 20; /* In percentage form */
-static int32_t rack_enobuf_hw_boost_mult = 0; /* How many times the hw rate we boost slot using time_between */
+static int32_t rack_enobuf_hw_boost_mult = 0; /* How many times the hw rate we boost pacing delay using time_between */
static int32_t rack_enobuf_hw_max = 12000; /* 12 ms in usecs */
static int32_t rack_enobuf_hw_min = 10000; /* 10 ms in usecs */
static int32_t rack_hw_rwnd_factor = 2; /* How many max_segs the rwnd must be before we hold off sending */
@@ -278,7 +278,7 @@ static int32_t rack_hptsi_segments = 40;
static int32_t rack_rate_sample_method = USE_RTT_LOW;
static int32_t rack_pace_every_seg = 0;
static int32_t rack_delayed_ack_time = 40000; /* 40ms in usecs */
-static int32_t rack_slot_reduction = 4;
+static int32_t rack_pacing_delay_reduction = 4;
static int32_t rack_wma_divisor = 8; /* For WMA calculation */
static int32_t rack_cwnd_block_ends_measure = 0;
static int32_t rack_rwnd_block_ends_measure = 0;
@@ -478,7 +478,7 @@ rack_log_alt_to_to_cancel(struct tcp_rack *rack,
uint16_t flex7, uint8_t mod);
static void
-rack_log_pacing_delay_calc(struct tcp_rack *rack, uint32_t len, uint32_t slot,
+rack_log_pacing_delay_calc(struct tcp_rack *rack, uint32_t len, uint32_t pacing_delay,
uint64_t bw_est, uint64_t bw, uint64_t len_time, int method, int line,
struct rack_sendmap *rsm, uint8_t quality);
static struct rack_sendmap *
@@ -1107,7 +1107,7 @@ rack_init_sysctls(void)
SYSCTL_ADD_S32(&rack_sysctl_ctx,
SYSCTL_CHILDREN(rack_pacing),
OID_AUTO, "burst_reduces", CTLFLAG_RW,
- &rack_slot_reduction, 4,
+ &rack_pacing_delay_reduction, 4,
"When doing only burst mitigation what is the reduce divisor");
SYSCTL_ADD_S32(&rack_sysctl_ctx,
SYSCTL_CHILDREN(rack_sysctl_root),
@@ -1399,7 +1399,7 @@ rack_init_sysctls(void)
SYSCTL_CHILDREN(rack_timers),
OID_AUTO, "hpts_max_reduce", CTLFLAG_RW,
&rack_max_reduce, 10,
- "Max percentage we will reduce slot by for pacing when we are behind");
+ "Max percentage we will reduce pacing delay by for pacing when we are behind");
SYSCTL_ADD_U32(&rack_sysctl_ctx,
SYSCTL_CHILDREN(rack_timers),
OID_AUTO, "persmin", CTLFLAG_RW,
@@ -2700,7 +2700,7 @@ rack_log_retran_reason(struct tcp_rack *rack, struct rack_sendmap *rsm, uint32_t
}
static void
-rack_log_to_start(struct tcp_rack *rack, uint32_t cts, uint32_t to, int32_t slot, uint8_t which)
+rack_log_to_start(struct tcp_rack *rack, uint32_t cts, uint32_t to, int32_t pacing_delay, uint8_t which)
{
if (tcp_bblogging_on(rack->rc_tp)) {
union tcp_log_stackspecific log;
@@ -2710,7 +2710,7 @@ rack_log_to_start(struct tcp_rack *rack, uint32_t cts, uint32_t to, int32_t slot
log.u_bbr.flex1 = rack->rc_tp->t_srtt;
log.u_bbr.flex2 = to;
log.u_bbr.flex3 = rack->r_ctl.rc_hpts_flags;
- log.u_bbr.flex4 = slot;
+ log.u_bbr.flex4 = pacing_delay;
log.u_bbr.flex5 = rack->rc_tp->t_hpts_slot;
log.u_bbr.flex6 = rack->rc_tp->t_rxtcur;
log.u_bbr.flex7 = rack->rc_in_persist;
@@ -3034,14 +3034,14 @@ rack_log_progress_event(struct tcp_rack *rack, struct tcpcb *tp, uint32_t tick,
}
static void
-rack_log_type_bbrsnd(struct tcp_rack *rack, uint32_t len, uint32_t slot, uint32_t cts, struct timeval *tv, int line)
+rack_log_type_bbrsnd(struct tcp_rack *rack, uint32_t len, uint32_t pacing_delay, uint32_t cts, struct timeval *tv, int line)
{
if (rack_verbose_logging && tcp_bblogging_on(rack->rc_tp)) {
union tcp_log_stackspecific log;
memset(&log, 0, sizeof(log));
log.u_bbr.inhpts = tcp_in_hpts(rack->rc_tp);
- log.u_bbr.flex1 = slot;
+ log.u_bbr.flex1 = pacing_delay;
if (rack->rack_no_prr)
log.u_bbr.flex2 = 0;
else
@@ -3139,7 +3139,7 @@ rack_log_type_pacing_sizes(struct tcpcb *tp, struct tcp_rack *rack, uint32_t arg
}
static void
-rack_log_type_just_return(struct tcp_rack *rack, uint32_t cts, uint32_t tlen, uint32_t slot,
+rack_log_type_just_return(struct tcp_rack *rack, uint32_t cts, uint32_t tlen, uint32_t pacing_delay,
uint8_t hpts_calling, int reason, uint32_t cwnd_to_use)
{
if (tcp_bblogging_on(rack->rc_tp)) {
@@ -3148,7 +3148,7 @@ rack_log_type_just_return(struct tcp_rack *rack, uint32_t cts, uint32_t tlen, ui
memset(&log, 0, sizeof(log));
log.u_bbr.inhpts = tcp_in_hpts(rack->rc_tp);
- log.u_bbr.flex1 = slot;
+ log.u_bbr.flex1 = pacing_delay;
log.u_bbr.flex2 = rack->r_ctl.rc_hpts_flags;
log.u_bbr.flex4 = reason;
if (rack->rack_no_prr)
@@ -4730,7 +4730,7 @@ rack_make_timely_judgement(struct tcp_rack *rack, uint32_t rtt, int32_t rtt_diff
return (timely_says);
}
-static __inline int
+static inline int
rack_in_gp_window(struct tcpcb *tp, struct rack_sendmap *rsm)
{
if (SEQ_GEQ(rsm->r_start, tp->gput_seq) &&
@@ -4767,7 +4767,7 @@ rack_in_gp_window(struct tcpcb *tp, struct rack_sendmap *rsm)
return (0);
}
-static __inline void
+static inline void
rack_mark_in_gp_win(struct tcpcb *tp, struct rack_sendmap *rsm)
{
@@ -4784,7 +4784,7 @@ rack_mark_in_gp_win(struct tcpcb *tp, struct rack_sendmap *rsm)
rsm->r_flags &= ~RACK_IN_GP_WIN;
}
-static __inline void
+static inline void
rack_clear_gp_marks(struct tcpcb *tp, struct tcp_rack *rack)
{
/* A GP measurement is ending, clear all marks on the send map*/
@@ -4802,7 +4802,7 @@ rack_clear_gp_marks(struct tcpcb *tp, struct tcp_rack *rack)
}
-static __inline void
+static inline void
rack_tend_gp_marks(struct tcpcb *tp, struct tcp_rack *rack)
{
struct rack_sendmap *rsm = NULL;
@@ -6482,7 +6482,7 @@ rack_log_hpts_diag(struct tcp_rack *rack, uint32_t cts,
log.u_bbr.flex2 = diag->p_cur_slot;
log.u_bbr.flex3 = diag->slot_req;
log.u_bbr.flex4 = diag->inp_hptsslot;
- log.u_bbr.flex5 = diag->slot_remaining;
+ log.u_bbr.flex5 = diag->time_remaining;
log.u_bbr.flex6 = diag->need_new_to;
log.u_bbr.flex7 = diag->p_hpts_active;
log.u_bbr.flex8 = diag->p_on_min_sleep;
@@ -6497,9 +6497,6 @@ rack_log_hpts_diag(struct tcp_rack *rack, uint32_t cts,
log.u_bbr.rttProp = diag->wheel_cts;
log.u_bbr.timeStamp = cts;
log.u_bbr.delRate = diag->maxslots;
- log.u_bbr.cur_del_rate = diag->p_curtick;
- log.u_bbr.cur_del_rate <<= 32;
- log.u_bbr.cur_del_rate |= diag->p_lasttick;
TCP_LOG_EVENTP(rack->rc_tp, NULL,
&rack->rc_inp->inp_socket->so_rcv,
&rack->rc_inp->inp_socket->so_snd,
@@ -6532,14 +6529,14 @@ rack_log_wakeup(struct tcpcb *tp, struct tcp_rack *rack, struct sockbuf *sb, uin
static void
rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
- int32_t slot, uint32_t tot_len_this_send, int sup_rack)
+ int32_t usecs, uint32_t tot_len_this_send, int sup_rack)
{
struct hpts_diag diag;
struct inpcb *inp = tptoinpcb(tp);
struct timeval tv;
uint32_t delayed_ack = 0;
uint32_t hpts_timeout;
- uint32_t entry_slot = slot;
+ uint32_t entry_usecs = usecs;
uint8_t stopped;
uint32_t left = 0;
uint32_t us_cts;
@@ -6560,7 +6557,7 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
rack->r_ctl.rc_hpts_flags = 0;
us_cts = tcp_get_usecs(&tv);
/* Now early/late accounting */
- rack_log_pacing_delay_calc(rack, entry_slot, slot, 0, 0, 0, 26, __LINE__, NULL, 0);
+ rack_log_pacing_delay_calc(rack, entry_usecs, usecs, 0, 0, 0, 26, __LINE__, NULL, 0);
if (rack->r_early && (rack->rc_ack_can_sendout_data == 0)) {
/*
* We have a early carry over set,
@@ -6571,7 +6568,7 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
* penalize the next timer for being awoke
* by an ack aka the rc_agg_early (non-paced mode).
*/
- slot += rack->r_ctl.rc_agg_early;
+ usecs += rack->r_ctl.rc_agg_early;
rack->r_early = 0;
rack->r_ctl.rc_agg_early = 0;
}
@@ -6583,29 +6580,29 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
* really depends on what
* the current pacing time is.
*/
- if (rack->r_ctl.rc_agg_delayed >= slot) {
+ if (rack->r_ctl.rc_agg_delayed >= usecs) {
/*
* We can't compensate for it all.
* And we have to have some time
* on the clock. We always have a min
- * 10 slots (10 x 10 i.e. 100 usecs).
+ * 10 HPTS timer units (10 x 10 i.e. 100 usecs).
*/
- if (slot <= HPTS_USECS_PER_SLOT) {
+ if (usecs <= HPTS_USECS_PER_SLOT) {
/* We gain delay */
- rack->r_ctl.rc_agg_delayed += (HPTS_USECS_PER_SLOT - slot);
- slot = HPTS_USECS_PER_SLOT;
+ rack->r_ctl.rc_agg_delayed += (HPTS_USECS_PER_SLOT - usecs);
+ usecs = HPTS_USECS_PER_SLOT;
} else {
/* We take off some */
- rack->r_ctl.rc_agg_delayed -= (slot - HPTS_USECS_PER_SLOT);
- slot = HPTS_USECS_PER_SLOT;
+ rack->r_ctl.rc_agg_delayed -= (usecs - HPTS_USECS_PER_SLOT);
+ usecs = HPTS_USECS_PER_SLOT;
}
} else {
- slot -= rack->r_ctl.rc_agg_delayed;
+ usecs -= rack->r_ctl.rc_agg_delayed;
rack->r_ctl.rc_agg_delayed = 0;
/* Make sure we have 100 useconds at minimum */
- if (slot < HPTS_USECS_PER_SLOT) {
- rack->r_ctl.rc_agg_delayed = HPTS_USECS_PER_SLOT - slot;
- slot = HPTS_USECS_PER_SLOT;
+ if (usecs < HPTS_USECS_PER_SLOT) {
+ rack->r_ctl.rc_agg_delayed = HPTS_USECS_PER_SLOT - usecs;
+ usecs = HPTS_USECS_PER_SLOT;
}
if (rack->r_ctl.rc_agg_delayed == 0)
rack->r_late = 0;
@@ -6614,17 +6611,17 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
/* r_use_hpts_min is on and so is DGP */
uint32_t max_red;
- max_red = (slot * rack->r_ctl.max_reduction) / 100;
+ max_red = (usecs * rack->r_ctl.max_reduction) / 100;
if (max_red >= rack->r_ctl.rc_agg_delayed) {
- slot -= rack->r_ctl.rc_agg_delayed;
+ usecs -= rack->r_ctl.rc_agg_delayed;
rack->r_ctl.rc_agg_delayed = 0;
} else {
- slot -= max_red;
+ usecs -= max_red;
rack->r_ctl.rc_agg_delayed -= max_red;
}
}
if ((rack->r_use_hpts_min == 1) &&
- (slot > 0) &&
+ (usecs > 0) &&
(rack->dgp_on == 1)) {
/*
* We are enforcing a min pacing timer
@@ -6633,8 +6630,8 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
uint32_t min;
min = get_hpts_min_sleep_time();
- if (min > slot) {
- slot = min;
+ if (min > usecs) {
+ usecs = min;
}
}
hpts_timeout = rack_timer_start(tp, rack, cts, sup_rack);
@@ -6652,7 +6649,7 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
* wheel, we resort to a keep-alive timer if its configured.
*/
if ((hpts_timeout == 0) &&
- (slot == 0)) {
+ (usecs == 0)) {
if ((V_tcp_always_keepalive || inp->inp_socket->so_options & SO_KEEPALIVE) &&
(tp->t_state <= TCPS_CLOSING)) {
/*
@@ -6709,10 +6706,10 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
hpts_timeout = 0x7ffffffe;
rack->r_ctl.rc_timer_exp = cts + hpts_timeout;
}
- rack_log_pacing_delay_calc(rack, entry_slot, slot, hpts_timeout, 0, 0, 27, __LINE__, NULL, 0);
+ rack_log_pacing_delay_calc(rack, entry_usecs, usecs, hpts_timeout, 0, 0, 27, __LINE__, NULL, 0);
if ((rack->gp_ready == 0) &&
(rack->use_fixed_rate == 0) &&
- (hpts_timeout < slot) &&
+ (hpts_timeout < usecs) &&
(rack->r_ctl.rc_hpts_flags & (PACE_TMR_TLP|PACE_TMR_RXT))) {
/*
* We have no good estimate yet for the
@@ -6722,7 +6719,7 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
* pace that long since we know the calculation
* so far is not accurate.
*/
- slot = hpts_timeout;
+ usecs = hpts_timeout;
}
/**
* Turn off all the flags for queuing by default. The
@@ -6754,11 +6751,11 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
* so LRO can call into us.
*/
tp->t_flags2 &= ~(TF2_DONT_SACK_QUEUE|TF2_MBUF_QUEUE_READY);
- if (slot) {
+ if (usecs) {
rack->r_ctl.rc_hpts_flags |= PACE_PKT_OUTPUT;
- rack->r_ctl.rc_last_output_to = us_cts + slot;
+ rack->r_ctl.rc_last_output_to = us_cts + usecs;
/*
- * A pacing timer (slot) is being set, in
+ * A pacing timer (usecs microseconds) is being set, in
* such a case we cannot send (we are blocked by
* the timer). So lets tell LRO that it should not
* wake us unless there is a SACK. Note this only
@@ -6799,20 +6796,18 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
}
if ((rack->use_rack_rr) &&
(rack->r_rr_config < 2) &&
- ((hpts_timeout) && (hpts_timeout < slot))) {
+ ((hpts_timeout) && (hpts_timeout < usecs))) {
/*
* Arrange for the hpts to kick back in after the
* t-o if the t-o does not cause a send.
*/
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(hpts_timeout),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, hpts_timeout, &diag);
rack_log_hpts_diag(rack, us_cts, &diag, &tv);
- rack_log_to_start(rack, cts, hpts_timeout, slot, 0);
+ rack_log_to_start(rack, cts, hpts_timeout, usecs, 0);
} else {
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(slot),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, usecs, &diag);
rack_log_hpts_diag(rack, us_cts, &diag, &tv);
- rack_log_to_start(rack, cts, hpts_timeout, slot, 1);
+ rack_log_to_start(rack, cts, hpts_timeout, usecs, 1);
}
} else if (hpts_timeout) {
/*
@@ -6824,22 +6819,21 @@ rack_start_hpts_timer (struct tcp_rack *rack, struct tcpcb *tp, uint32_t cts,
* at the start of this block) are good enough.
*/
rack->r_ctl.rc_hpts_flags &= ~PACE_PKT_OUTPUT;
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(hpts_timeout),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, hpts_timeout, &diag);
rack_log_hpts_diag(rack, us_cts, &diag, &tv);
- rack_log_to_start(rack, cts, hpts_timeout, slot, 0);
+ rack_log_to_start(rack, cts, hpts_timeout, usecs, 0);
} else {
/* No timer starting */
#ifdef INVARIANTS
if (SEQ_GT(tp->snd_max, tp->snd_una)) {
- panic("tp:%p rack:%p tlts:%d cts:%u slot:%u pto:%u -- no timer started?",
- tp, rack, tot_len_this_send, cts, slot, hpts_timeout);
+ panic("tp:%p rack:%p tlts:%d cts:%u usecs:%u pto:%u -- no timer started?",
+ tp, rack, tot_len_this_send, cts, usecs, hpts_timeout);
}
#endif
}
rack->rc_tmr_stopped = 0;
- if (slot)
- rack_log_type_bbrsnd(rack, tot_len_this_send, slot, us_cts, &tv, __LINE__);
+ if (usecs)
+ rack_log_type_bbrsnd(rack, tot_len_this_send, usecs, us_cts, &tv, __LINE__);
}
static void
@@ -6870,6 +6864,18 @@ rack_mark_lost(struct tcpcb *tp,
}
}
+static inline void
+rack_mark_nolonger_lost(struct tcp_rack *rack, struct rack_sendmap *rsm)
+{
+ KASSERT((rack->r_ctl.rc_considered_lost >= (rsm->r_end - rsm->r_start)),
+ ("rsm:%p rack:%p rc_considered_lost goes negative", rsm, rack));
+ rsm->r_flags &= ~RACK_WAS_LOST;
+ if (rack->r_ctl.rc_considered_lost >= (rsm->r_end - rsm->r_start))
+ rack->r_ctl.rc_considered_lost -= rsm->r_end - rsm->r_start;
+ else
+ rack->r_ctl.rc_considered_lost = 0;
+}
+
/*
* RACK Timer, here we simply do logging and house keeping.
* the normal rack_output() function will call the
@@ -7011,7 +7017,7 @@ rack_setup_offset_for_rsm(struct tcp_rack *rack, struct rack_sendmap *src_rsm, s
rsm->orig_t_space = M_TRAILINGROOM(rsm->m);
}
-static __inline void
+static inline void
rack_clone_rsm(struct tcp_rack *rack, struct rack_sendmap *nrsm,
struct rack_sendmap *rsm, uint32_t start)
{
@@ -8016,7 +8022,7 @@ rack_process_timers(struct tcpcb *tp, struct tcp_rack *rack, uint32_t cts, uint8
rack->rc_tp->t_flags2 &= ~TF2_DONT_SACK_QUEUE;
ret = -3;
left = rack->r_ctl.rc_timer_exp - cts;
- tcp_hpts_insert(tp, HPTS_MS_TO_SLOTS(left));
+ tcp_hpts_insert(tp, left, NULL);
rack_log_to_processing(rack, cts, ret, left);
return (1);
}
@@ -8136,13 +8142,7 @@ rack_update_rsm(struct tcpcb *tp, struct tcp_rack *rack,
* remove the lost desgination and reduce the
* bytes considered lost.
*/
- rsm->r_flags &= ~RACK_WAS_LOST;
- KASSERT((rack->r_ctl.rc_considered_lost >= (rsm->r_end - rsm->r_start)),
- ("rsm:%p rack:%p rc_considered_lost goes negative", rsm, rack));
- if (rack->r_ctl.rc_considered_lost >= (rsm->r_end - rsm->r_start))
- rack->r_ctl.rc_considered_lost -= rsm->r_end - rsm->r_start;
- else
- rack->r_ctl.rc_considered_lost = 0;
+ rack_mark_nolonger_lost(rack, rsm);
}
idx = rsm->r_rtr_cnt - 1;
rsm->r_tim_lastsent[idx] = ts;
@@ -9498,6 +9498,11 @@ do_rest_ofb:
if (rsm->r_flags & RACK_WAS_LOST) {
int my_chg;
+ /*
+ * Note here we do not use our rack_mark_nolonger_lost() function
+ * since we are moving our data pointer around and the
+ * ack'ed side is already not considered lost.
+ */
my_chg = (nrsm->r_end - nrsm->r_start);
KASSERT((rack->r_ctl.rc_considered_lost >= my_chg),
("rsm:%p rack:%p rc_considered_lost goes negative", rsm, rack));
@@ -9665,16 +9670,11 @@ do_rest_ofb:
changed += (rsm->r_end - rsm->r_start);
/* You get a count for acking a whole segment or more */
if (rsm->r_flags & RACK_WAS_LOST) {
- int my_chg;
-
- my_chg = (rsm->r_end - rsm->r_start);
- rsm->r_flags &= ~RACK_WAS_LOST;
- KASSERT((rack->r_ctl.rc_considered_lost >= my_chg),
- ("rsm:%p rack:%p rc_considered_lost goes negative", rsm, rack));
- if (my_chg <= rack->r_ctl.rc_considered_lost)
- rack->r_ctl.rc_considered_lost -= my_chg;
- else
- rack->r_ctl.rc_considered_lost = 0;
+ /*
+ * Here we can use the inline function since
+ * the rsm is truly marked lost and now no longer lost.
+ */
+ rack_mark_nolonger_lost(rack, rsm);
}
rack->r_ctl.rc_sacked += (rsm->r_end - rsm->r_start);
if (rsm->r_in_tmap) /* should be true */
@@ -9857,6 +9857,10 @@ do_rest_ofb:
if (rsm->r_flags & RACK_WAS_LOST) {
int my_chg;
+ /*
+ * Note here we are using hookery again so we can't
+ * use our rack_mark_nolonger_lost() function.
+ */
my_chg = (nrsm->r_end - nrsm->r_start);
KASSERT((rack->r_ctl.rc_considered_lost >= my_chg),
("rsm:%p rack:%p rc_considered_lost goes negative", rsm, rack));
@@ -9958,16 +9962,10 @@ do_rest_ofb:
rack_update_rtt(tp, rack, rsm, to, cts, SACKED, 0);
changed += (rsm->r_end - rsm->r_start);
if (rsm->r_flags & RACK_WAS_LOST) {
- int my_chg;
-
- my_chg = (rsm->r_end - rsm->r_start);
- rsm->r_flags &= ~RACK_WAS_LOST;
- KASSERT((rack->r_ctl.rc_considered_lost >= my_chg),
- ("rsm:%p rack:%p rc_considered_lost goes negative", rsm, rack));
- if (my_chg <= rack->r_ctl.rc_considered_lost)
- rack->r_ctl.rc_considered_lost -= my_chg;
- else
- rack->r_ctl.rc_considered_lost = 0;
+ /*
+ * Here it is safe to use our function.
+ */
+ rack_mark_nolonger_lost(rack, rsm);
}
rack->r_ctl.rc_sacked += (rsm->r_end - rsm->r_start);
@@ -10368,13 +10366,7 @@ more:
* and yet before retransmitting we get an ack
* which can happen due to reordering.
*/
- rsm->r_flags &= ~RACK_WAS_LOST;
- KASSERT((rack->r_ctl.rc_considered_lost >= (rsm->r_end - rsm->r_start)),
- ("rsm:%p rack:%p rc_considered_lost goes negative", rsm, rack));
- if (rack->r_ctl.rc_considered_lost >= (rsm->r_end - rsm->r_start))
- rack->r_ctl.rc_considered_lost -= rsm->r_end - rsm->r_start;
- else
- rack->r_ctl.rc_considered_lost = 0;
+ rack_mark_nolonger_lost(rack, rsm);
}
rack_log_map_chg(tp, rack, NULL, rsm, NULL, MAP_FREE, rsm->r_end, __LINE__);
rack->r_ctl.rc_holes_rxt -= rsm->r_rtr_bytes;
@@ -10482,12 +10474,7 @@ more:
* which can happen due to reordering. In this
* case its only a partial ack of the send.
*/
- KASSERT((rack->r_ctl.rc_considered_lost >= (th_ack - rsm->r_start)),
- ("rsm:%p rack:%p rc_considered_lost goes negative th_ack:%u", rsm, rack, th_ack));
- if (rack->r_ctl.rc_considered_lost >= (th_ack - rsm->r_start))
- rack->r_ctl.rc_considered_lost -= th_ack - rsm->r_start;
- else
- rack->r_ctl.rc_considered_lost = 0;
+ rack_mark_nolonger_lost(rack, rsm);
}
/*
* Clear the dup ack count for
@@ -14377,8 +14364,7 @@ rack_switch_failed(struct tcpcb *tp)
}
} else
toval = HPTS_USECS_PER_SLOT;
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(toval),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, toval, &diag);
rack_log_hpts_diag(rack, cts, &diag, &tv);
}
@@ -14973,8 +14959,7 @@ rack_init(struct tcpcb *tp, void **ptr)
if (tov) {
struct hpts_diag diag;
- (void)tcp_hpts_insert_diag(tp, HPTS_USEC_TO_SLOTS(tov),
- __LINE__, &diag);
+ tcp_hpts_insert(tp, tov, &diag);
rack_log_hpts_diag(rack, us_cts, &diag, &rack->r_ctl.act_rcv_time);
}
}
@@ -16367,7 +16352,7 @@ rack_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th,
struct rack_sendmap *rsm;
int32_t prev_state = 0;
int no_output = 0;
- int slot_remaining = 0;
+ int time_remaining = 0;
#ifdef TCP_ACCOUNTING
int ack_val_set = 0xf;
#endif
@@ -16416,7 +16401,7 @@ rack_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th,
* could be, if a sack is present, we want to be awoken and
* so should process the packets.
*/
- slot_remaining = rack->r_ctl.rc_last_output_to - us_cts;
+ time_remaining = rack->r_ctl.rc_last_output_to - us_cts;
if (rack->rc_tp->t_flags2 & TF2_DONT_SACK_QUEUE) {
no_output = 1;
} else {
@@ -16436,7 +16421,7 @@ rack_do_segment_nounlock(struct tcpcb *tp, struct mbuf *m, struct tcphdr *th,
(*ts_ptr == TCP_LRO_TS_OPTION)))
no_output = 1;
}
- if ((no_output == 1) && (slot_remaining < tcp_min_hptsi_time)) {
+ if ((no_output == 1) && (time_remaining < tcp_min_hptsi_time)) {
/*
* It is unrealistic to think we can pace in less than
* the minimum granularity of the pacer (def:250usec). So
@@ -16919,10 +16904,10 @@ do_output_now:
(tcp_in_hpts(rack->rc_tp) == 0)) {
/*
* We are not in hpts and we had a pacing timer up. Use
- * the remaining time (slot_remaining) to restart the timer.
+ * the remaining time (time_remaining) to restart the timer.
*/
- KASSERT ((slot_remaining != 0), ("slot remaining is zero for rack:%p tp:%p", rack, tp));
- rack_start_hpts_timer(rack, tp, cts, slot_remaining, 0, 0);
+ KASSERT ((time_remaining != 0), ("slot remaining is zero for rack:%p tp:%p", rack, tp));
+ rack_start_hpts_timer(rack, tp, cts, time_remaining, 0, 0);
rack_free_trim(rack);
}
/* Clear the flag, it may have been cleared by output but we may not have */
@@ -17102,7 +17087,7 @@ check_it:
}
static void
-rack_log_pacing_delay_calc (struct tcp_rack *rack, uint32_t len, uint32_t slot,
+rack_log_pacing_delay_calc (struct tcp_rack *rack, uint32_t len, uint32_t pacing_delay,
uint64_t bw_est, uint64_t bw, uint64_t len_time, int method,
int line, struct rack_sendmap *rsm, uint8_t quality)
{
@@ -17125,7 +17110,7 @@ rack_log_pacing_delay_calc (struct tcp_rack *rack, uint32_t len, uint32_t slot,
}
}
memset(&log, 0, sizeof(log));
- log.u_bbr.flex1 = slot;
+ log.u_bbr.flex1 = pacing_delay;
log.u_bbr.flex2 = len;
log.u_bbr.flex3 = rack->r_ctl.rc_pace_min_segs;
log.u_bbr.flex4 = rack->r_ctl.rc_pace_max_segs;
@@ -17284,25 +17269,25 @@ rack_arrive_at_discounted_rate(struct tcp_rack *rack, uint64_t window_input, uin
}
static int32_t
-pace_to_fill_cwnd(struct tcp_rack *rack, int32_t slot, uint32_t len, uint32_t segsiz, int *capped, uint64_t *rate_wanted, uint8_t non_paced)
+pace_to_fill_cwnd(struct tcp_rack *rack, int32_t pacing_delay, uint32_t len, uint32_t segsiz, int *capped, uint64_t *rate_wanted, uint8_t non_paced)
{
uint64_t lentim, fill_bw;
rack->r_via_fill_cw = 0;
if (ctf_flight_size(rack->rc_tp, rack->r_ctl.rc_sacked) > rack->r_ctl.cwnd_to_use)
- return (slot);
+ return (pacing_delay);
if ((ctf_outstanding(rack->rc_tp) + (segsiz-1)) > rack->rc_tp->snd_wnd)
- return (slot);
+ return (pacing_delay);
if (rack->r_ctl.rc_last_us_rtt == 0)
- return (slot);
+ return (pacing_delay);
if (rack->rc_pace_fill_if_rttin_range &&
(rack->r_ctl.rc_last_us_rtt >=
(get_filter_value_small(&rack->r_ctl.rc_gp_min_rtt) * rack->rtt_limit_mul))) {
/* The rtt is huge, N * smallest, lets not fill */
- return (slot);
+ return (pacing_delay);
}
if (rack->r_ctl.fillcw_cap && *rate_wanted >= rack->r_ctl.fillcw_cap)
- return (slot);
+ return (pacing_delay);
/*
* first lets calculate the b/w based on the last us-rtt
* and the the smallest send window.
@@ -17368,7 +17353,7 @@ at_lt_bw:
if (non_paced)
*rate_wanted = fill_bw;
if ((fill_bw < RACK_MIN_BW) || (fill_bw < *rate_wanted))
- return (slot);
+ return (pacing_delay);
rack->r_via_fill_cw = 1;
if (rack->r_rack_hw_rate_caps &&
(rack->r_ctl.crte != NULL)) {
@@ -17423,19 +17408,19 @@ at_lt_bw:
lentim = (uint64_t)(len) * (uint64_t)HPTS_USEC_IN_SEC;
lentim /= fill_bw;
*rate_wanted = fill_bw;
- if (non_paced || (lentim < slot)) {
- rack_log_pacing_delay_calc(rack, len, slot, fill_bw,
+ if (non_paced || (lentim < pacing_delay)) {
+ rack_log_pacing_delay_calc(rack, len, pacing_delay, fill_bw,
0, lentim, 12, __LINE__, NULL, 0);
return ((int32_t)lentim);
} else
- return (slot);
+ return (pacing_delay);
}
static int32_t
rack_get_pacing_delay(struct tcp_rack *rack, struct tcpcb *tp, uint32_t len, struct rack_sendmap *rsm, uint32_t segsiz, int line)
{
uint64_t srtt;
- int32_t slot = 0;
+ int32_t pacing_delay = 0;
int can_start_hw_pacing = 1;
int err;
int pace_one;
@@ -17483,25 +17468,25 @@ rack_get_pacing_delay(struct tcp_rack *rack, struct tcpcb *tp, uint32_t len, str
* cwnd. Which in that case we are just waiting for
* a ACK.
*/
- slot = len / tr_perms;
+ pacing_delay = len / tr_perms;
/* Now do we reduce the time so we don't run dry? */
- if (slot && rack_slot_reduction) {
- reduce = (slot / rack_slot_reduction);
- if (reduce < slot) {
- slot -= reduce;
+ if (pacing_delay && rack_pacing_delay_reduction) {
+ reduce = (pacing_delay / rack_pacing_delay_reduction);
+ if (reduce < pacing_delay) {
+ pacing_delay -= reduce;
} else
- slot = 0;
+ pacing_delay = 0;
} else
reduce = 0;
- slot *= HPTS_USEC_IN_MSEC;
+ pacing_delay *= HPTS_USEC_IN_MSEC;
if (rack->rc_pace_to_cwnd) {
uint64_t rate_wanted = 0;
- slot = pace_to_fill_cwnd(rack, slot, len, segsiz, NULL, &rate_wanted, 1);
+ pacing_delay = pace_to_fill_cwnd(rack, pacing_delay, len, segsiz, NULL, &rate_wanted, 1);
rack->rc_ack_can_sendout_data = 1;
- rack_log_pacing_delay_calc(rack, len, slot, rate_wanted, 0, 0, 14, __LINE__, NULL, 0);
+ rack_log_pacing_delay_calc(rack, len, pacing_delay, rate_wanted, 0, 0, 14, __LINE__, NULL, 0);
} else
- rack_log_pacing_delay_calc(rack, len, slot, tr_perms, reduce, 0, 7, __LINE__, NULL, 0);
+ rack_log_pacing_delay_calc(rack, len, pacing_delay, tr_perms, reduce, 0, 7, __LINE__, NULL, 0);
/*******************************************************/
/* RRS: We insert non-paced call to stats here for len */
/*******************************************************/
@@ -17575,7 +17560,7 @@ rack_get_pacing_delay(struct tcp_rack *rack, struct tcpcb *tp, uint32_t len, str
segs *= oh;
lentim = (uint64_t)(len + segs) * (uint64_t)HPTS_USEC_IN_SEC;
res = lentim / rate_wanted;
- slot = (uint32_t)res;
+ pacing_delay = (uint32_t)res;
if (rack_hw_rate_min &&
(rate_wanted < rack_hw_rate_min)) {
can_start_hw_pacing = 0;
@@ -17635,7 +17620,7 @@ rack_get_pacing_delay(struct tcp_rack *rack, struct tcpcb *tp, uint32_t len, str
* We want to pace at our rate *or* faster to
* fill the cwnd to the max if its not full.
*/
- slot = pace_to_fill_cwnd(rack, slot, (len+segs), segsiz, &capped, &rate_wanted, 0);
+ pacing_delay = pace_to_fill_cwnd(rack, pacing_delay, (len+segs), segsiz, &capped, &rate_wanted, 0);
/* Re-check to make sure we are not exceeding our max b/w */
if ((rack->r_ctl.crte != NULL) &&
(tcp_hw_highest_rate(rack->r_ctl.crte) < rate_wanted)) {
@@ -17786,15 +17771,15 @@ rack_get_pacing_delay(struct tcp_rack *rack, struct tcpcb *tp, uint32_t len, str
srtt = rack->rc_tp->t_srtt;
else
srtt = RACK_INITIAL_RTO * HPTS_USEC_IN_MSEC; /* its in ms convert */
- if (srtt < (uint64_t)slot) {
- rack_log_pacing_delay_calc(rack, srtt, slot, rate_wanted, bw_est, lentim, 99, __LINE__, NULL, 0);
- slot = srtt;
+ if (srtt < (uint64_t)pacing_delay) {
+ rack_log_pacing_delay_calc(rack, srtt, pacing_delay, rate_wanted, bw_est, lentim, 99, __LINE__, NULL, 0);
+ pacing_delay = srtt;
}
}
/*******************************************************************/
/* RRS: We insert paced call to stats here for len and rate_wanted */
/*******************************************************************/
- rack_log_pacing_delay_calc(rack, len, slot, rate_wanted, bw_est, lentim, 2, __LINE__, rsm, 0);
+ rack_log_pacing_delay_calc(rack, len, pacing_delay, rate_wanted, bw_est, lentim, 2, __LINE__, rsm, 0);
}
if (rack->r_ctl.crte && (rack->r_ctl.crte->rs_num_enobufs > 0)) {
/*
@@ -17811,9 +17796,9 @@ rack_get_pacing_delay(struct tcp_rack *rack, struct tcpcb *tp, uint32_t len, str
hw_boost_delay = rack_enobuf_hw_max;
else if (hw_boost_delay < rack_enobuf_hw_min)
hw_boost_delay = rack_enobuf_hw_min;
- slot += hw_boost_delay;
+ pacing_delay += hw_boost_delay;
}
- return (slot);
+ return (pacing_delay);
}
static void
@@ -18482,7 +18467,7 @@ rack_fast_rsm_output(struct tcpcb *tp, struct tcp_rack *rack, struct rack_sendma
struct tcpopt to;
u_char opt[TCP_MAXOLEN];
uint32_t hdrlen, optlen;
- int32_t slot, segsiz, max_val, tso = 0, error = 0, ulen = 0;
+ int32_t pacing_delay, segsiz, max_val, tso = 0, error = 0, ulen = 0;
uint16_t flags;
uint32_t if_hw_tsomaxsegcount = 0, startseq;
uint32_t if_hw_tsomaxsegsize;
@@ -18688,9 +18673,9 @@ rack_fast_rsm_output(struct tcpcb *tp, struct tcp_rack *rack, struct rack_sendma
}
if (rack->r_ctl.crte != NULL) {
/* See if we can send via the hw queue */
- slot = rack_check_queue_level(rack, tp, tv, cts, len, segsiz);
+ pacing_delay = rack_check_queue_level(rack, tp, tv, cts, len, segsiz);
/* If there is nothing in queue (no pacing time) we can send via the hw queue */
- if (slot == 0)
+ if (pacing_delay == 0)
ip_sendflag = 0;
}
tcp_set_flags(th, flags);
@@ -18955,20 +18940,20 @@ rack_fast_rsm_output(struct tcpcb *tp, struct tcp_rack *rack, struct rack_sendma
rack_log_queue_level(tp, rack, len, tv, cts);
} else
tcp_trace_point(rack->rc_tp, TCP_TP_ENOBUF);
- slot = ((1 + rack->rc_enobuf) * HPTS_USEC_IN_MSEC);
+ pacing_delay = ((1 + rack->rc_enobuf) * HPTS_USEC_IN_MSEC);
if (rack->rc_enobuf < 0x7f)
rack->rc_enobuf++;
- if (slot < (10 * HPTS_USEC_IN_MSEC))
- slot = 10 * HPTS_USEC_IN_MSEC;
+ if (pacing_delay < (10 * HPTS_USEC_IN_MSEC))
+ pacing_delay = 10 * HPTS_USEC_IN_MSEC;
if (rack->r_ctl.crte != NULL) {
counter_u64_add(rack_saw_enobuf_hw, 1);
tcp_rl_log_enobuf(rack->r_ctl.crte);
}
counter_u64_add(rack_saw_enobuf, 1);
} else {
- slot = rack_get_pacing_delay(rack, tp, len, NULL, segsiz, __LINE__);
+ pacing_delay = rack_get_pacing_delay(rack, tp, len, NULL, segsiz, __LINE__);
}
- rack_start_hpts_timer(rack, tp, cts, slot, len, 0);
+ rack_start_hpts_timer(rack, tp, cts, pacing_delay, len, 0);
#ifdef TCP_ACCOUNTING
crtsc = get_cyclecount();
if (tp->t_flags2 & TF2_TCP_ACCOUNTING) {
@@ -19071,7 +19056,7 @@ rack_fast_output(struct tcpcb *tp, struct tcp_rack *rack, uint64_t ts_val,
#ifdef TCP_ACCOUNTING
int cnt_thru = 1;
#endif
- int32_t slot, segsiz, len, max_val, tso = 0, sb_offset, error, ulen = 0;
+ int32_t pacing_delay, segsiz, len, max_val, tso = 0, sb_offset, error, ulen = 0;
uint16_t flags;
uint32_t s_soff;
uint32_t if_hw_tsomaxsegcount = 0, startseq;
@@ -19519,8 +19504,8 @@ again:
}
tp->t_flags &= ~(TF_ACKNOW | TF_DELACK);
counter_u64_add(rack_fto_send, 1);
- slot = rack_get_pacing_delay(rack, tp, *tot_len, NULL, segsiz, __LINE__);
- rack_start_hpts_timer(rack, tp, cts, slot, *tot_len, 0);
+ pacing_delay = rack_get_pacing_delay(rack, tp, *tot_len, NULL, segsiz, __LINE__);
+ rack_start_hpts_timer(rack, tp, cts, pacing_delay, *tot_len, 0);
#ifdef TCP_ACCOUNTING
crtsc = get_cyclecount();
if (tp->t_flags2 & TF2_TCP_ACCOUNTING) {
@@ -19707,7 +19692,7 @@ rack_output(struct tcpcb *tp)
struct rack_sendmap *rsm = NULL;
int32_t tso, mtu;
struct tcpopt to;
- int32_t slot = 0;
+ int32_t pacing_delay = 0;
int32_t sup_rack = 0;
uint32_t cts, ms_cts, delayed, early;
uint32_t add_flag = RACK_SENT_SP;
@@ -20070,7 +20055,7 @@ again:
if (rsm == NULL) {
if (hpts_calling)
/* Retry in a ms */
- slot = (1 * HPTS_USEC_IN_MSEC);
+ pacing_delay = (1 * HPTS_USEC_IN_MSEC);
so = inp->inp_socket;
sb = &so->so_snd;
goto just_return_nolock;
@@ -20877,7 +20862,7 @@ just_return_nolock:
}
if (tot_len_this_send > 0) {
rack->r_ctl.fsb.recwin = recwin;
- slot = rack_get_pacing_delay(rack, tp, tot_len_this_send, NULL, segsiz, __LINE__);
+ pacing_delay = rack_get_pacing_delay(rack, tp, tot_len_this_send, NULL, segsiz, __LINE__);
if ((error == 0) &&
rack_use_rfo &&
((flags & (TH_SYN|TH_FIN)) == 0) &&
@@ -21060,8 +21045,8 @@ just_return_nolock:
/* Yes lets make sure to move to persist before timer-start */
rack_enter_persist(tp, rack, rack->r_ctl.rc_rcvtime, tp->snd_una);
}
- rack_start_hpts_timer(rack, tp, cts, slot, tot_len_this_send, sup_rack);
- rack_log_type_just_return(rack, cts, tot_len_this_send, slot, hpts_calling, app_limited, cwnd_to_use);
+ rack_start_hpts_timer(rack, tp, cts, pacing_delay, tot_len_this_send, sup_rack);
+ rack_log_type_just_return(rack, cts, tot_len_this_send, pacing_delay, hpts_calling, app_limited, cwnd_to_use);
}
#ifdef NETFLIX_SHARED_CWND
if ((sbavail(sb) == 0) &&
@@ -21100,8 +21085,8 @@ send:
* we come around to again, the flag will be clear.
*/
check_done = 1;
- slot = rack_check_queue_level(rack, tp, &tv, cts, len, segsiz);
- if (slot) {
+ pacing_delay = rack_check_queue_level(rack, tp, &tv, cts, len, segsiz);
+ if (pacing_delay) {
rack->r_ctl.rc_agg_delayed = 0;
rack->r_ctl.rc_agg_early = 0;
rack->r_early = 0;
@@ -22358,11 +22343,11 @@ nomore:
rack_log_queue_level(tp, rack, len, &tv, cts);
} else
tcp_trace_point(rack->rc_tp, TCP_TP_ENOBUF);
- slot = ((1 + rack->rc_enobuf) * HPTS_USEC_IN_MSEC);
+ pacing_delay = ((1 + rack->rc_enobuf) * HPTS_USEC_IN_MSEC);
if (rack->rc_enobuf < 0x7f)
rack->rc_enobuf++;
- if (slot < (10 * HPTS_USEC_IN_MSEC))
- slot = 10 * HPTS_USEC_IN_MSEC;
+ if (pacing_delay < (10 * HPTS_USEC_IN_MSEC))
+ pacing_delay = 10 * HPTS_USEC_IN_MSEC;
if (rack->r_ctl.crte != NULL) {
counter_u64_add(rack_saw_enobuf_hw, 1);
tcp_rl_log_enobuf(rack->r_ctl.crte);
@@ -22389,8 +22374,8 @@ nomore:
goto again;
}
}
- slot = 10 * HPTS_USEC_IN_MSEC;
- rack_start_hpts_timer(rack, tp, cts, slot, 0, 0);
+ pacing_delay = 10 * HPTS_USEC_IN_MSEC;
+ rack_start_hpts_timer(rack, tp, cts, pacing_delay, 0, 0);
#ifdef TCP_ACCOUNTING
crtsc = get_cyclecount();
if (tp->t_flags2 & TF2_TCP_ACCOUNTING) {
@@ -22412,8 +22397,8 @@ nomore:
}
/* FALLTHROUGH */
default:
- slot = 10 * HPTS_USEC_IN_MSEC;
- rack_start_hpts_timer(rack, tp, cts, slot, 0, 0);
+ pacing_delay = 10 * HPTS_USEC_IN_MSEC;
+ rack_start_hpts_timer(rack, tp, cts, pacing_delay, 0, 0);
#ifdef TCP_ACCOUNTING
crtsc = get_cyclecount();
if (tp->t_flags2 & TF2_TCP_ACCOUNTING) {
@@ -22456,18 +22441,18 @@ enobufs:
/*
* We don't send again after sending a RST.
*/
- slot = 0;
+ pacing_delay = 0;
sendalot = 0;
if (error == 0)
tcp_log_end_status(tp, TCP_EI_STATUS_SERVER_RST);
- } else if ((slot == 0) && (sendalot == 0) && tot_len_this_send) {
+ } else if ((pacing_delay == 0) && (sendalot == 0) && tot_len_this_send) {
/*
* Get our pacing rate, if an error
* occurred in sending (ENOBUF) we would
* hit the else if with slot preset. Other
* errors return.
*/
- slot = rack_get_pacing_delay(rack, tp, tot_len_this_send, rsm, segsiz, __LINE__);
+ pacing_delay = rack_get_pacing_delay(rack, tp, tot_len_this_send, rsm, segsiz, __LINE__);
}
/* We have sent clear the flag */
rack->r_ent_rec_ns = 0;
@@ -22499,7 +22484,7 @@ enobufs:
*/
tp->t_flags &= ~(TF_WASCRECOVERY|TF_WASFRECOVERY);
}
- if (slot) {
+ if (pacing_delay) {
/* set the rack tcb into the slot N */
if ((error == 0) &&
rack_use_rfo &&
@@ -22564,7 +22549,7 @@ skip_all_send:
/* Assure when we leave that snd_nxt will point to top */
if (SEQ_GT(tp->snd_max, tp->snd_nxt))
tp->snd_nxt = tp->snd_max;
- rack_start_hpts_timer(rack, tp, cts, slot, tot_len_this_send, 0);
+ rack_start_hpts_timer(rack, tp, cts, pacing_delay, tot_len_this_send, 0);
#ifdef TCP_ACCOUNTING
crtsc = get_cyclecount() - ts_val;
if (tot_len_this_send) {
diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c
index f842a5678fa1..be20fb44a820 100644
--- a/sys/netinet/tcp_syncache.c
+++ b/sys/netinet/tcp_syncache.c
@@ -1046,6 +1046,8 @@ abort:
*
* On syncache_socket() success the newly created socket
* has its underlying inp locked.
+ *
+ * *lsop is updated, if and only if 1 is returned.
*/
int
syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
@@ -1094,12 +1096,14 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
*/
SCH_UNLOCK(sch);
TCPSTAT_INC(tcps_sc_spurcookie);
- if ((s = tcp_log_addrs(inc, th, NULL, NULL)))
+ if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
log(LOG_DEBUG, "%s; %s: Spurious ACK, "
"segment rejected "
"(syncookies disabled)\n",
s, __func__);
- goto failed;
+ free(s, M_TCPLOG);
+ }
+ return (0);
}
if (sch->sch_last_overflow <
time_uptime - SYNCOOKIE_LIFETIME) {
@@ -1109,12 +1113,14 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
*/
SCH_UNLOCK(sch);
TCPSTAT_INC(tcps_sc_spurcookie);
- if ((s = tcp_log_addrs(inc, th, NULL, NULL)))
+ if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
log(LOG_DEBUG, "%s; %s: Spurious ACK, "
"segment rejected "
"(no syncache entry)\n",
s, __func__);
- goto failed;
+ free(s, M_TCPLOG);
+ }
+ return (0);
}
SCH_UNLOCK(sch);
}
@@ -1128,11 +1134,13 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
TCPSTAT_INC(tcps_sc_recvcookie);
} else {
TCPSTAT_INC(tcps_sc_failcookie);
- if ((s = tcp_log_addrs(inc, th, NULL, NULL)))
+ if ((s = tcp_log_addrs(inc, th, NULL, NULL))) {
log(LOG_DEBUG, "%s; %s: Segment failed "
"SYNCOOKIE authentication, segment rejected "
"(probably spoofed)\n", s, __func__);
- goto failed;
+ free(s, M_TCPLOG);
+ }
+ return (0);
}
#if defined(IPSEC_SUPPORT) || defined(TCP_SIGNATURE)
/* If received ACK has MD5 signature, check it. */
@@ -1206,9 +1214,9 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
"%s; %s: SEG.TSval %u < TS.Recent %u, "
"segment dropped\n", s, __func__,
to->to_tsval, sc->sc_tsreflect);
- free(s, M_TCPLOG);
}
SCH_UNLOCK(sch);
+ free(s, M_TCPLOG);
return (-1); /* Do not send RST */
}
@@ -1225,7 +1233,6 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
"expected, segment processed normally\n",
s, __func__);
free(s, M_TCPLOG);
- s = NULL;
}
}
@@ -1312,16 +1319,6 @@ syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,
if (sc != &scs)
syncache_free(sc);
return (1);
-failed:
- if (sc != NULL) {
- TCPSTATES_DEC(TCPS_SYN_RECEIVED);
- if (sc != &scs)
- syncache_free(sc);
- }
- if (s != NULL)
- free(s, M_TCPLOG);
- *lsop = NULL;
- return (0);
}
static struct socket *
diff --git a/sys/netinet6/in6_fib_algo.c b/sys/netinet6/in6_fib_algo.c
index 10ffe7ab0265..ef5cfc6d5ef6 100644
--- a/sys/netinet6/in6_fib_algo.c
+++ b/sys/netinet6/in6_fib_algo.c
@@ -351,7 +351,7 @@ struct fib_lookup_module flm_radix6 = {
};
static void
-fib6_algo_init(void)
+fib6_algo_init(void *dummy __unused)
{
fib_module_register(&flm_radix6_lockless);
diff --git a/sys/netipsec/xform_ipcomp.c b/sys/netipsec/xform_ipcomp.c
index 737d4a50098a..05a01b75e0bb 100644
--- a/sys/netipsec/xform_ipcomp.c
+++ b/sys/netipsec/xform_ipcomp.c
@@ -750,7 +750,7 @@ static struct xformsw ipcomp_xformsw = {
};
static void
-ipcomp_attach(void)
+ipcomp_attach(void *dummy __unused)
{
#ifdef INET
@@ -763,7 +763,7 @@ ipcomp_attach(void)
}
static void
-ipcomp_detach(void)
+ipcomp_detach(void *dummy __unused)
{
#ifdef INET
diff --git a/sys/netpfil/ipfw/ip_dummynet.c b/sys/netpfil/ipfw/ip_dummynet.c
index b3f52322425f..d522f9da0fbe 100644
--- a/sys/netpfil/ipfw/ip_dummynet.c
+++ b/sys/netpfil/ipfw/ip_dummynet.c
@@ -1150,7 +1150,7 @@ copy_data_helper(void *_o, void *_arg)
return 0; /* not a pipe */
/* see if the object is within one of our ranges */
- for (;r < lim; r += 2) {
+ for (; r < lim; r += 2) {
if (n < r[0] || n > r[1])
continue;
/* Found a valid entry, copy and we are done */
@@ -1183,7 +1183,7 @@ copy_data_helper(void *_o, void *_arg)
if (n >= DN_MAX_ID)
return 0;
/* see if the object is within one of our ranges */
- for (;r < lim; r += 2) {
+ for (; r < lim; r += 2) {
if (n < r[0] || n > r[1])
continue;
if (copy_flowset(a, fs, 0))
diff --git a/sys/netpfil/ipfw/ip_fw2.c b/sys/netpfil/ipfw/ip_fw2.c
index b59d8d08bf80..d15d7760d7f1 100644
--- a/sys/netpfil/ipfw/ip_fw2.c
+++ b/sys/netpfil/ipfw/ip_fw2.c
@@ -3578,11 +3578,9 @@ sysctl_ipfw_tables_sets(SYSCTL_HANDLER_ARGS)
/*
* Stuff that must be initialised only on boot or module load
*/
-static int
-ipfw_init(void)
+static void
+ipfw_init(void *dummy __unused)
{
- int error = 0;
-
/*
* Only print out this stuff the first time around,
* when called from the sysinit code.
@@ -3627,14 +3625,13 @@ ipfw_init(void)
ipfw_init_sopt_handler();
ipfw_init_obj_rewriter();
ipfw_iface_init();
- return (error);
}
/*
* Called for the removal of the last instance only on module unload.
*/
static void
-ipfw_destroy(void)
+ipfw_destroy(void *dummy __unused)
{
ipfw_iface_destroy();
diff --git a/sys/netpfil/ipfw/ip_fw_nat.c b/sys/netpfil/ipfw/ip_fw_nat.c
index 1e2ff1bca290..8bd27f6885ab 100644
--- a/sys/netpfil/ipfw/ip_fw_nat.c
+++ b/sys/netpfil/ipfw/ip_fw_nat.c
@@ -999,9 +999,11 @@ ipfw_nat_del(struct sockopt *sopt)
{
struct cfg_nat *ptr;
struct ip_fw_chain *chain = &V_layer3_chain;
- int i;
+ int error, i;
- sooptcopyin(sopt, &i, sizeof i, sizeof i);
+ error = sooptcopyin(sopt, &i, sizeof i, sizeof i);
+ if (error != 0)
+ return (error);
/* XXX validate i */
IPFW_UH_WLOCK(chain);
ptr = lookup_nat(&chain->nat, i);
@@ -1104,7 +1106,7 @@ ipfw_nat_get_log(struct sockopt *sopt)
{
uint8_t *data;
struct cfg_nat *ptr;
- int i, size;
+ int error, i, size;
struct ip_fw_chain *chain;
IPFW_RLOCK_TRACKER;
@@ -1134,9 +1136,9 @@ ipfw_nat_get_log(struct sockopt *sopt)
i += LIBALIAS_BUF_SIZE;
}
IPFW_RUNLOCK(chain);
- sooptcopyout(sopt, data, size);
+ error = sooptcopyout(sopt, data, size);
free(data, M_IPFW);
- return(0);
+ return (error);
}
static int
@@ -1166,7 +1168,7 @@ vnet_ipfw_nat_uninit(const void *arg __unused)
}
static void
-ipfw_nat_init(void)
+ipfw_nat_init(void *dummy __unused)
{
/* init ipfw hooks */
@@ -1183,7 +1185,7 @@ ipfw_nat_init(void)
}
static void
-ipfw_nat_destroy(void)
+ipfw_nat_destroy(void *dummy __unused)
{
EVENTHANDLER_DEREGISTER(ifaddr_event, ifaddr_event_tag);
diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c
index d6fc24a23fe9..fd70fb1c8a36 100644
--- a/sys/netpfil/pf/pf.c
+++ b/sys/netpfil/pf/pf.c
@@ -5965,6 +5965,7 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm,
ctx.nat_pool = &(ctx.nr->rdr);
}
+ *ctx.rm = &V_pf_default_rule;
if (ctx.nr && ctx.nr->natpass) {
r = ctx.nr;
ruleset = *ctx.rsm;
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c
index d58af6e5ec4d..a4557f139ae5 100644
--- a/sys/netpfil/pf/pf_ioctl.c
+++ b/sys/netpfil/pf/pf_ioctl.c
@@ -259,7 +259,7 @@ static void dehook_pf_eth(void);
static void dehook_pf(void);
static int shutdown_pf(void);
static int pf_load(void);
-static void pf_unload(void);
+static void pf_unload(void *);
static struct cdevsw pf_cdevsw = {
.d_ioctl = pfioctl,
@@ -7082,7 +7082,7 @@ pf_unload_vnet(void)
}
static void
-pf_unload(void)
+pf_unload(void *dummy __unused)
{
sx_xlock(&pf_end_lock);
diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c
index fb1b121d0bc0..5d85e16f18e3 100644
--- a/sys/netpfil/pf/pf_lb.c
+++ b/sys/netpfil/pf/pf_lb.c
@@ -216,6 +216,7 @@ pf_match_translation_rule(int rs_num, struct pf_test_ctx *ctx, struct pf_krulese
*/
ctx->arsm = ctx->aruleset;
}
+ break;
} else {
ctx->a = r; /* remember anchor */
ctx->aruleset = ruleset; /* and its ruleset */
diff --git a/sys/nfs/nfs_diskless.c b/sys/nfs/nfs_diskless.c
index 42cfee63d184..0f0cf80feeec 100644
--- a/sys/nfs/nfs_diskless.c
+++ b/sys/nfs/nfs_diskless.c
@@ -428,7 +428,7 @@ decode_nfshandle(char *ev, u_char *fh, int maxfh)
#if !defined(BOOTP_NFSROOT)
static void
-nfs_rootconf(void)
+nfs_rootconf(void *dummy __unused)
{
nfs_setup_diskless();
diff --git a/sys/powerpc/aim/mmu_oea64.c b/sys/powerpc/aim/mmu_oea64.c
index 796b1719b8ba..01bf4c7e90a8 100644
--- a/sys/powerpc/aim/mmu_oea64.c
+++ b/sys/powerpc/aim/mmu_oea64.c
@@ -297,7 +297,7 @@ static u_int moea64_clear_bit(vm_page_t, uint64_t);
static void moea64_kremove(vm_offset_t);
static void moea64_syncicache(pmap_t pmap, vm_offset_t va,
vm_paddr_t pa, vm_size_t sz);
-static void moea64_pmap_init_qpages(void);
+static void moea64_pmap_init_qpages(void *);
static void moea64_remove_locked(pmap_t, vm_offset_t,
vm_offset_t, struct pvo_dlist *);
@@ -1284,7 +1284,7 @@ moea64_late_bootstrap(vm_offset_t kernelstart, vm_offset_t kernelend)
}
static void
-moea64_pmap_init_qpages(void)
+moea64_pmap_init_qpages(void *dummy __unused)
{
struct pcpu *pc;
int i;
diff --git a/sys/powerpc/cpufreq/pmcr.c b/sys/powerpc/cpufreq/pmcr.c
index dd489b607606..6ae0777a8ac7 100644
--- a/sys/powerpc/cpufreq/pmcr.c
+++ b/sys/powerpc/cpufreq/pmcr.c
@@ -40,7 +40,8 @@ static int pstate_ids[256];
static int pstate_freqs[256];
static int npstates;
-static void parse_pstates(void)
+static void
+parse_pstates(void *dummy __unused)
{
phandle_t node;
diff --git a/sys/powerpc/powerpc/elf32_machdep.c b/sys/powerpc/powerpc/elf32_machdep.c
index e1118713bff0..6b904c02ea15 100644
--- a/sys/powerpc/powerpc/elf32_machdep.c
+++ b/sys/powerpc/powerpc/elf32_machdep.c
@@ -143,7 +143,7 @@ struct sysentvec elf32_freebsd_sysvec = {
};
INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec);
-static Elf32_Brandinfo freebsd_brand_info = {
+static const Elf32_Brandinfo freebsd_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_PPC,
.compat_3_brand = "FreeBSD",
@@ -158,11 +158,11 @@ static Elf32_Brandinfo freebsd_brand_info = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST,
+C_SYSINIT(elf32, SI_SUB_EXEC, SI_ORDER_FIRST,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&freebsd_brand_info);
-static Elf32_Brandinfo freebsd_brand_oinfo = {
+static const Elf32_Brandinfo freebsd_brand_oinfo = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_PPC,
.compat_3_brand = "FreeBSD",
@@ -173,7 +173,7 @@ static Elf32_Brandinfo freebsd_brand_oinfo = {
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(oelf32, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf32_insert_brand_entry,
&freebsd_brand_oinfo);
diff --git a/sys/powerpc/powerpc/elf64_machdep.c b/sys/powerpc/powerpc/elf64_machdep.c
index a999f742caeb..0be40bed69cb 100644
--- a/sys/powerpc/powerpc/elf64_machdep.c
+++ b/sys/powerpc/powerpc/elf64_machdep.c
@@ -154,7 +154,7 @@ static bool ppc64_elfv1_header_match(const struct image_params *params,
static bool ppc64_elfv2_header_match(const struct image_params *params,
const int32_t *, const uint32_t *);
-static Elf64_Brandinfo freebsd_brand_info_elfv1 = {
+static const Elf64_Brandinfo freebsd_brand_info_elfv1 = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_PPC64,
.compat_3_brand = "FreeBSD",
@@ -166,11 +166,11 @@ static Elf64_Brandinfo freebsd_brand_info_elfv1 = {
.header_supported = &ppc64_elfv1_header_match
};
-SYSINIT(elf64v1, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(elf64v1, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf64_insert_brand_entry,
&freebsd_brand_info_elfv1);
-static Elf64_Brandinfo freebsd_brand_info_elfv2 = {
+static const Elf64_Brandinfo freebsd_brand_info_elfv2 = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_PPC64,
.compat_3_brand = "FreeBSD",
@@ -182,11 +182,11 @@ static Elf64_Brandinfo freebsd_brand_info_elfv2 = {
.header_supported = &ppc64_elfv2_header_match
};
-SYSINIT(elf64v2, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(elf64v2, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf64_insert_brand_entry,
&freebsd_brand_info_elfv2);
-static Elf64_Brandinfo freebsd_brand_oinfo = {
+static const Elf64_Brandinfo freebsd_brand_oinfo = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_PPC64,
.compat_3_brand = "FreeBSD",
@@ -198,7 +198,7 @@ static Elf64_Brandinfo freebsd_brand_oinfo = {
.header_supported = &ppc64_elfv1_header_match
};
-SYSINIT(oelf64, SI_SUB_EXEC, SI_ORDER_ANY,
+C_SYSINIT(oelf64, SI_SUB_EXEC, SI_ORDER_ANY,
(sysinit_cfunc_t) elf64_insert_brand_entry,
&freebsd_brand_oinfo);
diff --git a/sys/riscv/include/vmm.h b/sys/riscv/include/vmm.h
index bc00474ed0fd..e227dd825966 100644
--- a/sys/riscv/include/vmm.h
+++ b/sys/riscv/include/vmm.h
@@ -149,7 +149,7 @@ DECLARE_VMMOPS_FUNC(void, vmspace_free, (struct vmspace *vmspace));
int vm_create(const char *name, struct vm **retvm);
struct vcpu *vm_alloc_vcpu(struct vm *vm, int vcpuid);
void vm_disable_vcpu_creation(struct vm *vm);
-void vm_slock_vcpus(struct vm *vm);
+void vm_lock_vcpus(struct vm *vm);
void vm_unlock_vcpus(struct vm *vm);
void vm_destroy(struct vm *vm);
int vm_reinit(struct vm *vm);
diff --git a/sys/riscv/riscv/elf_machdep.c b/sys/riscv/riscv/elf_machdep.c
index 67b1fcc4c1a9..5bd4af4c15f8 100644
--- a/sys/riscv/riscv/elf_machdep.c
+++ b/sys/riscv/riscv/elf_machdep.c
@@ -100,7 +100,7 @@ static struct sysentvec elf64_freebsd_sysvec = {
};
INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec);
-static Elf64_Brandinfo freebsd_brand_info = {
+static const Elf64_Brandinfo freebsd_brand_info = {
.brand = ELFOSABI_FREEBSD,
.machine = EM_RISCV,
.compat_3_brand = "FreeBSD",
@@ -110,7 +110,7 @@ static Elf64_Brandinfo freebsd_brand_info = {
.brand_note = &elf64_freebsd_brandnote,
.flags = BI_CAN_EXEC_DYN | BI_BRAND_NOTE
};
-SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST,
+C_SYSINIT(elf64, SI_SUB_EXEC, SI_ORDER_FIRST,
(sysinit_cfunc_t)elf64_insert_brand_entry, &freebsd_brand_info);
static void
diff --git a/sys/riscv/vmm/vmm.c b/sys/riscv/vmm/vmm.c
index 790dcc576507..4c9b1fa53f7a 100644
--- a/sys/riscv/vmm/vmm.c
+++ b/sys/riscv/vmm/vmm.c
@@ -346,9 +346,9 @@ vm_alloc_vcpu(struct vm *vm, int vcpuid)
}
void
-vm_slock_vcpus(struct vm *vm)
+vm_lock_vcpus(struct vm *vm)
{
- sx_slock(&vm->vcpus_init_lock);
+ sx_xlock(&vm->vcpus_init_lock);
}
void
diff --git a/sys/rpc/auth.h b/sys/rpc/auth.h
index 33c33ffd594d..648fb99a3a27 100644
--- a/sys/rpc/auth.h
+++ b/sys/rpc/auth.h
@@ -354,6 +354,10 @@ __END_DECLS
#define RPCSEC_GSS 6 /* RPCSEC_GSS */
#define AUTH_TLS 7 /* Initiate RPC-over-TLS */
+/* RFC 5531's prescribed limits for variable-lenth arrays. */
+#define AUTH_SYS_MAX_HOSTNAME 255
+#define AUTH_SYS_MAX_GROUPS 16 /* Supplementary groups. */
+
/*
* Pseudo auth flavors for RPCSEC_GSS.
*/
diff --git a/sys/rpc/authunix_prot.c b/sys/rpc/authunix_prot.c
index b107d5541c50..ff4c12c3f52e 100644
--- a/sys/rpc/authunix_prot.c
+++ b/sys/rpc/authunix_prot.c
@@ -30,7 +30,6 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
/*
* authunix_prot.c
* XDR for UNIX style authentication parameters for RPC
@@ -40,8 +39,7 @@
#include <sys/param.h>
#include <sys/jail.h>
-#include <sys/kernel.h>
-#include <sys/systm.h>
+#include <sys/libkern.h>
#include <sys/ucred.h>
#include <rpc/types.h>
@@ -50,9 +48,6 @@
#include <rpc/rpc_com.h>
-/* gids compose part of a credential; there may not be more than 16 of them */
-#define NGRPS 16
-
/*
* XDR for unix authentication parameters.
*/
@@ -60,25 +55,23 @@ bool_t
xdr_authunix_parms(XDR *xdrs, uint32_t *time, struct xucred *cred)
{
uint32_t namelen;
- uint32_t ngroups, i;
+ uint32_t supp_ngroups, i;
uint32_t junk;
char hostbuf[MAXHOSTNAMELEN];
+ if (xdrs->x_op == XDR_FREE)
+ /* This function does not allocate auxiliary memory. */
+ return (TRUE);
+
if (xdrs->x_op == XDR_ENCODE) {
- /*
- * Restrict name length to 255 according to RFC 1057.
- */
getcredhostname(NULL, hostbuf, sizeof(hostbuf));
namelen = strlen(hostbuf);
- if (namelen > 255)
- namelen = 255;
- } else {
+ if (namelen > AUTH_SYS_MAX_HOSTNAME)
+ namelen = AUTH_SYS_MAX_HOSTNAME;
+ } else
namelen = 0;
- }
- junk = 0;
- if (!xdr_uint32_t(xdrs, time)
- || !xdr_uint32_t(xdrs, &namelen))
+ if (!xdr_uint32_t(xdrs, time) || !xdr_uint32_t(xdrs, &namelen))
return (FALSE);
/*
@@ -88,43 +81,65 @@ xdr_authunix_parms(XDR *xdrs, uint32_t *time, struct xucred *cred)
if (!xdr_opaque(xdrs, hostbuf, namelen))
return (FALSE);
} else {
+ if (namelen > AUTH_SYS_MAX_HOSTNAME)
+ return (FALSE);
xdr_setpos(xdrs, xdr_getpos(xdrs) + RNDUP(namelen));
}
if (!xdr_uint32_t(xdrs, &cred->cr_uid))
return (FALSE);
+
+ /*
+ * Safety check: The protocol needs at least one group (access to
+ * 'cr_gid', decrementation of 'cr_ngroups' below).
+ */
+ if (xdrs->x_op == XDR_ENCODE && cred->cr_ngroups == 0)
+ return (FALSE);
if (!xdr_uint32_t(xdrs, &cred->cr_gid))
return (FALSE);
if (xdrs->x_op == XDR_ENCODE) {
/*
- * Note that this is a `struct xucred`, which maintains its
- * historical layout of preserving the egid in cr_ngroups and
- * cr_groups[0] == egid.
+ * Note that this is a 'struct xucred', which still has the
+ * historical layout where the effective GID is in cr_groups[0]
+ * and is accounted in 'cr_ngroups'. We substract 1 to obtain
+ * the number of "supplementary" groups, passed in the AUTH_SYS
+ * credentials variable-length array called gids[] in RFC 5531.
*/
- ngroups = cred->cr_ngroups - 1;
- if (ngroups > NGRPS)
- ngroups = NGRPS;
+ MPASS(cred->cr_ngroups <= XU_NGROUPS);
+ supp_ngroups = cred->cr_ngroups - 1;
+ if (supp_ngroups > AUTH_SYS_MAX_GROUPS)
+ /* With current values, this should never execute. */
+ supp_ngroups = AUTH_SYS_MAX_GROUPS;
}
- if (!xdr_uint32_t(xdrs, &ngroups))
+ if (!xdr_uint32_t(xdrs, &supp_ngroups))
return (FALSE);
- for (i = 0; i < ngroups; i++) {
- if (i < ngroups_max) {
- if (!xdr_uint32_t(xdrs, &cred->cr_groups[i + 1]))
- return (FALSE);
- } else {
- if (!xdr_uint32_t(xdrs, &junk))
- return (FALSE);
- }
- }
- if (xdrs->x_op == XDR_DECODE) {
- if (ngroups > ngroups_max)
- cred->cr_ngroups = ngroups_max + 1;
- else
- cred->cr_ngroups = ngroups + 1;
- }
+ /*
+ * Because we cannot store more than XU_NGROUPS in total (16 at time of
+ * this writing), for now we choose to be strict with respect to RFC
+ * 5531's maximum number of supplementary groups (AUTH_SYS_MAX_GROUPS).
+ * That would also be an accidental DoS prevention measure if the
+ * request handling code didn't try to reassemble it in full without any
+ * size limits. Although AUTH_SYS_MAX_GROUPS and XU_NGROUPS are equal,
+ * since the latter includes the "effective" GID, we cannot store the
+ * last group of a message with exactly AUTH_SYS_MAX_GROUPS
+ * supplementary groups. We accept such messages so as not to violate
+ * the protocol, silently dropping the last group on the floor.
+ */
+
+ if (xdrs->x_op != XDR_ENCODE && supp_ngroups > AUTH_SYS_MAX_GROUPS)
+ return (FALSE);
+
+ junk = 0;
+ for (i = 0; i < supp_ngroups; ++i)
+ if (!xdr_uint32_t(xdrs, i < XU_NGROUPS - 1 ?
+ &cred->cr_sgroups[i] : &junk))
+ return (FALSE);
+
+ if (xdrs->x_op != XDR_ENCODE)
+ cred->cr_ngroups = MIN(supp_ngroups + 1, XU_NGROUPS);
return (TRUE);
}
diff --git a/sys/rpc/svc_auth_unix.c b/sys/rpc/svc_auth_unix.c
index 963f4f272964..aa0fc585865f 100644
--- a/sys/rpc/svc_auth_unix.c
+++ b/sys/rpc/svc_auth_unix.c
@@ -41,18 +41,12 @@
*/
#include <sys/param.h>
-#include <sys/lock.h>
-#include <sys/mutex.h>
-#include <sys/systm.h>
#include <sys/ucred.h>
#include <rpc/rpc.h>
#include <rpc/rpc_com.h>
-#define MAX_MACHINE_NAME 255
-#define NGRPS 16
-
/*
* Unix longhand authenticator
*/
@@ -62,11 +56,8 @@ _svcauth_unix(struct svc_req *rqst, struct rpc_msg *msg)
enum auth_stat stat;
XDR xdrs;
int32_t *buf;
- uint32_t time;
struct xucred *xcr;
- u_int auth_len;
- size_t str_len, gid_len;
- u_int i;
+ uint32_t auth_len, time;
xcr = rqst->rq_clntcred;
auth_len = (u_int)msg->rm_call.cb_cred.oa_length;
@@ -74,51 +65,58 @@ _svcauth_unix(struct svc_req *rqst, struct rpc_msg *msg)
XDR_DECODE);
buf = XDR_INLINE(&xdrs, auth_len);
if (buf != NULL) {
+ /* 'time', 'str_len', UID, GID and 'supp_ngroups'. */
+ const uint32_t min_len = 5 * BYTES_PER_XDR_UNIT;
+ uint32_t str_len, supp_ngroups;
+
+ if (auth_len < min_len)
+ goto badcred;
time = IXDR_GET_UINT32(buf);
- str_len = (size_t)IXDR_GET_UINT32(buf);
- if (str_len > MAX_MACHINE_NAME) {
- stat = AUTH_BADCRED;
- goto done;
- }
+ str_len = IXDR_GET_UINT32(buf);
+ if (str_len > AUTH_SYS_MAX_HOSTNAME)
+ goto badcred;
str_len = RNDUP(str_len);
+ /*
+ * Recheck message length now that we know the value of
+ * 'str_len' (and that it won't cause an overflow in additions
+ * below) to protect access to the credentials part.
+ */
+ if (auth_len < min_len + str_len)
+ goto badcred;
buf += str_len / sizeof (int32_t);
xcr->cr_uid = IXDR_GET_UINT32(buf);
xcr->cr_gid = IXDR_GET_UINT32(buf);
- gid_len = (size_t)IXDR_GET_UINT32(buf);
- if (gid_len > NGRPS) {
- stat = AUTH_BADCRED;
- goto done;
- }
- for (i = 0; i < gid_len; i++) {
- /*
- * Note that this is a `struct xucred`, which maintains
- * its historical layout of preserving the egid in
- * cr_ngroups and cr_groups[0] == egid.
- */
- if (i + 1 < XU_NGROUPS)
- xcr->cr_groups[i + 1] = IXDR_GET_INT32(buf);
- else
- buf++;
- }
- if (gid_len + 1 > XU_NGROUPS)
- xcr->cr_ngroups = XU_NGROUPS;
- else
- xcr->cr_ngroups = gid_len + 1;
+ supp_ngroups = IXDR_GET_UINT32(buf);
+ /*
+ * See the herald comment before a similar test at the end of
+ * xdr_authunix_parms() for why we strictly respect RFC 5531 and
+ * why we may have to drop the last supplementary group when
+ * there are AUTH_SYS_MAX_GROUPS of them.
+ */
+ if (supp_ngroups > AUTH_SYS_MAX_GROUPS)
+ goto badcred;
+ /*
+ * Final message length check, as we now know how much we will
+ * read in total.
+ */
+ if (auth_len < min_len + str_len +
+ supp_ngroups * BYTES_PER_XDR_UNIT)
+ goto badcred;
/*
- * five is the smallest unix credentials structure -
- * timestamp, hostname len (0), uid, gid, and gids len (0).
+ * Note that 'xcr' is a 'struct xucred', which still has the
+ * historical layout where the effective GID is in cr_groups[0]
+ * and is accounted in 'cr_ngroups'.
*/
- if ((5 + gid_len) * BYTES_PER_XDR_UNIT + str_len > auth_len) {
- (void) printf("bad auth_len gid %ld str %ld auth %u\n",
- (long)gid_len, (long)str_len, auth_len);
- stat = AUTH_BADCRED;
- goto done;
+ for (uint32_t i = 0; i < supp_ngroups; ++i) {
+ if (i < XU_NGROUPS - 1)
+ xcr->cr_sgroups[i] = IXDR_GET_INT32(buf);
+ else
+ buf++;
}
- } else if (! xdr_authunix_parms(&xdrs, &time, xcr)) {
- stat = AUTH_BADCRED;
- goto done;
- }
+ xcr->cr_ngroups = MIN(supp_ngroups + 1, XU_NGROUPS);
+ } else if (!xdr_authunix_parms(&xdrs, &time, xcr))
+ goto badcred;
rqst->rq_verf = _null_auth;
stat = AUTH_OK;
@@ -126,6 +124,10 @@ done:
XDR_DESTROY(&xdrs);
return (stat);
+
+badcred:
+ stat = AUTH_BADCRED;
+ goto done;
}
diff --git a/sys/security/audit/audit.c b/sys/security/audit/audit.c
index 7ec50d990d4e..876776e5f62e 100644
--- a/sys/security/audit/audit.c
+++ b/sys/security/audit/audit.c
@@ -329,7 +329,7 @@ audit_record_dtor(void *mem, int size, void *arg)
* call into the BSM assembly code to initialize it.
*/
static void
-audit_init(void)
+audit_init(void *dummy __unused)
{
audit_trail_enabled = 0;
diff --git a/sys/security/audit/audit_pipe.c b/sys/security/audit/audit_pipe.c
index fb773fd04297..4d9815467e1a 100644
--- a/sys/security/audit/audit_pipe.c
+++ b/sys/security/audit/audit_pipe.c
@@ -243,6 +243,7 @@ static const struct filterops audit_pipe_read_filterops = {
.f_attach = NULL,
.f_detach = audit_pipe_kqdetach,
.f_event = audit_pipe_kqread,
+ .f_copy = knote_triv_copy,
};
/*
diff --git a/sys/security/mac/mac_framework.c b/sys/security/mac/mac_framework.c
index d742b5dcbc3a..b0776160cc74 100644
--- a/sys/security/mac/mac_framework.c
+++ b/sys/security/mac/mac_framework.c
@@ -320,7 +320,7 @@ mac_policy_xlock_assert(void)
* Initialize the MAC subsystem, including appropriate SMP locks.
*/
static void
-mac_init(void)
+mac_init(void *dummy __unused)
{
LIST_INIT(&mac_static_policy_list);
@@ -340,7 +340,7 @@ mac_init(void)
* kernel, or loaded before the kernel startup.
*/
static void
-mac_late_init(void)
+mac_late_init(void *dummy __unused)
{
mac_late = 1;
diff --git a/sys/sys/event.h b/sys/sys/event.h
index 084eaafcbdc0..ebbcdb703183 100644
--- a/sys/sys/event.h
+++ b/sys/sys/event.h
@@ -228,6 +228,7 @@ struct freebsd11_kevent32 {
/* Flags for kqueuex(2) */
#define KQUEUE_CLOEXEC 0x00000001 /* close on exec */
+#define KQUEUE_CPONFORK 0x00000002 /* copy on fork */
struct knote;
SLIST_HEAD(klist, knote);
@@ -283,6 +284,7 @@ struct filterops {
void (*f_touch)(struct knote *kn, struct kevent *kev, u_long type);
int (*f_userdump)(struct proc *p, struct knote *kn,
struct kinfo_knote *kin);
+ int (*f_copy)(struct knote *kn, struct proc *p1);
};
/*
@@ -346,6 +348,7 @@ struct rwlock;
void knote(struct knlist *list, long hint, int lockflags);
void knote_fork(struct knlist *list, int pid);
+int knote_triv_copy(struct knote *kn, struct proc *p1);
struct knlist *knlist_alloc(struct mtx *lock);
void knlist_detach(struct knlist *knl);
void knlist_add(struct knlist *knl, struct knote *kn, int islocked);
diff --git a/sys/sys/eventvar.h b/sys/sys/eventvar.h
index 7fec444447f9..7cb3269f1fdf 100644
--- a/sys/sys/eventvar.h
+++ b/sys/sys/eventvar.h
@@ -55,12 +55,14 @@ struct kqueue {
#define KQ_CLOSING 0x10
#define KQ_TASKSCHED 0x20 /* task scheduled */
#define KQ_TASKDRAIN 0x40 /* waiting for task to drain */
+#define KQ_CPONFORK 0x80
int kq_knlistsize; /* size of knlist */
struct klist *kq_knlist; /* list of knotes */
u_long kq_knhashmask; /* size of knhash */
struct klist *kq_knhash; /* hash table for knotes */
struct task kq_task;
struct ucred *kq_cred;
+ struct kqueue *kq_forksrc;
};
#endif /* !_SYS_EVENTVAR_H_ */
diff --git a/sys/sys/file.h b/sys/sys/file.h
index c44fd0f28929..e0195c7c6c2a 100644
--- a/sys/sys/file.h
+++ b/sys/sys/file.h
@@ -139,6 +139,8 @@ typedef int fo_fspacectl_t(struct file *fp, int cmd,
off_t *offset, off_t *length, int flags,
struct ucred *active_cred, struct thread *td);
typedef int fo_cmp_t(struct file *fp, struct file *fp1, struct thread *td);
+typedef int fo_fork_t(struct filedesc *fdp, struct file *fp, struct file **fp1,
+ struct proc *p1, struct thread *td);
typedef int fo_spare_t(struct file *fp);
typedef int fo_flags_t;
@@ -163,12 +165,14 @@ struct fileops {
fo_fallocate_t *fo_fallocate;
fo_fspacectl_t *fo_fspacectl;
fo_cmp_t *fo_cmp;
+ fo_fork_t *fo_fork;
fo_spare_t *fo_spares[8]; /* Spare slots */
fo_flags_t fo_flags; /* DFLAG_* below */
};
#define DFLAG_PASSABLE 0x01 /* may be passed via unix sockets. */
#define DFLAG_SEEKABLE 0x02 /* seekable / nonsequential */
+#define DFLAG_FORK 0x04 /* copy on fork */
#endif /* _KERNEL */
#if defined(_KERNEL) || defined(_WANT_FILE)
diff --git a/sys/sys/filedesc.h b/sys/sys/filedesc.h
index 0a388c90de26..4817855443af 100644
--- a/sys/sys/filedesc.h
+++ b/sys/sys/filedesc.h
@@ -265,7 +265,7 @@ int fdcheckstd(struct thread *td);
void fdclose(struct thread *td, struct file *fp, int idx);
void fdcloseexec(struct thread *td);
void fdsetugidsafety(struct thread *td);
-struct filedesc *fdcopy(struct filedesc *fdp);
+struct filedesc *fdcopy(struct filedesc *fdp, struct proc *p1);
void fdunshare(struct thread *td);
void fdescfree(struct thread *td);
int fdlastfile(struct filedesc *fdp);
diff --git a/sys/sys/imgact_elf.h b/sys/sys/imgact_elf.h
index 2845a9dbc1e2..25ce7871ba7c 100644
--- a/sys/sys/imgact_elf.h
+++ b/sys/sys/imgact_elf.h
@@ -86,8 +86,8 @@ typedef struct {
struct sysentvec *sysvec;
const char *interp_newpath;
int flags;
- Elf_Brandnote *brand_note;
- bool (*header_supported)(const struct image_params *,
+ const Elf_Brandnote *brand_note;
+ bool (*const header_supported)(const struct image_params *,
const int32_t *, const uint32_t *);
/* High 8 bits of flags is private to the ABI */
#define BI_CAN_EXEC_DYN 0x0001
@@ -111,9 +111,9 @@ struct sseg_closure {
size_t size; /* Total size of all writable segments. */
};
-bool __elfN(brand_inuse)(Elf_Brandinfo *entry);
-int __elfN(insert_brand_entry)(Elf_Brandinfo *entry);
-int __elfN(remove_brand_entry)(Elf_Brandinfo *entry);
+bool __elfN(brand_inuse)(const Elf_Brandinfo *entry);
+int __elfN(insert_brand_entry)(const Elf_Brandinfo *entry);
+int __elfN(remove_brand_entry)(const Elf_Brandinfo *entry);
int __elfN(freebsd_fixup)(uintptr_t *, struct image_params *);
int __elfN(coredump)(struct thread *, struct coredump_writer *, off_t, int);
size_t __elfN(populate_note)(int, void *, void *, size_t, void **);
@@ -132,8 +132,8 @@ bool __elfN(parse_notes)(const struct image_params *, const Elf_Note *,
void __elfN(dump_thread)(struct thread *, void *, size_t *);
extern int __elfN(fallback_brand);
-extern Elf_Brandnote __elfN(freebsd_brandnote);
-extern Elf_Brandnote __elfN(kfreebsd_brandnote);
+extern const Elf_Brandnote __elfN(freebsd_brandnote);
+extern const Elf_Brandnote __elfN(kfreebsd_brandnote);
#endif /* _KERNEL */
#endif /* !_SYS_IMGACT_ELF_H_ */
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index 9140cee56885..8c0729d3ec66 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -741,7 +741,7 @@ struct proc {
reaper which spawned
our subtree. */
uint64_t p_elf_flags; /* (x) ELF flags */
- void *p_elf_brandinfo; /* (x) Elf_Brandinfo, NULL for
+ const void *p_elf_brandinfo; /* (x) Elf_Brandinfo, NULL for
non ELF binaries. */
sbintime_t p_umtx_min_timeout;
/* End area that is copied on creation. */
diff --git a/sys/sys/sockbuf.h b/sys/sys/sockbuf.h
index b4593f38f592..739723754b7d 100644
--- a/sys/sys/sockbuf.h
+++ b/sys/sys/sockbuf.h
@@ -62,7 +62,7 @@
#include <sys/_sx.h>
#include <sys/_task.h>
-#define SB_MAX (2*1024*1024) /* default for max chars in sockbuf */
+#define SB_MAX (8*1024*1024) /* default for max chars in sockbuf */
struct ktls_session;
struct mbuf;
diff --git a/sys/sys/socket.h b/sys/sys/socket.h
index cdd4fa3b4b89..cf1d95da6168 100644
--- a/sys/sys/socket.h
+++ b/sys/sys/socket.h
@@ -396,6 +396,7 @@ struct sockproto {
#define PF_NETLINK AF_NETLINK
#define PF_INET_SDP AF_INET_SDP
#define PF_INET6_SDP AF_INET6_SDP
+#define PF_HYPERV AF_HYPERV
#define PF_DIVERT AF_DIVERT
#define PF_IPFWLOG AF_IPFWLOG
diff --git a/sys/sys/sockopt.h b/sys/sys/sockopt.h
index bfe12d8510d7..d2b0ff5ed2c8 100644
--- a/sys/sys/sockopt.h
+++ b/sys/sys/sockopt.h
@@ -57,8 +57,10 @@ struct sockopt {
int sosetopt(struct socket *so, struct sockopt *sopt);
int sogetopt(struct socket *so, struct sockopt *sopt);
-int sooptcopyin(struct sockopt *sopt, void *buf, size_t len, size_t minlen);
-int sooptcopyout(struct sockopt *sopt, const void *buf, size_t len);
+int __result_use_check sooptcopyin(struct sockopt *sopt, void *buf, size_t len,
+ size_t minlen);
+int __result_use_check sooptcopyout(struct sockopt *sopt, const void *buf,
+ size_t len);
int soopt_getm(struct sockopt *sopt, struct mbuf **mp);
int soopt_mcopyin(struct sockopt *sopt, struct mbuf *m);
int soopt_mcopyout(struct sockopt *sopt, struct mbuf *m);
diff --git a/sys/sys/syscallsubr.h b/sys/sys/syscallsubr.h
index 8237165b84ce..d32690634059 100644
--- a/sys/sys/syscallsubr.h
+++ b/sys/sys/syscallsubr.h
@@ -211,7 +211,8 @@ int kern_kevent_fp(struct thread *td, struct file *fp, int nchanges,
int nevents, struct kevent_copyops *k_ops,
const struct timespec *timeout);
int kern_kill(struct thread *td, pid_t pid, int signum);
-int kern_kqueue(struct thread *td, int flags, struct filecaps *fcaps);
+int kern_kqueue(struct thread *td, int flags, bool cponfork,
+ struct filecaps *fcaps);
int kern_kldload(struct thread *td, const char *file, int *fileid);
int kern_kldstat(struct thread *td, int fileid, struct kld_file_stat *stat);
int kern_kldunload(struct thread *td, int fileid, int flags);
diff --git a/sys/sys/sysent.h b/sys/sys/sysent.h
index 1714fa5a7416..6de391dcc03e 100644
--- a/sys/sys/sysent.h
+++ b/sys/sys/sysent.h
@@ -343,8 +343,7 @@ void exec_free_abi_mappings(struct proc *p);
void exec_onexec_old(struct thread *td);
#define INIT_SYSENTVEC(name, sv) \
- SYSINIT(name, SI_SUB_EXEC, SI_ORDER_ANY, \
- (sysinit_cfunc_t)exec_sysvec_init, sv);
+ SYSINIT(name, SI_SUB_EXEC, SI_ORDER_ANY, exec_sysvec_init, sv)
#endif /* _KERNEL */
diff --git a/sys/sys/tree.h b/sys/sys/tree.h
index c11bccfb387c..194ad505b038 100644
--- a/sys/sys/tree.h
+++ b/sys/sys/tree.h
@@ -334,10 +334,13 @@ struct { \
#define _RB_L ((__uintptr_t)1)
#define _RB_R ((__uintptr_t)2)
#define _RB_LR ((__uintptr_t)3)
-#define _RB_BITS(elm) (*(__uintptr_t *)&elm)
+#define _RB_BITS(elm) ((__uintptr_t)elm)
#define _RB_BITSUP(elm, field) _RB_BITS(_RB_UP(elm, field))
-#define _RB_PTR(elm) (__typeof(elm)) \
- ((__uintptr_t)elm & ~_RB_LR)
+#define _RB_PTR_OP(elm, op, dir) ((__typeof(elm)) \
+ ((__uintptr_t)(elm) op (dir)))
+#define _RB_PTR(elm) _RB_PTR_OP((elm), &, ~_RB_LR)
+#define _RB_MOD_OR(elm, dir) ((elm) = _RB_PTR_OP((elm), |, (dir)))
+#define _RB_MOD_XOR(elm, dir) ((elm) = _RB_PTR_OP((elm), ^, (dir)))
#define RB_PARENT(elm, field) _RB_PTR(_RB_UP(elm, field))
#define RB_LEFT(elm, field) _RB_LINK(elm, _RB_L, field)
@@ -346,8 +349,8 @@ struct { \
#define RB_EMPTY(head) (RB_ROOT(head) == NULL)
#define RB_SET_PARENT(dst, src, field) do { \
- _RB_BITSUP(dst, field) = (__uintptr_t)src | \
- (_RB_BITSUP(dst, field) & _RB_LR); \
+ _RB_UP(dst, field) = (__typeof(src))((__uintptr_t)src | \
+ (_RB_BITSUP(dst, field) & _RB_LR)); \
} while (/*CONSTCOND*/ 0)
#define RB_SET(elm, parent, field) do { \
@@ -546,12 +549,12 @@ name##_RB_INSERT_COLOR(struct name *head, \
elmdir = RB_RIGHT(parent, field) == elm ? _RB_R : _RB_L; \
if (_RB_BITS(gpar) & elmdir) { \
/* shorten the parent-elm edge to rebalance */ \
- _RB_BITSUP(parent, field) ^= elmdir; \
+ _RB_MOD_XOR(_RB_UP(parent, field), elmdir); \
return (NULL); \
} \
sibdir = elmdir ^ _RB_LR; \
/* the other edge must change length */ \
- _RB_BITSUP(parent, field) ^= sibdir; \
+ _RB_MOD_XOR(_RB_UP(parent, field), sibdir); \
if ((_RB_BITS(gpar) & _RB_LR) == 0) { \
/* both edges now short, retry from parent */ \
child = elm; \
@@ -583,11 +586,14 @@ name##_RB_INSERT_COLOR(struct name *head, \
RB_ROTATE(elm, child, elmdir, field); \
child_up = _RB_UP(child, field); \
if (_RB_BITS(child_up) & sibdir) \
- _RB_BITSUP(parent, field) ^= elmdir; \
+ _RB_MOD_XOR(_RB_UP(parent, field), \
+ elmdir); \
if (_RB_BITS(child_up) & elmdir) \
- _RB_BITSUP(elm, field) ^= _RB_LR; \
+ _RB_MOD_XOR(_RB_UP(elm, field), \
+ _RB_LR); \
else \
- _RB_BITSUP(elm, field) ^= elmdir; \
+ _RB_MOD_XOR(_RB_UP(elm, field), \
+ elmdir); \
/* if child is a leaf, don't augment elm, \
* since it is restored to be a leaf again. */ \
if ((_RB_BITS(child_up) & _RB_LR) == 0) \
@@ -656,7 +662,7 @@ name##_RB_REMOVE_COLOR(struct name *head, \
/* the rank of the tree rooted at elm shrank */ \
gpar = _RB_UP(parent, field); \
elmdir = RB_RIGHT(parent, field) == elm ? _RB_R : _RB_L; \
- _RB_BITS(gpar) ^= elmdir; \
+ _RB_MOD_XOR(gpar, elmdir); \
if (_RB_BITS(gpar) & elmdir) { \
/* lengthen the parent-elm edge to rebalance */ \
_RB_UP(parent, field) = gpar; \
@@ -664,7 +670,7 @@ name##_RB_REMOVE_COLOR(struct name *head, \
} \
if (_RB_BITS(gpar) & _RB_LR) { \
/* shorten other edge, retry from parent */ \
- _RB_BITS(gpar) ^= _RB_LR; \
+ _RB_MOD_XOR(gpar, _RB_LR); \
_RB_UP(parent, field) = gpar; \
gpar = _RB_PTR(gpar); \
continue; \
@@ -672,7 +678,7 @@ name##_RB_REMOVE_COLOR(struct name *head, \
sibdir = elmdir ^ _RB_LR; \
sib = _RB_LINK(parent, sibdir, field); \
up = _RB_UP(sib, field); \
- _RB_BITS(up) ^= _RB_LR; \
+ _RB_MOD_XOR(up, _RB_LR); \
if ((_RB_BITS(up) & _RB_LR) == 0) { \
/* shorten edges descending from sib, retry */ \
_RB_UP(sib, field) = up; \
@@ -703,24 +709,29 @@ name##_RB_REMOVE_COLOR(struct name *head, \
/* elm is a 1-child. First rotate at elm. */ \
RB_ROTATE(sib, elm, sibdir, field); \
up = _RB_UP(elm, field); \
- _RB_BITSUP(parent, field) ^= \
- (_RB_BITS(up) & elmdir) ? _RB_LR : elmdir; \
- _RB_BITSUP(sib, field) ^= \
- (_RB_BITS(up) & sibdir) ? _RB_LR : sibdir; \
- _RB_BITSUP(elm, field) |= _RB_LR; \
+ _RB_MOD_XOR(_RB_UP(parent, field), \
+ (_RB_BITS(up) & elmdir) ? _RB_LR : elmdir); \
+ _RB_MOD_XOR(_RB_UP(sib, field), \
+ (_RB_BITS(up) & sibdir) ? _RB_LR : sibdir); \
+ _RB_MOD_OR(_RB_UP(elm, field), _RB_LR); \
} else { \
if ((_RB_BITS(up) & elmdir) == 0 && \
RB_STRICT_HST && elm != NULL) { \
/* if parent does not become a leaf, \
do not demote parent yet. */ \
- _RB_BITSUP(parent, field) ^= sibdir; \
- _RB_BITSUP(sib, field) ^= _RB_LR; \
+ _RB_MOD_XOR(_RB_UP(parent, field), \
+ sibdir); \
+ _RB_MOD_XOR(_RB_UP(sib, field), \
+ _RB_LR); \
} else if ((_RB_BITS(up) & elmdir) == 0) { \
/* demote parent. */ \
- _RB_BITSUP(parent, field) ^= elmdir; \
- _RB_BITSUP(sib, field) ^= sibdir; \
+ _RB_MOD_XOR(_RB_UP(parent, field), \
+ elmdir); \
+ _RB_MOD_XOR(_RB_UP(sib, field), \
+ sibdir); \
} else \
- _RB_BITSUP(sib, field) ^= sibdir; \
+ _RB_MOD_XOR(_RB_UP(sib, field), \
+ sibdir); \
elm = sib; \
} \
\
diff --git a/sys/tests/ktest.h b/sys/tests/ktest.h
index c767aa31e8e5..75d7a75e2fff 100644
--- a/sys/tests/ktest.h
+++ b/sys/tests/ktest.h
@@ -57,6 +57,8 @@ struct ktest_test_info {
ktest_parse_t parse;
};
+#define KTEST_FUNC(X) static int __ktest_##X(struct ktest_test_context *ctx)
+
struct ktest_module_info {
const char *name;
const struct ktest_test_info *tests;
@@ -64,6 +66,8 @@ struct ktest_module_info {
void *module_ptr;
};
+#define KTEST_INFO(X) { "test_" #X, "Test " #X, __ktest_##X, NULL }
+
int ktest_default_modevent(module_t mod, int type, void *arg);
bool ktest_start_msg(struct ktest_test_context *ctx);
@@ -84,6 +88,9 @@ void ktest_end_msg(struct ktest_test_context *ctx);
#define KTEST_LOG(_ctx, _fmt, ...) \
KTEST_LOG_LEVEL(_ctx, LOG_DEBUG, _fmt, ## __VA_ARGS__)
+#define KTEST_ERR(_ctx, _fmt, ...) \
+ KTEST_LOG_LEVEL(_ctx, LOG_ERR, _fmt, ## __VA_ARGS__)
+
#define KTEST_MAX_BUF 512
#define KTEST_MODULE_DECLARE(_n, _t) \
@@ -104,6 +111,9 @@ MODULE_VERSION(ktest_##_n, 1); \
MODULE_DEPEND(ktest_##_n, ktestmod, 1, 1, 1); \
MODULE_DEPEND(ktest_##_n, netlink, 1, 1, 1); \
+#define KTEST_MODULE_DEPEND(_n, _d) \
+MODULE_DEPEND(ktest_##_n, _d, 1, 1, 1); \
+
#endif /* _KERNEL */
/* genetlink definitions */
diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c
index 970536a13aa5..f47cfd08f75a 100644
--- a/sys/ufs/ffs/ffs_inode.c
+++ b/sys/ufs/ffs/ffs_inode.c
@@ -653,8 +653,8 @@ done:
for (i = 0; i < UFS_NDADDR; i++)
if (newblks[i] != DIP(ip, i_db[i]))
panic("ffs_truncate2: blkno %d newblks %jd != i_db %jd",
- i, (intmax_t)newblks[UFS_NDADDR + level],
- (intmax_t)DIP(ip, i_ib[level]));
+ i, (intmax_t)newblks[i],
+ (intmax_t)DIP(ip, i_db[i]));
BO_LOCK(bo);
if (length == 0 &&
(fs->fs_magic != FS_UFS2_MAGIC || ip->i_din2->di_extsize == 0) &&
diff --git a/sys/vm/vm_domainset.c b/sys/vm/vm_domainset.c
index 9fa17da954f7..c25ed0cc2267 100644
--- a/sys/vm/vm_domainset.c
+++ b/sys/vm/vm_domainset.c
@@ -113,7 +113,6 @@ vm_domainset_iter_interleave(struct vm_domainset_iter *di, int *domain)
int d;
d = di->di_offset % di->di_domain->ds_cnt;
- *di->di_iter = d;
*domain = di->di_domain->ds_order[d];
}
@@ -260,9 +259,14 @@ vm_domainset_iter_page_init(struct vm_domainset_iter *di, struct vm_object *obj,
* are immutable and unsynchronized. Updates can race but pointer
* loads are assumed to be atomic.
*/
- if (obj != NULL && obj->domain.dr_policy != NULL)
+ if (obj != NULL && obj->domain.dr_policy != NULL) {
+ /*
+ * This write lock protects non-atomic increments of the
+ * iterator index in vm_domainset_iter_rr().
+ */
+ VM_OBJECT_ASSERT_WLOCKED(obj);
dr = &obj->domain;
- else
+ } else
dr = &curthread->td_domain;
vm_domainset_iter_init(di, dr->dr_policy, &dr->dr_iter, obj, pindex);
diff --git a/sys/vm/vm_glue.c b/sys/vm/vm_glue.c
index e0f1807a1b32..18d789c59281 100644
--- a/sys/vm/vm_glue.c
+++ b/sys/vm/vm_glue.c
@@ -441,19 +441,16 @@ vm_thread_kstack_arena_release(void *arena, vmem_addr_t addr, vmem_size_t size)
* Create the kernel stack for a new thread.
*/
static vm_offset_t
-vm_thread_stack_create(struct domainset *ds, int pages)
+vm_thread_stack_create(struct domainset *ds, int pages, int flags)
{
vm_page_t ma[KSTACK_MAX_PAGES];
struct vm_domainset_iter di;
- int req = VM_ALLOC_NORMAL;
- vm_object_t obj;
+ int req;
vm_offset_t ks;
int domain, i;
- obj = vm_thread_kstack_size_to_obj(pages);
- if (vm_ndomains > 1)
- obj->domain.dr_policy = ds;
- vm_domainset_iter_page_init(&di, obj, 0, &domain, &req);
+ vm_domainset_iter_policy_init(&di, ds, &domain, &flags);
+ req = malloc2vm_flags(flags);
do {
/*
* Get a kernel virtual address for this thread's kstack.
@@ -480,7 +477,7 @@ vm_thread_stack_create(struct domainset *ds, int pages)
vm_page_valid(ma[i]);
pmap_qenter(ks, ma, pages);
return (ks);
- } while (vm_domainset_iter_page(&di, obj, &domain, NULL) == 0);
+ } while (vm_domainset_iter_policy(&di, &domain) == 0);
return (0);
}
@@ -532,15 +529,9 @@ vm_thread_new(struct thread *td, int pages)
ks = 0;
if (pages == kstack_pages && kstack_cache != NULL)
ks = (vm_offset_t)uma_zalloc(kstack_cache, M_NOWAIT);
-
- /*
- * Ensure that kstack objects can draw pages from any memory
- * domain. Otherwise a local memory shortage can block a process
- * swap-in.
- */
if (ks == 0)
ks = vm_thread_stack_create(DOMAINSET_PREF(PCPU_GET(domain)),
- pages);
+ pages, M_NOWAIT);
if (ks == 0)
return (0);
@@ -660,7 +651,8 @@ kstack_import(void *arg, void **store, int cnt, int domain, int flags)
ds = DOMAINSET_PREF(domain);
for (i = 0; i < cnt; i++) {
- store[i] = (void *)vm_thread_stack_create(ds, kstack_pages);
+ store[i] = (void *)vm_thread_stack_create(ds, kstack_pages,
+ flags);
if (store[i] == NULL)
break;
}
diff --git a/sys/vm/vm_meter.c b/sys/vm/vm_meter.c
index fef28bb883e4..fee50f49c844 100644
--- a/sys/vm/vm_meter.c
+++ b/sys/vm/vm_meter.c
@@ -96,7 +96,7 @@ struct vmmeter __read_mostly vm_cnt = {
u_long __exclusive_cache_line vm_user_wire_count;
static void
-vmcounter_startup(void)
+vmcounter_startup(void *dummy __unused)
{
counter_u64_t *cnt = (counter_u64_t *)&vm_cnt;
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 3f1be78342c9..418a9cff8abf 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -120,7 +120,7 @@
/* the kernel process "vm_pageout"*/
static void vm_pageout(void);
-static void vm_pageout_init(void);
+static void vm_pageout_init(void *);
static int vm_pageout_clean(vm_page_t m, int *numpagedout);
static int vm_pageout_cluster(vm_page_t m);
static void vm_pageout_mightbe_oom(struct vm_domain *vmd, int page_shortage,
@@ -2333,7 +2333,7 @@ vm_pageout_init_domain(int domain)
}
static void
-vm_pageout_init(void)
+vm_pageout_init(void *dummy __unused)
{
u_long freecount;
int i;
diff --git a/sys/x86/acpica/acpi_apm.c b/sys/x86/acpica/acpi_apm.c
index 8e5785cf0ed6..919f76949dd4 100644
--- a/sys/x86/acpica/acpi_apm.c
+++ b/sys/x86/acpica/acpi_apm.c
@@ -64,6 +64,7 @@ static const struct filterops apm_readfiltops = {
.f_isfd = 1,
.f_detach = apmreadfiltdetach,
.f_event = apmreadfilt,
+ .f_copy = knote_triv_copy,
};
static struct cdevsw apm_cdevsw = {
diff --git a/sys/x86/x86/tsc.c b/sys/x86/x86/tsc.c
index a1a5d8140b14..3b873d9dae73 100644
--- a/sys/x86/x86/tsc.c
+++ b/sys/x86/x86/tsc.c
@@ -650,7 +650,7 @@ retry:
#endif /* SMP */
static void
-init_TSC_tc(void)
+init_TSC_tc(void *dummy __unused)
{
uint64_t max_freq;
int shift;
diff --git a/sys/x86/xen/xen_apic.c b/sys/x86/xen/xen_apic.c
index 994dc3e0804c..43a253cc2860 100644
--- a/sys/x86/xen/xen_apic.c
+++ b/sys/x86/xen/xen_apic.c
@@ -330,7 +330,7 @@ xen_cpu_ipi_init(int cpu)
}
static void
-xen_setup_cpus(void)
+xen_setup_cpus(void *dummy __unused)
{
uint32_t regs[4];
int i;
diff --git a/tests/atf_python/ktest.py b/tests/atf_python/ktest.py
index a18f47d1dd06..a671aaa1fd4c 100644
--- a/tests/atf_python/ktest.py
+++ b/tests/atf_python/ktest.py
@@ -67,6 +67,10 @@ class KtestLoader(object):
def __init__(self, module_name: str, autoload: bool):
self.module_name = module_name
self.autoload = autoload
+ # Ensure the base ktest.ko module is loaded
+ result = libc.kldload("ktest")
+ if result != 0 and result != 17: # 17 is EEXIST (already loaded)
+ logger.debug(f"Failed to load base ktest module (error {result})")
self.helper = NlHelper()
self.nlsock = Nlsock(NlConst.NETLINK_GENERIC, self.helper)
self.family_id = self._get_family_id()
@@ -76,7 +80,9 @@ class KtestLoader(object):
family_id = self.nlsock.get_genl_family_id(NETLINK_FAMILY)
except ValueError:
if self.autoload:
- libc.kldload(self.module_name)
+ result = libc.kldload(self.module_name)
+ if result != 0 and result != 17: # 17 is EEXIST (already loaded)
+ raise RuntimeError(f"Failed to load kernel module '{self.module_name}' (error {result})")
family_id = self.nlsock.get_genl_family_id(NETLINK_FAMILY)
else:
raise
@@ -103,7 +109,9 @@ class KtestLoader(object):
def load_ktests(self):
ret = self._load_ktests()
if not ret and self.autoload:
- libc.kldload(self.module_name)
+ result = libc.kldload(self.module_name)
+ if result != 0 and result != 17: # 17 is EEXIST (already loaded)
+ raise RuntimeError(f"Failed to load kernel module '{self.module_name}' (error {result})")
ret = self._load_ktests()
return ret
diff --git a/tests/sys/fs/fusefs/bad_server.cc b/tests/sys/fs/fusefs/bad_server.cc
index af2ca146e431..c3d195735446 100644
--- a/tests/sys/fs/fusefs/bad_server.cc
+++ b/tests/sys/fs/fusefs/bad_server.cc
@@ -65,6 +65,11 @@ TEST_F(BadServer, ShortWrite)
out.header.unique = 0; // Asynchronous notification
out.expected_errno = EINVAL;
m_mock->write_response(out);
+ /*
+ * Tell the event loop to quit. The kernel has already disconnected us
+ * because of the short write.
+ */
+ m_mock->m_quit = true;
}
/*
diff --git a/tests/sys/geom/class/Makefile b/tests/sys/geom/class/Makefile
index 3cf3a15273ac..c58ebc0f72a0 100644
--- a/tests/sys/geom/class/Makefile
+++ b/tests/sys/geom/class/Makefile
@@ -9,6 +9,7 @@ TESTS_SUBDIRS+= concat
TESTS_SUBDIRS+= eli
.endif
TESTS_SUBDIRS+= gate
+TESTS_SUBDIRS+= label
TESTS_SUBDIRS+= mirror
TESTS_SUBDIRS+= multipath
TESTS_SUBDIRS+= nop
diff --git a/tests/sys/geom/class/label/Makefile b/tests/sys/geom/class/label/Makefile
new file mode 100644
index 000000000000..d0072a52c47c
--- /dev/null
+++ b/tests/sys/geom/class/label/Makefile
@@ -0,0 +1,7 @@
+PACKAGE= tests
+
+TESTSDIR= ${TESTSBASE}/sys/geom/class/${.CURDIR:T}
+
+ATF_TESTS_SH+= basic
+
+.include <bsd.test.mk>
diff --git a/tests/sys/geom/class/label/basic.sh b/tests/sys/geom/class/label/basic.sh
new file mode 100755
index 000000000000..b67b41567c02
--- /dev/null
+++ b/tests/sys/geom/class/label/basic.sh
@@ -0,0 +1,59 @@
+#!/bin/sh
+#
+# SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+#
+# Copyright (c) 2025 Brad Davis
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+
+class=label
+. $(atf_get_srcdir)/../geom_subr.sh
+
+atf_test_case create cleanup
+create_head()
+{
+ atf_set "descr" "Create and verify GEOM labels"
+ atf_set "require.user" "root"
+}
+create_body()
+{
+ geom_atf_test_setup
+
+ f1=$(mktemp ${class}.XXXXXX)
+ atf_check truncate -s 32M "$f1"
+ attach_md md -t vnode -f "$f1"
+
+ atf_check -s exit:0 -o match:"^Done." glabel create -v test "/dev/$md"
+ atf_check -s exit:0 -o match:"^label/test N/A $md$" glabel status "/dev/$md"
+ atf_check -s exit:0 -o match:"^/dev/label/test$" ls /dev/label/test
+ atf_check -s exit:0 glabel stop test
+}
+create_cleanup()
+{
+ geom_test_cleanup
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case create
+}
diff --git a/tests/sys/kern/unix_stream.c b/tests/sys/kern/unix_stream.c
index 49d621dc5b0a..442b766ac885 100644
--- a/tests/sys/kern/unix_stream.c
+++ b/tests/sys/kern/unix_stream.c
@@ -1,6 +1,7 @@
/*-
* SPDX-License-Identifier: BSD-2-Clause
*
+ * Copyright (c) 2025 Gleb Smirnoff <glebius@FreeBSD.org>
* Copyright (c) 2018 Alan Somers
*
* Redistribution and use in source and binary forms, with or without
@@ -30,6 +31,7 @@
#include <sys/event.h>
#include <sys/select.h>
#include <sys/sysctl.h>
+#include <sys/time.h>
#include <sys/un.h>
#include <errno.h>
#include <fcntl.h>
@@ -490,6 +492,30 @@ ATF_TC_BODY(ourshutdown_kevent, tc)
close(sv[1]);
}
+ATF_TC_WITHOUT_HEAD(SO_SNDTIMEO);
+ATF_TC_BODY(SO_SNDTIMEO, tc)
+{
+ struct timespec tp1, tp2, rtp, sleep = { .tv_nsec = 100000000 };
+ int sv[2];
+ char buf[10];
+
+ full_socketpair(sv);
+ ATF_REQUIRE_EQ(0, setsockopt(sv[0], SOL_SOCKET, SO_SNDTIMEO,
+ &(struct timeval){ .tv_usec = sleep.tv_nsec / 1000 },
+ sizeof(struct timeval)));
+ ATF_REQUIRE_EQ(0, clock_gettime(CLOCK_MONOTONIC_PRECISE, &tp1));
+ ATF_REQUIRE_EQ(-1, send(sv[0], buf, sizeof(buf), 0));
+ ATF_REQUIRE(errno == EAGAIN);
+ ATF_REQUIRE_EQ(0, clock_gettime(CLOCK_MONOTONIC_PRECISE, &tp2));
+ timespecsub(&tp2, &tp1, &rtp);
+ ATF_REQUIRE(timespeccmp(&rtp, &sleep, >=));
+ ATF_REQUIRE_EQ(sizeof(buf), recv(sv[1], buf, sizeof(buf), 0));
+ ATF_REQUIRE_EQ(sizeof(buf), send(sv[0], buf, sizeof(buf), 0));
+
+ close(sv[0]);
+ close(sv[1]);
+}
+
ATF_TP_ADD_TCS(tp)
{
ATF_TP_ADD_TC(tp, getpeereid);
@@ -506,6 +532,7 @@ ATF_TP_ADD_TCS(tp)
ATF_TP_ADD_TC(tp, peershutdown_wakeup_poll);
ATF_TP_ADD_TC(tp, peershutdown_wakeup_kevent);
ATF_TP_ADD_TC(tp, ourshutdown_kevent);
+ ATF_TP_ADD_TC(tp, SO_SNDTIMEO);
return atf_no_error();
}
diff --git a/tests/sys/netinet/Makefile b/tests/sys/netinet/Makefile
index b742342beecb..9739221676ce 100644
--- a/tests/sys/netinet/Makefile
+++ b/tests/sys/netinet/Makefile
@@ -30,6 +30,7 @@ ATF_TESTS_SH= arp \
ATF_TESTS_PYTEST+= carp.py
ATF_TESTS_PYTEST+= igmp.py
+ATF_TESTS_PYTEST+= tcp_hpts_test.py
LIBADD.so_reuseport_lb_test= pthread
LIBADD.udp_bindings= pthread
diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh
index 2aae2854826e..568d2beaf914 100755
--- a/tests/sys/netinet/carp.sh
+++ b/tests/sys/netinet/carp.sh
@@ -215,6 +215,9 @@ unicast_v4_body()
unicast_v4_cleanup()
{
+ jexec carp_uni_v4_one killall routed
+ jexec carp_uni_v4_two killall routed
+ jexec carp_uni_v4_three killall routed
vnet_cleanup
}
diff --git a/tests/sys/netinet/multicast-receive.c b/tests/sys/netinet/multicast-receive.c
index 81d0f10f5cfe..62fc68200dd6 100644
--- a/tests/sys/netinet/multicast-receive.c
+++ b/tests/sys/netinet/multicast-receive.c
@@ -36,6 +36,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sysexits.h>
#include <limits.h>
#include <err.h>
@@ -93,8 +94,9 @@ usage:
.imr_multiaddr = maddr,
.imr_interface = ifaddr,
};
- assert(setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq,
- sizeof(mreq)) == 0);
+ if (setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq,
+ sizeof(mreq)) != 0)
+ err(EX_OSERR, "setsockopt");
} else if (strcmp(argv[1], "ip_mreqn") == 0) {
/*
* ip_mreqn shall be used with index, but for testing
@@ -105,8 +107,9 @@ usage:
.imr_address = index ? (struct in_addr){ 0 } : ifaddr,
.imr_ifindex = index ? ifindex : 0,
};
- assert(setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreqn,
- sizeof(mreqn)) == 0);
+ if (setsockopt(s, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreqn,
+ sizeof(mreqn)) != 0)
+ err(EX_OSERR, "setsockopt");
} else if (strcmp(argv[1], "group_req") == 0) {
if (!index)
errx(1, "group_req expects index");
@@ -116,8 +119,9 @@ usage:
gsa->sin_family = AF_INET;
gsa->sin_len = sizeof(struct sockaddr_in);
gsa->sin_addr = maddr;
- assert(setsockopt(s, IPPROTO_IP, MCAST_JOIN_GROUP, &greq,
- sizeof(greq)) == 0);
+ if (setsockopt(s, IPPROTO_IP, MCAST_JOIN_GROUP, &greq,
+ sizeof(greq)) != 0)
+ err(EX_OSERR, "setsockopt");
} else
goto usage;
diff --git a/tests/sys/netinet/multicast.sh b/tests/sys/netinet/multicast.sh
index a3854fd2fd20..34094ff08705 100755
--- a/tests/sys/netinet/multicast.sh
+++ b/tests/sys/netinet/multicast.sh
@@ -45,6 +45,15 @@ multicast_vnet_init()
jexec mjail2 ifconfig ${epair2}b 192.0.3.2/24
}
+multicast_join()
+{
+ jexec mjail2 $(atf_get_srcdir)/multicast-receive \
+ $1 233.252.0.1 6676 $2 > out & pid=$!
+ while ! jexec mjail2 ifmcstat | grep -q 233\.252\.0\.1; do
+ sleep 0.01
+ done
+}
+
atf_test_case "IP_ADD_MEMBERSHIP_ip_mreq" "cleanup"
IP_ADD_MEMBERSHIP_ip_mreq_head()
{
@@ -56,8 +65,7 @@ IP_ADD_MEMBERSHIP_ip_mreq_body()
multicast_vnet_init
# join group on interface with IP address 192.0.2.2
- jexec mjail2 $(atf_get_srcdir)/multicast-receive \
- ip_mreq 233.252.0.1 6676 192.0.2.2 > out & pid=$!
+ multicast_join ip_mreq 192.0.2.2
atf_check -s exit:0 -o empty \
jexec mjail1 $(atf_get_srcdir)/multicast-send \
0.0.0.0 6676 233.252.0.1 6676 192.0.2.1 hello
@@ -65,8 +73,28 @@ IP_ADD_MEMBERSHIP_ip_mreq_body()
atf_check -s exit:0 -o inline:"192.0.2.1:6676 hello\n" cat out
# join group on interface with IP address 192.0.3.2
- jexec mjail2 $(atf_get_srcdir)/multicast-receive \
- ip_mreq 233.252.0.1 6676 192.0.3.2 > out & pid=$!
+ multicast_join ip_mreq 192.0.3.2
+ atf_check -s exit:0 -o empty \
+ jexec mjail1 $(atf_get_srcdir)/multicast-send \
+ 0.0.0.0 6676 233.252.0.1 6676 192.0.3.1 hello
+ atf_check -s exit:0 sh -c "wait $pid; exit $?"
+ atf_check -s exit:0 -o inline:"192.0.3.1:6676 hello\n" cat out
+
+ # join group on the first multicast capable interface (epair1a)
+ multicast_join ip_mreq 0.0.0.0
+ atf_check -s exit:0 -o empty \
+ jexec mjail1 $(atf_get_srcdir)/multicast-send \
+ 0.0.0.0 6676 233.252.0.1 6676 192.0.2.1 hello
+ atf_check -s exit:0 sh -c "wait $pid; exit $?"
+ atf_check -s exit:0 -o inline:"192.0.2.1:6676 hello\n" cat out
+
+ # Set up the receiving jail so that first multicast capable interface
+ # is epair1a and default route points into epair2a. This will allow us
+ # to exercise both branches of inp_lookup_mcast_ifp().
+ jexec mjail2 route add default 192.0.3.254
+
+ # join group on the interface determined by the route lookup
+ multicast_join ip_mreq 0.0.0.0
atf_check -s exit:0 -o empty \
jexec mjail1 $(atf_get_srcdir)/multicast-send \
0.0.0.0 6676 233.252.0.1 6676 192.0.3.1 hello
@@ -90,8 +118,7 @@ IP_ADD_MEMBERSHIP_ip_mreqn_body()
multicast_vnet_init
# join group on interface epair2
- jexec mjail2 $(atf_get_srcdir)/multicast-receive \
- ip_mreqn 233.252.0.1 6676 ${epair1}b > out & pid=$!
+ multicast_join ip_mreqn ${epair1}b
atf_check -s exit:0 -o empty \
jexec mjail1 $(atf_get_srcdir)/multicast-send \
0.0.0.0 6676 233.252.0.1 6676 ${epair1}a hello
@@ -99,13 +126,25 @@ IP_ADD_MEMBERSHIP_ip_mreqn_body()
atf_check -s exit:0 -o inline:"192.0.2.1:6676 hello\n" cat out
# join group on interface epair2
- jexec mjail2 $(atf_get_srcdir)/multicast-receive \
- ip_mreqn 233.252.0.1 6676 ${epair2}b > out & pid=$!
+ multicast_join ip_mreqn ${epair2}b
atf_check -s exit:0 -o empty \
jexec mjail1 $(atf_get_srcdir)/multicast-send \
0.0.0.0 6676 233.252.0.1 6676 ${epair2}a hello
atf_check -s exit:0 sh -c "wait $pid; exit $?"
atf_check -s exit:0 -o inline:"192.0.3.1:6676 hello\n" cat out
+
+ # try to join group on the interface determined by the route lookup
+ atf_check -s exit:71 -e inline:"multicast-receive: setsockopt: Can't assign requested address\n" \
+ jexec mjail2 $(atf_get_srcdir)/multicast-receive \
+ ip_mreqn 233.252.0.1 6676 0
+ # add route and try again
+ jexec mjail2 route add default 192.0.3.254
+ multicast_join ip_mreqn 0
+ atf_check -s exit:0 -o empty \
+ jexec mjail1 $(atf_get_srcdir)/multicast-send \
+ 0.0.0.0 6676 233.252.0.1 6676 192.0.3.1 hello
+ atf_check -s exit:0 sh -c "wait $pid; exit $?"
+ atf_check -s exit:0 -o inline:"192.0.3.1:6676 hello\n" cat out
}
IP_ADD_MEMBERSHIP_ip_mreqn_cleanup()
{
@@ -123,9 +162,8 @@ MCAST_JOIN_GROUP_body()
{
multicast_vnet_init
- # join group on interface epair2
- jexec mjail2 $(atf_get_srcdir)/multicast-receive \
- group_req 233.252.0.1 6676 ${epair1}b > out & pid=$!
+ # join group on interface epair1
+ multicast_join group_req ${epair1}b
atf_check -s exit:0 -o empty \
jexec mjail1 $(atf_get_srcdir)/multicast-send \
0.0.0.0 6676 233.252.0.1 6676 ${epair1}a hello
@@ -133,13 +171,25 @@ MCAST_JOIN_GROUP_body()
atf_check -s exit:0 -o inline:"192.0.2.1:6676 hello\n" cat out
# join group on interface epair2
- jexec mjail2 $(atf_get_srcdir)/multicast-receive \
- group_req 233.252.0.1 6676 ${epair2}b > out & pid=$!
+ multicast_join group_req ${epair2}b
atf_check -s exit:0 -o empty \
jexec mjail1 $(atf_get_srcdir)/multicast-send \
0.0.0.0 6676 233.252.0.1 6676 ${epair2}a hello
atf_check -s exit:0 sh -c "wait $pid; exit $?"
atf_check -s exit:0 -o inline:"192.0.3.1:6676 hello\n" cat out
+
+ # try to join group on the interface determined by the route lookup
+ atf_check -s exit:71 -e inline:"multicast-receive: setsockopt: Can't assign requested address\n" \
+ jexec mjail2 $(atf_get_srcdir)/multicast-receive \
+ group_req 233.252.0.1 6676 0
+ # add route and try again
+ jexec mjail2 route add default 192.0.3.254
+ multicast_join group_req 0
+ atf_check -s exit:0 -o empty \
+ jexec mjail1 $(atf_get_srcdir)/multicast-send \
+ 0.0.0.0 6676 233.252.0.1 6676 192.0.3.1 hello
+ atf_check -s exit:0 sh -c "wait $pid; exit $?"
+ atf_check -s exit:0 -o inline:"192.0.3.1:6676 hello\n" cat out
}
MCAST_JOIN_GROUP_cleanup()
{
diff --git a/tests/sys/netinet/tcp_hpts_test.py b/tests/sys/netinet/tcp_hpts_test.py
new file mode 100644
index 000000000000..c56383fb310f
--- /dev/null
+++ b/tests/sys/netinet/tcp_hpts_test.py
@@ -0,0 +1,4 @@
+from atf_python.ktest import BaseKernelTest
+
+class TestTcpHpts(BaseKernelTest):
+ KTEST_MODULE_NAME = "ktest_tcphpts"
diff --git a/tests/sys/netpfil/pf/rdr.sh b/tests/sys/netpfil/pf/rdr.sh
index 24b95b2047f4..b0f0e6d13d0f 100644
--- a/tests/sys/netpfil/pf/rdr.sh
+++ b/tests/sys/netpfil/pf/rdr.sh
@@ -338,6 +338,56 @@ natpass_cleanup()
pft_cleanup
}
+atf_test_case "pr290177" "cleanup"
+pr290177_head()
+{
+ atf_set descr 'Test PR290177'
+ atf_set require.user root
+}
+
+pr290177_body()
+{
+ pft_init
+
+ epair=$(vnet_mkepair)
+
+ ifconfig ${epair}a 192.0.2.2/24 up
+ ifconfig ${epair}a inet alias 192.0.2.3/24 up
+
+ vnet_mkjail alcatraz ${epair}b
+ jexec alcatraz ifconfig ${epair}b 192.0.2.1/24 up
+ jexec alcatraz ifconfig lo0 127.0.0.1/8 up
+
+ # Sanity check
+ atf_check -s exit:0 -o ignore \
+ ping -c 1 192.0.2.1
+
+ jexec alcatraz pfctl -e
+ pft_set_rules alcatraz \
+ "table <white> { 192.0.2.2 }" \
+ "no rdr inet proto tcp from <white> to any port 25" \
+ "rdr pass inet proto tcp from any to any port 25 -> 127.0.0.1 port 2500"
+
+ echo foo | jexec alcatraz nc -N -l 2500 &
+ sleep 1
+
+ reply=$(nc -w 3 -s 192.0.2.2 192.0.2.1 25)
+ if [ "${reply}" == "foo" ]
+ then
+ atf_fail "no rdr rule failed"
+ fi
+ reply=$(nc -w 3 -s 192.0.2.3 192.0.2.1 25)
+ if [ "${reply}" != "foo" ]
+ then
+ atf_fail "rdr rule failed"
+ fi
+}
+
+pr290177_cleanup()
+{
+ pft_cleanup
+}
+
atf_init_test_cases()
{
atf_add_test_case "natpass"
@@ -345,4 +395,5 @@ atf_init_test_cases()
atf_add_test_case "tcp_v6_pass"
atf_add_test_case "srcport_compat"
atf_add_test_case "srcport_pass"
+ atf_add_test_case "pr290177"
}
diff --git a/tests/sys/vm/mmap_test.c b/tests/sys/vm/mmap_test.c
index 6bc30f73ca95..27d02ae667fb 100644
--- a/tests/sys/vm/mmap_test.c
+++ b/tests/sys/vm/mmap_test.c
@@ -36,21 +36,6 @@
#include <stdio.h>
#include <stdlib.h>
-static const struct {
- void *addr;
- int ok[2]; /* Depending on security.bsd.map_at_zero {0, !=0}. */
-} map_at_zero_tests[] = {
- { (void *)0, { 0, 1 } }, /* Test sysctl. */
- { (void *)1, { 0, 0 } },
- { (void *)(PAGE_SIZE - 1), { 0, 0 } },
- { (void *)PAGE_SIZE, { 1, 1 } },
- { (void *)-1, { 0, 0 } },
- { (void *)(-PAGE_SIZE), { 0, 0 } },
- { (void *)(-1 - PAGE_SIZE), { 0, 0 } },
- { (void *)(-1 - PAGE_SIZE - 1), { 0, 0 } },
- { (void *)(0x1000 * PAGE_SIZE), { 1, 1 } },
-};
-
#define MAP_AT_ZERO "security.bsd.map_at_zero"
#ifdef __LP64__
@@ -68,6 +53,22 @@ ATF_TC_BODY(mmap__map_at_zero, tc)
int map_at_zero;
bool allow_wx;
int prot_flags;
+ size_t pgsz = getpagesize();
+
+ const struct {
+ void *addr;
+ int ok[2]; /* Depending on security.bsd.map_at_zero {0, !=0}. */
+ } map_at_zero_tests[] = {
+ { (void *)0, { 0, 1 } }, /* Test sysctl. */
+ { (void *)1, { 0, 0 } },
+ { (void *)(pgsz - 1), { 0, 0 } },
+ { (void *)pgsz, { 1, 1 } },
+ { (void *)-1, { 0, 0 } },
+ { (void *)(-pgsz), { 0, 0 } },
+ { (void *)(-1 - pgsz), { 0, 0 } },
+ { (void *)(-1 - pgsz - 1), { 0, 0 } },
+ { (void *)(0x1000 * pgsz), { 1, 1 } },
+ };
len = sizeof(map_at_zero);
if (sysctlbyname(MAP_AT_ZERO, &map_at_zero, &len, NULL, 0) == -1) {
diff --git a/tools/test/stress2/misc/kevent17.sh b/tools/test/stress2/misc/kevent17.sh
new file mode 100755
index 000000000000..e7b8f1a0a00c
--- /dev/null
+++ b/tools/test/stress2/misc/kevent17.sh
@@ -0,0 +1,176 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2025 Peter Holm <pho@FreeBSD.org>
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+# A kqueuex(KQUEUE_CPONFORK) test scenario
+# Test scenario suggestion by: kib
+
+. ../default.cfg
+[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
+
+dir=/tmp
+odir=`pwd`
+prog=$(basename "$0" .sh)
+cd $dir
+sed '1,/^EOF/d' < $odir/$0 > $dir/$prog.c
+mycc -o $prog -Wall -Wextra -O0 -g $prog.c || exit 1
+rm -f $prog.c
+cd $odir
+
+set -e
+mount | grep "on $mntpoint " | grep -q /dev/md && umount -f $mntpoint
+[ -c /dev/md$mdstart ] && mdconfig -d -u $mdstart
+mdconfig -a -t swap -s 2g -u $mdstart
+newfs $newfs_flags md$mdstart > /dev/null
+mount /dev/md$mdstart $mntpoint
+set +e
+
+(cd $odir/../testcases/swap; ./swap -t 5m -i 20 -h -l 100 > /dev/null) &
+cd $mntpoint
+$dir/$prog
+s=$?
+[ -f $prog.core -a $s -eq 0 ] &&
+ { ls -l $prog.core; mv $prog.core /tmp; s=1; }
+cd $odir
+while pkill -9 swap; do :; done
+wait
+
+for i in `jot 6`; do
+ mount | grep -q "on $mntpoint " || break
+ umount $mntpoint && break || sleep 10
+done
+[ $i -eq 6 ] && exit 1
+mdconfig -d -u $mdstart
+rm -rf $dir/$prog
+exit $s
+
+EOF
+#include <sys/param.h>
+#include <sys/event.h>
+#include <sys/mman.h>
+#include <sys/stat.h>
+#include <sys/wait.h>
+
+#include <machine/atomic.h>
+
+#include <err.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <unistd.h>
+
+static volatile u_int *share;
+static int loops;
+static char *file = "file";
+
+#define MAXLOOPS 100
+#define PARALLEL 1
+#define RUNTIME (2 * 60)
+#define SYNC 0
+
+static void
+test(void)
+{
+ pid_t pid;
+ struct kevent ev[2];
+ struct timespec ts;
+ int kq, fd, n;
+
+ if ((fd = open(file, O_RDONLY, 0)) == -1)
+ err(1, "open(%s). %s:%d", file, __func__, __LINE__);
+
+ atomic_add_int(&share[SYNC], 1);
+ while (share[SYNC] != PARALLEL)
+ usleep(10000);
+
+ if ((kq = kqueuex(KQUEUE_CPONFORK)) < 0)
+ err(1, "kqueuex");
+
+ ts.tv_sec = 5;
+ ts.tv_nsec = 0;
+ n = 0;
+ EV_SET(&ev[n], fd, EVFILT_VNODE, EV_ADD | EV_ENABLE | EV_CLEAR,
+ NOTE_DELETE, 0, 0);
+ n++;
+
+ if (kevent(kq, ev, n, NULL, 0, NULL) < 0)
+ err(1, "kevent()");
+ if (loops >= MAXLOOPS) { /* start using fork(2) */
+ if ((pid = fork()) == 0) {
+ n = kevent(kq, NULL, 0, ev, 1, &ts);
+ if (n == -1)
+ err(1, "kevent() in fork\n");
+ close(fd);
+ close(kq);
+ _exit(0);
+ }
+ if (waitpid(pid, NULL, 0) != pid)
+ err(1, "waitpid(%d)\n", pid);
+ }
+
+ n = kevent(kq, NULL, 0, ev, 1, &ts);
+ if (n == -1)
+ err(1, "kevent()");
+ close(fd);
+ close(kq);
+
+ _exit(0);
+}
+
+int
+main(void)
+{
+ pid_t pids[PARALLEL];
+ size_t len;
+ time_t start;
+ int e, fd, i, status;
+
+ e = 0;
+ len = PAGE_SIZE;
+ loops = 0;
+ if ((share = mmap(NULL, len, PROT_READ | PROT_WRITE,
+ MAP_ANON | MAP_SHARED, -1, 0)) == MAP_FAILED)
+ err(1, "mmap");
+
+ start = time(NULL);
+ while ((time(NULL) - start) < RUNTIME && e == 0) {
+ loops++;
+ if ((fd = open(file, O_CREAT | O_TRUNC | O_RDWR, 0660)) ==
+ -1)
+ err(1, "open(%s)", file);
+ close(fd);
+ share[SYNC] = 0;
+ for (i = 0; i < PARALLEL; i++) {
+
+ if ((pids[i] = fork()) == 0)
+ test();
+ if (pids[i] == -1)
+ err(1, "fork()");
+ }
+ while (share[SYNC] != PARALLEL)
+ usleep(10000);
+ if (unlink(file) == -1)
+ err(1, "unlink(%s). %s:%d\n", file,
+ __FILE__, __LINE__);
+ for (i = 0; i < PARALLEL; i++) {
+ if (waitpid(pids[i], &status, 0) == -1)
+ err(1, "waitpid(%d)", pids[i]);
+ if (status != 0) {
+ if (WIFSIGNALED(status))
+ fprintf(stderr,
+ "pid %d exit signal %d\n",
+ pids[i], WTERMSIG(status));
+ }
+ e += status == 0 ? 0 : 1;
+ }
+ }
+
+ return (e);
+}
diff --git a/tools/test/stress2/misc/kevent18.sh b/tools/test/stress2/misc/kevent18.sh
new file mode 100755
index 000000000000..1492c49e2921
--- /dev/null
+++ b/tools/test/stress2/misc/kevent18.sh
@@ -0,0 +1,152 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2025 Peter Holm <pho@FreeBSD.org>
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+# A kqueuex(KQUEUE_CPONFORK) test scenario
+
+# Sleeping thread seen in WiP code:
+# https://people.freebsd.org/~pho/stress/log/log0615.txt
+
+. ../default.cfg
+
+[ `id -u ` -ne 0 ] && echo "Must be root!" && exit 1
+ulimit -k 5000 || { echo FAIL; exit 1; }
+
+odir=`pwd`
+prog=$(basename "$0" .sh)
+
+cd /tmp
+sed '1,/^EOF/d' < $odir/$0 > $prog.c
+mycc -o $prog -Wall -Wextra -O2 -g $prog.c -lpthread || exit 1
+rm -f $prog.c
+cd $odir
+
+mount | grep "on $mntpoint " | grep -q md$mdstart && umount -f $mntpoint
+mdconfig -l | grep -q $mdstart && mdconfig -d -u $mdstart
+
+mdconfig -a -t swap -s 2g -u $mdstart
+newfs $newfs_flags md$mdstart > /dev/null
+mount /dev/md$mdstart $mntpoint
+chmod 777 $mntpoint
+
+su $testuser -c "(cd $mntpoint; /tmp/$prog)" &
+for i in `jot 99`; do
+ sleep 1
+ kill -0 $! 2>/dev/null || break
+done
+pkill $prog
+wait
+umount -f $mntpoint
+
+while mount | grep -q $mntpoint; do
+ umount $mntpoint || sleep 1
+done
+mdconfig -d -u $mdstart
+rm -f /tmp/$prog
+
+exit 0
+EOF
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/mman.h>
+#include <sys/wait.h>
+
+#include <err.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <pthread.h>
+#include <sched.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#define PARALLEL 64
+
+static int fd;
+static char path[80];
+
+static void *
+spin(void *arg __unused)
+{
+ int i;
+
+ for (i= 0;; i++) {
+ snprintf(path, sizeof(path), "file.%06d.%d", getpid(), i);
+ fd = open(path, O_CREAT | O_TRUNC | O_RDWR, 0622);
+ if (fd == -1 && errno == ENOTDIR)
+ break;
+ if (fd == -1)
+ err(1, "open(%s)", path);
+ close(fd);
+ fd = 0;
+ unlink(path);
+ }
+ fprintf(stderr, "spin loops: %d\n", i + 1);
+ return (NULL);
+}
+
+static void *
+test(void *arg __unused)
+{
+ struct kevent ev;
+ struct timespec ts;
+ pid_t pid;
+ int i, kq, n;
+
+ for (i = 0; i < 500000; i++) {
+ if ((kq = kqueuex(KQUEUE_CPONFORK)) < 0)
+ err(1, "kqueueex(KQUEUE_CPONFORK)");
+
+ n = 0;
+ memset(&ev, 0, sizeof(ev));
+ EV_SET(&ev, fd, EVFILT_VNODE, EV_ADD | EV_ENABLE | EV_CLEAR,
+ NOTE_DELETE|NOTE_RENAME|NOTE_EXTEND, 0, 0);
+ n++;
+
+ if ((pid = fork()) == 0) {
+ kevent(kq, &ev, n, NULL, 0, NULL);
+ _exit(0);
+ }
+ if (waitpid(pid, NULL, 0) != pid)
+ err(1, "waitpid(%d)", pid);
+
+ kevent(kq, &ev, n, NULL, 0, NULL);
+ memset(&ev, 0, sizeof(ev));
+ ts.tv_sec = 0;
+ ts.tv_nsec = 1000000;
+ if ((n = kevent(kq, NULL, 0, &ev, 1, &ts)) == -1)
+ err(1, "kevent()");
+
+ close(kq);
+ }
+ return (NULL);
+}
+
+int
+main(void)
+{
+ pthread_t cp[PARALLEL], sp;
+ int e, i;
+
+ if ((e = pthread_create(&sp, NULL, spin, NULL)) != 0)
+ errc(1, e, "pthread_create");
+
+ for (i = 0; i < PARALLEL; i++) {
+ if ((e = pthread_create(&cp[i], NULL, test, NULL)) != 0)
+ errc(1, e, "pthread_create");
+ }
+
+ for (i = 0; i < PARALLEL; i++)
+ pthread_join(cp[i], NULL);
+ pthread_join(sp, NULL);
+
+ close(fd);
+
+ return (0);
+}
diff --git a/tools/test/stress2/misc/kevent19.sh b/tools/test/stress2/misc/kevent19.sh
new file mode 100755
index 000000000000..0170fe0d93c8
--- /dev/null
+++ b/tools/test/stress2/misc/kevent19.sh
@@ -0,0 +1,187 @@
+#!/bin/sh
+
+# A kqueuex(KQUEUE_CPONFORK) test scenario
+
+set -u
+prog=$(basename "$0" .sh)
+
+cat > /tmp/$prog.c <<EOF
+/* \$Id: kqfork.c,v 1.4 2025/08/19 19:42:16 kostik Exp kostik $ */
+
+#include <sys/param.h>
+#include <sys/event.h>
+#include <err.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#ifndef KQUEUE_CPONFORK
+#define KQUEUE_CPONFORK 0x2
+#endif
+
+static pid_t pid_pipe_beat;
+static pid_t pid_controller;
+
+static void
+sighup_handler(int sig __unused)
+{
+ kill(pid_pipe_beat, SIGKILL);
+ _exit(1);
+}
+
+static void
+pipe_beat(int wp)
+{
+ static const char a[1] = { 'a' };
+ ssize_t s;
+
+ for (;;) {
+ sleep(1);
+ s = write(wp, a, 1);
+ if (s < 0)
+ err(1, "pipe write");
+ if (s == 0)
+ errx(1, "short pipe write");
+ }
+}
+
+static void
+worker(int kq, int rp)
+{
+ struct kevent ev[1];
+ char a[1];
+ ssize_t s;
+ int n;
+
+ for (;;) {
+ n = kevent(kq, NULL, 0, ev, nitems(ev), NULL);
+ if (n == -1) {
+ kill(pid_controller, SIGHUP);
+ err(1, "kqueue");
+ }
+ if (n == 0)
+ continue; // XXXKIB
+ switch (ev[0].filter) {
+ case EVFILT_TIMER:
+ printf("tick\n");
+ break;
+ case EVFILT_READ:
+ if (ev[0].ident != (uintptr_t)rp) {
+ kill(pid_controller, SIGHUP);
+ errx(1, "unknown read ident %d\n", (int)ev[0].ident);
+ }
+ s = read(rp, a, sizeof(a));
+ if (s == -1) {
+ kill(pid_controller, SIGHUP);
+ err(1, "read");
+ }
+ if (s == 0) {
+ kill(pid_controller, SIGHUP);
+ errx(1, "EOF");
+ }
+ printf("%c\n", a[0]);
+ break;
+ default:
+ kill(pid_controller, SIGHUP);
+ errx(1, "unknown fiter %d\n", ev[0].filter);
+ break;
+ }
+ }
+}
+
+static void
+usage(void)
+{
+ fprintf(stderr, "Usage: kqfork [fork]\n");
+ exit(2);
+}
+
+int
+main(int argc, char *argv[])
+{
+ struct kevent ev[2];
+ struct sigaction sa;
+ int kq, n, pp[2];
+ pid_t pid_worker;
+ bool do_fork;
+
+ do_fork = false;
+ if (argc != 1 && argc != 2)
+ usage();
+ if (argc == 2) {
+ if (strcmp(argv[1], "fork") != 0)
+ usage();
+ do_fork = true;
+ }
+
+ memset(&sa, 0, sizeof(sa));
+ sa.sa_handler = sighup_handler;
+ if (sigaction(SIGHUP, &sa, NULL) == -1)
+ err(1, "sigaction(SIGHUP)");
+
+ memset(&sa, 0, sizeof(sa));
+ sa.sa_flags = SA_NOCLDWAIT | SA_NOCLDSTOP;
+ sa.sa_handler = SIG_IGN;
+ if (sigaction(SIGCHLD, &sa, NULL) == -1)
+ err(1, "sigaction(SIGCHLD)");
+
+ if (pipe(pp) == -1)
+ err(1, "pipe");
+
+ pid_pipe_beat = fork();
+ if (pid_pipe_beat == -1)
+ err(1, "fork");
+ if (pid_pipe_beat == 0) {
+ close(pp[0]);
+ pipe_beat(pp[1]);
+ }
+
+ kq = kqueuex(do_fork ? KQUEUE_CPONFORK : 0);
+ if (kq == -1)
+ err(1, "kqueuex");
+
+ EV_SET(&ev[0], 1, EVFILT_TIMER, EV_ADD, NOTE_SECONDS, 1, NULL);
+ EV_SET(&ev[1], pp[0], EVFILT_READ, EV_ADD, 0, 0, NULL);
+ n = kevent(kq, ev, nitems(ev), NULL, 0, NULL);
+ if (n == -1) {
+ kill(pid_pipe_beat, SIGKILL);
+ err(1, "kevent reg");
+ }
+ if (n != 0) {
+ kill(pid_pipe_beat, SIGKILL);
+ errx(1, "kevent reg %d", n);
+ }
+
+ pid_controller = getpid();
+
+ if (do_fork) {
+ pid_worker = fork();
+ if (pid_worker == -1) {
+ kill(pid_pipe_beat, SIGKILL);
+ err(1, "fork");
+ }
+ if (pid_worker == 0) {
+ close(pp[1]);
+ worker(kq, pp[0]);
+ }
+
+ for (;;)
+ pause();
+ } else {
+ worker(kq, pp[0]);
+ }
+ exit(0); // unreachable
+}
+EOF
+cc -o /tmp/$prog -Wall -Wextra -O2 /tmp/$prog.c || exit 1
+
+echo "--> No fork"
+timeout 4s /tmp/$prog
+echo "--> fork"
+timeout 4s /tmp/$prog fork
+
+rm -f /tmp/$prog.c $prog
+exit 0
diff --git a/tools/test/stress2/misc/unionfs20.sh b/tools/test/stress2/misc/unionfs20.sh
new file mode 100755
index 000000000000..0c87bc0d80aa
--- /dev/null
+++ b/tools/test/stress2/misc/unionfs20.sh
@@ -0,0 +1,206 @@
+#!/bin/sh
+
+#
+# Copyright (c) 2025 Peter Holm <pho@FreeBSD.org>
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+# Bug 289700 - unionfs: page fault in unionfs_find_node_status when closing a file within a socket's receive buffer
+
+# "Fatal trap 12: page fault while in kernel mode" seen:
+# https://people.freebsd.org/~pho/stress/log/log0618.txt
+
+. ../default.cfg
+
+prog=$(basename "$0" .sh)
+here=`pwd`
+log=/tmp/$prog.log
+md1=$mdstart
+md2=$((md1 + 1))
+mp1=/mnt$md1
+mp2=/mnt$md2
+
+set -eu
+mdconfig -l | grep -q md$md1 && mdconfig -d -u $md1
+mdconfig -l | grep -q md$md2 && mdconfig -d -u $md2
+
+mdconfig -s 2g -u $md1
+newfs $newfs_flags /dev/md$md1 > /dev/null
+mdconfig -s 2g -u $md2
+newfs $newfs_flags /dev/md$md2 > /dev/null
+
+mkdir -p $mp1 $mp2
+mount /dev/md$md1 $mp1
+mount /dev/md$md2 $mp2
+mount -t unionfs -o noatime $mp1 $mp2
+set +e
+
+cd /tmp
+sed '1,/^EOF/d' < $here/$0 > $prog.c
+mycc -o $prog -Wall -Wextra -O2 $prog.c
+rm -f $prog.c
+[ -d $RUNDIR ] || mkdir -p $RUNDIR
+cd $RUNDIR
+
+n=3
+for i in `jot $n`; do
+ mkdir $mp2/d$i
+done
+(cd $here/../testcases/swap; ./swap -t 3m -i 20 -l 100 -h > /dev/null) &
+sleep 2
+for i in `jot $n`; do
+ (cd $mp2/d$i; /tmp/$prog) &
+done
+while pgrep -q $prog; do sleep .5; done
+while pkill swap; do :; done
+wait
+
+cd $here
+umount $mp2 # The unionfs mount
+umount $mp2
+umount $mp1
+
+mdconfig -d -u $md1
+mdconfig -d -u $md2
+rm -f /tmp/$prog
+exit 0
+EOF
+#include <sys/param.h>
+#include <sys/mman.h>
+#include <sys/socket.h>
+#include <sys/uio.h>
+#include <sys/wait.h>
+
+#include <stdio.h>
+#include <errno.h>
+#include <err.h>
+#include <stdlib.h>
+#include <time.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <poll.h>
+#include <stdatomic.h>
+#include <string.h>
+
+#define PARALLEL 2
+#define SYNC 0
+
+static int debug;
+static _Atomic(int) *share;
+
+int
+send_fd(int socket, int fd_to_send)
+{
+ struct cmsghdr *cmsg;
+ struct msghdr msg = {0};
+ struct iovec iov;
+ char buf[1] = {0}; // dummy data
+ char cmsgbuf[CMSG_SPACE(sizeof(fd_to_send))];
+
+ memset(cmsgbuf, 0, sizeof(cmsgbuf));
+
+ iov.iov_base = buf;
+ iov.iov_len = sizeof(buf);
+ msg.msg_iov = &iov;
+ msg.msg_iovlen = 1;
+
+ msg.msg_control = cmsgbuf;
+ msg.msg_controllen = sizeof(cmsgbuf);
+
+ cmsg = CMSG_FIRSTHDR(&msg);
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_RIGHTS;
+ cmsg->cmsg_len = CMSG_LEN(sizeof(fd_to_send));
+
+ memcpy(CMSG_DATA(cmsg), &fd_to_send, sizeof(fd_to_send));
+
+ return (sendmsg(socket, &msg, 0));
+}
+
+int
+recv_fd(int socket)
+{
+ struct cmsghdr *cmsg;
+ struct msghdr msg = {0};
+ struct iovec iov;
+ char buf[1];
+ int received_fd;
+ char cmsgbuf[CMSG_SPACE(sizeof(received_fd))];
+
+ memset(cmsgbuf, 0, sizeof(cmsgbuf));
+
+ iov.iov_base = buf;
+ iov.iov_len = sizeof(buf);
+ msg.msg_iov = &iov;
+ msg.msg_iovlen = 1;
+
+ msg.msg_control = cmsgbuf;
+ msg.msg_controllen = sizeof(cmsgbuf);
+
+ if (recvmsg(socket, &msg, 0) < 0)
+ err(1, "recvmsg()");
+
+ cmsg = CMSG_FIRSTHDR(&msg);
+ if (cmsg == NULL || cmsg->cmsg_len != CMSG_LEN(sizeof(received_fd))) {
+ fprintf(stderr, "No passed fd\n");
+ return (-1);
+ }
+
+ if (cmsg->cmsg_level != SOL_SOCKET || cmsg->cmsg_type != SCM_RIGHTS) {
+ fprintf(stderr, "Invalid cmsg_level or cmsg_type\n");
+ return (-1);
+ }
+
+ memcpy(&received_fd, CMSG_DATA(cmsg), sizeof(received_fd));
+ return (received_fd);
+}
+
+int
+main(void)
+{
+ pid_t pid;
+ time_t start;
+ size_t len;
+ int fd, pair[2], status;
+
+ fd = -1;
+ len = PAGE_SIZE;
+ if ((share = mmap(NULL, len, PROT_READ | PROT_WRITE,
+ MAP_ANON | MAP_SHARED, -1, 0)) == MAP_FAILED)
+ err(1, "mmap");
+
+ if (socketpair(AF_LOCAL, SOCK_DGRAM, 0, pair) == -1)
+ err(1, "socketpair");
+
+ start = time(NULL);
+ while (time(NULL) - start < 180) {
+ share[SYNC] = 0;
+ if ((pid = fork()) == -1)
+ err(1, "fork");
+ if (pid == 0) {
+ close(pair[0]);
+ atomic_fetch_add(&share[SYNC], 1);
+ while (share[SYNC] != PARALLEL)
+ usleep(1000);
+ // Not calling recv_fd() triggers the issue
+// fd = recv_fd(pair[1]);
+ if (debug)
+ fprintf(stderr, "Received fd=%d\n", fd);
+ _exit(0);
+ }
+ fd = open("foo", O_RDWR|O_CREAT|O_TRUNC, 0666);
+ if (fd == -1)
+ err(1, "open");
+ if (debug)
+ fprintf(stderr, "Sending fd=%d\n", fd);
+ atomic_fetch_add(&share[SYNC], 1);
+ while (share[SYNC] != PARALLEL)
+ usleep(1000);
+ send_fd(pair[0], fd);
+ usleep(arc4random() % 1000);
+ wait(&status);
+ close(fd);
+ unlink("foo");
+ }
+}
diff --git a/tools/tools/git/mfc-candidates.lua b/tools/tools/git/mfc-candidates.lua
index a1420dc726da..cbf7dcb3a257 100755
--- a/tools/tools/git/mfc-candidates.lua
+++ b/tools/tools/git/mfc-candidates.lua
@@ -117,7 +117,7 @@ end
local function usage(from_branch, to_branch, author)
local script_name = arg[0]:match("([^/]+)$")
- print(script_name .. " [-ah] [-f from_branch] [-t to_branch] [-u user] [-X exclude_file] [path ...]")
+ print(script_name .. " [-ah] [-F git-show-fmt] [-f from_branch] [-t to_branch] [-u user] [-X exclude_file] [path ...]")
print()
params(from_branch, to_branch, author)
end
@@ -162,6 +162,7 @@ local function main()
local do_help = false
local exclude_file = nil
+ local gitshowfmt = '%h %s'
local i = 1
while i <= #arg and arg[i] do
local opt = arg[i]
@@ -181,6 +182,9 @@ local function main()
i = i + 1
elseif opt == "-v" then
verbose = verbose + 1
+ elseif opt == "-F" then
+ gitshowfmt = arg[i + 1]
+ i = i + 1
elseif opt == "-X" then
exclude_file = arg[i + 1]
i = i + 1
@@ -217,7 +221,7 @@ local function main()
-- Print the result
for _, hash in ipairs(result_hashes) do
- print(exec_command("git show --pretty='%h %s' --no-patch " .. hash))
+ print(exec_command("git show --pretty='" .. gitshowfmt .. "' --no-patch " .. hash))
end
end
diff --git a/tools/tools/nanobsd/rescue/Files/root/ZFS_Create.txt b/tools/tools/nanobsd/rescue/Files/root/ZFS_Create.txt
index 1f475c957c0c..ece050bfab55 100644
--- a/tools/tools/nanobsd/rescue/Files/root/ZFS_Create.txt
+++ b/tools/tools/nanobsd/rescue/Files/root/ZFS_Create.txt
@@ -25,10 +25,10 @@ zfs_load="YES"
vfs.root.mountfrom="zfs:boot/ROOT/root"
#ZFS optional
vm.kmem_size="8G"
-vfs.zfs.arc_min="1G"
-vfs.zfs.arc_max="2G"
-vfs.zfs.prefetch_disable="1"
-vfs.zfs.zil_disable=1
+vfs.zfs.arc.min="1G"
+vfs.zfs.arc.max="2G"
+vfs.zfs.prefetch.disable="1"
+vfs.zfs.zil.replay_disable=1
vfs.zfs.zio.use_uma=0
#Power savings
hw.pci.do_power_nodriver=3
diff --git a/tools/tools/netrate/tcpp/README b/tools/tools/netrate/tcpp/README
index 6817bdf8ca25..ec0313a62eb8 100644
--- a/tools/tools/netrate/tcpp/README
+++ b/tools/tools/netrate/tcpp/README
@@ -84,7 +84,7 @@ In my testing, I use loader.conf entries of:
kern.ipc.maxsockets=1000000
net.inet.tcp.maxtcptw=3000000
-kern.ipc.somaxconn=49152
+kern.ipc.soacceptqueue=49152
kern.ipc.nmbjumbo16=262144
kern.ipc.nmbjumbo9=262144
kern.ipc.nmbjumbop=262144
diff --git a/tools/tools/sysdoc/tunables.mdoc b/tools/tools/sysdoc/tunables.mdoc
index 20b59f450cf2..397fe632322d 100644
--- a/tools/tools/sysdoc/tunables.mdoc
+++ b/tools/tools/sysdoc/tunables.mdoc
@@ -806,7 +806,7 @@ kern.ipc.nsfbufs
kern.ipc.numopensockets
---
-kern.ipc.somaxconn
+kern.ipc.soacceptqueue
int
The maximum pending socket connection queue size.
diff --git a/usr.bin/calendar/calendars/calendar.freebsd b/usr.bin/calendar/calendars/calendar.freebsd
index b6e18083e24b..b85f2f1dee35 100644
--- a/usr.bin/calendar/calendars/calendar.freebsd
+++ b/usr.bin/calendar/calendars/calendar.freebsd
@@ -175,6 +175,7 @@
04/22 Jakub Klama <jceel@FreeBSD.org> born in Blachownia, Silesia, Poland, 1989
04/25 Richard Gallamore <ultima@FreeBSD.org> born in Kissimmee, Florida, United States, 1987
04/26 Rene Ladan <rene@FreeBSD.org> born in Geldrop, the Netherlands, 1980
+04/27 Jose Luis Duran <jlduran@FreeBSD.org> born in Panama City, Panama, 1978
04/28 Oleg Bulyzhin <oleg@FreeBSD.org> born in Kharkov, USSR, 1976
04/28 Andriy Voskoboinyk <avos@FreeBSD.org> born in Bila Tserkva, Ukraine, 1992
04/28 Nuno Teixeira <eduardo@FreeBSD.org> born in Aveiro, Portugal, 1974
diff --git a/usr.bin/find/find.c b/usr.bin/find/find.c
index 8b24ecd6a306..2247ae86a94b 100644
--- a/usr.bin/find/find.c
+++ b/usr.bin/find/find.c
@@ -211,7 +211,7 @@ find_execute(PLAN *plan, char *paths[])
}
if (showinfo) {
- fprintf(stderr, "Scanning: %s/%s\n", entry->fts_path, entry->fts_name);
+ fprintf(stderr, "Scanning: %s\n", entry->fts_path);
fprintf(stderr, "Scanned: %zu\n\n", counter);
showinfo = 0;
}
diff --git a/usr.bin/login/login.conf b/usr.bin/login/login.conf
index 1069da17b4db..c65a83caa565 100644
--- a/usr.bin/login/login.conf
+++ b/usr.bin/login/login.conf
@@ -46,7 +46,6 @@ default:\
:umtxp=unlimited:\
:pipebuf=unlimited:\
:priority=0:\
- :ignoretime@:\
:umask=022:\
:charset=UTF-8:\
:lang=C.UTF-8:
@@ -149,7 +148,6 @@ russian|Russian Users Accounts:\
# :requirehome:\
# :passwordtime=90d:\
# :umask=002:\
-# :ignoretime@:\
# :tc=default:
#
#
@@ -174,7 +172,6 @@ russian|Russian Users Accounts:\
##
#staff:\
# :ignorenologin:\
-# :ignoretime:\
# :requirehome@:\
# :accounted@:\
# :path=~/bin /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin:\
@@ -265,7 +262,6 @@ russian|Russian Users Accounts:\
## - no time accounting, restricted to access via dialin lines
##
#site:\
-# :ignoretime:\
# :passwordtime@:\
# :refreshtime@:\
# :refreshperiod@:\
diff --git a/usr.bin/mkimg/mkimg.c b/usr.bin/mkimg/mkimg.c
index a7409b686560..27b79b82ca02 100644
--- a/usr.bin/mkimg/mkimg.c
+++ b/usr.bin/mkimg/mkimg.c
@@ -142,8 +142,10 @@ static void
usage(const char *why)
{
- warnx("error: %s", why);
- fputc('\n', stderr);
+ if (why != NULL) {
+ warnx("error: %s", why);
+ fputc('\n', stderr);
+ }
fprintf(stderr, "usage: %s <options>\n", getprogname());
fprintf(stderr, " options:\n");
@@ -171,19 +173,19 @@ usage(const char *why)
print_schemes(1);
fputc('\n', stderr);
fprintf(stderr, " partition specification:\n");
- fprintf(stderr, "\t<t>[/<l>]::<size>[:[+]<offset>]\t- "
+ fprintf(stderr, "\t<type>[/<label>]::<size>[:[+]<offset>]\t- "
"empty partition of given size and\n\t\t\t\t\t"
" optional relative or absolute offset\n");
- fprintf(stderr, "\t<t>[/<l>]:=<file>[:[+]offset]\t- partition "
+ fprintf(stderr, "\t<type>[/<label>]:=<file>[:[+]offset]\t- partition "
"content and size are\n\t\t\t\t\t"
" determined by the named file and\n"
"\t\t\t\t\t optional relative or absolute offset\n");
- fprintf(stderr, "\t<t>[/<l>]:-<cmd>\t\t- partition content and size "
+ fprintf(stderr, "\t<type>[/<label>]:-<cmd>\t\t- partition content and size "
"are taken\n\t\t\t\t\t from the output of the command to run\n");
fprintf(stderr, "\t-\t\t\t\t- unused partition entry\n");
fprintf(stderr, "\t where:\n");
- fprintf(stderr, "\t\t<t>\t- scheme neutral partition type\n");
- fprintf(stderr, "\t\t<l>\t- optional scheme-dependent partition "
+ fprintf(stderr, "\t\t<type>\t- scheme neutral partition type\n");
+ fprintf(stderr, "\t\t<label>\t- optional scheme-dependent partition "
"label\n");
exit(EX_USAGE);
@@ -564,7 +566,7 @@ main(int argc, char *argv[])
bcfd = -1;
outfd = 1; /* Write to stdout by default */
- while ((c = getopt_long(argc, argv, "a:b:c:C:f:o:p:s:t:vyH:P:S:T:",
+ while ((c = getopt_long(argc, argv, "a:b:c:C:f:ho:p:s:t:vyH:P:S:T:",
longopts, NULL)) != -1) {
switch (c) {
case 'a': /* ACTIVE PARTITION, if supported */
@@ -596,6 +598,9 @@ main(int argc, char *argv[])
if (error)
errc(EX_DATAERR, error, "format");
break;
+ case 'h': /* HELP */
+ usage(NULL);
+ break;
case 'o': /* OUTPUT FILE */
if (outfd != 1)
usage("multiple output files given");
diff --git a/usr.bin/ncurses/Makefile b/usr.bin/ncurses/Makefile
index 33001e6ab568..1ed8a2d9a915 100644
--- a/usr.bin/ncurses/Makefile
+++ b/usr.bin/ncurses/Makefile
@@ -1,4 +1,4 @@
-PACKAGE= runtime
+PACKAGE= ncurses
.include <bsd.own.mk>
.include "${SRCTOP}/lib/ncurses/config.mk"
diff --git a/usr.bin/sockstat/main.c b/usr.bin/sockstat/main.c
index 7fedfd5b8724..abb73acafc2f 100644
--- a/usr.bin/sockstat/main.c
+++ b/usr.bin/sockstat/main.c
@@ -1196,7 +1196,9 @@ calculate_sock_column_widths(struct col_widths *cw, struct sock *s)
first = true;
len = strlen(s->protoname);
- if (s->vflag & (INP_IPV4 | INP_IPV6))
+ if (s->vflag & INP_IPV4)
+ len += 1;
+ if (s->vflag & INP_IPV6)
len += 1;
cw->proto = MAX(cw->proto, len);
@@ -1789,9 +1791,11 @@ main(int argc, char *argv[])
argc = xo_parse_args(argc, argv);
if (argc < 0)
exit(1);
- if (xo_get_style(NULL) != XO_STYLE_TEXT &&
- xo_get_style(NULL) != XO_STYLE_HTML)
- is_xo_style_encoding = true;
+ if (xo_get_style(NULL) != XO_STYLE_TEXT) {
+ show_path_state = true;
+ if (xo_get_style(NULL) != XO_STYLE_HTML)
+ is_xo_style_encoding = true;
+ }
opt_j = -1;
while ((o = getopt(argc, argv, "46AbCcfIij:Llnp:P:qSsUuvw")) != -1)
switch (o) {
diff --git a/usr.bin/sockstat/sockstat.1 b/usr.bin/sockstat/sockstat.1
index d14eb967ad0f..1498fb1d88f7 100644
--- a/usr.bin/sockstat/sockstat.1
+++ b/usr.bin/sockstat/sockstat.1
@@ -25,7 +25,7 @@
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd October 9, 2025
+.Dd October 14, 2025
.Dt SOCKSTAT 1
.Os
.Sh NAME
@@ -205,7 +205,8 @@ is specified (only for SCTP or TCP).
The path state if
.Fl s
is specified (only for SCTP).
-This column is only shown when there is at least one path state shown.
+When using traditional text output, this column is only shown when there is at
+least one path state to show.
.It Li CONN STATE
The connection state if
.Fl s
diff --git a/usr.bin/tar/Makefile b/usr.bin/tar/Makefile
index 9260315fb30b..d3d29e03fd35 100644
--- a/usr.bin/tar/Makefile
+++ b/usr.bin/tar/Makefile
@@ -2,7 +2,6 @@
_LIBARCHIVEDIR= ${SRCTOP}/contrib/libarchive
-PACKAGE= runtime
PROG= bsdtar
BSDTAR_VERSION_STRING!= sed -n '/define.*ARCHIVE_VERSION_ONLY_STRING/{s,[^0-9.],,gp;q;}' \
${_LIBARCHIVEDIR}/libarchive/archive.h
diff --git a/usr.sbin/arp/arp.c b/usr.sbin/arp/arp.c
index ee4236b5299b..055ef2ffe225 100644
--- a/usr.sbin/arp/arp.c
+++ b/usr.sbin/arp/arp.c
@@ -81,7 +81,6 @@ static int get(char *host);
static int file(char *name);
static struct rt_msghdr *rtmsg(int cmd,
struct sockaddr_in *dst, struct sockaddr_dl *sdl);
-static int get_ether_addr(in_addr_t ipaddr, struct ether_addr *hwaddr);
static int set_rtsock(struct sockaddr_in *dst, struct sockaddr_dl *sdl_m,
char *host);
@@ -143,7 +142,8 @@ main(int argc, char *argv[])
if (!func)
func = F_GET;
if (opts.rifname) {
- if (func != F_GET && func != F_SET && !(func == F_DELETE && opts.aflag))
+ if (func != F_GET && func != F_SET && func != F_REPLACE &&
+ !(func == F_DELETE && opts.aflag))
xo_errx(1, "-i not applicable to this operation");
if ((opts.rifindex = if_nametoindex(opts.rifname)) == 0) {
if (errno == ENXIO)
@@ -273,7 +273,6 @@ getaddr(char *host)
return (&reply);
}
-int valid_type(int type);
/*
* Returns true if the type is a valid one for ARP.
*/
@@ -357,11 +356,14 @@ set(int argc, char **argv)
}
ea = (struct ether_addr *)LLADDR(&sdl_m);
if ((opts.flags & RTF_ANNOUNCE) && !strcmp(eaddr, "auto")) {
- if (!get_ether_addr(dst->sin_addr.s_addr, ea)) {
+ uint32_t ifindex;
+ if (!get_ifinfo(dst->sin_addr.s_addr, ea, &ifindex)) {
xo_warnx("no interface found for %s",
- inet_ntoa(dst->sin_addr));
+ inet_ntoa(dst->sin_addr));
return (1);
}
+ if (opts.rifindex == 0)
+ opts.rifindex = ifindex;
sdl_m.sdl_alen = ETHER_ADDR_LEN;
} else {
struct ether_addr *ea1 = ether_aton(eaddr);
@@ -375,7 +377,7 @@ set(int argc, char **argv)
}
}
#ifndef WITHOUT_NETLINK
- return (set_nl(opts.rifindex, dst, &sdl_m, host));
+ return (set_nl(dst, &sdl_m, host));
#else
return (set_rtsock(dst, &sdl_m, host));
#endif
@@ -522,7 +524,7 @@ delete(char *host)
#ifdef WITHOUT_NETLINK
return (delete_rtsock(host));
#else
- return (delete_nl(0, host));
+ return (delete_nl(host));
#endif
}
@@ -819,11 +821,11 @@ doit:
}
/*
- * get_ether_addr - get the hardware address of an interface on the
- * same subnet as ipaddr.
+ * get_ifinfo - get the hardware address and if_index of an interface
+ * on the same subnet as ipaddr.
*/
-static int
-get_ether_addr(in_addr_t ipaddr, struct ether_addr *hwaddr)
+int
+get_ifinfo(in_addr_t ipaddr, struct ether_addr *hwaddr, uint32_t *pifindex)
{
struct ifaddrs *ifa, *ifd, *ifas = NULL;
in_addr_t ina, mask;
@@ -862,7 +864,13 @@ get_ether_addr(in_addr_t ipaddr, struct ether_addr *hwaddr)
}
if (ifa == NULL)
goto done;
-
+ if (pifindex != NULL)
+ *pifindex = if_nametoindex(ifa->ifa_name);
+ if (hwaddr == NULL) {
+ /* ether addr is not required */
+ retval = ETHER_ADDR_LEN;
+ goto done;
+ }
/*
* Now scan through again looking for a link-level address
* for this interface.
diff --git a/usr.sbin/arp/arp.h b/usr.sbin/arp/arp.h
index 487863be43e7..512a238df425 100644
--- a/usr.sbin/arp/arp.h
+++ b/usr.sbin/arp/arp.h
@@ -2,8 +2,8 @@
#define _USR_SBIN_ARP_ARP_H_
int valid_type(int type);
+int get_ifinfo(in_addr_t ipaddr, struct ether_addr *hwaddr, uint32_t *pifindex);
struct sockaddr_in *getaddr(char *host);
-int print_entries_nl(uint32_t ifindex, struct in_addr addr);
struct arp_opts {
bool aflag;
@@ -11,13 +11,12 @@ struct arp_opts {
time_t expire_time;
int flags;
char *rifname;
- unsigned int rifindex;
+ uint32_t rifindex;
};
extern struct arp_opts opts;
int print_entries_nl(uint32_t ifindex, struct in_addr addr);
-int delete_nl(uint32_t ifindex, char *host);
-int set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl,
- char *host);
+int delete_nl(char *host);
+int set_nl(struct sockaddr_in *dst, struct sockaddr_dl *sdl, char *host);
#endif
diff --git a/usr.sbin/arp/arp_netlink.c b/usr.sbin/arp/arp_netlink.c
index db1ef775dea2..34f21cf96f4f 100644
--- a/usr.sbin/arp/arp_netlink.c
+++ b/usr.sbin/arp/arp_netlink.c
@@ -79,13 +79,15 @@ get_link_info(struct snl_state *ss, uint32_t ifindex,
static bool
-has_l2(struct snl_state *ss, uint32_t ifindex)
+has_l2(struct snl_state *ss, uint32_t ifindex, uint32_t *pflags)
{
struct snl_parsed_link_simple link = {};
+ *pflags = 0;
if (!get_link_info(ss, ifindex, &link))
return (false);
+ *pflags = link.ifi_flags;
return (valid_type(link.ifi_type) != 0);
}
@@ -104,6 +106,7 @@ static int
guess_ifindex(struct snl_state *ss, uint32_t fibnum, struct in_addr addr)
{
struct snl_writer nw;
+ uint32_t ifindex, ifflags;
snl_init_writer(ss, &nw);
@@ -133,9 +136,16 @@ guess_ifindex(struct snl_state *ss, uint32_t fibnum, struct in_addr addr)
return (0);
/* Check if the interface is of supported type */
- if (has_l2(ss, r.rta_oif))
+ if (has_l2(ss, r.rta_oif, &ifflags))
return (r.rta_oif);
+ /* Check if we are doing proxy arp for P2P interface */
+ if (ifflags & IFF_POINTOPOINT) {
+ /* Guess interface by dst prefix */
+ if (get_ifinfo(addr.s_addr, NULL, &ifindex))
+ return (ifindex);
+ }
+
/* Check the case when we matched the loopback route for P2P */
snl_init_writer(ss, &nw);
hdr = snl_create_msg_request(&nw, RTM_GETNEXTHOP);
@@ -326,11 +336,12 @@ print_entries_nl(uint32_t ifindex, struct in_addr addr)
}
int
-delete_nl(uint32_t ifindex, char *host)
+delete_nl(char *host)
{
struct snl_state ss = {};
struct snl_writer nw;
struct sockaddr_in *dst;
+ uint32_t ifindex = opts.rifindex;
dst = getaddr(host);
if (dst == NULL)
@@ -375,10 +386,11 @@ delete_nl(uint32_t ifindex, char *host)
}
int
-set_nl(uint32_t ifindex, struct sockaddr_in *dst, struct sockaddr_dl *sdl, char *host)
+set_nl(struct sockaddr_in *dst, struct sockaddr_dl *sdl, char *host)
{
struct snl_state ss = {};
struct snl_writer nw;
+ uint32_t ifindex = opts.rifindex;
nl_init_socket(&ss);
diff --git a/usr.sbin/blacklistctl/Makefile b/usr.sbin/blacklistctl/Makefile
index 8a01f52926a7..41c5f44b072b 100644
--- a/usr.sbin/blacklistctl/Makefile
+++ b/usr.sbin/blacklistctl/Makefile
@@ -6,8 +6,7 @@ PACKAGE= blocklist
PROG= blacklistctl
SRCS= blacklistctl.c conf.c state.c support.c old_internal.c \
sockaddr_snprintf.c pidfile.c strtoi.c popenve.c
-MAN= blocklistctl.8
-MLINKS= blocklistctl.8 blacklistctl.8
+MAN= blacklistctl.8
LDFLAGS+=-L${LIBBLACKLISTDIR}
LIBADD+= blocklist util
diff --git a/usr.sbin/blacklistd/Makefile b/usr.sbin/blacklistd/Makefile
index b4ba4ca2f9ad..490b12d46968 100644
--- a/usr.sbin/blacklistd/Makefile
+++ b/usr.sbin/blacklistd/Makefile
@@ -7,9 +7,7 @@ CONFS= blacklistd.conf
PROG= blacklistd
SRCS= blacklistd.c conf.c run.c state.c support.c old_internal.c \
sockaddr_snprintf.c pidfile.c strtoi.c popenve.c vsyslog_r.c
-MAN= blocklistd.8 blocklistd.conf.5
-MLINKS= blocklistd.8 blacklistd.8 \
- blocklistd.conf.5 blacklistd.conf.5
+MAN= blacklistd.8 blacklistd.conf.5
LDFLAGS+=-L${LIBBLACKLISTDIR}
LIBADD+= blocklist util
diff --git a/usr.sbin/bluetooth/rtlbtfw/main.c b/usr.sbin/bluetooth/rtlbtfw/main.c
index e87a98036265..280045a6aa25 100644
--- a/usr.sbin/bluetooth/rtlbtfw/main.c
+++ b/usr.sbin/bluetooth/rtlbtfw/main.c
@@ -64,9 +64,6 @@ static struct rtlbt_devid rtlbt_list[] = {
{ .vendor_id = 0x0bda, .product_id = 0xb00c },
{ .vendor_id = 0x0bda, .product_id = 0xc822 },
- /* Realtek 8822CU Bluetooth devices */
- { .vendor_id = 0x13d3, .product_id = 0x3549 },
-
/* Realtek 8851BE Bluetooth devices */
{ .vendor_id = 0x13d3, .product_id = 0x3600 },
diff --git a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
index 61ae53db8f39..2ef56d2af93a 100644
--- a/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
+++ b/usr.sbin/bluetooth/rtlbtfw/rtlbtfw.conf
@@ -36,16 +36,6 @@ notify 100 {
action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
};
-# Realtek 8822CU Bluetooth devices
-notify 100 {
- match "system" "USB";
- match "subsystem" "DEVICE";
- match "type" "ATTACH";
- match "vendor" "0x13d3";
- match "product" "0x3549";
- action "/usr/sbin/rtlbtfw -d $cdev -f /usr/local/share/rtlbt-firmware";
-};
-
# Realtek 8851BE Bluetooth devices
notify 100 {
match "system" "USB";
diff --git a/usr.sbin/bsdinstall/Makefile b/usr.sbin/bsdinstall/Makefile
index e5bb3197fa05..5d7be97ed7cf 100644
--- a/usr.sbin/bsdinstall/Makefile
+++ b/usr.sbin/bsdinstall/Makefile
@@ -22,7 +22,8 @@ REVISION?= ${_REVISION}
.if ${BRANCH} == CURRENT || ${BRANCH} == STABLE
SUBURL= base_latest
-.elif ${BRANCH} == RELEASE
+.elif ${BRANCH} == RELEASE || ${BRANCH:C/[0-9]+$//} == BETA || \
+ ${BRANCH:C/[0-9]+$//} == RC
SUBURL= base_release_${REVISION:C/[0-9]+\.//}
.else
.warning Invalid branch "${BRANCH}"
diff --git a/usr.sbin/bsdinstall/partedit/part_wizard.c b/usr.sbin/bsdinstall/partedit/part_wizard.c
index 90a8da1c3c9b..9146a2af782f 100644
--- a/usr.sbin/bsdinstall/partedit/part_wizard.c
+++ b/usr.sbin/bsdinstall/partedit/part_wizard.c
@@ -27,6 +27,7 @@
*/
#include <sys/param.h>
+#include <sys/sysctl.h>
#include <errno.h>
#include <inttypes.h>
@@ -34,6 +35,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include <libgeom.h>
#include <bsddialog.h>
@@ -41,10 +43,29 @@
#include "partedit.h"
#define MIN_FREE_SPACE (1023*1024*1024) /* Just under 1 GB */
-#define SWAP_SIZE(available) MIN(available/20, 4*1024*1024*1024LL)
static char *wizard_partition(struct gmesh *mesh, const char *disk);
+/*
+ * Determine default swap (partition) size in bytes for a given amount of free
+ * disk space in bytes. The algorithm should likely be revisited in light of
+ * contemporary memory and disk sizes.
+ */
+static intmax_t
+swap_size(intmax_t available)
+{
+ intmax_t swapsize;
+ unsigned long swap_maxpages;
+ size_t sz;
+
+ swapsize = MIN(available/20, 4*1024*1024*1024LL);
+ sz = sizeof(swap_maxpages);
+ if (sysctlbyname("vm.swap_maxpages", &swap_maxpages, &sz, NULL, 0) == 0)
+ swapsize = MIN(swapsize, (intmax_t)swap_maxpages * getpagesize());
+
+ return (swapsize);
+}
+
int
part_wizard(const char *fsreq)
{
@@ -383,7 +404,7 @@ wizard_makeparts(struct gmesh *mesh, const char *disk, const char *fstype,
return (!retval); /* Editor -> return 0 */
}
- swapsize = SWAP_SIZE(available);
+ swapsize = swap_size(available);
humanize_number(swapsizestr, 7, swapsize, "B", HN_AUTOSCALE,
HN_NOSPACE | HN_DECIMAL);
humanize_number(rootsizestr, 7, available - swapsize - 1024*1024,
diff --git a/usr.sbin/bsdinstall/scripts/auto b/usr.sbin/bsdinstall/scripts/auto
index 8058b1a41dbf..5fefc07e4c07 100755
--- a/usr.sbin/bsdinstall/scripts/auto
+++ b/usr.sbin/bsdinstall/scripts/auto
@@ -73,7 +73,7 @@ msg_yes="YES"
# error [$msg]
#
# Display generic error message when a script fails. An optional message
-# argument can preceed the generic message. User is given the choice of
+# argument can precede the generic message. User is given the choice of
# restarting the installer or exiting.
#
error()
diff --git a/usr.sbin/bsdinstall/scripts/bootconfig b/usr.sbin/bsdinstall/scripts/bootconfig
index 6736e78b450a..9c188c1d8a91 100755
--- a/usr.sbin/bsdinstall/scripts/bootconfig
+++ b/usr.sbin/bsdinstall/scripts/bootconfig
@@ -163,7 +163,7 @@ if [ -n "$(awk '{if ($2=="/boot/efi") printf("%s\n",$1);}' $PATH_FSTAB)" ]; then
rmdir "${mntpt}"
fi
- # Try to set the UEFI NV BootXXXX variables to recod the boot location
+ # Try to set the UEFI NV BootXXXX variables to record the boot location
if [ "$BSDINSTALL_CONFIGCURRENT" ] && [ "$ARCHBOOTNAME" != ia32 ]; then
update_uefi_bootentry
fi
diff --git a/usr.sbin/bsdinstall/scripts/jail b/usr.sbin/bsdinstall/scripts/jail
index 3b1b2ee98fff..8e001fc4a027 100755
--- a/usr.sbin/bsdinstall/scripts/jail
+++ b/usr.sbin/bsdinstall/scripts/jail
@@ -45,7 +45,7 @@ user_env_vars="BSDINSTALL_DISTSITE DISTRIBUTIONS"
# error [$msg]
#
# Display generic error message when a script fails. An optional message
-# argument can preceed the generic message. User is given the choice of
+# argument can precede the generic message. User is given the choice of
# restarting the installer or exiting.
#
error() {
diff --git a/usr.sbin/bsdinstall/scripts/keymap b/usr.sbin/bsdinstall/scripts/keymap
index 6f4060c0772e..669a1062df95 100755
--- a/usr.sbin/bsdinstall/scripts/keymap
+++ b/usr.sbin/bsdinstall/scripts/keymap
@@ -216,7 +216,7 @@ while :; do
n=$( eval f_dialog_menutag2index_with_help \
\"\$menu_choice\" $menu_list )
- # Turn that number ithe name of the keymap struct
+ # Turn that number into the name of the keymap struct
k=$( set -- $KEYMAPS; eval echo \"\${$(( $n - 2))}\" )
# Get actual keymap setting while we update $keymap and $KEYMAPFILE
diff --git a/usr.sbin/bsdinstall/scripts/script b/usr.sbin/bsdinstall/scripts/script
index 00ded5f8e24d..21da2ea7c366 100755
--- a/usr.sbin/bsdinstall/scripts/script
+++ b/usr.sbin/bsdinstall/scripts/script
@@ -144,7 +144,7 @@ else
#
# Work around this in an extremely lame way for the specific
# case of EFI system partitions only. This *ONLY WORKS* if
- # /boot/efi is empty and does not handle analagous problems on
+ # /boot/efi is empty and does not handle analogous problems on
# other systems (ARM, PPC64).
tar -xf "$BSDINSTALL_DISTDIR/$set" -C $BSDINSTALL_CHROOT --exclude boot/efi
mkdir -p $BSDINSTALL_CHROOT/boot/efi
diff --git a/usr.sbin/bsdinstall/scripts/zfsboot b/usr.sbin/bsdinstall/scripts/zfsboot
index 95cbba3fa131..9ea6ec3a4ac9 100755
--- a/usr.sbin/bsdinstall/scripts/zfsboot
+++ b/usr.sbin/bsdinstall/scripts/zfsboot
@@ -255,7 +255,7 @@ msg_encrypt_disks="Encrypt Disks?"
msg_encrypt_disks_help="Use geli(8) to encrypt all data partitions"
msg_error="Error"
msg_force_4k_sectors="Force 4K Sectors?"
-msg_force_4k_sectors_help="Align partitions to 4K sector boundries and set vfs.zfs.vdev.min_auto_ashift=12"
+msg_force_4k_sectors_help="Align partitions to 4K sector boundaries and set vfs.zfs.vdev.min_auto_ashift=12"
msg_freebsd_installer="$OSNAME Installer"
msg_geli_password="Enter a strong passphrase, used to protect your encryption keys. You will be required to enter this passphrase each time the system is booted"
msg_geli_setup="Initializing encryption on selected disks,\n this will take several seconds per disk"
diff --git a/usr.sbin/certctl/certctl.8 b/usr.sbin/certctl/certctl.8
index edf993e1361a..e58da8e7ff84 100644
--- a/usr.sbin/certctl/certctl.8
+++ b/usr.sbin/certctl/certctl.8
@@ -24,7 +24,7 @@
.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd August 18, 2025
+.Dd October 9, 2025
.Dt CERTCTL 8
.Os
.Sh NAME
@@ -110,7 +110,7 @@ A copy of each trusted certificate is placed in
and each untrusted certificate in
.Ev UNTRUSTDESTDIR .
In addition, a bundle containing the trusted certificates is placed in
-.Ev BUNDLEFILE .
+.Ev BUNDLE .
.It Ic untrust
Add the specified file to the untrusted list.
.It Ic trust
@@ -151,6 +151,8 @@ Default:
.Pa ${DESTDIR}${DISTBASE}/etc/ssl/untrusted
.It Ev BUNDLE
File name of bundle to produce.
+Default:
+.Pa ${DESTDIR}${DISTBASE}/etc/ssl/cert.pem
.El
.Sh SEE ALSO
.Xr openssl 1
diff --git a/usr.sbin/fwget/pci/pci_network_mediatek b/usr.sbin/fwget/pci/pci_network_mediatek
index 653c87c410eb..e1e15dcfa2e5 100644
--- a/usr.sbin/fwget/pci/pci_network_mediatek
+++ b/usr.sbin/fwget/pci/pci_network_mediatek
@@ -38,24 +38,24 @@ pci_network_mediatek_mt76()
# { sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh }
### >>>
- 0x0608) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;;
- 0x0616) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;;
- 0x0717) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;;
- 0x7611) addpkg "wifi-firmware-mediatek-kmod-mt7615"; return 1 ;;
- 0x7615) addpkg "wifi-firmware-mediatek-kmod-mt7615"; return 1 ;;
- 0x7663) addpkg "wifi-firmware-mediatek-kmod-mt7615"; return 1 ;;
- 0x7906) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;;
- 0x790a) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;;
- 0x7915) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;;
- 0x7916) addpkg "wifi-firmware-mediatek-kmod-mt7915"; return 1 ;;
- 0x7920) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;;
- 0x7922) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;;
- 0x7925) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;;
- 0x7961) addpkg "wifi-firmware-mediatek-kmod-mt792x"; return 1 ;;
- 0x7990) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;;
- 0x7991) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;;
- 0x7992) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;;
- 0x799a) addpkg "wifi-firmware-mediatek-kmod-mt7996"; return 1 ;;
+ 0x0608) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x0616) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x0717) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x7611) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;;
+ 0x7615) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;;
+ 0x7663) addpkg "wifi-firmware-mt76-kmod-mt7615"; return 1 ;;
+ 0x7906) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;;
+ 0x790a) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;;
+ 0x7915) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;;
+ 0x7916) addpkg "wifi-firmware-mt76-kmod-mt7915"; return 1 ;;
+ 0x7920) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x7922) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x7925) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x7961) addpkg "wifi-firmware-mt76-kmod-mt792x"; return 1 ;;
+ 0x7990) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;;
+ 0x7991) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;;
+ 0x7992) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;;
+ 0x799a) addpkg "wifi-firmware-mt76-kmod-mt7996"; return 1 ;;
### <<<
esac
diff --git a/usr.sbin/quot/Makefile b/usr.sbin/quot/Makefile
index ed8360ae938e..2f32c8f2df8b 100644
--- a/usr.sbin/quot/Makefile
+++ b/usr.sbin/quot/Makefile
@@ -1,7 +1,9 @@
+.include <src.opts.mk>
+
PROG= quot
MAN= quot.8
-LIBADD= ufs
-
-WARNS?= 2
+LIBADD= ufs util
+HAS_TESTS=
+SUBDIR.${MK_TESTS}= tests
.include <bsd.prog.mk>
diff --git a/usr.sbin/quot/quot.8 b/usr.sbin/quot/quot.8
index 81abe28b41d5..32e666e2a863 100644
--- a/usr.sbin/quot/quot.8
+++ b/usr.sbin/quot/quot.8
@@ -27,7 +27,7 @@
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
.\" ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd February 8, 1994
+.Dd October 15, 2025
.Dt QUOT 8
.Os
.Sh NAME
@@ -35,7 +35,7 @@
.Nd display disk space occupied by each user
.Sh SYNOPSIS
.Nm
-.Op Fl cfhknv
+.Op Fl cfknv
.Op Fl a | Ar filesystem ...
.Sh DESCRIPTION
The
@@ -53,11 +53,6 @@ number of files in this category, and aggregate total of
blocks in files with this or lower size.
.It Fl f
For each user, display count of files and space occupied.
-.It Fl h
-Estimate the number of blocks in each file based on its size.
-Despite that this does not give the correct results (it does not
-account for the holes in files), this option is not any faster
-and thus is discouraged.
.It Fl k
Force the numbers to be reported in kilobyte counts.
By default, all sizes are reported in 512-byte block counts.
diff --git a/usr.sbin/quot/quot.c b/usr.sbin/quot/quot.c
index 4152c498371a..879580f649b9 100644
--- a/usr.sbin/quot/quot.c
+++ b/usr.sbin/quot/quot.c
@@ -32,19 +32,21 @@
*/
#include <sys/param.h>
-#include <sys/stdint.h>
#include <sys/mount.h>
#include <sys/disklabel.h>
#include <ufs/ufs/dinode.h>
#include <ufs/ffs/fs.h>
#include <err.h>
+#include <errno.h>
#include <fcntl.h>
#include <fstab.h>
-#include <errno.h>
#include <libufs.h>
+#include <mntopts.h>
#include <paths.h>
#include <pwd.h>
+#include <stdbool.h>
+#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -52,16 +54,16 @@
#include <unistd.h>
/* some flags of what to do: */
-static char estimate;
-static char count;
-static char unused;
-static void (*func)(int, struct fs *, char *);
+static bool all;
+static bool count;
+static bool noname;
+static bool unused;
+static void (*func)(int, struct fs *);
static long blocksize;
static char *header;
static int headerlen;
static union dinode *get_inode(int, struct fs *, ino_t);
-static int virtualblocks(struct fs *, union dinode *);
static int isfree(struct fs *, union dinode *);
static void inituser(void);
static void usrrehash(void);
@@ -69,9 +71,9 @@ static struct user *user(uid_t);
static int cmpusers(const void *, const void *);
static void uses(uid_t, daddr_t, time_t);
static void initfsizes(void);
-static void dofsizes(int, struct fs *, char *);
-static void douser(int, struct fs *, char *);
-static void donames(int, struct fs *, char *);
+static void dofsizes(int, struct fs *);
+static void douser(int, struct fs *);
+static void donames(int, struct fs *);
static void usage(void);
static void quot(char *, char *);
@@ -86,11 +88,7 @@ static void quot(char *, char *);
* Due to the size of modern disks, we must cast intermediate
* values to 64 bits to prevent potential overflows.
*/
-#ifdef COMPAT
-#define SIZE(n) (n)
-#else
-#define SIZE(n) ((int)(((quad_t)(n) * 512 + blocksize - 1)/blocksize))
-#endif
+#define SIZE(n) ((int)(((intmax_t)(n) * 512 + blocksize - 1) / blocksize))
#define INOCNT(fs) ((fs)->fs_ipg)
#define INOSZ(fs) \
@@ -104,29 +102,26 @@ static void quot(char *, char *);
static union dinode *
get_inode(int fd, struct fs *super, ino_t ino)
{
- static caddr_t ipbuf;
+ static union dinode *ipbuf;
static struct cg *cgp;
static ino_t last;
- static int cg;
+ static unsigned long cg;
struct ufs2_dinode *di2;
+ off_t off;
if (fd < 0) { /* flush cache */
- if (ipbuf) {
- free(ipbuf);
- ipbuf = 0;
- if (super != NULL && super->fs_magic == FS_UFS2_MAGIC) {
- free(cgp);
- cgp = 0;
- }
- }
- return 0;
+ free(ipbuf);
+ ipbuf = NULL;
+ free(cgp);
+ cgp = NULL;
+ return (NULL);
}
- if (!ipbuf || ino < last || ino >= last + INOCNT(super)) {
+ if (ipbuf == NULL || ino < last || ino >= last + INOCNT(super)) {
if (super->fs_magic == FS_UFS2_MAGIC &&
- (!cgp || cg != ino_to_cg(super, ino))) {
+ (cgp == NULL || cg != ino_to_cg(super, ino))) {
cg = ino_to_cg(super, ino);
- if (!cgp && !(cgp = malloc(super->fs_cgsize)))
+ if (cgp == NULL && (cgp = malloc(super->fs_cgsize)) == NULL)
errx(1, "allocate cg");
if (lseek(fd, (off_t)cgtod(super, cg) << super->fs_fshift, 0) < 0)
err(1, "lseek cg");
@@ -135,12 +130,12 @@ get_inode(int fd, struct fs *super, ino_t ino)
if (!cg_chkmagic(cgp))
errx(1, "cg has bad magic");
}
- if (!ipbuf
- && !(ipbuf = malloc(INOSZ(super))))
+ if (ipbuf == NULL && (ipbuf = malloc(INOSZ(super))) == NULL)
errx(1, "allocate inodes");
last = rounddown(ino, INOCNT(super));
- if (lseek(fd, (off_t)ino_to_fsba(super, last) << super->fs_fshift, 0) < (off_t)0
- || read(fd, ipbuf, INOSZ(super)) != (ssize_t)INOSZ(super))
+ off = (off_t)ino_to_fsba(super, last) << super->fs_fshift;
+ if (lseek(fd, off, SEEK_SET) != off ||
+ read(fd, ipbuf, INOSZ(super)) != (ssize_t)INOSZ(super))
err(1, "read inodes");
}
@@ -150,55 +145,13 @@ get_inode(int fd, struct fs *super, ino_t ino)
di2 = &((struct ufs2_dinode *)ipbuf)[ino % INOCNT(super)];
/* If the inode is unused, it might be unallocated too, so zero it. */
if (isclr(cg_inosused(cgp), ino % super->fs_ipg))
- bzero(di2, sizeof (*di2));
+ memset(di2, 0, sizeof(*di2));
return ((union dinode *)di2);
}
-#ifdef COMPAT
-#define actualblocks(fs, dp) (DIP(fs, dp, di_blocks) / 2)
-#else
-#define actualblocks(fs, dp) DIP(fs, dp, di_blocks)
-#endif
-
-static int virtualblocks(struct fs *super, union dinode *dp)
-{
- off_t nblk, sz;
-
- sz = DIP(super, dp, di_size);
-#ifdef COMPAT
- if (lblkno(super,sz) >= UFS_NDADDR) {
- nblk = blkroundup(super,sz);
- if (sz == nblk)
- nblk += super->fs_bsize;
- }
-
- return sz / 1024;
-
-#else /* COMPAT */
-
- if (lblkno(super,sz) >= UFS_NDADDR) {
- nblk = blkroundup(super,sz);
- sz = lblkno(super,nblk);
- sz = (sz - UFS_NDADDR + NINDIR(super) - 1) / NINDIR(super);
- while (sz > 0) {
- nblk += sz * super->fs_bsize;
- /* sz - 1 rounded up */
- sz = (sz - 1 + NINDIR(super) - 1) / NINDIR(super);
- }
- } else
- nblk = fragroundup(super,sz);
-
- return nblk / 512;
-#endif /* COMPAT */
-}
-
static int
isfree(struct fs *super, union dinode *dp)
{
-#ifdef COMPAT
- return (DIP(super, dp, di_mode) & IFMT) == 0;
-#else /* COMPAT */
-
switch (DIP(super, dp, di_mode) & IFMT) {
case IFIFO:
case IFLNK: /* should check FASTSYMLINK? */
@@ -214,7 +167,6 @@ isfree(struct fs *super, union dinode *dp)
default:
errx(1, "unknown IFMT 0%o", DIP(super, dp, di_mode) & IFMT);
}
-#endif
}
static struct user {
@@ -234,10 +186,9 @@ inituser(void)
int i;
struct user *usr;
- if (!nusers) {
+ if (nusers == 0) {
nusers = 8;
- if (!(users =
- (struct user *)calloc(nusers,sizeof(struct user))))
+ if ((users = calloc(nusers, sizeof(*users))) == NULL)
errx(1, "allocate users");
} else {
for (usr = users, i = nusers; --i >= 0; usr++) {
@@ -255,14 +206,13 @@ usrrehash(void)
struct user *svusr;
svusr = users;
- nusers <<= 1;
- if (!(users = (struct user *)calloc(nusers,sizeof(struct user))))
+ nusers *= 2;
+ if ((users = calloc(nusers, sizeof(*users))) == NULL)
errx(1, "allocate users");
- for (usr = svusr, i = nusers >> 1; --i >= 0; usr++) {
- for (usrn = users + (usr->uid&(nusers - 1)); usrn->name;
- usrn--) {
+ for (usr = svusr, i = nusers / 2; --i >= 0; usr++) {
+ for (usrn = users + usr->uid % nusers; usrn->name; usrn--) {
if (usrn <= users)
- usrn = users + nusers;
+ usrn += nusers;
}
*usrn = *usr;
}
@@ -272,33 +222,24 @@ static struct user *
user(uid_t uid)
{
struct user *usr;
- int i;
struct passwd *pwd;
+ int i;
while (1) {
- for (usr = users + (uid&(nusers - 1)), i = nusers; --i >= 0;
- usr--) {
- if (!usr->name) {
+ for (usr = users + uid % nusers, i = nusers; --i >= 0; usr--) {
+ if (usr->name == NULL) {
usr->uid = uid;
-
- if (!(pwd = getpwuid(uid))) {
- if ((usr->name = (char *)malloc(7)))
- sprintf(usr->name,"#%d",uid);
- } else {
- if ((usr->name = (char *)
- malloc(strlen(pwd->pw_name) + 1)))
- strcpy(usr->name,pwd->pw_name);
- }
- if (!usr->name)
+ if (noname || (pwd = getpwuid(uid)) == NULL)
+ asprintf(&usr->name, "#%u", uid);
+ else
+ usr->name = strdup(pwd->pw_name);
+ if (usr->name == NULL)
errx(1, "allocate users");
-
- return usr;
-
- } else if (usr->uid == uid)
- return usr;
-
+ }
+ if (usr->uid == uid)
+ return (usr);
if (usr <= users)
- usr = users + nusers;
+ usr += nusers;
}
usrrehash();
}
@@ -307,15 +248,16 @@ user(uid_t uid)
static int
cmpusers(const void *v1, const void *v2)
{
- const struct user *u1, *u2;
- u1 = (const struct user *)v1;
- u2 = (const struct user *)v2;
+ const struct user *u1 = v1, *u2 = v2;
- return u2->space - u1->space;
+ return (u2->space > u1->space ? 1 :
+ u2->space < u1->space ? -1 :
+ u1->uid > u2->uid ? 1 :
+ u1->uid < u2->uid ? -1 : 0);
}
-#define sortusers(users) (qsort((users),nusers,sizeof(struct user), \
- cmpusers))
+#define sortusers(users) \
+ qsort((users), nusers, sizeof(struct user), cmpusers)
static void
uses(uid_t uid, daddr_t blks, time_t act)
@@ -338,12 +280,8 @@ uses(uid_t uid, daddr_t blks, time_t act)
usr->spc30 += blks;
}
-#ifdef COMPAT
-#define FSZCNT 500
-#else
#define FSZCNT 512
-#endif
-struct fsizes {
+static struct fsizes {
struct fsizes *fsz_next;
daddr_t fsz_first, fsz_last;
ino_t fsz_count[FSZCNT];
@@ -365,7 +303,7 @@ initfsizes(void)
}
static void
-dofsizes(int fd, struct fs *super, char *name)
+dofsizes(int fd, struct fs *super)
{
ino_t inode, maxino;
union dinode *dp;
@@ -374,39 +312,18 @@ dofsizes(int fd, struct fs *super, char *name)
int i;
maxino = super->fs_ncg * super->fs_ipg - 1;
-#ifdef COMPAT
- if (!(fsizes = (struct fsizes *)malloc(sizeof(struct fsizes))))
- errx(1, "allocate fsize structure");
-#endif /* COMPAT */
for (inode = 0; inode < maxino; inode++) {
- errno = 0;
- if ((dp = get_inode(fd,super,inode))
-#ifdef COMPAT
- && ((DIP(super, dp, di_mode) & IFMT) == IFREG
- || (DIP(super, dp, di_mode) & IFMT) == IFDIR)
-#else /* COMPAT */
- && !isfree(super, dp)
-#endif /* COMPAT */
+ if ((dp = get_inode(fd, super, inode)) != NULL &&
+ !isfree(super, dp)
) {
- sz = estimate ? virtualblocks(super, dp) :
- actualblocks(super, dp);
-#ifdef COMPAT
- if (sz >= FSZCNT) {
- fsizes->fsz_count[FSZCNT-1]++;
- fsizes->fsz_sz[FSZCNT-1] += sz;
- } else {
- fsizes->fsz_count[sz]++;
- fsizes->fsz_sz[sz] += sz;
- }
-#else /* COMPAT */
+ sz = DIP(super, dp, di_blocks);
ksz = SIZE(sz);
for (fsp = &fsizes; (fp = *fsp); fsp = &fp->fsz_next) {
if (ksz < fp->fsz_last)
break;
}
- if (!fp || ksz < fp->fsz_first) {
- if (!(fp = (struct fsizes *)
- malloc(sizeof(struct fsizes))))
+ if (fp == NULL || ksz < fp->fsz_first) {
+ if ((fp = malloc(sizeof(*fp))) == NULL)
errx(1, "allocate fsize structure");
fp->fsz_next = *fsp;
*fsp = fp;
@@ -419,25 +336,23 @@ dofsizes(int fd, struct fs *super, char *name)
}
fp->fsz_count[ksz % FSZCNT]++;
fp->fsz_sz[ksz % FSZCNT] += sz;
-#endif /* COMPAT */
- } else if (errno) {
- err(1, "%s", name);
}
}
sz = 0;
- for (fp = fsizes; fp; fp = fp->fsz_next) {
+ for (fp = fsizes; fp != NULL; fp = fp->fsz_next) {
for (i = 0; i < FSZCNT; i++) {
- if (fp->fsz_count[i])
+ if (fp->fsz_count[i] != 0) {
printf("%jd\t%jd\t%d\n",
(intmax_t)(fp->fsz_first + i),
(intmax_t)fp->fsz_count[i],
SIZE(sz += fp->fsz_sz[i]));
+ }
}
}
}
static void
-douser(int fd, struct fs *super, char *name)
+douser(int fd, struct fs *super)
{
ino_t inode, maxino;
struct user *usr, *usrs;
@@ -446,38 +361,35 @@ douser(int fd, struct fs *super, char *name)
maxino = super->fs_ncg * super->fs_ipg - 1;
for (inode = 0; inode < maxino; inode++) {
- errno = 0;
- if ((dp = get_inode(fd,super,inode))
- && !isfree(super, dp))
+ if ((dp = get_inode(fd, super, inode)) != NULL &&
+ !isfree(super, dp)) {
uses(DIP(super, dp, di_uid),
- estimate ? virtualblocks(super, dp) :
- actualblocks(super, dp),
+ DIP(super, dp, di_blocks),
DIP(super, dp, di_atime));
- else if (errno) {
- err(1, "%s", name);
}
}
- if (!(usrs = (struct user *)malloc(nusers * sizeof(struct user))))
+ if ((usrs = malloc(nusers * sizeof(*usrs))) == NULL)
errx(1, "allocate users");
- bcopy(users,usrs,nusers * sizeof(struct user));
+ memcpy(usrs, users, nusers * sizeof(*usrs));
sortusers(usrs);
for (usr = usrs, n = nusers; --n >= 0 && usr->count; usr++) {
- printf("%5d",SIZE(usr->space));
+ printf("%5d", SIZE(usr->space));
if (count)
- printf("\t%5ld",usr->count);
- printf("\t%-8s",usr->name);
- if (unused)
+ printf("\t%5ld", usr->count);
+ printf("\t%-8s", usr->name);
+ if (unused) {
printf("\t%5d\t%5d\t%5d",
- SIZE(usr->spc30),
- SIZE(usr->spc60),
- SIZE(usr->spc90));
+ SIZE(usr->spc30),
+ SIZE(usr->spc60),
+ SIZE(usr->spc90));
+ }
printf("\n");
}
free(usrs);
}
static void
-donames(int fd, struct fs *super, char *name)
+donames(int fd, struct fs *super)
{
int c;
ino_t maxino;
@@ -488,18 +400,18 @@ donames(int fd, struct fs *super, char *name)
/* first skip the name of the filesystem */
while ((c = getchar()) != EOF && (c < '0' || c > '9'))
while ((c = getchar()) != EOF && c != '\n');
- ungetc(c,stdin);
+ ungetc(c, stdin);
while (scanf("%ju", &inode) == 1) {
if (inode > maxino) {
warnx("illegal inode %ju", inode);
return;
}
- errno = 0;
- if ((dp = get_inode(fd,super,inode))
- && !isfree(super, dp)) {
- printf("%s\t",user(DIP(super, dp, di_uid))->name);
+ if ((dp = get_inode(fd, super, inode)) != NULL &&
+ !isfree(super, dp)) {
+ printf("%s\t", user(DIP(super, dp, di_uid))->name);
/* now skip whitespace */
- while ((c = getchar()) == ' ' || c == '\t');
+ while ((c = getchar()) == ' ' || c == '\t')
+ /* nothing */;
/* and print out the remainder of the input line */
while (c != EOF && c != '\n') {
putchar(c);
@@ -507,11 +419,9 @@ donames(int fd, struct fs *super, char *name)
}
putchar('\n');
} else {
- if (errno) {
- err(1, "%s", name);
- }
/* skip this line */
- while ((c = getchar()) != EOF && c != '\n');
+ while ((c = getchar()) != EOF && c != '\n')
+ /* nothing */;
}
if (c == EOF)
break;
@@ -521,11 +431,7 @@ donames(int fd, struct fs *super, char *name)
static void
usage(void)
{
-#ifdef COMPAT
- fprintf(stderr, "usage: quot [-cfhnv] [-a | filesystem ...]\n");
-#else /* COMPAT */
- fprintf(stderr, "usage: quot [-cfhknv] [-a | filesystem ...]\n");
-#endif /* COMPAT */
+ fprintf(stderr, "usage: quot [-cfknv] [-a | filesystem ...]\n");
exit(1);
}
@@ -538,7 +444,7 @@ quot(char *name, char *mp)
get_inode(-1, NULL, 0); /* flush cache */
inituser();
initfsizes();
- if ((fd = open(name,0)) < 0) {
+ if ((fd = open(name, 0)) < 0) {
warn("%s", name);
close(fd);
return;
@@ -555,11 +461,11 @@ quot(char *name, char *mp)
close(fd);
return;
}
- printf("%s:",name);
+ printf("%s:", name);
if (mp)
- printf(" (%s)",mp);
+ printf(" (%s)", mp);
putchar('\n');
- (*func)(fd, fs, name);
+ (*func)(fd, fs);
free(fs);
close(fd);
}
@@ -567,40 +473,36 @@ quot(char *name, char *mp)
int
main(int argc, char *argv[])
{
- char all = 0;
struct statfs *mp;
- struct fstab *fs;
- int cnt;
- int ch;
+ int ch, cnt;
func = douser;
-#ifndef COMPAT
- header = getbsize(&headerlen,&blocksize);
-#endif
- while ((ch = getopt(argc, argv, "acfhknv")) != -1) {
+ header = getbsize(&headerlen, &blocksize);
+ while ((ch = getopt(argc, argv, "acfhkNnv")) != -1) {
switch (ch) {
case 'a':
- all = 1;
+ all = true;
break;
case 'c':
func = dofsizes;
break;
case 'f':
- count = 1;
+ count = true;
break;
case 'h':
- estimate = 1;
+ /* ignored for backward compatibility */
break;
-#ifndef COMPAT
case 'k':
blocksize = 1024;
break;
-#endif /* COMPAT */
+ case 'N':
+ noname = true;
+ break;
case 'n':
func = donames;
break;
case 'v':
- unused = 1;
+ unused = true;
break;
default:
usage();
@@ -613,18 +515,16 @@ main(int argc, char *argv[])
usage();
if (all) {
- cnt = getmntinfo(&mp,MNT_NOWAIT);
- for (; --cnt >= 0; mp++) {
- if (!strncmp(mp->f_fstypename, "ufs", MFSNAMELEN))
+ for (cnt = getmntinfo(&mp, MNT_NOWAIT); --cnt >= 0; mp++)
+ if (strncmp(mp->f_fstypename, "ufs", MFSNAMELEN) == 0)
quot(mp->f_mntfromname, mp->f_mntonname);
- }
}
- while (--argc >= 0) {
- if ((fs = getfsfile(*argv)) != NULL)
- quot(fs->fs_spec, 0);
+ while (argc-- > 0) {
+ if ((mp = getmntpoint(*argv)) != NULL)
+ quot(mp->f_mntfromname, mp->f_mntonname);
else
- quot(*argv,0);
+ quot(*argv, 0);
argv++;
}
- return 0;
+ return (0);
}
diff --git a/usr.sbin/quot/tests/Makefile b/usr.sbin/quot/tests/Makefile
new file mode 100644
index 000000000000..d4e64691f905
--- /dev/null
+++ b/usr.sbin/quot/tests/Makefile
@@ -0,0 +1,4 @@
+PACKAGE= tests
+ATF_TESTS_SH= quot_test
+
+.include <bsd.test.mk>
diff --git a/usr.sbin/quot/tests/quot_test.sh b/usr.sbin/quot/tests/quot_test.sh
new file mode 100644
index 000000000000..21088d162a53
--- /dev/null
+++ b/usr.sbin/quot/tests/quot_test.sh
@@ -0,0 +1,102 @@
+#
+# Copyright (c) 2025 Dag-Erling Smørgrav <des@FreeBSD.org>
+#
+# SPDX-License-Identifier: BSD-2-Clause
+#
+
+# Create and mount a UFS filesystem on a small memory disk
+quot_setup()
+{
+ atf_check -o save:dev mdconfig -t malloc -s 16M
+ local dev=$(cat dev)
+ atf_check -o ignore newfs "$@" /dev/$dev
+ atf_check mkdir mnt
+ local mnt=$(realpath mnt)
+ atf_check mount /dev/$dev "$mnt"
+ echo "/dev/$dev: ($mnt)" >expect
+ printf "%5d\t%5d\t%-8s\n" 8 2 "#0" >>expect
+}
+
+# Create a directory owned by a given UID
+quot_adduid()
+{
+ local uid=$1
+ atf_check install -d -o $uid -g 0 mnt/$uid
+ printf "%5d\t%5d\t%-8s\n" 4 1 "#$uid" >>expect
+}
+
+# Perform the tests
+quot_test()
+{
+ local dev=$(cat dev)
+ # Create inodes owned by a large number of users to exercise
+ # hash collisions and rehashing. The code uses an open hash
+ # table that starts out with only 8 entries and doubles every
+ # time it fills up.
+ local uid
+ for uid in $(seq 1 32); do
+ quot_adduid $uid
+ done
+ # Also create inodes owned by users with long UIDs, up to the
+ # highest possible value (2^32 - 2, because chown(2) and
+ # friends interpret 2^32 - 1 as “leave unchanged”).
+ local shift
+ for shift in $(seq 6 32); do
+ quot_adduid $(((1 << shift) - 2))
+ done
+ # Since quot operates directly on the underlying device, not
+ # on the mounted filesystem, we remount read-only to ensure
+ # that everything gets flushed to the memory disk.
+ atf_check mount -ur /dev/$dev
+ atf_check -o file:expect quot -fkN /dev/$dev
+ atf_check -o file:expect quot -fkN $(realpath mnt)
+}
+
+# Unmount and release the memory disk
+quot_cleanup()
+{
+ if [ -d mnt ]; then
+ umount mnt || true
+ fi
+ if [ -f dev ]; then
+ mdconfig -d -u $(cat dev) || true
+ fi
+}
+
+atf_test_case ufs1 cleanup
+ufs1_head()
+{
+ atf_set descr "Test quot on UFS1"
+ atf_set require.user root
+}
+ufs1_body()
+{
+ quot_setup -O1
+ quot_test
+}
+ufs1_cleanup()
+{
+ quot_cleanup
+}
+
+atf_test_case ufs2 cleanup
+ufs2_head()
+{
+ atf_set descr "Test quot on UFS2"
+ atf_set require.user root
+}
+ufs2_body()
+{
+ quot_setup -O2
+ quot_test
+}
+ufs2_cleanup()
+{
+ quot_cleanup
+}
+
+atf_init_test_cases()
+{
+ atf_add_test_case ufs1
+ atf_add_test_case ufs2
+}
diff --git a/usr.sbin/unbound/Makefile.inc b/usr.sbin/unbound/Makefile.inc
index a28e388e47c0..84dfdbf736bd 100644
--- a/usr.sbin/unbound/Makefile.inc
+++ b/usr.sbin/unbound/Makefile.inc
@@ -1,6 +1,6 @@
MK_WERROR= no
NO_WTHREAD_SAFETY= true
-PACKAGE= unbound
+PACKAGE= local-unbound
.for man in ${MAN}
${man}: ${UNBOUNDDIR}/doc/${man:S/local-//}
diff --git a/usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c b/usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c
index c61eaf1c338d..0e406cccca21 100644
--- a/usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c
+++ b/usr.sbin/virtual_oss/virtual_bt_speaker/bt_speaker.c
@@ -47,7 +47,6 @@
#include "avdtp_signal.h"
#include "bt.h"
-#include "utils.h"
static int (*bt_receive_f)(struct bt_config *, void *, int, int);
static int (*avdtpACPHandlePacket_f)(struct bt_config *cfg);
diff --git a/usr.sbin/virtual_oss/virtual_oss/int.h b/usr.sbin/virtual_oss/virtual_oss/int.h
index b3cc573ba8a9..69a943832074 100644
--- a/usr.sbin/virtual_oss/virtual_oss/int.h
+++ b/usr.sbin/virtual_oss/virtual_oss/int.h
@@ -318,9 +318,6 @@ extern void vclient_rx_equalizer(struct virtual_client *, int64_t *, size_t);
extern int vclient_eq_alloc(struct virtual_client *);
extern void vclient_eq_free(struct virtual_client *);
-/* Internal utilities */
-extern int bt_speaker_main(int argc, char **argv);
-
/* Internal compressor */
extern void voss_compressor(int64_t *, double *, const struct virtual_compressor *,
const unsigned, const unsigned, const int64_t);
diff --git a/usr.sbin/virtual_oss/virtual_oss/main.c b/usr.sbin/virtual_oss/virtual_oss/main.c
index 3f7fb84ce4c6..afa4ad0727ca 100644
--- a/usr.sbin/virtual_oss/virtual_oss/main.c
+++ b/usr.sbin/virtual_oss/virtual_oss/main.c
@@ -48,7 +48,6 @@
#include "backend.h"
#include "int.h"
-#include "utils.h"
#include "virtual_oss.h"
pthread_mutex_t atomic_mtx;
diff --git a/usr.sbin/virtual_oss/virtual_oss/utils.h b/usr.sbin/virtual_oss/virtual_oss/utils.h
deleted file mode 100644
index f0998dc75dae..000000000000
--- a/usr.sbin/virtual_oss/virtual_oss/utils.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/*-
- * Copyright (c) 2019 Hans Petter Selasky
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _VIRTUAL_UTILS_H_
-#define _VIRTUAL_UTILS_H_
-
-int bt_speaker_main(int argc, char **argv);
-
-#endif /* _VIRTUAL_UTILS_H_ */