Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
526a516981 | ||
|
35972c6a3d | ||
|
e07a0a005d | ||
|
b8460a20ff | ||
|
c7be349744 | ||
|
1efbbd1297 | ||
|
f579574b86 | ||
|
079b9e17c5 | ||
|
306f5d0c8f | ||
|
80cfde7c7f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -58,6 +58,7 @@ doc/texinfo.tex
|
|||||||
doc/version.texi
|
doc/version.texi
|
||||||
examples/affinity
|
examples/affinity
|
||||||
examples/df
|
examples/df
|
||||||
|
examples/disk
|
||||||
examples/diskio
|
examples/diskio
|
||||||
examples/first
|
examples/first
|
||||||
examples/free
|
examples/free
|
||||||
|
@@ -7,6 +7,7 @@ variables:
|
|||||||
gettext-devel
|
gettext-devel
|
||||||
gobject-introspection-devel
|
gobject-introspection-devel
|
||||||
gtk-doc
|
gtk-doc
|
||||||
|
util-linux
|
||||||
texinfo-tex
|
texinfo-tex
|
||||||
FEDORA_DEPENDENCIES_ABI_CHECK:
|
FEDORA_DEPENDENCIES_ABI_CHECK:
|
||||||
libabigail
|
libabigail
|
||||||
|
34
NEWS
34
NEWS
@@ -1,3 +1,37 @@
|
|||||||
|
16 February 2024: Overview of changes in 2.41.3
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Fixed daemon buffer overflow #72
|
||||||
|
* Updated translations
|
||||||
|
|
||||||
|
15 October 2023: Overview of changes in 2.41.2
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* Solaris
|
||||||
|
- Fix build #47
|
||||||
|
* Linux
|
||||||
|
- Change disk example read/write unit to bytes
|
||||||
|
- Fixed potential Buffer overflow when reading disk stats
|
||||||
|
- Changed disk read/write unit to bytes in example
|
||||||
|
* CI
|
||||||
|
- Fixed CI by adding missing dependency
|
||||||
|
|
||||||
|
|
||||||
|
10 January 2023 : Overview of changes in 2.41.1
|
||||||
|
================================================
|
||||||
|
|
||||||
|
* FreeBSD
|
||||||
|
- Build fixes
|
||||||
|
- Support FreeBSD 13.0-CURRENT >= 1300062 vm_map_entry
|
||||||
|
* OpenBSD
|
||||||
|
- Build fixes
|
||||||
|
* Linux
|
||||||
|
- skip loop and rom devices
|
||||||
|
* Allow building with gettext >= 0.20
|
||||||
|
* Updated translations
|
||||||
|
* CI build setup
|
||||||
|
|
||||||
|
|
||||||
11 March 2019: Overview of changes in 2.40.0
|
11 March 2019: Overview of changes in 2.40.0
|
||||||
================================================
|
================================================
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@ dnl
|
|||||||
|
|
||||||
m4_define([libgtop_major_version], [2])
|
m4_define([libgtop_major_version], [2])
|
||||||
m4_define([libgtop_minor_version], [41])
|
m4_define([libgtop_minor_version], [41])
|
||||||
m4_define([libgtop_micro_version], [1])
|
m4_define([libgtop_micro_version], [3])
|
||||||
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
|
||||||
|
|
||||||
dnl increment if the interface has additions, changes, removals.
|
dnl increment if the interface has additions, changes, removals.
|
||||||
|
@@ -11,7 +11,7 @@ AM_LDFLAGS = $(LIBGTOP_EXTRA_LIBS)
|
|||||||
|
|
||||||
noinst_PROGRAMS = first second pprint procargs df netlist \
|
noinst_PROGRAMS = first second pprint procargs df netlist \
|
||||||
mountlist procmap netload sysdeps timings \
|
mountlist procmap netload sysdeps timings \
|
||||||
openfiles smp proclist free wd affinity diskio sysinfo
|
openfiles smp proclist free wd affinity disk diskio sysinfo
|
||||||
|
|
||||||
first_SOURCES = first.c
|
first_SOURCES = first.c
|
||||||
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
first_LDADD = $(top_builddir)/lib/libgtop-2.0.la
|
||||||
|
@@ -46,15 +46,15 @@ main (int argc, char *argv [])
|
|||||||
separator [92] = '\0';
|
separator [92] = '\0';
|
||||||
|
|
||||||
printf("\n\n");
|
printf("\n\n");
|
||||||
printf ("ELAPSE ");
|
printf ("ELAPSE ");
|
||||||
printf ("Read Time Read Write Time Write\n");
|
printf ("Read (b) Time Read (ms) Write (b) Time Write (ms)\n");
|
||||||
printf ("%s\n", separator);
|
printf ("%s\n", separator);
|
||||||
|
|
||||||
for (i = 0; i < ndisk; i++) {
|
for (i = 0; i < ndisk; i++) {
|
||||||
printf ("DISK %3d : %12lu %12lu %12lu %12lu\n", i,
|
printf ("DISK %3d : %15lu %15lu %15lu %15lu\n", i,
|
||||||
(unsigned long) disk.xdisk_sectors_read [i],
|
(unsigned long) disk.xdisk_sectors_read [i] * 512,
|
||||||
(unsigned long) disk.xdisk_time_read [i],
|
(unsigned long) disk.xdisk_time_read [i],
|
||||||
(unsigned long) disk.xdisk_sectors_write [i],
|
(unsigned long) disk.xdisk_sectors_write [i] * 512,
|
||||||
(unsigned long) disk.xdisk_time_write [i]);
|
(unsigned long) disk.xdisk_time_write [i]);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -40,7 +40,7 @@ main (int argc, char *argv [])
|
|||||||
model = g_hash_table_lookup (sysinfo->cpuinfo [1].values, "model name");
|
model = g_hash_table_lookup (sysinfo->cpuinfo [1].values, "model name");
|
||||||
|
|
||||||
printf ("\nProcessor Model: %s\n", g_strdup (model));
|
printf ("\nProcessor Model: %s\n", g_strdup (model));
|
||||||
printf ("Number of Cores: %d\n\n", sysinfo->ncpu);
|
printf ("Number of Cores: %lu\n\n", sysinfo->ncpu);
|
||||||
|
|
||||||
glibtop_close ();
|
glibtop_close ();
|
||||||
|
|
||||||
|
@@ -6,8 +6,9 @@
|
|||||||
|
|
||||||
<name xml:lang="en">libgtop</name>
|
<name xml:lang="en">libgtop</name>
|
||||||
<shortdesc xml:lang="en">LibGTop2</shortdesc>
|
<shortdesc xml:lang="en">LibGTop2</shortdesc>
|
||||||
|
<description xml:lang="en">A library for collecting system monitoring data</description>
|
||||||
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
|
<download-page rdf:resource="http://download.gnome.org/sources/libgtop/" />
|
||||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=libgtop" />
|
<bug-database rdf:resource="https://gitlab.gnome.org/GNOME/libgtop/issues/" />
|
||||||
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
|
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
|
||||||
<programming-language>C</programming-language>
|
<programming-language>C</programming-language>
|
||||||
|
|
||||||
|
26
po/tr.po
26
po/tr.po
@@ -1,27 +1,27 @@
|
|||||||
# translation of libgtop to Turkish
|
# translation of libgtop to Turkish
|
||||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||||
# Copyright (C) 2009-2022 libgtop's COPYRIGHT HOLDER
|
# Copyright (C) 2009-2023 libgtop's COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the libgtop package.
|
# This file is distributed under the same license as the libgtop package.
|
||||||
#
|
#
|
||||||
# Görkem Çetin <gorkem@gelecek.com.tr>, 2001.
|
# Görkem Çetin <gorkem@gelecek.com.tr>, 2001.
|
||||||
# Ömer Fadıl USTA <omer_fad@hotmail.com>,2002.
|
# Ömer Fadıl USTA <omer_fad@hotmail.com>,2002.
|
||||||
# Baris Cicek <baris@teamforce.name.tr>, 2004, 2008.
|
# Baris Çicek <baris@teamforce.name.tr>, 2004, 2008.
|
||||||
# Emin Tufan Çetin <etcetin@gmail.com>, 2017.
|
# Emin Tufan Çetin <etcetin@gmail.com>, 2017.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: libgtop\n"
|
"Project-Id-Version: libgtop\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/libgtop/issues\n"
|
||||||
"POT-Creation-Date: 2022-07-07 17:11+0000\n"
|
"POT-Creation-Date: 2023-08-08 10:47+0000\n"
|
||||||
"PO-Revision-Date: 2017-09-05 07:33+0300\n"
|
"PO-Revision-Date: 2023-10-24 02:11+0300\n"
|
||||||
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
|
"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
|
||||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
"Language-Team: Türkçe <takim@gnome.org.tr>\n"
|
||||||
"Language: tr\n"
|
"Language: tr\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: Gtranslator 2.91.7\n"
|
"X-Generator: Poedit 3.4\n"
|
||||||
|
|
||||||
#: lib/read.c:49
|
#: lib/read.c:49
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -45,23 +45,23 @@ msgid "wrote %d byte"
|
|||||||
msgid_plural "wrote %d bytes"
|
msgid_plural "wrote %d bytes"
|
||||||
msgstr[0] "%d bayt yazıldı"
|
msgstr[0] "%d bayt yazıldı"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:456
|
#: src/daemon/gnuserv.c:460
|
||||||
msgid "Enable debugging"
|
msgid "Enable debugging"
|
||||||
msgstr "Hata ayıklamayı etkinleştir"
|
msgstr "Hata ayıklamayı etkinleştir"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:458
|
#: src/daemon/gnuserv.c:462
|
||||||
msgid "Enable verbose output"
|
msgid "Enable verbose output"
|
||||||
msgstr "Detaylı çıktıyı etkinleştir"
|
msgstr "Detaylı çıktıyı etkinleştir"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:460
|
#: src/daemon/gnuserv.c:464
|
||||||
msgid "Don’t fork into background"
|
msgid "Don’t fork into background"
|
||||||
msgstr "Arka plana çatallama"
|
msgstr "Arka plana çatallama"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:462
|
#: src/daemon/gnuserv.c:466
|
||||||
msgid "Invoked from inetd"
|
msgid "Invoked from inetd"
|
||||||
msgstr "Inetd’den çalıştırıldı"
|
msgstr "Inetd’den çalıştırıldı"
|
||||||
|
|
||||||
#: src/daemon/gnuserv.c:498
|
#: src/daemon/gnuserv.c:502
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Run “%s --help” to see a full list of available command line options.\n"
|
msgid "Run “%s --help” to see a full list of available command line options.\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
@@ -106,7 +106,7 @@ msgstr "Öldür"
|
|||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36
|
||||||
msgid "Bus error"
|
msgid "Bus error"
|
||||||
msgstr "Veriyolu hatası"
|
msgstr "Veri yolu hatası"
|
||||||
|
|
||||||
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37
|
||||||
msgid "Segmentation violation"
|
msgid "Segmentation violation"
|
||||||
|
@@ -61,25 +61,31 @@ handle_parent_connection (int s)
|
|||||||
"Parent (%d) received command %lu from client.",
|
"Parent (%d) received command %lu from client.",
|
||||||
getpid (), cmnd->command);
|
getpid (), cmnd->command);
|
||||||
|
|
||||||
if (cmnd->data_size >= BUFSIZ) {
|
|
||||||
syslog_message (LOG_WARNING,
|
|
||||||
"Client sent %lu bytes, but buffer is %lu",
|
|
||||||
cmnd->data_size, (unsigned long)BUFSIZ);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
memset (resp, 0, sizeof (glibtop_response));
|
memset (resp, 0, sizeof (glibtop_response));
|
||||||
|
|
||||||
memset (parameter, 0, sizeof (parameter));
|
memset (parameter, 0, sizeof (parameter));
|
||||||
|
|
||||||
if (cmnd->data_size) {
|
if (cmnd->data_size) {
|
||||||
|
if (cmnd->data_size >= BUFSIZ) {
|
||||||
|
syslog_message (LOG_WARNING,
|
||||||
|
"Client sent %lu bytes, but buffer is %lu",
|
||||||
|
cmnd->data_size, (unsigned long)BUFSIZ);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (enable_debug)
|
if (enable_debug)
|
||||||
syslog_message (LOG_DEBUG, "Client has %lu bytes of data.",
|
syslog_message (LOG_DEBUG, "Client has %lu bytes of data.",
|
||||||
cmnd->data_size);
|
cmnd->data_size);
|
||||||
|
|
||||||
do_read (s, parameter, cmnd->data_size);
|
do_read (s, parameter, cmnd->data_size);
|
||||||
|
|
||||||
} else if (cmnd->size) {
|
} else if (cmnd->size) {
|
||||||
|
if (cmnd->size >= BUFSIZ) {
|
||||||
|
syslog_message (LOG_WARNING,
|
||||||
|
"Client sent %lu bytes, but buffer is %lu",
|
||||||
|
cmnd->size, (unsigned long)BUFSIZ);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
memcpy (parameter, cmnd->parameter, cmnd->size);
|
memcpy (parameter, cmnd->parameter, cmnd->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -44,22 +44,26 @@ handle_slave_connection (int input, int output)
|
|||||||
glibtop_debug ("Slave %d received command "
|
glibtop_debug ("Slave %d received command "
|
||||||
"%lu from client.", getpid (), cmnd->command);
|
"%lu from client.", getpid (), cmnd->command);
|
||||||
|
|
||||||
if (cmnd->data_size >= BUFSIZ)
|
|
||||||
glibtop_error ("Client sent %lu bytes, "
|
|
||||||
"but buffer is %lu",
|
|
||||||
cmnd->size, (unsigned long)BUFSIZ);
|
|
||||||
|
|
||||||
memset (resp, 0, sizeof (glibtop_response));
|
memset (resp, 0, sizeof (glibtop_response));
|
||||||
|
|
||||||
memset (parameter, 0, sizeof (parameter));
|
memset (parameter, 0, sizeof (parameter));
|
||||||
|
|
||||||
if (cmnd->data_size) {
|
if (cmnd->data_size) {
|
||||||
|
if (cmnd->data_size >= BUFSIZ)
|
||||||
|
glibtop_error ("Client sent %lu bytes, "
|
||||||
|
"but buffer is %lu",
|
||||||
|
cmnd->data_size, (unsigned long)BUFSIZ);
|
||||||
|
|
||||||
glibtop_debug ("Client has %lu bytes of data.",
|
glibtop_debug ("Client has %lu bytes of data.",
|
||||||
cmnd->data_size);
|
cmnd->data_size);
|
||||||
|
|
||||||
do_read (input, parameter, cmnd->data_size);
|
do_read (input, parameter, cmnd->data_size);
|
||||||
|
|
||||||
} else if (cmnd->size) {
|
} else if (cmnd->size) {
|
||||||
|
if (cmnd->size >= BUFSIZ)
|
||||||
|
glibtop_error ("Client sent %lu bytes, "
|
||||||
|
"but buffer is %lu",
|
||||||
|
cmnd->size, (unsigned long)BUFSIZ);
|
||||||
|
|
||||||
memcpy (parameter, cmnd->parameter, cmnd->size);
|
memcpy (parameter, cmnd->parameter, cmnd->size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -235,7 +235,7 @@ glibtop_get_disk_s (glibtop *server, glibtop_disk *buf)
|
|||||||
|
|
||||||
file_to_buffer (server, buffer, sizeof buffer, FILENAME);
|
file_to_buffer (server, buffer, sizeof buffer, FILENAME);
|
||||||
|
|
||||||
get_from_pipe (map_buffer, CMD_PIPE);
|
get_from_pipe (map_buffer, STAT_BUFSIZ, CMD_PIPE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GLOBAL
|
* GLOBAL
|
||||||
|
@@ -58,17 +58,15 @@ skip_token (const char *p)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
get_from_pipe (char *buffer, const char *cmd)
|
get_from_pipe (char *buffer, const size_t bufsiz, const char *cmd)
|
||||||
{
|
{
|
||||||
FILE* fp;
|
FILE* fp;
|
||||||
long psize;
|
|
||||||
|
|
||||||
fp = popen (cmd, "r");
|
fp = popen (cmd, "r");
|
||||||
|
|
||||||
fseek (fp, 0, SEEK_END);
|
size_t psize = fread(buffer,1,bufsiz,fp);
|
||||||
psize = ftell (fp);
|
if (psize == bufsiz)
|
||||||
fseek (fp, 0, SEEK_SET);
|
g_warning("Read bufsiz bytes, there may be more");
|
||||||
fread(buffer,1,psize,fp);
|
|
||||||
|
|
||||||
pclose (fp);
|
pclose (fp);
|
||||||
}
|
}
|
||||||
|
@@ -62,7 +62,7 @@ skip_line (const char *p)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
get_from_pipe (char *buffer, const char *cmd);
|
get_from_pipe (char *buffer, const size_t bufsiz, const char *cmd);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Smart strtoul which handles binary suffixes
|
* Smart strtoul which handles binary suffixes
|
||||||
|
@@ -16,7 +16,8 @@ libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
|||||||
libgtop_sysdeps_2_0_la_LIBADD = @DL_LIB@
|
libgtop_sysdeps_2_0_la_LIBADD = @DL_LIB@
|
||||||
|
|
||||||
libgtop_sysdeps_suid_2_0_la_SOURCES = open_suid.c close_suid.c \
|
libgtop_sysdeps_suid_2_0_la_SOURCES = open_suid.c close_suid.c \
|
||||||
shm_limits.c msg_limits.c sem_limits.c
|
shm_limits.c msg_limits.c sem_limits.c \
|
||||||
|
procio.c
|
||||||
|
|
||||||
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
|
||||||
|
|
||||||
|
@@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <glibtop.h>
|
#include <glibtop.h>
|
||||||
|
#include <glibtop/error.h>
|
||||||
#include <glibtop/procio.h>
|
#include <glibtop/procio.h>
|
||||||
|
|
||||||
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
static const unsigned long _glibtop_sysdeps_proc_io = 0;
|
||||||
@@ -40,4 +41,5 @@ glibtop_get_proc_io_s (glibtop *server, glibtop_proc_io *buf,
|
|||||||
pid_t pid)
|
pid_t pid)
|
||||||
{
|
{
|
||||||
memset (buf, 0, sizeof (glibtop_proc_io));
|
memset (buf, 0, sizeof (glibtop_proc_io));
|
||||||
|
buf->flags = _glibtop_sysdeps_proc_io;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user