]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/chap.c
Set current_option for error reporting. Bug and fix by Clive Nicolson.
[ppp.git] / pppd / chap.c
index e47d52f6ba68c76e610c229210e8f7fd8aaf81ab..2c997cc908f34dfcaf85880b1a975efd7b8b2a10 100644 (file)
@@ -33,7 +33,7 @@
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
-#define RCSID  "$Id: chap.c,v 1.35 2002/10/12 01:28:05 fcusack Exp $"
+#define RCSID  "$Id: chap.c,v 1.37 2002/10/12 20:09:36 fcusack Exp $"
 
 /*
  * TODO:
@@ -576,10 +576,8 @@ ChapReceiveResponse(cstate, inp, id, len)
 
     UNTIMEOUT(ChapChallengeTimeout, cstate);
 
-    if (len >= sizeof(rhostname))
-       len = sizeof(rhostname) - 1;
-    BCOPY(inp, rhostname, len);
-    rhostname[len] = '\000';
+    /* Null terminate and clean remote name. */
+    slprintf(rhostname, sizeof(rhostname), "%.*v", len, inp);
 
 #ifdef CHAPMS
     /* copy the flags into cstate for use elsewhere */
@@ -606,7 +604,7 @@ ChapReceiveResponse(cstate, inp, id, len)
            if (!auth_number()) {
                /* We do not want to leak info about the chap result. */
                code = CHAP_FAILURE; /* XXX exit value will be "wrong" */
-               error("calling number %q is not authorized", remote_number);
+               warn("calling number %q is not authorized", remote_number);
            }
        }