rpms/quagga/devel quagga-0.99.9-port_overflow.patch, NONE, 1.1 quagga.spec, 1.41, 1.42

Martin Nagy (mnagy) fedora-extras-commits at redhat.com
Wed Jan 30 07:16:55 UTC 2008


Author: mnagy

Update of /cvs/extras/rpms/quagga/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11490

Modified Files:
	quagga.spec 
Added Files:
	quagga-0.99.9-port_overflow.patch 
Log Message:
* Tue Jan 29 2008 Martin Nagy <mnagy at redhat.com> - 0.99.9-4
- check port number range when using -P or -p (#206071)


quagga-0.99.9-port_overflow.patch:

--- NEW FILE quagga-0.99.9-port_overflow.patch ---
diff -up quagga-0.99.9/ripngd/ripng_main.c.port_overflow quagga-0.99.9/ripngd/ripng_main.c
--- quagga-0.99.9/ripngd/ripng_main.c.port_overflow	2006-10-16 01:34:48.000000000 +0200
+++ quagga-0.99.9/ripngd/ripng_main.c	2008-01-29 17:39:58.000000000 +0100
@@ -240,7 +240,8 @@ main (int argc, char **argv)
               break;
             } 
           vty_port = atoi (optarg);
-          vty_port = (vty_port ? vty_port : RIPNG_VTY_PORT);
+          if (vty_port <= 0 || vty_port > 0xffff)
+            vty_port = RIPNG_VTY_PORT;
           break;
 	case 'r':
 	  retain_mode = 1;
diff -up quagga-0.99.9/bgpd/bgp_main.c.port_overflow quagga-0.99.9/bgpd/bgp_main.c
--- quagga-0.99.9/bgpd/bgp_main.c.port_overflow	2006-10-16 01:34:47.000000000 +0200
+++ quagga-0.99.9/bgpd/bgp_main.c	2008-01-29 17:58:31.000000000 +0100
@@ -201,6 +201,7 @@ main (int argc, char **argv)
   int dryrun = 0;
   char *progname;
   struct thread thread;
+  int tmp_port;
 
   /* Set umask before anything for security */
   umask (0027);
@@ -236,7 +237,11 @@ main (int argc, char **argv)
           pid_file = optarg;
           break;
 	case 'p':
-	  bm->port = atoi (optarg);
+	  tmp_port = atoi (optarg);
+	  if (tmp_port <= 0 || tmp_port > 0xffff)
+	    bm->port = BGP_PORT_DEFAULT;
+	  else
+	    bm->port = tmp_port;
 	  break;
 	case 'A':
 	  vty_addr = optarg;
@@ -250,7 +255,8 @@ main (int argc, char **argv)
               break;
             } 
           vty_port = atoi (optarg);
-          vty_port = (vty_port ? vty_port : BGP_VTY_PORT);
+	  if (vty_port <= 0 || vty_port > 0xffff)
+	    vty_port = BGP_VTY_PORT;
 	  break;
 	case 'r':
 	  retain_mode = 1;
diff -up quagga-0.99.9/ripd/rip_main.c.port_overflow quagga-0.99.9/ripd/rip_main.c
--- quagga-0.99.9/ripd/rip_main.c.port_overflow	2006-10-16 01:34:48.000000000 +0200
+++ quagga-0.99.9/ripd/rip_main.c	2008-01-29 17:39:58.000000000 +0100
@@ -236,7 +236,8 @@ main (int argc, char **argv)
               break;
             } 
           vty_port = atoi (optarg);
-          vty_port = (vty_port ? vty_port : RIP_VTY_PORT);
+          if (vty_port <= 0 || vty_port > 0xffff)
+            vty_port = RIP_VTY_PORT;
 	  break;
 	case 'r':
 	  retain_mode = 1;
diff -up quagga-0.99.9/ospfd/ospf_main.c.port_overflow quagga-0.99.9/ospfd/ospf_main.c
--- quagga-0.99.9/ospfd/ospf_main.c.port_overflow	2006-10-16 01:34:48.000000000 +0200
+++ quagga-0.99.9/ospfd/ospf_main.c	2008-01-29 17:39:58.000000000 +0100
@@ -245,7 +245,8 @@ main (int argc, char **argv)
               break;
             } 
           vty_port = atoi (optarg);
-          vty_port = (vty_port ? vty_port : OSPF_VTY_PORT);
+          if (vty_port <= 0 || vty_port > 0xffff)
+            vty_port = OSPF_VTY_PORT;
   	  break;
 	case 'u':
 	  ospfd_privs.user = optarg;
diff -up quagga-0.99.9/ospf6d/ospf6_main.c.port_overflow quagga-0.99.9/ospf6d/ospf6_main.c
--- quagga-0.99.9/ospf6d/ospf6_main.c.port_overflow	2006-10-16 01:34:48.000000000 +0200
+++ quagga-0.99.9/ospf6d/ospf6_main.c	2008-01-29 17:39:58.000000000 +0100
@@ -227,7 +227,8 @@ main (int argc, char *argv[], char *envp
               break;
             }
           vty_port = atoi (optarg);
-          vty_port = (vty_port ? vty_port : OSPF6_VTY_PORT);
+          if (vty_port <= 0 || vty_port > 0xffff)
+            vty_port = OSPF6_VTY_PORT;
           break;
         case 'u':
           ospf6d_privs.user = optarg;
diff -up quagga-0.99.9/zebra/main.c.port_overflow quagga-0.99.9/zebra/main.c
--- quagga-0.99.9/zebra/main.c.port_overflow	2007-05-02 17:28:33.000000000 +0200
+++ quagga-0.99.9/zebra/main.c	2008-01-29 17:39:58.000000000 +0100
@@ -276,7 +276,8 @@ main (int argc, char **argv)
 	      break;
 	    } 
 	  vty_port = atoi (optarg);
-	  vty_port = (vty_port ? vty_port : ZEBRA_VTY_PORT);
+	  if (vty_port <= 0 || vty_port > 0xffff)
+	    vty_port = ZEBRA_VTY_PORT;
 	  break;
 	case 'r':
 	  retain_mode = 1;


Index: quagga.spec
===================================================================
RCS file: /cvs/extras/rpms/quagga/devel/quagga.spec,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- quagga.spec	23 Jan 2008 12:48:33 -0000	1.41
+++ quagga.spec	30 Jan 2008 07:16:21 -0000	1.42
@@ -32,7 +32,7 @@
 Summary:    Routing daemon
 Name:		quagga
 Version:	0.99.9
-Release:    3%{?dist}
+Release:    4%{?dist}
 Epoch:      0
 License:	GPL
 Group:      System Environment/Daemons
@@ -41,6 +41,7 @@
 Patch2:		quagga-0.96.5-nostart.patch
 #Patch6:		quagga-0.98.5-pie.patch
 Patch7:		quagga-0.99.9-initscript.patch
+Patch8:		quagga-0.99.9-port_overflow.patch
 
 URL:		http://www.quagga.net
 %if %with_snmp
@@ -98,6 +99,7 @@
 # This creates a .diff file that we apply after configuring
 #%patch6 -p1
 %patch7 -p1 -b .initscript
+%patch8 -p1 -b .port_overflow
 
 %build
 # FC5+ automatic -fstack-protector-all switch
@@ -347,6 +349,9 @@
 %endif
 
 %changelog
+* Tue Jan 29 2008 Martin Nagy <mnagy at redhat.com> - 0.99.9-4
+- check port number range when using -P or -p (#206071)
+
 * Wed Jan 23 2008 Martin Nagy <mnagy at redhat.com> - 0.99.9-3
 - rebuild
 




More information about the fedora-extras-commits mailing list