Author: eric
Date: Tue Aug 31 10:48:03 2010
New Revision: 991150
URL: http://svn.apache.org/viewvc?rev=991150&view=rev
Log:
Fetchmail is now working again (JAMES-1038)
Modified:
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
Modified:
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
---
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
(original)
+++
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
Tue Aug 31 10:48:03 2010
@@ -33,9 +33,11 @@ import java.util.Properties;
import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.Session;
+import javax.security.auth.login.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
+import org.apache.commons.configuration.HierarchicalConfiguration.Node;
import org.apache.commons.logging.Log;
import org.apache.james.api.dnsservice.DNSService;
import org.apache.james.api.user.UsersRepository;
@@ -448,20 +450,21 @@ public class FetchMail implements Runnab
if (accounts.getKeys().hasNext() == false)
throw new ConfigurationException("Missing <account> section.");
- // Create an Account for every configured account
- Iterator<String> accountsChildren = accounts.getKeys();
-
+ List<Node> accountsChildren = accounts.getRoot().getChildren();
int i = 0;
- while (accountsChildren.hasNext()){
- String accountsChildName = accountsChildren.next();
- HierarchicalConfiguration accountsChild =
accounts.configurationAt(accountsChildName);
+ // Create an Account for every configured account
+ for (Node accountsChild: accountsChildren) {
+
+ String accountsChildName = accountsChild.getName();
+
+ HierarchicalConfiguration accountsChildConfig =
accounts.configurationAt(accountsChildName);
if ("alllocal".equals(accountsChildName))
{
// <allLocal> is dynamic, save the parameters for accounts to
// be created when the task is triggered
getParsedDynamicAccountParameters().add(
- new ParsedDynamicAccountParameters(i, accountsChild));
+ new ParsedDynamicAccountParameters(i,
accountsChildConfig));
continue;
}
@@ -473,12 +476,12 @@ public class FetchMail implements Runnab
new Account(
i,
parsedConfiguration,
- accountsChild.getString("[...@user]"),
- accountsChild.getString("[...@password]"),
- accountsChild.getString("[...@recipient]"),
- accountsChild.getBoolean(
+ accountsChildConfig.getString("[...@user]"),
+ accountsChildConfig.getString("[...@password]"),
+ accountsChildConfig.getString("[...@recipient]"),
+ accountsChildConfig.getBoolean(
"[...@ignorercpt-header]"),
- accountsChild.getString("[...@customrcpt-header]",""),
+
accountsChildConfig.getString("[...@customrcpt-header]",""),
getSession()));
continue;
}
Modified:
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
---
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
(original)
+++
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
Tue Aug 31 10:48:03 2010
@@ -75,8 +75,7 @@ public class FetchScheduler implements F
private UsersRepository urepos;
-
-
+
private Log logger;
@Resource(name="scheduler")
@@ -105,7 +104,6 @@ public class FetchScheduler implements F
this.logger = logger;
}
-
public final void configure(HierarchicalConfiguration config) throws
ConfigurationException{
this.conf = config;
}
@@ -127,11 +125,14 @@ public class FetchScheduler implements F
Long interval = fetchConf.getLong("interval");
FetchMail fetcher = new FetchMail();
+
fetcher.setLog(logger);
- fetcher.configure(fetchConf);
fetcher.setDNSService(dns);
fetcher.setMailServer(mailserver);
fetcher.setUsersRepository(urepos);
+
+ fetcher.configure(fetchConf);
+
// initialize scheduling
schedulers.add(scheduler.scheduleWithFixedDelay(fetcher, 0,
interval, TimeUnit.MILLISECONDS));
}
Modified:
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
---
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
(original)
+++
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
Tue Aug 31 10:48:03 2010
@@ -886,10 +886,9 @@ public class MessageProcessor extends Pr
* @param recipient
* @return boolean
*/
- @SuppressWarnings("deprecation")
protected boolean isLocalRecipient(MailAddress recipient)
{
- return isLocalServer(recipient) &&
getLocalUsers().contains(recipient.getUser());
+ return isLocalServer(recipient) &&
getLocalUsers().contains(recipient.toString());
}
/**
Modified:
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
---
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
(original)
+++
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
Tue Aug 31 10:48:03 2010
@@ -357,7 +357,7 @@ class ParsedConfiguration
recipientNotFound.getBoolean("[...@leaveonserver]"));
setMarkRecipientNotFoundSeen(
recipientNotFound.getBoolean("[...@markseen]"));
- setDefaultDomainName(conf.getString("defaultdomain"));
+ setDefaultDomainName(conf.getString("defaultdomain", "localhost"));
setFetchAll(conf.getBoolean("fetchall"));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]