]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/plugins/passprompt.c
Add L2TP support.
[ppp.git] / pppd / plugins / passprompt.c
index 5e6a7f90bb755026387fed5bab7f7a789fd55f5f..1d885fcea53ba53fa732381ad69be3737def9ad5 100644 (file)
@@ -30,7 +30,7 @@ static int promptpass(char *user, char *passwd)
     int p[2];
     pid_t kid;
     int readgood, wstat;
-    size_t red;
+    ssize_t red;
 
     if (promptprog[0] == 0 || access(promptprog, X_OK) < 0)
        return -1;      /* sorry, can't help */
@@ -50,7 +50,7 @@ static int promptpass(char *user, char *passwd)
     }
     if (!kid) {
        /* we are the child, exec the program */
-       char *argv[4], fdstr[32];
+       char *argv[5], fdstr[32];
        sys_close();
        closelog();
        close(p[0]);
@@ -74,6 +74,8 @@ static int promptpass(char *user, char *passwd)
        if (red == 0)
            break;
        if (red < 0) {
+           if (errno == EINTR)
+               continue;
            error("Can't read secret from %s: %m", promptprog);
            readgood = -1;
            break;