Actual forwarder program compiles apparently ok.
[userv-utils] / ipif / service.c
index 0050dd2..24ea45b 100644 (file)
  * 
  * Should be run from userv with no-disconnect-hup.
  */
+/*
+ * Copyright (C) 1999 Ian Jackson
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with userv-utils; if not, write to the Free Software
+ * Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * $Id$
+ */
 
 #include <stdio.h>
 #include <string.h>
@@ -49,7 +68,7 @@
 
 #define NARGS 4
 #define MAXEXROUTES 5
-#define ATXTLEN 12
+#define ATXTLEN 16
 
 static const unsigned long gidmaxval= (unsigned long)((gid_t)-2);
 static const char *const protos_ok[]= { "slip", "cslip", "adaptive", 0 };
@@ -276,6 +295,7 @@ static void permit(unsigned long pprefix, unsigned long pmask) {
   int i, any;
   
   assert(!(pprefix & ~pmask));
+  any= 0;
 
   if (!proto) fputs("permits",stdout);
   if (addrnet_isin(localaddr,~0UL, pprefix,pmask)) {
@@ -293,7 +313,7 @@ static void permit(unsigned long pprefix, unsigned long pmask) {
     }
   }
   if (!proto) {
-    if (!any) fputs(" nothing!",stderr);
+    if (!any) fputs(" nothing",stdout);
     putchar('\n');
   }
 }
@@ -679,7 +699,7 @@ static void startslattach(void) {
   }
   setsigmask(&fullset);
   l= strlen(ifnbuf);
-  if (l<0 || ifnbuf[l-1] != '\n') fatal("slattach gave strange output `%s'",ifnbuf);
+  if (l<=0 || ifnbuf[l-1] != '\n') fatal("slattach gave strange output `%s'",ifnbuf);
   ifnbuf[l-1]= 0;
   for (k=l; k>0 && ifnbuf[k-1]!=' '; k--);
   ifname= ifnbuf+k;