From fuyuki@mj.0038.net  Sun Dec 16 04:55:34 2001
Return-Path: <fuyuki@mj.0038.net>
Received: from t-mta8.odn.ne.jp (mfep8.odn.ne.jp [143.90.131.186])
	by hub.freebsd.org (Postfix) with ESMTP id 41B1E37B405
	for <freebsd-gnats-submit@freebsd.org>; Sun, 16 Dec 2001 04:55:28 -0800 (PST)
Received: from localhost ([61.201.64.62]) by t-mta8.odn.ne.jp with ESMTP
          id <20011216125527355.DNBS.1471.t-mta8.odn.ne.jp@mta8.odn.ne.jp>;
          Sun, 16 Dec 2001 21:55:27 +0900
Message-Id: <20011216125527355.DNBS.1471.t-mta8.odn.ne.jp@mta8.odn.ne.jp>
Date: Sun, 16 Dec 2001 21:55:26 +0900 (JST)
From: Kimura Fuyuki <fuyuki@mj.0038.net>
To: FreeBSD-gnats-submit@freebsd.org
Subject: mail/nbsmtp causes segfaults while a command line parsing
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         32899
>Category:       ports
>Synopsis:       mail/nbsmtp causes segfaults while a command line parsing
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    anders
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 16 05:00:01 PST 2001
>Closed-Date:    Wed Apr 10 13:26:11 PDT 2002
>Last-Modified:  Wed Apr 10 13:26:11 PDT 2002
>Originator:     Kimura Fuyuki
>Release:        FreeBSD 4.4-STABLE i386
>Organization:
>Environment:
System: FreeBSD ns.test 4.4-STABLE FreeBSD 4.4-STABLE #2: Tue Dec 4 16:17:57 JST 2001 root@ns.test:/sack/obj/usr/src/sys/NS i386

>Description:
nbsmtp causes segfaults while a command line parsing because of the
bad pointer derefs .

>How-To-Repeat:
nbsmtp -h

>Fix:
Rewrite the command line parser, possibly using getopt(3).


>Release-Note:
>Audit-Trail:

From: Pierre-Paul Lavoie <ppl@nbnet.nb.ca>
To: freebsd-gnats-submit@FreeBSD.org, fuyuki@mj.0038.net
Cc:  
Subject: Re: ports/32899: mail/nbsmtp causes segfaults while a command line parsing
Date: Sun, 30 Dec 2001 18:08:11 -0400

 Here's a possible patch using getopt
 -ppl
 
 --- nbsmtp.cFri Apr  6 21:09:01 2001
 +++ nbsmtp-patch.cSun Dec 30 12:05:03 2001
 @@ -19,6 +19,8 @@
  */  #include <stdio.h>
 +#include <stdlib.h>
 +#include <string.h>
  #include <unistd.h>
  #include <sys/types.h>
  #include <sys/socket.h>
 @@ -76,42 +78,46 @@
  {
    printf("Usage:\n");
    printf("%s -d domain -f from@addr -h host [-p port] [-l debuglevel]\n", prog);
 +  exit(EXIT_FAILURE);
  }  int main(int argc, char *argv[])
  {
 -  int i;
 +  int ch; -  for(i=1; i<argc; i+=2){
 -    switch(*(argv[i]+1))
 +  while ( (ch = getopt(argc, argv, "h:d:f:p:l:")) != -1){
 +    switch (ch)
        {
        case 'h':
 -host = (char *)strdup(argv[i+1]);
 +host = strdup(optarg);
  break;
        case 'd':
 -domain = (char *)strdup(argv[i+1]);
 +domain = strdup(optarg);
  break;
        case 'f':
 -fromaddr = (char *)strdup(argv[i+1]);
 +fromaddr = strdup(optarg);
  break;
        case 'p':
 -port = atoi(argv[i+1]);
 +port = atoi(optarg);
  break;
        case 'l':
 -debug_level =  atoi(argv[i+1]);
 +debug_level = atoi(optarg);
  if(debug_level > 1)
    stdlog = fopen("nbsmtp.log", "w");
  else
    stdlog = stdout;
  break;
 +      case '?':
        default:
  print_usage(argv[0]);
 +break;
        }
    }
 +  argc -= optind;
 +  argv += optind;    if(domain==NULL || fromaddr==NULL || host==NULL){
      print_usage(argv[0]);
 -    return 1;
    }    if(port==0)

From: Kimura Fuyuki <fuyuki@mj.0038.net>
To: ppl@nbnet.nb.ca
Cc: freebsd-gnats-submit@FreeBSD.org
Subject: Re: ports/32899: mail/nbsmtp causes segfaults while a command line parsing
Date: Fri, 04 Jan 2002 22:29:12 +0900

 > Here's a possible patch using getopt
 
 Your patch seems to be broken (copy/paste?), so I remade it, with one
 fix :)
 
 --- nbsmtp.c.orig	Sat Apr  7 09:09:01 2001
 +++ nbsmtp.c	Fri Jan  4 22:20:55 2002
 @@ -19,6 +19,8 @@
  */
 
  #include <stdio.h>
 +#include <stdlib.h>
 +#include <string.h>
  #include <unistd.h>
  #include <sys/types.h>
  #include <sys/socket.h>
 @@ -76,42 +78,45 @@
  {
    printf("Usage:\n");
    printf("%s -d domain -f from@addr -h host [-p port] [-l debuglevel]\n", prog);
 +  exit(EXIT_FAILURE);
  }
 
  int main(int argc, char *argv[])
  {
 -  int i;
 +  int ch;
 
 -  for(i=1; i<argc; i+=2){
 -    switch(*(argv[i]+1))
 +  while ( (ch = getopt(argc, argv, "h:d:f:p:l:")) != -1){
 +    switch (ch)
        {
        case 'h':
 -	host = (char *)strdup(argv[i+1]);
 +	host = strdup(optarg);
  	break;
        case 'd':
 -	domain = (char *)strdup(argv[i+1]);
 +	domain = strdup(optarg);
  	break;
        case 'f':
 -	fromaddr = (char *)strdup(argv[i+1]);
 +	fromaddr = strdup(optarg);
  	break;
        case 'p':
 -	port = atoi(argv[i+1]);
 +	port = atoi(optarg);
  	break;
        case 'l':
 -	debug_level =  atoi(argv[i+1]);
 +	debug_level = atoi(optarg);
  	if(debug_level > 1)
  	  stdlog = fopen("nbsmtp.log", "w");
  	else
  	  stdlog = stdout;
  	break;
 +      case '?':
        default:
  	print_usage(argv[0]);
 +	break;
        }
    }
 
 +  argc -= optind;
    if(domain==NULL || fromaddr==NULL || host==NULL){
      print_usage(argv[0]);
 -    return 1;
    }
 
    if(port==0)
 
Responsible-Changed-From-To: freebsd-ports->anders 
Responsible-Changed-By: petef 
Responsible-Changed-When: Tue Feb 26 01:23:04 PST 2002 
Responsible-Changed-Why:  
Over to maintainer 

http://www.FreeBSD.org/cgi/query-pr.cgi?pr=32899 
State-Changed-From-To: open->feedback 
State-Changed-By: anders 
State-Changed-When: Sun Mar 17 15:44:51 PST 2002 
State-Changed-Why:  


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

From: Anders Nordby <anders@fix.no>
To: freebsd-gnats-submit@FreeBSD.org,
	Kimura Fuyuki <fuyuki@mj.0038.net>,
	Pierre-Paul Lavoie <ppl@nbnet.nb.ca>
Cc: drysdam@yahoo.com
Subject: Re: ports/32899: mail/nbsmtp causes segfaults while a command line parsing
Date: Mon, 18 Mar 2002 00:54:42 +0100

 Hello,
 
 How about running these changes through the author of nbsmtp? It seems
 he is looking for someone to take over the nbsmtp project. Any of you
 interested in that?
 
 Cc: to him. See http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/32899
 for patches.
 
 Cheers,
 
 -- 
 Anders.

From: Kimura Fuyuki <fuyuki@mj.0038.net>
To: anders@fix.no
Cc: freebsd-gnats-submit@FreeBSD.org, ppl@nbnet.nb.ca,
	drysdam@yahoo.com
Subject: Re: ports/32899: mail/nbsmtp causes segfaults while a command line parsing
Date: Mon, 18 Mar 2002 10:02:50 +0900

 > How about running these changes through the author of nbsmtp? It seems
 > he is looking for someone to take over the nbsmtp project. Any of you
 > interested in that?
 
 I'm not using nbsmtp for now, though still looking for a simple MTA...
 

From: Pierre-Paul Lavoie <ppl@nbnet.nb.ca>
To: Anders Nordby <anders@fix.no>
Cc: freebsd-gnats-submit@FreeBSD.org,
	Kimura Fuyuki <fuyuki@mj.0038.net>, drysdam@yahoo.com
Subject: Re: ports/32899: mail/nbsmtp causes segfaults while a command line
	parsing
Date: 18 Mar 2002 13:57:17 -0400

 I'm not using nbsmtp and I'm already involved in other open source
 projects unfortunetly.
 
 On Sun, 2002-03-17 at 19:54, Anders Nordby wrote:
 > Hello,
 > 
 > How about running these changes through the author of nbsmtp? It seems
 > he is looking for someone to take over the nbsmtp project. Any of you
 > interested in that?
 > 
 > Cc: to him. See http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/32899
 > for patches.
 > 
 > Cheers,
 > 
 > -- 
 > Anders.
 
 
State-Changed-From-To: feedback->closed 
State-Changed-By: anders 
State-Changed-When: Wed Apr 10 13:21:03 PDT 2002 
State-Changed-Why:  
Committed, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=32899 
>Unformatted:
