Date: Wed, 20 Sep 2000 13:00:11 +1100 (EST) From: Stanley Hopcroft <Stanley.Hopcroft@IPAustralia.Gov.AU> To: questions@FreeBSD.ORG Subject: Re: 4.1-RELEASE + Library functions: syslog Message-ID: <Pine.BSF.4.21.0009201249470.553-100000@stan>
next in thread | raw e-mail | index | archive | help
Dear Ladies and Gentlemen, I am writing to say that I am not sure where this problem is located, despite the program behaving differently on 3.4-RELEASE to 4.1-RELEASE. A test program #include <strings.h> #include <stdio.h> #include <sys/types.h> #include <netinet/in.h> #include <arpa/inet.h> #include <syslog.h> #define FACILITY LOG_USER /* default */ int main(int argc, char *argv[]) { struct sockaddr_in addr ; struct in_addr my_addr ; if ( argc != 2) { printf("Usage: %s dotted decimal IP address\n", argv[0]) ; return(1) ; } bzero(&addr, sizeof(addr)) ; if ( inet_aton(argv[1], &addr.sin_addr) == 0 ) { printf("%s: inet_aton failed\n", argv[0]) ; return(1) ; } openlog ("test_me", (LOG_CONS | LOG_PID), FACILITY); syslog ((FACILITY | LOG_NOTICE), "connect from [%s]", inet_ntoa (addr.sin_addr)); printf("address was %s\n", inet_ntoa(addr.sin_addr)) ; return(0) ; } on the problem system (4.1-R) works Ok so the problem is not obviously a different syslog or inet_ntoa on 4.1-R. The usage that causes the client address to be mangled is while (TRUE) { /* wait for a client to connect */ if ((csfd = accept (ssfd, (struct sockaddr *) &c_addr, &c_addr_len)) == -1) { .. yada yada .. syslog ((FACILITY | LOG_NOTICE), "connect from [%s]", inet_ntoa (c_addr.sin_addr)); This seems quite reasonable to me. I would appreciate your comments. Thank you, Yours sincerely. S Hopcroft Network Specialist IP Australia +61 2 6283 3189 +61 2 6281 1353 FAX To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0009201249470.553-100000>