Mohammed S. Al Sahaf Profile picture
Gopher | Nerdfighter | @caddyserver-er | Coffee Drinker Pulling All-Nighters ☕
Sep 20, 2022 13 tweets 8 min read
Whoa, what happened here?! How did @caddyserver release assets count go from 28 to 134?

Well, @projectsigstore happened! Buckle up 🏎️ Since the initial days of v2 and before v2 being GA, we worked on having #ReproducibleBuilds. Much of this was easy thanks to @GoReleaser (go sponsor @caarlos0!) and @golang tooling!

blog.goreleaser.com/reproducible-b…
Jul 10, 2022 4 tweets 2 min read
What is the maximum UID and GID? Can they be negative numbers?
To begin the investigation, we need to first know the type limitation. Is it an int or uint? @Wikipedia says it's signed int, but the sign bit is ignored, so 2^x ? x= ?

en.wikipedia.org/wiki/User_iden…
en.wikipedia.org/wiki/Group_ide… Still... (u?)int? Both Linux and macOS define {g,u}id as uint. Can we assume we will never encounter a negative {u,g}id? Hahaha, innocent of you to assume! On macOS, /etc/{passwd,group} has entries for `nobody` with {g,u}id of -2.

opensource.apple.com/source/xnu/xnu…

github.com/torvalds/linux…
Jul 5, 2022 9 tweets 4 min read
Few days ago I sent a PR to the caddy-ssh to properly handle 2 aspects of PTY sessions:

1- properly channeling of std{in,out} to remote when user sends commands

2- user details lookup on macOS

Buckle up! We have a can of worms in hand 🥫🪱 🧵

#golang

github.com/mohammed90/cad… Issue 1:

The issue was recognized when a friend reported `scp` and `rsync` not working. I found the culprit to be not hooking up the session's/channel's I/O to spawned process, otherwise the new process assumed the null devices as its std{in,out,err}.