Los sistemas operativos limitan la longitud de una ruta de un socket de dominio Unix. ¿Cómo puedo verificar si una ruta en particular está dentro de ese límite?
O, para decirlo de otra manera, ¿cómo puedo verificar la longitud máxima permitida de una ruta de un socket de dominio Unix, en un sistema Linux o Mac OS X?
Mi caso de uso aquí es para la multiplexación SSH: si ControlPath es demasiado largo, entonces la multiplexación SSH no funcionará, ya que crea un socket de dominio unix. Quiero poder verificar una ruta de control válida sin tener que iniciar realmente una sesión ssh y buscar el mensaje de error.
En Mac OS X, según la
unix
página de manual:Aquí hay un programa que compila tanto en Linux como en OS X que generará la longitud máxima de la ruta de un socket de dominio Unix.
En Linux, emite
108
, y en OS X, emite104
.fuente