Changeset 176
- Timestamp:
- 01/08/08 21:56:26 (1 year ago)
- Files:
-
- trunk/jsmtpd/src/org/jsmtpd/Controler.java (modified) (2 diffs)
- trunk/jsmtpd/src/org/jsmtpd/config/ReadConfig.java (modified) (4 diffs)
- trunk/jsmtpd/src/org/jsmtpd/core/receive/ProtocolHandler.java (modified) (3 diffs)
- trunk/jsmtpd/src/org/jsmtpd/core/receive/SslReceiver.java (modified) (1 diff)
- trunk/jsmtpd/src/org/jsmtpd/core/send/DeliveryHandler.java (modified) (1 diff)
- trunk/jsmtpd/src/org/jsmtpd/core/send/DeliveryPicker.java (modified) (1 diff)
- trunk/jsmtpd/src/org/jsmtpd/core/send/QueueService.java (modified) (1 diff)
- trunk/jsmtpd/src/org/jsmtpd/generic/ressourceControl/MemControler.java (deleted)
- trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/MaildirWriter.java (modified) (1 diff)
- trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/RemoteSmtpSender.java (modified) (1 diff)
- trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/SMTPRelay.java (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/jsmtpd/src/org/jsmtpd/Controler.java
r175 r176 126 126 return false; 127 127 } 128 log.info("Jsmtpd " + ReadConfig.getInstance().get Version() + ", Copyright (C) 2005 Jean-Francois Poux - jfp@jsmtpd.org");128 log.info("Jsmtpd " + ReadConfig.getInstance().getProperty("version") + ", Copyright (C) 2005 Jean-Francois Poux - jfp@jsmtpd.org"); 129 129 log.info("Jsmtpd comes with ABSOLUTELY NO WARRANTY;"); 130 130 log.info("This is free software, and you are welcome to redistribute it under certain conditions;"); … … 232 232 public boolean initReceiver() { 233 233 try { 234 rec = new Receiver(ReadConfig.getInstance().get RPort(), ReadConfig.getInstance().getRMaxInstances());235 if ("on".equals(ReadConfig.getInstance().getProp s().getProperty("ssl"))) {236 int sslPort = Integer.parseInt(ReadConfig.getInstance().getProp s().getProperty("sslPort"));237 sslReceiver = new SslReceiver(sslPort, ReadConfig.getInstance().get RMaxInstances());234 rec = new Receiver(ReadConfig.getInstance().getIntegerProperty("rPort"), ReadConfig.getInstance().getIntegerProperty("rMaxInstances")); 235 if ("on".equals(ReadConfig.getInstance().getProperty("ssl"))) { 236 int sslPort = Integer.parseInt(ReadConfig.getInstance().getProperty("sslPort")); 237 sslReceiver = new SslReceiver(sslPort, ReadConfig.getInstance().getIntegerProperty("rMaxInstances")); 238 238 } 239 239 } catch (IOException e1) { trunk/jsmtpd/src/org/jsmtpd/config/ReadConfig.java
r174 r176 30 30 * @author Jean-Francois POUX 31 31 */ 32 public class ReadConfig { 33 34 Properties props = new Properties(); 32 public class ReadConfig extends Properties { 35 33 private static ReadConfig instance = null; 36 34 37 public Properties getProps() { 38 return props; 39 } 40 41 private ReadConfig() { 42 43 } 35 private ReadConfig() {} 44 36 45 37 public static ReadConfig getInstance() { … … 56 48 public void loadConfig(String configFile) throws ConfigErrorException { 57 49 try { 58 props.load(new FileInputStream(configFile));50 this.load(new FileInputStream(configFile)); 59 51 } catch (Exception e) { 60 52 throw new ConfigErrorException(e); … … 62 54 } 63 55 64 /** 65 * @return the version of jsmtpd 66 */ 67 public String getVersion() { 68 return (props.getProperty("version", "NA")); 56 public int getIntegerProperty (String name) { 57 return Integer.parseInt(name); 69 58 } 70 71 /** 72 * @return the tcp port where the listener is bound to 73 */ 74 public int getRPort() { 75 return Integer.parseInt(props.getProperty("rPort", "25").trim()); 59 60 public boolean getBooleanProperty (String name) { 61 return Boolean.parseBoolean(name); 76 62 } 77 78 /** 79 * @return number of threads to be spawn for handling receiving service 80 */ 81 public int getRMaxInstances() { 82 return Integer.parseInt(props.getProperty("rMaxInstances", "10").trim()); 83 } 84 85 /** 86 * 87 * @return the temporary path where to store the mails 88 */ 89 public String getTempPath() { 90 return props.getProperty("temporaryFolder", "tmp/"); 91 } 92 93 /** 94 * @return maximum temporary disk usage in Mo 95 */ 96 public int getMaxTemporarySize() { 97 return Integer.parseInt(props.getProperty("maxTemporarySize", "1024").trim()); 98 } 99 100 /** 101 * 102 * @return maximum incoming message size in Mo 103 */ 104 public int getMaxMessageSize() { 105 return Integer.parseInt(props.getProperty("maxMessageSize", "10").trim()); 106 } 107 108 /** 109 * 110 * @return all connections are aborted after this time in seconds 111 */ 112 public int getConnectionTimeout() { 113 return Integer.parseInt(props.getProperty("connectionTimeout", "20").trim()); 114 } 115 116 /** 117 * @return local domain name, must be FQDN 118 */ 119 public String getLocalDomain() { 120 return props.getProperty("localHost", "taldius.ath.cxx").trim(); 121 } 122 123 /** 124 * @return number of thread spawn fo delivery service 125 */ 126 public int getDMaxInstances() { 127 return Integer.parseInt(props.getProperty("dMaxInstances", "10").trim()); 128 } 129 63 130 64 /** 131 65 * … … 133 67 */ 134 68 public boolean getSafeMode() { 135 if ( props.getProperty("safeMode", "on").trim().equals("on"))69 if (getProperty("safeMode", "on").trim().equals("on")) 136 70 return true; 137 71 return false; 138 } 139 140 /** 141 * 142 * @return path to store any mails in safe mode 143 */ 144 public String getSafeModePath() { 145 return props.getProperty("safeModeFolder", "safeModeFolder/"); 146 } 147 /** 148 * @return number of retries before a mail is lost 149 */ 150 public int getMaxRetries() { 151 return Integer.parseInt(props.getProperty("dNumRetry", "48").trim()); 152 } 153 /** 154 * @return delay between retries in minutes 155 */ 156 public int getDelayRetry() { 157 return Integer.parseInt(props.getProperty("dDelayRetry", "30").trim()); 158 } 159 160 public String getSyslog() { 161 return props.getProperty("syslogServer", ""); 162 } 163 public int getMaxRcpt () { 164 return Integer.parseInt(props.getProperty("maxRcpt","100")); 165 } 72 } 166 73 } trunk/jsmtpd/src/org/jsmtpd/core/receive/ProtocolHandler.java
r175 r176 103 103 * Maximum message size, in ko. 104 104 */ 105 private int maxMessageSize = ReadConfig.getInstance().get MaxMessageSize();105 private int maxMessageSize = ReadConfig.getInstance().getIntegerProperty("maxMessageSize"); 106 106 /** 107 107 * Connection will fail after this timeout 108 108 */ 109 private int timeout = ReadConfig.getInstance().get ConnectionTimeout();109 private int timeout = ReadConfig.getInstance().getIntegerProperty("connectionTimeout"); 110 110 /** 111 111 * ACL pluggin to use to check if this mail is to be accepted or not … … 121 121 * Our hostname 122 122 */ 123 private String localHost = ReadConfig.getInstance().get LocalDomain();123 private String localHost = ReadConfig.getInstance().getProperty("localHost"); 124 124 125 125 /** … … 155 155 private String authContext = null; 156 156 157 private int maxRcpt =ReadConfig.getInstance().get MaxRcpt();157 private int maxRcpt =ReadConfig.getInstance().getIntegerProperty("maxRcpt"); 158 158 159 159 public void init(Socket sock,boolean secured) { trunk/jsmtpd/src/org/jsmtpd/core/receive/SslReceiver.java
r174 r176 23 23 24 24 public void initSslEnv() { 25 URL url = this.getClass().getClassLoader().getResource(ReadConfig.getInstance().getProp s().getProperty("sslKeystore"));25 URL url = this.getClass().getClassLoader().getResource(ReadConfig.getInstance().getProperty("sslKeystore")); 26 26 if (url != null) { 27 27 String ks = url.getFile(); 28 28 System.setProperty("javax.net.ssl.keyStore", ks); 29 System.setProperty("javax.net.ssl.keyStorePassword", ReadConfig.getInstance().getProp s().getProperty("sslPassword"));29 System.setProperty("javax.net.ssl.keyStorePassword", ReadConfig.getInstance().getProperty("sslPassword")); 30 30 } else { 31 31 log.info("keystore file not found, SSL not available"); trunk/jsmtpd/src/org/jsmtpd/core/send/DeliveryHandler.java
r175 r176 67 67 68 68 public DeliveryHandler() { 69 ReadConfig cfg = ReadConfig.getInstance();69 ReadConfig readConfig = ReadConfig.getInstance(); 70 70 acl = PluginStore.getInstance().getAcl(); 71 71 local = PluginStore.getInstance().getLocalDeliveryService(); 72 72 remote = PluginStore.getInstance().getRemoteDeliveryService(); 73 73 dsvc = QueueService.getInstance(); 74 runningHost= cfg.getLocalDomain();75 maxRetries = cfg.getMaxRetries();76 retryDelay = cfg.getDelayRetry();74 runningHost=readConfig.getProperty("localHost"); 75 maxRetries = readConfig.getIntegerProperty("dNumRetry"); 76 retryDelay = readConfig.getIntegerProperty("dDelayRetry"); 77 77 } 78 78 trunk/jsmtpd/src/org/jsmtpd/core/send/DeliveryPicker.java
r142 r176 38 38 39 39 public DeliveryPicker() throws InstantiationException, IllegalAccessException, ClassNotFoundException { 40 ReadConfig cfg = ReadConfig.getInstance();40 ReadConfig readConfig = ReadConfig.getInstance(); 41 41 queueService= QueueService.getInstance(); 42 int numThreads = cfg.getDMaxInstances();42 int numThreads = readConfig.getIntegerProperty("dMaxInstances"); 43 43 pool = new GrowingThreadPool(numThreads, "org.jsmtpd.core.send.DeliveryWorker","S"); 44 44 this.start(); trunk/jsmtpd/src/org/jsmtpd/core/send/QueueService.java
r175 r176 218 218 219 219 private QueueService() { 220 ReadConfig cfg = ReadConfig.getInstance();221 tempPath = cfg.getTempPath();222 retryDelay = cfg.getDelayRetry() * 60 * 1000;220 ReadConfig readConfig = ReadConfig.getInstance(); 221 tempPath = readConfig.getProperty("temporaryFolder"); 222 retryDelay = readConfig.getIntegerProperty("dDelayRetry") * 60 * 1000; 223 223 retryDir = new File(tempPath + "/mqueue/retry"); 224 224 pendingDir = new File(tempPath + "/mqueue/pending"); 225 fastServ = cfg.getDMaxInstances() * 2;225 fastServ = readConfig.getIntegerProperty("dMaxInstances") * 2; 226 226 log.debug("Buffer set to " + fastServ + " messages max for immediate processing"); 227 maxDiskSize = cfg.getMaxTemporarySize() * 1048576;227 maxDiskSize = readConfig.getIntegerProperty("maxTemporarySize") * 1048576; 228 228 initDiskCount(new File(tempPath)); 229 229 log.debug("Storage usage "+getStorageStats()); 230 safeMode = cfg.getSafeMode();230 safeMode = readConfig.getSafeMode(); 231 231 if (safeMode) 232 232 log.info("Safe Mode on"); 233 safeModePath = cfg.getSafeModePath();233 safeModePath = readConfig.getProperty("safeModeFolder"); 234 234 } 235 235 private String getStorageStats () { trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/MaildirWriter.java
r140 r176 56 56 private String basePath="/var/mail"; 57 57 private String postPath=""; 58 private String host = ReadConfig.getInstance().get LocalDomain();58 private String host = ReadConfig.getInstance().getProperty("localHost"); 59 59 private Log log = LogFactory.getLog(MaildirWriter.class); 60 60 private IChown chown = new UnixChown(); trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/RemoteSmtpSender.java
r163 r176 129 129 */ 130 130 public void initPlugin() throws PluginInitException { 131 smtpHostName = ReadConfig.getInstance().get LocalDomain();131 smtpHostName = ReadConfig.getInstance().getProperty("localHost"); 132 132 try { 133 133 Inet4Address localhost = (Inet4Address) InetAddress.getByName("127.0.0.1"); trunk/jsmtpd/src/org/jsmtpd/plugins/deliveryServices/SMTPRelay.java
r136 r176 114 114 115 115 public void initPlugin() throws PluginInitException { 116 smtpHostName = ReadConfig.getInstance().get LocalDomain();116 smtpHostName = ReadConfig.getInstance().getProperty("localHost"); 117 117 } 118 118
