[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#81040: marked as done (queued fails to allocate ptys.)



Your message dated Sat, 01 Dec 2001 15:08:54 -0500
with message-id <E16AGRS-0008HD-00@auric.debian.org>
and subject line Bug#81040: fixed in queue 1.30.1-4
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--------------------------------------
Received: (at submit) by bugs.debian.org; 2 Jan 2001 07:18:40 +0000
>From suckfish@ihug.co.nz Tue Jan 02 01:18:39 2001
Return-path: <suckfish@ihug.co.nz>
Received: from smtp1.ihug.co.nz [203.109.252.7] (root)
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 14DLiR-0002Aw-00; Tue, 02 Jan 2001 01:18:39 -0600
Received: from sucky.fish (p5-tnt3.akl.ihug.co.nz [203.173.214.5])
	by smtp1.ihug.co.nz (8.9.3/8.9.3/Debian 8.9.3-21) with ESMTP id UAA16761
	for <submit@bugs.debian.org>; Tue, 2 Jan 2001 20:18:34 +1300
From: suckfish@ihug.co.nz
Received: (from ralph@localhost)
	by sucky.fish (8.11.1/8.11.1/Debian 8.11.0-6) id f027IYq17250;
	Tue, 2 Jan 2001 20:18:34 +1300
X-Authentication-Warning: sucky.fish: ralph set sender to suckfish@ihug.co.nz using -f
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <14929.32969.951207.857485@sucky.fish>
Date: Tue, 2 Jan 2001 20:18:33 +1300 (NZDT)
To: submit@bugs.debian.org
Subject: queued fails to allocate ptys.
X-Mailer: VM 6.75 under 21.2 (patch 38) "Peisino,Ak(B" XEmacs Lucid
Delivered-To: submit@bugs.debian.org

Package: queue
Version: 1.30.1-1

queued fails to allocate ptys correctly; it attempts to do this by
readdir'ing /dev and trying to find a free pty.

The enclosed patch converts it to use the Unix98 getpt etc. functions.  The
patch isn't pretty & I've made no attempt to preserve the cross-platform
(HP-UX/Solaris etc.)  functionality.

There is also a problem with the deallocpty function in pty.c; it attempts
to use a global variable which is only set-up in a child process (duh!).  I
haven't attempted to fix that one.

Ralph.

--- queue-1.30.1.orig/handle.c
+++ queue-1.30.1/handle.c
@@ -844,8 +844,8 @@
 	 fclose(temp);
 	 exit(2);
        }
-       fchown(pty1, 0, 0);
-       fchmod(pty1, S_IRUSR|S_IWUSR);
+/*        fchown(pty1, 0, 0); */
+/*        fchmod(pty1, S_IRUSR|S_IWUSR); */
      }
    }
    dead = 0;
--- queue-1.30.1.orig/pty.c
+++ queue-1.30.1/pty.c
@@ -57,6 +57,17 @@
   struct dirent *temp;
   char *file, c;
 
+  fd = getpt();
+
+  if (fd >= 0 && grantpt (fd) >= 0 && unlockpt (fd) >= 0) {
+     line = ptsname (fd);
+     return fd;
+  }
+
+  if (fd >= 0)
+     close (fd);
+
+#if 0
 #ifdef HAVE__GETPTY
 
   /*IRIX*/
@@ -118,6 +129,7 @@
     return(fd);
   }
 #endif /*HAVE__GETPTY*/
+#endif
   syslog(LOG_ERR, "ptyalloc: no more ptys");
   return (-1);
 }
@@ -139,14 +151,27 @@
 mkutmp(char *name, int pty2, int uid, int gid)
 {
   char *line;
-  char buf[255];
+  char * shortline;
+
+  memset (&myu, 0, sizeof (struct utmp));
+
   line = mtos();
-  strcpy(myu.ut_user, name);
-#ifdef linux
-  strncpy(myu.ut_id,line+8,2);
-#else
-  strncpy(myu.ut_id, line+12,2);
-#endif
+
+  if (strncmp (line, "/dev/", 5) == 0)
+     line += 5;
+
+  shortline = line;
+  if (strncmp (shortline, "pts", 3) == 0)
+     shortline += 3;
+
+  if (strlen (shortline) > sizeof (myu.ut_id))
+     shortline += strlen (shortline) - sizeof (myu.ut_id);
+
+  strncpy (myu.ut_user, name, sizeof (myu.ut_user));
+  strncpy (myu.ut_id, shortline, sizeof (myu.ut_id));
+  strncpy (myu.ut_line, line, sizeof (myu.ut_line));
+
+#if 0
   strcpy(buf, "/dev/tty");
   strcat(buf, myu.ut_id);
 #ifdef linux
@@ -154,26 +179,20 @@
 #else
   strcpy(myu.ut_line, line+9);
 #endif
+#endif
+
   myu.ut_pid = getpid();
   myu.ut_type = USER_PROCESS;
   myu.ut_time = time(NULL);
 #ifdef HAVE_UT_ADDR
-  strcpy(myu.ut_host, "Queue process");
+  strncpy(myu.ut_host, "Queue process", sizeof (myu.ut_host));
   myu.ut_addr = 0L;
 #endif
+
   setutent();
   getutid(&myu);
   pututline(&myu);
-  fchown(pty2, uid, gid);
-  fchmod(pty2, S_IRUSR|S_IWUSR);
-
-  if(!strcmp(buf,"/dev/tty")) {
-    syslog(LOG_ERR,"queue: pty.c: mkutmp: bug: buf equals /dev/tty.");
-  }
-  else {
-  chown(buf, uid, gid);
-  chmod(buf, S_IRUSR|S_IWUSR);
-  }
+  endutent();
 }
 
 /*HP ptsname is buggy! So we write our own!*/
@@ -184,14 +203,13 @@
   static char buf[16];
   register int i;
 
-#ifdef HAVE__GETPTY
+//#ifdef HAVE__GETPTY
   if(line) return(line);
 
   syslog(LOG_ERR, "mtos: call allocpty first.");
   return(NULL);
 
-#else
-
+#if 0
   ptym = buf2;
   for(i=0;ptym[i]!=0;++i) if(ptym[i]=='/') {
     ptym = &ptym[i+1];

---------------------------------------
Received: (at 81040-close) by bugs.debian.org; 1 Dec 2001 20:20:12 +0000
>From troup@auric.debian.org Sat Dec 01 14:20:12 2001
Return-path: <troup@auric.debian.org>
Received: from auric.debian.org [206.246.226.45] (mail)
	by master.debian.org with esmtp (Exim 3.12 1 (Debian))
	id 16AGcO-0001sf-00; Sat, 01 Dec 2001 14:20:12 -0600
Received: from troup by auric.debian.org with local (Exim 3.12 1 (Debian))
	id 16AGRS-0008HD-00; Sat, 01 Dec 2001 15:08:54 -0500
From: Brian Ristuccia <bristucc@sw.starentnetworks.com>
To: 81040-close@bugs.debian.org
X-Katie: $Revision: 1.66 $
Subject: Bug#81040: fixed in queue 1.30.1-4
Message-Id: <E16AGRS-0008HD-00@auric.debian.org>
Sender: James Troup <troup@auric.debian.org>
Date: Sat, 01 Dec 2001 15:08:54 -0500
Delivered-To: 81040-close@bugs.debian.org

We believe that the bug you reported is fixed in the latest version of
queue, which has been installed in the Debian FTP archive:

queue_1.30.1-4.diff.gz
  to pool/main/q/queue/queue_1.30.1-4.diff.gz
queue_1.30.1-4.dsc
  to pool/main/q/queue/queue_1.30.1-4.dsc
queue_1.30.1-4_i386.deb
  to pool/main/q/queue/queue_1.30.1-4_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 81040@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Brian Ristuccia <bristucc@sw.starentnetworks.com> (supplier of updated queue package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri, 30 Nov 2001 18:23:57 -0500
Source: queue
Binary: queue
Architecture: source i386
Version: 1.30.1-4
Distribution: unstable
Urgency: low
Maintainer: Brian Ristuccia <bristucc@sw.starentnetworks.com>
Changed-By: Brian Ristuccia <bristucc@sw.starentnetworks.com>
Description: 
 queue      - transparent load balancing system
Closes: 79129 81040
Changes: 
 queue (1.30.1-4) unstable; urgency=low
 .
   * Added pty patch. Pty allocation on devfs is totally broken and highly
     suspect everywhere else. (closes: #81040)
   * Adopting package. (closes: #79129)
Files: 
 c613b0af176605431582dfabc2161c8e 621 admin optional queue_1.30.1-4.dsc
 3b04cec0e725c8e5cf3ba5effe598a43 38899 admin optional queue_1.30.1-4.diff.gz
 38d9da32f91c2e55bea400f4c7241276 108808 admin optional queue_1.30.1-4_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iEYEARECAAYFAjwIJHwACgkQDUb+fNId9JVenwCcCsixB5Rgpdrm3eTQwRg6bkdk
g1IAnRNlzS1umzv0FvtBMKszmM7Dk8vu
=K3iy
-----END PGP SIGNATURE-----



Reply to: