Las soluciones en el estado de autentificacion
1) COMANDO OPCIONAL AUTH
Es un mecanismo de autentificacion hacia el servidor , es un protocolo de intercabio para identificar el usuario , consiste en una serie de demandas del servidor y respuesta del cliente la demanda consiste en una serie de caracteres + seguido de un espacio simple y una cadena de caracteres codificado en base64 , la respuesta del cliente consiste en una cadena de caracteres codificada en base64 . Si dicho mecanismo de proteccion es negociado todas las demas transacciones se haran en base a dicho mecanismo , las cadenas de comandos y transacciones se haran en un buffer e ciphertext
ejemplo:
S: +OK POP3 server ready
C: AUTH KERBEROS_V4
S: + AmFYig==
C: BAcAQU5EUkVXLkNNVS5FRFUAOCAsho84kLN3/IJmrMG+25a4DT
+nZImJjnTNHJUtxAA+o0KPKfHEcAFs9a3CL5Oebe/ydHJUwYFd
WwuQ1MWiy6IesKvjL5rL9WjXUb9MwT9bpObYLGOKi1Qh
S: + or//EoAADZI=
C: DiAF5A4gA+oOIALuBkAAmw==
S: +OK Kerberos V4 authentication successful
...
C: AUTH FOOBAR
S: -ERR Unrecognized authentication type
2)COMANDO OPCIONAL APOP .
Este comando reemplaza a al User/pass , el servidor envio un timestamp al comienzo de una conexion y es diferente en cada sesion y podria estar formado de la siguiente manera (process id.clok@hostname ) donde process id el el numero decimal del proceso servidor de pop3 . clock valor decimal del reloj del sistema y hostname el dominio del servidor , El cliente envia el comando Apop con un parametro nombre de usuario, otro parametro calculado en base a un algoritmo MD5 aplicado al timestamp seguido por una clave secreta compartida por el servidor y el cliente.Cuando el servidor recibe el comando Apop verifica el string enviado por el cliente , si es correcto responde positivamente y pasa al estado de transaccion