You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ji...@apache.org on 2004/06/07 00:14:54 UTC
[jira] Closed: (JAMES-24) fix for SMTP AUTH for Mac clients
Message:
The following issue has been closed.
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/JAMES-24
Here is an overview of the issue:
---------------------------------------------------------------------
Key: JAMES-24
Summary: fix for SMTP AUTH for Mac clients
Type: Bug
Status: Closed
Resolution: FIXED
Project: James
Components:
SMTPServer
Versions:
2.0a2
Assignee:
Reporter: Giles Chanot
Created: Tue, 26 Feb 2002 11:30 AM
Updated: Sun, 6 Jun 2004 3:14 PM
Environment: Operating System: All
Platform: All
Description:
SMTP AUTH on Mac clients (Outlook Express 5.0.2/5.0.3 and Mac OS X mail client)
doesn't currently work with James 2.0a2.
The following changes to SMTPHandler.java seem to fix the issue:
private void doHELO(String command,String argument,String argument1) {
if (state.containsKey(CURRENT_HELO_MODE)) {
out.println("250 " + state.get(SERVER_NAME)
+ " Duplicate HELO");
} else if (argument == null) {
out.println("501 domain address required: " + command);
} else {
state.put(CURRENT_HELO_MODE, command);
state.put(NAME_GIVEN, argument);
out.println( "250-" + state.get(SERVER_NAME) + " Hello "
+ argument + " (" + state.get(REMOTE_NAME)
+ " [" + state.get(REMOTE_IP) + "])");
if (authRequired) {
out.println("250 AUTH LOGIN PLAIN");
}
}
}
private void doEHLO(String command,String argument,String argument1) {
if (state.containsKey(CURRENT_HELO_MODE)) {
out.println("250 " + state.get(SERVER_NAME)
+ " Duplicate EHLO");
} else if (argument == null) {
out.println("501 domain address required: " + command);
} else {
state.put(CURRENT_HELO_MODE, command);
state.put(NAME_GIVEN, argument);
if (maxmessagesize > 0) {
out.println("250-SIZE " + maxmessagesize);
}
out.println( "250-" + state.get(SERVER_NAME) + " Hello "
+ argument + " (" + state.get(REMOTE_NAME)
+ " [" + state.get(REMOTE_IP) + "])");
if (authRequired) {
out.println("250 AUTH LOGIN PLAIN");
}
}
}
Basically, the Hello response from the server was coming after the 250 AUTH
message, and doHELO() wasn't doing the 250 AUTH message at all.
See also the challenge string fix I posted to a previous bug (necessary for
other clients).
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org