diff options
Diffstat (limited to 'devel/fuzz/gnutls_srp_client_fuzzer.cc')
-rw-r--r-- | devel/fuzz/gnutls_srp_client_fuzzer.cc | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/devel/fuzz/gnutls_srp_client_fuzzer.cc b/devel/fuzz/gnutls_srp_client_fuzzer.cc deleted file mode 100644 index aecf753b1f..0000000000 --- a/devel/fuzz/gnutls_srp_client_fuzzer.cc +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2017 Nikos Mavrogiannopoulos - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - * - */ - -#include <assert.h> -#include <fcntl.h> -#include <stdint.h> -#include <sys/types.h> -#include <unistd.h> -#include <string.h> -#include <stdlib.h> - -#include <gnutls/gnutls.h> - -#include "srp.h" -#include "mem.h" - -#ifdef __cplusplus -extern "C" -#endif -int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size) -{ - int res; - gnutls_session_t session; - gnutls_srp_client_credentials_t pcred; - struct mem_st memdata; - - gnutls_global_init(); - - res = gnutls_init(&session, GNUTLS_CLIENT); - assert(res >= 0); - - res = gnutls_srp_allocate_client_credentials(&pcred); - assert(res >= 0); - - res = gnutls_srp_set_client_credentials(pcred, USERNAME, PASSWORD); - assert(res >= 0); - - res = gnutls_credentials_set(session, GNUTLS_CRD_SRP, pcred); - assert(res >= 0); - - res = gnutls_priority_set_direct(session, "NORMAL:-KX-ALL:+SRP:+SRP-RSA:+SRP-DSS", NULL); - assert(res >= 0); - - memdata.data = data; - memdata.size = size; - - gnutls_transport_set_push_function(session, mem_push); - gnutls_transport_set_pull_function(session, mem_pull); - gnutls_transport_set_pull_timeout_function(session, - mem_pull_timeout); - gnutls_transport_set_ptr(session, &memdata); - - do { - res = gnutls_handshake(session); - } while (res < 0 && gnutls_error_is_fatal(res) == 0); - if (res >= 0) { - while (true) { - char buf[16384]; - res = gnutls_record_recv(session, buf, sizeof(buf)); - if (res <= 0) { - break; - } - } - } - - gnutls_deinit(session); - gnutls_srp_free_client_credentials(pcred); - gnutls_global_deinit(); - return 0; -} |