2001-11-25 Kevin Vandersloot <kfv101@psu.edu>
* port stable libgtop to GNOME 2.0. Too much to detail.
pkgconfig is now used. Libs are named libgtop-2.0 etc for
parallel install.
1999-02-22 Martin Baulig <martin@home-of-linux.org>
Set the copyright of LibGTop to the GNU General Public License.
* copyright.txt: Set the year to 1998-99 and pretty-format it a
little bit. Same in all C source and header files.
1999-02-22 Martin Baulig <martin@home-of-linux.org>
* COPYING.LIB: Include a copy of the GNU Library General
Public License here.
* copyright.txt: Set the year to 1998-99 and pretty-format it a
little bit. Same in all C source and header files.
Logical error:
we need to check whether the server runs on the system it was
compiled on and not whether the client uses a server that was
compiled on the clients system.
1999-02-19 Martin Baulig <martin@home-of-linux.org>
* lib/open.c, src/daemon/version.c: For suid/sgid servers the
operating system version must match the one the server was
compiled on.
1999-02-18 Martin Baulig <martin@home-of-linux.org>
* */*.awk: Replaced all awk scripts with perl scripts since it is
more likely that people have a working perl interpreter than GNU
awk on their system.
1999-02-16 Martin Baulig <martin@home-of-linux.org>
* examples/Makefile.am, lib/Makefile.am, src/daemon/Makefile.am,
sysdeps/common/Makefile.am, sysdeps/guile/Makefile.am,
sysdeps/guile/names/Makefile.am, sysdeps/kernel/Makefile.am,
sysdeps/linux/Makefile.am, sysdeps/names/Makefile.am,
sysdeps/osf1/Makefile.am, sysdeps/stub/Makefile.am,
sysdeps/stub_suid/Makefile.am, sysdeps/sun4/Makefile.am:
Initialize INCLUDES to `@INCLUDES@' to make it clear that it is
set in configure.in. It is ok to add things there, but you must
not remove the `@INCLUDES@'.
installs any necessary files that are required in a GNU-standard
install, such as COPYING, INSTALL, mkinstalldirs, etc.
So begone, automake-installed files.
1998-11-18 Martin Baulig <martin@home-of-linux.org>
* lib/open.c (glibtop_open_l): We need to set argv[0] in call
to execl () to avoid a core dump in _init () on FreeBSD 3.0.
1998-11-02 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/parameter.h: Added `GLIBTOP_PARAM_REQUIRED'.
* lib/parameter.c (glibtop_set_parameter_l): It's no longer
allowed to set GLIBTOP_PARAM_FEATURES.
(glibtop_get_parameter_l): You can use `GLIBTOP_PARAM_REQUIRED'
to read server->required and ...
(glibtop_set_parameter_l): ... set it here.
typedef struct _glibtop_proc_args glibtop_proc_args;
struct _glibtop_proc_args
{
u_int64_t flags,
size; /* GLIBTOP_PROC_ARGS_SIZE */
};
Returns a string containing all command line arguments of the process,
the `unsigned' parameter is the maximum length of this string; if it
is zero then no limit will be set.
extern const char *glibtop_get_proc_args_l __P((glibtop *, glibtop_proc_args *, pid_t, unsigned));
enum {
GLIBTOP_PPP_STATE_UNKNOWN = 0,
GLIBTOP_PPP_STATE_HANGUP,
GLIBTOP_PPP_STATE_ONLINE
};
struct _glibtop_ppp
{
u_int64_t flags,
state, /* GLIBTOP_PPP_STATE */
bytes_in, /* GLIBTOP_PPP_BYTES_IN */
bytes_out; /* GLIBTOP_PPP_BYTES_OUT */
};
Currently only implemented in the FreeBSD port with ISDN via I4B. - Martin
1998-08-29 Martin Baulig <martin@home-of-linux.org>
* LIBGTOP-VERSION (LIBGTOP_INTERFACE_AGE, LIBGTOP_BINARY_AGE): Added.
* configure.in (LIBGTOP_INTERFACE_AGE, LIBGTOP_BINARY_AGE): AC_SUBST.
(LT_RELEASE, LT_CURRENT, LT_REVISION, LT_AGE): AC_SUBST.
(LT_VERSION_INFO): Sets `-version-info' for libtool.
* */Makefile.am: We now use the correct `-version-info' parameter
for libtool.
1998-08-25 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/command.h (glibtop_call): Third argument is
now `const void *'.
* include/glibtop/xmalloc.h (glibtop_free): Now taking a
`const void *'.
1998-08-17 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/procmap (glibtop_map_entry): Added `offset' and
`perm' fields.
* src/inodedb: New directory.
* src/inodedb/README: New file - read it to know what this is about.
* configure.in (--with-libgtop-inodedb): New `configure' parameter.
* include/glibtop/inodedb.h: New file.
* sysdeps/common/inodedb.c: New file.
1998-08-10 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/procmap.h (glibtop_proc_map): New file.
* features.def: Added definition of `proc_map'.
1998-08-09 Martin Baulig <martin@home-of-linux.org>
* features.def: Changed format of this file to support multiple
arguments to be passed to a function.
* include/glibtop/proclist.h: `glibtop_get_proclist' now takes two
more arguments `method' and `param'.
1998-08-07 Martin Baulig <martin@home-of-linux.org>
* src/server: Removed.
* src/daemon/{server, version}.c: New files.
* src/daemon/Makefile.am: Added `libgtop_server'; this has been
moved here from `src/server' since it shares some source code files
with the `libgtop_daemon'.
* LIBGTOP-VERSION: Added `LIBGTOP_SERVER_VERSION'.
* src/daemon/gnuserv.c, lib/open.c: Improved version check between
client and server.
* include/glibtop/output.h: Removed.
* sysdeps/stub_suid: New directory. This is mainly used as example
for people porting libgtop to other systems.
* sysdeps/common/sysdeps_suid.c: New file.
Defines `glibtop_init_hook_p'.
* sysdeps/osf1/*.c (glibtop_init_<no-suid-feature>_s): New functions.
(glibtop_init_<suid-feature>_p): New functions.
1998-08-07 Martin Baulig <martin@home-of-linux.org>
* glibtop.h (_glibtop): New fields `error_method', `sysdeps' and
`required'. I added an improved error handling: the client can tell
the libraries which fields are absolutely required for each features
and if it fails to set one of them, this will create an error which
is handled depending upon the `error_method'.
* include/glibtop/open.h: Define some constants for `error_method'.
* lib/sysdeps.c (glibtop_get_sysdeps_r): No longer actually call any
sysdeps function, it now simply copies `server->sysdeps'.
(_glibtop_init_hook_s): Added. List of functions to be called during
`glibtop_init_s' set to `glibtop_init_<no-suid-feature>_s'.
* include/glibtop/sysdeps.h (<glibtop/union.h>): Removed.
(glibtop_init_func_t): New typedef.
(_glibtop_init_hook_s): Added.
* sysdeps/linux/*.c (glibtop_init_<feature>_s): New functions.
(glibtop_get_proc_*): Zero is now a valid pid.
* sysdeps/kernel/*.c (glibtop_init_<feature>_s): New functions.
(glibtop_get_proc_*): Zero is now a valid pid.
1998-08-06 Martin Baulig <martin@home-of-linux.org>
1998-08-06 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/*.h: Using `GLIBTOP_GUILE' instead of `HAVE_GUILE'
so one should be able to use libgtop without guile in an application
even if guile is installed.
* sysdeps/common/mountlist.c: Fixed some `xstrdup' problems.
* lib/open.c: Now correctly reading server features for
`GLIBTOP_METHOD_PIPE'.
* sysdeps/freebsd: New directory.
1998-07-30 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/*.h: Using `u_int64_t' instead of `unsigned long'
and `long' to avoid problems when client is on a 32bit system and
the server on a 64bit system.
1998-07-29 Martin Baulig <martin@home-of-linux.org>
* guile/ChangeLog: New file.
* features.def: New format - now includes type of return value
and parameters.
* lib/lib.awk: Changed to use new `features.def'.
* sysdeps/guile/guile.awk: Dito;
* sysdeps/guile/names/guile-names.awk: Dito.
* libgtopConf.sh.in: Added
`LIBGTOP_NAMES_LIBS', `LIBGTOP_NAMES_INCS',
`LIBGTOP_GUILE_NAMES_LIBS', `LIBGTOP_GUILE_NAMES_INCS',
`LIBGTOP_MAJOR_VERSION', `LIBGTOP_MINOR_VERSION'
`LIBGTOP_VERSION', `libgtop_sysdeps_dir'.
* acinclude.m4 (AC_LC_SYSDEPS): Removed since this has been
replaced with `GNOME_LIBGTOP_SYSDEPS' long ago.
* LIBGTOP-VERSION: New file.
* */Makefile.am (INCLUDES): Removed; now defined in `configure.in'.
* sysdeps/names/mountlist.c: New file.
* lib/{init, open}.c (GTOP_SERVER): Renamed to `LIBGTOP_SERVER'.
* configure.in (INCLUDES): Added definition.
(libgtop_want_names): Always true; `libgtop_names.la' is now
always created since some other programs rely upon it - but
have to use `LIBGTOP_NAMES_LIBS' and `LIBGTOP_NAMES_INCS' to
use it in your application.
(libgtop_want_guile_names): Always true; but you have to use
`LIBGTOP_GUILE_NAMES_LIBS' and `LIBGTOP_GUILE_NAMES_INCS' to
use it in your application.
(LIBGTOP_LIBS): Removed `-lgtop_names' and `-lgtop_guile_names'.
(LIBGTOP_NAMES_LIBS): New variable. Use it to link your
application with the names interface.
(LIBGTOP_NAMES_INCS): New variable. Also #defines `GLIBTOP_NAMES'
which is now required if your application wants to use the names
interface.
(LIBGTOP_GUILE_NAMES_LIBS): New variable. Use it to link your
application with the guile names interface.
(LIBGTOP_GUILE_NAMES_INCS): New variable. Also #defines
`GLIBTOP_NAMES' and `GLIBTOP_GUILE_NAMES' which are now required
if your application wants to use the guile names interface.
1998-07-22 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/fsusage.h: New file.
* features.def: Added new feature `fsusage'.
* sysdeps/common/fsusage.c (glibtop_get_fsusage_s): New function.
(get_fs_usage): Declared as `static'.
* sysdeps/names/fsusage.c: New file.
1998-07-22 Martin Baulig <martin@home-of-linux.org>
* include/glibtop/mountlist.h: New file.
* features.def: Added new feature `mountlist'.
* sysdeps/common/mountlist.c (glibtop_get_mountlist_s): New function.
(read_filesystem_list): Declared as `static'.
* Splitted `libgtop_sysdeps.la' into `libgtop_sysdeps.la' and
`libgtop_sysdeps_suid.la'.
Everything that needs to be suid/sgid is in `libgtop_sysdeps_suid.la'
and the rest in `libgtop_sysdeps.la'.
The functions from `libgtop_sysdeps_suid.la' have the `_p' prefix and
the ones from `libgtop_sysdeps.la' the `_s' prefix.
The suid library uses `glibtop_open_p' and `glibtop_close_p', the
normal one `glibtop_init_s' (found in lib/init.c), `glibtop_open_s'
and `glibtop_close_s'.
* Added `libgtop_suid_common.la' containing stuff from sysdeps/common
that is required from the suid server (currently everything from
error.c and xmalloc.c).
This means, we can add some more stuff to `libgtop_common.la' without
the risk that it may be dangerous in the suid server.
* The ``library order'' is much clearer now:
-> `libgtop.la' (from lib/) contains user-level stuff;
all functions except `glibtop_init_r' have the `_l'
suffix.
-> `libgtop_common.la' (from sysdeps/common/) contains stuff
that is common among the sysdeps directories.
use anything from `libgtop_sysdeps.la' and
`libgtop_sysdeps_suid.la'.
-> `libgtop_sysdeps.la' (from sysdeps/<sysdeps_dir>/) contains
everything from the sysdeps directory that doesn't need to
be suid/sgid.
-> `libgtop_suid_common.la' (from sysdeps/common/) is used from
the suid server instead of `libgtop_common.la'.
-> `libgtop_sysdeps_suid.la' (from sysdeps/<sysdeps_dir>/) contains
everything from the sysdeps directory that needs to be in the
suid server.
* To summarize: the server is linked only with functions that need
to be suid and everything else is linked only with functions that
do not need to be suid.
Martin
1998-07-22 Martin Baulig <martin@home-of-linux.org>
* lib/init.c (glibtop_init_s): Added this init function of
the sysdeps directory `libgtop_sysdeps.la'.
* lib/open.c (glibtop_open_l): Unconditionally calling
`glibtop_init_s' after server initialization.
* lib/lib.awk: Removed references to functions from
`libgtop_sysdeps_suid.la' to avoid undefined symbols.
* sysdeps/stub/open.c (glibtop_open_s): Renamed this
function from `glibtop_open_r'.
* sysdeps/stub/close.c (glibtop_close_s): Renamed this
function from `glibtop_close_l'.
* sysdeps/kernel/open.c (glibtop_open_s): Renamed this
function from `glibtop_open_r'.
* sysdeps/kernel/close.c (glibtop_close_s): Renamed this
function from `glibtop_close_l'.
* sysdeps/linux/open.c (glibtop_open_s): Renamed this
function from `glibtop_open_r'.
* sysdeps/linux/close.c (glibtop_close_s): Renamed this
function from `glibtop_close_l'.
* sysdeps/osf1/Makefile.am (lib_LTLIBRARIES): Added
`libgtop_sysdeps_suid.la' for the suid server.
* sysdeps/osf1/open_suid.c (glibtop_open_p): New file.
Contains all stuff that was formerly in `open.c'.
* sysdeps/osf1/open.c: Moved everything from here into
the new file `open_suid.c'.
* sysdeps/osf1/open.c (glibtop_open_s): New function.
* sysdeps/osf1/close_suid.c (glibtop_close_p): New file.
* sysdeps/osf1/close.c (glibtop_close_s): New function.
* sysdeps/osf1/*.c: Using the new init, open and close
functions.
* sysdeps/sun4/Makefile.am (lib_LTLIBRARIES): Added
`libgtop_sysdeps_suid.la' for the suid server.
* sysdeps/sun4/nosuid.c (glibtop_open_s, glibtop_close_s): New file
* sysdeps/sun4/*.c: All functions now have the `_p' suffix.
* sysdeps/common/Makefile.am (lib_LTLIBRARIES): Added
`libgtop_suid_common.la' which only contains stuff that is
needed in the suid parts.
* sysdeps/common/xmalloc.c: Using `glibtop_error_io_r' instead
of `glibtop_error_r'.
* sysdeps/{kernel, linux, osf1, sun4, stub}/init.c: Removed.
`glibtop_init_s' has been moved into `lib/init.c' since it's the
same in all the sysdeps directories.
* src/server/main.c: It is now an error to request a feature that
does not need the suid server.
* src/proxy: Removed.
1998-07-17 Martin Baulig <baulig@Stud.Informatik.uni-trier.de>
* lib/lib.awk (glibtop_get_*): Now correctly using
`(1 << GLIBTOP_SYSDEPS_*)' instead of `GLIBTOP_SYSDEPS_*'.
1998-07-14 Martin Baulig <martin@home-of-linux.org>
* src/daemon/gnuserv.c: Doing correct server initialization
using `glibtop_set_parameter_l' and `glibtop_init_r'.
* src/daemon/main.c: Removed call to `glibtop_init_r'.
* lib/open.c (glibtop_open_l): We now call the open function
of the sysdeps directory (glibtop_open_r) for server method
`GLIBTOP_METHOD_DIRECT'.
* sysdeps/{linux, sun4, stub}/open.c: No longer `memset'
server to zero.
1998-07-14 Martin Baulig <martin@home-of-linux.org>
* src/daemon/slave.c: New file.
* src/daemon/*.c: Done some more work on the daemon.
* sysdeps/common/gnuslib.c: Removed IPC stuff.
* include/glibtop/gnuserv.h: Removed IPC stuff.
* include/glibtop/command.h (glibtop_response_unit): Added
typedef for `struct _glibtop_response_unit'.
* lib/Makefile.am: Using `$(top_srcdir)/features.def'
instead of `$(top_builddir)/features.def'.
* sysdeps/guile/Makefile.am: Using `$(top_srcdir)/features.def'
instead of `$(top_builddir)/features.def'.
* sysdeps/guile/names/Makefile.am: Dito.
* sysdeps/stub/*.c: changed suffix of all functions
from '_s' to '_r'; see also ChangeLog entry from Jun 6.