In message: <[EMAIL PROTECTED]>
            [EMAIL PROTECTED] writes:
: Why does not connect(2) return any error when trying to connect to a host 
: unreachable because of an infinite loop in the routes? No time-out occurs and 
: the value 0 is returned by connect(2).

Hmmmmm, you are correct.  I was sure that you were nuts, but on
-current the following program returns no error at all...  Telnet
shows the same behavior.  This is clearly wrong.

#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <err.h>

int main(void)
{
    int fd;
    struct in_addr addr;
    struct sockaddr_in sa;
    int flags;

    fd = socket(PF_INET, SOCK_STREAM, 0);
    inet_aton("1.2.3.4", &addr);

    sa.sin_len = sizeof(sa);
    sa.sin_family = AF_INET;
    sa.sin_port = htons(1234);
    memcpy(&sa.sin_addr, &addr, sizeof(addr));
    if (connect(fd, (struct sockaddr *) &sa, sizeof(sa)))
        err(1, "connect");
    exit(0);
}
_______________________________________________
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to