Comments (1)
This is related to the serverSocket.setReuseAddress(true) call. Unfortunately
the result seems to be platform dependent. I tested the different combinations
on a recent Windows and Ubuntu.
Windows (Windows 7, OracleJDK 1.7.0_01):
-a second socket is opened on the same port (expect exception in modified
StartStopTest):
-setReuseAddress(true): all test passes (bad, likely a bug in the platform)
-setReuseAddress(false): exception (modified StartStopTest) (good)
-setReuseAddress not called: exception (modified StartStopTest) (good)
-a second socket is not opened on the same port (no exception is expected):
-setReuseAddress(true): all test passes (good)
-setReuseAddress(false): all test passes (good)
-setReuseAddress not called: all test passes (good)
Linux (Ubuntu 11.10, OpenJDK 1.7.0_147-icedtea):
-a second socket is opened on the same port (expect exception in modified
StartStopTest):
-setReuseAddress(true): exception (modified StartStopTest) (good)
-setReuseAddress(false): exception (MessageContentTest) (bad from our viewpoint but correct)
-setReuseAddress not called: exception (modified StartStopTest) (good)
-a second socket is not opened on the same port (no exception is expected):
-setReuseAddress(true): all test passes (good)
-setReuseAddress(false): exception (MessageContentTest) (bad from our viewpoint but correct)
-setReuseAddress not called: all test passes (good)
The "modified StartStopTest" is a test where two Wiser instances are started on
the same port. There is only one variant which works on both Windows and
Ubuntu: if we do not call setReuseAddress at all. It seems that either Windows
or the Windows version of the JDK does something wrong. I checked Subversion
log, and it does not seem that the call to setReuseAddress(true) was inserted
because of a specific issue. This, and that omitting this call does not cause
problems on two recent operating systems hopefully means that the removal of
the call will not cause any new problem on other modern platforms.
Original comment by [email protected]
on 6 Dec 2011 at 3:51
- Changed state: Fixed
- Added labels: ****
- Removed labels: ****
from subethasmtp.
Related Issues (20)
- SMTP Smuggling, malformed line ending support in subethasmtp?
- Restart of the SMTPServer by calling stop-start HOT 3
- migration vers github or bitbucket ? HOT 2
- If client supplies message size with no max size configured it is rejected.
- Sending Emails to other Receivers? HOT 1
- Wait for incoming email
- Using a shell script to test the SMTP server
- TLS WantClientAuth not supported (Patch)
- Is wiser sending acknoledgement to the mail sender
- What is the status of this project? HOT 42
- JMX monitoring of Number of Sessionthreads HOT 2
- Downloadable latest jar HOT 1
- can i send mail from '[email protected]' to '[email protected]' HOT 1
- TooMuchDataException in DATA command returns 421 code? HOT 2
- Hostname resolution causes issues with Graal HOT 1
- Attachment Download HOT 2
- Get client IP in AuthenticationHandlerFactory HOT 1
- Still alive? HOT 2
- Support nested brackets in EmailUtils.extractEmailAddress HOT 1
- Reforwarding the incoming email to another smtp server HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from subethasmtp.