martijn [Sat, 8 May 2021 09:38:29 +0000 (09:38 +0000)]
Revert previous commit.
Someone this introduces some problems that I didn't ran into during testing
lum [Sat, 8 May 2021 09:27:35 +0000 (09:27 +0000)]
stop parsing if a digit is found as first character of an expression.
martijn [Sat, 8 May 2021 07:26:19 +0000 (07:26 +0000)]
In the C locale make codepoints > 0x7f return EILSEQ, since these aren't
part of that locale.
This matches what at least FreeBSD and glibc do.
OK millert@
anton [Sat, 8 May 2021 06:53:19 +0000 (06:53 +0000)]
Fix a race in the kqueue-read test. If the writer thread managed to fill
up the pipe buffer, it will hang in write(2) waiting for the pipe to
become writeable again. While doing so, it cannot observe that the
kqueue thread as already finished implying that ctx_thread_alive() would
return false, meaning no further writes are wanted.
Therefore open the pipe in non blocking mode and just ignore EAGAIN
errors while writing.
deraadt [Sat, 8 May 2021 05:31:07 +0000 (05:31 +0000)]
kernel setjmp saves 14 registers, not 13. ddb continue now works.
ok jsg
krw [Fri, 7 May 2021 22:15:13 +0000 (22:15 +0000)]
Replace random mix of u_int* and uint* types with consistent uint* types.
kettenis [Fri, 7 May 2021 19:03:01 +0000 (19:03 +0000)]
Print Synopsys version number, use OF_getpropbool(9) where appropriate
and handle a few more device properties seen on the beaglev board.
ok jsg@
bluhm [Fri, 7 May 2021 19:00:34 +0000 (19:00 +0000)]
Dynamic socket buffers make tests unreliable, set fixed buffer size.
martijn [Fri, 7 May 2021 14:31:27 +0000 (14:31 +0000)]
Fix the \x escape sequence to be limited to max 2 characters, instead of
consuming as long as there are isxdigit(3) characters available.
While here document it and mark it as an extension.
OK millert@
dtucker [Fri, 7 May 2021 09:23:40 +0000 (09:23 +0000)]
Increase ConnectionAttempts from 4 to 10 as the tests occasionally time
out on heavily loaded hosts.
jsg [Fri, 7 May 2021 09:13:19 +0000 (09:13 +0000)]
RealTek -> Realtek
ok jmc@ kevlo@
lum [Fri, 7 May 2021 08:29:30 +0000 (08:29 +0000)]
Give an error if quoted string is found as first non-white char after
'('.
lum [Fri, 7 May 2021 07:42:20 +0000 (07:42 +0000)]
Take a note of expression length when it is extracted from line
submitted to excline().
djm [Fri, 7 May 2021 04:11:51 +0000 (04:11 +0000)]
include pid in LogVerbose spam
djm [Fri, 7 May 2021 03:09:38 +0000 (03:09 +0000)]
don't sigdie() in signal handler in privsep child process;
this can end up causing sandbox violations per bz3286; ok dtucker@
djm [Fri, 7 May 2021 02:29:40 +0000 (02:29 +0000)]
correct mistake in spec - the private key blobs are encoded verbatim
and not as strings (i.e. no 4-byte length header)
djm [Fri, 7 May 2021 02:26:55 +0000 (02:26 +0000)]
dump out a usable private key string too; inspired by Tyson Whitehead
jsg [Fri, 7 May 2021 01:54:17 +0000 (01:54 +0000)]
fix bounds tests gpio pin numbering starts at 0
ok kettenis@
jsg [Fri, 7 May 2021 00:37:36 +0000 (00:37 +0000)]
add support for RTL8168FP/RTL8111FP/RTL8117 to re(4)
from Stephen Taylor who tested on a ThinkCenter M75n Nano IoT
with RTL8111FP-CG
krw [Thu, 6 May 2021 22:26:14 +0000 (22:26 +0000)]
GPT_get_hdr() is actually spelled GPT_get_header().
kettenis [Thu, 6 May 2021 20:35:21 +0000 (20:35 +0000)]
Fix bogus return statement.
From miod@
kettenis [Thu, 6 May 2021 19:45:16 +0000 (19:45 +0000)]
Add OF_getpropbool(9).
ok visa@
claudio [Thu, 6 May 2021 17:25:45 +0000 (17:25 +0000)]
Bring comment in sync with the code. No functional change.
job [Thu, 6 May 2021 17:03:57 +0000 (17:03 +0000)]
Add an 'expires' column to CSV & JSON output
The 'expires' value contains a reasonable earliest moment a VRP would expire,
in light of the currently available set of CAs and CRLs. The 'expires' value
can be used to avoid route selection based on stale data when generating VRP
sets, when faced with loss of communication between consumer and valdiator,
or validator and CA repository.
OK claudio@
stsp [Thu, 6 May 2021 14:40:35 +0000 (14:40 +0000)]
Clarify that athn(4) USB devices don't support power saving in hostap mode.
Prompted by a report from martingot on bugs@
lum [Thu, 6 May 2021 14:16:12 +0000 (14:16 +0000)]
Add the line number of an error to error messages.
anton [Thu, 6 May 2021 12:57:02 +0000 (12:57 +0000)]
regen
anton [Thu, 6 May 2021 12:55:20 +0000 (12:55 +0000)]
Unlock lseek(2).
In August 2019 I tried to unlock lseek which failed since the vnode lock
could not be acquired without holding the kernel lock back then.
claudio@ recently made it possible to acquire a vnode lock without
holding the kernel lock. The kernel lock is still required around
VOP_GETATTR() as the underlying file system implementations are not
MP-safe.
ok claudio@
lum [Thu, 6 May 2021 12:44:21 +0000 (12:44 +0000)]
Add a number to parameters for ewprintf() via beeping.
mvs [Thu, 6 May 2021 11:29:34 +0000 (11:29 +0000)]
Kill pfkeyv2_parsemessage() declaration which is absolutely useless
here since it's declared in net/pfkeyv2.h.
Also kill unused RETURN_EINVAL() macro.
ok mpi@
mpi [Thu, 6 May 2021 09:33:22 +0000 (09:33 +0000)]
Refactor routines to stop/unstop processes and save the corresponding signal.
- Move the "hack" involving P_SINTR to avoid grabbing the SCHED_LOCK()
recursively closer to where it is necessary, in proc_stop()
- Introduce proc_unstop(), the symmetric routine to proc_stop(), which
manipulates `ps_xsig' and use it whenever a SSTOPed thread needs to be
awaken.
- Manipulate `ps_xsig' only in proc_stop/unstop()
ok kettenis@
claudio [Thu, 6 May 2021 09:23:42 +0000 (09:23 +0000)]
export [ none | default-route ] changes are not handled by reload.
claudio [Thu, 6 May 2021 09:21:35 +0000 (09:21 +0000)]
It is no longer required to reset a session when export is changed.
stsp [Thu, 6 May 2021 09:19:28 +0000 (09:19 +0000)]
Make iwx(4) install CCMP keys to hardware from a task context to
wait for confirmation from the firmware before setting link UP.
Tested by Hrvoje, dv, and myself.
claudio [Thu, 6 May 2021 09:18:54 +0000 (09:18 +0000)]
Improve reload behaviour of RDE peer flags and export_type.
Add an extra reload barrier (IMSG_RECONF_DRAIN) to the sync of the peer
config from the session engine to the rde. Necessary to ensure that the
peer config is up to date in the RDE before hitting reconfiguration.
Store the export_type and the peer flags outside of peer->conf. Adjust all
users of these two fields so they only look at the copies in peer.
During reload check the values with the peer->conf to check for changes.
If the export_type or the rde evaluate or transparent-as flags changed
flush the Adj-RIB-Out for that peer and in a 2nd step rebuild the RIB from
scratch. This results in a lot of UPDATE churn but these configs are not
altered often.
Fix multiple issues in the rde_softreconfig_in_done handler that resulted
in multiple runs of the out stage of the softreconfig pipeline.
OK benno@
claudio [Thu, 6 May 2021 07:35:22 +0000 (07:35 +0000)]
Simplify file handling. There is no reason to use O_NONBLOCK on regular
files since they will never "block". Remove the UPLOAD_READ_LOCAL state
and inline the meta data check into pre_file().
Plug one memory leak and cleanup code a bunch.
OK benno@
claudio [Thu, 6 May 2021 07:29:59 +0000 (07:29 +0000)]
More code cleanup
OK florian@ benno@
lum [Thu, 6 May 2021 07:16:24 +0000 (07:16 +0000)]
Give parse error if character found between blocks.
jsg [Thu, 6 May 2021 04:09:41 +0000 (04:09 +0000)]
enable dwmmc(4)
dv [Wed, 5 May 2021 21:33:11 +0000 (21:33 +0000)]
Refactor vm_instance to return error value directly.
vmd(8)'s vm_instance function set unsupported errno values. Change the
api to directly return an error (either errno or custom vmd error).
"go for it" -mlarkin@
jsing [Wed, 5 May 2021 19:52:00 +0000 (19:52 +0000)]
Replace DTLS w_epoch with epoch from TLSv1.2 record layer.
ok inoguchi@ tb@
kettenis [Wed, 5 May 2021 19:26:51 +0000 (19:26 +0000)]
The StarFive JH7100 SoC found on the BeagleV beta boards has most of
its peripherals hooked up through a bus that doesn't maintain cache
coherency. So in order to use DMA we will need to flush the L2 caches
before/after a DMA tranfer. Add a driver for the L2 cache controller
for these SoCs and infrastructure to do the necessary cache maintenance.
Since this particular L2 cache controller needs physical addresses, this
makes the bus_dma(4) code deviate from its arm64 counterpart.
ok drahn@
job [Wed, 5 May 2021 17:25:44 +0000 (17:25 +0000)]
Emit an integer instead of a string in JSON output
We added the "AS123" format because this is what the other tools did
and there was the goal to have equal output. However, many in the
community have voiced complaints about having to do string conversions.
OK deraadt@ claudio@
job [Wed, 5 May 2021 17:24:00 +0000 (17:24 +0000)]
Clarify -n behavior
Input from John Heasley
OK claudio@
visa [Wed, 5 May 2021 15:29:19 +0000 (15:29 +0000)]
Remove unneeded tlb_set_gbase() that was used with R8000.
Pointed out by miod@
kettenis [Wed, 5 May 2021 14:13:57 +0000 (14:13 +0000)]
whitespace
jsg [Wed, 5 May 2021 13:28:56 +0000 (13:28 +0000)]
use fence iorw,iorw for bus_space_barrier()
ok kettenis@
kettenis [Wed, 5 May 2021 13:12:26 +0000 (13:12 +0000)]
Sync with arm64 version.
ok jsg@
claudio [Wed, 5 May 2021 12:34:12 +0000 (12:34 +0000)]
Document new reload behaviour. From Ashton Fagg
OK jmc@
kettenis [Wed, 5 May 2021 12:02:21 +0000 (12:02 +0000)]
Fix definition of GICD_TYPER_LPIS.
ok patrick@
sthen [Wed, 5 May 2021 11:49:17 +0000 (11:49 +0000)]
slight tidy-up of /etc/services:
- remove a few UDP entries for protocols that are TCP-only
- drop some obsolete protocols
- move smtps/465 to the standards section (rfc8314)
- move the talk about IANA's "reserve for both UDP/TCP even when you only
use one" policy from a comment in /etc/services to the manual, and talk
about how an entry in /etc/services prevents the associated port from
being used for dynamic ports (via net.inet.udp|tcp.baddynamic sysctl).
ok phessler@ florian@
claudio [Wed, 5 May 2021 10:28:11 +0000 (10:28 +0000)]
Improve the rde evaluate all test case by doing a withdraw of a prefix
that is hidden (but sent to one system because of rde evaluate all).
jsing [Wed, 5 May 2021 10:05:27 +0000 (10:05 +0000)]
Rewrite TLSv1.2 key block handling.
For TLSv1.2 a single key block is generated, then partitioned into
individual secrets for use as IVs and keys. The previous implementation
splits this across two functions tls1_setup_key_block() and
tls1_change_cipher_state(), which means that the IV and key sizes have to
be known in multiple places.
This implementation generates and partitions the key block in a single
step, meaning that the secrets are then simply handed out when requested.
ok inoguchi@ tb@
claudio [Wed, 5 May 2021 10:02:52 +0000 (10:02 +0000)]
All exabgp configs changed to the c code version of the api-exabgp code.
jsg [Wed, 5 May 2021 09:17:19 +0000 (09:17 +0000)]
Match on snps,dw-mshc in dwmmc(4) and use clock-frequency for clkbase if
the "ciu" clock is missing as mentioned in the devicetree binding.
ok kettenis@
mpi [Wed, 5 May 2021 07:29:00 +0000 (07:29 +0000)]
Unlock top part of the fault handler.
ok kettenis@
lum [Wed, 5 May 2021 06:12:23 +0000 (06:12 +0000)]
Check the characters preceeding and following quotes.
stsp [Wed, 5 May 2021 05:47:11 +0000 (05:47 +0000)]
Enable detailed reports about firmware errors in iwm(4) for the time being.
I am getting reports about firmware errors which may be related to Tx agg.
drahn [Wed, 5 May 2021 04:52:39 +0000 (04:52 +0000)]
riscv64 binutils 'support'
Enable just enough of binutils to be a functional compilation system
with llvm doing the heavy lifting.
With corrections suggested by reviewers.
ok jsg@ kettenis@
asou [Wed, 5 May 2021 03:03:16 +0000 (03:03 +0000)]
Fix backtrace command with kernel core.
ok mpi@
jsg [Wed, 5 May 2021 01:28:38 +0000 (01:28 +0000)]
riscv: Assert that SUM is not set in SSTATUS for exceptions.
From John Baldwin
6a3a6fe34bf36b6e745b3e9ad1a991de057729c7 in FreeBSD
ok kettenis@ mlarkin@
jsg [Wed, 5 May 2021 01:24:57 +0000 (01:24 +0000)]
riscv: Clear SUM in SSTATUS for supervisor mode exceptions.
From John Baldwin
753bcca440a4d2c95f48536b586131b84c0bb87e in FreeBSD
ok kettenis@ mlarkin@
jsg [Wed, 5 May 2021 00:53:08 +0000 (00:53 +0000)]
rename trap.S exception.S and trap_machdep.c trap.c to match other archs
ok kettenis@
kurt [Wed, 5 May 2021 00:04:49 +0000 (00:04 +0000)]
Add Radxa Rock Pi N10.
dtucker [Tue, 4 May 2021 22:53:52 +0000 (22:53 +0000)]
Don't pass NULL as a string in debugging as it does not work on some
platforms in -portable. ok djm@
bluhm [Tue, 4 May 2021 21:57:15 +0000 (21:57 +0000)]
Reorder the integer sysctl functions. Then the traditional 4.4BSD
comment 'As above...' makes sense again. Improve comments for
sysctl_int_bounded() and sysctl_bounded_arr().
OK gnezdo@ mvs@
naddy [Tue, 4 May 2021 21:03:30 +0000 (21:03 +0000)]
shell scripts should use getopts instead of getopt
Add a prominent deprecation notice to getopt.1.
Add examples of the getopts idiom to sh.1 and ksh.1.
Requested by and ok espie@, ok jmc@
bluhm [Tue, 4 May 2021 19:04:56 +0000 (19:04 +0000)]
As the unbouded feature in sysctl_int_bounded() is no longer used,
remove it. This also fixes a defective check of the dynamic boundary
in sysctl_sysvshm().
OK mvs@ gnezdo@
kettenis [Tue, 4 May 2021 19:02:52 +0000 (19:02 +0000)]
sigpending(2) will never fail. Optimize the syscall stub accordingly like
we do on other architectures.
ok mpi@
tb [Tue, 4 May 2021 18:20:05 +0000 (18:20 +0000)]
Rename shutdown_all() to shutdown_peers() for consistency.
cheloha [Tue, 4 May 2021 18:14:58 +0000 (18:14 +0000)]
syscalls.c, init_sysent.c, syscall.h, syscallargs.h: regen
Regen after unlocking getitimer(2) and setitimer(2).
ok anton@, mpi@
cheloha [Tue, 4 May 2021 18:10:24 +0000 (18:10 +0000)]
getitimer(2), setitimer(2): unlock syscalls
With the changes in kern_time.c v1.150, neither getitimer(2) nor
setitimer(2) need the kernel lock anymore.
ok anton@, mpi@
kettenis [Tue, 4 May 2021 16:38:06 +0000 (16:38 +0000)]
The clock on RISC-V is architectural, so we really don't need the
whole abstraction layer to support multiple timers. And we don't
really need a separate driver. Replace timer(4) with code based on
the powerpc64 implementation of the randomized statclock code.
Fixes hangs seen on real hardware.
ok jsg@, drahn@
aoyama [Tue, 4 May 2021 14:05:12 +0000 (14:05 +0000)]
Fix 2nd and 3rd arguments' cast in atomic_cas_ptr().
This fixes compile errors (actually warnings) on m88k in sys/net/pf.c
revision 1.1116 changes.
Diff from Miod Vallat, tested on GENERIC and GENERIC.MP by me.
bluhm [Tue, 4 May 2021 13:24:49 +0000 (13:24 +0000)]
Create memory pressure in test. Allocate heap and stack in child
processes and threads. Then exit has more work to do.
kettenis [Tue, 4 May 2021 12:46:28 +0000 (12:46 +0000)]
Add a boot hart ID check in the function that matches secondary CPUs
as well.
ok jsg@
dv [Tue, 4 May 2021 10:48:51 +0000 (10:48 +0000)]
gzread(3) doesn't always set errno, so use gzerror(3)
Compression errors from libz don't set errno.
OK mlarkin@
dv [Tue, 4 May 2021 10:42:51 +0000 (10:42 +0000)]
Move unused task queue stuff to the attic.
Was added about 4 years ago, but hasn't been used and linked into
the build. Discussed with dlg@ and mlarkin@.
mlarkin@: "Let's remove for now..."
dv [Tue, 4 May 2021 10:36:01 +0000 (10:36 +0000)]
Init debug logging state before attempting to log.
Error messages related to bad configuration were not flushing to
stderr.
OK mlarkin@
espie [Tue, 4 May 2021 10:19:28 +0000 (10:19 +0000)]
okay, prevent pkg_* from looking into /usr/local BUT special-case quirks
mvs [Tue, 4 May 2021 09:28:04 +0000 (09:28 +0000)]
Initialize `ipsec_policy_pool' within pfkey_init() instead of doing that
in runtime within pfkeyv2_send(). Also set it's interrupt protection
level to IPL_SOFTNET.
ok bluhm@ mpi@
mvs [Tue, 4 May 2021 09:27:22 +0000 (09:27 +0000)]
Remove unused `spd_tables' declaration.
ok bluhm@ mpi@
claudio [Tue, 4 May 2021 09:27:09 +0000 (09:27 +0000)]
More comment changes to reflect reality. No functional change.
claudio [Tue, 4 May 2021 09:21:05 +0000 (09:21 +0000)]
Update comment to match reality.
espie [Tue, 4 May 2021 08:53:15 +0000 (08:53 +0000)]
not yet, need to figure out how to fix quirks first
espie [Tue, 4 May 2021 08:41:03 +0000 (08:41 +0000)]
and do the same thing to pkg_mklocatedb
espie [Tue, 4 May 2021 08:39:19 +0000 (08:39 +0000)]
prevent the base pkg tools from looking under /usr/local
claudio [Tue, 4 May 2021 08:16:36 +0000 (08:16 +0000)]
Similar to rsync repo delay deletes for rrdp repos to after processing
all files. Now RRDP has a weak sync mechanism and therefor not all
unreferenced files can be removed, instead look at the list of removes
which were part of the delta processing and remove those files.
Warn and keep the file if a delta specifies to remove a file which is
actually still referenced.
OK benno@
jsg [Tue, 4 May 2021 06:32:58 +0000 (06:32 +0000)]
Check that fdt hart id matches boot hart id before associating an fdt
node with the primary cpu.
Prompted by the polarfire icicle where hart 0 is an mmuless e51 core.
ok drahn@ mlarkin@
drahn [Tue, 4 May 2021 04:26:00 +0000 (04:26 +0000)]
Remove cerror dependancy from riscv64 asm syscalls.
Directly update cerror as offset of thread pointer, with
optimizations on error brnaching
ok kettenis@
drahn [Tue, 4 May 2021 04:17:53 +0000 (04:17 +0000)]
riscv64 brk()/sbrk() implementations,
based off a combination of aarch64/powerpc64
ok kettenis@
inoguchi [Mon, 3 May 2021 23:44:05 +0000 (23:44 +0000)]
Use limits.h instead of sys/limits.h in dtlstest.c for portable
discussed and input from jsing@
inoguchi [Mon, 3 May 2021 23:42:04 +0000 (23:42 +0000)]
Modify regress ssl_get_shared_ciphers for portable
- Split out the intermediate path (../certs/) to Makefile
- Change 'shutdown' to 'shutdown_all'
ok tb@
kettenis [Mon, 3 May 2021 21:25:48 +0000 (21:25 +0000)]
Sync changes from arm64 version.
ok patrick@
tb [Mon, 3 May 2021 18:31:40 +0000 (18:31 +0000)]
Hook openssl-ruby test to regress tree
tb [Mon, 3 May 2021 18:21:00 +0000 (18:21 +0000)]
Add scaffold to run the ruby/openssl regression tests
This test depends on the ruby/ruby-openssl-tests port that bundles the
sources and tests of the Ruby OpenSSL gem below /usr/local. The Makefile
compiles the openssl.so shared object below obj/ that provides Ruby
bindings for the OpenSSL API. Once this is built, the regression tests are
run.
There are currently 4 failing tests, all related to the new verifier.
At least one libssl bug is hidden behind a pend. All this will hopefully be
fixed during this release cycle.
This adds a decent amount of test coverage without being overly expensive.
This way, regressions should be spotted during development so jeremy will
no longer have to chase and work around them.
Joint work with jeremy, positive feedback from bcook and jsing.
tb [Mon, 3 May 2021 14:51:47 +0000 (14:51 +0000)]
tweak one description to make it unique
tb [Mon, 3 May 2021 14:49:37 +0000 (14:49 +0000)]
Prefix the hybrid_corner_case test with test_ for consistency.
tb [Mon, 3 May 2021 14:48:10 +0000 (14:48 +0000)]
Exercise the point conversion bit for octet string representations
of points on secp256r1.
tb [Mon, 3 May 2021 14:46:18 +0000 (14:46 +0000)]
Add a test that exercises the point conversion bit of the octet
string representations of points on the binary curve sect571k1.