This MacOS (APFS?) quirk was mentioned at the pub last night, and I still cannot believe this actually works when I tried it myself
@benjojo i joked about this 2 or so years ago (outside the normalization context), i can’t believe this is actually real
@domi @benjojo eeeeh…
I feel like this would get extremely funny if POSIX ever ends up standardizing on an encoding *and* it's not just ASCII.

@lanodan @benjojo ß is in cp437 tho! 0xE1

it’s in the extended charset, so not within 7-bit ASCII (and not compatible with UTF-8) but it’s actually one of the funny characters that made it in

@lanodan @benjojo oh, wait, i misread your message. Oh Well
@domi @benjojo Although macOS probably wouldn't be alone there, ZFS has unicode normalization, but at least it's not default and configurable per subvolume.
@[email protected] @[email protected] @[email protected] this is not normalization though, this is collation. And collation is (almost always) locale dependent.

@ignaloidas @lanodan @domi @benjojo It does also work as:

$ LANG=C LC_ALL=C ßh

@ednl @[email protected] @[email protected] @[email protected] this is FS access, so I'd imagine it's not caring about what libc thinks the locale should be, and rather is using some system locale defined in filesystem code somewhere

but I don't know enough about MacOS to say where exactly that lives
bruttl (@[email protected])

Content warning: shitpoßt

chaos.social
@benjojo what the hell! I saw someone else posting about this a few days ago and I thought it was a joke!!!

@meph @benjojo looking forward to all the EN-speaking devs switching to DE keyboard layouts.

Wir heißen Euch wärmstens willkommen ;)

vi /etc/nßwitch.conf

@benjojo Now I have to set ßh to a shell alias everywhere. This is brilliant.

@benjojo @hailey Haha – reminds me of this little CTF challenge:

https://github.com/skateboardingdog/bsides-cbr-2025-challenges/blob/main/misc/password-game/src/password_game.swift

(there is a solution in the repository)

bsides-cbr-2025-challenges/misc/password-game/src/password_game.swift at main · skateboardingdog/bsides-cbr-2025-challenges

Files + Solutions for BSides Canberra 2025 CTF Challenges - skateboardingdog/bsides-cbr-2025-challenges

GitHub
@benjojo If your filesystem is set to case insensitive, ẞH works too.

@dentaku @benjojo In my testing, ß=ss only works on case-insensitive APFS (not HFS+), I assume because ß case-folds to "ss": https://tech.lgbt/@snowfox/115488236610258352

(I should try again with dotless/dotted i.)

SnowFox (@[email protected])

@[email protected] @[email protected] @[email protected] APFS no longer appears to use NFD (é is c3 a9, not 65 cc 81). Instead, I think it's APFS's case-folding, which seems to be Unicode case-folding or near enough: e.g. in Python, 'ß'.casefold() returns 'ss'. (I haven't looked into the internals of APFS; the details may be documented.) It doesn't seem to happen in HFS+ (which uses a simplified case-folding algorithm IIRC), HFSX (a.k.a. "case-sensitive HFS+"), or on case-sensitive APFS (newfs_apfs -e). I'm also happy to report that both APFS and HFSX seem to fix the bug where U+200c is ignored for filename comparisons: https://git-blame.blogspot.com/2014/12/git-1856-195-205-214-and-221-and.html

LGBTQIA+ and Tech
@manawyrm @benjojo These are the kind of quirks I definitely wouldn’t expect of a MegaCorp in 2025. Loving it. 😄

@benjojo Nice one. I can absolutely see how that happened.

Human interface folks: "Filenames are text and should behave like text"

Unix folks: 😬 

@benjojo
as for funny macos trivia, macos has a malloc zone called `MALLOC_NANO`, which was *always* mapped at 0x600000000000. I can see that it is still mapped into some processes, though I can't reproduce allocations into it with my previous PoCs, but IIRC, this zone used to be malloc()'s default zone for some cases.
@benjojo
This was discovered by an even funnier situation in which somebody allocated some memory during programs compiletime and outputted address of the dynamically allocated memory into a constant in the compiled program, then during runtime dereferenced this address and, to their surprise, nothing happened.
@benjojo @cstross sounds like my kind of pub.
@benjojo I kind of like it but hate the unavoidable inconsistency with et and at

@benjojo Friend of mine saw this, first thing he said is "this has to be exploitable".

... 😭 of course this has to bypass something's path sanitisation

@benjojo (He also mentions that APFS is case-sensitive on iOS)
@issotm @benjojo That’s why it does not work on my iPad.
@benjojo wunderbar, now ze Germans can finally ßh into their heimserver
@metaphil @benjojo
this happens if you don't use the
right command: 'ſſh'
@benjojo Yeah, a few weeks ago my fedi-bubble noticed that too:
https://toot.berlin/@krono/115484271882289019
Tobias (@[email protected])

@[email protected] In fact they're all the same: ``` % stat =ſsh =ſſh =ssh =ßh =ẞH | cut -d\ -f1,2,5,28 16777232 1152921500312526789 root /usr/bin/ſsh 16777232 1152921500312526789 root /usr/bin/ſſh 16777232 1152921500312526789 root /usr/bin/ssh 16777232 1152921500312526789 root /usr/bin/ßh 16777232 1152921500312526789 root /usr/bin/ẞH ```

toot.BERLIN

@krono @benjojo yeah, similarly:

```
: mdione@bad-apple:~$; ls -lid /etc/pa{ss,ß}wd
41554122 -rw-r--r-- 1 root wheel 9196 Aug 16 20:44 /etc/passwd
41554122 -rw-r--r-- 1 root wheel 9196 Aug 16 20:44 /etc/paßwd
```

@mdione @benjojo helloooo `../../../etc/paſſwd`
but there's nothing of interest in there anyways on modern macOS'en…
@[email protected] ...ohhh because case insensitive FS
@benjojo OMG, brilliant :D
@benjojo @jwildeboer Looks like a feature to me! ;)
@[email protected] Okay, this is hilarious! ^^
@benjojo Feature request: Open a Zsh on the remote side, because ß equals sz, so you're typing szh.
@benjojo There's also the famous encryption tool openßl.
@benjojo swiss users cannot comprehend this! (marked not safe for switzerland)

This is great
@benjojo oh my god. I did not know that

@TabascoEye
That’s a very nice ß! Which script/font is this?

@benjojo

@Moss_the_TeXie @TabascoEye Seemingly "Monaco", it's the default for iTerm2 on MacOS
Programming Fonts - Test Drive

Try out the best and newest monospace fonts for code

@TabascoEye @benjojo Does it handle ligatures, too? like find instead of find?
@benjojo Oh dear, you found it. Be careful, that version of ssh connects you to the torment nexus host, and connecting to the torment nexus is rarely survivable.
@benjojo I wonder whether in some German locale, one can do `mkdir ÖBB` and then `cd OEBB` 😀
@[email protected] It's said that not all macOS apps work properly if filesystem case insensitivity is turned off, otherwise I'd like to when formatting my disk.
@niconiconi @benjojo I ran a case sensitive FS for a few years when there was talk of Apple switching to case-sensitive. 99% of stuff worked fine, but the remaining 1% was a complete nightmare.
@russss @niconiconi @benjojo Ohh, is there some clearer documentation about what broke and what sort of curse ?