chiark / gitweb /
ipif: Update docs to reflect fact that we are now using tun/tap.
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 4 Dec 2013 19:05:35 +0000 (19:05 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Wed, 4 Dec 2013 19:05:35 +0000 (19:05 +0000)
debian/changelog
ipif/INSTALL
ipif/README
ipif/slattach.diff [deleted file]

index eddbf11..2009368 100644 (file)
@@ -6,6 +6,7 @@ userv-utils (0.6.0~~iwj1) unstable; urgency=low
   * dyndns: Docuument existence in README.
   * REAMDE, copyright: Correct locations for GPL, and contact info.
   * Update to GPLv3+; update copyright notices everywhere.
+  * ipif: Update docs to reflect fact that we are now using tun/tap.
 
  --
 
index 397a31d..71ba29d 100644 (file)
@@ -13,8 +13,7 @@ BUILD AND INSTALLATION INSTRUCTIONS
 
 1. Install userv, 1.0.1 or later.  This is in Debian GNU/Linux.
 
-2. Make sure your Linux kernel has SLIP and CSLIP compiled in.
-   You will need to be using Linux 2.2 (with Unix98-style ptys).
+2. Make sure your Linux kernel has SLIP and TUN compiled in.
 
 3. udptunnel works best if your ssh can do ssh-protocol-level
    keepalives.  Currently these are only supported by using a special
@@ -34,18 +33,6 @@ BUILD AND INSTALLATION INSTRUCTIONS
  setting up SLIP interfaces.  It might be possible in principle to
  create alternatives for other platforms.
 
-`slattach' problem:
-
- There is a problem with some versions of `slattach' on Linux.  If you
- see a message from it about being unable to open /dev/2 or some such,
- then you need to upgrade or patch your `slattach'.  In Debian
- GNU/Linux it's in the `netbase' package, and the fix is in Debian 2.1
- in 3.16-3 and later; however the bug has regressed, and is known to
- be in Debian 2.2's 3.18-4 and earlier.  The relevant Debian bug
- reports are #45515 (now closed) and #45944.  A patch to correct
- 3.18-4 is provided here as `slattach.diff', and a fixed binary is
- available from me.
-
 
 
 UDPTUNNEL SETUP TUTORIAL
@@ -489,14 +476,6 @@ UDPTUNNEL SETUP TUTORIAL
     invocations (ie, ones with a command specified) often have a
     different PATH.
 
-  slattach cannot open /dev/2 (or similar messages)
-    Your slattach is buggy.  See under `slattach problem' in the build
-    and installation instructions, above.
-
-  slattach cannot change line discipline (or some other weird message)
-    Check whether your kernel is compiled with SLIP and/or CSLIP
-    support.
-
  * Other messages:
 
   udptunnel-forwarder: alice: bad packet: blowfish-cbcmac: verify failed
index 09bf5d9..39a691a 100644 (file)
@@ -14,8 +14,7 @@ This directory contains:
   With the appropriate configuration in userv ipif, users can be
   allowed to create VPN connections without needing root privilege.
 
-These tools have only been tested on GNU/Linux, and userv ipif in
-particular uses the Linux-specific `slattach' utility.
+These tools have only been tested on GNU/Linux.
 
 
 The documentation available is:
diff --git a/ipif/slattach.diff b/ipif/slattach.diff
deleted file mode 100644 (file)
index 2107e2d..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
---- net-tools/slattach.c~      Sun Sep 19 19:04:28 1999
-+++ net-tools/slattach.c       Sun Sep 19 19:35:56 1999
-@@ -451,27 +451,39 @@
- static int
- tty_open(char *name, char *speed)
- {
--  char path[PATH_MAX];
--  register char *sp;
-+  char pathbuf[PATH_MAX];
-+  register char *path_open, *path_lock;
-   int fd;
-   /* Try opening the TTY device. */
-   if (name != NULL) {
--      if ((sp = strrchr(name, '/')) != (char *)NULL) *sp++ = '\0';
--        else sp = name;
--      sprintf(path, "/dev/%s", sp);
--      if (tty_lock(sp, 1)) return(-1); /* can we lock the device? */
--      if ((fd = open(path, O_RDWR)) < 0) {
-+      if (name[0] != '/') {
-+              if (strlen(name) + 6 > sizeof(pathbuf)) {
-+                      if (opt_q == 0) fprintf(stderr,
-+                              _("slattach: tty name too long\n"));
-+                      return(-1);
-+              }
-+              sprintf(pathbuf, "/dev/%s", name);
-+              path_open = pathbuf;
-+              path_lock = name;
-+      } else if (!strncmp(name,"/dev/",5)) {
-+              path_open = name;
-+              path_lock = name+5;
-+      } else {
-+              path_open = name;
-+              path_lock = name;
-+      }
-+      if (tty_lock(path_lock, 1)) return(-1); /* can we lock the device? */
-+      if ((fd = open(path_open, O_RDWR)) < 0) {
-               if (opt_q == 0) fprintf(stderr,
-                       "slattach: tty_open(%s, RW): %s\n",
--                                      path, strerror(errno));
-+                                      path_open, strerror(errno));
-               return(-errno);
-       }
-       tty_fd = fd;
--      if (opt_d) printf("slattach: tty_open: %s (%d) ", path, fd);
-+      if (opt_d) printf("slattach: tty_open: %s (%d) ", path_open, fd);
-   } else {
-       tty_fd = 0;
--      sp = (char *)NULL;
-   }
-   /* Fetch the current state of the terminal. */
-@@ -562,20 +574,21 @@
- int
- main(int argc, char *argv[])
- {
--  char path[128];
-+  char path_buf[128];
-+  char *path_dev;
-   char buff[128];
-   char *speed = NULL;
-   char *proto = DEF_PROTO;
-   char *extcmd = (char *)0;
-   struct hwtype *ht;
--  char *sp;
-   int s;
-   static struct option longopts[] = {
-     { "version", 0, NULL, 'V' },
-     { NULL, 0, NULL, 0 }
-   };
--  strcpy(path, "");
-+  strcpy(path_buf, "");
-+  path_dev= path_buf;
-   /* Scan command line for any arguments. */
-   opterr = 0;
-@@ -649,6 +662,12 @@
-               /*NOTREACHED*/
-   }
-   
-+  if (setvbuf(stdout,0,_IOLBF,0)) {
-+      if (opt_q == 0) fprintf(stderr, _("slattach: setvbuf(stdout,0,_IOLBF,0): %s\n"),
-+                              strerror(errno));
-+      exit(1);
-+  }
-+  
-   activate_init();
-   /* Check the protocol. */
-@@ -660,15 +679,14 @@
-   /* Is a terminal given? */
-   if (optind != (argc - 1)) usage();
--  safe_strncpy(path, argv[optind], sizeof(path));
--  if (!strcmp(path, "-")) {
-+  safe_strncpy(path_buf, argv[optind], sizeof(path_buf));
-+  if (!strcmp(path_buf, "-")) {
-       opt_e = 1;
--      sp = NULL;
-+      path_dev = NULL;
-       if (tty_open(NULL, speed) < 0) { return(3); }
-   } else {
--      if ((sp = strrchr(path, '/')) != NULL) *sp++ = '\0';
--        else sp = path;
--      if (tty_open(sp, speed) < 0) { return(3); }
-+      path_dev = path_buf;
-+      if (tty_open(path_dev, speed) < 0) { return(3); }
-   }
-   /* Start the correct protocol. */
-@@ -681,7 +699,7 @@
-   if (opt_v == 1) {
-       tty_get_name(buff);
-       printf(_("%s started"), proto);
--      if (sp != NULL) printf(_(" on %s"), sp);
-+      if (path_dev != NULL) printf(_(" on %s"), path_dev);
-       printf(_(" interface %s\n"), buff);
-   }
-