]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Mark up virtual_server API as nonnull
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 11 Jun 2021 15:12:10 +0000 (10:12 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Fri, 11 Jun 2021 15:12:10 +0000 (10:12 -0500)
src/lib/server/virtual_servers.c
src/lib/server/virtual_servers.h

index ee378b7999610203db913bae85050f798bf1310f..e0ad5508633ef39512894190d064aab28ce9d813 100644 (file)
@@ -530,7 +530,7 @@ static int server_parse(UNUSED TALLOC_CTX *ctx, void *out, UNUSED void *parent,
  *
  *     Short-term hack
  */
-int virtual_server_push(request_t *request, CONF_SECTION *server_cs, bool top_frame)
+unlang_action_t virtual_server_push(request_t *request, CONF_SECTION *server_cs, bool top_frame)
 {
        fr_virtual_server_t *server;
        fr_process_module_t const *process;
@@ -540,7 +540,7 @@ int virtual_server_push(request_t *request, CONF_SECTION *server_cs, bool top_fr
        server = cf_data_value(cf_data_find(server_cs, fr_virtual_server_t, "vs"));
        if (!server) {
                REDEBUG("server_cs does not contain virtual server data");
-               return -1;
+               return UNLANG_ACTION_FAIL;
        }
 
        mi->name = server->process_module->name;
@@ -567,9 +567,9 @@ int virtual_server_push(request_t *request, CONF_SECTION *server_cs, bool top_fr
         *      src/lib/server/module.c, that reserves 0 for "nothing
         *      is initialized".
         */
-       if (unlang_module_push(&request->rcode, request, mi, process->process, top_frame) < 0) return -1;
+       if (unlang_module_push(&request->rcode, request, mi, process->process, top_frame) < 0) return UNLANG_ACTION_FAIL;
 
-       return 0;
+       return UNLANG_ACTION_PUSHED_CHILD;
 }
 
 /** Allow dynamic clients in this virtual server.
index dc27c2033031f4cf9b588da017a71e7bffa15455..606c350bbb5bdc9eded2f11e37c9b3e16dfdb4a4 100644 (file)
@@ -40,16 +40,16 @@ extern const CONF_PARSER virtual_servers_on_read_config[];
  *
  * @{
  */
-void           virtual_server_dict_set(CONF_SECTION *server_cs, fr_dict_t const *dict, bool do_free);
+void           virtual_server_dict_set(CONF_SECTION *server_cs, fr_dict_t const *dict, bool do_free) CC_HINT(nonnull);
 
-fr_dict_t const *virtual_server_dict(CONF_SECTION *server_cs);
+fr_dict_t const *virtual_server_dict(CONF_SECTION *server_cs) CC_HINT(nonnull);
 
 int            virtual_server_section_attribute_define(CONF_SECTION *server_cs, char const *subcs_name,
-                                                       fr_dict_attr_t const *da);
+                                                       fr_dict_attr_t const *da) CC_HINT(nonnull);
 
 int            virtual_servers_instantiate(void);
 
-int            virtual_servers_bootstrap(CONF_SECTION *config);
+int            virtual_servers_bootstrap(CONF_SECTION *config) CC_HINT(nonnull);
 
 int            virtual_servers_init(CONF_SECTION *config) CC_HINT(nonnull);
 
@@ -70,31 +70,31 @@ int         virtual_servers_open(fr_schedule_t *sc);
  */
 typedef int (*fr_virtual_server_compile_t)(CONF_SECTION *server);
 
-CONF_SECTION   *virtual_server_find(char const *name);
+CONF_SECTION   *virtual_server_find(char const *name) CC_HINT(nonnull);
 
-CONF_SECTION   *virtual_server_by_child(CONF_SECTION *section);
+CONF_SECTION   *virtual_server_by_child(CONF_SECTION *section) CC_HINT(nonnull);
 
-int            virtual_server_cf_parse(UNUSED TALLOC_CTX *ctx, void *out, UNUSED void *parent,
-                                       CONF_ITEM *ci, UNUSED CONF_PARSER const *rule);
+int            virtual_server_cf_parse(TALLOC_CTX *ctx, void *out, void *parent,
+                                       CONF_ITEM *ci, CONF_PARSER const *rule) CC_HINT(nonnull(2,4));
 
 int            virtual_namespace_register(char const *namespace, fr_dict_t const *dict,
-                                          fr_virtual_server_compile_t func);
+                                          fr_virtual_server_compile_t func) CC_HINT(nonnull);
 
-fr_dict_t const        *virtual_server_namespace(char const *virtual_server);
+fr_dict_t const        *virtual_server_namespace(char const *virtual_server) CC_HINT(nonnull);
 
-fr_dict_t const *virtual_server_namespace_by_ci(CONF_ITEM *ci);
+fr_dict_t const *virtual_server_namespace_by_ci(CONF_ITEM *ci) CC_HINT(nonnull);
 
 int            virtual_server_has_namespace(CONF_SECTION **out,
                                             char const *virtual_server, fr_dict_t const *namespace,
-                                            CONF_ITEM *ci);
+                                            CONF_ITEM *ci) CC_HINT(nonnull);
 /** @} */
-
-unlang_action_t process_authenticate(rlm_rcode_t *p_result, int auth_type, request_t *request, CONF_SECTION *server_cs);
+unlang_action_t process_authenticate(rlm_rcode_t *p_result, int auth_type,
+                                    request_t *request, CONF_SECTION *server_cs) CC_HINT(nonnull);
 
 rlm_rcode_t    virtual_server_process_auth(request_t *request, CONF_SECTION *virtual_server,
                                            rlm_rcode_t default_rcode,
                                            unlang_module_resume_t resume,
-                                           unlang_module_signal_t signal, void *rctx);
+                                           unlang_module_signal_t signal, void *rctx) CC_HINT(nonnull);
 
 fr_listen_t *          listen_find_any(fr_listen_t *li) CC_HINT(nonnull);
 bool           listen_record(fr_listen_t *li) CC_HINT(nonnull);
@@ -122,14 +122,16 @@ typedef struct {
 
 #define COMPILE_TERMINATOR { .name = NULL, .name2 = NULL }
 
-int            virtual_server_section_register(virtual_server_compile_t const *entry);
-int            virtual_server_compile_sections(CONF_SECTION *server, virtual_server_compile_t const *list, tmpl_rules_t const *rules, void *uctx) CC_HINT(nonnull(1,2,3));
+int            virtual_server_section_register(virtual_server_compile_t const *entry) CC_HINT(nonnull);
+
+int            virtual_server_compile_sections(CONF_SECTION *server, virtual_server_compile_t const *list,
+                                               tmpl_rules_t const *rules, void *uctx) CC_HINT(nonnull(1,2,3));
 
 virtual_server_method_t const *virtual_server_section_methods(char const *name1, char const *name2) CC_HINT(nonnull(1));
 
-int            virtual_server_push(request_t *request, CONF_SECTION *server_cs, bool top_frame);
+unlang_action_t        virtual_server_push(request_t *request, CONF_SECTION *server_cs, bool top_frame) CC_HINT(nonnull);
 
-int            virtual_server_dynamic_clients_allow(CONF_SECTION *server_cs);
+int            virtual_server_dynamic_clients_allow(CONF_SECTION *server_cs) CC_HINT(nonnull);
 
 #ifdef __cplusplus
 }