diff options
Diffstat (limited to 'modules/computer')
| -rw-r--r-- | modules/computer/os.c | 24 | 
1 files changed, 24 insertions, 0 deletions
| diff --git a/modules/computer/os.c b/modules/computer/os.c index 7a8348f2..49210307 100644 --- a/modules/computer/os.c +++ b/modules/computer/os.c @@ -263,6 +263,29 @@ detect_desktop_environment(void)  }  gchar * +computer_get_dmesg_status(void) +{ +    gchar *out = NULL, *err = NULL; +    int ex = 1, result = 0; +    g_spawn_command_line_sync("dmesg", &out, &err, &ex, NULL); +    g_free(out); +    g_free(err); +    result += (getuid() == 0) ? 2 : 0; +    result += ex ? 1 : 0; +    switch(result) { +        case 0: /* readable, user */ +            return g_strdup(_("User access allowed")); +        case 1: /* unreadable, user */ +            return g_strdup(_("User access forbidden")); +        case 2: /* readable, root */ +            return g_strdup(_("Access allowed (running as superuser)")); +        case 3: /* unreadable, root */ +            return g_strdup(_("Access forbidden? (running as superuser)")); +    } +    return g_strdup(_("(Unknown)")); +} + +gchar *  computer_get_aslr(void)  {      switch (h_sysfs_read_int("/proc/sys/kernel", "randomize_va_space")) { @@ -276,6 +299,7 @@ computer_get_aslr(void)          return g_strdup(_("Unknown"));      }  } +  gchar *  computer_get_entropy_avail(void)  { | 
