aboutsummaryrefslogtreecommitdiff
path: root/examples/afl_network_proxy
diff options
context:
space:
mode:
authorvan Hauser <vh@thc.org>2020-04-29 20:44:30 +0200
committervan Hauser <vh@thc.org>2020-04-29 20:44:30 +0200
commitfced3e00cedf1fe4a100c20dc64ee7e4f3bc3223 (patch)
treeaf0ad940ccd678839358e57205e29ba2980ebba5 /examples/afl_network_proxy
parentc53663c7ac2c1f96a2dfe3fcbc6fb232bf1d9a74 (diff)
downloadafl++-fced3e00cedf1fe4a100c20dc64ee7e4f3bc3223.tar.gz
wip: afl-untracer
Diffstat (limited to 'examples/afl_network_proxy')
-rw-r--r--examples/afl_network_proxy/afl-network-client.c13
-rw-r--r--examples/afl_network_proxy/afl-network-server.c33
2 files changed, 24 insertions, 22 deletions
diff --git a/examples/afl_network_proxy/afl-network-client.c b/examples/afl_network_proxy/afl-network-client.c
index bf89fc04..ede2ff8d 100644
--- a/examples/afl_network_proxy/afl-network-client.c
+++ b/examples/afl_network_proxy/afl-network-client.c
@@ -274,26 +274,29 @@ int main(int argc, char *argv[]) {
__afl_start_forkserver();
int i = 1, j;
- //fprintf(stderr, "Waiting for first testcase\n");
+ // fprintf(stderr, "Waiting for first testcase\n");
while ((len = __afl_next_testcase(buf, max_len)) > 0) {
- //fprintf(stderr, "Sending testcase with len %u\n", len);
+ // fprintf(stderr, "Sending testcase with len %u\n", len);
if (send(s, &len, 4, 0) != 4) PFATAL("sending size data %d failed", len);
if (send(s, buf, len, 0) != len) PFATAL("sending test data failed");
int received = 0, ret;
- while (received < __afl_map_size && (ret = recv(s, __afl_area_ptr + received, __afl_map_size - received, 0)) > 0)
+ while (received < __afl_map_size &&
+ (ret = recv(s, __afl_area_ptr + received, __afl_map_size - received,
+ 0)) > 0)
received += ret;
if (received != __afl_map_size)
FATAL("did not receive valid data (%d, %d)", received, ret);
- //fprintf(stderr, "Received coverage\n");
+ // fprintf(stderr, "Received coverage\n");
/* report the test case is done and wait for the next */
__afl_end_testcase();
- //fprintf(stderr, "Waiting for next testcase %d\n", ++i);
+ // fprintf(stderr, "Waiting for next testcase %d\n", ++i);
}
return 0;
}
+
diff --git a/examples/afl_network_proxy/afl-network-server.c b/examples/afl_network_proxy/afl-network-server.c
index dc0e00a2..1bd37560 100644
--- a/examples/afl_network_proxy/afl-network-server.c
+++ b/examples/afl_network_proxy/afl-network-server.c
@@ -118,7 +118,7 @@ static s32 write_to_file(u8 *path, u8 *mem, u32 len) {
1 if they should be kept. */
static u8 run_target(afl_forkserver_t *fsrv, char **argv, u8 *mem, u32 len,
- u8 first_run) {
+ u8 first_run) {
afl_fsrv_write_to_testcase(fsrv, mem, len);
@@ -333,31 +333,30 @@ static void usage(u8 *argv0) {
}
-
int recv_testcase(int s, void **buf, size_t *max_len) {
int size, received = 0, ret;
-
+
while (received < 4 && (ret = recv(s, &size + received, 4 - received, 0)) > 0)
received += ret;
- if (received != 4)
- FATAL("did not receive size information");
- if (size < 1)
- FATAL("did not receive valid size information");
- //fprintf(stderr, "received size information of %d\n", size);
+ if (received != 4) FATAL("did not receive size information");
+ if (size < 1) FATAL("did not receive valid size information");
+ // fprintf(stderr, "received size information of %d\n", size);
*buf = maybe_grow(buf, max_len, size);
- //fprintf(stderr, "receiving testcase %p %p max %u\n", buf, *buf, *max_len);
+ // fprintf(stderr, "receiving testcase %p %p max %u\n", buf, *buf, *max_len);
received = 0;
- while (received < size && (ret = recv(s, ((char*)*buf) + received, size - received, 0)) > 0)
+ while (received < size &&
+ (ret = recv(s, ((char *)*buf) + received, size - received, 0)) > 0)
received += ret;
if (received != size)
FATAL("did not receive testcase data %u != %u, %d", received, size, ret);
- //fprintf(stderr, "received testcase\n");
+ // fprintf(stderr, "received testcase\n");
return size;
+
}
/* Main entry point */
@@ -372,7 +371,7 @@ int main(int argc, char **argv_orig, char **envp) {
int addrlen = sizeof(clientaddr);
char str[INET6_ADDRSTRLEN];
char ** argv = argv_cpy_dup(argc, argv_orig);
-
+
afl_forkserver_t fsrv_var = {0};
afl_forkserver_t *fsrv = &fsrv_var;
afl_fsrv_init(fsrv);
@@ -514,7 +513,7 @@ int main(int argc, char **argv_orig, char **envp) {
sharedmem_t shm = {0};
fsrv->trace_bits = afl_shm_init(&shm, map_size, 0);
- in_data = maybe_grow((void**)&in_data, &max_len, 65536);
+ in_data = maybe_grow((void **)&in_data, &max_len, 65536);
atexit(at_exit_handler);
setup_signal_handlers();
@@ -575,17 +574,17 @@ int main(int argc, char **argv_orig, char **envp) {
if ((s = accept(sock, NULL, NULL)) < 0) { PFATAL("accept() failed"); }
fprintf(stderr, "Received connection, starting ...\n");
- while ((in_len = recv_testcase(s, (void**)&in_data, &max_len)) > 0) {
+ while ((in_len = recv_testcase(s, (void **)&in_data, &max_len)) > 0) {
- //fprintf(stderr, "received %u\n", in_len);
+ // fprintf(stderr, "received %u\n", in_len);
run_target(fsrv, use_argv, in_data, in_len, 1);
if (send(s, fsrv->trace_bits, fsrv->map_size, 0) != fsrv->map_size)
FATAL("could not send coverage data");
- //fprintf(stderr, "sent result\n");
+ // fprintf(stderr, "sent result\n");
}
-
+
unlink(out_file);
if (out_file) { ck_free(out_file); }
out_file = NULL;