Fix a potential 1-byte buffer overflow in usbd_get_string_desc(). The code
allows for a transfer of up to 255 bytes but the struct behind the
usb_string_descriptor_t type is only 254 bytes. This is because USB
strings are UTF-16 and that leaves a single byte that can't be used in
a meaningful way. So truncating transfer to 254 bytes should not break
devices that are already broken. Found by Andrew Griffiths.
ok jsg@, deraadt@
link redis/main (8.8.0) to the build, but with a MESSAGE mentioning the
problems seen in tests. (I wasn't able to repeat the same problems with git
head yet, but it's painful to bisect via the ports tree as it needs some
manual fiddling to avoid over-long directory names...anyway this gets 8.x
into portroach so it'll be easier to pick up updates, and for anyone else
that wants to test/provide feedback).
Convert display-panes away from an overlay and into a mode. This is
another step on the road of getting rid of overlays altogether (they are
full of special cases; popups and menus are to go also eventually). We
lose some of the styling of borders but gain the ability to run
display-panes in another pane (perhaps not hugely useful but one never
knows). The -b flag goes away as no longer useful.
drop RDEP on gobject-introspection, actually only needed as a BDEP
(message says "Run-time dependency" but aja@ points me at this being done
automatically by meson gnome.generate_gir).
add MODTCL_VERSION=8.6 to redis/bsd, stu@ is planning to change the
default to 9 and tests in this version of redis have "package require
tcl 8.5" (which is >=8.5, <9).
redis/main tests fail in the same way with Tcl 9 as they do with 8.5
and 8.6.
Use SHA1Final() in libskey.
S/KEY requires hash output in little endian form, while SHA-1 produces big
endian output. Rather than using SHA1Pad() and then reaching into the SHA-1
state directly, use SHA1Final() and then convert to little endian using
be32toh/htole32.
ok claudio@ millert@ tb@
import ports/geo/pmtiles, ok landry
PMTiles is a single-file archive format for tiled data. A PMTiles
archive can be self-hosted, or hosted on a commodity storage platform
such as S3, and enables low-cost, zero-maintenance map applications
that are free of a custom tile backend or third party provider.
This package provides the pmtiles CLI command, which works with local
tilesets on disk, or remotely (e.g. with archives on cloud storage, even
in private buckets). File operations include displaying basic information,
extracting an archive containing just your chosen zoom levels and/or area
from a larger file (e.g. those at https://maps.protomaps.com/builds/),
merging disjoint files together, uploading to cloud storage, etc.
Some applications (like MapLibre GL JS) are able to use pmtiles files
directly (fetching sections via HTTP Range requests); some others want
a server providing an industry-standard "ZXY" API to fetch rendered
tiles: pmtiles can provide this over HTTP.
Fix X.509 constraints URI host parsing.
An authority in a URI is only terminated by a slash, question mark or hash,
however the current code also included colons. This allows a specically
crafted userinfo to bypass name constraints host checks. Additionally, IPv6
literals may only be specified when enclosed with square brackets, which is
not enforced.
Rewrite parts of the host and IP parsing code to be more strict, fixing
both of these issues in the process.
Thanks to Jack Lloyd for reporting the userinfo bypass.
ok tb@
rearrange databases/redis into databases/redis/bsd (currently still 6.2.22)
and databases/redis/main (8.x; AGPL and other restrictive licenses).
main/ unlinked for now, due to tests failing (every time, but usually in
different places) with "Executing test client: couldn't open socket:
address already in use."