Skip to contentSkip to conversation

IPX without suidroot

DISCUSSION Stas Sergeev 2 participants 2 messages Aug 2, 2002

lore
Share & tools
lore
#0 lore raw

Hello.

Quoted 1 line · Grigory Batalov

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.

Quoted 1 line

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.

dosext/net/net/ipx.c +0 -12
@@ -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,
dosext/net/net/ipxglt.c +5 -7
@@ -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();
#1 lore raw
Quoted 6 lines · On Fri, 02 Aug 2002 16:38:40 +0400 Stas Sergeev <[email protected]> wrote:
Quoted 1 line

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.

It's here:
http://lrn.ru/~bga/dosemu/denied-boot.log.bz2 (28244)

There are such pieces:

IPX: GetLocalTarget for network cb971126
IPX: could not set socket option for type: Permission denied.
IPX: GetLocalTarget failed.

Signature · 1 line
 Batalov Grigory.