IABSD.fr/src

Branch :


Log

Author Commit Date CI Message
05328004 2025-01-21 15:44:22 Move BN_RECP_CTX to the heap This introduces a BN_RECP_CTX_create() function that allocates and populates the BN_RECP_CTX in a single call, without taking an unused BN_CTX argument. At the same time, make the N and Nr members BIGNUMs on the heap which are allocated by BN_RECP_CTX_create() and freed by BN_RECP_CTX_free() and remove the unnecessary flags argument. Garbage collect the now unused BN_RECP_CTX_{new,init,set}(). ok jsing
c96ccc20 2025-01-21 12:26:47 Update RFC reference from 3720 to 7143 and drop authors while doing so.
9f52241d 2025-01-20 20:13:29 Upstream llvm commit e314622f204a makes it clear that ARM does not consider ARMv7 to be a strict alignment architecture. So stop setting the SCTLR.A bit. This means we don't have to change the default settings for the upcoming LLVM 19 import. ok jca@, patrick@
295207cc 2025-01-20 17:50:12 crypto.h: zap some offensive whitespace
e28482df 2025-01-20 16:34:48 Do not unlock the socket in soabort(). One difference between UNIX and internet sockets is that UNIX sockets unlock in soabort() while TCP does not do that. in_pcbdetach() keeps the lock, change uipc_abort() to behave similar. This also gives symetric lock and unlock in the caller. Refcount is needed to call unlock on an aborted socket. The queue 0 in soclose() is only used by UNIX sockets, so remove the "if" persocket. The "kassert" persocket in soisconnected() is not needed. OK mvs@
e05b8d4e 2025-01-20 12:57:28 Annotate why EVP_PKEY_CTX_ctrl_str() will stay for a while
d7b4240b 2025-01-20 09:03:24 regen
b37a2317 2025-01-20 09:02:17 Push the KERNEL_LOCK() down to namei(9) in stat(2), lstat(2) & fstatat(2). ok sthen@, tb@, semarie@
bcf2ba68 2025-01-20 00:52:00 For .%R RFC, link to rfc-editor.org in -T markdown output just like it was done for -T html in mdoc_html.c rev. 1.226.
dc91255f 2025-01-19 23:01:27 test new .%R RFC hyperlink formatting (mdoc_html.c rev. 1.226)
2a69d363 2025-01-19 22:14:45 Document pmap_populate(9).
8c2f694a 2025-01-19 22:03:27 Update to 2025agtz from https://github.com/JodaOrg/global-tz o Paraguay adopts permanent -03 starting spring 2024. o Improve pre-1991 data for the Philippines. o Etc/Unknown is now reserved.
45f3019f 2025-01-19 20:18:37 Implement pmap_populate(). As noted in the arm64 commit the riscv64 pmap is derived from the arm64 pmap and suffers from the same issue. ok mpi@, jca@
0aa8d661 2025-01-19 16:36:24 In "-T html" output, translate ".%R RFC <nuber>" to a hyperlink to rfc-editor.org. New feature first requested by tb@ in March 2023, now reminded by sthen@. Patch tested by and OK tb@.
252eed92 2025-01-19 13:14:22 openssl x509: zap extra whitespace in usage
17c59111 2025-01-19 11:15:52 On i386, llvm >= 17 warns with -Wsync-alignment when using a sync builtin with a 64-bit value that isn't 64-bit aligned. The Intel SDM volume 3, strongly suggests to do this for performance reasons. My reading is this isn't required to be atomic. Make atomic64_t 64-bit aligned and change arguments to avoid the warning. And make a local change to the inteldrm code to set alignment in a case where we use a sync builtin when linux doesn't (cmpxchg64()). discussed with tb@ robert@ kettenis@, ok tb@
24659ce2 2025-01-19 11:04:35 appstest: remove the two tests exercising -C minimally
a9d90585 2025-01-19 10:24:17 Remove -C option from "apps" As far as I can tell, this way of generating "C code" was only used to add stuff to pretty regress and even prettier speed "app" and otherwise it just served to make the library maintainer's lives even more miserable. ok jsing
f09dd016 2025-01-19 10:17:39 md_test: switch from 2<<28 to 1<<29 discussed with jsing
ecb0d0d4 2025-01-19 07:51:41 Improve bit counter handling in MD5. Like most hashes, MD5 needs to keep count of the number of bits in the message being processed. However, rather than using a 64 bit counter this is implemented using two 32 bit values (which is exposed in the public API). Even with this hurdle, we can still use 64 bit math and let the compiler figure out how to best handle the situation (hopefully avoiding compiler warnings on 16 bit platforms in the process!). On amd64 this code now requires two instructions, instead of the previous five. While here remove a comment that is excessively visible and no longer completely accurate (and if you're going to redefine types like MD5_WORD you kinda need to know what you're doing). ok tb@ (who's going to miss the dear diary style comments)
24070d60 2025-01-19 07:41:52 ecparam: remove GF2m remnant This removes the last in-tree dependency on EC_METHOD_get_field_type() and EC_GROUP_method_of() and removes some dead code which would generate code that wouldn't compile if it was reachable. ok jsing
9c7bd2b0 2025-01-19 07:40:57 Add regress coverage that checks the MD5 message bit counter handling.
129cf7bd 2025-01-19 03:27:27 make BIOCSWTIMEOUT work with kq events. makes sense jmatthew@
ce9983e9 2025-01-18 19:50:55 sys/videoio.h: drop accedently commited comment OK: mglocker@
3d5e1d3e 2025-01-18 19:42:39 Replace debug timeout printf's for statistics with kstat. Suggested by dlg@
679d40f1 2025-01-18 16:35:30 The pmap_enter(9) function may fail even if we have enough free physical memory. This happens if we can't allocate KVA to map that memory. This is especially likely to happen with the arm64 pmap (and the riscv64 pmap that is derived from it) since lock contention on the kernel map will make us fail to allocate the required KVA. But this may happen on other architectures as well, especially those that don't define __HAVE_PMAP_DIRECT. Fix this issue by introducing a new pmap_populate() interface that may be called to populate the page tables such that a subsequent pmap_enter(9) call that uses the same virtual address will succeed. Use this in the uvm fault handler after a failed pmap_enter(9) call before we retry the fault. tested by phessler@, mglocker@ ok mpi@
e5d83da7 2025-01-18 14:17:05 Simplify tls1_check_ec_key() It doesn't need to have optional arguments anymore, so we can pass in values and don't need NULL checks and dereferencing. ok jsing
e0096704 2025-01-18 13:26:51 Rename grp to group like almost everywhere else
1271c85a 2025-01-18 13:15:31 Remove parentheses in return statements ok cc + sha256
220e3b7c 2025-01-18 13:11:58 Remove two pointless NULL checks The only caller ensures that the EC_KEY is not NULL and passes the address of comp_id on its stack, so neither will be NULL.
54d00625 2025-01-18 13:07:47 Drop field determination dance If we get here, we're in a server and have managed to load the cert. The public key is therefore a point on a built-in curve, and we know the group is defined over some prime field. Now it is just a matter of figuring out whether we support the group in libssl. ok jsing
29c2420e 2025-01-18 13:03:02 Stop pretending we support arbirary explicit groups ok jsing
e6b4f1cd 2025-01-18 12:31:49 Add missing 16-bit integer types to kstat_kv_unit_init(). ok dlg@
1ef70f4f 2025-01-18 12:20:37 Remove SSL_DES and SSL_IDEA remnants ok jsing
a00bfa08 2025-01-18 12:20:02 SSL_CTX_set_cipher_list: stop mentioning ancient ciphers Support was removed nearly a decade ago. No need to mention this anymore. ok jsing
2bba40d4 2025-01-18 10:53:04 Remove last uses of SSL_aDSS ok jsing
942444cc 2025-01-18 10:52:09 ssl_seclevel: remove comment pertaining to DSA certs ok jsing
de980744 2025-01-18 10:45:12 Stop mentioning DSA/DSS Support for this went away in 2017, but a few things still mentioned DSA in various contexts. Replace DSA with ECDSA where appropriate and otherwise delete this. It won't work. ok jsing
e71fd141 2025-01-18 10:44:52 Assert that socket queue 0 is not used by TCP. Queue 0 is only used for UNIX socket and socket pair. Its locking code in soisconnected() is never reached with internet sockets. Replacing the persocket "if" condition with an "assert" makes arguing about TCP input socket locking easier. OK mvs@
f6bb4990 2025-01-18 02:56:07 Use name instead of register.
66738ebb 2025-01-17 22:39:42 ssl_local.h: does not need to include dsa.h
ae1c0334 2025-01-17 15:53:01 Do not update focus on client's without a session.
457dff42 2025-01-17 15:39:19 rsa_pmeth: unify strcmp return checks ok jsing
fde16b57 2025-01-17 12:38:14 Remove Authors from RFC listings. They add no value to the reader. OK jmc@ tb@ job@
728db599 2025-01-17 11:11:27 Replace the remaining group->meth->field_{mul,sqr} These somehow escaped a prior pass.
d6f80948 2025-01-17 10:54:03 ecp_methods: remove p = group->p indirection This helped a bit with readability when we needed to do &group->p, but now that's no longer needed. discussed with jsing
f6116716 2025-01-17 10:41:31 ecp_methods: rework field_{mul,sqr}() handling Add wrapper functions that call the methods so that we can get rid of inconsistent use of ugly function pointers with massively overlong lines and other ways of reaching into the methods. ok jsing
29c809d3 2025-01-17 08:58:38 vio(4): Fix TSO without MRG_RXBUF If MRG_RXBUF is not negotiated, Tx mappings should be large enough for max. TSO packets of MAXMCLBYTES. With tweaks from sf@ ok sf@
5771aeff 2025-01-17 08:52:01 mention MODPY_TEST_LINK_SRC
ac07061a 2025-01-17 08:50:07 Fix two incorrect strtonum() conversions The atoi() would also accept the magic negative values and old openssl releases would expose these as arguments to -pkeyopt rsa_pss_saltlen:-1 in the openssl pkeyutl "app". While modern openssl switched to having readable alternatives to these, the oseid component of opensc would use the old syntax until yesterday. Still, this is our bug and we need to keep accepting the magic values as such, so do so. Everything below -3 will be rejected by the RSA_ctrl() handler later. Debugged by Doug Engert in https://github.com/OpenSC/OpenSC/issues/3317 ok jsing op
ba7d95ab 2025-01-17 07:57:22 Mark rip6cksum tests as expected fail due to the recent upgrade of scapy-2.4.5 in ports.
10f20e90 2025-01-17 05:04:25 dh_ameth: explcitly -> explicitly
c5925a46 2025-01-17 05:02:18 asn_mime: deteched -> detached + a knf nit
ce222dd0 2025-01-17 00:20:15 Finally include ARIN's RPKI Trust Anchor Locator Backstory: We strive to provide a source distribution that can be freely used, copied, modified, and redistributed by anyone and for any purpose. Unfortunately, up until now, several legal barriers stopped us from distributing the ARIN TAL. The main legal obstacles stemmed from the terms and conditions in the Relying Party Agreement (RPA) governing access to ARIN's RPKI repository and the way ARIN tried to ensure that agreement was binding. Originally, ARIN used a cumbersome email-based method of RPA acceptance. Then in 2016, ARIN moved to a browser user interface-based "clickwrap" method via their website, requiring affirmative assent via a mouse-click. In 2019, a new approach was offered where ARIN encouraged software distributors to pass through restrictive terms in irksome pop-ups during installation; this we also deemed unworkable. In 2022, this "Redistributor RPA" was subsumed in a single RPA, but without material change to the mechanics, and the terms remained a showstopper. Over the years various people suggested ARIN to adopt an "AS IS" disclaimer of warranties. In 2024, Job Snijders authored a modified version of the BSD license and proposed ARIN to include it in the optional comment section in the TAL file format. In 2025 ARIN updated its TAL to include this disclaimer. After more than a decade of iterations, this public key now is available to the public in an unencumbered fashion and can serve its main purpose, a purpose that can only occur through immensely widespread distribution. Some pointers for historic context: 2012 - https://web.archive.org/web/20130127143807/https://www.arin.net/resources/rpki/rpa.pdf 2015 - https://web.archive.org/web/20150203184532/https://www.arin.net/public/rpki/tal/index.xhtml 2017 - https://lists.arin.net/pipermail/arin-ppml/2017-January/031231.html 2017 - https://www.arin.net/vault/about/welcome/board/meetings/20170405/exhibit_d.pdf 2018 - https://mailman.nanog.org/pipermail/nanog/2018-September/097161.html 2019 - https://papers.ssrn.com/sol3/Papers.cfm?abstract_id=3308619 2019 - https://www.arin.net/vault/participate/meetings/reports/ARIN_43/PDF/PPM/yoo_rpki.pdf 2019 - https://www.arin.net/vault/announcements/20191021/ 2019 - https://www.theregister.com/2019/10/28/arin_rpki_open_source/ 2022 - https://www.arin.net/vault/announcements/20220926/ 2022 - https://www.arin.net/vault/announcements/20220929/ 2025 - https://www.arin.net/announcements/20250116-tal/ OK tb@ claudio@ deraadt@
cfdd7e4a 2025-01-17 00:09:41 Fix debug logging of user specific delay. Patch from Achim Leitner (fjl5) via github PR#552.
6c49ea28 2025-01-16 22:58:19 sys/uvideo: sync GUID to pixelformat mappngs with Linux 6.13-rc7 OK: mglocker@
8b2d8634 2025-01-16 17:20:23 Move some copyout()s within ifioctl_get() out of shared netlock. UVM releases exclusive netlock while going to swap, but it can't determine is shared netlock held or not. ifioctl_get() does read-only access, so it could follow sogetopt() way. The copyout()s under shared netlock kept for ifgroup stuff, I will fix this separately. ok bluhm
efc6e0a4 2025-01-16 16:35:01 Lock the new socket in sonewconn() also for the internet family. UNIX sockets were already locking the newly allocated socket during soreserve() and pru_attach(). The same is neeed for TCP input unlocking. When two sockets have to be locked, one needs shared net lock, but the other already has it. This is the same idea as in doaccept(). Unify the lock functions solock_nonet() and sounlock_nonet(). OK mvs@
dda190fa 2025-01-16 16:19:39 Implement kvp_free() and free the key or value depending on the flags. Diff provided by Jack Burton (jack at saosce.com.au) with minor modifcation by myself.
b8386d3a 2025-01-16 16:17:32 Remove extra TAILQ_REMOVE in sess_do_reinstatement(), conn_free() does that as well.
5be4168d 2025-01-16 14:06:49 Add version information via include OK claudio@
109821c1 2025-01-16 12:48:45 unveil privileged child's write/create to mountdtab file, drop exec It needs arbitrary read access, but only ever changes one file and is not meant to execute anything; initial r1.84 privsep from 2005 has the details. OK ratchov millert
c2a2da96 2025-01-16 12:46:03 unveil nothing nfsd can't pledge due to nfssvc(2), so use the empty-permission idiom to hide filesystems and prevent execve; after it set up sockets and spawned workers, all NFS work is done in the kernel. OK millert
e835bce2 2025-01-16 11:59:20 Remove net lock from TCP sysctl for keep alive. Keep copies in seconds for the sysctl and update timer variables atomically when they change. tcp_maxidle was historically calculated in tcp_slowtimo() as the timers were called from there. Better calculate maxidle when needed. tcp_timer_init() is useless, just initialize data. While there make the names consistent. input sthen@; OK mvs@
35393bd4 2025-01-16 10:33:27 constify struct virtio_feature_name Most are already static const. Adjust the rest, too.
853e987b 2025-01-16 09:39:40 Bump datasize of build user to 2000M on sparc64. LLVM19 llvm-tblgen needs around 1900M during a make build so this should give use a bit of air. OK tb@
874e263e 2025-01-16 06:37:10 Call log_init in sshd-auth and sshd-session immediately after parsing the config file so that any log settings set in the config file take effect immediately. Move version banners to immediately after that, and make them distinct per binary. ok djm@
1aa737dc 2025-01-16 04:02:08 pcap_open_dead returns pcap_t *, not pcap_t.
9ce49056 2025-01-15 22:23:13 Use strprefix helper when processing sshd -C test args instead of counting bytes by hand. ok djm@
8a8057a7 2025-01-15 20:34:50 sys/videoio.h: sync V4L2 with Linux-6.13-rc7 also, cleanup all __KERNEL__ macroses man update by mglocker@ bulk build and feedback by jca@ OK: jca@ mglocker@
14111560 2025-01-15 11:54:36 pkg-config(1): add support for relocatable .pc files Just store the location of the .pc file we're reading, so that it can later be referenced by said .pc file using ${pcfiledir}. Survived a bulk build with patches for librsvg and mono-gtk2 dropped. Limitation pointed out by ajacoutot@, earlier diff reviewed by espie@, Perl cluebat and ok gkoehler@
e5ea1772 2025-01-15 11:00:09 Switrch rpki-client regress to openssl 3.3
53555c84 2025-01-15 10:54:17 Interop tests for openssl 3.3 and 3.4, retire 3.2, 1.1 (and 3.1 remnants) OpenSSL 1.1 and 3.2 will be removed from the ports tree, so test the two remaining versions. Unfortunately, this requires a lot more manual massaging than there should be.
a4cc1f24 2025-01-15 06:15:44 let pppoe data packets go through if_vinput instead of the pppoeinq. provide pppoe_vinput() for ether input to call. if the packet is for data in an established pppoe session, it can push it straight into the stack with if_vinput. otherwise pppoe_vinput returns the packet to ether_input, which can queue it for processing with the existing code. this should improve throughput and reduce jitter for pppoe input, and there's some evidence that it reduces packet loss. tested by maurice janssen and myself.
f9857b15 2025-01-15 05:02:01 Default to eopenssl33 for other_openssl_bin OpenSSL 1.1 is dead and will soon be removed from the ports tree. At the same time OpenSSL 3.3 will become the default openssl.
ffff71aa 2025-01-14 18:37:51 Unlock sysctl_malloc(). Move `buckstring' and `memall' strings initialization to the end of kmeminit() to make them immutable. The rest of sysctl_malloc() accessed data is already mp-safe. ok claudio
e484fee2 2025-01-14 14:32:32 vio: avoid some spurious error messages with qemu In some user mode networking configurations, qemu will offer the VIRTIO_NET_F_CTRL_GUEST_OFFLOADS feature but then reply with an error even if we configure no offload feature. Don't print an error in this case.
8806e5c3 2025-01-14 14:28:38 whitespace fixes
680a5d21 2025-01-14 13:49:44 Remove exclusive net lock from TCP timers. TCP timers can run with shared netlock and socket lock. Use common tcp_timer_enter() and tcp_timer_leave() that lock the socket and do reference counting. Then incpb and socket always exist. input and OK mvs@
815e5984 2025-01-14 13:15:18 Add a basic add-path regression test
dd246627 2025-01-14 12:30:57 vio: Enable multiqueue We use a single interrupt vector for every rx/tx queue pair. With config and control queue vectors, we need N+2 vectors for N queues. If multi-queue is not available, the old scheme is used with either one vector per virtqueue or one vector for all queues. * virtio: Add API to establish interrupts on specific cpus in child drivers. Also make virtio_pci_setup_msix return proper errno. * virtio_pci: Increase max number of MSIX vectors * vio: Configure multiple queues and allocate proper interrupts. OK bluhm@
56202f8d 2025-01-14 12:24:23 Revert part of rev 1.266 and clear PREFIX_FLAG_STALE on update and withdraw This fixes an issue with add-path since that code uses PREFIX_FLAG_STALE to temporarily mark the prefixes in the Adj-RIB-Out as stale and then after doing the update of the rib a 2nd pass withdraws all prefixes that still are marked stale. Problem reported by Pier Carlo Chiodi (pierky) OK tb@
a35b0b99 2025-01-14 12:19:10 use IPL_TTY with context guc state lock as spin_lock_irqsave() is used
88ee63d7 2025-01-14 11:19:15 sync set_scheduler_caps() with linux adds 'drm/i915/gt: Consider multi-gt instead of to_gt()' for MTL
529720d4 2025-01-13 18:20:47 man/cargo-module.5: document MODCARGO_CARGOLOCK OK semarie@ tb@
7b08975f 2025-01-13 18:10:20 Unlock the tcp(4) case of somove(). Tested and OK bluhm@.
276b1d40 2025-01-13 18:09:24 Rework the INP tables walkthrough in the KERN_FILE_BYFILE case of the sysctl_file(). I don't like how KERN_FILE_BYFILE case of the sysctl_file() delivers sockets data to the userland. It not only takes exclusive netlock around all except divert socket tables walkthrough, but also does copyout() with mutex(9) held. Sounds strange, but the context switch is avoided because userland pages are wired. The table is protected with `inpt_mtx' mutex(9), so the socket lock or netlock should be take outside. Since we have no socket pointer, we can't use solock(). We can't use the only shared netlock because this left socket unprotected against concurrent threads which rely on solock_shared(). Now it is possible to rework sysctl_file(). We can use reference counting for all socket types, and bluhm@ introduced `inp_sofree_mtx' mutex(9) to protect `inp_socket'. The INP tables have the special iterator to safely release `inpt_mtx' during table walkthrough. The FILLSO() or FILLIT2() macros can't be used unrolled, because we need to push mutexes re-locking and solock() deep within. Introduce the FILLINPTABLE() macro which is the unrolling, but with the socket related locking dances. FILLIT2() macro is not required anymore and was merged with FILLIT(). Current implementation takes the reference on `inp_socket' and releases `inpt_mtx' mutex(9). Now it's possible to fairly use shared_solock() on socket instead of netlock while performing fill_file(). The copyout() is external for fill_file() and touches nothing required to be protected so it could be made lockless. The KERN_FILE_BYFILE case became mp-safe, but the rest sysctl_file() cases still not, so the sysctl_vslock() dances left as is. ok bluhm
a569c98a 2025-01-13 17:50:54 Zeroing free pages to improve compression became superfluous with the permanent adoption of RLE a decade ago. Nuke uvm_pmap_zero_everything(), reaping a measureable reduction in the time taken to suspend when there are lots of free pages. ok mlarkin@
11b534d6 2025-01-13 16:58:09 arm64/efiboot: load DTB on HONOR Magicbook 14 Art OK kettenis@ mglocker@
51cb4255 2025-01-13 15:33:34 sys/ihidev: move debug log resettign to the right place OK mglocker@
76a04d77 2025-01-13 15:32:36 sys/uvideo: bypass unknown pixelformat to consumer The GUID format read from a camera usually begins with a null-terminated pixel format. Certain formats should be mapped, such as converting YUY2 to YUYV and I420 to YVU420, among others. Instead of rejecting unknown driver formats like M420, I bypass them to the consumer, which likely knows how to handle these formats. OK mglocker@
167f16e4 2025-01-13 14:18:07 Implement basic test for RFC8950
f702838a 2025-01-13 13:58:41 Do not depend on RW_SLEEPFAIL in ntfs_ntlookup While it is a cute optimisation it makes no sense to be a special snowflake since there is no parallelism in this code. Instead use the same pattern used by the other filesystems that detects a collision in ntfs_nthashins() followed by a retry of lookup. Tested by ian@ and jmatthew@ OK mpi@
927cc6da 2025-01-13 13:50:34 Extended nexthop encoding support (RFC8950) for the RIB This diff allows to establish IPv6 sessions and distribute IPv4 routes with IPv6 nexthop over those sessions. This is enough to use RFC 8950 on route reflectors or route servers. It adds the support for IPv6 nexthops for IPv4 routes to the RDE / RIB. The problem is that the FIB is not ready for that yet (the nexthop of a kroute has to be of the same address family as the prefix) and fixing that is not trivial. Because of this prefixes using a nexthop in a different address family are not sent to the FIB. OK tb@
939a177e 2025-01-13 12:55:13 Ignore "Software caused connection abort" error from accept(2) system call. This is normal behavior in this test. reported by anton@; OK mvs@
79be0cc0 2025-01-13 08:58:34 Count line numbers correctly inside strings, reported by Pedro Navarro in GitHub issue 4325.
2ee1bbb5 2025-01-13 03:21:10 taskq_del_barrier(9) and timeout_del_barrier(9) should always call taskq_barrier(9) and timeout_barrier(9) respectively. In the case that task or timeout were scheduled to run both *_del_barrier(9) only remove it from pending queue and doesn't wait its finish. However task could be simultaneously running and scheduled to the next run, so they need to always wait until running handler has completed. ok dlg
0a255fef 2025-01-12 21:54:07 Unbreak powerpc64 by adding a dummy implementation of fdt_intr_disestablish().
94e909e9 2025-01-12 16:39:39 Remove double include of sys/videoio.h, and re-sort includes to be more aligned with uvideo(4). ok kirill@
20c4f615 2025-01-12 14:36:28 Do not crash if moving popup that has exited to a pane, from Michael Grant in GitHub issue 4312.