754 Followers
431 Following
3.5K Posts

Linux dev. Android user. Security curious. Beginner rustacean. Casual hardcore gamer. — French native, english toots — Personal account — He/him.

Posts in CC-BY-ND for a month, then CC-BY-NC-ND, contact me for other arrangements.

Profile picture is a line drawing caricature of myself by french artist Frank Tizzoni; I have a french-style flat cap and a light beard.

websitehttps://anisse.astier.eu
Message me on Signalhttps://signal.me/#eu/y7Yv18foRXDoXscEQlKOEY5G899AwTr8Mlp0wO0eU3hN3pSM3JtEWJpwudNLxfXz
Kernel Recipes 2025 livebloghttps://kernel-recipes.org/en/2025/category/live-blog/
Kernel Recipes 2024 livebloghttps://kernel-recipes.org/en/2024/category/live-blog/
Kernel Recipes 2023 livebloghttps://archives.kernel-recipes.org/wp-content/uploads/2025/01/live_blog_2023.pdf
Kernel Recipes 2022 livebloghttps://archives.kernel-recipes.org/wp-content/uploads/2025/01/livre_blog_2022.pdf

I wanted to write a blog post but got side-tracked. In the meantime, here is something I learned:

Suppose you have a script for which an fd is a unix socket. How do you call getpeername(2) on this socket from the cli to get the remotely bound socket?

On Debian, there is a package called tcputils which has a getpeername binary. It only works on INET sockets though. The netpipes Debian package also used to have a getpeername binary (23 years ago); but now it is in the getsockname binary to prevent conflicting with the previous package. But getsockname(2) is not the call I want, I already know the local socket name. You can then use exec -a getpeername getsockname to get the behaviour you want. But unfortunately netpipes' getpeername will not print the content of a peer name which is an abstract socket, it will print (abstract) instead.

So, back to square one. By now I could already have written a simple C program (many times over) to do what I want and called it a day. But I like weird constraints, so here I am. Is there any interpreter on a default Debian install that could let me do what I want. Tough luck: there is no python. But there is perl, so this is how you'd do it in Perl

#!/usr/bin/env perl
use IO::Socket::UNIX;
my $sock = IO::Socket::UNIX->new_from_fd(0, "r+");
print $sock->peerpath()

And how do you test it works? socat has a convenient bind= option on which you can pass an abstract unix socket name if it start with @. Launching the program with a unix socket as stdin is left as an exercise to the reader.

The blogpost was supposed to be shorter than this post, but we'll see, if it materializes.

File: getpeername.c | Debian Sources

Casually in a meeting with mobile data at 300+ km/h. When did that become normal? (yes I'm finishing my work day before #RustWeek)

I wanted to write a blog post but got side-tracked. In the meantime, here is something I learned:

Suppose you have a script for which an fd is a unix socket. How do you call getpeername(2) on this socket from the cli to get the remotely bound socket?

On Debian, there is a package called tcputils which has a getpeername binary. It only works on INET sockets though. The netpipes Debian package also used to have a getpeername binary (23 years ago); but now it is in the getsockname binary to prevent conflicting with the previous package. But getsockname(2) is not the call I want, I already know the local socket name. You can then use exec -a getpeername getsockname to get the behaviour you want. But unfortunately netpipes' getpeername will not print the content of a peer name which is an abstract socket, it will print (abstract) instead.

So, back to square one. By now I could already have written a simple C program (many times over) to do what I want and called it a day. But I like weird constraints, so here I am. Is there any interpreter on a default Debian install that could let me do what I want. Tough luck: there is no python. But there is perl, so this is how you'd do it in Perl

#!/usr/bin/env perl
use IO::Socket::UNIX;
my $sock = IO::Socket::UNIX->new_from_fd(0, "r+");
print $sock->peerpath()

And how do you test it works? socat has a convenient bind= option on which you can pass an abstract unix socket name if it start with @. Launching the program with a unix socket as stdin is left as an exercise to the reader.

The blogpost was supposed to be shorter than this post, but we'll see, if it materializes.

File: getpeername.c | Debian Sources

I'm slowly getting ready for RustWeek. I expect to send a lot of posts here from Tuesday 19th, don't hesitate to mute the hashtag #RustWeek.

scrcpy 4.0 is out 🚀

Try the new flex display feature (and more): https://github.com/Genymobile/scrcpy/releases/tag/v4.0

I had to code this one myself to convince myself it was real. The yellow and blue "busses" are moving smoothly at exactly the same speed.

from https://www.futilitycloset.com/2026/04/28/the-stepping-feet-illusion/

If you wonder why Nintendo (or Playstation) had to raise its prices, that's because the memory markets (RAM and NAND) have been like that every ~5 months for the last year.

#RAMpocalypse #Nintendo #RAM #NAND #HBM #SSD

Living on the East Coast means my radio-controlled atomic wall clock is completely deaf to the atomic (WWVB) signal from Colorado. In the attached video, I am using my smartphone to force the clock to sync to exact Internet time via a clever hardware hack. 1/4
@Aissen seems to work in upstream Fedora, in automated testing:
https://openqa.fedoraproject.org/tests/4690971#step/_graphical_wait_login/39
when we do a French install, the login screen is in French.
openQA: fedora-Rawhide-KDE-live-iso-x86_64-BuildFedora-Rawhide-20260505.n.0-install_european_language_webui@64bit test results

openQA is a testing framework mainly for distributions

Dirty Frag: a zero-day universal Linux LPE

https://lwn.net/Articles/1071719/ #LWN #Linux #security

Dirty Frag: a zero-day universal Linux LPE

Hyunwoo Kim has announced the Dirty Frag security flaw, a local-privilege-escalation (LPE) vuln [...]

LWN.net