I'm writing a smtp client. Almost is done, but i can only use smtp server which don't have a authentification support... This is baaad...... I want to include authentification support in my client but ...

***each time I read a RFC , I feel myself stupid.***

Here is the example of the RFC 2554

Examples:
S: 220 smtp.example.com ESMTP server ready
C: EHLO jgm.example.com
S: 250-smtp.example.com
S: 250 AUTH CRAM-MD5 DIGEST-MD5
C: AUTH FOOBAR
S: 504 Unrecognized authentication type.
C: AUTH CRAM-MD5
S: 334
PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4=
C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==
S: 235 Authentication successful.

I understand the start until :

S: 334
PENCeUxFREJoU0NnbmhNWitOMjNGNndAZWx3b29kLmlubm9zb2Z0LmNvbT4=
C: ZnJlZCA5ZTk1YWVlMDljNDBhZjJiODRhMGMyYjNiYmFlNzg2ZQ==
S: 235 Authentication successful.

What is hidden behind the base64 text ?
Can someone explain me this mechanism in a simple manner ? I hate the RFC way...
Posted on 2002-11-04 12:45:58 by Djizeus
That's an md5 hash, not a base64 crypt.
The server is sending a "challenge", and ur meant to respond!
CRAM=challenge and response mechanism.

The server sends you some data, the "challenge".
You take that challenge, and you use it as a key to encrypt your password using md5 algo, you send the resulting md5 hash as your response.
Posted on 2002-11-07 07:32:28 by Homer
I use argosoft mail server for my tests. There is a pop account with the followings parameters :
user : toto
pass : password

I believe the base64 translation is

dG90bw== for toto
cGFzc3dvcmQ= for password

Tell me if i'm wrong please !

The following telnet session fail at the authentication step as you can see :

220 ArGoSoft Mail Server Freeware, Version 1.8 (1.8.1.7)
ehlo me
250-Welcome [169.254.50.171], pleased to meet you
250-AUTH=LOGIN
250-SIZE 5242880
250 HELP
auth login
334 VXNlcm5hbWU6
dG90bw==
334 UGFzc3dvcmQ6
cGFzc3dvcmQ=
550 Authentication failed

What is wrong ? What must I answer exactly after "Username:" (= VXNlcm5hbWU6) and "Password:" (= UGFzc3dvcmQ6) ?
Is my base64 translation wrong ?
Posted on 2002-11-07 21:15:02 by Djizeus
LOL it was a configuration problem... The same session now work perfectly.
Posted on 2002-11-12 09:34:38 by Djizeus
Djizeus
your progy seems so cool and great can you post the code of your smtp auth please
thanks
Posted on 2002-11-24 14:10:38 by Thor0Asgard
Beauvais ? Dans l'Oise en France ? Th?oriquement j'habite ? l'Isle-Adam dans le nord du Val-d'Oise mais l? je travaille un peu plus loin au Mexique ? Torreon ;)

Salut ? toi !

In "frenchglish" now. The SMTP session was only a telnet session. There is no code yet. Just tests to see how to do it... And I got problemS with my parsing function for a configuration file : this is my priority. After i will redo my SMTP function and add the "auth" code.

But if you have a SMTP function, adding the auth code is easy, this is just a add-on in the protocol discussion.

If you need more help send me a mail :
ic.are@laposte.net
Posted on 2002-11-27 10:50:42 by Djizeus
Oui Beauvais Dans L'oise c'et cool de voir un autre fran?ais sur ce forum

now Frenglish,...

Ok But can you give me your smtp skeleton with a description of the using...

and you can send me your parsing proc maybe i can help you for that

here's my mail feel free to send me anything:loic.coutellle@wanadoo.fr
Posted on 2002-11-27 14:40:38 by Thor0Asgard