From owner-freebsd-net Wed Nov 28 9:37:41 2001 Delivered-To: freebsd-net@freebsd.org Received: from mx1.caravan.ru (mx1.caravan.ru [217.23.130.2]) by hub.freebsd.org (Postfix) with ESMTP id 6A58E37B4EC for ; Wed, 28 Nov 2001 09:37:33 -0800 (PST) Received: from virscan (helo=mx1.caravan.ru) by mx1.caravan.ru with scanned-ok (Exim 3.33 #2) id 1698eK-000HuT-00 for freebsd-net@freebsd.org; Wed, 28 Nov 2001 20:37:32 +0300 Received: from zk-office.caravan.ru ([217.23.131.8] helo=caravan.ru) by mx1.caravan.ru with esmtp (Exim 3.33 #2) id 1698eK-000Hu9-00 for freebsd-net@freebsd.org; Wed, 28 Nov 2001 20:37:32 +0300 Message-ID: <3C0520DB.6090009@caravan.ru> Date: Wed, 28 Nov 2001 20:37:31 +0300 From: "Sergey V. Artjushkin" User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.4) Gecko/20010919 X-Accept-Language: ru, en MIME-Version: 1.0 To: freebsd-net@freebsd.org Subject: get client ip from accept(2) ? Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hello Colleagues, I have some question about accept(2) functions. I have wrote the following programm: ------------------------------- /* set up the listening tcp socket*/ if ( (l_fd = socket(AF_INET, SOCK_STREAM, 0)) < 0) { log_error("socket (tcp) error"); exit(0); } memset(&l_servaddr,0,sizeof(l_servaddr)); l_servaddr.sin_family = AF_INET; l_servaddr.sin_addr.s_addr = htonl(INADDR_ANY); l_servaddr.sin_port = htons(c_tcpport); if ( bind(l_fd,(struct sockaddr *) &l_servaddr, sizeof(l_servaddr)) < 0) { log_error ("bind TCP error"); exit(0); } if ( listen(l_fd, 32) < 0) { log_error("listen error"); exit(0); } if ( (l_connfd = accept(l_fd,(struct sockaddr *) l_cliaddr, &l_addrlen)) < 0) { log_error("accept error"); exit(0); } ---------------------------------------- I'm trying to find out the client ip that connects to this server. But l_cliaddr structure is NULL after succesfull accept call. As I understand from manuals in this structure must be client ip. Where I'm wrong and how I can get this ip? Thank you for advance. -- With best regards. ------------------------------------------------------------------ Sergey Artjushkin Network Operation Center (SKIV-RIPE) ISP "CARAVAN" To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message