]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
s/load/onload due to conflicts with stdatomic.h *sigh*
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 11 Oct 2018 13:52:35 +0000 (09:52 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 11 Oct 2018 13:53:18 +0000 (09:53 -0400)
More header splitting

103 files changed:
src/bin/radiusd.c
src/bin/radmin.c
src/bin/radwho.c
src/bin/unit_test_module.c
src/lib/io/channel.h
src/lib/io/master.c
src/lib/io/network.c
src/lib/io/network.h
src/lib/io/ring_buffer.h
src/lib/io/schedule.h
src/lib/io/worker.h
src/lib/redis/cluster.c
src/lib/server/auth.c
src/lib/server/auth.h [new file with mode: 0644]
src/lib/server/base.h
src/lib/server/cf_file.c
src/lib/server/cf_file.h
src/lib/server/cf_parse.c
src/lib/server/cf_util.c
src/lib/server/client.c
src/lib/server/command.c
src/lib/server/cond_tokenize.c
src/lib/server/connection.c
src/lib/server/connection.h
src/lib/server/dependency.h
src/lib/server/dl.c
src/lib/server/dl.h
src/lib/server/exec.c
src/lib/server/exec.h [new file with mode: 0644]
src/lib/server/exfile.c
src/lib/server/exfile.h
src/lib/server/log.h
src/lib/server/main_config.c
src/lib/server/main_config.h
src/lib/server/map.c
src/lib/server/map.h
src/lib/server/map_proc.h
src/lib/server/modpriv.h
src/lib/server/modules.h
src/lib/server/pair.h [new file with mode: 0644]
src/lib/server/paircmp.c
src/lib/server/pairmove.c
src/lib/server/pool.c
src/lib/server/pool.h
src/lib/server/rcode.h
src/lib/server/request.h
src/lib/server/snmp.c
src/lib/server/state.c
src/lib/server/stats.c
src/lib/server/sysutmp.h
src/lib/server/tmpl.c
src/lib/server/trigger.c
src/lib/server/users_file.c
src/lib/server/util.c
src/lib/server/virtual_servers.c
src/lib/server/xlat.h
src/lib/server/xlat_eval.c
src/lib/server/xlat_func.c
src/lib/tls/ctx.c
src/lib/tls/ocsp.c
src/lib/tls/session.c
src/lib/tls/validate.c
src/lib/unlang/op.c
src/lib/util/hmac_md5.c
src/lib/util/hmac_sha1.c
src/lib/util/rand.h
src/lib/util/value.h
src/modules/proto_bfd/proto_bfd.c
src/modules/proto_control/proto_control.c
src/modules/proto_control/radmin.c
src/modules/proto_detail/proto_detail_file.c
src/modules/proto_detail/proto_detail_process.c
src/modules/proto_dhcpv4/old.c
src/modules/proto_dhcpv4/proto_dhcpv4.c
src/modules/proto_ldap_sync/proto_ldap_sync.c
src/modules/proto_radius/proto_radius.c
src/modules/proto_tacacs/proto_tacacs.c
src/modules/proto_vmps/proto_vmps.c
src/modules/rlm_cache/drivers/rlm_cache_memcached/rlm_cache_memcached.c
src/modules/rlm_cache/drivers/rlm_cache_redis/rlm_cache_redis.c
src/modules/rlm_couchbase/rlm_couchbase.c
src/modules/rlm_dhcpv4/rlm_dhcpv4.c
src/modules/rlm_eap/rlm_eap.c
src/modules/rlm_eap/types/rlm_eap_aka/rlm_eap_aka.c
src/modules/rlm_eap/types/rlm_eap_peap/rlm_eap_peap.c
src/modules/rlm_eap/types/rlm_eap_sim/rlm_eap_sim.c
src/modules/rlm_json/rlm_json.c
src/modules/rlm_ldap/rlm_ldap.c
src/modules/rlm_mschap/rlm_mschap.c
src/modules/rlm_python/rlm_python.c
src/modules/rlm_radius/rlm_radius.c
src/modules/rlm_redis/rlm_redis.c
src/modules/rlm_redis_ippool/rlm_redis_ippool.c
src/modules/rlm_rediswho/rlm_rediswho.c
src/modules/rlm_rest/rlm_rest.c
src/modules/rlm_soh/rlm_soh.c
src/modules/rlm_sql/drivers/rlm_sql_cassandra/rlm_sql_cassandra.c
src/modules/rlm_sql/drivers/rlm_sql_mysql/rlm_sql_mysql.c
src/modules/rlm_sql/drivers/rlm_sql_postgresql/rlm_sql_postgresql.c
src/modules/rlm_sql/drivers/rlm_sql_sqlite/rlm_sql_sqlite.c
src/modules/rlm_unix/rlm_unix.c
src/protocols/radius/radius.h
src/protocols/vqp/vqp.c

index 0f9872bc104bd46acbdf82362c033dc72ba6eade..6a5fa9c630c38e82f8a1d4ef39977666c4873ace 100644 (file)
  */
 RCSID("$Id$")
 
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/map_proc.h>
 #include <freeradius-devel/server/modules.h>
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/server/radmin.h>
 #include <freeradius-devel/server/state.h>
+
 #include <freeradius-devel/tls/base.h>
+
 #include <freeradius-devel/unlang/base.h>
 
+#include <freeradius-devel/util/misc.h>
+
 #include <ctype.h>
 #include <fcntl.h>
 #include <sys/file.h>
index d0b8a618c7cb9795bc32684c34b69c5ace92d053..7253010b4ca581af7d4fadd8c912f1009ab85f1e 100644 (file)
  */
 RCSID("$Id$")
 
-#include <freeradius-devel/server/base.h>
-#include <freeradius-devel/server/radmin.h>
 #include <freeradius-devel/io/schedule.h>
+#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/radmin.h>
+
+#include <freeradius-devel/util/dict.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/socket.h>
 
 #ifdef HAVE_LIBREADLINE
 
index 70651ae20c5cebe5c967b44947ed84a9ec811691..6b7edcc72ff2eec47b370f30a676563270edb0d8 100644 (file)
@@ -29,6 +29,8 @@ RCSID("$Id$")
 #include <freeradius-devel/server/radutmp.h>
 #include <freeradius-devel/server/sysutmp.h>
 
+#include <freeradius-devel/util/conf.h>
+
 #include <pwd.h>
 #include <sys/stat.h>
 #include <ctype.h>
index 14aa0924c9a34a141a82f147e15bd2841035ed6d..6a1a63087130057509d8e6694462d6af4844bc88 100644 (file)
 RCSID("$Id$")
 
 #include <freeradius-devel/server/base.h>
-#include <freeradius-devel/server/modules.h>
-#include <freeradius-devel/unlang/base.h>
 #include <freeradius-devel/server/map_proc.h>
-#include <freeradius-devel/server/state.h>
+#include <freeradius-devel/server/modules.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/state.h>
+
+#include <freeradius-devel/radius/defs.h>
+#include <freeradius-devel/radius/radius.h>
+
+#include <freeradius-devel/util/rand.h>
+
 #include <freeradius-devel/tls/base.h>
 
+#include <freeradius-devel/unlang/base.h>
+
 #ifdef HAVE_GETOPT_H
 #  include <getopt.h>
 #endif
index 7b104d92cedbde86ae0b4a2b0dbb7b6bdf48e2d6..e738a014da816786af41c451adfd38a508f8a28d 100644 (file)
  */
 RCSIDH(channel_h, "$Id$")
 
-#include <freeradius-devel/io/message.h>
-#include <freeradius-devel/io/control.h>
-#include <freeradius-devel/io/base.h>
-#include <freeradius-devel/util/dlist.h>
-
-#include <sys/types.h>
-#include <sys/event.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -52,6 +44,22 @@ typedef struct fr_channel_t fr_channel_t;
  */
 typedef struct fr_listen fr_listen_t;
 
+#ifdef __cplusplus
+}
+#endif
+
+#include <freeradius-devel/io/message.h>
+#include <freeradius-devel/io/control.h>
+#include <freeradius-devel/io/base.h>
+#include <freeradius-devel/util/dlist.h>
+
+#include <sys/types.h>
+#include <sys/event.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 typedef enum fr_channel_event_t {
        FR_CHANNEL_ERROR = 0,
        FR_CHANNEL_DATA_READY_WORKER,
index 2d1ea808412d6d76de059b64a361024b3f6c50da..b27729590b46015f06f4f939961c1680a0d80acf 100644 (file)
  *
  * @copyright 2018 Alan DeKok (aland@freeradius.org)
  */
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/io/listen.h>
+#include <freeradius-devel/io/master.h>
+
+#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/modules.h>
+#include <freeradius-devel/server/rad_assert.h>
+
 #include <freeradius-devel/unlang/base.h>
-#include <freeradius-devel/io/master.h>
+
+#include <freeradius-devel/util/misc.h>
 #include <freeradius-devel/util/syserror.h>
-#include <freeradius-devel/server/rad_assert.h>
 
 typedef struct fr_io_live_t {
        fr_event_list_t                 *el;                            //!< event list, for the master socket.
index e47271b06d89f8025a82834cf093e3aabc2b8503..ae9ffee008928f88c4e625caace7b1d8991140d3 100644 (file)
@@ -27,13 +27,18 @@ RCSID("$Id$")
 #include <talloc.h>
 
 #include <freeradius-devel/util/event.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/rand.h>
 #include <freeradius-devel/util/rbtree.h>
-#include <freeradius-devel/io/queue.h>
+#include <freeradius-devel/util/thread_local.h>
+
 #include <freeradius-devel/io/channel.h>
 #include <freeradius-devel/io/control.h>
-#include <freeradius-devel/io/worker.h>
-#include <freeradius-devel/io/network.h>
 #include <freeradius-devel/io/listen.h>
+#include <freeradius-devel/io/network.h>
+#include <freeradius-devel/io/queue.h>
+#include <freeradius-devel/io/ring_buffer.h>
+#include <freeradius-devel/io/worker.h>
 
 /*
  *     Define our own debugging.
@@ -52,14 +57,14 @@ RCSID("$Id$")
 
 fr_thread_local_setup(fr_ring_buffer_t *, fr_network_rb)       /* macro */
 
-typedef struct fr_network_inject_t {
+typedef struct  {
        fr_listen_t     *listen;
        uint8_t         *packet;
        size_t          packet_len;
        fr_time_t       recv_time;
 } fr_network_inject_t;
 
-typedef struct fr_network_worker_t {
+typedef struct {
        int32_t                 heap_id;                //!< workers are in a heap
        fr_time_t               cpu_time;               //!< how much CPU time this worker has spent
        fr_time_t               predicted;              //!< predicted processing time for one packet
@@ -69,7 +74,7 @@ typedef struct fr_network_worker_t {
        fr_io_stats_t           stats;
 } fr_network_worker_t;
 
-typedef struct fr_network_socket_t {
+typedef struct {
        fr_network_t            *nr;                    //!< O(N) issues in talloc
        int                     number;                 //!< unique ID
        int                     heap_id;                //!< for the sockets_by_num heap
index a19af45fe96415b73ed146948dbb46c908ed2585..4ca1b3580956545fe3cf8f389aa58f52f9b3cefe 100644 (file)
  */
 RCSIDH(network_h, "$Id$")
 
-#include <freeradius-devel/util/log.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 typedef struct fr_network_t fr_network_t;
 
+#ifdef __cplusplus
+}
+#endif
+
+#include <freeradius-devel/io/worker.h>
+#include <freeradius-devel/util/log.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 fr_network_t *fr_network_create(TALLOC_CTX *ctx, fr_event_list_t *el, fr_log_t const *logger, fr_log_lvl_t lvl) CC_HINT(nonnull(2,3));
 void fr_network_exit(fr_network_t *nr) CC_HINT(nonnull);
 int fr_network_destroy(fr_network_t *nr) CC_HINT(nonnull);
index b22b1371816cde5c1d9c246c090bf7a433332e69..f59a3a5eb44002da8375cb68aa51a36cc1ccd13d 100644 (file)
@@ -36,23 +36,26 @@ extern "C" {
 
 typedef struct fr_ring_buffer_t fr_ring_buffer_t;
 
-fr_ring_buffer_t *fr_ring_buffer_create(TALLOC_CTX *ctx, size_t size);
+fr_ring_buffer_t       *fr_ring_buffer_create(TALLOC_CTX *ctx, size_t size);
 
-uint8_t *fr_ring_buffer_reserve(fr_ring_buffer_t *rb, size_t size) CC_HINT(nonnull);
-uint8_t *fr_ring_buffer_alloc(fr_ring_buffer_t *rb, size_t size);
-uint8_t *fr_ring_buffer_reserve_split(fr_ring_buffer_t *dst, size_t reserve_size,
-                                     fr_ring_buffer_t *src, size_t move_size) CC_HINT(nonnull);
+uint8_t                        *fr_ring_buffer_reserve(fr_ring_buffer_t *rb, size_t size) CC_HINT(nonnull);
 
-int fr_ring_buffer_start(fr_ring_buffer_t *dst, uint8_t **p_start, size_t *p_size);
+uint8_t                        *fr_ring_buffer_alloc(fr_ring_buffer_t *rb, size_t size);
 
-int fr_ring_buffer_free(fr_ring_buffer_t *rb, size_t size) CC_HINT(nonnull);
+uint8_t                        *fr_ring_buffer_reserve_split(fr_ring_buffer_t *dst, size_t reserve_size,
+                                                     fr_ring_buffer_t *src, size_t move_size) CC_HINT(nonnull);
 
-int fr_ring_buffer_close(fr_ring_buffer_t *rb) CC_HINT(nonnull);
+int                    fr_ring_buffer_start(fr_ring_buffer_t *dst, uint8_t **p_start, size_t *p_size);
 
-size_t fr_ring_buffer_size(fr_ring_buffer_t *rb) CC_HINT(nonnull);
-size_t fr_ring_buffer_used(fr_ring_buffer_t *rb) CC_HINT(nonnull);
+int                    fr_ring_buffer_free(fr_ring_buffer_t *rb, size_t size) CC_HINT(nonnull);
 
-void fr_ring_buffer_debug(fr_ring_buffer_t *rb, FILE *fp) CC_HINT(nonnull);
+int                    fr_ring_buffer_close(fr_ring_buffer_t *rb) CC_HINT(nonnull);
+
+size_t                 fr_ring_buffer_size(fr_ring_buffer_t *rb) CC_HINT(nonnull);
+
+size_t                         fr_ring_buffer_used(fr_ring_buffer_t *rb) CC_HINT(nonnull);
+
+void                   fr_ring_buffer_debug(fr_ring_buffer_t *rb, FILE *fp) CC_HINT(nonnull);
 
 #ifdef __cplusplus
 }
index fe9da4a6b1f3050b3f786cf535e953dc5dbe8206..0e14f7ca2e2dbeecd4f30c2a78d51935d4183232 100644 (file)
  */
 RCSIDH(schedule_h, "$Id$")
 
-#include <freeradius-devel/io/worker.h>
-#include <freeradius-devel/io/network.h>
-#include <freeradius-devel/util/log.h>
-
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 typedef struct fr_schedule_t fr_schedule_t;
 
+#ifdef __cplusplus
+}
+#endif
+
+#include <freeradius-devel/io/channel.h>
+#include <freeradius-devel/io/network.h>
+#include <freeradius-devel/io/worker.h>
+#include <freeradius-devel/util/log.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 /** Setup a new thread
  *
  * @param[in] ctx      to allocate any thread specific memory in.
index a7ee3a45ed10970937905774f9ce43242f8fa955..1edc30b31540c88375772f8b89eab98ddd1162dd 100644 (file)
  */
 RCSIDH(worker_h, "$Id$")
 
-#include <talloc.h>
-
-#include <freeradius-devel/util/heap.h>
-#include <freeradius-devel/util/event.h>
-#include <freeradius-devel/util/log.h>
-#include <freeradius-devel/server/command.h>
-
-#include <freeradius-devel/io/base.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -45,18 +37,44 @@ extern "C" {
  */
 typedef struct fr_worker_t fr_worker_t;
 
-fr_worker_t *fr_worker_create(TALLOC_CTX *ctx, char const *name, fr_event_list_t *el, fr_log_t const *logger, fr_log_lvl_t lvl) CC_HINT(nonnull(2,3,4));
-void fr_worker_destroy(fr_worker_t *worker) CC_HINT(nonnull);
-int fr_worker_kq(fr_worker_t *worker) CC_HINT(nonnull);
-fr_event_list_t *fr_worker_el(fr_worker_t *worker) CC_HINT(nonnull);
-void fr_worker(fr_worker_t *worker) CC_HINT(nonnull);
-void fr_worker_exit(fr_worker_t *worker) CC_HINT(nonnull);
-void fr_worker_debug(fr_worker_t *worker, FILE *fp) CC_HINT(nonnull);
-void fr_worker_name(fr_worker_t *worker, char const *name) CC_HINT(nonnull);
-fr_channel_t *fr_worker_channel_create(fr_worker_t *worker, TALLOC_CTX *ctx, fr_control_t *master) CC_HINT(nonnull);
-int fr_worker_stats(fr_worker_t const *worker, int num, uint64_t *stats) CC_HINT(nonnull);
+#ifdef __cplusplus
+}
+#endif
+
+#include <freeradius-devel/util/heap.h>
+#include <freeradius-devel/util/event.h>
+#include <freeradius-devel/util/log.h>
+#include <freeradius-devel/server/command.h>
+#include <freeradius-devel/io/base.h>
+
+#include <talloc.h>
+#include <pthread.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 extern fr_cmd_table_t cmd_worker_table[];
 
+fr_worker_t    *fr_worker_create(TALLOC_CTX *ctx, char const *name, fr_event_list_t *el,
+                                 fr_log_t const *logger, fr_log_lvl_t lvl) CC_HINT(nonnull(2,3,4));
+
+void           fr_worker_destroy(fr_worker_t *worker) CC_HINT(nonnull);
+
+int            fr_worker_kq(fr_worker_t *worker) CC_HINT(nonnull);
+
+fr_event_list_t *fr_worker_el(fr_worker_t *worker) CC_HINT(nonnull);
+
+void           fr_worker(fr_worker_t *worker) CC_HINT(nonnull);
+
+void           fr_worker_exit(fr_worker_t *worker) CC_HINT(nonnull);
+
+void           fr_worker_debug(fr_worker_t *worker, FILE *fp) CC_HINT(nonnull);
+
+void           fr_worker_name(fr_worker_t *worker, char const *name) CC_HINT(nonnull);
+
+fr_channel_t   *fr_worker_channel_create(fr_worker_t *worker, TALLOC_CTX *ctx, fr_control_t *master) CC_HINT(nonnull);
+
+int            fr_worker_stats(fr_worker_t const *worker, int num, uint64_t *stats) CC_HINT(nonnull);
 #ifdef __cplusplus
 }
 #endif
index 12a1e157bdfb94b522dc12fcbb39f5ecb2b42818..79d319752c4a32177ba0b0f43e42eb1cce46d6e6 100644 (file)
  *   after some time.  This time is configurable.
  *
  */
+
+#include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/cf_parse.h>
+
+#include <freeradius-devel/util/fifo.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/rand.h>
+
 #include "base.h"
 #include "cluster.h"
 #include "crc16.h"
-#include <freeradius-devel/server/rad_assert.h>
-#include <freeradius-devel/server/cf_parse.h>
 
 #define KEY_SLOTS              16384                   //!< Maximum number of keyslots (should not change).
 
index 096312ca6b58273eb95d845a8614c631ba208bf9..55faf564f3a42acd1cff67edb4e3c8328ae4678a 100644 (file)
@@ -28,8 +28,15 @@ RCSID("$Id$")
 
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/modules.h>
-#include <freeradius-devel/server/state.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/rcode.h>
+#include <freeradius-devel/server/state.h>
+
+#include <freeradius-devel/util/print.h>
+
+#include <freeradius-devel/radius/defs.h>
+
+#include <freeradius-devel/attributes.h>
 
 #include <ctype.h>
 
@@ -218,7 +225,7 @@ rlm_rcode_t rad_postauth(REQUEST *request)
  *     The return value of this function isn't actually used right now, so
  *     it's not entirely clear if it is returning the right things. --Pac.
  */
-rlm_rcode_t rad_authenticate(REQUEST *request)
+static rlm_rcode_t rad_authenticate(REQUEST *request)
 {
        VALUE_PAIR      *tmp = NULL;
        int             result;
diff --git a/src/lib/server/auth.h b/src/lib/server/auth.h
new file mode 100644 (file)
index 0000000..9267fcd
--- /dev/null
@@ -0,0 +1,39 @@
+#pragma once
+/*
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/**
+ * $Id$
+ *
+ * @file lib/server/auth.h
+ * @brief Legacy state machine
+ *
+ */
+RCSIDH(auth_h, "$Id$")
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <freeradius-devel/server/request.h>
+#include <freeradius-devel/server/rcode.h>
+
+rlm_rcode_t            rad_postauth(REQUEST *);
+rlm_rcode_t            rad_virtual_server(REQUEST *);
+
+#ifdef __cplusplus
+}
+#endif
index 82a3fae10968dfc2ca82dda78f82c46685f1f961..5b6471cb4591d539cfe969863838f78d1543c9d1 100644 (file)
  * @file lib/server/base.h
  * @brief Structures, prototypes and global variables for the FreeRADIUS server.
  *
- * @copyright 1999-2000,2002-2008  The FreeRADIUS server project
+ * @copyright 1999-2018  The FreeRADIUS server project
  */
-RCSIDH(radiusd_h, "$Id$")
+RCSIDH(base_h, "$Id$")
 
+#include <freeradius-devel/features.h>
+#include <freeradius-devel/server/auth.h>
 #include <freeradius-devel/server/cf_file.h>
+#include <freeradius-devel/server/cf_parse.h>
+#include <freeradius-devel/server/cf_util.h>
 #include <freeradius-devel/server/client.h>
+#include <freeradius-devel/server/command.h>
+#include <freeradius-devel/server/components.h>
+#include <freeradius-devel/server/cond_eval.h>
+#include <freeradius-devel/server/connection.h>
+#include <freeradius-devel/server/crypt.h>
 #include <freeradius-devel/server/dependency.h>
+#include <freeradius-devel/server/dl.h>
+#include <freeradius-devel/server/exec.h>
+#include <freeradius-devel/server/exfile.h>
+#include <freeradius-devel/server/listen.h>
 #include <freeradius-devel/server/log.h>
+#include <freeradius-devel/server/main_config.h>
+#include <freeradius-devel/server/map_proc_priv.h>
+#include <freeradius-devel/server/map_proc.h>
+#include <freeradius-devel/server/map.h>
+#include <freeradius-devel/server/modules.h>
+#include <freeradius-devel/server/pair.h>
 #include <freeradius-devel/server/paircmp.h>
+#include <freeradius-devel/server/pairmove.h>
+#include <freeradius-devel/server/parser.h>
+#include <freeradius-devel/server/pool.h>
 #include <freeradius-devel/server/process.h>
+#include <freeradius-devel/server/protocol.h>
+#include <freeradius-devel/server/regex.h>
 #include <freeradius-devel/server/rcode.h>
 #include <freeradius-devel/server/realms.h>
 #include <freeradius-devel/server/request.h>
+#include <freeradius-devel/server/state.h>
 #include <freeradius-devel/server/stats.h>
-#include <freeradius-devel/server/trigger.h>
-#include <freeradius-devel/server/util.h>
-
-#include <freeradius-devel/util/base.h>
-
-/*
- *  Let any external program building against the library know what
- *  features the library was built with.
- */
-#include <freeradius-devel/features.h>
-
-/*
- *     All POSIX systems should have these headers
- */
-#include <pwd.h>
-#include <grp.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+#include <freeradius-devel/server/sysutmp.h>
 #ifdef WITH_TCP
 #  include <freeradius-devel/server/tcp.h>
 #endif
+#include <freeradius-devel/server/tmpl.h>
+#include <freeradius-devel/server/trigger.h>
+#include <freeradius-devel/server/users_file.h>
+#include <freeradius-devel/server/util.h>
+#include <freeradius-devel/server/xlat.h>
 
-/*
- *     See util.c
- */
-#define EXEC_TIMEOUT           10
-
-/*
- *     Global variables.
- *
- *     We really shouldn't have this many.
- */
-extern fr_log_lvl_t    rad_debug_lvl;
-extern fr_log_lvl_t    req_debug_lvl;
-extern char const      *radiusd_version;
-extern char const      *radiusd_version_short;
-
-
-
-/*
- *     Function prototypes.
- */
-
-
-/* radiusd.c */
-int            log_err (char *);
-
-/* auth.c */
-rlm_rcode_t            rad_authenticate (REQUEST *);
-rlm_rcode_t            rad_postauth(REQUEST *);
-rlm_rcode_t            rad_virtual_server(REQUEST *);
-
-/* exec.c */
-extern pid_t   (*rad_fork)(void);
-extern pid_t   (*rad_waitpid)(pid_t pid, int *status);
-
-pid_t radius_start_program(char const *cmd, REQUEST *request, bool exec_wait,
-                          int *input_fd, int *output_fd,
-                          VALUE_PAIR *input_pairs, bool shell_escape);
-int radius_readfrom_program(int fd, pid_t pid, int timeout,
-                           char *answer, int left);
-int radius_exec_program(TALLOC_CTX *ctx, char *out, size_t outlen, VALUE_PAIR **output_pairs,
-                       REQUEST *request, char const *cmd, VALUE_PAIR *input_pairs,
-                       bool exec_wait, bool shell_escape, int timeout) CC_HINT(nonnull (5, 6));
-
-/** Allocate a VALUE_PAIR in the request list
- *
- * @param[in] _attr    allocated.
- * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
- * @return
- *     - 0 on success.
- *     - -1 on failure.
- */
-#define pair_add_request(_attr, _da) fr_pair_add_by_da(request->packet, _attr, &request->packet->vps, _da)
-
-/** Allocate a VALUE_PAIR in the reply list
- *
- * @param[in] _attr    allocated.
- * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
- * @return
- *     - 0 on success.
- *     - -1 on failure.
- */
-#define pair_add_reply(_attr, _da) fr_pair_add_by_da(request->reply, _attr, &request->reply->vps, _da)
-
-/** Allocate a VALUE_PAIR in the control list
- *
- * @param[in] _attr    allocated.
- * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
- * @return
- *     - 0 on success.
- *     - -1 on failure.
- */
-#define pair_add_control(_attr, _da) fr_pair_add_by_da(request, _attr, &request->control, _da)
-
-/** Return or allocate a VALUE_PAIR in the request list
- *
- * @param[in] _attr    allocated or found.
- * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
- * @return
- *     - 1 if attribute already existed.
- *     - 0 if we allocated a new attribute.
- *     - -1 on failure.
- */
-#define pair_update_request(_attr, _da) fr_pair_update_by_da(request->packet, _attr, &request->packet->vps, _da)
-
-/** Return or allocate a VALUE_PAIR in the reply list
- *
- * @param[in] _attr    allocated or found.
- * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
- * @return
- *     - 1 if attribute already existed.
- *     - 0 if we allocated a new attribute.
- *     - -1 on failure.
- */
-#define pair_update_reply(_attr, _da) fr_pair_update_by_da(request->reply, _attr, &request->reply->vps, _da)
-
-/** Return or allocate a VALUE_PAIR in the control list
- *
- * @param[in] _attr    allocated or found.
- * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
- * @return
- *     - 1 if attribute already existed.
- *     - 0 if we allocated a new attribute.
- *     - -1 on failure.
- */
-#define pair_update_control(_attr, _da) fr_pair_update_by_da(request, _attr, &request->control, _da)
-
-/** Return or allocate a VALUE_PAIR in the request list
- *
- * @param[in] _da      #fr_dict_attr_t of the pair(s) to be deleted.
- * @return
- *     - >0 the number of pairs deleted.
- *     - 0 if no pairs were deleted.
- */
-#define pair_delete_request(_da) fr_pair_delete_by_da(&request->packet->vps, _da)
-
-/** Return or allocate a VALUE_PAIR in the reply list
- *
- * @param[in] _da      #fr_dict_attr_t of the pair(s) to be deleted.
- * @return
- *     - >0 the number of pairs deleted.
- *     - 0 if no pairs were deleted.
- */
-#define pair_delete_reply(_da) fr_pair_delete_by_da(&request->reply->vps, _da)
-
-/** Return or allocate a VALUE_PAIR in the control list
- *
- * @param[in] _da      #fr_dict_attr_t of the pair(s) to be deleted.
- * @return
- *     - >0 the number of pairs deleted.
- *     - 0 if no pairs were deleted.
- */
-#define pair_delete_control(_da) fr_pair_delete_by_da(&request->control, _da)
-
-
-#ifdef __cplusplus
-}
-#endif
+#include <freeradius-devel/util/base.h>
index 51e00383dbd06aa53b8299f1731d21607c05873b..dd0d55c41fffbe0eb74d477963204a0bccb77d79 100644 (file)
@@ -34,7 +34,10 @@ RCSID("$Id$")
 #include <freeradius-devel/server/log.h>
 #include <freeradius-devel/server/parser.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/util.h>
+
 #include <freeradius-devel/util/cursor.h>
+#include <freeradius-devel/util/syserror.h>
 
 #include "cf_priv.h"
 
index 27cd4c1de09d8c1ac710a3c088a03c2b40e685de..0f246878332a040ff91f1100b20d2e23c5efc457 100644 (file)
@@ -29,8 +29,11 @@ RCSIDH(cf_file_h, "$Id$")
 #include <stdint.h>
 
 #include <freeradius-devel/server/cf_util.h>
+
 #include <freeradius-devel/util/rbtree.h>
+#include <freeradius-devel/util/syserror.h>
 #include <freeradius-devel/util/token.h>
+#include <freeradius-devel/util/print.h>
 
 #ifdef __cplusplus
 extern "C" {
index d0d479ca5732fc402dfc0a71ca6c07758b0f6594..62eb0ae538a9afed0ac4ef0e4d55d532d4fabc49 100644 (file)
@@ -33,7 +33,9 @@ RCSID("$Id$")
 #include <freeradius-devel/server/log.h>
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/server/tmpl.h>
+
 #include <freeradius-devel/util/inet.h>
+#include <freeradius-devel/util/misc.h>
 #include <freeradius-devel/util/types.h>
 
 #include "cf_priv.h"
index 08c9c85d87c8b835e6d51886e6f1ce9320267ee1..09f02b814c569723e78278995e5c6cbf4075aa7d 100644 (file)
@@ -26,6 +26,7 @@ RCSID("$Id$")
 #include <string.h>
 
 #include <freeradius-devel/server/cf_util.h>
+#include <freeradius-devel/server/cf_file.h>
 #include <freeradius-devel/server/log.h>
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/util/cursor.h>
index 555aa74dabd09c60c850c3f8d11ffde21ae35119..b1600b640fe78754712fc220d52f461fa66f05c6 100644 (file)
  */
 RCSID("$Id$")
 
-#include <ctype.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-
 #include <freeradius-devel/server/cf_parse.h>
 #include <freeradius-devel/server/modules.h>
 #include <freeradius-devel/server/rad_assert.h>
+
 #include <freeradius-devel/util/trie.h>
+#include <freeradius-devel/util/misc.h>
+
+#include <freeradius-devel/attributes.h>
+
+#include <ctype.h>
+#include <fcntl.h>
+#include <sys/stat.h>
 
 //#define WITH_TRIE (1)
 
index 43ad3508ad8477f267a6d8347496c60e3f6ee282..0d4d52418c065bdde53a43faefd4f913fb55c8a9 100644 (file)
@@ -29,6 +29,8 @@ RCSID("$Id$")
 #include <freeradius-devel/server/log.h>
 #include <freeradius-devel/server/rad_assert.h>
 
+#include <freeradius-devel/util/misc.h>
+
 /*
  *     Registration hooks for radmin.
  */
index 3ed2d8434399456c1000b90958b2df512144e49d..072772035d4275798d248ac174c7496daa212dcc 100644 (file)
@@ -29,6 +29,8 @@ RCSID("$Id$")
 #include <freeradius-devel/server/parser.h>
 #include <freeradius-devel/server/rad_assert.h>
 
+#include <freeradius-devel/attributes.h>
+
 #include <ctype.h>
 
 
index d21ca899c6320f50a6344843a9caed238aa147bb..6e695c7f28a6d48d00c95b7004b6d7167fa85ba1 100644 (file)
@@ -28,6 +28,8 @@
 #include <freeradius-devel/server/connection.h>
 #include <freeradius-devel/server/log.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/cond_eval.h>
+
 #include <freeradius-devel/util/base.h>
 #include <freeradius-devel/util/event.h>
 
index 381fe457c3bbac84f089f38eb8b804a4fedf4f77..42980737c235d40e2f50dbcc8fd7b6b516e8e37f 100644 (file)
@@ -22,7 +22,7 @@
  *
  * @copyright 2017 Arran Cudbard-Bell (a.cudbardb@freeradius.org)
  */
-RCSIDH(cond_eval_h, "$Id$")
+RCSIDH(connection_h, "$Id$")
 
 #ifdef __cplusplus
 extern "C" {
index 6cd8a2b4eb35d2b33bedec9255c7f6d19298b709..21dcf7dbb5c5ee5741d6cb048cc19a8f8534b7da 100644 (file)
  */
 RCSIDH(dependency_h, "$Id$")
 
-#include <stddef.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern char const      *radiusd_version;
+extern char const      *radiusd_version_short;
+
 #include <freeradius-devel/server/cf_util.h>
 
+#include <stddef.h>
+
 int            rad_check_lib_magic(uint64_t magic);
 int            ssl_check_consistency(void);
 char const     *ssl_version_by_num(uint32_t version);
@@ -39,3 +47,7 @@ int           dependency_version_number_add(CONF_SECTION *cs, char const *name, char cons
 void           dependency_features_init(CONF_SECTION *cs);
 void           dependency_version_numbers_init(CONF_SECTION *cs);
 void           dependency_version_print(void);
+
+#ifdef __cplusplus
+}
+#endif
index 1dd464a93ae61f6785129cb71e102b7daa16eeea..af5cb1a084a981436136534c875032532013ce9a 100644 (file)
  */
 RCSID("$Id$")
 
-#include <ctype.h>
-#include <unistd.h>
 #include <freeradius-devel/server/dl.h>
-#include <freeradius-devel/util/cursor.h>
+#include <freeradius-devel/server/log.h>
 #include <freeradius-devel/server/rad_assert.h>
-#include <freeradius-devel/server/base.h>
+
+#include <freeradius-devel/util/cursor.h>
+#include <freeradius-devel/util/syserror.h>
+
+#include <ctype.h>
+#include <unistd.h>
 
 #ifdef HAVE_VALGRIND_H
 #  include <valgrind.h>
@@ -192,7 +195,7 @@ static int dl_handle_cmp(void const *one, void const *two)
  */
 static int dl_load_func(dl_t const *dl_module, UNUSED void *symbol, UNUSED void *ctx)
 {
-       if (dl_module->common->load && (dl_module->common->load() < 0)) {
+       if (dl_module->common->onload && (dl_module->common->onload() < 0)) {
                ERROR("Initialisation failed for module \"%s\"", dl_module->common->name);
                return -1;
        }
index 496e2eea8cb6f7026bf975b6b24df8214c26f246..71a4bac6b3b49d36c30eb269301b57ef22536492 100644 (file)
@@ -65,7 +65,7 @@ typedef struct dl_module dl_t;
  *     - 0 on success.
  *     - -1 if initialisation failed.
  */
-typedef int (*module_load_t)(void);
+typedef int (*module_onload_t)(void);
 
 /** Called when the module is about to be unloaded (all instances destroyed)
  *
@@ -120,7 +120,7 @@ typedef void (*dl_free_t)(dl_t const *module, void *symbol, void *user_ctx);
                size_t                          inst_size;      \
                char const                      *inst_type;     \
                CONF_PARSER const               *config;        \
-               module_load_t                   load;           \
+               module_onload_t                 onload;         \
                module_unload_t                 unload;         \
                module_detach_t                 detach;         \
        }
index bb34bc9f30d43406915e5309f8f243c3a5b3b64f..b01c4abf00727f2bb9370d23a4cfdcc382fa2b64 100644 (file)
  */
 RCSID("$Id$")
 
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/request.h>
+#include <freeradius-devel/server/util.h>
+
+#include <freeradius-devel/util/dlist.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/syserror.h>
+#include <freeradius-devel/util/thread_local.h>
+
+#include <freeradius-devel/attributes.h>
 
 #include <sys/file.h>
 
diff --git a/src/lib/server/exec.h b/src/lib/server/exec.h
new file mode 100644 (file)
index 0000000..6a927a7
--- /dev/null
@@ -0,0 +1,65 @@
+#pragma once
+/*
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/**
+ * $Id$
+ *
+ * @file lib/server/exfile.h
+ * @brief API for managing concurrent file access.
+ *
+ * @copyright 2014 The FreeRADIUS server project
+ */
+RCSIDH(exec_h, "$Id$")
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <unistd.h>
+
+#define EXEC_TIMEOUT           10      //!< Default wait time for exec calls.
+
+extern pid_t   (*rad_fork)(void);
+extern pid_t   (*rad_waitpid)(pid_t pid, int *status);
+
+#ifdef __cplusplus
+}
+#endif
+
+#include <freeradius-devel/server/request.h>
+#include <freeradius-devel/util/pair.h>
+
+#include <sys/types.h>
+#include <talloc.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+pid_t  radius_start_program(char const *cmd, REQUEST *request, bool exec_wait,
+                            int *input_fd, int *output_fd,
+                            VALUE_PAIR *input_pairs, bool shell_escape);
+
+int    radius_readfrom_program(int fd, pid_t pid, int timeout,
+                               char *answer, int left);
+
+int    radius_exec_program(TALLOC_CTX *ctx, char *out, size_t outlen, VALUE_PAIR **output_pairs,
+                           REQUEST *request, char const *cmd, VALUE_PAIR *input_pairs,
+                           bool exec_wait, bool shell_escape, int timeout) CC_HINT(nonnull (5, 6));
+
+#ifdef __cplusplus
+}
+#endif
index 253cebf45e645bfb981ffdb888cc0769e7f39d18..da7147d550622aa27507f73aa763d62507583a65 100644 (file)
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/server/exfile.h>
 
+#include <freeradius-devel/util/misc.h>
+
+#include <freeradius-devel/attributes.h>
+
 #include <sys/stat.h>
 #include <fcntl.h>
 
index 759ed9b29264fab5e88b24a24536763ec2fef448..ba9135ff20376c7ecfd98230b63ba20960c52613 100644 (file)
  */
 RCSIDH(exfile_h, "$Id$")
 
+#include <freeradius-devel/server/request.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
-
-
 /*
  *     Multiple threads logging to one or more files.
  */
index cb9ae2aa39668d699200ff1d65a9108c21ea35b3..0af629785761af0d0f7b9132a8c4b3343279d0bc 100644 (file)
@@ -38,17 +38,12 @@ extern "C" {
  */
 typedef struct log_dst log_dst_t;
 
-#ifdef __cplusplus
-}
-#endif
-
 #include <freeradius-devel/server/request.h>
 #include <freeradius-devel/util/log.h>
 #include <freeradius-devel/util/pair.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+extern fr_log_lvl_t    rad_debug_lvl;          //!< Global debug level.
+extern fr_log_lvl_t    req_debug_lvl;          //!< Request specific debug level.
 
 /** Logging callback to write log messages to a destination
  *
@@ -63,8 +58,8 @@ extern "C" {
  * @param[in] ap       Arguments for the fmt string.
  * @param[in] uctx     Context data for the log function.  Usually an #fr_log_t for vlog_request.
  */
-typedef        void (*log_func_t)(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request, char const *fmt, va_list ap, void *uctx);
-
+typedef        void (*log_func_t)(fr_log_type_t type, fr_log_lvl_t lvl, REQUEST *request,
+                          char const *fmt, va_list ap, void *uctx);
 
 struct log_dst {
        log_func_t      func;   //!< Function to call to log to this destination.
index 54f981ea68c461d41d9fd6a9fe23e7b9268e7e32..e5c26fb66739b58dc31052035e6795d0877878b8 100644 (file)
@@ -25,7 +25,6 @@
  */
 RCSID("$Id$")
 
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/cond_eval.h>
 #include <freeradius-devel/server/main_config.h>
 #include <freeradius-devel/server/map_proc.h>
@@ -33,6 +32,9 @@ RCSID("$Id$")
 #include <freeradius-devel/server/modules.h>
 #include <freeradius-devel/server/rad_assert.h>
 
+#include <freeradius-devel/util/conf.h>
+#include <freeradius-devel/util/dict.h>
+
 #include <sys/stat.h>
 #include <pwd.h>
 #include <grp.h>
index b6eb27beb2a2ce8bb2a9f3a594409a40203824b1..8388ae2737725b48be7f3f8cdfee70aa33d7f528 100644 (file)
@@ -40,6 +40,8 @@ extern main_config_t const *main_config;              //!< Global configuration singleton.
 
 #include <freeradius-devel/server/cf_util.h>
 #include <freeradius-devel/server/tmpl.h>
+#include <freeradius-devel/server/main_config.h>
+
 #include <freeradius-devel/util/dict.h>
 
 /** Main server configuration
index 79a37cdebc0d65c1cab6ee381c38881b42e26ca6..e95a8f7475063fe9a50f1f725cbbdb07d2fb73d0 100644 (file)
 
 RCSID("$Id$")
 
-#include <freeradius-devel/server/base.h>
+#include <freeradius-devel/server/exec.h>
 #include <freeradius-devel/server/map.h>
+#include <freeradius-devel/server/paircmp.h>
 #include <freeradius-devel/server/rad_assert.h>
 
+#include <freeradius-devel/util/pair_cursor.h>
+#include <freeradius-devel/util/misc.h>
+
+#include <freeradius-devel/rfc2865.h>
+#include <freeradius-devel/attributes.h>
+
 #include <ctype.h>
 
 #ifdef DEBUG_MAP
index b68ec6925d0f3c3498c31f71d0686fb86b9482e1..1a11999e09adf1368dd19065d64428d000636bf5 100644 (file)
  */
 RCSIDH(map_h, "$Id$")
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct vp_map_s vp_map_t;
+typedef struct vp_list_mod_s vp_list_mod_t;
+
+#ifdef __cplusplus
+}
+#endif
+
 #include <freeradius-devel/server/cf_util.h>
 #include <freeradius-devel/server/tmpl.h>
 
@@ -43,7 +54,7 @@ extern "C" {
  *
  * @see vp_tmpl_t
  */
-typedef struct vp_map {
+struct vp_map_s {
        vp_tmpl_t               *lhs;           //!< Typically describes the attribute to add, modify or compare.
        vp_tmpl_t               *rhs;           //!< Typically describes a literal value or a src attribute
                                                ///< to copy or compare.
@@ -54,19 +65,19 @@ typedef struct vp_map {
        CONF_ITEM               *ci;            //!< Config item that the map was created from. Mainly used for
                                                //!< logging validation errors.
 
-       struct vp_map           *next;          //!< The next valuepair map.
-} vp_map_t;
+       vp_map_t                *next;          //!< The next valuepair map.
+};
 
 /** A list modification
  *
  */
-typedef struct vp_list_mod {
+struct vp_list_mod_s {
        vp_map_t const          *map;           //!< Original map describing the change to be made.
 
        vp_map_t                *mod;           //!< New map containing the destination (LHS) and
                                                ///< values (RHS).
-       struct vp_list_mod      *next;
-} vp_list_mod_t;
+       vp_list_mod_t           *next;
+};
 
 #ifndef WITH_VERIFY_PTR
 #  define MAP_VERIFY(_x) rad_assert((_x)->lhs)
index 538f33cd2f56b5511e6725f2d517f3bcb49a42aa..9d858a56269aba6da415f2b4bdde9b3c6562ff2e 100644 (file)
  */
 RCSIDH(map_proc_h, "$Id$")
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct map_proc map_proc_t;
+typedef struct map_proc_inst map_proc_inst_t;
+
+#ifdef __cplusplus
+}
+#endif
+
 #include <freeradius-devel/server/cf_util.h>
 #include <freeradius-devel/server/tmpl.h>
 #include <freeradius-devel/server/map.h>
@@ -34,9 +45,6 @@ RCSIDH(map_proc_h, "$Id$")
 extern "C" {
 #endif
 
-typedef struct map_proc map_proc_t;
-typedef struct map_proc_inst map_proc_inst_t;
-
 /** Function to evaluate the src string and map the result to server attributes
  *
  * @param[in] mod_inst         Instance of the module that registered the map_proc.
index 55976006cd03c4338766e2c23bf8d0e1957a0cab..027570d109fb48e9971f7c89449ce287a1e08b0c 100644 (file)
@@ -26,9 +26,9 @@
  */
 RCSIDH(modpriv_h, "$Id$")
 
-#include <freeradius-devel/server/base.h>
-#include <freeradius-devel/server/modules.h>
+#include <freeradius-devel/server/dl.h>
 #include <freeradius-devel/server/map.h>
+#include <freeradius-devel/server/modules.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -36,8 +36,11 @@ extern "C" {
 
 module_instance_t      *module_find_with_method(rlm_components_t *method,
                                                 CONF_SECTION *modules, char const *asked_name);
+
 module_instance_t      *module_find(CONF_SECTION *modules, char const *asked_name);
+
 int                    module_sibling_section_find(CONF_SECTION **out, CONF_SECTION *module, char const *name);
+
 int                    unlang_fixup_update(vp_map_t *map, void *ctx);
 
 #ifdef __cplusplus
index 1822406d44b7e6000f9766cc115f2bf7d6db2dd8..a1672e869b79bb70765c1a254bdebdb09e590c3d 100644 (file)
  */
 RCSIDH(modules_h, "$Id$")
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct rad_module_s rad_module_t;
+typedef struct module_instance_s module_instance_t;
+typedef struct section_type_value_s section_type_value_t;
+typedef struct module_thread_instance_s  module_thread_instance_t;
+
+#ifdef __cplusplus
+}
+#endif
+
 #include <freeradius-devel/server/cf_parse.h>
+#include <freeradius-devel/server/components.h>
 #include <freeradius-devel/server/dl.h>
-#include <freeradius-devel/features.h>
-#include <freeradius-devel/server/pool.h>
 #include <freeradius-devel/server/exfile.h>
+#include <freeradius-devel/server/pool.h>
+#include <freeradius-devel/server/rcode.h>
+
 #include <freeradius-devel/io/schedule.h>
-#include <freeradius-devel/server/components.h>
+
 #include <freeradius-devel/unlang/base.h>
 
+#include <freeradius-devel/features.h>
+
 #ifdef __cplusplus
 extern "C" {
 #endif
@@ -45,11 +62,11 @@ extern const FR_NAME_NUMBER mod_rcode_table[];
  * Used by module.c to define the mappings between names, types and control
  * attributes.
  */
-typedef struct section_type_value_t {
+struct section_type_value_s {
        char const      *section;               //!< Section name e.g. "Authorize".
        char const      *typename;              //!< Type name e.g. "Auth-Type".
        int             attr;                   //!< Attribute number.
-} section_type_value_t;
+};
 
 /** Mappings between section names, typenames and control attributes
  *
@@ -185,7 +202,7 @@ typedef void (*fr_unlang_module_signal_t)(REQUEST *request, void *instance, void
  * Determines the capabilities of the module, and maps internal functions
  * within the module to different sections.
  */
-typedef struct rad_module_t {
+struct rad_module_s {
        RAD_MODULE_COMMON;
 
        int                     type;                   //!< Type flags that control calling conventions for modules.
@@ -199,7 +216,7 @@ typedef struct rad_module_t {
        size_t                  thread_inst_size;       //!< Size of data to allocate to the thread instance.
 
        module_method_t         methods[MOD_COUNT];     //!< Pointers to the various section callbacks.
-} rad_module_t;
+};
 
 /** Per instance data
  *
@@ -207,7 +224,7 @@ typedef struct rad_module_t {
  * instance names (may NOT be the module names!), and the per-instance
  * data structures.
  */
-typedef struct {
+struct module_instance_s {
        char const                      *name;          //!< Instance name e.g. user_database.
 
        dl_instance_t                   *dl_inst;       //!< Structure containing the module's instance data,
@@ -224,13 +241,13 @@ typedef struct {
 
        rlm_rcode_t                     code;           //!< Code module will return when 'force' has
                                                        //!< has been set to true.
-} module_instance_t;
+};
 
 /** Per thread per instance data
  *
  * Stores module and thread specific data.
  */
-typedef struct {
+struct module_thread_instance_s {
        void                            *data;          //!< Thread specific instance data.
 
        fr_event_list_t                 *el;            //!< Event list associated with this thread.
@@ -244,7 +261,7 @@ typedef struct {
 
        uint64_t                        total_calls;    //! total number of times we've been called
        uint64_t                        active_callers; //! number of active callers.  i.e. number of current yields
-} module_thread_instance_t;
+};
 
 /*
  *     Share connection pool instances between modules
diff --git a/src/lib/server/pair.h b/src/lib/server/pair.h
new file mode 100644 (file)
index 0000000..6078cd0
--- /dev/null
@@ -0,0 +1,117 @@
+#pragma once
+/*
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/**
+ * $Id$
+ *
+ * @file lib/server/pair.h
+ * @brief Server pair manipulation macros
+ *
+ * @copyright 2018  The FreeRADIUS server project
+ */
+RCSIDH(server_pair_h, "$Id$")
+
+/** Allocate a VALUE_PAIR in the request list
+ *
+ * @param[in] _attr    allocated.
+ * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
+ * @return
+ *     - 0 on success.
+ *     - -1 on failure.
+ */
+#define pair_add_request(_attr, _da) fr_pair_add_by_da(request->packet, _attr, &request->packet->vps, _da)
+
+/** Allocate a VALUE_PAIR in the reply list
+ *
+ * @param[in] _attr    allocated.
+ * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
+ * @return
+ *     - 0 on success.
+ *     - -1 on failure.
+ */
+#define pair_add_reply(_attr, _da) fr_pair_add_by_da(request->reply, _attr, &request->reply->vps, _da)
+
+/** Allocate a VALUE_PAIR in the control list
+ *
+ * @param[in] _attr    allocated.
+ * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
+ * @return
+ *     - 0 on success.
+ *     - -1 on failure.
+ */
+#define pair_add_control(_attr, _da) fr_pair_add_by_da(request, _attr, &request->control, _da)
+
+/** Return or allocate a VALUE_PAIR in the request list
+ *
+ * @param[in] _attr    allocated or found.
+ * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
+ * @return
+ *     - 1 if attribute already existed.
+ *     - 0 if we allocated a new attribute.
+ *     - -1 on failure.
+ */
+#define pair_update_request(_attr, _da) fr_pair_update_by_da(request->packet, _attr, &request->packet->vps, _da)
+
+/** Return or allocate a VALUE_PAIR in the reply list
+ *
+ * @param[in] _attr    allocated or found.
+ * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
+ * @return
+ *     - 1 if attribute already existed.
+ *     - 0 if we allocated a new attribute.
+ *     - -1 on failure.
+ */
+#define pair_update_reply(_attr, _da) fr_pair_update_by_da(request->reply, _attr, &request->reply->vps, _da)
+
+/** Return or allocate a VALUE_PAIR in the control list
+ *
+ * @param[in] _attr    allocated or found.
+ * @param[in] _da      #fr_dict_attr_t of the pair to be found or allocated.
+ * @return
+ *     - 1 if attribute already existed.
+ *     - 0 if we allocated a new attribute.
+ *     - -1 on failure.
+ */
+#define pair_update_control(_attr, _da) fr_pair_update_by_da(request, _attr, &request->control, _da)
+
+/** Return or allocate a VALUE_PAIR in the request list
+ *
+ * @param[in] _da      #fr_dict_attr_t of the pair(s) to be deleted.
+ * @return
+ *     - >0 the number of pairs deleted.
+ *     - 0 if no pairs were deleted.
+ */
+#define pair_delete_request(_da) fr_pair_delete_by_da(&request->packet->vps, _da)
+
+/** Return or allocate a VALUE_PAIR in the reply list
+ *
+ * @param[in] _da      #fr_dict_attr_t of the pair(s) to be deleted.
+ * @return
+ *     - >0 the number of pairs deleted.
+ *     - 0 if no pairs were deleted.
+ */
+#define pair_delete_reply(_da) fr_pair_delete_by_da(&request->reply->vps, _da)
+
+/** Return or allocate a VALUE_PAIR in the control list
+ *
+ * @param[in] _da      #fr_dict_attr_t of the pair(s) to be deleted.
+ * @return
+ *     - >0 the number of pairs deleted.
+ *     - 0 if no pairs were deleted.
+ */
+#define pair_delete_control(_da) fr_pair_delete_by_da(&request->control, _da)
+
index 5c2ee37e002384b66b9aa65115cde679ec050a15..1ad354a09e14ab643fc3f68c57317b7e6dff431e 100644 (file)
@@ -34,6 +34,8 @@ RCSID("$Id$")
 #include <freeradius-devel/server/regex.h>
 #include <freeradius-devel/server/request.h>
 
+#include <freeradius-devel/rfc2865.h>
+
 #include <ctype.h>
 
 typedef struct paircmp_s paircmp_t;
index 4a13908c703d904a498634f8c906e342285a4cd4..c86457eae9bde6180ef5622a03e5a2ca9f6bdfd7 100644 (file)
@@ -28,6 +28,10 @@ RCSID("$Id$")
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/server/pairmove.h>
+
+#include <freeradius-devel/rfc2865.h>
+#include <freeradius-devel/attributes.h>
+
 #include <ctype.h>
 
 /*
index 4b46bf1a8ee7dfddd6b86ac829c3c4bfa75b747d..eea19e421982167b6500608d378501d17cf193ba 100644 (file)
@@ -29,11 +29,13 @@ RCSID("$Id$")
 #define LOG_PREFIX_ARGS pool->log_prefix
 
 #include <freeradius-devel/server/base.h>
-#include <freeradius-devel/util/heap.h>
 #include <freeradius-devel/server/modpriv.h>
 #include <freeradius-devel/server/rad_assert.h>
 
-typedef struct fr_pool_connection fr_pool_connection_t;
+#include <freeradius-devel/util/heap.h>
+#include <freeradius-devel/util/misc.h>
+
+typedef struct fr_pool_connection_s fr_pool_connection_t;
 
 static int connection_check(fr_pool_t *pool, REQUEST *request);
 
@@ -44,7 +46,7 @@ static int connection_check(fr_pool_t *pool, REQUEST *request);
  *
  * @see fr_pool_t
  */
-struct fr_pool_connection {
+struct fr_pool_connection_s {
        fr_pool_connection_t    *prev;                  //!< Previous connection in list.
        fr_pool_connection_t    *next;                  //!< Next connection in list.
        int32_t         heap_id;                        //!< For the next connection heap.
@@ -78,7 +80,7 @@ struct fr_pool_connection {
  *
  * @see fr_connection
  */
-struct fr_pool {
+struct fr_pool_s {
        int             ref;                    //!< Reference counter to prevent connection
                                                //!< pool being freed multiple times.
        uint32_t        start;                  //!< Number of initial connections.
index fa25ab0e85b1f182ed185da9684853412099a269..cbe5df44e9bf0155ab8baee3e98f1624c007b576 100644 (file)
  * @copyright 2012  The FreeRADIUS server project
  * @copyright 2012  Alan DeKok <aland@deployingradius.com>
  */
-RCSIDH(connection_h, "$Id$")
+RCSIDH(pool_h, "$Id$")
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef struct fr_pool_s fr_pool_t;
+typedef struct fr_pool_state_s fr_pool_state_t;
+
+#ifdef __cplusplus
+}
+#endif
 
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/stats.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-typedef struct fr_pool fr_pool_t;
-
-typedef struct fr_pool_state {
+struct fr_pool_state_s {
        uint32_t        pending;                //!< Number of pending open connections.
        time_t          last_checked;           //!< Last time we pruned the connection pool.
        time_t          last_spawned;           //!< Last time we spawned a connection.
@@ -64,7 +72,7 @@ typedef struct fr_pool_state {
        uint32_t        active;                 //!< Number of currently reserved connections.
 
        bool            reconnecting;           //!< We are currently reconnecting the pool.
-} fr_pool_state_t;
+};
 
 /** Alter the opaque data of a connection pool during reconnection event
  *
@@ -125,11 +133,11 @@ typedef int (*fr_pool_connection_alive_t)(void *opaque, void *connection);
  *     Pool allocation/initialisation
  */
 fr_pool_t      *fr_pool_init(TALLOC_CTX *ctx,
-                                                CONF_SECTION const *cs,
-                                                void *opaque,
-                                                fr_pool_connection_create_t c,
-                                                fr_pool_connection_alive_t a,
-                                                char const *log_prefix);
+                             CONF_SECTION const *cs,
+                             void *opaque,
+                             fr_pool_connection_create_t c,
+                             fr_pool_connection_alive_t a,
+                             char const *log_prefix);
 
 fr_pool_t      *fr_pool_copy(TALLOC_CTX *ctx, fr_pool_t *pool, void *opaque);
 
index e7ee80d902803b65fc8345f07eb9dbd25ec46705..bec63b650dd8d4dbad6ad9ecbbdfe646ff8c8ecd 100644 (file)
@@ -36,7 +36,7 @@ extern "C" {
  * All module functions must return one of the codes listed below (apart from
  * RLM_MODULE_NUMCODES, which is used to check for validity).
  */
-typedef enum rlm_rcodes {
+typedef enum {
        RLM_MODULE_REJECT = 0,                          //!< Immediately reject the request.
        RLM_MODULE_FAIL,                                //!< Module failed, don't reply.
        RLM_MODULE_OK,                                  //!< The module is OK, continue.
index 4b833fabcb19bdefc26fdee446e3e7319e09de50..33d3e1c50bfaab4e056bdeb31b562023638a7a42 100644 (file)
  */
 RCSIDH(request_h, "$Id$")
 
+/*
+ *     Forward declarations to avoid dependency loops
+ */
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-#ifndef NDEBUG
-#  define REQUEST_MAGIC (0xdeadbeef)
-#endif
-
-/*
- *     Forward declarations to avoid dependency loops
- */
 typedef struct fr_async_t fr_async_t;
 typedef struct rad_request REQUEST;
 typedef struct request_data_t request_data_t;
@@ -43,6 +39,10 @@ typedef struct request_data_t request_data_t;
 typedef struct rad_listen rad_listen_t;
 typedef struct rad_client RADCLIENT;
 
+#ifdef __cplusplus
+}
+#endif
+
 #include <freeradius-devel/server/log.h>
 #include <freeradius-devel/server/main_config.h>
 #include <freeradius-devel/server/process.h>
@@ -51,6 +51,14 @@ typedef struct rad_client RADCLIENT;
 #include <freeradius-devel/util/heap.h>
 #include <freeradius-devel/util/packet.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef NDEBUG
+#  define REQUEST_MAGIC (0xdeadbeef)
+#endif
+
 typedef enum {
        REQUEST_ACTIVE = 1,
        REQUEST_STOP_PROCESSING,
index cd8ec86156f7b68bf4e8ec497da4e53d70d5aa4e..3e077fca66a5ee93d5228cc5648f1fc7a7cd5a16 100644 (file)
@@ -29,6 +29,10 @@ RCSID("$Id$")
 
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/rad_assert.h>
+
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/proto.h>
+
 #include <freeradius-devel/freeradius.snmp.h>
 
 #define FR_FREERADIUS_SNMP_TYPE_OBJECT 0
index d797b2487739e71e6be9cce321f5078e7af166b7..19fdc36a1a6827965c89b89d7d2dd037f6718bfd 100644 (file)
@@ -48,9 +48,12 @@ RCSID("$Id$")
 
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/state.h>
+#include <freeradius-devel/server/rad_assert.h>
+
 #include <freeradius-devel/util/dlist.h>
 #include <freeradius-devel/util/md5.h>
-#include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/rand.h>
 
 /** Holds a state value, and associated VALUE_PAIRs and data
  *
@@ -520,7 +523,7 @@ static fr_state_entry_t *state_entry_find(fr_state_tree_t *state, REQUEST *reque
 
        /*
         *      Assume our own State first.
-        */     
+        */
        if (vb->vb_length == sizeof(my_entry.state)) {
                memcpy(my_entry.state, vb->vb_octets, sizeof(my_entry.state));
 
index 095c4b2a96e6446d7203494eec81d21fc65d7c2e..7ae15ab575d50af010414453a0c3e5c64328822a 100644 (file)
@@ -26,6 +26,11 @@ RCSID("$Id$")
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/rad_assert.h>
 
+#include <freeradius-devel/util/misc.h>
+
+#include <freeradius-devel/radius/defs.h>
+#include <freeradius-devel/attributes.h>
+
 #ifdef WITH_STATS
 
 #define USEC (1000000)
index 82da3ae2608c646ad70fc7f86bd7835a1a293e3a..83d3ad30305e945420543e9df6a4a45fc380dcea 100644 (file)
@@ -25,6 +25,8 @@
  */
 RCSIDH(sysutmp_h, "$Id$")
 
+#include <freeradius-devel/autoconf.h>
+
 /*
  *  If we have BOTH utmp.h and utmpx.h, then
  *  we prefer to use utmp.h, but only on systems other than Solaris.
@@ -41,7 +43,7 @@ RCSIDH(sysutmp_h, "$Id$")
 #ifdef HAVE_UTMPX_H
 #  include <utmpx.h>
 #  include <sys/fcntl.h>
-#  define utmp utmpx
+#  define USE_UTMPX     1
 #  define UT_NAMESIZE  32
 #  define UT_LINESIZE  32
 #  define UT_HOSTSIZE  257
index bb1a30e7e9e551c27333bb724458ac38bef4ce82..7ab25a022cfc61a57d1cf43b9b3650c16a9ebf98 100644 (file)
@@ -29,6 +29,8 @@ RCSID("$Id$")
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/rad_assert.h>
 
+#include <freeradius-devel/util/misc.h>
+
 #include <ctype.h>
 
 /** Map #tmpl_type_t values to descriptive strings
index 1844f7fb9289d4efd428359c122cb06dab8223e0..6f03d2e920e175a755bce0d6bae5a0dc5ffc6598 100644 (file)
@@ -29,6 +29,8 @@ RCSID("$Id$")
 #include <freeradius-devel/server/cf_parse.h>
 #include <freeradius-devel/server/rad_assert.h>
 
+#include <freeradius-devel/attributes.h>
+
 static CONF_SECTION const      *trigger_exec_main, *trigger_exec_subcs;
 static rbtree_t                        *trigger_last_fired_tree;
 static pthread_mutex_t         *trigger_mutex;
index 5db5db7096f78e159f0b9fb6f01156268184a90e..ba9cd6caf308f819e5cab6e3c56bbed06ba9d53e 100644 (file)
@@ -28,6 +28,8 @@ RCSID("$Id$")
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/server/users_file.h>
 
+#include <freeradius-devel/util/syserror.h>
+
 #include <sys/stat.h>
 
 #include <ctype.h>
index d13a6c11e08f7d3b4e6e3f3d7d0c1aeee1a29e45..f84c1077f8627012ddc7ab94ba6ada6149303d77 100644 (file)
@@ -27,10 +27,12 @@ RCSID("$Id$")
 #include <freeradius-devel/server/stats.h>
 #include <freeradius-devel/server/util.h>
 
-#include <ctype.h>
+#include <freeradius-devel/util/misc.h>
 
-#include <sys/stat.h>
+#include <ctype.h>
 #include <fcntl.h>
+#include <signal.h>
+#include <sys/stat.h>
 
 static bool suid_down_permanent = false;       //!< Record whether we've permanently dropped privilledges
 
index e39fb86e6b526ce11d8c880c4c2ddf9a47d14bc2..746bf44d34fdd9320a02dae639f69035c9ae1403 100644 (file)
 RCSID("$Id$")
 
 #include <freeradius-devel/server/base.h>
+#include <freeradius-devel/server/command.h>
+#include <freeradius-devel/server/dl.h>
 #include <freeradius-devel/server/modpriv.h>
-#include <freeradius-devel/unlang/base.h>
 #include <freeradius-devel/server/parser.h>
 #include <freeradius-devel/server/protocol.h>
-#include <freeradius-devel/io/listen.h>
-#include <freeradius-devel/server/dl.h>
-#include <freeradius-devel/server/command.h>
+
 #include <freeradius-devel/io/application.h>
+#include <freeradius-devel/io/listen.h>
+
+#include <freeradius-devel/unlang/base.h>
+
+#include <freeradius-devel/attributes.h>
 
 /*
  *     Ordered by component
index 61354867e2269dceb110d550fddc60532d16e90c..835785c1623981d6c44b69be3afa3269d276011f 100644 (file)
@@ -32,7 +32,7 @@ extern "C" {
 /*
  *     Forward declarations
  */
-typedef enum xlat_action_e {
+typedef enum {
        XLAT_ACTION_PUSH_CHILD = 1,             //!< A deeper level of nesting needs to be evaluated.
        XLAT_ACTION_YIELD,                      //!< An xlat function pushed a resume frame onto the stack.
        XLAT_ACTION_DONE,                       //!< We're done evaluating this level of nesting.
@@ -43,14 +43,14 @@ typedef struct xlat_inst xlat_inst_t;
 typedef struct xlat_thread_inst xlat_thread_inst_t;
 typedef struct xlat_exp xlat_exp_t;
 
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/cf_util.h>
+#include <freeradius-devel/server/request.h>
 #include <freeradius-devel/server/signal.h>
+
 #include <freeradius-devel/util/cursor.h>
 #include <freeradius-devel/util/pair.h>
 #include <freeradius-devel/util/value.h>
 
-
 /** Instance data for an xlat expansion node
  *
  */
index 2733483335c5b7f09f52b78d93ed190d3e863977..a17d70cc48888ddf0306df85f2b6e5a2bbc8ca78 100644 (file)
@@ -32,8 +32,11 @@ RCSID("$Id$")
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/server/regex.h>
 #include <freeradius-devel/server/request.h>
+
 #include <freeradius-devel/unlang/base.h>
 
+#include <freeradius-devel/attributes.h>
+
 #include <ctype.h>
 #include "xlat_priv.h"
 
index 69b349f8ae67c874abb74b62fa64152c08cc73c1..6edeab6c5caebf2d872afcdbb73dbb6849c41abf 100644 (file)
@@ -30,10 +30,14 @@ RCSID("$Id$")
 #include <freeradius-devel/server/parser.h>
 #include <freeradius-devel/server/rad_assert.h>
 #include <freeradius-devel/server/regex.h>
+
 #include <freeradius-devel/util/base64.h>
 #include <freeradius-devel/util/md5.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/rand.h>
 #include <freeradius-devel/util/sha1.h>
 #include <freeradius-devel/util/value.h>
+
 #ifdef HAVE_OPENSSL_EVP_H
 #  include <openssl/evp.h>
 #endif
index 05387a6ceefbf36f7cfd7019b2b061d27a5d00a5..13fd87be1e9d4f95bd85e6756c67db8d69dae04a 100644 (file)
@@ -30,11 +30,13 @@ USES_APPLE_DEPRECATED_API   /* OpenSSL API has been deprecated by Apple */
 #ifdef WITH_TLS
 #define LOG_PREFIX "tls - "
 
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/syserror.h>
+#include <freeradius-devel/server/rad_assert.h>
+
 #include <openssl/rand.h>
 #include <openssl/dh.h>
 
-#include <freeradius-devel/server/base.h>
-#include <freeradius-devel/server/rad_assert.h>
 #include "base.h"
 
 #if OPENSSL_VERSION_NUMBER >= 0x0090800fL
index c06057107d578b825334aa562472725bbba67402..659875aed6e78c092c9b86bf978c0773bf78a92c 100644 (file)
@@ -29,10 +29,13 @@ USES_APPLE_DEPRECATED_API   /* OpenSSL API has been deprecated by Apple */
 #ifdef HAVE_OPENSSL_OCSP_H
 #define LOG_PREFIX "tls - ocsp - "
 
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/modules.h>
 #include <freeradius-devel/server/rad_assert.h>
+
+#include <freeradius-devel/util/misc.h>
+
 #include <openssl/ocsp.h>
+
 #include "base.h"
 #include "tls_attrs.h"
 
index 2b1ac3eaa4e24100b1c6c6f9d729180478cf8e4c..9cbd5f85cd397e148598417454ad94219dd63b60 100644 (file)
 #ifdef HAVE_OPENSSL_OCSP_H
 #define LOG_PREFIX "tls - "
 
-#include <ctype.h>
-#include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/server/pair.h>
+
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/attributes.h>
+
 #include <openssl/x509v3.h>
+#include <ctype.h>
+
 #include "base.h"
 #include "tls_attrs.h"
 
index 66dc520c4c60ae0227a67f94a9a0ce4ae094ffad..649539da7259d327d6a2d09508c504bd4a283332 100644 (file)
 #ifdef WITH_TLS
 #define LOG_PREFIX "tls - "
 
-#include <freeradius-devel/server/base.h>
+#include <freeradius-devel/server/exec.h>
+#include <freeradius-devel/server/pair.h>
 #include <freeradius-devel/server/rad_assert.h>
+
+#include <freeradius-devel/util/strerror.h>
+#include <freeradius-devel/util/syserror.h>
+
 #include "base.h"
 #include "tls_attrs.h"
 
index 8187000c320797960c3e41fbaed86fa47f6a5411..9916229d02cc28cd9f251417ad05a009cf3d7b78 100644 (file)
  */
 RCSID("$Id$")
 
-#include <freeradius-devel/io/listen.h>
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/cond_eval.h>
 #include <freeradius-devel/server/modpriv.h>
 #include <freeradius-devel/server/parser.h>
 #include <freeradius-devel/server/xlat.h>
+
+#include <freeradius-devel/io/listen.h>
+
 #include <freeradius-devel/util/dlist.h>
+#include <freeradius-devel/util/rand.h>
 
 #include "unlang_priv.h"
 
index 953a8a7977481a3f2d3fd4045e645b10e144cc55..8f93f57998b22821d79363a2622c2a7130b35bce 100644 (file)
@@ -31,6 +31,7 @@
 RCSID("$Id$")
 
 #include <freeradius-devel/util/md5.h>
+#include <freeradius-devel/util/thread_local.h>
 
 #ifdef HAVE_OPENSSL_EVP_H
 #  include <freeradius-devel/tls/base.h>
index 51d2eba193160f051f08e0f6b4a39e20d50aa991..24c66bdeb2b70533ee0a4628aedf7ca777df0824 100644 (file)
@@ -32,6 +32,7 @@
 RCSID("$Id$")
 
 #include <freeradius-devel/util/sha1.h>
+#include <freeradius-devel/util/thread_local.h>
 
 #ifdef HMAC_SHA1_DATA_PROBLEMS
 unsigned int sha1_data_problems = 0;
index 273c8bcbb99911508acd01dca6ebb3c5d43882d7..2338288b4df1cb8974e6e89403b52f445faa20aa 100644 (file)
@@ -1,3 +1,4 @@
+#pragma once
 /*
  *   This library is free software; you can redistribute it and/or
  *   modify it under the terms of the GNU Lesser General Public
  */
 RCSIDH(rand_h, "$Id$")
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 #include <freeradius-devel/build.h>
 #include <freeradius-devel/missing.h>
 
 #include <stddef.h>
 #include <stdint.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* random numbers in isaac.c */
 /* context of random number generator */
 typedef struct fr_randctx {
index 5b89d0a3ff929428c25e4cba9c2077db249d3892..81b9c439e6bdf694b4a2cfd00e12f70c7e5ffacf 100644 (file)
@@ -27,23 +27,32 @@ RCSIDH(value_h, "$Id$")
 extern "C" {
 #endif
 
+#define FR_MAX_STRING_LEN      254     /* RFC2138: string 0-253 octets */
+
+typedef struct value_box fr_value_box_t;
+
+#ifdef __cplusplus
+}
+#endif
+
 #include <freeradius-devel/build.h>
 #include <freeradius-devel/missing.h>
 #include <freeradius-devel/util/debug.h>
+#include <freeradius-devel/util/dict.h>
 #include <freeradius-devel/util/inet.h>
 #include <freeradius-devel/util/log.h>
 #include <freeradius-devel/util/strerror.h>
+#include <freeradius-devel/util/token.h>
 #include <freeradius-devel/util/types.h>
 
-/*
- *     Avoid circular type references.
- */
-typedef struct value_box fr_value_box_t;
-
-#include <freeradius-devel/util/dict.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 extern const FR_NAME_NUMBER fr_value_box_type_names[];
+
 extern size_t const fr_value_box_field_sizes[];
+
 extern size_t const fr_value_box_offsets[];
 
 #define fr_value_box_foreach(_v, _iv) for (fr_value_box_t *_iv = _v; _iv; _iv = _iv->next)
@@ -443,7 +452,6 @@ _Generic((_var), \
 )(_var, _box)
 
 /* @} **/
-
 /*
  *     Allocation - init/alloc use static functions (above)
  */
@@ -551,7 +559,6 @@ bool                fr_value_box_list_tainted(fr_value_box_t const *head);
 char           *fr_value_box_asprint(TALLOC_CTX *ctx, fr_value_box_t const *data, char quote);
 
 size_t         fr_value_box_snprint(char *out, size_t outlen, fr_value_box_t const *data, char quote);
-
 #ifdef __cplusplus
 }
 #endif
index 2a0ae2dab24b4f2cc1b8a7b35a839c307d6eb4fa..b8a5182250c037c9cb766343718c31e09bdc78c9 100644 (file)
  */
 
 #include <freeradius-devel/server/base.h>
-#include <freeradius-devel/server/protocol.h>
 #include <freeradius-devel/server/modules.h>
-#include <freeradius-devel/unlang/base.h>
+#include <freeradius-devel/server/protocol.h>
 #include <freeradius-devel/server/rad_assert.h>
+
+#include <freeradius-devel/unlang/base.h>
+
 #include <freeradius-devel/util/event.h>
 #include <freeradius-devel/util/md5.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/rand.h>
 #include <freeradius-devel/util/sha1.h>
+#include <freeradius-devel/util/socket.h>
 
 #define USEC (1000000)
 #define BFD_MAX_SECRET_LENGTH 20
index b019bcad16af8a7e691f6027e49760d4f9135fcd..2b70357a7c6f124cc2d7ce0bfc0f27f3a2719694 100644 (file)
@@ -574,7 +574,7 @@ fr_app_t proto_control = {
        .config                 = proto_control_config,
        .inst_size              = sizeof(proto_control_t),
 
-       .load                   = mod_load,
+       .onload                 = mod_load,
        .unload                 = mod_unload,
        .bootstrap              = mod_bootstrap,
        .instantiate            = mod_instantiate,
index 7b35caa5b982a07b38b2a360f959f95a68f70b5b..2e415c894f8d7a9bd59c5853ae7ce05ba0757b5f 100644 (file)
@@ -68,9 +68,17 @@ DIAG_ON(strict-prototypes)
 #define LOG_PREFIX "radmin - "
 
 #include <freeradius-devel/server/base.h>
-#include <freeradius-devel/util/md5.h>
 #include <freeradius-devel/server/cf_parse.h>
 #include <freeradius-devel/server/radmin.h>
+
+#include <freeradius-devel/util/conf.h>
+#include <freeradius-devel/util/dict.h>
+#include <freeradius-devel/util/dict.h>
+#include <freeradius-devel/util/md5.h>
+#include <freeradius-devel/util/misc.h>
+#include <freeradius-devel/util/socket.h>
+
+
 #include "conduit.h"
 
 /*
index cffae74b5b558bf60e58df7a1c9ddea0f200d0ef..a855243bb5825a0ccd1d972199d234af187d768b 100644 (file)
  * @copyright 2017 The FreeRADIUS server project.
  * @copyright 2017 Alan DeKok (aland@deployingradius.com)
  */
-#include <netdb.h>
-#include <freeradius-devel/server/base.h>
-#include <freeradius-devel/server/protocol.h>
-#include <freeradius-devel/radius/radius.h>
-#include <freeradius-devel/io/base.h>
+
 #include <freeradius-devel/io/application.h>
+#include <freeradius-devel/io/base.h>
 #include <freeradius-devel/io/listen.h>
 #include <freeradius-devel/io/schedule.h>
+
+#include <freeradius-devel/radius/radius.h>
+
+#include <freeradius-devel/server/base.h>
+#include <freeradius-devel/server/protocol.h>
 #include <freeradius-devel/server/rad_assert.h>
+
+#include <freeradius-devel/util/misc.h>
+
 #include "proto_detail.h"
 
+#include <netdb.h>
+
 #include <fcntl.h>
 #include <sys/stat.h>
 
index 400eca842c0239567fa21d065e3e338d22cc4f2e..158e968e986fad812647a421aac1e8486c706829 100644 (file)
@@ -29,6 +29,8 @@
 #include <freeradius-devel/util/dict.h>
 #include <freeradius-devel/server/state.h>
 #include <freeradius-devel/server/rad_assert.h>
+#include <freeradius-devel/radius/radius.h>
+
 #include "proto_detail.h"
 
 static fr_dict_t *dict_freeradius;
index a0abba3a3efbe38846f894497f438caa80037d66..2d1cf5c016dce47156cbb554419ae1cf5d40a4ca 100644 (file)
@@ -1119,7 +1119,7 @@ rad_protocol_t proto_dhcp = {
        .transports     = TRANSPORT_UDP,
        .tls            = false,
 
-       .load           = dhcp_load,
+       .onload         = dhcp_load,
        .unload         = dhcp_unload,
        .compile        = dhcp_listen_compile,
        .parse          = dhcp_socket_parse,
index c5f8ec16a191ac8bd1cd256a90ed9ce95dff748e..ffb5c27d19d060a94efb296680b5e9c3b0bcb146 100644 (file)
@@ -724,7 +724,7 @@ fr_app_t proto_dhcpv4 = {
        .config                 = proto_dhcpv4_config,
        .inst_size              = sizeof(proto_dhcpv4_t),
 
-       .load                   = mod_load,
+       .onload                 = mod_load,
        .unload                 = mod_unload,
 
        .bootstrap              = mod_bootstrap,
index 795a521d0f7839dd0c7b8b348488427a949acabe..00a4be96b584e4f5bd6857ce14320a9fb5a92938 100644 (file)
@@ -1275,7 +1275,7 @@ rad_protocol_t proto_ldap_sync = {
        .inst_size      = sizeof(proto_ldap_inst_t),
        .transports     = TRANSPORT_NONE,
        .tls            = false,
-       .load           = proto_ldap_load,
+       .onload         = proto_ldap_load,
        .unload         = proto_ldap_unload,
        .compile        = proto_ldap_listen_compile,
        .parse          = proto_ldap_socket_parse,
index 61b2e94efe4ec4e7bfee5c8b8cbbde024db9874e..c1626dca1967c7fed20ce0de73c5a26e426b5789 100644 (file)
@@ -830,7 +830,7 @@ fr_app_t proto_radius = {
        .config                 = proto_radius_config,
        .inst_size              = sizeof(proto_radius_t),
 
-       .load                   = mod_load,
+       .onload                 = mod_load,
        .unload                 = mod_unload,
        .bootstrap              = mod_bootstrap,
        .instantiate            = mod_instantiate,
index 225d006536cbbb258aa8ce512b3322996c3373c0..36094632b818df3154e35b18ef9292fc5f76bd9e 100644 (file)
@@ -678,7 +678,7 @@ extern rad_protocol_t proto_tacacs;
 rad_protocol_t proto_tacacs = {
        .name           = "tacacs",
        .magic          = RLM_MODULE_INIT,
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
        .config         = proto_tacacs_config,
        .inst_size      = sizeof(proto_tacacs_t),
index 757070b6b93aa0049c8acf14634f4af180c7dfd7..f813b04a9348ef2c3dc23872c695c3149d4b262b 100644 (file)
@@ -676,7 +676,7 @@ fr_app_t proto_vmps = {
        .config                 = proto_vmps_config,
        .inst_size              = sizeof(proto_vmps_t),
 
-       .load                   = mod_load,
+       .onload                 = mod_load,
        .unload                 = mod_unload,
        .bootstrap              = mod_bootstrap,
        .instantiate            = mod_instantiate,
index 851cb6693bbab8dbfb11a06be9809ce0968efeda..c8b8d8acc9daec3a1f249fc0b03973a8498c1639 100644 (file)
@@ -313,7 +313,7 @@ cache_driver_t rlm_cache_memcached = {
        .inst_size      = sizeof(rlm_cache_memcached_t),
        .config         = driver_config,
 
-       .load           = mod_load,
+       .onload         = mod_load,
        .instantiate    = mod_instantiate,
 
        .free           = cache_entry_free,
index dbb579fb75aa010ef9d52b6155d5b71fd8cdeb48..a6ff7c63293ab4c5b3fd8e77d73f8bc79663ad4e 100644 (file)
@@ -460,7 +460,7 @@ extern cache_driver_t rlm_cache_redis;
 cache_driver_t rlm_cache_redis = {
        .name           = "rlm_cache_redis",
        .magic          = RLM_MODULE_INIT,
-       .load           = mod_load,
+       .onload         = mod_load,
        .instantiate    = mod_instantiate,
        .inst_size      = sizeof(rlm_cache_redis_t),
        .config         = driver_config,
index a2e519652e26abe33488059e24ced84137f4c8eb..6e23c455cb0f5637a14e4cd37711f02813839152 100644 (file)
@@ -545,7 +545,7 @@ rad_module_t rlm_couchbase = {
        .type           = RLM_TYPE_THREAD_SAFE,
        .inst_size      = sizeof(rlm_couchbase_t),
        .config         = module_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .instantiate    = mod_instantiate,
        .detach         = mod_detach,
        .methods = {
index 031a4f71108afbf2160972c3e0f7fff237bdb35c..5aab6916f638b8ec22af3c49bb36c8417b419f43 100644 (file)
@@ -204,7 +204,7 @@ rad_module_t rlm_dhcpv4 = {
        .name           = "dhcpv4",
        .inst_size      = sizeof(rlm_dhcpv4_t),
 
-       .load           = dhcp_load,
+       .onload         = dhcp_load,
        .unload         = dhcp_unload,
        .bootstrap      = mod_bootstrap,
 };
index 503941c9f7b63f3c1d49074b5a844019f205e235..b8d6dec13328760228e97f90486de349f2c5965a 100644 (file)
@@ -1053,7 +1053,7 @@ rad_module_t rlm_eap = {
        .name           = "eap",
        .inst_size      = sizeof(rlm_eap_t),
        .config         = module_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
        .bootstrap      = mod_bootstrap,
        .instantiate    = mod_instantiate,
index 83c3c09adea73edd4ae260383350ab1a68573cfc..0ddaa9fa105bfd08a3ea45d5f2ee38c780bcca8a 100644 (file)
@@ -1364,7 +1364,7 @@ rlm_eap_submodule_t rlm_eap_aka = {
        .inst_size      = sizeof(rlm_eap_aka_t),
        .config         = submodule_config,
 
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
        .session_init   = mod_session_init,     /* Initialise a new EAP session */
        .entry_point    = mod_process,          /* Process next round of EAP method */
index 3d82f1bc83dce190396c976b1767e73377d0efe2..4434f21f42302723c669a8ed77aacf854e9c20fd 100644 (file)
@@ -393,7 +393,7 @@ rlm_eap_submodule_t rlm_eap_peap = {
        .provides       = { FR_EAP_PEAP },
        .inst_size      = sizeof(rlm_eap_peap_t),
        .config         = submodule_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
        .instantiate    = mod_instantiate,
 
index 85300b6232d9a9d6eea84ca0e6abb464927c16a8..4f8934f36ef4f473afe29ccf02fec3ec1ab4d2f9 100644 (file)
@@ -1178,7 +1178,7 @@ rlm_eap_submodule_t rlm_eap_sim = {
        .inst_size      = sizeof(rlm_eap_sim_t),
        .config         = submodule_config,
 
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
        .session_init   = mod_session_init,     /* Initialise a new EAP session */
        .entry_point    = mod_process,          /* Process next round of EAP method */
index d996252f853221c6f5b2af497d6a4c0387c7e54a..c53c1045c1c959c8262b6882370bfd36dbce4d3a 100644 (file)
@@ -380,6 +380,6 @@ rad_module_t rlm_json = {
        .magic          = RLM_MODULE_INIT,
        .name           = "json",
        .type           = RLM_TYPE_THREAD_SAFE,
-       .load           = mod_load,
+       .onload         = mod_load,
        .bootstrap      = mod_bootstrap,
 };
index dfc69f76b08ca94e3364de54402e2ac7f71beaff..a723291851fd8518a52323ca94834209c54cf9e6 100644 (file)
@@ -1994,7 +1994,7 @@ rad_module_t rlm_ldap = {
        .type           = 0,
        .inst_size      = sizeof(rlm_ldap_t),
        .config         = module_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
        .bootstrap      = mod_bootstrap,
        .instantiate    = mod_instantiate,
index 1558d32d2411a1484fb2575df8f1491d4ed29ecf..b9205cf26e807ea593f2c6baa66379530c2be696 100644 (file)
@@ -28,7 +28,10 @@ RCSID("$Id$")
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/server/modules.h>
 #include <freeradius-devel/server/rad_assert.h>
+
+#include <freeradius-devel/util/md4.h>
 #include <freeradius-devel/util/md5.h>
+#include <freeradius-devel/util/misc.h>
 #include <freeradius-devel/util/sha1.h>
 
 #include <ctype.h>
index 28f57d0c1590a0f7b16235057a5c2cfac1a14493..fe24273541dcee7a1ecd5edfd35eafd21d5967c9 100644 (file)
@@ -1086,7 +1086,7 @@ rad_module_t rlm_python = {
        .thread_inst_size       = sizeof(rlm_python_thread_t),
 
        .config                 = module_config,
-       .load                   = mod_load,
+       .onload                 = mod_load,
        .unload                 = mod_unload,
 
        .instantiate            = mod_instantiate,
index 03fc327340430667a0232440600c3dbe3f47c407..7fdcf16d61b37dab58aa5fb3d96ab50a9e9b85d6 100644 (file)
@@ -899,7 +899,7 @@ rad_module_t rlm_radius = {
        .config         = module_config,
        .bootstrap      = mod_bootstrap,
        .instantiate    = mod_instantiate,
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
 
        .thread_inst_size = sizeof(rlm_radius_thread_t),
index e4c6ed28e5284152c7f626c840b36bd7011ab9b1..344faa905ea721b8b911b52f7da988d40640cdd2 100644 (file)
@@ -358,7 +358,7 @@ rad_module_t rlm_redis = {
        .type           = RLM_TYPE_THREAD_SAFE,
        .inst_size      = sizeof(rlm_redis_t),
        .config         = module_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .bootstrap      = mod_bootstrap,
        .instantiate    = mod_instantiate,
 };
index 38c45f8a9668963002ed793329648674e088675c..9050c564d1d5e9ab15076dd25ee56956557ed0c1 100644 (file)
@@ -1373,7 +1373,7 @@ rad_module_t rlm_redis_ippool = {
        .type           = RLM_TYPE_THREAD_SAFE,
        .inst_size      = sizeof(rlm_redis_ippool_t),
        .config         = module_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .instantiate    = mod_instantiate,
        .methods = {
                [MOD_ACCOUNTING]        = mod_accounting,
index 9795477b8b50e60e5282a9365aaba9cf2f744cbf..a3fef18caddeca4b0cd9da9997d0ff5b5a630b7b 100644 (file)
@@ -255,7 +255,7 @@ rad_module_t rlm_rediswho = {
        .type           = RLM_TYPE_THREAD_SAFE,
        .inst_size      = sizeof(rlm_rediswho_t),
        .config         = module_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .instantiate    = mod_instantiate,
        .bootstrap      = mod_bootstrap,
        .methods = {
index 5b5ca3f2be481c13ce96cda32d6eb4d42adcb292..02d8ec4d316cc41316aa057393f51012e478cf4e 100644 (file)
@@ -1114,7 +1114,7 @@ rad_module_t rlm_rest = {
        .inst_size              = sizeof(rlm_rest_t),
        .thread_inst_size       = sizeof(rlm_rest_thread_t),
        .config                 = module_config,
-       .load                   = mod_load,
+       .onload                 = mod_load,
        .unload                 = mod_unload,
        .bootstrap              = mod_bootstrap,
        .instantiate            = mod_instantiate,
index 0feee6dbf680ff8aa03cbb117c3fcb4681470f70..b8e10d684b24f7b012c49ca2c5921f1d87e86f04 100644 (file)
@@ -260,7 +260,7 @@ rad_module_t rlm_soh = {
        .type           = RLM_TYPE_THREAD_SAFE,
        .inst_size      = sizeof(rlm_soh_t),
        .config         = module_config,
-       .load           = mod_load,
+       .onload         = mod_load,
        .unload         = mod_unload,
        .bootstrap      = mod_bootstrap,
        .methods = {
index d239d115b4e8bc6293f9b5cf17241d44c7e41224..eca7c30f69f3a90d10bef7c8fd02bfa048965625 100644 (file)
@@ -933,7 +933,7 @@ rlm_sql_driver_t rlm_sql_cassandra = {
        .name                           = "rlm_sql_cassandra",
        .magic                          = RLM_MODULE_INIT,
        .inst_size                      = sizeof(rlm_sql_cassandra_t),
-       .load                           = mod_load,
+       .onload                         = mod_load,
        .unload                         = mod_unload,
        .config                         = driver_config,
        .mod_instantiate                = mod_instantiate,
index b6b2ef09922323d292b654ea9bce9ee3dfa48441..a52f59c405c2c4ccd3c62a7545be10ab3d432cd0 100644 (file)
@@ -752,7 +752,7 @@ rlm_sql_driver_t rlm_sql_mysql = {
        .magic                          = RLM_MODULE_INIT,
        .flags                          = RLM_SQL_RCODE_FLAGS_ALT_QUERY,
        .inst_size                      = sizeof(rlm_sql_mysql_t),
-       .load                           = mod_load,
+       .onload                         = mod_load,
        .unload                         = mod_unload,
        .config                         = driver_config,
        .mod_instantiate                = mod_instantiate,
index 660a612985c5a189f015c7cf1478f3315111aed4..937ea4965931e5349ee262927098e7dbc0816d27 100644 (file)
@@ -529,7 +529,7 @@ rlm_sql_driver_t rlm_sql_postgresql = {
        .magic                          = RLM_MODULE_INIT,
 //     .flags                          = RLM_SQL_RCODE_FLAGS_ALT_QUERY,        /* Needs more testing */
        .inst_size                      = sizeof(rlm_sql_postgres_t),
-       .load                           = mod_load,
+       .onload                         = mod_load,
        .config                         = driver_config,
        .mod_instantiate                = mod_instantiate,
        .sql_socket_init                = sql_socket_init,
index b8f4db937cc55695c3118320392fd6da29c6afaf..979777b994281b5c0805c0ad192012e960cbadf9 100644 (file)
@@ -808,7 +808,7 @@ rlm_sql_driver_t rlm_sql_sqlite = {
        .flags                          = RLM_SQL_RCODE_FLAGS_ALT_QUERY,
        .inst_size                      = sizeof(rlm_sql_sqlite_t),
        .config                         = driver_config,
-       .load                           = mod_load,
+       .onload                         = mod_load,
        .mod_instantiate                = mod_instantiate,
        .sql_socket_init                = sql_socket_init,
        .sql_query                      = sql_query,
index d8bf97545438a5f2e18e20de5c15fcca5eaa2a72..b5c2c0d424d8f7cf19415a36ba884844f53eab5c 100644 (file)
@@ -34,6 +34,8 @@ USES_APPLE_DEPRECATED_API
 #define LOG_PREFIX_ARGS inst->name
 
 #include <freeradius-devel/server/base.h>
+#include <freeradius-devel/server/modules.h>
+#include <freeradius-devel/server/sysutmp.h>
 
 #include <grp.h>
 #include <pwd.h>
@@ -45,9 +47,6 @@ USES_APPLE_DEPRECATED_API
 #  include <shadow.h>
 #endif
 
-#include<freeradius-devel/server/modules.h>
-#include <freeradius-devel/server/sysutmp.h>
-
 static char trans[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
 #define ENC(c) trans[c]
 
@@ -468,8 +467,8 @@ static rlm_rcode_t CC_HINT(nonnull) mod_accounting(void *instance, UNUSED void *
                strlcpy(ut.ut_host, buf, sizeof(ut.ut_host));
        }
 #endif
-#ifdef HAVE_UTMPX_H
-       ut.ut_xtime = t- delay;
+#ifdef USE_UTMPX
+       ut.ut_xtime = t - delay;
 #else
        ut.ut_time = t - delay;
 #endif
index 116c690176f1706809a1f800ca1fbe50f931c73e..e57ee9a0c6d68fddf41fb98d9ef0c535c414d5f3 100644 (file)
@@ -30,7 +30,6 @@
 
 #define AUTH_VECTOR_LEN                16
 #define CHAP_VALUE_LENGTH       16
-#define FR_MAX_STRING_LEN      254     /* RFC2138: string 0-253 octets */
 #define RADIUS_MAX_ATTRIBUTES  255
 
 #ifdef _LIBRADIUS
index 3a7008681928b5a688692a552b45b8901ffdea3f..37ac2fec55edeb22f0ab726e73c2fefd81a126cf 100644 (file)
@@ -27,6 +27,7 @@ RCSID("$Id$")
 
 #include <freeradius-devel/server/base.h>
 #include <freeradius-devel/util/udp.h>
+#include <freeradius-devel/vqp.h>
 
 #include "vqp.h"