tb [Thu, 15 Feb 2018 19:01:39 +0000 (19:01 +0000)]
Zap a stray sentence that I should have removed in my previous commit.
schwarze [Thu, 15 Feb 2018 18:28:42 +0000 (18:28 +0000)]
Fix the STANDARDS section, but in a different way than in OpenSSL
because i see no indication that a 2016 revision of this standard
might exist. Instead, use information from:
https://www.iso.org/standard/39876.html and
https://www.iso.org/standard/60475.html
schwarze [Thu, 15 Feb 2018 16:47:26 +0000 (16:47 +0000)]
Quite absurdly, the OpenSSL folks have been actively mucking around
with their random subsystem in 2017 rather than relying on the
operating system, which made me check the changes to their manual
pages, which caused me to notice that they document another public
function as non-deprecated that we neutered: RAND_poll(3).
Mention it briefly.
schwarze [Thu, 15 Feb 2018 16:22:53 +0000 (16:22 +0000)]
Add missing RETURN VALUES section;
from Paul Yang via OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800.
schwarze [Thu, 15 Feb 2018 15:36:04 +0000 (15:36 +0000)]
Document the additional public function OCSP_basic_sign(3);
from David Cooper <david.cooper@nist.gov>
via OpenSSL commit
cace14b8 Jan 24 11:47:23 2018 -0500.
schwarze [Thu, 15 Feb 2018 14:52:16 +0000 (14:52 +0000)]
Import the new manual page EVP_PKEY_meth_new(3) from OpenSSL,
removing parts that don't apply to OpenBSD.
schwarze [Thu, 15 Feb 2018 12:52:37 +0000 (12:52 +0000)]
In some EXAMPLES, correct calls to EVP_PKEY_CTX_new(3) that
lacked an argument; from Jakub Jelen <jjelen at redhat dot com>
via OpenSSL commit
9db6673a Jan 17 19:23:37 2018 -0500.
schwarze [Thu, 15 Feb 2018 12:09:55 +0000 (12:09 +0000)]
Import the new manual page EVP_PKEY_asn1_get_count(3) from OpenSSL,
fixing half a dozen bugs and typos and also tweaking the wording a bit.
schwarze [Thu, 15 Feb 2018 11:09:34 +0000 (11:09 +0000)]
In x509_vfy.h rev. 1.20 2018/02/14 17:06:34, jsing@ provided
X509_STORE_CTX_set0_untrusted(3), X509_STORE_CTX_set0_trusted_stack(3),
X509_STORE_CTX_get0_untrusted(3), and X509_STORE_CTX_get0_cert(3).
Merge the related documentation from OpenSSL.
schwarze [Thu, 15 Feb 2018 10:01:33 +0000 (10:01 +0000)]
In x509.h rev. 1.28 2018/02/14 16:57:25, jsing@
provided X509_get0_notBefore(3) and its three friends.
Write a manual page from scratch because what OpenSSL has
is confusing and incomplete.
By the way, providing two identical functions differing only
in the constness of the returned structure is crazy.
Are application programmers expected to be too stupid to write
const ASN1_TIME *notBefore = X509_getm_notBefore(x)
if that's what they want?
schwarze [Thu, 15 Feb 2018 09:28:59 +0000 (09:28 +0000)]
Fix typo: s/Vt strict tm/Vt struct tm/
jmc [Thu, 15 Feb 2018 09:17:13 +0000 (09:17 +0000)]
tweak previous; ok dlg
mlarkin [Thu, 15 Feb 2018 05:35:36 +0000 (05:35 +0000)]
vmd(8): Properly return the correct byte when doing byte-aligned PCI
config space reads.
ok kettenis@, ccardenas@
dlg [Thu, 15 Feb 2018 04:21:46 +0000 (04:21 +0000)]
update tunnelttl to talk about the "copy" argument
dlg [Thu, 15 Feb 2018 02:09:21 +0000 (02:09 +0000)]
say that the only optional header we support is the Key.
dlg [Thu, 15 Feb 2018 02:03:03 +0000 (02:03 +0000)]
there are more GRE rfcs
dlg [Thu, 15 Feb 2018 01:58:46 +0000 (01:58 +0000)]
make a start at documenting egre(4)
dlg [Thu, 15 Feb 2018 01:03:17 +0000 (01:03 +0000)]
take egre(4) packets out early in gre input
this lets us look up the gre(4) interface before looking at the
protocols it might be carrying.
schwarze [Thu, 15 Feb 2018 00:15:29 +0000 (00:15 +0000)]
In asn1.h rev. 1.44 2018/02/14 16:46:04, jsing@
provided ASN1_STRING_get0_data(3).
Merge the corresponding documentation from OpenSSL.
jsg [Thu, 15 Feb 2018 00:03:06 +0000 (00:03 +0000)]
use the arm64 openprom.c on arm64
ok patrick@
jsg [Wed, 14 Feb 2018 23:51:49 +0000 (23:51 +0000)]
prune files.* entries that refer to files not in tree
ok krw@ mpi@
schwarze [Wed, 14 Feb 2018 23:49:52 +0000 (23:49 +0000)]
In evp.h rev. 1.54 2018/02/14 16:40:42, jsing@ provided EVP_PKEY_up_ref(3).
Merge the documentation from OpenSSL commits
0c497e96 Dec 14 18:10:16
2015 +0000 and
c5ebfcab Mar 7 22:45:58 2016 +0100 with tweaks by me.
sthen [Wed, 14 Feb 2018 22:12:59 +0000 (22:12 +0000)]
sync
dlg [Wed, 14 Feb 2018 22:08:45 +0000 (22:08 +0000)]
create virtual interfaces before starting all interface config.
this resolves an ordering problem when adding pseudo interfaces to bridges
tweaks from kn@
ok mpi@ sthen@
schwarze [Wed, 14 Feb 2018 18:50:47 +0000 (18:50 +0000)]
In x509.h rev. 1.27 2018/02/14 16:18:10, jsing@ provided
X509_get_signature_nid(3). Add a new manual page for it
based on the relevant parts of OpenSSL X509_get0_signature.pod.
schwarze [Wed, 14 Feb 2018 18:09:13 +0000 (18:09 +0000)]
In ssl.h rev. 1.136 2018/02/14 17:08:44, jsing@ provided
SSL_CTX_up_ref(3). Merge the related documentation from OpenSSL,
but tweak the wording to be less confusing and simplify the RETURN
VALUES section.
otto [Wed, 14 Feb 2018 17:26:56 +0000 (17:26 +0000)]
Zero as (un)mount flag is valid; ok millert@
schwarze [Wed, 14 Feb 2018 17:20:29 +0000 (17:20 +0000)]
In ssl.h rev. 1.135 2018/02/14 16:16:10, jsing@ provided
SSL_CTX_get0_param(3) and SSL_get0_param(3).
Merge the related documentation from OpenSSL, with small tweaks.
jsing [Wed, 14 Feb 2018 17:17:43 +0000 (17:17 +0000)]
Sync.
jsing [Wed, 14 Feb 2018 17:16:21 +0000 (17:16 +0000)]
Bump lib{crypto,ssl,tls} minors due to symbol additions.
jsing [Wed, 14 Feb 2018 17:08:44 +0000 (17:08 +0000)]
Provide SSL_CTX_up_ref().
jsing [Wed, 14 Feb 2018 17:06:34 +0000 (17:06 +0000)]
Provide X509_STORE_CTX_get0_{cert,untrusted}() and
X509_STORE_CTX_set0_{trusted_stack,untrusted}().
jsing [Wed, 14 Feb 2018 16:57:25 +0000 (16:57 +0000)]
Provide X509_get{0,m}_not{Before,After}().
jsing [Wed, 14 Feb 2018 16:46:04 +0000 (16:46 +0000)]
Provide ASN1_STRING_get0_data().
jsing [Wed, 14 Feb 2018 16:40:42 +0000 (16:40 +0000)]
Provide EVP_PKEY_up_ref().
jsing [Wed, 14 Feb 2018 16:32:06 +0000 (16:32 +0000)]
Start providing parts of the OpenSSL 1.1 API.
This will ease the burden on ports and others trying to make software
work with LibreSSL, while avoiding #ifdef mazes. Note that we are not
removing 1.0.1 API or making things opaque, hence software written to
use the older APIs will continue to work, as will software written to
use the 1.1 API (as more functionality become available).
Discussed at length with deraadt@ and others.
jsing [Wed, 14 Feb 2018 16:27:24 +0000 (16:27 +0000)]
Ensure that D mod (P-1) and D mod (Q-1) are calculated in constant time.
This avoids a potential side channel timing leak.
ok djm@ markus@
jsing [Wed, 14 Feb 2018 16:18:10 +0000 (16:18 +0000)]
Provide X509_get_signature_nid().
jsing [Wed, 14 Feb 2018 16:16:10 +0000 (16:16 +0000)]
Provide SSL_CTX_get0_param() and SSL_get0_param().
Some applications that use X509_VERIFY_PARAM expect these to exist, since
they're also part of the OpenSSL 1.0.2 API.
jsing [Wed, 14 Feb 2018 16:03:32 +0000 (16:03 +0000)]
Some obvious freezero() conversions.
This also zeros an ed25519_pk when it was not being zeroed previously.
ok djm@ dtucker@
jsing [Wed, 14 Feb 2018 15:59:50 +0000 (15:59 +0000)]
Update keypair regress to match revised keypair hash handling.
Apparently I failed to commit this when I committed the libtls change...
rob [Wed, 14 Feb 2018 12:43:07 +0000 (12:43 +0000)]
whitespace
tb [Wed, 14 Feb 2018 11:43:05 +0000 (11:43 +0000)]
Localize _f in do_upgrade().
ok rpe
mpi [Wed, 14 Feb 2018 08:55:35 +0000 (08:55 +0000)]
kern_mutex.c is gone.
mpi [Wed, 14 Feb 2018 08:55:12 +0000 (08:55 +0000)]
Put WITNESS only functions with the rest of the locking primitives.
mpi [Wed, 14 Feb 2018 08:42:22 +0000 (08:42 +0000)]
Make sure lo5 is tied to rdomain 5.
schwarze [Wed, 14 Feb 2018 02:15:46 +0000 (02:15 +0000)]
New manual page EVP_PKEY_asn1_new(3) from Richard Levitte
via OpenSSL commit
751148e2 Oct 27 00:11:11 2017 +0200,
including only the parts related to functions that exist
in OpenBSD.
The design of these interfaces is not particularly pretty,
they are not particularly easy to document, and the manual
page does not look particularly good when formatted,
but what can we do, things are as they are...
schwarze [Wed, 14 Feb 2018 02:05:55 +0000 (02:05 +0000)]
I recently documented X509_VERIFY_PARAM_lookup(3), so change .Fn to .Xr.
schwarze [Wed, 14 Feb 2018 00:19:03 +0000 (00:19 +0000)]
Mention two more block cipher modes that actually exist in our tree;
from Patrick dot Steuer at de dot ibm dot com
via OpenSSL commit
338ead0f Oct 9 12:16:34 2017 +0200.
Correct the EVP_EncryptUpdate(3) and EVP_DecryptUpdate(3) prototypes;
from FdaSilvaYY at gmail dot com
via OpenSSL commit
7bbb0050 Nov 22 22:00:29 2017 +0100.
Document the additional public function EVP_CIPHER_CTX_rand_key(3);
from Patrick dot Steuer at de dot ibm dot com
via OpenSSL commit
5c5eb286 Dec 5 00:36:43 2017 +0100.
schwarze [Tue, 13 Feb 2018 22:51:23 +0000 (22:51 +0000)]
Add the missing RETURN VALUES section.
Mostly from Paul Yang via OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800,
tweaked by me for conciseness and accuracy.
schwarze [Tue, 13 Feb 2018 20:54:10 +0000 (20:54 +0000)]
Add the missing RETURN VALUES section, mostly from Paul Yang
via OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800,
but fixing two bugs in his description.
This commit also includes a few minor improvements to the description
of DES_fcrypt(3), also from OpenSSL, tweaked by me.
cheloha [Tue, 13 Feb 2018 17:35:32 +0000 (17:35 +0000)]
Normalize handle limit timeval in microsecond (usec) case.
Makes stuff like
limit
1500000 usec
work correctly.
ok millert@ tb@
cheloha [Tue, 13 Feb 2018 17:28:11 +0000 (17:28 +0000)]
atoll -> strtonum
ok millert@ tb@
espie [Tue, 13 Feb 2018 15:04:54 +0000 (15:04 +0000)]
give up a bit on the infamous cups update issue.
sort dependencies so that at least this is 100% reproducible...
djm [Tue, 13 Feb 2018 03:36:56 +0000 (03:36 +0000)]
remove space before tab
schwarze [Tue, 13 Feb 2018 02:39:29 +0000 (02:39 +0000)]
Correctly describe BN_get_word(3) and BN_set_word(3).
These functions constitute an obvious portability nightmare,
but that's no excuse for incorrect documentation.
Pointed out by Nicolas Schodet
via OpenSSL commit
b713c4ff Jan 22 14:41:09 2018 -0500.
schwarze [Tue, 13 Feb 2018 01:59:16 +0000 (01:59 +0000)]
Mention that BN_new(3) sets the value to zero;
from Hubert Kario <hkario at redhat dot com>
via OpenSSL commit
681acb31 Sep 29 13:10:34 2017 +0200.
schwarze [Tue, 13 Feb 2018 01:34:34 +0000 (01:34 +0000)]
Delete duplicate .Nm entry in the NAME section,
from Rich Salz via OpenSSL commit
8162f6f5 Jun 9 17:02:59 2016 -0400.
Merging the RETURN VALUES section really wouldn't make much sense
here, it contains no additional information and i don't see any way
to reorganize the content and make it better.
schwarze [Tue, 13 Feb 2018 01:15:24 +0000 (01:15 +0000)]
Add the missing RETURN VALUES section.
Triggered by OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800
by Paul Yang, but reworded for intelligibility and precision.
While here, also expand the description of the "ret" argument of
BIO_callback_fn(). That's a fairly complicated and alarmingly
powerful concept, but the description was so brief that is was
barely comprehensible.
espie [Mon, 12 Feb 2018 20:25:18 +0000 (20:25 +0000)]
some mode of session resumptions are not currently supported by ftp(1)
be fair to those servers, display a more accurate message of what we know
schwarze [Mon, 12 Feb 2018 16:57:32 +0000 (16:57 +0000)]
Add the missing RETURN VALUES section;
from Paul Yang via OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800
with tweaks by me.
schwarze [Mon, 12 Feb 2018 16:33:07 +0000 (16:33 +0000)]
Add the missing RETURN VALUES section;
from Paul Yang via OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800.
schwarze [Mon, 12 Feb 2018 16:04:50 +0000 (16:04 +0000)]
Add missing RETURN VALUES section.
From Paul Yang via OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800
with one tweak.
mpi [Mon, 12 Feb 2018 15:53:05 +0000 (15:53 +0000)]
Use IP6_SOIIKEY_LEN instead of hardcoded value.
from semarie@, ok benno@
mpi [Mon, 12 Feb 2018 15:48:58 +0000 (15:48 +0000)]
Always destroy all interfaces before starting a new test.
This should make tests following a failing test pass.
schwarze [Mon, 12 Feb 2018 15:45:12 +0000 (15:45 +0000)]
Add the missing RETURN VALUES section and reorder the content
accordingly. Make some statements more precise, and point out
some dangerous traps in these ill-designed interfaces.
Also do some minor polishing while here.
Triggered by OpenSSL commit
1f13ad31 Dec 25 17:50:39 2017 +0800
by Paul Yang, but not using most of his wording because that is in
part redundant, in part incomplete, and in part outright wrong.
mpi [Mon, 12 Feb 2018 15:36:40 +0000 (15:36 +0000)]
Pass '-inet6' to the default loopback before each test.
In order to have reproducible tests route entries must not stay. Otherwise
the 'Use' counter keeps growing.
mpi [Mon, 12 Feb 2018 15:29:28 +0000 (15:29 +0000)]
Now that the default loopback interface is brough UP when rdomain 5
is created, it gets default IPv6 addresses. So reflect that change
in netinet6 outputs.
mpi [Mon, 12 Feb 2018 15:22:52 +0000 (15:22 +0000)]
Revert previous, the changed has been backed out and I wasn't running
the last snaphot.
mpi [Mon, 12 Feb 2018 14:25:17 +0000 (14:25 +0000)]
Fix most outputs now that lo5 is getting 127.0.0.1 automagically.
dlg [Mon, 12 Feb 2018 03:30:24 +0000 (03:30 +0000)]
restore the previous semantics wrt if up, tunnel, and address config.
this is a port of the change made to if_etherip.c r1.35 to allow
addresses to be configured before the tunnel is configured.
dlg [Mon, 12 Feb 2018 03:15:32 +0000 (03:15 +0000)]
restore the previous semantics wrt if up, tunnel, and address config.
this is a port of the change made to if_etherip.c r1.35 to allow
addresses to be configured before the tunnel is configured.
this rollback is particularly annoying on gre with keepalives.
keepalives rely on the interface rdomain and tunnel rdomain to be
the same, which the rolled back semantics checked. now it is possible
to create an invalid configuration and not get any feedback about
it.
dlg [Mon, 12 Feb 2018 02:55:40 +0000 (02:55 +0000)]
restore the previous semantics wrt if up, tunnel, and address config.
this is a port of the change made to if_etherip.c r1.35 to allow
addresses to be configured before the tunnel is configured.
dlg [Mon, 12 Feb 2018 02:33:50 +0000 (02:33 +0000)]
use a mobileip_tunnel struct to represent the interfaces tunnel info.
this avoids allocating a mobileip_softc on the stack to build a key
for looking up interfaces with on packet input. struct ifnet inside
mobileip_softc is "quite large", and may blow the 2k limit one day.
dlg [Mon, 12 Feb 2018 01:43:42 +0000 (01:43 +0000)]
restore the previous semantics wrt if up, tunnel, and address config.
our network drivers have a feature where if you configure an address
on the interface, it implicitly brings the interface up. i changed
etherip so you could only change the tunnel configuration while it
down, but maintained the implicit up behaviour. bringing the tunnel
up also relied on having valid configuration, ie, tunnel addreses
must be configured otherwise up will fail.
this means people who have address config in their hostname.etherip
files before config for the tunnel addresses will have problems.
firstly, the address wont be configured because falling through to
the interface up fails because the tunnel isnt configured correctly,
and that error makes the address config roll back. secondly, config
that relies on configuring the address to bring the interface up
will fail because there's no explicit up after the tunnel config.
this diff rolls the tunnel config back to keeping the interface on
a list, and allowing config at any time. the caveat to this is that
it makes mpsafety hard because inconsistent intermediate states are
visible when packets are being processed.
schwarze [Mon, 12 Feb 2018 01:10:46 +0000 (01:10 +0000)]
Simplify documentation of split-screen mode, avoiding abuse of []
to sometimes mean "character set", which conflicts with the normal
meaning of "optional element" in manual pages. While here, add a
few related clarifications and tweak a few details.
Triggered by a minor bug report from <trondd at kagu-tsuchi dot com>,
and by bentley@ subsequently pointing out the abuse of [].
Patch using input from jmc@, who also agreed with some previous versions.
mlarkin [Mon, 12 Feb 2018 00:59:28 +0000 (00:59 +0000)]
Typo in a comment (CR$_VMXE instead of CR4_VMXE). No functional change.
dlg [Mon, 12 Feb 2018 00:09:39 +0000 (00:09 +0000)]
; ends c statements, not ;;
dlg [Mon, 12 Feb 2018 00:07:53 +0000 (00:07 +0000)]
dont handle SIOCSIFRDOMAIN twice, egre isn't supposed to filter it.
krw [Sun, 11 Feb 2018 22:00:19 +0000 (22:00 +0000)]
Ooops. After getting a NAK in response to a renewal REQUEST, we delete
the interface's address and thus the cached configuration data becomes
invalid and must be discarded.
Issue found & fix tested by Christer Solskogen. Thanks!
matthieu [Sun, 11 Feb 2018 21:53:57 +0000 (21:53 +0000)]
Revert rev 1.163. Causes network issues in Firefox.
ok mpi@ who will investigate.
dtucker [Sun, 11 Feb 2018 21:16:56 +0000 (21:16 +0000)]
Don't reset signal handlers inside handlers.
The signal handlers from the original ssh1 code on which OpenSSH
is based assume unreliable signals and reinstall their handlers.
Since OpenBSD (and pretty much every current system) has reliable
signals this is not needed. In the unlikely even that -portable
is still being used on such systems we will deal with it in the
compat layer. ok deraadt@
patrick [Sun, 11 Feb 2018 21:10:03 +0000 (21:10 +0000)]
Use the new APIs for setting block lengths and reading from/writing to
memory regions.
patrick [Sun, 11 Feb 2018 21:07:08 +0000 (21:07 +0000)]
Move .openbsd.randomdata into .rodata. This makes things more
consistent across architectures.
Requested by deraadt@
ok kettenis@
patrick [Sun, 11 Feb 2018 21:04:13 +0000 (21:04 +0000)]
Rework the DDB trace handling for armv7. By switching to clang the
stack frame format has changed. Apparently AAPCS doesn't specify
at all what a stack frame looks like. We end up with much simpler
code, but also with a lot less information in the trace.
ok kettenis@
schwarze [Sun, 11 Feb 2018 20:59:30 +0000 (20:59 +0000)]
Document three more functions recently made public by jsing@
as requested by jsing@, and also document six more related functions
that have already been public before that.
OpenSSL fails to document any of these.
patrick [Sun, 11 Feb 2018 20:58:40 +0000 (20:58 +0000)]
Add sdmmc_io_set_blocklen() which allows to set the block length of an
SDIO function. This is necessary for some SDIO cards that need to be
talked with using smaller block lengths than the maximum supported by
the host controller.
ok kettenis@
patrick [Sun, 11 Feb 2018 20:57:57 +0000 (20:57 +0000)]
Add sdmmc_io_read_region_1() and sdmmc_io_write_region_1() as an
interface for "reading memory" akin to the bus_space(9) API. The
already existing multi interface is used for "reading FIFOs". The
technical difference is that one always reads from the same address
(FIFO) while the other increments the address while reading (memory).
ok kettenis@
jmc [Sun, 11 Feb 2018 20:03:10 +0000 (20:03 +0000)]
typo in output string; from edgar pettijohn
otto [Sun, 11 Feb 2018 18:45:51 +0000 (18:45 +0000)]
fix madvise(2) flags matching; ok deraadt@ tom@
martijn [Sun, 11 Feb 2018 09:47:33 +0000 (09:47 +0000)]
Make sorting in the pcache view work. This allows us to sort on all
shown columns. There's still parts that could do with a good polishing,
but it's an improvement.
OK tedu@
mpi [Sun, 11 Feb 2018 09:30:12 +0000 (09:30 +0000)]
Move landisk to MI mutex.
ok dlg@
jmc [Sun, 11 Feb 2018 07:30:59 +0000 (07:30 +0000)]
macro fix;
patrick [Sun, 11 Feb 2018 05:33:12 +0000 (05:33 +0000)]
Copy the scan results into a new buffer to re-align the data so that we
don't fault on strict alignment architectures.
patrick [Sun, 11 Feb 2018 05:13:07 +0000 (05:13 +0000)]
Since the BCDC header has a variable data offset, so the ethernet packet
alignment can be variable, it's better to move taking care of alignment
into the BCDC receive code.
deraadt [Sun, 11 Feb 2018 05:11:50 +0000 (05:11 +0000)]
oops, typo
patrick [Sun, 11 Feb 2018 05:07:36 +0000 (05:07 +0000)]
Update the packet header length as well as the mbuf length on
receive. Did that everywhere else but missed it here.
deraadt [Sun, 11 Feb 2018 04:50:25 +0000 (04:50 +0000)]
Document how MAP_STACK will be used. All stacks must be mmap'd with
this attribute. The kernel does so for main-process stacks at execve() time,
pthread stack functions do so for new stacks, and stacks provided to
sigaltstack() and other user-provided stacks will need to be allocated
in that way.
Not required yet, but paving the way.
Work done with stefan
deraadt [Sun, 11 Feb 2018 04:39:15 +0000 (04:39 +0000)]
light documentation for MAP_STACK
patrick [Sun, 11 Feb 2018 04:23:02 +0000 (04:23 +0000)]
SDIO support for bwfm(4) is good enough now that we can remove the
claim saying it is not supported. It's slowly getting on par with
the other busses but there's still more work to do.
Prompted by tb@