Le 18/02/2010 05:06, Simon Horman a écrit :
On Wed, Feb 17, 2010 at 10:56:10AM +0100, Mathieu Coïc wrote:
  
Hello !

I'm studying a way to connect a mobile phone with only IPv6 address to a 
IMAP server and an Exchange Microsoft server which are in the IPv4 world...
I use perdition and it works for my gmail address but I have 2 problems 
for other mail accounts :

1 - With a IMAP server where no SSL connection is needed, I made this 
configuration for perdition.imap4.conf :
bind_address proxyv6.com
listen_port 144
protocol IMAP4
debug
connection_logging
map_library /usr/lib/libperditiondb_posix_regex.so.0.0.0
map_library_opt /etc/perdition/popmap.re
username_from_database
ssl_mode none
ssl_ca_accept_self_signed
ssl_cert_accept_self_signed
ssl_cert_accept_expired
ssl_cert_accept_not_yet_valid
ssl_no_cert_verify
ssl_no_cn_verify

And the result of the debug in /var/log/syslog :


Feb 14 07:45:07 pontenn perdition[28472]: CLIENT: "1 capability\r\n"
Feb 14 07:45:07 pontenn perdition[28472]: SELF:   "* CAPABILITY IMAP4 
IMAP4REV1\
r\n"
Feb 14 07:45:07 pontenn perdition[28472]: SELF:   "1 OK CAPABILITY\r\n"
Feb 14 07:45:12 pontenn perdition[28472]: CLIENT: "2 login 
\"mathieu.coic@free.f
r\" \"*****************\"\r\n"
Feb 14 07:45:12 pontenn perdition[28472]: username_add_domain: 
username_add_doma
in 0 1
Feb 14 07:45:12 pontenn perdition[28472]: username_add_domain: 
username_add_doma
in 0 4
Feb 14 07:45:12 pontenn perdition[28472]: REAL:   "* OK [CAPABILITY 
IMAP4REV1 X-
NETSCAPE LOGIN-REFERRALS AUTH=LOGIN] IMAP4rev1 Free\r\n"
Feb 14 07:45:12 pontenn perdition[28472]: SELF:   "flim07 CAPABILITY\r\n"
Feb 14 07:45:12 pontenn perdition[28472]: REAL:   "* CAPABILITY 
IMAP4REV1 X-NETS
CAPE NAMESPACE MAILBOX-REFERRALS SCAN SORT THREAD=REFERENCES 
THREAD=ORDEREDSUBJE
CT MULTIAPPEND LOGIN-REFERRALS AUTH=LOGIN\r\nflim07 OK Completed\r\n"
Feb 14 07:45:12 pontenn perdition[28472]: SELF:   "flim08 LOGIN {12}\r\n"
Feb 14 07:45:12 pontenn perdition[28472]: REAL:   "+ go ahead\r\n"
Feb 14 07:45:12 pontenn perdition[28472]: SELF:   "mathieu.coic {8}\r\n"
Feb 14 07:45:15 pontenn perdition[28472]: REAL:   "flim08 NO LOGIN 
failed\r\n"
Feb 14 07:45:15 pontenn perdition[28472]: imap4_out_response: invalid 
tag from s
erver 1

The client send well the login et the password for my account.
Is there a way for perdition to not send "flim08 LOGIN" ?
    
I am a little confused about what is going wrong here.
Or more specifically why the real-server (exchange) is rejecting the login
even though the password hasn't been supplied.

I suspect that it doesn't like the way that perdition is concatenating
its string-literals. Is there any possibility that you could give me
IMAP access to an exchange server to test against? I wouldn't necessarily
need a valid login to check this problem.

  

Sorry I did not describe my problem clearly. There is 2 Mail servers. One is imap.free.fr and the other one is the Exchange Server.
For the imap.free.fr server, that is the result when I log with a telnet connection :

$ telnet imap.free.fr 143
Trying 212.27.48.2...
Connected to imap.free.fr.
Escape character is '^]'.
* OK [CAPABILITY IMAP4REV1 X-NETSCAPE LOGIN-REFERRALS AUTH=LOGIN] IMAP4rev1 Free

a login mathieu.coic *********
a OK [CAPABILITY IMAP4rev1 ACL BINARY CATENATE CHILDREN CONDSTORE ENABLE ESEARCH
 ID IDLE LIST-EXTENDED LITERAL+ LOGIN-REFERRALS MULTIAPPEND NAMESPACE QRESYNC QU
OTA RIGHTS=ektx SASL-IR SEARCHRES UIDPLUS UNSELECT WITHIN] LOGIN completed
a logout
* BYE LOGOUT received
a OK Completed
Connection closed by foreign host.

I tried to add the imap capabilities in perdition.imap4.conf but it's not working...


  
2 - My second problem is the connection with an Exchange server. I used 
a mobile phone which has a Exchange Client and it's the result of syslog :

Feb 14 07:51:25 pontenn perdition[28531]: SELF:   "* OK IMAP4 Ready 
fe80::2bd:3a
ff:fe72:ee46%eth1 0001e6ab\r\n"
Feb 14 07:51:25 pontenn perdition[28531]: CLIENT: "OPTIONS 
/Microsoft-Server-Act
iveSync HTTP/1.1\r\nAccept: */*\r\nAccept-Encoding: gzip\r\nUser-Agent: 
N900/1.1
\r\nHost: proxyv6.com\r\nConnection: Keep-Alive\r\nAuthorization: Basic 
dTEwNTQ2
MjptYUNvaTU2\r\nContent-Length: 0\r\n\r\n"
Feb 14 07:51:28 pontenn perdition[28531]: SELF:   "OPTIONS BAD 
Unrecognised comm
and, mate\r\n"
Feb 14 07:51:31 pontenn perdition[28531]: SELF:   "Accept: BAD 
Unrecognised comm
and, mate\r\n"
Feb 14 07:51:34 pontenn perdition[28531]: SELF:   "Accept-Encoding: BAD 
Unrecogn
ised command, mate\r\n"
Feb 14 07:51:37 pontenn perdition[28531]: SELF:   "User-Agent: BAD 
Unrecognised
command, mate\r\n"
Feb 14 07:51:40 pontenn perdition[28531]: SELF:   "Host: BAD 
Unrecognised comman
d, mate\r\n"
Feb 14 07:51:43 pontenn perdition[28531]: SELF:   "Connection: BAD 
Unrecognised
command, mate\r\n"
Feb 14 07:51:46 pontenn perdition[28531]: SELF:   "Authorization: BAD 
Unrecognis
ed command, mate\r\n"
Feb 14 07:51:49 pontenn perdition[28531]: SELF:   "Content-Length: BAD 
Unrecogni
sed command, mate\r\n"
Feb 14 07:51:52 pontenn perdition[28531]: SELF:   "* BAD Invalid tag, 
mate\r\n"
Feb 14 07:52:22 pontenn perdition[28531]: CLIENT: ""
Feb 14 07:52:22 pontenn perdition[28531]: token_read: token_fill_buffer
Feb 14 07:52:22 pontenn perdition[28531]: read_line: token_read
Feb 14 07:52:22 pontenn perdition[28531]: imap4_in_get_pw: read_imap4_line 1
Feb 14 07:52:22 pontenn perdition[28531]: main: protocol->in_get_pw

Can perdition just forward the flag OPTIONS to the Exchange server ?
    
I will check through the relevant RFCs, but yes, that sounds like a good
idea to me. Currently perdition doesn't understand the OPTIONS command and
is rejecting it (and getting confused too!) .

  
OK, thanks for the response.