Print Page | Close Window

Could not bind socket on W2K

Printed From: LogSat Software
Category: Spam Filter ISP
Forum Name: Spam Filter ISP Support
Forum Description: General support for Spam Filter ISP
URL: https://www.logsat.com/spamfilter/forums/forum_posts.asp?TID=60
Printed Date: 27 December 2024 at 2:25am


Topic: Could not bind socket on W2K
Posted By: Guests
Subject: Could not bind socket on W2K
Date Posted: 29 March 2003 at 12:00am

When I click on Save Settings and Apply, Spamfilter responds with the error dialogue "Could not bind socket. Address and port are already in use." Which IP address is already in use - the listen or the destination? I suspect the destination because I've just newly created the listener IP address. But the destination address should be in use. It's my SMTP server. Any ideas?

I am behind a firewall, and will use the firewall to redirect SMTP traffic to a "second" IP address that I've created on the email server's NIC. I've configured Spamfilter to listen on port 25 of that IP address, so that's the IP in the SMTP Listener Socket field. The MS Exchange SMTP server already is listening on port 25 of the "primary" IP address on that NIC. I've set that IP address in the destination server field. If this is incorrect, can someone explain why?

I've set the FQDN (fully qualified domain name?) to extrasight.com, the main domain from which we provide ASP services. Is that correct?




Replies:
Posted By: LogSat
Date Posted: 29 March 2003 at 12:00am

We'll answer in reverse order.

The FQDN is the name that appears in the welcome banner that SpamFilter sends out when a server connects to it. So yes, extrasight.com is fine. It may be even better to place there the DNS name as it appears in your MX record.

Your configuration is correct. SpamFilter listening on an IP, and then setting its "destination" to the Exchange's IP.

The error "Could not bind socket. Address and port are already in use" is caused by the SpamFilter not being able to create a listening socket. The "destination" IP is simply where email will be forwarded to, SpamFilter will not try to bind to that address, is will only make a connection to it to deliver email to it. Going back to the error, it means that the IP:port listed in the "listen" field is already taken by another application. Are you sure that Exchange is not configured to bind to ALL IPs on the NIC card? That would be the most likely cause.

It should not be the case with Exchange, but we have seen cases of some mail servers that offer no other options but to bind to all IPs on a server. They cannot be configured to listen to a particular IP. The solution in that case is to force SpamFilter's service to start *before* the mail server, by using service dependencies. THe theory is to specify in the registry entry for the other mail service that it depends on the SpamFilter service. This will cause it to wait until SpamFilter is started before starting itself. Once SpamFilter has started, the listening IP will be in use by SpamFilter, and the mail server will not bind to it.

Roberto Franceschetti LogSat Software



Posted By: Guests
Date Posted: 29 March 2003 at 12:00am

Roberto,

On further investigation, SMTP now fails to start on x.x.0.3:25 when SpamFilter is bound on x.x.3.1:25. NNTP as reported is bound only to x.x.0.3. I get the following error message in the system error logs:

Event Type: Error Event Source: SMTPSVC Event Category: None Event ID: 115 Date: 3/30/2003 Time: 11:28:22 PM User: N/A Computer: ES03 Description: The service could not bind instance 1. The data is the error code. For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp" CLASS="ASPForums" TITLE="WARNING: URL created by poster. - http://www.microsoft.com/contentredirect.asp" CLASS="ASPForums" TITLE="WARNING: URL created by poster. - http://www.microsoft.com/contentredirect.asp . Data: 0000: 40 27 00 00 @'..



Posted By: LogSat
Date Posted: 29 March 2003 at 12:00am

Robert,

If you leave the "Listen" field in SpamFilter blank, SpamFilter will bind to all IPs in the NIC. If you do specify an IP, it will only bind to it.

You can verify that this is so by making a copy of the SpamFilter directory to another location, and changing the ListenIP and ListenPort in the spamfilter.ini copy to x.x.0.3 and 25 and the starting the second instance of SpamFilter in addition to your first one. If both copies can run at the same time without "bind on socket" errors, then you'll know SpamFilter is only taking up a single IP/port combination, and that you need to look on the SMTPSVC side for a problem.

Roberto



Posted By: Guests
Date Posted: 29 March 2003 at 12:00am

Roberto,

Thanks. All Exchange Server protocols except NNTP were set to bind to the specific IP address. NNTP was, as you surmised, set to bind to all. After rebooting the box, SpamFilter seems to have started; and SMTP and NNTP are also running.

I did have a start failure error message in the event log for SMTP, which I have not been able to figure out. Will do further testing because the service is listed as started (running) on the W2K services list.

Thanks,

Robert Shelton



Posted By: Guests
Date Posted: 29 March 2003 at 12:00am

I've clicked the button to create the service. That was successful, but the service fails on start. Here is the full error message from the Application event log:

Event Type: Error Event Source: SpamFilterSvc.exe Event Category: None Event ID: 0 Date: 3/28/2003 Time: 9:48:45 PM User: N/A Computer: ES03 Description: The description for Event ID ( 0 ) in Source ( SpamFilterSvc.exe ) cannot be found. The local computer may not have the necessary registry information or message DLL files to display messages from a remote computer. The following information is part of the event: Could not bind socket. Address and port are already in use..



Posted By: LogSat
Date Posted: 29 March 2003 at 12:00am

The SpamFilter service works just like the standalone version. If the non-service application errors out, the service will do the same.




Print Page | Close Window