Subject: Re: final testing: taylor-uucp package
To: None <tech-pkg@netbsd.org, tech-userlevel@netbsd.org>
From: Eric Schnoebelen <eric@cirr.com>
List: tech-userlevel
Date: 01/06/2002 20:00:24
------- =_aaaaaaaaaa0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <12180.1010368795.1@cirr.com>

Eric Schnoebelen writes:
- 	I have noticed that it is dropping core with some of my
- TCP sessions.   The same is true of the `stock' uucico as well,
- so it's not a new problem. 

	I may have been mistaken on that.  The cores may have
been new to the new uucico.  I'll be investigating further.

	In looking at the core, it would appear there were a
couple of places where the revised prototype/usage of ulog()
with no text was not used, and should have been.  The attached
five patch files cure this problem.  (patch-c[a-e]. patch-cb is
a replacement for patch-ad)

- 	I'm going to verify the defect, and then probably submit
- a PR with the fix...

	No PR's need to be filed, as all these changes were
already in the master tree.

--
Eric Schnoebelen		eric@cirr.com 		http://www.cirr.com
		Q: What is small and yellow and very dangerous?
		A: A canary with the super-user password!

------- =_aaaaaaaaaa0
Content-Type: text/plain
Content-ID: <12180.1010368795.2@cirr.com>

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	patches/patch-ca
#	patches/patch-cb
#	patches/patch-cc
#	patches/patch-cd
#	patches/patch-ce
#
echo x - patches/patch-ca
sed 's/^X//' >patches/patch-ca << 'END-of-patches/patch-ca'
X$NetBSD$
X
X+++ unix/detach.c
X@@ -74,7 +74,7 @@
X   /* Make sure that we can open the log file.  We do this now so that,
X      if we can't, a message will be written to stderr.  After we leave
X      this routine, stderr will be closed.  */
X-  ulog (LOG_NORMAL, (const char *) NULL);
X+  ulog (LOG_NORMAL, ulognone);
X 
X   /* Make sure we are not a process group leader.  */
X #if HAVE_BSD_PGRP
END-of-patches/patch-ca
echo x - patches/patch-cb
sed 's/^X//' >patches/patch-cb << 'END-of-patches/patch-cb'
X$NetBSD$
X
X+++ copy.c
X@@ -91,7 +91,7 @@
X       if (fsignals && FGOT_SIGNAL ())
X 	{
X 	  /* Log the signal.  */
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	  (void) fclose (eto);
X 	  (void) remove (zto);
X 	  return FALSE;
X@@ -202,7 +202,7 @@
X       if (fsignals && FGOT_SIGNAL ())
X 	{
X 	  /* Log the signal.  */
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	  (void) fclose (eto);
X 	  (void) remove (zto);
X 	  return FALSE;
END-of-patches/patch-cb
echo x - patches/patch-cc
sed 's/^X//' >patches/patch-cc << 'END-of-patches/patch-cc'
X$NetBSD$
X
X+++ unix/cusub.c
X@@ -319,7 +319,7 @@
X 	usysdep_start_catch ();
X       else
X 	{
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	  return FALSE;
X 	}
X 
X@@ -359,7 +359,7 @@
X       if (errno != EINTR)
X 	ulog (LOG_ERROR, "read: %s", strerror (errno));
X       else
X-	ulog (LOG_ERROR, (const char *) NULL);
X+	ulog (LOG_ERROR, ulognone);
X       return FALSE;
X     }
X 
X@@ -925,7 +925,7 @@
X 	{
X 	  usysdep_end_catch ();
X 	  /* Make sure the signal is logged.  */
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	  /* Return an empty string.  */
X 	  cgot = 0;
X 	  break;
END-of-patches/patch-cc
echo x - patches/patch-cd
sed 's/^X//' >patches/patch-cd << 'END-of-patches/patch-cd'
X$NetBSD$
X
X+++ unix/iswait.c
X@@ -99,7 +99,7 @@
X 	    ulog (LOG_ERROR, "waitpid: %s", strerror (errno));
X 	  return -1;
X 	}
X-      ulog (LOG_ERROR, (const char *) NULL);
X+      ulog (LOG_ERROR, ulognone);
X     }
X #else /* ! HAVE_WAITPID */
X #if HAVE_WAIT4
X@@ -112,7 +112,7 @@
X 	    ulog (LOG_ERROR, "wait4: %s", strerror (errno));
X 	  return -1;
X 	}
X-      ulog (LOG_ERROR, (const char *) NULL);
X+      ulog (LOG_ERROR, ulognone);
X     }
X #else /* ! HAVE_WAIT4 */
X   pid_t igot;
X@@ -130,7 +130,7 @@
X 		ulog (LOG_ERROR, "wait: %s", strerror (errno));
X 	      return -1;
X 	    }
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	}
X     }
X #endif /* ! HAVE_WAIT4 */
END-of-patches/patch-cd
echo x - patches/patch-ce
sed 's/^X//' >patches/patch-ce << 'END-of-patches/patch-ce'
X$NetBSD$
X
X+++ unix/serial.c
X@@ -1991,7 +1991,7 @@
X 		 && errno == EINTR)
X 	    {
X 	      /* Log the signal.  */
X-	      ulog (LOG_ERROR, (const char *) NULL);
X+	      ulog (LOG_ERROR, ulognone);
X 	      if (FGOT_QUIT_SIGNAL () || fSalarm)
X 		break;
X 	    }
X@@ -2255,7 +2255,7 @@
X 	  if (errno == EINTR)
X 	    {
X 	      /* Log the signal.  */
X-	      ulog (LOG_ERROR, (const char *) NULL);
X+	      ulog (LOG_ERROR, ulognone);
X 	    }
X 	  if (fSalarm)
X 	    {
X@@ -2479,7 +2479,7 @@
X 	    break;
X 
X 	  /* We were interrupted by a signal.  Log it.  */
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	}
X 
X       if (cdid < 0)
X@@ -2665,7 +2665,7 @@
X 	    break;
X 
X 	  /* We got interrupted by a signal.  Log it.  */
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	}
X 
X       if (cgot < 0)
X@@ -2733,7 +2733,7 @@
X 	    break;
X 
X 	  /* We got interrupted by a signal.  Log it.  */
X-	  ulog (LOG_ERROR, (const char *) NULL);
X+	  ulog (LOG_ERROR, ulognone);
X 	}
X 
X       if (cdid < 0)
X@@ -2794,7 +2794,7 @@
X 	  if (c < 0 && errno == EINTR)
X 	    {
X 	      /* We got interrupted by a signal.  Log it.  */
X-	      ulog (LOG_ERROR, (const char *) NULL);
X+	      ulog (LOG_ERROR, ulognone);
X 	    }
X 	  else if (c >= 0)
X 	    {
X@@ -2887,7 +2887,7 @@
X 		  if (ierr == EINTR)
X 		    {
X 		      /* We got interrupted by a signal.  Log it.  */
X-		      ulog (LOG_ERROR, (const char *) NULL);
X+		      ulog (LOG_ERROR, ulognone);
X 		    }
X 		  else
X 		    {
END-of-patches/patch-ce
exit


------- =_aaaaaaaaaa0--