Betriebssysteme begrenzen die Länge eines Pfads eines Unix-Domain-Sockets. Wie kann ich überprüfen, ob ein bestimmter Pfad innerhalb dieser Grenze liegt?
Oder anders ausgedrückt: Wie kann ich die maximal zulässige Länge eines Pfads eines Unix-Domain-Sockets auf einem Linux- oder Mac OS X-System überprüfen?
Mein Anwendungsfall hier ist das SSH-Multiplexing: Wenn der ControlPath zu lang ist, funktioniert das SSH-Multiplexing nicht, da Unix-Domain-Sockets erstellt werden. Ich möchte in der Lage sein, nach einem gültigen Steuerpfad zu suchen, ohne tatsächlich eine SSH-Sitzung starten und nach der Fehlermeldung suchen zu müssen.
Unter Mac OS X laut
unix
Manpage:Hier ist ein Programm, das sowohl unter Linux als auch unter OS X kompiliert wird und die maximale Länge des Pfads eines Unix-Domain-Sockets ausgibt.
Unter Linux wird ausgegeben
108
, und unter OS X wird ausgegeben104
.quelle