about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/afl-fuzz-init.c18
-rw-r--r--src/afl-fuzz-run.c14
2 files changed, 24 insertions, 8 deletions
diff --git a/src/afl-fuzz-init.c b/src/afl-fuzz-init.c
index d468f2c8..9b7ead29 100644
--- a/src/afl-fuzz-init.c
+++ b/src/afl-fuzz-init.c
@@ -1383,16 +1383,18 @@ void setup_dirs_fds(afl_state_t *afl) {
 
   }
 
-/*
-  if (afl->is_master) {
+  /*
+    if (afl->is_master) {
 
-    u8 *x = alloc_printf("%s/is_master", afl->sync_dir);
-    int fd = open(x, O_CREAT | O_RDWR, 0644);
-    if (fd < 0) FATAL("cannot create %s", x);
-    close(fd);
+      u8 *x = alloc_printf("%s/%s/is_master", afl->sync_dir, afl->sync_id);
+      int fd = open(x, O_CREAT | O_RDWR, 0644);
+      if (fd < 0) FATAL("cannot create %s", x);
+      free(x);
+      close(fd);
 
-  }
-*/
+    }
+
+  */
 
   if (mkdir(afl->out_dir, 0700)) {
 
diff --git a/src/afl-fuzz-run.c b/src/afl-fuzz-run.c
index d9adb792..bbcd9a99 100644
--- a/src/afl-fuzz-run.c
+++ b/src/afl-fuzz-run.c
@@ -401,6 +401,20 @@ void sync_fuzzers(afl_state_t *afl) {
 
     }
 
+    /*
+        // a slave only syncs from a master, a master syncs from everyone
+        if (likely(afl->is_slave)) {
+
+          u8 x = alloc_printf("%s/%s/is_master", afl->sync_dir, sd_ent->d_name);
+          int res = access(x, F_OK);
+          free(x);
+          if (res != 0)
+            continue;
+
+        }
+
+    */
+
     /* Skip anything that doesn't have a queue/ subdirectory. */
 
     qd_path = alloc_printf("%s/%s/queue", afl->sync_dir, sd_ent->d_name);