diff options
author | Simon Quigley <tsimonq2@ubuntu.com> | 2017-08-16 04:32:39 -0500 |
---|---|---|
committer | Simon Quigley <tsimonq2@ubuntu.com> | 2017-08-16 04:32:39 -0500 |
commit | 82306ca849c0710209e5a39754f446d0335a276d (patch) | |
tree | 8d297400e5c36357b9147401631e653e035283d3 /modules/network.c | |
parent | 21a53faf18b01a65a341115000e97d70b37c750c (diff) | |
parent | 9a9db98089717990cd5e0eef529f6bb0819ebe46 (diff) |
Updated version 0.5.1+git20170815 from 'upstream/0.5.1+git20170815'
with Debian dir 36bf8e7e43d9f6621a63c79a597af2f4f76271b7
Diffstat (limited to 'modules/network.c')
-rw-r--r-- | modules/network.c | 189 |
1 files changed, 96 insertions, 93 deletions
diff --git a/modules/network.c b/modules/network.c index 18f8ba65..f27a159a 100644 --- a/modules/network.c +++ b/modules/network.c @@ -80,51 +80,46 @@ void scan_statistics(gboolean reload) FILE *netstat; gchar buffer[256]; gchar *netstat_path; - + int line = 0; + SCAN_START(); - + g_free(__statistics); __statistics = g_strdup(""); - + if ((netstat_path = find_program("netstat"))) { gchar *command_line = g_strdup_printf("%s -s", netstat_path); - + if ((netstat = popen(command_line, "r"))) { while (fgets(buffer, 256, netstat)) { if (!isspace(buffer[0]) && strchr(buffer, ':')) { gchar *tmp; - + tmp = g_ascii_strup(strend(buffer, ':'), -1); - + __statistics = h_strdup_cprintf("[%s]\n", __statistics, tmp); - g_free(tmp); - } else if (isdigit(buffer[4])) { - gchar *tmp1 = buffer + 4, - *tmp2 = tmp1; - - while (*tmp2 && !isspace(*tmp2)) tmp2++; - *tmp2 = 0; - tmp2++; - - *tmp2 = toupper(*tmp2); - - __statistics = h_strdup_cprintf("%s=%s\n", + + } else { + gchar *tmp = buffer; + + while (*tmp && isspace(*tmp)) tmp++; + + __statistics = h_strdup_cprintf("<b> </b>#%d=%s\n", __statistics, - g_strstrip(tmp1), - g_strstrip(tmp2)); + line++, tmp); } } pclose(netstat); } - + g_free(command_line); g_free(netstat_path); } - + SCAN_END(); } @@ -133,24 +128,24 @@ void scan_dns(gboolean reload) { FILE *resolv; gchar buffer[256]; - + SCAN_START(); - + g_free(__nameservers); __nameservers = g_strdup(""); - + if ((resolv = fopen("/etc/resolv.conf", "r"))) { while (fgets(buffer, 256, resolv)) { if (g_str_has_prefix(buffer, "nameserver")) { gchar *ip; struct sockaddr_in sa; char hbuf[NI_MAXHOST]; - + ip = g_strstrip(buffer + sizeof("nameserver")); - + sa.sin_family = AF_INET; sa.sin_addr.s_addr = inet_addr(ip); - + if (getnameinfo((struct sockaddr *)&sa, sizeof(sa), hbuf, sizeof(hbuf), NULL, 0, NI_NAMEREQD)) { __nameservers = h_strdup_cprintf("%s=\n", __nameservers, @@ -159,15 +154,15 @@ void scan_dns(gboolean reload) __nameservers = h_strdup_cprintf("%s=%s\n", __nameservers, ip, hbuf); - - } - + + } + shell_status_pulse(); - } + } } fclose(resolv); } - + SCAN_END(); } @@ -184,15 +179,15 @@ void scan_route(gboolean reload) FILE *route; gchar buffer[256]; gchar *route_path; - + SCAN_START(); g_free(__routing_table); __routing_table = g_strdup(""); - + if ((route_path = find_program("route"))) { gchar *command_line = g_strdup_printf("%s -n", route_path); - + if ((route = popen(command_line, "r"))) { /* eat first two lines */ (void)fgets(buffer, 256, route); @@ -203,7 +198,7 @@ void scan_route(gboolean reload) buffer[31] = '\0'; buffer[47] = '\0'; buffer[53] = '\0'; - + __routing_table = h_strdup_cprintf("%s / %s=%s|%s|%s\n", __routing_table, g_strstrip(buffer), g_strstrip(buffer + 16), @@ -211,14 +206,14 @@ void scan_route(gboolean reload) g_strstrip(buffer + 48), g_strstrip(buffer + 32)); } - + pclose(route); } - + g_free(command_line); g_free(route_path); } - + SCAN_END(); } @@ -227,12 +222,12 @@ void scan_arp(gboolean reload) { FILE *arp; gchar buffer[256]; - + SCAN_START(); g_free(__arp_table); __arp_table = g_strdup(""); - + if ((arp = fopen("/proc/net/arp", "r"))) { /* eat first line */ (void)fgets(buffer, 256, arp); @@ -240,17 +235,17 @@ void scan_arp(gboolean reload) while (fgets(buffer, 256, arp)) { buffer[15] = '\0'; buffer[58] = '\0'; - + __arp_table = h_strdup_cprintf("%s=%s|%s\n", __arp_table, g_strstrip(buffer), g_strstrip(buffer + 72), g_strstrip(buffer + 41)); } - + fclose(arp); } - + SCAN_END(); } @@ -260,15 +255,15 @@ void scan_connections(gboolean reload) FILE *netstat; gchar buffer[256]; gchar *netstat_path; - + SCAN_START(); g_free(__connections); __connections = g_strdup(""); - + if ((netstat_path = find_program("netstat"))) { gchar *command_line = g_strdup_printf("%s -an", netstat_path); - + if ((netstat = popen("netstat -an", "r"))) { while (fgets(buffer, 256, netstat)) { buffer[6] = '\0'; @@ -284,91 +279,99 @@ void scan_connections(gboolean reload) g_strstrip(buffer + 68)); /* state */ } } - + pclose(netstat); } - + g_free(command_line); g_free(netstat_path); } - + SCAN_END(); } gchar *callback_arp() { - return g_strdup_printf(_("[ARP Table]\n" + return g_strdup_printf("[%s]\n" "%s\n" "[$ShellParam$]\n" "ReloadInterval=3000\n" - "ColumnTitle$TextValue=IP Address\n" - "ColumnTitle$Value=Interface\n" - "ColumnTitle$Extra1=MAC Address\n" - "ShowColumnHeaders=true\n"), - __arp_table); + "ColumnTitle$TextValue=%s\n" /* IP Address */ + "ColumnTitle$Value=%s\n" /* Interface */ + "ColumnTitle$Extra1=%s\n" /* MAC Address */ + "ShowColumnHeaders=true\n", + _("ARP Table"), __arp_table, + _("IP Address"), _("Interface"), _("MAC Address") ); } gchar *callback_shares() { - return g_strdup_printf("[SAMBA]\n" - "%s\n" - "[NFS]\n" - "%s", smb_shares_list, nfs_shares_list); + return g_strdup_printf("[%s]\n" + "%s\n" + "[%s]\n" + "%s", + _("SAMBA"), smb_shares_list, + _("NFS"), nfs_shares_list); } gchar *callback_dns() { - return g_strdup_printf(_("[Name servers]\n" + return g_strdup_printf("[%s]\n" "%s\n" "[$ShellParam$]\n" - "ColumnTitle$TextValue=IP Address\n" - "ColumnTitle$Value=Name\n" - "ShowColumnHeaders=true\n"), __nameservers); + "ColumnTitle$TextValue=%s\n" /* IP Address */ + "ColumnTitle$Value=%s\n" /* Name */ + "ShowColumnHeaders=true\n", + _("Name Servers"), __nameservers, + _("IP Address"), _("Name") ); } gchar *callback_connections() { - return g_strdup_printf(_("[Connections]\n" + return g_strdup_printf("[%s]\n" "%s\n" "[$ShellParam$]\n" "ReloadInterval=3000\n" - "ColumnTitle$TextValue=Local Address\n" - "ColumnTitle$Value=Protocol\n" - "ColumnTitle$Extra1=Foreign Address\n" - "ColumnTitle$Extra2=State\n" - "ShowColumnHeaders=true\n"), - __connections); + "ColumnTitle$TextValue=%s\n" /* Local Address */ + "ColumnTitle$Value=%s\n" /* Protocol */ + "ColumnTitle$Extra1=%s\n" /* Foreign Address */ + "ColumnTitle$Extra2=%s\n" /* State */ + "ShowColumnHeaders=true\n", + _("Connections"), __connections, + _("Local Address"), _("Protocol"), _("Foreign Address"), _("State") ); } gchar *callback_network() { - return g_strdup_printf(_("%s\n" - "[$ShellParam$]\n" - "ReloadInterval=3000\n" - "ViewType=1\n" - "ColumnTitle$TextValue=Interface\n" - "ColumnTitle$Value=IP Address\n" - "ColumnTitle$Extra1=Sent\n" - "ColumnTitle$Extra2=Received\n" - "ShowColumnHeaders=true\n" - "%s"), - network_interfaces, - network_icons); + return g_strdup_printf("%s\n" + "[$ShellParam$]\n" + "ReloadInterval=3000\n" + "ViewType=1\n" + "ColumnTitle$TextValue=%s\n" /* Interface */ + "ColumnTitle$Value=%s\n" /* IP Address */ + "ColumnTitle$Extra1=%s\n" /* Sent */ + "ColumnTitle$Extra2=%s\n" /* Received */ + "ShowColumnHeaders=true\n" + "%s", + network_interfaces, + _("Interface"), _("IP Address"), _("Sent"), _("Received"), + network_icons); } gchar *callback_route() { - return g_strdup_printf(_("[IP routing table]\n" + return g_strdup_printf("[%s]\n" "%s\n" "[$ShellParam$]\n" "ViewType=0\n" "ReloadInterval=3000\n" - "ColumnTitle$TextValue=Destination / Gateway\n" - "ColumnTitle$Value=Interface\n" - "ColumnTitle$Extra1=Flags\n" - "ColumnTitle$Extra2=Mask\n" - "ShowColumnHeaders=true\n"), - __routing_table); + "ColumnTitle$TextValue=%s\n" /* Destination / Gateway */ + "ColumnTitle$Value=%s\n" /* Interface */ + "ColumnTitle$Extra1=%s\n" /* Flags */ + "ColumnTitle$Extra2=%s\n" /* Mask */ + "ShowColumnHeaders=true\n", + _("IP routing table"), __routing_table, + _("Destination/Gateway"), _("Interface"), _("Flags"), _("Mask") ); } gchar *callback_statistics() @@ -411,12 +414,12 @@ void hi_module_init(void) void hi_module_deinit(void) { moreinfo_del_with_prefix("NET"); - + g_free(smb_shares_list); g_free(nfs_shares_list); g_free(network_interfaces); g_free(network_icons); - + g_free(__statistics); g_free(__nameservers); g_free(__arp_table); |