and fix up everything which needs it.
#include <freeradius-devel/util/base.h>
#include <freeradius-devel/util/pcap.h>
#include <freeradius-devel/util/event.h>
+#include <freeradius-devel/radius/radius.h>
#ifdef HAVE_COLLECTDC_H
# include <collectd/client.h>
#include <freeradius-devel/util/conf.h>
#include <freeradius-devel/util/base.h>
#include <freeradius-devel/util/udp.h>
+#include <freeradius-devel/radius/radius.h>
#include <freeradius-devel/radius/list.h>
+
#include <ctype.h>
#include <fcntl.h>
#include <sys/uio.h>
#include <freeradius-devel/unlang/base.h>
#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
+#include <freeradius-devel/radius/radius.h>
#ifdef HAVE_GETOPT_H
# include <getopt.h>
${Q}test -e $$@ || mkdir -p $$(dir $$@)
${Q}echo "#pragma once" > $$@
${Q}grep ^PROTOCOL $$< | ${NORMALIZE} | awk '{print "#define FR_PROTOCOL_"$$$$2" " $$$$3 " //!< AUTOGENERATED PROTOCOL NUMBER DEFINITION"}' >> $$@
- ${Q}grep ^ATTRIBUTE $$< | ${NORMALIZE} | awk '{print "#define FR_"$$$$2 " " $$$$3 " //!< AUTOGENERATED ATTRIBUTE DEFINITION"}' >> $$@
- ${Q}grep ^STRUCT $$< | ${NORMALIZE} | awk '{print "#define FR_"$$$$2 " " $$$$3 " //!< AUTOGENERATED ATTRIBUTE DEFINITION"}' >> $$@
+ ${Q}grep ^ATTRIBUTE $$< | ${NORMALIZE} | awk '{print "#define FR_"$$$$2 " " $$$$3 " //!< AUTOGENERATED ATTRIBUTE DEFINITION"}' >> $$@
+ ${Q}grep ^STRUCT $$< | ${NORMALIZE} | awk '{print "#define FR_"$$$$2 " " $$$$3 " //!< AUTOGENERATED ATTRIBUTE DEFINITION"}' >> $$@
${Q}grep ^VALUE $$< | ${NORMALIZE} | awk '{print "#define FR_"$$$$2"_VALUE_"$$$$3 " " $$$$4 " //!< AUTOGENERATED VALUE DEFINITION"}' >> $$@
endef
$(foreach x,$(DICT),$(eval $(call DICT_TO_HEADER,$(addsuffix .h,$(subst dictionary.,,$(patsubst share/dictionary/%,protocol/%,$(x)))),$(x))))
RCSID("$Id$")
+#include <freeradius-devel/radius/defs.h>
+#include <freeradius-devel/radius/radius.h>
+
#include <freeradius-devel/io/pair.h>
#include "chbind.h"
#include "attrs.h"
#include <freeradius-devel/eap/base.h>
#include <freeradius-devel/server/base.h>
+#include <freeradius-devel/radius/radius.h>
+#include <freeradius-devel/radius/defs.h>
/* Structure to represent eap channel binding packet format */
typedef struct {
USES_APPLE_DEPRECATED_API
#include <freeradius-devel/ldap/base.h>
+#ifdef LDAP_CONTROL_X_SESSION_TRACKING
+#include <freeradius-devel/radius/radius.h>
+#endif
/** Merge connection and call specific client and server controls
*
memcpy(&hostname, main_config->name, sizeof(hostname)); /* const / non-const issues */
+ /*
+ * @todo - MULTI_PROTOCOL - switch to auto-loaded dictionaries.
+ */
for (vp = fr_cursor_init(&cursor, &request->request_pairs);
vp;
vp = fr_cursor_next(&cursor)) {
#include <freeradius-devel/server/cond_eval.h>
#include <freeradius-devel/server/cond.h>
#include <freeradius-devel/util/debug.h>
+#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
#include <ctype.h>
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/util/debug.h>
#include <freeradius-devel/server/exfile.h>
+#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
#include <freeradius-devel/util/misc.h>
if (request->packet) {
packet_verify(file, line, request, request->packet, "request");
+#if 0
+ /*
+ * @todo - a multi-protocol server shouldn't have
+ * hard-coded RADIUS.
+ */
if ((request->packet->code == FR_CODE_ACCESS_REQUEST) &&
(request->reply && !request->reply->code)) {
fr_assert(request->state_ctx != NULL);
}
+#endif
}
if (request->reply) packet_verify(file, line, request, request->reply, "reply");
#include <freeradius-devel/server/tmpl.h>
#include <freeradius-devel/server/base.h>
+#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
#include <freeradius-devel/util/debug.h>
#include <freeradius-devel/util/hex.h>
#include <freeradius-devel/server/cf_parse.h>
#include <freeradius-devel/util/debug.h>
#include <freeradius-devel/unlang/interpret.h>
+#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
/*
* Public "thunk" API so that the various binaries can link to
#include <freeradius-devel/server/cond.h>
#include <freeradius-devel/server/protocol.h>
#include <freeradius-devel/server/virtual_servers.h>
+#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
#include <freeradius-devel/io/application.h>
#include <freeradius-devel/io/listen.h>
#include <freeradius-devel/server/modpriv.h>
#include <freeradius-devel/server/cond.h>
#include <freeradius-devel/unlang/base.h>
+#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
#include "call_priv.h"
#include "caller_priv.h"
#include <freeradius-devel/missing.h>
-#include <freeradius-devel/radius/defs.h>
-#include <freeradius-devel/radius/radius.h>
-
#include <freeradius-devel/util/ascend.h>
#include <freeradius-devel/util/base64.h>
#include <freeradius-devel/util/conf.h>
};
static fr_table_num_sorted_t const request_types[] = {
- { L("auto"), FR_CODE_UNDEFINED },
+ { L("auto"), 0 },
{ L("decline"), FR_DHCP_DECLINE },
- { L("discover"), FR_DHCP_DISCOVER },
+ { L("discover"), FR_DHCP_DISCOVER },
{ L("inform"), FR_DHCP_INFORM },
{ L("lease_query"), FR_DHCP_LEASE_QUERY },
{ L("release"), FR_DHCP_RELEASE },
fr_radius_packet_t *packet = request->packet;
fr_cursor_t cursor;
- fr_assert(data[0] < FR_RADIUS_MAX_PACKET_CODE);
+ fr_assert(data[0] < FR_VQP_MAX_CODE);
RHEXDUMP3(data, data_len, "proto_vmps decode packet");
* "Do not respond"
*/
if ((request->reply->code == FR_CODE_DO_NOT_RESPOND) ||
- (request->reply->code == 0) || (request->reply->code >= FR_RADIUS_MAX_PACKET_CODE)) {
+ (request->reply->code >= FR_VQP_MAX_CODE)) {
*buffer = false;
return 1;
}
*/
if (data_size <= 0) return data_size;
- /*
- * Root through the reply to determine any
- * connection-level negotiation data.
- */
- if (track->packet[0] == FR_CODE_STATUS_SERVER) {
-// status_check_reply(inst, buffer, buffer_len);
- }
-
return data_size;
}
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/dl_module.h>
#include <freeradius-devel/server/map.h>
+#include <freeradius-devel/protocol/freeradius/freeradius.internal.h>
typedef struct rlm_cache_driver_s rlm_cache_driver_t;
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/password.h>
#include <freeradius-devel/server/module.h>
+#include <freeradius-devel/radius/radius.h>
typedef struct {
char const *name; //!< Auth-Type value for this module instance.
#include <freeradius-devel/server/modpriv.h>
#include <freeradius-devel/server/state.h>
+#include <freeradius-devel/radius/radius.h>
#include <freeradius-devel/eap/base.h>
#include <freeradius-devel/eap/types.h>
RCSIDH(eap_fast_h, "$Id$")
#include <freeradius-devel/eap/tls.h>
+#include <freeradius-devel/radius/radius.h>
#define EAP_FAST_VERSION 1
USES_APPLE_DEPRECATED_API /* OpenSSL API has been deprecated by Apple */
#include <freeradius-devel/unlang/base.h>
+#include <freeradius-devel/radius/radius.h>
+#include <freeradius-devel/radius/defs.h>
+
#include "eap_peap.h"
static int setup_fake_request(request_t *request, request_t *fake, peap_tunnel_t *t);
RCSIDH(eap_ttls_h, "$Id$")
#include <freeradius-devel/eap/tls.h>
+#include <freeradius-devel/radius/radius.h>
+#include <freeradius-devel/radius/defs.h>
extern fr_dict_attr_t const *attr_eap_tls_require_client_cert;
extern fr_dict_attr_t const *attr_proxy_to_realm;
#include <freeradius-devel/server/module.h>
#include <freeradius-devel/server/password.h>
#include <freeradius-devel/util/debug.h>
+#include <freeradius-devel/radius/defs.h>
#include <freeradius-devel/util/hex.h>
#include <freeradius-devel/util/md4.h>
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/module.h>
#include <freeradius-devel/util/debug.h>
+#include <freeradius-devel/radius/radius.h>
#ifdef INADDR_ANY
# undef INADDR_ANY
#include <freeradius-devel/util/dlist.h>
#include <freeradius-devel/util/retry.h>
#include <freeradius-devel/unlang/module.h>
+#include <freeradius-devel/radius/radius.h>
/*
* $Id$
#include <freeradius-devel/server/radutmp.h>
#include <freeradius-devel/server/module.h>
#include <freeradius-devel/util/debug.h>
+#include <freeradius-devel/radius/radius.h>
#include <fcntl.h>
char *filename = NULL;
char *expanded = NULL;
+ if (request->dict != dict_radius) RETURN_MODULE_NOOP;
+
if (request->packet->socket.inet.src_ipaddr.af != AF_INET) {
RDEBUG2("IPv6 not supported!");
RETURN_MODULE_NOOP;
#include <freeradius-devel/util/debug.h>
#include <freeradius-devel/util/hex.h>
+#include <freeradius-devel/radius/radius.h>
+
#include <freeradius-devel/redis/base.h>
#include <freeradius-devel/redis/cluster.h>
#include "redis_ippool.h"
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/module.h>
#include <freeradius-devel/dhcpv4/dhcpv4.h>
+#include <freeradius-devel/radius/radius.h>
#include <freeradius-devel/soh/base.h>
typedef struct {
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/module.h>
+#include <freeradius-devel/radius/radius.h>
#include <freeradius-devel/util/debug.h>
/*
/*
* If we're returning "handled", then set the packet
* code in the reply, so that the server responds.
+ *
+ * @todo - MULTI_PROTOCOL - make this protocol agnostic
*/
if ((inst->rcode == RLM_MODULE_HANDLED) && reply) {
switch (packet->code) {
#include <rlm_sql.h>
#include <freeradius-devel/util/debug.h>
+#include <freeradius-devel/radius/radius.h>
#include <ctype.h>
}
acct_status_type = vp->vp_uint32;
-
switch (acct_status_type) {
case FR_STATUS_START:
case FR_STATUS_ALIVE:
#include <freeradius-devel/io/listen.h>
#include <freeradius-devel/util/dlist.h>
#include <freeradius-devel/util/debug.h>
+#include <freeradius-devel/radius/radius.h>
#include <freeradius-devel/protocol/radius/freeradius.h>
#include <pthread.h>
+/*
+ * @todo - MULTI_PROTOCOL - make this protocol agnostic.
+ * Perhaps keep stats in a hash table by (request->dict, request->code) ?
+ */
+
typedef struct {
pthread_mutex_t mutex;
fr_dict_attr_t const *type_da; //!< FreeRADIUS-Stats4-Type
#include <freeradius-devel/server/base.h>
#include <freeradius-devel/server/module.h>
#include <freeradius-devel/server/sysutmp.h>
+#include <freeradius-devel/radius/radius.h>
#include <grp.h>
#include <pwd.h>
status = vp->vp_uint32;
/*
- * FIXME: handle FR_STATUS_ALIVE like 1.5.4.3 did.
+ * Maybe handle ALIVE, too?
*/
if (status != FR_STATUS_START &&
status != FR_STATUS_STOP)
*/
RCSID("$Id$")
+#include <freeradius-devel/radius/radius.h>
#include "rlm_yubikey.h"
#ifdef HAVE_YKCLIENT
* Don't print out debugging messages if we know
* they're useless.
*/
- if (request->packet->code != FR_CODE_ACCESS_CHALLENGE) {
+ if ((request->dict == dict_radius) && request->packet->code != FR_CODE_ACCESS_CHALLENGE) {
RDEBUG2("No cleartext password in the request. Can't do Yubikey authentication");
}
RCSID("$Id$")
+#include "radius.h"
#include "list.h"
#include <freeradius-devel/util/base.h>
#endif
#define FR_VQP_MAX_CODE (5)
+#define FR_CODE_DO_NOT_RESPOND (0)
#define FR_VQP_HDR_LEN (8)
#define FR_VQP_VERSION (1)