]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
add commands to show / set debug level
authorAlan T. DeKok <aland@freeradius.org>
Fri, 6 Jul 2018 17:27:59 +0000 (13:27 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 6 Jul 2018 17:27:59 +0000 (13:27 -0400)
src/main/radmin.c

index a3eabbbcc5e7968f47c3fb7c79cf01462c668f3d..1700dd629304bc2bb765c333baed0f6f59df661b 100644 (file)
@@ -378,6 +378,25 @@ static int cmd_stats_memory(FILE *fp, FILE *fp_err, UNUSED void *ctx, fr_cmd_inf
        return -1;
 }
 
+static int cmd_set_debug_level(FILE *fp, FILE *fp_err, UNUSED void *ctx, fr_cmd_info_t const *info)
+{
+       int level = atoi(info->argv[0]);
+
+       if ((level < 0) || level > 5) {
+               fprintf(fp_err, "Invalid debug level '%s'", info->argv[0]);
+               return -1;
+       }
+
+       rad_debug_lvl = fr_debug_lvl = level;
+       return 0;
+}
+
+static int cmd_show_debug_level(FILE *fp, FILE *fp_err, UNUSED void *ctx, UNUSED fr_cmd_info_t const *info)
+{
+       fprintf(fp, "%d\n", rad_debug_lvl);
+       return 0;
+}
+
 #ifdef CMD_TEST
 static int cmd_test(FILE *fp, UNUSED FILE *fp_err, UNUSED void *ctx, fr_cmd_info_t const *info)
 {
@@ -403,6 +422,16 @@ static char const *stats_parents[] = {
        NULL
 };
 
+static char const *set_debug_parents[] = {
+       "set", "debug",
+       NULL
+};
+
+static char const *show_debug_parents[] = {
+       "show", "debug",
+       NULL
+};
+
 static fr_cmd_table_t cmd_table[] = {
        {
                .syntax = "exit",
@@ -444,6 +473,22 @@ static fr_cmd_table_t cmd_table[] = {
                .parents = stats_parents,
        },
 
+       {
+               .syntax = "level INTEGER",
+               .func = cmd_set_debug_level,
+               .help = "set debug level INTEGER",
+               .read_only = true,
+               .parents = set_debug_parents,
+       },
+
+       {
+               .syntax = "level",
+               .func = cmd_show_debug_level,
+               .help = "show debug level",
+               .read_only = false,
+               .parents = show_debug_parents,
+       },
+
        CMD_TABLE_END
 };