From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stas Sergeev Subject: Re: IPX without suidroot Date: Fri, 02 Aug 2002 16:38:40 +0400 Sender: linux-msdos-owner@vger.kernel.org Message-ID: <3D4A7D50.205@yahoo.com> Reply-To: stas.orel@mailcity.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080306050208080907070607" Return-path: List-Id: To: linux-msdos@vger.kernel.org This is a multi-part message in MIME format. --------------080306050208080907070607 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 7bit Hello. Grigory Batalov wrote: > Ok, I've applied patch and can get some debug now. Good. But I still don't like that debuggung tricks so I think just ripping out the buggy code is OK. > get RIP packets if I haven't root privilegies.) Seems like that. Please apply the attached patch instead of the previous one and redo the log please. --------------080306050208080907070607 Content-Type: text/plain; name="ipx_root.diff" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="ipx_root.diff" --- src/dosext/net/net/ipx.c Fri Jul 19 02:04:37 2002 +++ src/dosext/net/net/ipx.c Thu Aug 1 17:30:44 2002 @@ -443,18 +443,6 @@ } opt = 1; - /* turn on socket debugging */ - if (debug_level('n')) { - enter_priv_on(); - if (setsockopt(sock, SOL_SOCKET, SO_DEBUG, &opt, sizeof(opt)) == -1) { - leave_priv_setting(); - n_printf("IPX: could not set socket option for debugging: %s.\n", strerror(errno)); - /* I can't think of anything else to return */ - return (RCODE_SOCKET_TABLE_FULL); - } - leave_priv_setting(); - } - opt = 1; /* Permit broadcast output */ enter_priv_on(); if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, --- src/dosext/net/net/ipxglt.c Tue Mar 19 19:45:49 2002 +++ src/dosext/net/net/ipxglt.c Fri Aug 2 16:29:20 2002 @@ -107,21 +107,16 @@ leave_priv_setting(); if(sock==-1) { + n_printf("IPX: could not open IPX socket: %s.\n", strerror(errno)); goto GLTExit; } - /* Socket debugging */ enter_priv_on(); - if(setsockopt(sock,SOL_SOCKET,SO_DEBUG,&opt,sizeof(opt))==-1) - { - leave_priv_setting(); - goto CloseGLTExit; - } - /* Permit broadcast output */ if(setsockopt(sock,SOL_SOCKET,SO_BROADCAST, &opt,sizeof(opt))==-1) { leave_priv_setting(); + n_printf("IPX: could not set socket option for broadcast: %s.\n", strerror(errno)); goto CloseGLTExit; } @@ -133,6 +128,7 @@ if(setsockopt(sock,SOL_SOCKET,IPX_TYPE,&opt,sizeof(opt))==-1) { leave_priv_setting(); + n_printf("IPX: could not set socket option for type: %s.\n", strerror(errno)); goto CloseGLTExit; } @@ -143,6 +139,7 @@ if(bind(sock,(struct sockaddr *)&ipxs,sizeof(ipxs))==-1) { leave_priv_setting(); + n_printf("IPX: could not bind socket to address: %s\n", strerror(errno)); goto CloseGLTExit; } leave_priv_setting(); @@ -172,6 +169,7 @@ { leave_priv_setting(); retCode = -2; + n_printf("IPX: sendto() failed: %s\n", strerror(errno)); goto CloseGLTExit; } leave_priv_setting(); --------------080306050208080907070607--