Mail Archives: cygwin-developers/2003/02/21/14:04:22
--Boundary_(ID_7uhpVXzDggPLEcsrMVZoUQ)
Content-type: text/plain; charset=us-ascii
Content-transfer-encoding: 7BIT
Content-disposition: inline
Pierre,
On Fri, Feb 21, 2003 at 01:22:01PM -0500, Pierre A. Humblet wrote:
> Jason Tishler wrote:
> > I just upgraded exim to 4.12-3 from 4.10-2 and exim started to
> > misbehave when run under Cygwin CVS (from 2003-02-20).
> >
> > First, I noticed the following in exim's log file:
> >
> > 2003-02-21 11:06:10 cannot find smtp/tcp service when starting daemon
> >
> > Under strace or gdb, the above problem did not occur. Instead, I
> > got the following:
> >
> > 2003-02-21 11:11:06 IPv4 socket creation failed: Operation not permitted
> >
> > which is further on during the initialization of the daemon.
>
> Has this part of the exim daemon changed between 4.10 and 4.12?
AFAICT, no.
> This reminds me of something similar, possibly last month. Look for
> "exim", "services", "gerritt" In the end it was because exim was
> running as a special user who didn't have permission on the whole tree
> under c:\winnt. First make sure Everybody has rx access to it.
I found some 770s, changed them to 775, but still no luck.
The above doesn't explain why the attached works when run under the exim
account even with the "bad" permissions:
$ ssh exim AT localhost /tmp/getservbyname
getservbyname(smtp, tcp) succeeded
port = 6400
It also doesn't explain with gdb and strace "fixed" the bad permissions
too.
Thanks,
Jason
--
PGP/GPG Key: http://www.tishler.net/jason/pubkey.asc or key servers
Fingerprint: 7A73 1405 7F2B E669 C19D 8784 1AFD E4CC ECF4 8EF6
--Boundary_(ID_7uhpVXzDggPLEcsrMVZoUQ)
Content-type: text/plain; charset=us-ascii; NAME=getservbyname.cc
Content-transfer-encoding: 7BIT
Content-disposition: attachment; filename=getservbyname.cc
#include <stdio.h>
#include <netdb.h>
int
main()
{
struct servent *smtp_service;
smtp_service = getservbyname("smtp", "tcp");
if (smtp_service)
{
printf("getservbyname(smtp, tcp) succeeded\n");
printf("port = %d\n", smtp_service->s_port);
}
else
{
printf("getservbyname(smtp, tcp) failed\n");
}
return 0;
}
--Boundary_(ID_7uhpVXzDggPLEcsrMVZoUQ)--
- Raw text -