]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/auth.c
don't fall over in the charshunt if we get an EAGAIN or EINTR
[ppp.git] / pppd / auth.c
index 3d466e2e52fa097f95b72dac09ab50d4d71a9ea1..4ca883ca8b7081d4a1437466bf1f5d2e3a249d24 100644 (file)
@@ -32,7 +32,7 @@
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#define RCSID  "$Id: auth.c,v 1.62 2000/03/27 06:02:59 paulus Exp $"
+#define RCSID  "$Id: auth.c,v 1.65 2000/04/15 01:27:10 masputra Exp $"
 
 #include <stdio.h>
 #include <stddef.h>
@@ -229,14 +229,14 @@ option_t auth_options[] = {
       "Use system password database for PAP", 1 },
     { "papcrypt", o_bool, &cryptpap,
       "PAP passwords are encrypted", 1 },
-    { "+ua", o_special, setupapfile,
+    { "+ua", o_special, (void *)setupapfile,
       "Get PAP user and password from file" },
     { "password", o_string, passwd,
       "Password for authenticating us to the peer", OPT_STATIC,
       NULL, MAXSECRETLEN },
-    { "privgroup", o_special, privgroup,
+    { "privgroup", o_special, (void *)privgroup,
       "Allow group members to use privileged options", OPT_PRIV },
-    { "allow-ip", o_special, set_noauth_addr,
+    { "allow-ip", o_special, (void *)set_noauth_addr,
       "Set IP address(es) which can be used without authentication",
       OPT_PRIV },
     { NULL }
@@ -510,6 +510,16 @@ start_networks()
 
     new_phase(PHASE_NETWORK);
 
+#ifdef HAVE_MULTILINK
+    if (multilink) {
+       if (mp_join_bundle()) {
+           if (updetach && !nodetach)
+               detach();
+           return;
+       }
+    }
+#endif /* HAVE_MULTILINK */
+
 #if 0
     if (!demand)
        set_filters(&pass_filter, &active_filter);
@@ -571,7 +581,7 @@ auth_peer_success(unit, protocol, name, namelen)
        namelen = sizeof(peer_authname) - 1;
     BCOPY(name, peer_authname, namelen);
     peer_authname[namelen] = 0;
-    script_setenv("PEERNAME", peer_authname);
+    script_setenv("PEERNAME", peer_authname, 0);
 
     /*
      * If there is no more authentication still to be done,