Merge change 5455 into donut

* changes:
  Add new PPP IPCP script for VPN.
diff --git a/vold/logwrapper.c b/vold/logwrapper.c
index 46f6ed3..8da4892 100644
--- a/vold/logwrapper.c
+++ b/vold/logwrapper.c
@@ -42,7 +42,8 @@
                 buffer[b] = '\0';
             } else if (buffer[b] == '\n') {
                 buffer[b] = '\0';
-                LOG(LOG_INFO, tag, &buffer[a]);
+
+                LOG(LOG_INFO, tag, "%s", &buffer[a]);
                 a = b + 1;
             }
         }
diff --git a/vold/volmgr_vfat.c b/vold/volmgr_vfat.c
index 7833222..7a4e12f 100644
--- a/vold/volmgr_vfat.c
+++ b/vold/volmgr_vfat.c
@@ -26,7 +26,7 @@
 
 #define VFAT_DEBUG 0
 
-static char FSCK_MSDOS_PATH[] = "/system/bin/dosfsck";
+static char FSCK_MSDOS_PATH[] = "/system/bin/fsck_msdos";
 
 int vfat_identify(blkdev_t *dev)
 {
@@ -51,51 +51,28 @@
         return 0;
     }
 
-    do {
+    char *args[5];
+    args[0] = FSCK_MSDOS_PATH;
+    args[1] = "-p";
+    args[2] = "-f";
+    args[3] = blkdev_get_devpath(dev);
+    args[4] = NULL;
+    rc = logwrap(4, args, 1);
+    free(args[3]);
 
-        char *args[6];
-        args[0] = FSCK_MSDOS_PATH;
-        args[1] = "-v";
-
-        if (rw) {
-            args[2] = "-w";
-            args[3] = "-p";
-            args[4] = blkdev_get_devpath(dev);
-            args[5] = NULL;
-            rc = logwrap(5, args, 1);
-            free(args[4]);
-        } else {
-            args[2] = "-n";
-            args[3] = blkdev_get_devpath(dev);
-            args[4] = NULL;
-            rc = logwrap(4, args, 1);
-            free(args[3]);
-        }
-
-        if (rc == 0) {
-            LOG_VOL("Filesystem check completed OK");
-            return 0;
-        } else if (rc == 1) {
-            LOG_VOL("Filesystem check failed (general failure)");
-            return -EINVAL;
-        } else if (rc == 2) {
-            LOG_VOL("Filesystem check failed (invalid usage)");
-            return -EIO;
-        } else if (rc == 4) {
-            LOG_VOL("Filesystem check completed (errors fixed)");
-        } else if (rc == 6) {
-            LOG_VOL("Filesystem read-only - retrying check RO");
-            rw = false;
-            continue;
-        } else if (rc == 8) {
-            LOG_VOL("Filesystem check failed (not a FAT filesystem)");
-            return -ENODATA;
-        } else {
-            LOG_VOL("Filesystem check failed (unknown exit code %d)", rc);
-            return -EIO;
-        }
-    } while (0);
-
+    if (rc == 0) {
+        LOG_VOL("Filesystem check completed OK");
+        return 0;
+    } else if (rc == 2) {
+        LOG_VOL("Filesystem check failed (not a FAT filesystem)");
+        return -ENODATA;
+    } else if (rc == -11) {
+        LOG_VOL("Filesystem check crashed");
+        return -EIO;
+    } else {
+        LOG_VOL("Filesystem check failed (unknown exit code %d)", rc);
+        return -EIO;
+    }
     return 0;
 }