summaryrefslogtreecommitdiff
path: root/lib/radius/examples
diff options
context:
space:
mode:
Diffstat (limited to 'lib/radius/examples')
-rw-r--r--lib/radius/examples/Makefile54
-rw-r--r--lib/radius/examples/example_1.c86
-rw-r--r--lib/radius/examples/example_2.c86
-rw-r--r--lib/radius/examples/example_3.c123
-rw-r--r--lib/radius/examples/example_4.c94
-rw-r--r--lib/radius/examples/nr_vp_create.c61
6 files changed, 0 insertions, 504 deletions
diff --git a/lib/radius/examples/Makefile b/lib/radius/examples/Makefile
deleted file mode 100644
index f39c343..0000000
--- a/lib/radius/examples/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-#
-# GNU Makefile
-#
-.PHONY: all clean install
-
-SRCS = example_1.c example_2.c example_3.c example_4.c
-
-OBJS := ${SRCS:.c=.o}
-PROGRAMS := ${SRCS:.c=}
-
-all: ${PROGRAMS}
-
-HEADERS := ../client.h ../radius.h
-
-${OBJS}: ${HEADERS}
-
-$(info ${PROGRAMS} ${OBJS})
-
-${PROGRAMS}: ../libnetworkradius-client.a
-
-
-%.o : %.c
- $(CC) $(CFLAGS) -I.. -I. -c $<
-
-%.o: ${HEADERS}
-
-LDFLAGS = -L.. -lnetworkradius-client -lcrypto -lssl
-CFLAGS = -I..
-
-../libnetworkradius-client.a:
- @${MAKE} -C .. libnetworkradius-client.a
-
-radsample.o: radsample.c ${HEADERS} nr_vp_create.c nr_packet_send.c
-
-#radsample: radsample.o ../libnetworkradius-client.a
-# ${CC} ${LFDLAGS} ${LIBS} -o $@ $^
-
-sample_chap.o: sample_chap.c ${HEADERS}
-
-sample_chap: sample_chap.o ../libnetworkradius-client.a
- ${CC} ${LFDLAGS} ${LIBS} -o $@ $^
-
-radsample2.o: radsample2.c ${HEADERS} nr_vp_create.c
-
-radsample2: radsample2.o ../libnetworkradius-client.a
- ${CC} ${LFDLAGS} ${LIBS} -o $@ $^
-
-radsample3.o: radsample3.c ${HEADERS} nr_transmit.c nr_server_t.c nr_vp_create.c
-
-radsample3: radsample3.o ../libnetworkradius-client.a
- ${CC} ${LFDLAGS} ${LIBS} -o $@ $^
-
-clean:
- @rm -rf *.o *.a *~
diff --git a/lib/radius/examples/example_1.c b/lib/radius/examples/example_1.c
deleted file mode 100644
index 265c880..0000000
--- a/lib/radius/examples/example_1.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-Copyright (c) 2011, Network RADIUS SARL
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the <organization> nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <networkradius-devel/client.h>
-
-/** \file example_1.c
- * \brief Sample code to initialize a RADIUS packet.
- *
- * This example initializes a packet, and then adds User-Name and
- * User-Password to it. The resulting packet is then printed to the
- * standard output.
- */
-
-static const char *secret = "testing123";
-static uint8_t request_buffer[RS_MAX_PACKET_LEN];
-static uint8_t response_buffer[RS_MAX_PACKET_LEN];
-static RADIUS_PACKET request, response;
-
-int main(int argc, const char *argv[])
-{
- ssize_t rcode;
- const char *user = "bob";
- const char *password = "password";
-
- rcode = nr_packet_init(&request, NULL, secret, PW_ACCESS_REQUEST,
- request_buffer, sizeof(request_buffer));
- if (rcode < 0) {
- error:
- fprintf(stderr, "Error: %s\n", nr_strerror(rcode));
- return 1;
- }
-
- if (argc > 1) user = argv[1];
- if (argc > 2) password = argv[2];
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_USER_NAME,
- user, 0);
- if (rcode < 0) goto error;
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_USER_PASSWORD,
- password, 0);
- if (rcode < 0) goto error;
-
- /*
- * ALWAYS call nr_packet_sign() before sending the packet
- * to anyone else!
- */
- rcode = nr_packet_sign(&request, NULL);
- if (rcode < 0) goto error;
-
- nr_packet_print_hex(&request);
-
- rcode = nr_packet_decode(&request, NULL);
- if (rcode < 0) goto error;
-
- nr_vp_fprintf_list(stdout, request.vps);
- nr_vp_free(&request.vps);
-
- return 0;
-}
diff --git a/lib/radius/examples/example_2.c b/lib/radius/examples/example_2.c
deleted file mode 100644
index 0a58523..0000000
--- a/lib/radius/examples/example_2.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
-Copyright (c) 2011, Network RADIUS SARL
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the <organization> nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <networkradius-devel/client.h>
-
-/** \file example_2.c
- * \brief Sample code to initialize a RADIUS packet.
- *
- * This example initializes a packet, and then adds User-Name and
- * CHAP-Password to it. The resulting packet is then printed to the
- * standard output.
- */
-
-static const char *secret = "testing123";
-static uint8_t request_buffer[RS_MAX_PACKET_LEN];
-static uint8_t response_buffer[RS_MAX_PACKET_LEN];
-static RADIUS_PACKET request, response;
-
-int main(int argc, const char *argv[])
-{
- int rcode;
- const char *user = "bob";
- const char *password = "password";
-
- rcode = nr_packet_init(&request, NULL, secret, PW_ACCESS_REQUEST,
- request_buffer, sizeof(request_buffer));
- if (rcode < 0) {
- error:
- fprintf(stderr, "Error: %s\n", nr_strerror(rcode));
- return 1;
- }
-
- if (argc > 1) user = argv[1];
- if (argc > 2) password = argv[2];
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_USER_NAME,
- user, 0);
- if (rcode < 0) goto error;
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_CHAP_PASSWORD,
- password, strlen(password));
- if (rcode < 0) goto error;
-
- /*
- * ALWAYS call nr_packet_sign() before sending the packet
- * to anyone else!
- */
- rcode = nr_packet_sign(&request, NULL);
- if (rcode < 0) goto error;
-
- nr_packet_print_hex(&request);
-
- rcode = nr_packet_decode(&request, NULL);
- if (rcode < 0) goto error;
-
- nr_vp_fprintf_list(stdout, request.vps);
- nr_vp_free(&request.vps);
-
- return 0;
-}
diff --git a/lib/radius/examples/example_3.c b/lib/radius/examples/example_3.c
deleted file mode 100644
index 33fc671..0000000
--- a/lib/radius/examples/example_3.c
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-Copyright (c) 2011, Network RADIUS SARL
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the <organization> nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <networkradius-devel/client.h>
-
-/** \file example_3.c
- * \brief Sample code to initialize a RADIUS packet and a response to it.
- *
- * This example initializes a packet, and then adds User-Name and
- * User-Password to it. The resulting packet is then printed to the
- * standard output.
- *
- * As a next step, it then creates the response, and prints that,
- * too.
- */
-
-static const char *secret = "testing123";
-static uint8_t request_buffer[RS_MAX_PACKET_LEN];
-static uint8_t response_buffer[RS_MAX_PACKET_LEN];
-static RADIUS_PACKET request, response;
-
-int main(int argc, const char *argv[])
-{
- int rcode;
- const char *user = "bob";
- const char *password = "password";
-
- rcode = nr_packet_init(&request, NULL, secret, PW_ACCESS_REQUEST,
- request_buffer, sizeof(request_buffer));
- if (rcode < 0) {
- error:
- fprintf(stderr, "Error :%s\n", nr_strerror(rcode));
- return 1;
- }
-
- if (argc > 1) user = argv[1];
- if (argc > 2) password = argv[2];
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_USER_NAME,
- user, 0);
- if (rcode < 0) goto error;
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_USER_PASSWORD,
- password, 0);
- if (rcode < 0) goto error;
-
- /*
- * ALWAYS call nr_packet_sign() before sending the packet
- * to anyone else!
- */
- rcode = nr_packet_sign(&request, NULL);
- if (rcode < 0) goto error;
-
- nr_packet_print_hex(&request);
-
- rcode = nr_packet_init(&response, &request, secret, PW_ACCESS_ACCEPT,
- response_buffer, sizeof(response_buffer));
- if (rcode < 0) goto error;
-
- rcode = nr_packet_attr_append(&response, &request,
- RS_DA_REPLY_MESSAGE,
- "Success!", 0);
- if (rcode < 0) goto error;
-
- rcode = nr_packet_attr_append(&response, &request,
- RS_DA_TUNNEL_PASSWORD,
- password, 0);
- if (rcode < 0) goto error;
- rcode = nr_packet_sign(&response, &request);
- if (rcode < 0) goto error;
-
- nr_packet_print_hex(&response);
-
- /*
- * Check that the response is well-formed. The
- * nr_packet_verify() function also calls nr_packet_ok().
- * However, it is sometimes useful to separate "malformed
- * packet" errors from "packet is not a response to a
- * reqeust" errors.
- */
- rcode = nr_packet_ok(&response);
- if (rcode < 0) goto error;
-
- /*
- * Double-check the signature of the response.
- */
- rcode = nr_packet_verify(&response, &request);
- if (rcode < 0) goto error;
-
- rcode = nr_packet_decode(&response, &request);
- if (rcode < 0) goto error;
-
- nr_vp_fprintf_list(stdout, response.vps);
- nr_vp_free(&response.vps);
-
- return 0;
-}
diff --git a/lib/radius/examples/example_4.c b/lib/radius/examples/example_4.c
deleted file mode 100644
index 2dadc89..0000000
--- a/lib/radius/examples/example_4.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
-Copyright (c) 2011, Network RADIUS SARL
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the <organization> nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <networkradius-devel/client.h>
-
-/** \file example_4.c
- * \brief Allocate and manage multiple packets.
- */
-
-static const char *secret = "testing123";
-static nr_server_t server;
-
-int main(int argc, const char *argv[])
-{
- int rcode;
- const char *user = "bob";
- const char *password = "password";
-
- rcode = nr_packet_init(&request, NULL, secret, PW_ACCESS_REQUEST,
- request_buffer, sizeof(request_buffer));
- if (rcode < 0) {
- error:
- fprintf(stderr, "Error :%s\n", nr_strerror(rcode));
- return 1;
- }
-
- if (argc > 1) user = argv[1];
- if (argc > 2) password = argv[2];
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_USER_NAME,
- user, 0);
- if (rcode < 0) goto error;
-
- rcode = nr_packet_attr_append(&request, NULL,
- RS_DA_USER_PASSWORD,
- password, 0);
- if (rcode < 0) goto error;
-
- /*
- * ALWAYS call nr_packet_sign() before sending the packet
- * to anyone else!
- */
- rcode = nr_packet_sign(&request, NULL);
- if (rcode < 0) goto error;
-
- nr_packet_print_hex(&request);
-
- rcode = nr_packet_init(&response, &request, secret, PW_ACCESS_ACCEPT,
- response_buffer, sizeof(response_buffer));
- if (rcode < 0) goto error;
-
- rcode = nr_packet_attr_append(&response, &request,
- RS_DA_REPLY_MESSAGE,
- "Success!", 0);
- if (rcode < 0) goto error;
-
- rcode = nr_packet_sign(&response, &request);
- if (rcode < 0) goto error;
-
- nr_packet_print_hex(&response);
-
- /*
- * Double-check the signature of the response.
- */
- rcode = nr_packet_verify(&response, &request);
- if (rcode < 0) goto error;
-
- return 0;
-}
diff --git a/lib/radius/examples/nr_vp_create.c b/lib/radius/examples/nr_vp_create.c
deleted file mode 100644
index bd04f17..0000000
--- a/lib/radius/examples/nr_vp_create.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * The person or persons who have associated work with this document
- * (the "Dedicator" or "Certifier") hereby either (a) certifies that,
- * to the best of his knowledge, the work of authorship identified is
- * in the public domain of the country from which the work is
- * published, or (b) hereby dedicates whatever copyright the
- * dedicators holds in the work of authorship identified below (the
- * "Work") to the public domain. A certifier, moreover, dedicates any
- * copyright interest he may have in the associated work, and for
- * these purposes, is described as a "dedicator" below.
- *
- * A certifier has taken reasonable steps to verify the copyright
- * status of this work. Certifier recognizes that his good faith
- * efforts may not shield him from liability if in fact the work
- * certified is not in the public domain.
- *
- * Dedicator makes this dedication for the benefit of the public at
- * large and to the detriment of the Dedicator's heirs and
- * successors. Dedicator intends this dedication to be an overt act of
- * relinquishment in perpetuity of all present and future rights under
- * copyright law, whether vested or contingent, in the Work. Dedicator
- * understands that such relinquishment of all rights includes the
- * relinquishment of all rights to enforce (by lawsuit or otherwise)
- * those copyrights in the Work.
- *
- * Dedicator recognizes that, once placed in the public domain, the
- * Work may be freely reproduced, distributed, transmitted, used,
- * modified, built upon, or otherwise exploited by anyone for any
- * purpose, commercial or non-commercial, and in any way, including by
- * methods that have not yet been invented or conceived.
- */
-
-static VALUE_PAIR *example_nr_vp_create(void)
-{
- VALUE_PAIR *vp;
- VALUE_PAIR *head = NULL;
-
- /*
- * Create the request contents.
- */
- vp = nr_vp_create(PW_USER_NAME, 0, "bob", 4);
- if (!vp) {
- fprintf(stderr, "User-Name: %s\n", nr_strerror(0));
- exit(1);
- }
- nr_vps_append(&head, vp);
-
- /*
- * The User-Password attribute is automatically encrypted
- * when being placed in the packet. This version stays
- * untouched, and should be "plain text".
- */
- vp = nr_vp_create(PW_USER_PASSWORD, 0, "hello", 6);
- if (!vp) {
- fprintf(stderr, "User-Password: %s\n", nr_strerror(0));
- exit(1);
- }
- nr_vps_append(&head, vp);
-
- return head;
-}