summaryrefslogtreecommitdiff
path: root/lib/tests/test-udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tests/test-udp.c')
-rw-r--r--lib/tests/test-udp.c153
1 files changed, 0 insertions, 153 deletions
diff --git a/lib/tests/test-udp.c b/lib/tests/test-udp.c
deleted file mode 100644
index ed176c0..0000000
--- a/lib/tests/test-udp.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* Copyright 2011,2013, NORDUnet A/S. All rights reserved. */
-/* See LICENSE for licensing information. */
-
-#include <stdlib.h>
-#include <assert.h>
-#include <CUnit/Basic.h>
-#include "radius/client.h"
-#include "radsec/radsec.h"
-#include "radsec/request.h"
-#include "udp.h"
-
-static void
-authenticate (struct rs_connection *conn, const char *user, const char *pw)
-{
- struct rs_request *req;
- struct rs_packet *msg, *resp;
-
- CU_ASSERT (rs_request_create (conn, &req) == 0);
- CU_ASSERT (!rs_packet_create_authn_request (conn, &msg, user, pw));
- rs_request_add_reqpkt (req, msg);
- CU_ASSERT (rs_request_send (req, &resp) == 0);
- //printf ("%s\n", rs_err_msg (rs_err_conn_pop (conn), 1));
- CU_ASSERT (rs_packet_code(resp) == PW_ACCESS_ACCEPT);
-
- rs_request_destroy (req);
-}
-
-static void
-send_more_than_one_msg_in_one_packet (struct rs_connection *conn)
-{
- struct rs_packet *msg0, *msg1;
-
- CU_ASSERT (rs_packet_create_authn_request (conn, &msg0, NULL, NULL) == 0);
- CU_ASSERT (rs_packet_create_authn_request (conn, &msg1, NULL, NULL) == 0);
- CU_ASSERT (rs_packet_send (msg0, NULL) == 0);
- CU_ASSERT (rs_packet_send (msg1, NULL) == 0);
-}
-
-#if 0
-static void
-send_large_packet (struct rs_connection *conn)
-{
- struct rs_packet *msg0;
- struct radius_packet *frpkt = NULL;
- char *buf;
- int f;
-
- buf = malloc (RS_MAX_PACKET_LEN);
- CU_ASSERT (buf != NULL);
- memset (buf, 0, RS_MAX_PACKET_LEN);
-
- CU_ASSERT (rs_packet_create (conn, &msg0) == 0);
- /* 16 chunks --> heap corruption in evbuffer_drain detected by free() */
- for (f = 0; f < 15; f++)
- {
- memset (buf, 'a' + f, 252);
- //vp = pairmake ("EAP-Message", buf, T_OP_EQ);
- CU_ASSERT (rs_packet_append_avp (msg0, fixme...) == RSE_OK);
- }
- CU_ASSERT (rs_packet_send (msg0, NULL) == 0);
-}
-#endif /* 0 */
-
-/* ************************************************************ */
-static struct setup {
- char *config_file;
- char *config_name;
- char *username;
- char *pw;
-} setup;
-
-static void
-test_auth ()
-{
- struct rs_context *ctx;
- struct rs_connection *conn;
-
- setup.config_file = "test.conf";
- setup.config_name = "test-udp-auth";
- setup.username = "molgan@PROJECT-MOONSHOT.ORG";
- setup.pw = "password";
-
- CU_ASSERT (rs_context_create (&ctx) == 0);
- CU_ASSERT (rs_context_read_config (ctx, setup.config_file) == 0);
- CU_ASSERT (rs_conn_create (ctx, &conn, setup.config_name) == 0);
-
- authenticate (conn, setup.username, setup.pw);
-
- rs_conn_destroy (conn);
- rs_context_destroy (ctx);
-}
-
-static ssize_t
-test_buffering_cb (const uint8_t *buf, ssize_t len)
-{
- /* "Exactly one RADIUS packet is encapsulated in the UDP Data field"
- [RFC 2865]*/
-#if 0
- hd (buf, len);
-#endif
- CU_ASSERT (len >= 20);
- CU_ASSERT (len <= RS_MAX_PACKET_LEN);
- CU_ASSERT ((buf[2] << 8) + buf[3] == len);
- return len;
-}
-
-static void
-test_buffering ()
-{
- struct rs_context *ctx;
- struct rs_connection *conn;
- struct timeval timeout;
- struct polldata *polldata;
-
- CU_ASSERT (rs_context_create (&ctx) == 0);
- CU_ASSERT (rs_context_read_config (ctx, "test.conf") == 0);
- CU_ASSERT (rs_conn_create (ctx, &conn, "test-udp-buffering") == 0);
-
- timeout.tv_sec = 0;
- timeout.tv_usec = 150000;
- polldata = udp_server ("11820", &timeout, test_buffering_cb);
- CU_ASSERT (polldata != NULL);
-
- send_more_than_one_msg_in_one_packet (conn);
- CU_ASSERT (udp_poll (polldata) > 0);
- CU_ASSERT (udp_poll (polldata) > 0);
-
-
- udp_free_polldata (polldata);
- rs_conn_destroy (conn);
- rs_context_destroy (ctx);
-}
-
-/* ************************************************************ */
-int
-main (int argc, char *argv[])
-{
- CU_pSuite s = NULL;
- CU_pTest t = NULL;
- unsigned int nfail;
-
- assert (CU_initialize_registry () == CUE_SUCCESS);
- s = CU_add_suite ("auth", NULL, NULL); assert (s);
- t = CU_ADD_TEST (s, test_auth); assert (t);
- s = CU_add_suite ("buffering", NULL, NULL); assert (s);
- t = CU_ADD_TEST (s, test_buffering); assert (t);
-
- assert (CU_basic_run_tests () == CUE_SUCCESS);
- nfail = CU_get_number_of_failures();
-
- CU_cleanup_registry ();
- return nfail;
-}