¿Qué caracteres son ilegales en la contraseña de ssmtp.conf?

¿Qué caracteres son ilegales en la contraseña de ssmtp.conf?

Estoy ejecutando Ubuntu Server 16.04 con el paquete ssmtp para sendmail. He leído de unvariedaddelugaresque no se pueden utilizar caracteres "especiales" en la contraseña, y descubrí que es cierto que no puedo escapar ni citar la contraseña. Solo he podido verificar que las contraseñas alfanuméricas en ssmtp.conf funcionen, pero no puedo encontrar esto documentado en ninguna parte. Mi pregunta es, ¿cuáles son los caracteres permitidos/prohibidos para una contraseña?

Alternativamente, ¿existe algún otro método para escapar? Probé con barras invertidas, comillas simples y dobles sin éxito.

Gracias

Respuesta1

Parece haber una serie de errores pendientes enumeradosaquíEn cuanto a los personajes problemáticos de la AuthPassdirectiva:

  • informe de error768129: el carácter almohadilla/almohadilla#
  • informe de error463196: los caracteres iguales =y dos puntos:

y no sé si ese sería el caso específicamente para ssmtp, pero generalmente los caracteres incorrectos para usar en contraseñas son espacios, ASCII extendido: è é ê ë, etc. y UNICODE. Cíñete a a-z A-Z 0-9 .-las contraseñas y hazlas más largas en lugar de complejas.

Respuesta2

Mirando el read_config()método enlínea 883del blob actual af4d1e58d28fa9450bfc6a80fbacc75ca28c2220 parece como si un signo igual =o un signo de almohadilla #haría que continuara silenciosamente y omitiera el análisis de esa línea del archivo de configuración.

    /* Make comments invisible */
    if((p = strchr(buf, '#'))) {
        *p = (char)NULL;
    }

    /* Ignore malformed lines and comments */
    if(strchr(buf, '=') == (char *)NULL) continue;

Todavía me gustaría ver una respuesta autorizada sobre el tema o una referencia definitiva a la documentación.

Respuesta3

Puede utilizar la siguiente solución alternativa:

  • introduzca la contraseña directamente en el argumento de la línea de comando
ssmtp -ap "Hash#Password" ...
  • alternativamente, coloque la contraseña en una variable de entorno.
ssmtp -ap $PASSWD ...

Espero que haya ayudado.

información relacionada