The application written in golang and is ran within Debian bookworm based docker container fails to listen for the unix socket with the error message listen unix [socket-path]: bind: invalid argument
And it looks the issue is reproduced only if the socket path is big enough (something bigger than about 100 chars). And it is not clear does it matter the full socket length or the base name it self as trying different combination looks to fail at different critical length values.
The name being used for the socket is a regular base64 string (without = marks) on some seed data
E.g it works well for
/var/lib/R9D5kgn3JfYgcpo3RX2nSzkQ2BIXXNSnJHpP4gR9D5kgn3JfYgcpo3RX2nSzkQ2BIXXNSnJHpP4g.sock
yet fails on
listen unix /var/lib/R9D5kgn3JfYgcpo3RX2nSzkQ2BIXXNSnJHpP4gR9D5kgn3JfYgcpo3RX2nSzkQ2BIXXNSnJHpP4gR9D5kgn3JfYgcpo3RX2nSzkQ2BIXXNSnJHpP4g.sock: bind: invalid argument
So
- who (what level (golang, linux, docker on a Mac vm)) actually runs the restriction.
- what are exact criterions/limits
- could the limits be extended or the restriction be suppressed at all