about summary refs log tree commit diff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/afl-fuzz.h11
-rw-r--r--include/config.h34
-rw-r--r--include/envs.h136
3 files changed, 150 insertions, 31 deletions
diff --git a/include/afl-fuzz.h b/include/afl-fuzz.h
index ca785e47..adab8155 100644
--- a/include/afl-fuzz.h
+++ b/include/afl-fuzz.h
@@ -139,8 +139,7 @@ struct queue_entry {
       var_behavior,                     /* Variable behavior?               */
       favored,                          /* Currently favored?               */
       fs_redundant,                     /* Marked as redundant in the fs?   */
-      fully_colorized,                  /* Do not run redqueen stage again  */
-      is_ascii;                         /* Is the input just ascii text?    */
+      fully_colorized;                  /* Do not run redqueen stage again  */
 
   u32 bitmap_size,                      /* Number of bits set in bitmap     */
       fuzz_level;                       /* Number of fuzzing iterations     */
@@ -547,6 +546,10 @@ typedef struct afl_state {
       *queue_top,                       /* Top of the list                  */
       *q_prev100;                       /* Previous 100 marker              */
 
+  // growing buf
+  struct queue_entry **queue_buf;
+  size_t queue_size;
+
   struct queue_entry **top_rated;           /* Top entries for bitmap bytes */
 
   struct extra_data *extras;            /* Extra tokens to fuzz with        */
@@ -948,7 +951,7 @@ u8 input_to_state_stage(afl_state_t *afl, u8 *orig_buf, u8 *buf, u32 len,
                         u64 exec_cksum);
 
 /* xoshiro256** */
-uint32_t rand_next(afl_state_t *afl);
+uint64_t rand_next(afl_state_t *afl);
 
 /**** Inline routines ****/
 
@@ -968,7 +971,7 @@ static inline u32 rand_below(afl_state_t *afl, u32 limit) {
 
   }
 
-  return (rand_next(afl) % limit);
+  return rand_next(afl) % limit;
 
 }
 
diff --git a/include/config.h b/include/config.h
index 09405a22..4503c3e9 100644
--- a/include/config.h
+++ b/include/config.h
@@ -28,7 +28,7 @@
 /* Version string: */
 
 // c = release, d = volatile github dev, e = experimental branch
-#define VERSION "++2.65d"
+#define VERSION "++2.66d"
 
 /******************************************************
  *                                                    *
@@ -234,7 +234,7 @@
 
 /* Sync interval (every n havoc cycles): */
 
-#define SYNC_INTERVAL 5
+#define SYNC_INTERVAL 8
 
 /* Output directory reuse grace period (minutes): */
 
@@ -293,7 +293,7 @@
 
 /* Call count interval between reseeding the libc PRNG from /dev/urandom: */
 
-#define RESEED_RNG 256000
+#define RESEED_RNG 100000
 
 /* Maximum line length passed from GCC to 'as' and used for parsing
    configuration files: */
@@ -380,6 +380,10 @@
 
 #define CMPLOG_SHM_ENV_VAR "__AFL_CMPLOG_SHM_ID"
 
+/* CPU Affinity lockfile env var */
+
+#define CPU_AFFINITY_ENV_VAR "__AFL_LOCKFILE"
+
 /* Uncomment this to use inferior block-coverage-based instrumentation. Note
    that you need to recompile the target binary for this to have any effect: */
 
@@ -397,29 +401,5 @@
 
 // #define IGNORE_FINDS
 
-/* Text mutations */
-
-/* What is the minimum length of a queue input to be evaluated for "is_ascii"?
- */
-
-#define AFL_TXT_MIN_LEN 12
-
-/* What is the minimum percentage of ascii characters present to be classifed
-   as "is_ascii"? */
-
-#define AFL_TXT_MIN_PERCENT 95
-
-/* How often to perform ASCII mutations 0 = disable, 1-8 are good values */
-
-#define AFL_TXT_BIAS 8
-
-/* Maximum length of a string to tamper with */
-
-#define AFL_TXT_STRING_MAX_LEN 1024
-
-/* Maximum mutations on a string */
-
-#define AFL_TXT_STRING_MAX_MUTATIONS 6
-
 #endif                                                  /* ! _HAVE_CONFIG_H */
 
diff --git a/include/envs.h b/include/envs.h
index 0651f9da..86222418 100644
--- a/include/envs.h
+++ b/include/envs.h
@@ -1,3 +1,139 @@
+#ifndef _ENVS_H
+
+#define _ENVS_H
+
+static char *afl_environment_deprecated[] = {
+
+    "AFL_LLVM_WHITELIST",
+    "AFL_GCC_WHITELIST",
+    "AFL_DEFER_FORKSRV",
+    "AFL_POST_LIBRARY",
+    "AFL_PERSISTENT",
+    NULL
+
+};
+
+static char *afl_environment_variables[] = {
+
+    "AFL_ALIGNED_ALLOC",
+    "AFL_ALLOW_TMP",
+    "AFL_ANALYZE_HEX",
+    "AFL_AS",
+    "AFL_AUTORESUME",
+    "AFL_AS_FORCE_INSTRUMENT",
+    "AFL_BENCH_JUST_ONE",
+    "AFL_BENCH_UNTIL_CRASH",
+    "AFL_CAL_FAST",
+    "AFL_CC",
+    "AFL_CMIN_ALLOW_ANY",
+    "AFL_CMIN_CRASHES_ONLY",
+    "AFL_CODE_END",
+    "AFL_CODE_START",
+    "AFL_COMPCOV_BINNAME",
+    "AFL_COMPCOV_LEVEL",
+    "AFL_CUSTOM_MUTATOR_LIBRARY",
+    "AFL_CUSTOM_MUTATOR_ONLY",
+    "AFL_CXX",
+    "AFL_DEBUG",
+    "AFL_DEBUG_CHILD_OUTPUT",
+    "AFL_DEBUG_GDB",
+    "AFL_DISABLE_TRIM",
+    "AFL_DONT_OPTIMIZE",
+    "AFL_DUMB_FORKSRV",
+    "AFL_ENTRYPOINT",
+    "AFL_EXIT_WHEN_DONE",
+    "AFL_FAST_CAL",
+    "AFL_FORCE_UI",
+    "AFL_GCC_INSTRUMENT_FILE",
+    "AFL_GCJ",
+    "AFL_HANG_TMOUT",
+    "AFL_HARDEN",
+    "AFL_I_DONT_CARE_ABOUT_MISSING_CRASHES",
+    "AFL_IMPORT_FIRST",
+    "AFL_INST_LIBS",
+    "AFL_INST_RATIO",
+    "AFL_KEEP_TRACES",
+    "AFL_KEEP_ASSEMBLY",
+    "AFL_LD_HARD_FAIL",
+    "AFL_LD_LIMIT_MB",
+    "AFL_LD_NO_CALLOC_OVER",
+    "AFL_LD_PASSTHROUGH",
+    "AFL_REAL_LD",
+    "AFL_LD_PRELOAD",
+    "AFL_LD_VERBOSE",
+    "AFL_LLVM_CMPLOG",
+    "AFL_LLVM_INSTRIM",
+    "AFL_LLVM_CTX",
+    "AFL_LLVM_INSTRUMENT",
+    "AFL_LLVM_INSTRIM_LOOPHEAD",
+    "AFL_LLVM_LTO_AUTODICTIONARY",
+    "AFL_LLVM_AUTODICTIONARY",
+    "AFL_LLVM_SKIPSINGLEBLOCK",
+    "AFL_LLVM_INSTRIM_SKIPSINGLEBLOCK",
+    "AFL_LLVM_LAF_SPLIT_COMPARES",
+    "AFL_LLVM_LAF_SPLIT_COMPARES_BITW",
+    "AFL_LLVM_LAF_SPLIT_FLOATS",
+    "AFL_LLVM_LAF_SPLIT_SWITCHES",
+    "AFL_LLVM_LAF_ALL",
+    "AFL_LLVM_LAF_TRANSFORM_COMPARES",
+    "AFL_LLVM_MAP_ADDR",
+    "AFL_LLVM_MAP_DYNAMIC",
+    "AFL_LLVM_NGRAM_SIZE",
+    "AFL_NGRAM_SIZE",
+    "AFL_LLVM_NOT_ZERO",
+    "AFL_LLVM_INSTRUMENT_FILE",
+    "AFL_LLVM_SKIP_NEVERZERO",
+    "AFL_NO_AFFINITY",
+    "AFL_LLVM_LTO_STARTID",
+    "AFL_LLVM_LTO_DONTWRITEID",
+    "AFL_NO_ARITH",
+    "AFL_NO_BUILTIN",
+    "AFL_NO_CPU_RED",
+    "AFL_NO_FORKSRV",
+    "AFL_NO_UI",
+    "AFL_NO_PYTHON",
+    "AFL_UNTRACER_FILE",
+    "AFL_LLVM_USE_TRACE_PC",
+    "AFL_NO_X86",  // not really an env but we dont want to warn on it
+    "AFL_MAP_SIZE",
+    "AFL_MAPSIZE",
+    "AFL_PATH",
+    "AFL_PERFORMANCE_FILE",
+    "AFL_PRELOAD",
+    "AFL_PYTHON_MODULE",
+    "AFL_QEMU_COMPCOV",
+    "AFL_QEMU_COMPCOV_DEBUG",
+    "AFL_QEMU_DEBUG_MAPS",
+    "AFL_QEMU_DISABLE_CACHE",
+    "AFL_QEMU_PERSISTENT_ADDR",
+    "AFL_QEMU_PERSISTENT_CNT",
+    "AFL_QEMU_PERSISTENT_GPR",
+    "AFL_QEMU_PERSISTENT_HOOK",
+    "AFL_QEMU_PERSISTENT_RET",
+    "AFL_QEMU_PERSISTENT_RETADDR_OFFSET",
+    "AFL_QUIET",
+    "AFL_RANDOM_ALLOC_CANARY",
+    "AFL_REAL_PATH",
+    "AFL_SHUFFLE_QUEUE",
+    "AFL_SKIP_BIN_CHECK",
+    "AFL_SKIP_CPUFREQ",
+    "AFL_SKIP_CRASHES",
+    "AFL_TMIN_EXACT",
+    "AFL_TMPDIR",
+    "AFL_TOKEN_FILE",
+    "AFL_TRACE_PC",
+    "AFL_USE_ASAN",
+    "AFL_USE_MSAN",
+    "AFL_USE_TRACE_PC",
+    "AFL_USE_UBSAN",
+    "AFL_USE_CFISAN",
+    "AFL_WINE_PATH",
+    "AFL_NO_SNAPSHOT",
+    NULL
+
+};
 
 extern char *afl_environment_variables[];
 
+#endif
+