From e10b2ff2255b319eef11a061e9d909306351b91b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javier=20Jaramago=20Fern=C3=A1ndez?= Date: Mon, 29 Nov 2021 16:07:25 +0100 Subject: [PATCH] Added 'AFL++' stability test for 'mysql_query_digests' impl --- test/afl_digest_test/Makefile | 17 ++ test/afl_digest_test/README.md | 51 +++++ .../afl_mysql_query_digest.cpp | 180 ++++++++++++++++++ test/afl_digest_test/c_tokenizer.c | 1 + test/afl_digest_test/c_tokenizer.h | 1 + test/afl_digest_test/inputs/sql_input_1.txt | 1 + test/afl_digest_test/inputs/sql_input_2.txt | 1 + test/afl_digest_test/inputs/sql_input_3.txt | 1 + test/afl_digest_test/launch_tests.sh | 7 + test/afl_digest_test/stop_tests.sh | 1 + 10 files changed, 261 insertions(+) create mode 100644 test/afl_digest_test/Makefile create mode 100644 test/afl_digest_test/README.md create mode 100644 test/afl_digest_test/afl_mysql_query_digest.cpp create mode 120000 test/afl_digest_test/c_tokenizer.c create mode 120000 test/afl_digest_test/c_tokenizer.h create mode 100644 test/afl_digest_test/inputs/sql_input_1.txt create mode 100644 test/afl_digest_test/inputs/sql_input_2.txt create mode 100644 test/afl_digest_test/inputs/sql_input_3.txt create mode 100755 test/afl_digest_test/launch_tests.sh create mode 100755 test/afl_digest_test/stop_tests.sh diff --git a/test/afl_digest_test/Makefile b/test/afl_digest_test/Makefile new file mode 100644 index 000000000..7700acc23 --- /dev/null +++ b/test/afl_digest_test/Makefile @@ -0,0 +1,17 @@ +PROXYSQL_PATH=../.. +PROXYSQL_IDIR=$(PROXYSQL_PATH)/include + +CC = afl-g++-fast +CFLAGS = -Wall -fpermissive -pthread +OBJS = c_tokenizer.o + +all: afl_test + +afl_test: $(OBJS) + $(CC) $(CFLAGS) $(OBJS) -I$(PROXYSQL_IDIR) afl_mysql_query_digest.cpp -o afl_test + +c_tokenizer.o: c_tokenizer.c c_tokenizer.h + $(CC) $(CFLAGS) -c c_tokenizer.c + +clean: + rm -f *~ *.o afl_test diff --git a/test/afl_digest_test/README.md b/test/afl_digest_test/README.md new file mode 100644 index 000000000..8196c10d6 --- /dev/null +++ b/test/afl_digest_test/README.md @@ -0,0 +1,51 @@ +## Description + +This folder provides a AFL++ stability test for fuzzy testing 'mysql_query_digest_and_first_comment_2' +implementation. + +## Usage + +For compiling test it's enough to run the following commands in ProxySQL main WORKSPACE folder: + +``` +docker run -tid -v $(pwd):/src aflplusplus/aflplusplus +docker exec -it $(CONTAINER_ID) /bin/bash +cd /src/test/afl_digest_test/ +make +``` + +Then for launching an individual instance of `afl-fuzz` it's enough to run: + +``` +mkdir output +afl-fuzz -M main-$HOSTNAME -i inputs/ -o output/ -- ./afl_test -d 1 -l 1 -n 1 -s 50 -g 0 -G 0 +``` + +Where the options that can be specified for the fuzzing test are: + +``` +AFL fuzz testing for digest parsing + +USAGE: afl_test [OPTIONS] + +OPTIONS: + +-d, --replace-digits ARG Query digest 'NoDigits' +-G, --groups-grouping-limit ARG Query digest 'GroupsGroupingLimit' +-g, --grouping-limit ARG Query digest 'GroupingLimit' +-h, -help, --help, --usage Display usage instructions. +-l, --lowercase ARG Query digest 'LowerCase' +-n, --replace-null ARG Query digest 'ReplaceNULL' +-s, --digest-size ARG Query digest 'MaxLength' + +``` + +They can be optioned also by running `./afl_test -h`. + +## Parallel testing + +1\. For launching multiple instances of `afl-fuzz` the `launch_tests.sh` and `stop_tests.sh` scripts could be used. +2\. For checking the overall progress of the parallel testing the following command can be used: +``` +afl-whatsup -s output +``` diff --git a/test/afl_digest_test/afl_mysql_query_digest.cpp b/test/afl_digest_test/afl_mysql_query_digest.cpp new file mode 100644 index 000000000..b2d33f006 --- /dev/null +++ b/test/afl_digest_test/afl_mysql_query_digest.cpp @@ -0,0 +1,180 @@ +#pragma GCC optimize("O0") +#define QUERY_DIGEST_BUF 128 + +#include "c_tokenizer.h" +#include "proxysql_utils.h" +#include "ezOptionParser.hpp" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +__thread int mysql_thread___query_digests_max_query_length = 65000; +__thread bool mysql_thread___query_digests_lowercase = false; +__thread bool mysql_thread___query_digests_replace_null = true; +__thread bool mysql_thread___query_digests_no_digits = false; +__thread int mysql_thread___query_digests_grouping_limit = 3; +__thread int mysql_thread___query_digests_groups_grouping_limit = 1; + +using std::string; +using option_err = std::pair; + +option_err check_and_set_option(ez::ezOptionParser& opts, string opt_id, int* config_option_val) { + option_err err_res { EXIT_SUCCESS, "" }; + + if (opts.isSet(opt_id)) { + string s_option_val {}; + char* str_end = NULL; + + opts.get(opt_id.c_str())->getString(s_option_val); + int option_val = std::strtoll(s_option_val.c_str(), &str_end, 10); + + if (errno != ERANGE) { + *config_option_val = option_val; + } else { + string t_invalid_value_msg { "Invalid '%s' supplied" }; + string invalid_value_msg {}; + string_format(t_invalid_value_msg, invalid_value_msg, opt_id.c_str()); + + string t_err_msg { "File %s, line %d, Error: %s" }; + string err_msg {}; + string_format(t_err_msg, err_msg, __FILE__, __LINE__, invalid_value_msg.c_str()); + + err_res = { EXIT_FAILURE, err_msg }; + } + } + + return err_res; +} + +void print_invalid_input_error(const option_err& err) { + std::cout << "InvalidInputError: " << err.second << "\n"; +} + +option_err parse_parameter_options(int argc, const char** argv) { + option_err err_res { EXIT_SUCCESS, "" }; + + ez::ezOptionParser opts {}; + opts.overview = "AFL fuzz testing for digest parsing"; + opts.syntax = "afl_test [OPTIONS]"; + opts.footer = "\n\nHappy bug hunting :)"; + + opts.add( + (const char *)"", 0, 0, 0, (const char *)"Display usage instructions.", + (const char *)"-h", (const char *)"-help", (const char *)"--help", (const char *)"--usage" + ); + opts.add( + (const char *)"", 1, 1, 0, (const char *)"Query digest 'MaxLength'", + (const char *)"-s", (const char *)"--digest-size" + ); + opts.add( + (const char *)"", 1, 1, 0, (const char *)"Query digest 'LowerCase'", + (const char *)"-l", (const char *)"--lowercase" + ); + opts.add( + (const char *)"", 1, 1, 0, (const char *)"Query digest 'ReplaceNULL'", + (const char *)"-n", (const char *)"--replace-null" + ); + opts.add( + (const char *)"", 1, 1, 0, (const char *)"Query digest 'NoDigits'", + (const char *)"-d", (const char *)"--replace-digits" + ); + opts.add( + (const char *)"", 1, 1, 0, (const char *)"Query digest 'GroupingLimit'", + (const char *)"-g", (const char *)"--grouping-limit" + ); + opts.add( + (const char *)"", 1, 1, 0, (const char *)"Query digest 'GroupsGroupingLimit'", + (const char *)"-G", (const char *)"--groups-grouping-limit" + ); + + // parse the arguments + opts.parse(argc, argv); + + // extract command line options + if (opts.isSet("-h")) { + std::string usage {}; + opts.getUsage(usage); + std::cout << usage << std::endl; + + exit(EXIT_SUCCESS); + } + + int option_value = 0; + + err_res = check_and_set_option(opts, "-s", &option_value); + if (err_res.first != EXIT_SUCCESS) { + return err_res; + } else { + mysql_thread___query_digests_max_query_length = option_value; + } + err_res = check_and_set_option(opts, "-l", &option_value); + if (err_res.first != EXIT_SUCCESS) { + return err_res; + } else { + mysql_thread___query_digests_lowercase = option_value; + } + err_res = check_and_set_option(opts, "-n", &option_value); + if (err_res.first != EXIT_SUCCESS) { + return err_res; + } else { + mysql_thread___query_digests_replace_null = option_value; + } + err_res = check_and_set_option(opts, "-d", &option_value); + if (err_res.first != EXIT_SUCCESS) { + return err_res; + } else { + mysql_thread___query_digests_no_digits = option_value; + } + err_res = check_and_set_option(opts, "-g", &option_value); + if (err_res.first != EXIT_SUCCESS) { + return err_res; + } else { + mysql_thread___query_digests_grouping_limit = option_value; + } + err_res = check_and_set_option(opts, "-G", &option_value); + if (err_res.first != EXIT_SUCCESS) { + return err_res; + } else { + mysql_thread___query_digests_groups_grouping_limit = option_value; + } + + return err_res; +} + +void process_digest_test(unsigned char* query, int len) { + char buf[QUERY_DIGEST_BUF]; + char* first_comment = NULL; + mysql_query_digest_and_first_comment_2(query, len, &first_comment, ((len < QUERY_DIGEST_BUF) ? buf : NULL)); +} + +__AFL_FUZZ_INIT(); + +int main(int argc, const char** argv) { + option_err opt_err = parse_parameter_options(argc, argv); + if (opt_err.first != EXIT_SUCCESS) { + std::cout << "InvalidSuppliedOption: " << opt_err.second << "\n"; + return EXIT_FAILURE; + } + +#ifdef __AFL_HAVE_MANUAL_CONTROL + __AFL_INIT(); +#endif + + unsigned char *buf = __AFL_FUZZ_TESTCASE_BUF; + fflush(stdin); + + while (__AFL_LOOP(10000)) { + int len = __AFL_FUZZ_TESTCASE_LEN; + process_digest_test(buf, len); + } + + return 0; +} diff --git a/test/afl_digest_test/c_tokenizer.c b/test/afl_digest_test/c_tokenizer.c new file mode 120000 index 000000000..dc2f020c0 --- /dev/null +++ b/test/afl_digest_test/c_tokenizer.c @@ -0,0 +1 @@ +../../lib/c_tokenizer.c \ No newline at end of file diff --git a/test/afl_digest_test/c_tokenizer.h b/test/afl_digest_test/c_tokenizer.h new file mode 120000 index 000000000..156d82936 --- /dev/null +++ b/test/afl_digest_test/c_tokenizer.h @@ -0,0 +1 @@ +../../include/c_tokenizer.h \ No newline at end of file diff --git a/test/afl_digest_test/inputs/sql_input_1.txt b/test/afl_digest_test/inputs/sql_input_1.txt new file mode 100644 index 000000000..df207f636 --- /dev/null +++ b/test/afl_digest_test/inputs/sql_input_1.txt @@ -0,0 +1 @@ +create table table_10_utf8_4 (\n`pk` int primary key,\n`col_bigint_undef_signed` bigint ,\n`col_bigint_undef_unsigned` bigint unsigned ,\n`col_bigint_key_signed` bigint ,\n`col_bigint_key_unsigned` bigint unsigned ,\n`col_float_undef_signed` float ,\n`col_float_undef_unsigned` float unsigned ,\n`col_float_key_signed` float ,\n`col_float_key_unsigned` float unsigned ,\n`col_double_undef_signed` double ,\n`col_double_undef_unsigned` double unsigned ,\n`col_double_key_signed` double ,\n`col_double_key_unsigned` double unsigned ,\n`col_decimal(40, 20)_undef_signed` decimal(40, 20) ,\n`col_decimal(40, 20)_undef_unsigned` decimal(40, 20) unsigned ,\n`col_decimal(40, 20)_key_signed` decimal(40, 20) ,\n`col_decimal(40, 20)_key_unsigned` decimal(40, 20) unsigned ,\n`col_char(20)_undef_signed` char(20) ,\n`col_char(20)_key_signed` char(20) ,\n`col_varchar(20)_undef_signed` varchar(20) ,\n`col_varchar(20)_key_signed` varchar(20) ,\n`col_enum_undef_signed` enum('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') ,\n`col_enum_key_signed` enum('a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z') ,\nkey (`col_bigint_key_signed`),\nkey (`col_bigint_key_unsigned`),\nkey (`col_float_key_signed`),\nkey (`col_float_key_unsigned`),\nkey (`col_double_key_signed`),\nkey (`col_double_key_unsigned`),\nkey (`col_decimal(40, 20)_key_signed`),\nkey (`col_decimal(40, 20)_key_unsigned`),\nkey (`col_char(20)_key_signed`),\nkey (`col_varchar(20)_key_signed`),\nkey (`col_enum_key_signed`)\n) character set utf8 \npartition by hash(pk)\npartitions 4 diff --git a/test/afl_digest_test/inputs/sql_input_2.txt b/test/afl_digest_test/inputs/sql_input_2.txt new file mode 100644 index 000000000..98a44025f --- /dev/null +++ b/test/afl_digest_test/inputs/sql_input_2.txt @@ -0,0 +1 @@ +INSERT /*! IGNORE */ INTO table100_int_autoinc VALUES (NULL, 'z', 'h', 'ydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxozn', NULL, 't', 'h', 'o', 'd', 'zydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaeyxzkphzembbdaavworfhhyqt', 'u', 'she', 5, 'i', 'w', NULL, 'on', 'rzydooepmkjfbwqsrrzxgxq', '2005-05-20 13:33:46', 'y', 1298006016, 'your', 'g', '2009-09-18 12:11:59', NULL, -1386217472, 'frzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaeyxzkp', 7, 'i', 'q', 'hfrzydooepmkjfbwqsrrzxgxqafnrakxsqg', 1606877184, 7, 'at', '2002', 't', NULL) , ('2006-01-14', 'm', 'bhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaeyxzkphzembbdaavworfhhyqtrct', 'ok', NULL, 'z', 'I\\'ll', 'i', 'sbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgn', 'csbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaeyxzkphzembbdaavworfh', 'r', 'me', 6, 'ycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaeyxzkphzembbdaavworfhhyqtrct', 'q', NULL, 'to', 'up', '2000-06-27', 'r', 2006646784, 'look', 'lycsbhfrzydooepmkjfbwqsrr', '2007', 'l', 6, 'one', 8, 'j', 'v', 'going', 6, 1652359168, 'llycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtd', '2007', 'k', 2) , ('2009-01-05 21:31:23', 'o', 'pllycs', 'because', NULL, 't', 'epllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakx', NULL, 'eepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaey', 'well', 'l', 'but', 7, 'l', 'like', -1977155584, 'really', 'yes', '2007', 'feepllycsbhfrzydooepmkjfbwqs', 4, 'xfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnr', 'ixfeepllycsbhfrzydooepmkjfbwqsrrzxgx', '2005-04-10 16:31:36', 'h', 905052160, 'w', -1873149952, 'q', NULL, 'no', 3, 4, 'aixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsq', NULL, 'd', 5) , ('2005-01-24', 'r', 'jaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqa', 'you', NULL, 'h', 'ljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsq', 'a', 'of', 'your', 'g', 'l', 5, 'dljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaeyxzkphzembbd', 'up', 6, 'there', 'would', '2004-04-21 16:08:16', 'one', 1927151616, 'i', 'adljaixfeepllycsbhfrz', '2006-09-08', NULL, 1295777792, 'u', 1, 'i', 'n', 'really', 2, 1106509824, 'got', '2005-06-20', 'i', 711393280) , ('2008', 'c', 'w', 'qadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvva', NULL, 'k', 'lqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxg', 'q', 'blqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpb', 'zblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmngjvvaeyxzkphzem', 'r', 'jzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtd', 1975320576, 'kjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqr', 't', NULL, 'skjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqa', 'right', '2008', 'l', 6, 'z', 'askjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakx', '2006-02-04', NULL, 3, 'j', 331481088, 'i', 'g', 'naskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvd', 552599552, -1905328128, 'vnaskj', '2004-09-13 11:46:16', 'r', 8) , ('2001-01-15 17:59:35', 'c', 'some', 'y', NULL, 'y', 'r', 'w', 'b', 'xvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqr', 'x', 'a', 1239875584, 'z', 'hxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosbbgnmng', NULL, 'jhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkj', 'rjhxvnaskjzblqadljai', '2000-08-27', 'about', 6, 'drjhxvna', 'o', '2004', 'z', 4, 'it', 5, 'h', 's', 'i', -1669005312, NULL, 'of', NULL, 'h', -1234436096) , (NULL, 'o', 'okay', 'x', NULL, 'y', 'mdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnr', NULL, 'umdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshusuklkclbvqrzynxvdosb', 'z', 'u', 'jumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtd', -1251213312, 'y', 'm', 6, 'some', 'w', '2004', 'qjumdrjhxvna', 1591148544, 'for', 'want', '2008-02-09', 'm', 4, 'up', NULL, 'z', 'i', 'a', -285605888, NULL, 'xqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxac', '2002-02-15 06:55:36', 'h', 1) , (NULL, 'r', 'y', 'at', NULL, 'e', 'p', 'e', 's', 'qxqjumdrjhxvnaskjzblqadljaixfee', 'b', 'j', -1654521856, 'he', 'u', NULL, 'c', 'something', '2005-07-16 10:52:40', 'y', -184877056, 'j', 'vqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxo', '2009-04-16', NULL, 3, 'from', NULL, 'b', 'p', 'bvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnr', 2107244544, -1291059200, 'j', '2005-11-08', 'r', 2) , (NULL, 'o', 'it', 'oh', NULL, 'r', 'f', 'y', 'it', 'k', 'r', 'pbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxac', -1211629568, 'ipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxacknpjxoznshu', 'v', 665911296, 'xipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgx', 'rxipbvqxqjumdrjhxvnaskjzblqadljai', '2008-11-19 06:48:23', 'xrxipbvqxqjumdrjhxvnaskjzblqad', -1639907328, 'going', 'm', '2009-05-19 22:44:33', 'v', 108265472, 'really', -1763311616, 'f', 'a', 'l', -519372800, 0, 'get', '2004-03-21 18:10:42', 'd', 1978990592) , ('2007-08-09 15:30:56', 'z', 'p', 'l', NULL, 'r', 'txr', 'b', 'j', 'wtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbw', 'x', 'how', 1791295488, 'nwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzy', 'not', NULL, 'when', 'w', '2005-07-19', 'why', -1399783424, 'no', 'b', '2004-08-14', 'p', 8, 'b', 1, 'm', 's', 'h', -593756160, -415170560, 'z', '2007-12-21', 't', 0) , ('2002-02-26 19:18:23', 'j', 'cnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxq', 'hey', NULL, 'v', 'x', 'l', 'about', 'j', 'g', 'r', -2108555264, 'tcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbt', 'w', NULL, 'g', 'something', '2002-07-09 03:06:49', 'mtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzy', 8, 'hmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbq', 'bhm', '2004-05-14 23:55:23', 'r', 7, 'i', 2029191168, 'u', 'h', 'can\\'t', 4, 0, 'c', '2001', 'c', 7) , ('2008-12-21 02:08:30', 'y', 'gbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydo', 'e', NULL, 'f', 'yes', 'a', 'cgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaix', 'tcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzx', 'm', 'xtcgb', 7, 'vxtcgbhmtcnw', 'n', -488833024, 'if', 'qvxtcgbhmtcnwtxrxipbvqxqjumdrj', '2000-08-27 10:47:35', 'bqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskj', 1907228672, 'there', 'b', '2004-08-19 11:50:30', NULL, -1497300992, 'get', 86048768, 'l', 'd', 'really', 6, 1984561152, 'time', '2006', 'i', 2) , ('2006', 'w', 'r', 'out', NULL, 't', 'ibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbq', NULL, 'could', 'mibqvxtcgbhmtcnw', 'q', 'wmibqvxtcgbhmtcnwtxrxipbvqxqjum', 1273495552, 'w', 'back', -1216675840, 'ewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazjjrjycbqpbtdhvxack', 'it', '2006-07-03', 'up', 1381826560, 'could', 'oh', '2003', NULL, 7, 'mewmibqv', NULL, NULL, 'e', 'p', 4, -1863647232, 'n', '2007-05-14', 'p', NULL) , ('2008', 'd', 'up', 'your', NULL, 'o', 'z', 'k', 't', 'f', 'h', 'it\\'s', -1427374080, 'because', 'yeah', 9, 'a', 'ymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzyd', '2001', 'yymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfb', 9, 'you\\'re', 'one', '2005', 'v', 582746112, 'good', 8, 'q', 'v', 'tyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqa', -1527709696, 1635385344, 'ctyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepm', NULL, 'j', NULL) , (NULL, 't', 'ictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgrazj', 'aictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzyd', NULL, 'd', 'look', 'a', 'd', 'yeah', 'h', 'r', 1, 'naictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnas', 'enaictyy', -1811218432, 'your', 'jenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepl', '2007', 'r', 7, 'n', 'and', '2008', 'd', -1610088448, 'hey', -1570373632, 'n', 'a', 'z', -1859387392, NULL, 'right', '2002-01-19 10:18:12', 'l', 9) , ('2007', 'e', 'k', 'l', NULL, 'o', 'djenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxv', 'd', 'jdjenaictyymewmibqvxtcgbhmtcnwtxrxi', 'with', 'o', 'jjdjenaicty', 9, 'when', 'the', NULL, 'mjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnra', 'hmjjdjenaictyymewmibqvxt', '2008', 'dhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydo', 2, 'vdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqafnrakxsqgraz', 'ivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsr', '2008-05-06 06:33:19', 'h', 1, 'okay', -902955008, 'o', 'v', 'iivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrz', 9, -1301413888, 'p', NULL, 'a', 5) , ('2004-12-10', 'c', 'could', 'as', NULL, 'o', 'q', 'u', 'r', 'did', 'e', 'then', 0, 'yes', 'kiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqj', 4, 'm', 'a', '2000-01-18', 'for', -483655680, 'n', 'a', '2002', 'r', 1899954176, 'was', NULL, 'c', 'h', 'oh', -2016149504, -617021440, 'go', NULL, 'h', NULL) , ('2002', 'w', 'ikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwt', 'w', NULL, 'c', 'oikiivdhmjjdjenaictyymewmibqvxtcgbh', 'q', 'qoikiivdhmjjdjenaictyymewmibqvx', 'i', 'f', 'think', 0, 'h', 'h', NULL, 'rqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycs', 'jrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooe', '2002-06-01 00:38:43', 'h', 8, 'vjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadl', 'me', '2004', 'c', 1322582016, 'didn\\'t', NULL, NULL, 'm', 'f', 5, 7, 'nvjrqoikiivdhmjjdjen', '2001-05-08 09:54:07', 'w', 1) , (NULL, 'k', 'bnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljai', 'who', NULL, 'w', 'x', 'a', 'were', 'a', 'f', 'qbnvjrqoikiivdhmjjdjenaictyymewmibqvxtc', 2, 'and', 'm', 1, 'cqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzydooepmkjfbwqsrrzxgxqa', 'fcqbnvjrqoikiiv', '2004', 'vfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxip', 4, 'mvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvq', 'lmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaix', '2001-04-10 00:49:46', 'a', 5, 'llmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepl', NULL, NULL, 'r', 'time', 1, NULL, 'jllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqju', NULL, 'v', -1893400576) , ('2005', 'r', 'when', 'pjllmvfcqbnvjrqoikiivdhmjjdj', NULL, 'f', 's', 'o', 'for', 'k', 'c', 'then', 2, 'look', 'n', 0, 'b', 'they', '2007-04-16 04:05:02', 'mpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeep', -104267776, 's', 'hmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqx', '2008', 'g', 8, 'lhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrz', -74383360, 'd', 'f', 'n', -601030656, 8, 'alhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskj', NULL, 'a', 8) , (NULL, 's', 'd', 'now', NULL, 'x', 'me', NULL, 'nalhmpjll', 'enalhmpjllmvfcqbnvjrqoikiivdhmjjdje', 'q', 'this', 9, 'in', 'h', NULL, 'of', 'henalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvq', '2003-05-11 11:26:05', 'o', 1, 'or', 's', '2003-06-22 09:30:04', 'o', 2, 'phenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepll', 1800536064, 'i', 'z', 'd', 1950351360, 995360768, 'it', '2002', 'm', NULL) , ('2007-04-01 19:07:28', 'g', 'x', 'u', NULL, 'i', 'or', 'k', 'r', 'his', 'e', 'xphenalhmpjllmvfcqbnvjrqoikiivdhmjjdje', -577830912, 'j', 'jxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaic', NULL, 'he\\'s', 'mjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtc', '2005', 'dmjxphenalhm', 707330048, 'kdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycsbhfrzyd', 'h', '2008', 'k', -808189952, 'my', 9, 'd', 'm', 'look', 8, NULL, 'akdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjj', NULL, 'n', NULL) , ('2002-09-28', 's', 'that', 'my', NULL, 'e', 'can\\'t', 'm', 'c', 'tell', 'p', 'n', 8, 'makdmjxphenalhmpj', 'omakdmjxphenalhmpj', NULL, 'his', 'n', '2006-09-28 19:47:45', 'qomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxt', 7, 'uqomakdmjxphenalhmpjllmvfcqbnvj', 'in', '2006-09-12', 'w', 3, 'euqomakdmjxphenalhmp', -1407778816, 's', 'f', 'veuqomakdmjxphenalhmpjllm', 453902336, NULL, 'his', '2005', 'f', -1228406784) , ('2006', 'u', 'n', 'g', NULL, 'r', 'm', 'p', 'n', 'b', 'h', 'r', 755105792, 'uveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjen', 'come', 1529872384, 'will', 'euveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjum', '2007-09-04', 'I\\'ll', 0, 'g', 'see', '2005', 'p', -395902976, 'aeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaicty', NULL, NULL, 'g', 'l', 1887895552, NULL, 'b', '2003', 'q', 9) , ('2006', 'w', 'u', 'aaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzblqadljaixfeepllycs', NULL, 'd', 'haaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaic', 'n', 'ghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgb', 'look', 'p', 'go', -879362048, 'e', 'vghaaeuveuqomakdmjxphenalhmpjllmvf', -1799749632, 'go', 'lvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrx', '2009', 'but', 1846870016, 'because', 'the', '2005-07-23', NULL, 1, 'see', 0, 'c', 's', 'd', 9, NULL, 'they', '2007', 'o', 76808192) , ('2003-10-14', 'd', 'tell', 'slvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvnaskjzb', NULL, 'q', 'qslvghaaeuveuq', 'd', 'mean', 'have', 'n', 'about', 1, 'now', 'fqslvghaaeuveuqomakdmjxphenalhmpjllmv', 2, 'jfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaic', 'l', '2008', 'something', -932052992, 'so', 'jjfqslvghaaeu', '2000', 'f', 8, 'good', 7, 'e', NULL, 'u', -1795031040, 7, 'p', '2006-05-23', 'f', 471007232) , ('2007-02-06 20:20:38', 'g', 's', 'or', NULL, 'v', 'ijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcn', NULL, 'bijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvx', 'could', 'k', 'sbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdje', 0, 'p', 'y', -319815680, 'v', 'zsbijjfqslvghaaeuveuqomakdmjxphenalhm', '2006-01-04 21:28:00', 'no', 3, 'have', 'yzsbijjfq', '2000-05-02', 'x', 4, 'now', 2045575168, 'y', 'c', 'q', 2, 4, 'his', '2000-10-22 05:45:17', 'z', 8) , (NULL, 'g', 'here', 'but', NULL, 'z', 'because', 'y', 'eyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjena', 'me', 'e', 'going', 7, 'b', 'been', 97648640, 'aeyzsbij', 'l', '2005-05-14', 'aaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvn', -1495007232, 'uaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjumdrjhxvn', 'iuaaeyzsbijjfqs', '2007-02-04 10:40:32', NULL, 5, 'know', NULL, 'h', 'n', 'qiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgb', -1557594112, 6, 'there', NULL, 's', -1779499008) , ('2005-03-16', 'q', 'this', 's', NULL, 'x', 'z', 's', 'and', 'bqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibq', 'h', 'c', 5, 'u', 'dbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjr', 9, 'idbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxi', 'midbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcq', '2007', 'smidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqx', 4, 'msmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbh', 'umsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqv', '2009-06-16 18:15:41', 'v', 4, 's', 611450880, 'i', 't', 'lumsmidbqiuaaeyzsbijjfqslvghaae', 2, NULL, 'his', '2000-02-04', 'd', -1438253056) , ('2002', 'g', 'c', 'dlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtcgbhmtcnwtxrxipbvqxqjum', NULL, 'r', 'one', 'k', 'x', 'h', 'x', 'g', -769458176, 'he', 'cdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqv', NULL, 'a', 'qc', '2003', 'iqcdlumsmidbqiuaaeyzsb', 4, 'do', 'a', '2005-04-16 23:32:22', 'i', 1520828416, 'a', -626982912, 'm', NULL, 'be', -785580032, NULL, 'c', NULL, 'd', NULL) , ('2008-06-01 19:27:42', 's', 'it', 'biqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmp', NULL, 'l', 'abiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqo', 'j', 'zabiqcdlumsmidbqiuaaeyzsbijjf', 'not', 't', 'want', 0, 'x', 'h', NULL, 'k', 'fzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllm', '2009-08-09 20:44:56', 'in', 1, 'cfzabiqcdlu', 's', '2008', NULL, 8, 'z', 1857421312, 'a', 'u', 'get', -483917824, NULL, 'zcfzabiqcdlumsmidb', '2000', 'n', 4) , ('2001-01-18 08:29:29', 'v', 'gzcfzabi', 'lgzcfzabiqcdlumsmidbqiuaaeyzsbi', NULL, 'n', 'j', 'p', 'will', 'x', 'd', 'o', 5, 'plgzcfzabiqcdlumsmidbqiuaaeyzsbijjfq', 'vplgzcfzabiqcdlums', 5, 'I\\'ll', 'can', '2002-05-26', 'b', 2, 'back', 'c', '2000-08-06', 'p', -117964800, 's', NULL, 'u', 'y', 'be', -1201340416, 87818240, 'he', '2002', 'n', NULL) , ('2002-05-03 04:21:14', 'n', 'or', 'f', NULL, 'y', 'j', 'y', 'x', 'e', 'y', 'mvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjf', 1459355648, 'y', 'emvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymew', -1686503424, 'j', 'did', '2001-07-07 12:46:15', 'p', 1940586496, 'j', 'remvplgzcfzab', '2007', 'p', 5, 'j', 1775239168, 'v', 'd', 'o', 779354112, 4, 'u', '2000-04-04', 'o', 2) , (NULL, 'l', 'had', 'g', NULL, 'd', 't', 'v', 'your', 'do', 'l', 'will', -478674944, 'qremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdm', 'I\\'ll', 7, 'zqremvplgzcfz', 'her', '2007-02-24 03:11:21', 'kzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvg', -250347520, 'u', 'he', '2001-07-23', NULL, 5, 'dkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjx', NULL, 'v', 'o', 'i', 1, 4, 'n', '2009-11-11', 'r', NULL) , ('2008', 'z', 'zdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjj', 'szdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcq', NULL, 'n', 'i', NULL, 'nszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjll', 'had', 'e', 'x', 3, 'gnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmib', 'bgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaictyymewmibqvxtc', NULL, 'gbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhm', 'x', '2008-07-21', 'egbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaic', 50003968, 'gegbgnszdkzqr', 'oh', '2008-06-08 21:38:20', 'f', 5, 'qgegbgn', NULL, 'a', NULL, 'fqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnv', -1173028864, NULL, 'afqgegbgnszdkzqremvplgzcfzabiqcd', NULL, 'p', NULL) , ('2003-10-11 07:21:24', 'm', 'rafqgegbgnszdkzqremvplgzcfzabiqcdlu', 'is', NULL, 'i', 'him', 'y', 'a', 'me', 't', 'h', -1280442368, 'vrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdje', 'o', -1795358720, 'tvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdje', 'you\\'re', '2002', 'wtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiivdhmjjdjenaic', 1715929088, 'e', 'v', '2002-02-22', 'b', 4, 'gwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmj', 1155661824, 'c', 't', 'g', 1, 4, 'don\\'t', '2007', 'g', 0) , (NULL, 'e', 'jgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqo', 'fjgwtvrafqgegbgnszdkzqremvplg', NULL, 's', 'i', 'i', 'dfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbi', 'z', 'i', 'zdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomak', 6, 'ozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrqoikiiv', 'y', 1, 'rozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmp', 's', '2004', 'd', -760414208, 'crozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmp', 'it', '2006-10-24', NULL, -1033371648, 'could', 5, 'l', 'g', 'hcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvf', 5, 9, 'u', NULL, 'l', 5) , ('2003', 'f', 'z', 'thcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzab', NULL, 'l', 'dthcrozdfjgwtvrafqgegbgnszdkz', 'l', 'wdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaae', 'e', 'f', 'l', -321912832, 'e', 'look', -2059141120, 'k', 'was', '2003', 'f', 0, 't', 'right', '2000', 'n', 956956672, 'w', -1744568320, 'h', 'd', 'lwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlum', -1681915904, NULL, 'h', '2006', 'c', 1) , (NULL, 'd', 'z', 'no', NULL, 'x', 'alwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuq', NULL, 'for', 'ralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqsl', 'q', 'out', 1612840960, 'jralwdthcrozdfjgwtvrafqgegbg', 'yeah', NULL, 'no', 'want', '2009-09-23', 'ejralw', -956366848, 'tejralwdthcrozdfjgwtvrafqgegb', 'q', '2000', 'o', 0, 'ctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfza', -1452998656, 'i', NULL, 'h', 1491009536, NULL, 'x', '2001-06-18', 'e', 2134769664) , ('2006-10-25 00:10:21', 'a', 'i', 'I', NULL, 'r', 'mctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcf', 'j', 'x', 'vmctejral', 's', 'e', -2104754176, 'hvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzc', 'yhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkz', 2, 'b', 'what', '2002-06-20', 's', -748879872, 'uyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenalhmpjllmvfcqbnvjrq', 'are', '2006-12-08 13:14:31', 'w', 6, 'get', NULL, NULL, 's', 'they', 1807089664, NULL, 'w', '2001-06-05', 'w', 51642368) , ('2009-06-14', 'f', 'r', 'fuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqre', NULL, 's', 'p', NULL, 'kfuyhvmctejralwdthcrozdfjgwtvrafqge', 'the', 'a', 'her', -1553989632, 'I', 'qkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiu', 1, 'iqkfuyhvmctejralwdthcrozdfjgwtv', 'diqkfuyhvmctejr', '2006-06-12 13:03:08', 'could', -168886272, 'a', 'you', '2008-06-24', 'u', 1542717440, 'what', 4, 'p', 'z', 'been', -1382350848, 9, 'come', '2007-02-11', 'm', 1) , ('2002-02-22', 'k', 'mean', 'what', NULL, 's', 'ldiqkfuyhvmctejralwdthcrozdfjgwtvra', 'b', 'u', 'g', 'b', 'of', 977731584, 'x', 'o', NULL, 'be', 'q', '2003-05-28', 'a', 4, 't', 'g', '2003-04-19 05:07:07', 'y', 9, 'some', 2, 'o', 'c', 'd', 6, 98500608, 'were', '2005-07-19 03:26:09', 'q', 1918959616) , (NULL, 'b', 'it', 'lldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeu', NULL, 'z', 'olldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqs', 'y', 'golldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqi', 'wgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdm', 'a', 'how', 2, 'owgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvgha', 'come', NULL, 'because', 'right', '2008', 'r', 8, 'want', 't', '2007-03-06', 'i', 755367936, 'y', 408485888, NULL, 'j', 'you\\'re', -118423552, 4, 'know', '2000-01-20 15:18:31', 'e', 4) , (NULL, 'w', 'good', 'right', NULL, 'b', 'j', 'g', 'eowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidb', 'yeah', 'z', 'deowgoll', 9, 'w', 'yeah', 9, 'want', 'l', '2003', 'edeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphenal', 2, 'medeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkz', 'mmed', '2002-02-14', 'x', 7, 'good', -1745289216, 'h', 'j', 'can', 8, 1413349376, 'bmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeuveuqomakdmjxphen', '2004-11-28 22:13:41', 'q', -1872691200) , ('2007-04-04', 'w', 'h', 'wbmmedeowgolldiqkfuyhvmctejralwdthcrozdfj', NULL, 't', 'kwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvpl', 'a', 'h', 'hkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqr', 'q', 'who', -1824391168, 'm', 'he\\'s', NULL, 'f', 'got', '2001-03-01 08:41:18', 'qhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaae', 187826176, 'x', 'xqhkwbmmedeowgolldiqkfuyhvmcte', '2008', 'p', 0, 'yxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcro', 2, 't', 'o', 'pyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszd', 8, 0, 'spyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgeg', '2006', 'w', 375193600) , ('2003-12-09 10:02:27', 'u', 'n', 'yspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdt', NULL, 'f', 'was', 'c', 'e', 'pyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqslvghaaeu', 'm', 'fpyspyxqhkwbmmedeowgol', -1091633152, 'q', 'g', NULL, 'think', 'afpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcr', '2007', 'c', 1428815872, 'come', 'm', '2002', 'i', -1621360640, 'd', NULL, 'e', 'x', 'g', 8, 8, 'p', NULL, 'z', 2) , ('2008-04-22 09:32:55', 'k', 'rafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcroz', 'urafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkz', NULL, 'd', 'time', 'r', 'gurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcr', 'o', 'm', 'ugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjfqs', -1549664256, 'bugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremv', 's', NULL, 'k', 'qbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyz', '2007-09-21', 'a', 1987051520, 'yqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmcte', 'eyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjf', '2005', 'r', 5, 'do', 5, 'l', 'i', 'peyqbugurafpyspyxqhkwbmmedeow', 424542208, 0, 'mpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiuaaeyzsbijjf', NULL, 'h', 5) , ('2008-09-13', 'p', 'right', 'pmpeyqbugurafpysp', NULL, 'q', 'ppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlum', 'q', 'don\\'t', 'mppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlum', 'h', 'dmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiq', 520486912, 'cdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcr', 'here', 585564160, 'did', 'xcdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldi', '2009-05-03 02:21:55', 'i', -1620377600, 'excdmppmpeyqbugurafpyspyxqhkw', 'iexcdmppmpeyqbugurafpyspyxqhkwbmmed', '2005-10-04', 'f', 1, 'i', NULL, 'b', NULL, 'piexcdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnsz', 985989120, NULL, 'is', NULL, 'q', 2108882944) , (NULL, 'c', 'because', 'tp', NULL, 'n', 'ctpiexcdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralw', NULL, 'j', 'k', 'h', 'qctpiexcdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcfzabiqcdlumsmidbqiua', -1853882368, 'got', 'was', 5, 'can', 'xqctpiexcdmppmpe', '2002', 'him', 0, 'w', 'nxqctpiexcdmppmpe', '2006-02-04', 'n', -118751232, 'n', NULL, 'd', 'l', 'h', -469172224, -479789056, 'gnxqctpiexcdmppmpeyqbugurafp', '2004-08-26 03:13:30', 'z', NULL) , (NULL, 'z', 'g', 'him', NULL, 'e', 'hgnxqctpiexcdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqremvplgzcf', 'h', 'qhgnxqctpiexcdmppmpeyqbugurafpyspyxqhkwbmmedeo', 'hqhgnxqctpiexcdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqg', 'p', 'had', -1184956416, 'about', 'rhqhgnxqctpiexcdmppmpeyqbugurafpyspyxqhkwbmmedeowgolldiqkfuyhvmctejralwdthcrozdfjgwtvrafqgegbgnszdkzqrem', 8, 'did', 'about', '2002-05-08', 'who', -622395392, 'l', 'u', '2007', NULL, -2032140288, 'that\\'s', 7, NULL, 'y', 'me', 667680768, 2, 'f', '2005-04-21', 'w', 278396928) diff --git a/test/afl_digest_test/inputs/sql_input_3.txt b/test/afl_digest_test/inputs/sql_input_3.txt new file mode 100644 index 000000000..b66cee7db --- /dev/null +++ b/test/afl_digest_test/inputs/sql_input_3.txt @@ -0,0 +1 @@ +# WeirdFirstComment\nINSERT /* fst_comment */ INTO /*! random_comment */ db.table ( col1, col2,col3,col4, col5 ) VALUES ('val',1, 2,3,'foo'), ('val2',3,NULL,4,'foo2'), ('val2', 5,0x0239192,4,'foo2'), ('val2', 7,NULL,4,'foo2'), (1.1E+9, 2.9E-9, 0x23914993, 928.2939123), ('val2',3,NULL,4,'foo2'), ('val2',3*3.293192493419231,NULL,4+2,'foo2'), ('val2', "9212312",NULL,92.1293123,"foo2"), ON DUPLICATE KEY UPDATE col1 = VALUES(col2) -- final_comment \n diff --git a/test/afl_digest_test/launch_tests.sh b/test/afl_digest_test/launch_tests.sh new file mode 100755 index 000000000..b9fba3175 --- /dev/null +++ b/test/afl_digest_test/launch_tests.sh @@ -0,0 +1,7 @@ +screen -d -m afl-fuzz -M main-$HOSTNAME -i inputs/ -o output/ -- ./afl_test -d 1 -l 1 -n 1 -s 50 -g 0 -G 0 + +screen -d -m afl-fuzz -S variant-1 -i inputs/ -o output/ -- ./afl_test -d 1 -l 1 -n 1 -s 50 -g 1 -G 1 +screen -d -m afl-fuzz -S variant-2 -i inputs/ -o output/ -- ./afl_test -d 1 -l 1 -n 1 -s 100 -g 2 -G 2 +screen -d -m afl-fuzz -S variant-3 -i inputs/ -o output/ -- ./afl_test -d 1 -l 1 -n 1 -s 128 -g 3 -G 3 +screen -d -m afl-fuzz -S variant-4 -i inputs/ -o output/ -- ./afl_test -d 1 -l 1 -n 1 -s 300 -g 4 -G 4 +screen -d -m afl-fuzz -S variant-5 -i inputs/ -o output/ -- ./afl_test -d 1 -l 1 -n 1 -s 1000 -g 5 -G 5 diff --git a/test/afl_digest_test/stop_tests.sh b/test/afl_digest_test/stop_tests.sh new file mode 100755 index 000000000..3421c3fa6 --- /dev/null +++ b/test/afl_digest_test/stop_tests.sh @@ -0,0 +1 @@ +screen -ls | grep '(Detached)' | awk '{print $1}' | xargs -I % -t screen -X -S % quit