From pherman@frenchfries.net  Fri Jul  7 01:01:01 2000
Return-Path: <pherman@frenchfries.net>
Received: from mail2.netcologne.de (mail2.netcologne.de [194.8.194.103])
	by hub.freebsd.org (Postfix) with ESMTP id 8816937B7AC
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  7 Jul 2000 01:00:57 -0700 (PDT)
	(envelope-from pherman@frenchfries.net)
Received: from bagabeedaboo.security.at12.de (dial-195-14-226-162.netcologne.de [195.14.226.162])
	by mail2.netcologne.de (8.9.3/8.9.3) with ESMTP id KAA13552
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 7 Jul 2000 10:00:54 +0200 (MET DST)
Received: (from root@localhost)
	by bagabeedaboo.security.at12.de (8.10.2/8.10.2) id e677vjL01198;
	Fri, 7 Jul 2000 09:57:45 +0200 (CEST)
Message-Id: <200007070757.e677vjL01198@bagabeedaboo.security.at12.de>
Date: Fri, 7 Jul 2000 09:57:45 +0200 (CEST)
From: pherman@frenchfries.net
Reply-To: pherman@frenchfries.net
To: FreeBSD-gnats-submit@freebsd.org
Subject: sbsize in /etc/login.conf is type number
X-Send-Pr-Version: 3.2

>Number:         19750
>Category:       conf
>Synopsis:       sbsize in /etc/login.conf is type number
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    sheldonh
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jul 07 01:10:01 PDT 2000
>Closed-Date:    Tue Jul 18 02:46:08 PDT 2000
>Last-Modified:  Thu May 10 16:00:03 PDT 2001
>Originator:     Paul Herman
>Release:        FreeBSD 4.0-STABLE i386
>Organization:
>Environment:

	4.0-STABLE-20000704

>Description:

	sbsize in /etc/login.conf has type "number" instead of
        "bytes".  For example, if the administrator wishes to
        set a 2 MB limit on sbsize, 2097152 works, but "2M"
        gives an error at login.

>How-To-Repeat:

	Try to use any size setting (i.e. "2M", "1024K", etc.) for sbsize.

>Fix:

Patch for libutil (tested for about 5 minutes, seems to work :)

--- lib/libutil/login.conf.5.orig	Fri Jul  7 09:26:39 2000
+++ lib/libutil/login.conf.5	Fri Jul  7 09:26:47 2000
@@ -160,5 +160,5 @@
 .It maxproc	number		Maximum number of processes.
 .It openfiles	number		Maximum number of open files per process.
-.It sbsize	number		Maximum permitted socketbuffer size.
+.It sbsize	size		Maximum permitted socketbuffer size.
 .El
 .Pp
--- lib/libutil/login_class.c.orig	Fri Jul  7 09:22:42 2000
+++ lib/libutil/login_class.c	Fri Jul  7 09:23:24 2000
@@ -56,5 +56,5 @@
     { "openfiles",    login_getcapnum,  RLIMIT_NOFILE   },
     { "coredumpsize", login_getcapsize, RLIMIT_CORE     },
-    { "sbsize",       login_getcapnum,	RLIMIT_SBSIZE	},
+    { "sbsize",       login_getcapsize,	RLIMIT_SBSIZE	},
     { NULL,	      0,		0 	        }
 };

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->sheldonh 
Responsible-Changed-By: sheldonh 
Responsible-Changed-When: Fri Jul 14 06:42:50 PDT 2000 
Responsible-Changed-Why:  
I'll take this one 

http://www.freebsd.org/cgi/query-pr.cgi?pr=19750 
State-Changed-From-To: open->analyzed 
State-Changed-By: sheldonh 
State-Changed-When: Fri Jul 14 06:56:22 PDT 2000 
State-Changed-Why:  
Committed as rev 1.25 of login.conf.5 and rev 1.15 of login_class.c, 
left as an MFC reminder.  If the src tree isn't already frozen by 
then, I'll MFC this before 4.1-RELEASE. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=19750 
State-Changed-From-To: analyzed->closed 
State-Changed-By: sheldonh 
State-Changed-When: Tue Jul 18 02:46:08 PDT 2000 
State-Changed-Why:  
Merged onto the RELENG_4 branch in time for 4.1-RELEASE. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=19750 

From: Paul Herman <pherman@frenchfries.net>
To: <FreeBSD-gnats-submit@FreeBSD.ORG>
Cc:  
Subject: Re: conf/19750: sbsize in /etc/login.conf is type number
Date: Fri, 27 Apr 2001 08:06:08 +0200 (CEST)

 On Fri, 7 Jul 2000 pherman@frenchfries.net wrote:
 
 > >Description:
 >
 > 	sbsize in /etc/login.conf has type "number" instead of
 >         "bytes".  For example, if the administrator wishes to
 >         set a 2 MB limit on sbsize, 2097152 works, but "2M"
 >         gives an error at login.
 >
 > >How-To-Repeat:
 >
 > 	Try to use any size setting (i.e. "2M", "1024K", etc.) for sbsize.
 
 This PR might have to be reopened.  This used to work, but seems to be
 broken again:
 
 07:57:22{{ttyp3}root@husten}~//> grep sbsize /etc/login.conf
 	:sbsize=4096K:\
 07:57:33{{ttyp3}root@husten}~//> limits -U pherman | grep sbsize
   sbsize               4096 bytes
 
 Strange thing is, login_cap.c & login_class.c haven't been touched in
 a while, so I can't seem to track this down.  Running cap_mkdb(1)
 doesn't help.
 
 I noticed this after upgrading a customer's machine to 4.3-RELEASE and
 their FTP sessions would break -- they had 8 bytes of sbsize all of a
 sudden, instead of 8M given in /etc/login.conf.  Workaround was to set
 sbsize=8192000.
 
 Any ideas?
 
 -Paul.
 

From: Paul Herman <pherman@frenchfries.net>
To: <FreeBSD-gnats-submit@FreeBSD.ORG>
Cc: <sheldonh@FreeBSD.ORG>
Subject: Re: conf/19750: sbsize in /etc/login.conf is type number
Date: Mon, 7 May 2001 19:53:24 +0200 (CEST)

  (Sheldon Cc'ed, because he took this originally.)
 
 I know this was closed a long time ago, but I just noticed there's a
 file that forgot to get patched.
 
 /usr/bin/limits -U [user] almost always out an incorrect value for
 sbsize.  The following patch against should fix this.
 
 Thanks,
 -Paul.
 
 Index: limits.c
 ===================================================================
 RCS file: /home/ncvs/src/usr.bin/limits/limits.c,v
 retrieving revision 1.7.2.1
 diff -u -r1.7.2.1 limits.c
 --- limits.c    2000/07/02 09:50:17     1.7.2.1
 +++ limits.c    2001/05/04 18:48:11
 @@ -200,7 +200,7 @@
      { "memorylocked",  login_getcapsize },
      { "maxproc",       login_getcapnum  },
      { "openfiles",     login_getcapnum  },
 -    { "sbsize",                login_getcapnum  }
 +    { "sbsize",                login_getcapsize  }
  };
  /*
 
 
 

From: Sheldon Hearn <sheldonh@uunet.co.za>
To: Paul Herman <pherman@frenchfries.net>
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: conf/19750: sbsize in /etc/login.conf is type number 
Date: Thu, 10 May 2001 20:09:40 +0200

 On Mon, 07 May 2001 19:53:24 +0200, Paul Herman wrote:
 
 > /usr/bin/limits -U [user] almost always out an incorrect value for
 > sbsize.  The following patch against should fix this.
 
 Committed.  However, shouldn't the units for sbsize be "kb" instead of
 "bytes", as suggested by the patch below?
 
 Ciao,
 Sheldon.
 
 Index: limits.c
 ===================================================================
 RCS file: /home/ncvs/src/usr.bin/limits/limits.c,v
 retrieving revision 1.9
 diff -u -d -r1.9 limits.c
 --- limits.c	2001/05/10 17:15:06	1.9
 +++ limits.c	2001/05/10 18:08:22
 @@ -83,7 +83,7 @@
  	  { "  memorylocked%-4s %8s", " kb\n",    1024 },
  	  { "  maxprocesses%-4s %8s", "\n",       1    },
  	  { "  openfiles%-4s    %8s", "\n",       1    },
 -	  { "  sbsize%-4s       %8s", " bytes\n", 1    }
 +	  { "  sbsize%-4s       %8s", " kb\n",    1024 }
        }
      },
      { "sh", "unlimited", "", " -H", " -S", "",
 @@ -97,7 +97,7 @@
  	  { "ulimit%s -l %s", ";\n",  1024 },
  	  { "ulimit%s -u %s", ";\n",  1    },
  	  { "ulimit%s -n %s", ";\n",  1    },
 -	  { "ulimit%s -b %s", ";\n",  1    }
 +	  { "ulimit%s -b %s", ";\n",  1024 }
        }
      },
      { "csh", "unlimited", "", " -h", "", NULL,
 @@ -111,7 +111,7 @@
  	  { "limit%s memorylocked %s", ";\n",  1024 },
  	  { "limit%s maxproc %s",      ";\n",  1    },
  	  { "limit%s openfiles %s",    ";\n",  1    },
 -	  { "limit%s sbsize %s",       ";\n",  1    }
 +	  { "limit%s sbsize %s",       ";\n",  1024 }
        }
      },
      { "bash|bash2", "unlimited", "", " -H", " -S", "",
 @@ -125,7 +125,7 @@
  	  { "ulimit%s -l %s", ";\n",  1024 },
  	  { "ulimit%s -u %s", ";\n",  1    },
  	  { "ulimit%s -n %s", ";\n",  1    },
 -	  { "ulimit%s -b %s", ";\n",  1    }
 +	  { "ulimit%s -b %s", ";\n",  1024 }
        }
      },
      { "tcsh", "unlimited", "", " -h", "", NULL,
 @@ -139,7 +139,7 @@
  	  { "limit%s memorylocked %s", ";\n",  1024 },
  	  { "limit%s maxproc %s",      ";\n",  1    },
  	  { "limit%s descriptors %s",  ";\n",  1    },
 -	  { "limit%s sbsize %s",       ";\n",  1    }
 +	  { "limit%s sbsize %s",       ";\n",  1024 }
        }
      },
      { "ksh|pdksh", "unlimited", "", " -H", " -S", "",
 @@ -153,7 +153,7 @@
  	  { "ulimit%s -l %s", ";\n",  1024 },
  	  { "ulimit%s -p %s", ";\n",  1    },
  	  { "ulimit%s -n %s", ";\n",  1    },
 -	  { "ulimit%s -b %s", ";\n",  1    }
 +	  { "ulimit%s -b %s", ";\n",  1024 }
        }
      },
      { "zsh", "unlimited", "", " -H", " -S", "",
 @@ -167,7 +167,7 @@
  	  { "ulimit%s -l %s", ";\n",  1024 },
  	  { "ulimit%s -u %s", ";\n",  1    },
  	  { "ulimit%s -n %s", ";\n",  1    },
 -	  { "ulimit%s -b %s", ";\n",  1    }
 +	  { "ulimit%s -b %s", ";\n",  1024 }
        }
      },
      { "rc|es", "unlimited", "", " -h", "", NULL,
 @@ -181,7 +181,7 @@
  	  { "limit%s lockedmemory %s", ";\n",  1024 },
  	  { "limit%s processes %s",    ";\n",  1    },
  	  { "limit%s descriptors %s",  ";\n",  1    },
 -	  { "limit%s sbsize %s",       ";\n",  1    }
 +	  { "limit%s sbsize %s",       ";\n",  1024 }
        }
      },
      { NULL }

From: Paul Herman <pherman@frenchfries.net>
To: Sheldon Hearn <sheldonh@uunet.co.za>
Cc: <FreeBSD-gnats-submit@freebsd.org>
Subject: Re: conf/19750: sbsize in /etc/login.conf is type number
Date: Fri, 11 May 2001 00:58:03 +0200 (CEST)

 On Thu, 10 May 2001, Sheldon Hearn wrote:
 
 > On Mon, 07 May 2001 19:53:24 +0200, Paul Herman wrote:
 >
 > > /usr/bin/limits -U [user] almost always out an incorrect value for
 > > sbsize.  The following patch against should fix this.
 >
 > Committed.  However, shouldn't the units for sbsize be "kb" instead of
 > "bytes", as suggested by the patch below?
 
 One thing I might take issue with is the -b option to ulimit.  At the
 moment, /bin/sh seems to take bytes, not kbytes.  So, if you commit
 your patch, be sure to commit the following patch to /bin/sh so that
 it's "ulimit -b" also takes kbytes.
 
 Otherwise, looks good to me.  Thanks!
 
 -Paul.
 
 Index: miscbltin.c
 ===================================================================
 RCS file: /home/ncvs/src/bin/sh/miscbltin.c,v
 retrieving revision 1.22.2.1
 diff -u -r1.22.2.1 miscbltin.c
 --- miscbltin.c	2000/06/14 13:42:25	1.22.2.1
 +++ miscbltin.c	2001/05/10 22:46:17
 @@ -347,7 +347,7 @@
  	{ "swap limit",		"kbytes",	RLIMIT_SWAP,	1024, 'w' },
  #endif
  #ifdef RLIMIT_SBSIZE
 -	{ "sbsize",		"bytes",	RLIMIT_SBSIZE,	   1, 'b' },
 +	{ "sbsize",		"bytes",	RLIMIT_SBSIZE,	1024, 'b' },
  #endif
  	{ (char *) 0,		(char *)0,	0,		   0, '\0' }
  };
 
 
>Unformatted:
