-
polyex
meena remember me asking if you freebsd-update production boxes or update the template and redeploy? well same with pkg upgrade, you don't do that on production boxes either right?
-
eoli3n
Hi
-
eoli3n
where's the guide to major upgrade ?
-
eoli3n
that will be my first one
-
debdrup
-
VimDiesel
Title: FreeBSD Handbook | FreeBSD Documentation Portal
-
eoli3n
debdrup: thanks
-
eoli3n
just noticed that 14.0 is not out
-
eoli3n
i need to upgrade to 13.2
-
eoli3n
i missed the 13.2 announcement
-
eoli3n
how to get notified ?
-
debdrup
-
VimDiesel
Title: FreeBSD Mailing lists: subscription for freebsd-announce
-
debdrup
There's also some RSS feeds at the bottom of the website.
-
eoli3n
thanks
-
emersion
hi! i'm having issues installing xwayland-devel
-
emersion
-
emersion
< HTTP/1.1 404 Not Found
-
emersion
-
VimDiesel
Title: FreshPorts -- x11-servers/xwayland-devel: X11 server as Wayland client (development snapshot)
-
emersion
this is 13.2-RELEASE-p1
-
emersion
(latest, not quaterly)
-
emersion
any idea what's going on?
-
emersion
-
angry_vincent
i seeing version xwayland-devel-21.0.99.1.499 ( not *.495 )
-
angry_vincent
maybe, it is needed to update pkg database first
-
emersion
i've done a pkg update right before
-
emersion
it's been happening for 1 or 2 days (it's breaking the Sway CI)
-
meena
emersion: maybe a dependency is requesting that specific version
-
bapt
emersion: do you have a proxy cache in front?
-
emersion
no proxy
-
emersion
(this is builds.sr.ht)
-
bapt
yeah I figured
-
emersion
hm
-
bapt
that means packagesite.pkg is not in sync with the packages available
-
bapt
which cannot happen, so it means you somehow get an outdated packagesite.pkg this is weird
-
emersion
should i just wait then?
-
emersion
eh
-
bapt
let me check the cluster
-
bapt
emersion: test here I really have .499
-
emersion
-
VimDiesel
Title: build #1032719 - failed
-
bapt
from my 13 machines
-
bapt
I don't understand how you end up with .495
-
bapt
I have a builds.sr.ht account
-
bapt
let me check
-
emersion
you can resubmit that manifest, and then SSH into the machine to inspect it
-
emersion
or ask me to run commands for you
-
bapt
I can do it
-
bapt
hum
-
bapt
I bet this is quarterly
-
emersion
hm, it shouldn't be…
-
emersion
-
VimDiesel
Title: ~sircmpwn/builds.sr.ht: images/freebsd/genimg - sourcehut git
-
bapt
ah
-
meena
how do we get output from the SAT solver?
-
bapt
meena: DEBUG_DEVEL=4, but that won't help here
-
bapt
emersion: I think I know
-
bapt
emersion: if I ssh connect
-
bapt
sudo pkg update -f
-
bapt
I got the right xwayland
-
emersion
so the cache thinks it's up-to-date but it's not?
-
bapt
yes
-
bapt
but this si weird
-
bapt
I don't know where you do getch the bad packagesite.pkg from
-
emersion
is this based on modification time?
-
bapt
yes
-
bapt
url + mtime
-
bapt
if url changes
-
emersion
we re-generated images from the script linked above each week
-
bapt
it forces a update
-
emersion
re-generate*
-
emersion
and we do nothing else to images
-
bapt
I am reading
-
bapt
a hack could be to add pkg update -f in /etc/rc.local
-
bapt
so at each boot it ensures it has the lastest update
-
bapt
another way
-
bapt
probably cleaner would be
-
bapt
rm /var/db/pkg/repo-FreeBSD.sqlite
-
bapt
so the first time you call pkg install something it will install the missing bits
-
bapt
s/install.*/update the metadata/
-
bapt
right now you have the metadata from the creation of the images and somehow it considers it is to date
-
emersion
hm, i'd rather not workaround this
-
emersion
i guess i'll just disable freebsd for now
-
bapt
:(
-
bapt
I use it :D
-
emersion
see if it fixes itself in a week
-
bapt
hum
-
bapt
maybe I should remove the mtime
-
bapt
and set the time of the packagesite.pkg file into the metadata of the repo
-
bapt
(I am the author of pkg)
-
emersion
is there a way to check the bad mtime?
-
emersion
from the local cache
-
emersion
could this be due to e.g. NTP?
-
emersion
(an alternative to mtime would be ETag, but that requires HTTP server support)
-
bapt
pkg it fetching the mtime from /var/db/pkg/repo-FreeBSD.sqlite
-
bapt
and say "If-Modified-Since: thesaidmtime"
-
bapt
what trying to fetch the packagesite.pkg
-
bapt
let me try something else
-
emersion
in my case:
-
emersion
> GET /FreeBSD:13:amd64/latest/packagesite.pkg HTTP/1.1
-
emersion
If-Modified-Since: Fri, 28 Jul 2023 19:04:20 GMT
-
emersion
< Last-Modified: Fri, 28 Jul 2023 16:55:38 GMT
-
emersion
2h sounds like too much time for a NTP related issue
-
emersion
where does the mtime come from in the cache?
-
emersion
does pkg set the mtime from the Last-Modified header?
-
emersion
or is it just the current time when the file is downloaded?
-
bapt
yes
-
bapt
from the Last-Modified header
-
bapt
so I bet the mtime is lost at the creation of the image
-
bapt
so if I want pkg to be more robust I need to store this date inside the db metadata instead of relying on the filesystem
-
emersion
hm, i wonder how this could happen
-
emersion
we just bootstrap a filesystem and mount it
-
bapt
I don't know :D
-
emersion
so FS metadata should be exactly the same…
-
bapt
but I can confirm the date on the fs is the one in If-modified-since
-
bapt
-rw-r--r-- 1 root wheel 57643008 Jul 28 19:04 /var/db/pkg/repo-FreeBSD.sqlite
-
bapt
it is impossible this was the date of the packagesite at the time of creation of the qcow
-
emersion
does pkg open the file in read-write mode, when reading it?
-
bapt
no
-
bapt
at least it should not :D
-
bapt
double checked, it does not
-
emersion
-
VimDiesel
Title: pkg/libpkg/repo/binary/update.c at master · freebsd/pkg · GitHub
-
emersion
t is a bit weird here, it's set to meta and then overwritten by the db's?
-
emersion
but that's not the cause of the bug, since the bug is about the db's mtime
-
bapt
emersion: this only happens if you run pkg update or pkg upgrade
-
bapt
and if you are root
-
bapt
(root being checked elsewhere)
-
emersion
-
VimDiesel
Title: pkg/libpkg/fetch_libcurl.c at master · freebsd/pkg · GitHub
-
Demosthenex
arg, so i have a small biz cisco switch, and was using lacp with freebsd 13. it keeps flapping and having terrible response, even when i turn off all the options
-
Demosthenex
until i removed 1 of the connections, now it works fine
-
bapt
emersion: done (for timevalue_large) would be in the next pkg
-
emersion
-
VimDiesel
Title: pkg/libpkg/repo/binary/update.c at master · freebsd/pkg · GitHub
-
emersion
-
VimDiesel
Title: pkg/libpkg/repo/binary/init.c at master · freebsd/pkg · GitHub
-
emersion
because of the W_OK
-
bapt
emersion: that would be new
-
bapt
this code has been working without any mtime issue since it has been introduced very long ago
-
bapt
I agree this is suboptimal and could be greatly improve
-
bapt
I need to rewrite this old code since like forever
-
bapt
it was designed for a use case which never took off and is clearly over complicated for what it does ;)
-
bapt
emersion: I think I do have the bug!
-
bapt
this is a regression from the switch to libcurl
-
bapt
I will fix it in the afternoon
-
bapt
I am able to reproduce it locally now
-
emersion
oh nice
-
emersion
let me know if i can help
-
bapt
sure
-
meena
emersion: that thing bapt suggested with removing the SQLite db isn't really a workaround, imo, it's something most Linux distros would do too. To make the image smaller, and cleaner, guarantee the first package install will just work
-
emersion
but if i can avoid downloading the index each time a package is built, it's a good thing imho
-
emersion
each time a buiold manifest is submitted*
-
emersion
build*
-
emersion
image size is not a concern here
-
emersion
getting the image up and ready as fast as possible is our priority
-
emersion
OTOH, most of the time the user will fetch packages, which will probably take a lot of time compared to refreshing the index
-
meena
everything is a tradeoff
-
bapt
emersion: how often to you update the base image?
-
emersion
each week
-
bapt
then you approach is sane yes
-
bapt
keeping the db
-
emersion
ack!
-
bapt
as long as I fix the bug ;)
-
emersion
yeah, if we don't update the image often, then there's a good chance it'll get outdated and re-downloaded anyways
-
emersion
aha :P
-
meena
man, i wish bapt would fix my bugs so quickly…
-
bapt
emersion: fixed
-
bapt
what should I use to credit you on the commit log ?
-
bapt
meena: which bug from you is not fixed?
-
emersion
Reported-by: Simon Ser <contact⊙ef> maybe?
-
bapt
sure
-
emersion
or whatever convention the project uses
-
meena
-
emersion
thanks a lot!
-
VimDiesel
Title: pkg fails to validate rsa signature on 14.0-CURRENT · Issue #2169 · freebsd/pkg · GitHub
-
VimDiesel
2169 – zephyr port disagrees with Kerberos causing compilation error
bugs.freebsd.org/bugzilla/show_bug.cgi?id=2169
-
bapt
meena: this is not a bug this is expected
-
bapt
I haven't written the comment yet
-
meena
why is it expected??
-
bapt
openssl3 fallout,
-
meena
isn't that a regression then?
-
bapt
no
-
bapt
or unfixable one
-
bapt
things signed by pkg build on openssl3 can sign and be verified on pkg build with openssl 1
-
meena
so what does that mean? do i have to change the way I'm signing packages?
-
bapt
aka sign from current it will work for everyone
-
meena
oh… wild
-
bapt
sign from openssl1 it will not work for current
-
bapt
we are not forward compatible here
-
bapt
this is due to a bad usage of openssl since like forever (only for the pubkey, not the fingerprint)
-
bapt
and openssl3 does not allow anymore to abuse its API is this area
-
bapt
meaning we cannot recreate validate old signatures anymore when built with openssl3
-
bapt
now pkg properly use this API
-
bapt
so we are backward compatible but not forward compatible
-
bapt
fingerprint usage was and remains ok
-
meena
and why can't we properly use that API on OpenSSL 1.1?
-
bapt
-
VimDiesel
Title: curl: ensure curl asked for the filetime of the remote file. · freebsd/pkg@0ec04db · GitHub
-
bapt
thanks for reporting
-
emersion
<3
-
bapt
I'll check for the open issues and will probably issue a 1.20.5 today or tomorrow
-
cadmio
are characters like ~ and . special bash characters or only characters that are interpreted by unix command?
-
emersion
maybe to make it a bit more robust we could check whether the time we gte back from CURLINFO_FILETIME_T is -1
-
emersion
and set fi->mtime to 0 in that case?
-
emersion
or do we already check for -1?
-
emersion
(just to make things easier to debug if the HTTP server doesn't return Last-Modified for instance)
-
bapt
emersion: yes that was my plan
-
bapt
the return form CURLINFO_FILETIME_T was CURLE_OK
-
bapt
I would have expected an error
-
emersion
right, curl doesn't return an error sadly
-
emersion
-
VimDiesel
Title: curl/lib/getinfo.c at 47a3e6e577b019b8dfce8d3f8df764a8dd427fd2 · curl/curl · GitHub
-
emersion
just -1 and CURLE_OK
-
emersion
the example code in the docs explicitly check filetime >= 0
-
bapt
yup
-
bapt
DBG(1)[91624]> Impossible to get the value from Last-Modified HTTP header
-
bapt
now it will be easier to debug ;)
-
bapt
should probably not be a debug info but more a warning
-
emersion
nice
-
bapt
-
VimDiesel
Title: curl: warn loudly when not able to provide remote Last modification time · freebsd/pkg@942b46c · GitHub
-
bapt
-
VimDiesel
Title: curl: warn loudly when not able to provide remote Last modification time · freebsd/pkg@942b46c · GitHub
-
emersion
looks good
-
bapt
fun it seems python3 -m http.server does not report Last-modified apaprently
-
emersion
it sends the header field for me…
-
emersion
< Server: SimpleHTTP/0.6 Python/3.11.3
-
emersion
< Last-Modified: Mon, 22 May 2023 15:02:21 GMT
-
emersion
(not for directory listings, as expected)
-
bapt
strange the unit tests complains about it
-
bapt
ah no actually the regression tests shows another real issue
-
emersion
:^)
-
bapt
I was still looking for Last-Modified if I received a 304 :D
-
emersion
aha
-
polyex
meena remember me asking if you freebsd-update production boxes or update the template and redeploy? well same with pkg upgrade, you don't do that on production boxes either right?
-
meena
polyex: i usually find pkg upgrade less troublesome, but other people disagree
-
polyex
i'm gonna switch from quarterly to latest repo too, so when i build a new server image it has latest versions, then on server disallow freebsd-update and pkg upgrade, keep immutable in production
-
meena
cool
-
polyex
question is, in case i forget later my decision, can i somehow disable freebsd-update and pkg from being run?
-
meena
you can remove them from the image, but that's not gonna stop anyone who is determined. also doing that disables, or rather breaks, periodic(8) scans for vulnerabilities
-
polyex
damn i don't wanna break anything
-
meena
well, you can also disable those scans, and only have a few dedicated machines where they run, but chances are, if you're rebuilding images, you will be quick enough to catch CVEs
-
RhodiumToad
I don't think anything in periodic runs freebsd-update?
-
RhodiumToad
security runs pkg check and pkg audit
-
nimaje
crest: as I just saw your wireguard devd / rc.d scripts, why do you use resolvconf … -x ? that breaks use cases where the vpn should just be an additional network
-
crest
nimaje: because that's what wg-quick does and i emulated it's invocation of resolvconf
-
crest
if you don't want this use a PostUp hook
-
crest
parser supports multiline scripts including here docs
-
crest
nimaje: this should work:
-
crest
PostUp = resolvconf -a %i.wg << EOF
-
crest
PostUp = nameserver 8.8.8.8
-
crest
PostUp = EOF
-
crest
PreDown = resolvconf -d %i.wg
-
crest
wait better don't use .wg because it could conflict with the dns up/down automation
-
nimaje
ah, yes, I remember, I wanted to create a bug report against wg-quick, as they use -x too, but only address being ::/0,0.0.0.0/0 should have that exclusive effect
-
crest
i decided against implementing saveconfig because i didn't want to make the script even longer
-
crest
and i refuse to implement the insane daemon mode mucking with the routing table
-
crest
a shell script "parsing" `route monitor` isn't only to linearly scan the routing table on every change is flawed in so many ways
-
crest
just because some warez kiddie couldn't be bothered to learn the correct way to do policy based routing using multiple routing tables or domains before starting a torrent client </rant>
-
crest
maybe i could add some resolvconf args to pass through similar to Sticky?
-
crest
Sticky (configurable via the wireguard config file or the file mode on the config file) tells the rc.d script to leave the interface around similar to $cloned_interfaces
-
crest
e.g. sysrc cloned_interfaces+=gre0:sticky
-
crest
would create a gre0 interface that sticks around even after a service netif stop gre0
-
crest
in case you want to reference it somewhere e.g. a ipfw or pf configuration
-
crest
stealing the sticky bit for this is a dirty trick, but it allows sharing unmodified wireguard configuration files with other operating systems
-
crest
nimaje: the PostUp/PreDown hook cover your needs?
-
crest
or would say something like SharedDNS = 8.8.8.8,example.org be a lot better for your usecase?
-
crest
maybe ExclusiveDNS/SharedDNS/PrivateDNS with DNS as a short alias for ExclusiveDNS?
-
crest
corresponding to the -x, nothing and -p?
-
CrtxReavr
So. . . I was playing with glances on a FreeBSD VPS I have. . . and it prints this line below the hostname:
-
CrtxReavr
Cloud instance 56f2106129679db187c38ecb36af5417
-
CrtxReavr
Where does that get read from?
-
CrtxReavr
I thought of sysctl, procfs, or /var/run/dmesg.boot, but all no. . .
-
otis
from cloud-init if you use it?
-
V_PauAmma_V
I was guessing motd?
-
CrtxReavr
I dont' use cloud-init.
-
CrtxReavr
And motd is just the OS version string and what else I put there.
-
RhodiumToad
what's the exact context of the message?
-
CrtxReavr
glances is like a top(1) on steroids, written in python. .. uses shutil modules.
-
CrtxReavr
In its default config, in the upper left corner, it prints the full hostname, and below that it says what I pasted above.
-
crest
CrtxReavr: grep -r "Cloud.*hostname" /etc /usr/local/etc
-
crest
ooops
-
crest
grep -r "Cloud.*instance " /etc /usr/local/etc
-
RhodiumToad
I'd expect it to be from sysctl or kenv
-
CrtxReavr
Found it.
-
CrtxReavr
-
CrtxReavr
Standardish cloud meta-data convention.
-
CrtxReavr
IT's an OpenStack API thing.
-
CrtxReavr
But many other things use it too.
-
meena
new OpenSSL vulnerability / release
-
crest
-
crest
"Due to the low severity of this issue we are not issuing new releases of
-
crest
OpenSSL at this time."
-
meena
crest: look, reading is hard, okay
-
crest
meena: i was just confused looking for the new release i missed
-
crest
and wanted to safe others from following the same path
-
nimaje
crest: just saw that DNS is documented as using resolveconf -x for some reason, no idea why you would want to use the dns of some vpn in the case of using vpns as additional networks, there you just want to give the dns a part of the hierarchie
-
crest
nimaje: imo it depends on your usecase, but i don't want to break the *semantics* of a wireguard configuration by redefining the meaning of the "DNS" property to suite your (or my) usecase a little better
-
crest
what is implemented should be compatible to wg-quick(8) to avoid fragmenting the ecosystem. we don't need an other tower of babel like situation (one IPsec is enough)
-
kevans
+1
-
nimaje
yeah, DNS is documented as using resolveconf -x so you should too (but I still think it was a bad idea when they decided that)
-
kevans
you're welcome to try and convince upstream otherwise, we just need to coordinate on stuff like that
-
meena
when i connect my laptop to $corporate VPN but don't use their DNS I can't access shit on their network
-
rwp
That is a typical issue with VPNs. Private DNS space too.
-
rwp
If one does not want to route all DNS through the VPN, or have several VPNs concurrently, it is possible to configure nameservers such as unbound to forward specific domains to specific upstream nameservers.
-
mason
^ that's what I do
-
mason
and specific reverse zones
-
yuripv
<3: CFLAGS+= -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang