Made listener_print be CONST
[freeradius.git] / src / include / radiusd.h
index efe36f7..a7b1278 100644 (file)
@@ -89,6 +89,8 @@ typedef struct auth_req REQUEST;
 #ifndef WITHOUT_COMMAND_SOCKET
 #ifdef HAVE_SYS_UN_H
 #define WITH_COMMAND_SOCKET (1)
+#else
+#define WITHOUT_COMMAND_SOCKET (1)
 #endif
 #endif
 
@@ -134,6 +136,7 @@ typedef struct radclient {
        time_t                  created;
        time_t                  last_new_client;
        char                    *client_server;
+       int                     rate_limit;
 #endif
 
 #ifdef WITH_COA
@@ -169,6 +172,9 @@ typedef enum RAD_LISTEN_TYPE {
 #ifdef WITH_COMMAND_SOCKET
        RAD_LISTEN_COMMAND,
 #endif
+#ifdef WITH_COA
+       RAD_LISTEN_COA,
+#endif
        RAD_LISTEN_MAX
 } RAD_LISTEN_TYPE;
 
@@ -206,7 +212,7 @@ struct auth_req {
        pthread_t               child_pid;
 #endif
        time_t                  timestamp;
-       int                     number; /* internal server number */
+       unsigned int            number; /* internal server number */
 
        rad_listen_t            *listener;
 #ifdef WITH_PROXY
@@ -295,7 +301,7 @@ typedef struct pair_list {
 
 typedef int (*rad_listen_recv_t)(rad_listen_t *, RAD_REQUEST_FUNP *, REQUEST **);
 typedef int (*rad_listen_send_t)(rad_listen_t *, REQUEST *);
-typedef int (*rad_listen_print_t)(rad_listen_t *, char *, size_t);
+typedef int (*rad_listen_print_t)(const rad_listen_t *, char *, size_t);
 typedef int (*rad_listen_encode_t)(rad_listen_t *, REQUEST *);
 typedef int (*rad_listen_decode_t)(rad_listen_t *, REQUEST *);
 
@@ -365,6 +371,8 @@ typedef struct main_config_t {
        radlog_dest_t   radlog_dest;
        CONF_SECTION    *config;
        const char      *name;
+       const char      *auth_badpass_msg;
+       const char      *auth_goodpass_msg;
 } MAIN_CONFIG_T;
 
 #define DEBUG  if(debug_flag)log_debug
@@ -588,7 +596,7 @@ void                xlat_unregister(const char *module, RAD_XLAT_FUNC func);
 void           xlat_free(void);
 
 /* threads.c */
-extern         int thread_pool_init(CONF_SECTION *cs, int spawn_flag);
+extern         int thread_pool_init(CONF_SECTION *cs, int *spawn_flag);
 extern         int thread_pool_addrequest(REQUEST *, RAD_REQUEST_FUNP);
 extern         pid_t rad_fork(void);
 extern         pid_t rad_waitpid(pid_t pid, int *status);
@@ -608,6 +616,7 @@ extern struct main_config_t mainconfig;
 
 int read_mainconfig(int reload);
 int free_mainconfig(void);
+void hup_mainconfig(void);
 void fr_suid_down(void);
 void fr_suid_up(void);
 void fr_suid_down_permanent(void);
@@ -615,7 +624,7 @@ void fr_suid_down_permanent(void);
 /* listen.c */
 void listen_free(rad_listen_t **head);
 int listen_init(CONF_SECTION *cs, rad_listen_t **head);
-rad_listen_t *proxy_new_listener(void);
+rad_listen_t *proxy_new_listener(fr_ipaddr_t *ipaddr, int exists);
 RADCLIENT *client_listener_find(const rad_listen_t *listener,
                                const fr_ipaddr_t *ipaddr, int src_port);
 #ifdef WITH_STATS