mirror of
https://github.com/moparisthebest/davmail
synced 2025-02-28 01:11:57 -05:00
Feature request 1783605: allow outside server connections
git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@76 3d1905a2-6b24-0410-a738-b14d5a86fcbd
This commit is contained in:
parent
5fea29a973
commit
5b66e52343
@ -41,7 +41,8 @@ public abstract class AbstractServer extends Thread {
|
||||
clientSocket = serverSocket.accept();
|
||||
DavGatewayTray.debug("Connection from " + clientSocket.getInetAddress() + " on port " + port);
|
||||
// only accept localhost connections for security reasons
|
||||
if (clientSocket.getInetAddress().toString().indexOf("127.0.0.1") > 0) {
|
||||
if (Settings.getBooleanProperty("davmail.allowRemote") ||
|
||||
clientSocket.getInetAddress().toString().indexOf("127.0.0.1") > 0) {
|
||||
connection = createConnectionHandler(clientSocket);
|
||||
connection.start();
|
||||
} else {
|
||||
|
@ -44,6 +44,7 @@ public class Settings {
|
||||
SETTINGS.put("davmail.popPort", "1110");
|
||||
SETTINGS.put("davmail.smtpPort", "1025");
|
||||
SETTINGS.put("davmail.keepDelay", "30");
|
||||
SETTINGS.put("davmail.allowRemote", "false");
|
||||
SETTINGS.put("davmail.enableProxy", "false");
|
||||
SETTINGS.put("davmail.proxyHost", "");
|
||||
SETTINGS.put("davmail.proxyPort", "");
|
||||
@ -103,4 +104,15 @@ public class Settings {
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public static synchronized boolean getBooleanProperty(String property) {
|
||||
boolean value = false;
|
||||
try {
|
||||
String propertyValue = SETTINGS.getProperty(property);
|
||||
value = "true".equals(propertyValue);
|
||||
} catch (NumberFormatException e) {
|
||||
DavGatewayTray.error("Invalid setting value in " + property, e);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ public class SettingsFrame extends JFrame {
|
||||
public SettingsFrame() {
|
||||
setTitle("DavMail Settings");
|
||||
|
||||
JPanel panel = new JPanel(new GridLayout(4, 2));
|
||||
JPanel panel = new JPanel(new GridLayout(5, 2));
|
||||
panel.setBorder(BorderFactory.createTitledBorder("Gateway settings"));
|
||||
|
||||
final JTextField urlField = new JTextField(Settings.getProperty("davmail.url"), 15);
|
||||
@ -29,10 +29,16 @@ public class SettingsFrame extends JFrame {
|
||||
final JTextField keepDelayField = new JTextField(Settings.getProperty("davmail.keepDelay"), 4);
|
||||
keepDelayField.setToolTipText("Number of days to keep messages in trash");
|
||||
|
||||
boolean allowRemote = "true".equals(Settings.getProperty("davmail.allowRemote"));
|
||||
final JCheckBox allowRemoteField = new JCheckBox();
|
||||
allowRemoteField.setSelected(allowRemote);
|
||||
allowRemoteField.setToolTipText("Allow remote connections to the gateway (server mode)");
|
||||
|
||||
addSettingComponent(panel, "OWA url: ", urlField);
|
||||
addSettingComponent(panel, "Local POP port: ", popPortField);
|
||||
addSettingComponent(panel, "Local SMTP port: ", smtpPortField);
|
||||
addSettingComponent(panel, "Keep Delay: ", keepDelayField);
|
||||
addSettingComponent(panel, "Allow Remote Connections: ", allowRemoteField);
|
||||
|
||||
add("North", panel);
|
||||
|
||||
@ -45,7 +51,7 @@ public class SettingsFrame extends JFrame {
|
||||
final JTextField httpProxyField = new JTextField(Settings.getProperty("davmail.proxyHost"), 15);
|
||||
final JTextField httpProxyPortField = new JTextField(Settings.getProperty("davmail.proxyPort"), 4);
|
||||
final JTextField httpProxyUserField = new JTextField(Settings.getProperty("davmail.proxyUser"), 4);
|
||||
final JTextField httpProxyPasswordField = new JPasswordField (Settings.getProperty("davmail.proxyPassword"), 4);
|
||||
final JTextField httpProxyPasswordField = new JPasswordField(Settings.getProperty("davmail.proxyPassword"), 4);
|
||||
|
||||
httpProxyField.setEnabled(enableProxy);
|
||||
httpProxyPortField.setEnabled(enableProxy);
|
||||
@ -76,10 +82,11 @@ public class SettingsFrame extends JFrame {
|
||||
ActionListener save = new ActionListener() {
|
||||
public void actionPerformed(ActionEvent evt) {
|
||||
// save options
|
||||
Settings.setProperty("davmail.url", urlField.getText());
|
||||
Settings.setProperty("davmail.url", urlField.getText());
|
||||
Settings.setProperty("davmail.popPort", popPortField.getText());
|
||||
Settings.setProperty("davmail.smtpPort", smtpPortField.getText());
|
||||
Settings.setProperty("davmail.keepDelay", keepDelayField.getText());
|
||||
Settings.setProperty("davmail.allowRemote", String.valueOf(allowRemoteField.isSelected()));
|
||||
Settings.setProperty("davmail.enableProxy", String.valueOf(enableProxyField.isSelected()));
|
||||
Settings.setProperty("davmail.proxyHost", httpProxyField.getText());
|
||||
Settings.setProperty("davmail.proxyPort", httpProxyPortField.getText());
|
||||
|
Loading…
x
Reference in New Issue
Block a user