Mail Archives: cygwin/2010/03/11/05:04:15
On Mar 10 18:24, Brian Minton wrote:
> I'm having the same issue. I just tried it with mtr 0.75 under cygwin
> 1.7.1 and it is still not working.
>
> On Wed, Jan 21, 2009 at 5:55 PM, David Arnstein <arnstein AT panix DOT com> wrote:
> > I am able to compile mtr 0.75 under Cygwin, see
> > http://www.bitwizard.nl/mtr/.
> >
> > But mtr is not working. Using ddd, I see that the call
> > getsockname (recvsock, name, &len);
> >
> > does not seem to be filling in name correctly, when recvsock=3. It
> > fills in name->sa_family = 0.
> >
> > Any suggestions?
Did socket creation succeed? mtr uses raw sockets and those can only be
created by admin users since XP. Since Vista, you must also run the
application in an elevated shell. I just tested to create such a socket
and getsockname works fine for me:
bash$ cat > sockname.c <<EOF
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <sys/socket.h>
int
main (int argc, char **argv)
{
int fd;
int ret;
int val;
socklen_t siz;
struct sockaddr sa;
fd = socket(AF_INET, SOCK_RAW, 0);
if (fd >= 0)
{
ret = getsockname (fd, &sa, (siz = sizeof sa, &siz));
if (!ret)
printf ("family: %d\n", sa.sa_family);
else
printf ("errno: %d (%s)\n", errno, strerror (errno));
close (fd);
}
return 0;
}
EOF
bash$ gcc -o sockname sockname.c
bash$ ./sockname
family: 2
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -