Commit Graph

77 Commits

Author SHA1 Message Date
Bill Wilson 4e6a811b44 Add option to ignore net interfaces that match a regex pattern. 2016-06-08 11:44:01 -05:00
Stefan Gehn b58ea9d699 Bump version in win32 specific files
Change all version in win32 resources to 2.3.7 as well.
2016-06-05 18:55:23 +02:00
Bill Wilson ff929058a5 Version 2.3.7 - replace deprecated gdk function / gkrellmd error flush
Use gdk_pixbuf_new_from_data() instead of deprecated
gdk_pixbuf_new_from_inline().  Inline alert_inline[] needed to be --raw.

When gkrellmd refused connections, the socket was not flushed and the error
message might not be sent back to the client.  Also, add a dialog to display
the error message.
2016-06-03 15:18:07 -05:00
Bill Wilson 5e76842961 Merge branch 'master' of ssh://srcbox.net/gkrellm 2016-02-02 17:37:50 -06:00
Bill Wilson 7f9617d817 fix handling of mmcblkN SD disk partition numbers
Partition numbers for mmcblkN disks have partition numbers with
a leading 'p' and a bug caused these partitions to be considered full disks.
2016-02-02 17:35:12 -06:00
Stefan Gehn 4f676e4cfb Always use getaddrinfo() on Linux
Expect the C runtime on Linux to always have getaddrinfo(), glibc 2.1
was released in 1999 so by now every Linux environment should have this
function. This enables use of getaddrinfo() on C libraries other than
glibc, i.e. on musl libc.

This is an alternative approach to the patch posted to the gkrellm
mailinglist by Felix Janda which unfortunately had some drawbacks on
other platforms that need additional includes or libs when using
getaddrinfo(), most notably Solaris and Windows.
2016-01-15 18:00:47 +01:00
Stefan Gehn c53159c3b8 Call pkg-config only once during build
Only evaluate these shell commands once at Makefile startup, otherwise
every single call to the compiler/linker will re-evaluate these lines
again and again. This speeds up the build quite a bit for me.
2016-01-01 13:58:06 +01:00
Bill Wilson eff1865a4b RC2 - fix gkrellmd server to use 64 bit ints for block sizes. 2015-12-23 11:06:10 -06:00
Stefan Gehn 2175249255 Bump Windows file version field to 2.3.6 as well
Overlook when changing version numbers from 2.3.5 to 2.3.6. The
FileVersion field happens to be comma-separated.
2014-11-24 21:16:42 +01:00
Bill Wilson 8b1833342e Update version and dates
Change version to 2.3.6-RC1 for a soon to be release candidate.

Update Copyright dates to 2014 (touches almost all files)
2014-10-14 20:16:43 -05:00
Bill Wilson 60df57eaa6 Cleanups and patches
mail.c: replace deprecated g_mutex_new() with g_mutex_init() and
fix const discarded warnings.

plugins.c: gkrellm_place_plugin() change code that inserts plugins into
monitor_list to avoid compiler warnings.

Patch from Ville Skytta: fix issues flagged by cppcheck:
 - netbsd.c: add some close(fd) calls before returns in gkrellm_sys_battery_init().
 - winops-win32.c: add a free() in gkrellm_winop_place_gkrellm().

Bugfixes:
 - chart.c: flag config modified when changing a chart's Resolution per Grid.
 - fix memory leaks in multiple files: add g_thread_unref() for all GThread
   pointers returned from g_thread_new() calls.
2014-10-11 19:37:47 -05:00
Stefan Gehn 4e31e22787 gkrellmd: Fix IPv6 prefix length error detection
Parsing an IPv6 prefix length has to reset errno prior to calling
strtoul() to reliably detect errors (the return value is not suitable
for detecting errors).

Patch taken straight from Debian BTS #764023. Thanks for Peter Denison
for spotting this and providing a patch.
2014-10-05 13:14:15 +02:00
Stefan Gehn 56bd6fac14 Enable ASLR and DEP on Windows builds
Always enable ASLR and DEP when building GKrellM on Windows. Since
GKrellM also does network communication bugs like buffer overflows and
the like may eventually allow remote code execution. By enabling these
build flags such attacks should be quite a bit more complicated
(although still not impossible).
2014-10-05 12:22:42 +02:00
Stefan Gehn c02a7d57e6 Unify logging and use of environment in configure scripts
- Make the server configure script log the environment just like the
  configure script used for the client.

- Honour the CFLAGS env var too since the other configure does the same
2014-10-05 12:22:42 +02:00
Stefan Gehn 5cd8fb8db0 Fix configure script in cross compile environments
Do not try to execute generated executables. Altough this is a nice
idea in theory it breaks on cross compile environments which usually
cannot execute binaries of the target platform.
2014-10-05 12:22:42 +02:00
Stefan Gehn 320055e6c1 Drop configure dependency on Gtk+2
Remove Gtk+2 compile and link flags from all configure tests because:
- no test code depends on Gtk+2
- gkrellmd does not need Gtk+2 at all
- the cflags variable in the src/configure was misspelled and thus did
  not have any effect
2014-10-05 12:22:42 +02:00
Stefan Gehn 534ab2dfa9 Remove unused OS_NAME makefile variable
Nothing reads or depends on the OS_NAME variable so just drop it
altogether.
2014-10-05 12:22:42 +02:00
Stefan Gehn b0b6b5d559 Share makefile rules and vars between client/server
Move all make variables and rules duplicated between gkrellm and
gkrellmd makefiles into a common file that can be included. This
avoids duplication and hopefully avoids the two makefiles getting out
of sync too much. This is also a preparation to ease overriding
toolchain binaries (compiler, linker, pkgconfig) as part of windows
cross compiling.

This change also puts the "ar" tool into a variable that can be
overridden if needed.

Please note that this change uses the GNU Make specific include
statement but AFAICS the makefiles already depend on GNU extensions in
other areas (":=" and "ifdef" are non-standard make syntax).
2014-10-05 12:18:35 +02:00
Ville Skyttä 41be05b97e Allow binding to a listen address that doesn't exist yet 2014-07-16 19:34:36 +02:00
Stefan Gehn eb0a44b64b Spelling fixes
Fix several spelling mistakes in code comments as well as the Changelog.

Thanks to Ville Skyttä for providing the patch.
2014-07-12 22:48:16 +02:00
Stefan Gehn 4ff218d726 Drop GLib 1.x compatibility for gkrellmd
GLib version 1 is very outdated by now and not available in any recent
Linux distribution. Keeping this code around without actually being
able to test it makes little sense so let's get rid of that.
2014-07-12 22:45:33 +02:00
Stefan Gehn 5c40eea518 Fix inconsistent path generation and checks on win32
- Always check the return value of
  g_win32_get_package_installation_directory_of_module, this call may
  fail and return NULL
- g_build_filename is documented as never returning NULL, no need to
  check for that
2014-07-12 22:45:14 +02:00
Stefan Gehn 33133c63ae Remove compatibility code for GLib < 2.32
Since the minimum GLib version is now 2.32 the code paths for older GLib
2 versions can be removed too.
2014-07-12 22:45:14 +02:00
Stefan Gehn 6e3ee7db10 Port to GLib >= 2.32 GThread API
- Use g_thread_new instead of g_thread create
- Drop explicit call of g_thread_init, it is done implicitely by GLib
  since 2.32
- Since this bumps the minimum required GLib version add and extend the
  pkg-config based version checks to error out on older GLib versions
2014-07-12 22:45:08 +02:00
Stefan Gehn d33190cc0b Remove unsupported linker flags for windows builds
Do not use the default LINK_FLAGS value for windows builds, the default
"-E" linker option only causes warnings for MinGW since it's essentially
ignored by the linker.

The flag is also unneeded since linking plugins against the gkrellm
binary is not done on win32 so none of the gkrellm/gkrellmd functions
need to be exported, the API is manually exposed via the win32-specific
libgkrellm/libgkrellmd static libs.
2014-07-09 22:04:42 +02:00
Stefan Gehn da95bca5c5 Simplify setting default installation prefix
Just setting a default value for PREFIX should have the same result as
an explicit check for an empty INSTALLROOT variable.
2014-04-18 09:29:57 +02:00
Stefan Gehn eb0ded8d55 Use binary extension during gkrellm build
Honor the BINEXT variable in the gkrellm and gkrellmd target to enforce
building with the correct extension. This is needed for recent mingw-w64
cross toolchains since those do not automatically append ".exe" when
linking.
2014-04-18 09:29:27 +02:00
Stefan Gehn 8abd662cd6 Add missing include and link args for gmodule
Explicitely add needed include arguments as well as linker arguments
for gmodule. Before this change we relied on gmodule being an implicit
dependency pulled in via the gtk+-2.0 module, this does not seem to be
the case anymore with >=gdk-pixbuf-2.24 and >=pango-1.30.

Thanks for Alexandre Rostovtsev for bringing this up on the mailinglist
and for providing a first patch.

See also https://bugs.gentoo.org/show_bug.cgi?id=428532
2013-07-20 14:08:38 +02:00
Stefan Gehn 956bd11b50 Treat cifs as remote filesystem
Mark mount points of type cifs as remote filesystems to make gkrellm use
nfs-timeout as polling interval instead of the standard fs-timeout which
should only be used to poll local filesystems.

Thanks to Gerard Neil for submitting this patch.
2013-07-20 14:02:15 +02:00
Stefan Gehn 1d11384131 Abort gkrellmd detaching if chdir fails
Handle the return value for chdir() and abort daemonizing of gkrellmd in
case chdir failed.
2012-02-22 19:58:39 +01:00
Stefan Gehn cdbeeb9b17 Fix syslog function call (missing format string)
Add proper format-string to call to syslog() function.

Fixes Debian Bug #646262
2012-02-22 19:41:29 +01:00
Bill Wilson 50b126e085 Patch from Neil Booth: Add multiple CPU capability to CPU monitor for
Dragonfly.  Acquired dragonfly.c from web so could apply patch.
I have no clue why I never had a dragonfly.c.
2011-08-08 16:06:26 -05:00
Stefan Gehn bf3d25c568 Merge with gkrellm-2.3.5-pre2.tar.bz2 2010-10-06 21:38:56 +00:00
Stefan Gehn 6bd26e8401 Allow disk paths of (almost) any length in both gkrellm and gkrellmd.
monitor.c: serve_disk_data() now uses a dynamic buffer for to-be-sent disk-lines instead of relying on a very short static array.
client.c: read_server_setup() now uses a static read buffer that is as big/small as the global server_buf. client_disk_line_from_server() now uses a dynamic string for disk names.
2010-10-06 20:50:45 +00:00
Stefan Gehn c67cf611a6 - gkrellm.h. Bump maximum line-/item-length for config to 512 (needed for long disk names on Darwin).
- src/disk.c, server/monitor.c: Add gkrellm_disk_add_by_name() that allows creating disks with a custom label from sysdep code.
- src/Makefile, server/Makefile: Cleanup of darwin/darwin9/macosx targets. All custom variables are now set in src/Makefile and server/Makefile to allow easy building inside these subdirs. Removed very old link-flags which were used before OS X 10.3.
- All Makefiles: Remove unused GTK_CONFIG definitions, they were neither passed as an argument nor executed anywhere.
- Makefile: Update comments documenting Darwin and OS X targets (darwin, darwin9 and macosx)
- src/sysdeps/darwin.c: Use utmpx instead of deprecated utmp.
- src/sysdeps/darwin.c: Fix possible leak in gkrellm_sys_cpu_init(), pinfo was never free'd.
- src/sysdeps/darwin.c: Rewrite disk device enumeration and performance gathering. The previous implementation failed as soon as a single device contained no medium, resulting in no/wrong performance data for all subsequent devices. Also provides labels for krells based on real device-names (uses new gkrellm_disk_add_by_name()).
2010-09-23 15:31:24 +00:00
Stefan Gehn d36c3ec662 Fix missing format-strings to avoid compiler warnings 2010-09-23 15:06:21 +00:00
Stefan Gehn 8dbee76730 win32.c: Drop current working directory from DLL search path by calling SetDllDirectory() with an empty string. Avoids possible security problems, especially when loading plugins.
Makefile, win32.c: Load ntdll.dll and lookup used functions at runtime (safer for future windows version and fixes unintended linking against sscanf() from ntdll)
win32.c: Add gkrellm_sys_inet_cleanup() for proper unloading of iphlpapi.dll
2010-09-20 20:53:48 +00:00
Stefan Gehn a457f7a3e1 INSTALL: Slightly update win32 build instructions
ChangeLog: Add and clarify win32-related changes
win32-resource.rc: Bump version number to 2.3.5
2010-09-15 16:14:11 +00:00
Stefan Gehn d72d689c4c Merge with changes from gkrellm-2.3.5-pre.tar.bz2 2010-09-15 15:32:14 +00:00
Stefan Gehn 915d03ad66 Do not link against liblargeint on windows anymore. Allow overriding windres via environment variables (preparation for win64 builds) 2010-06-21 14:49:40 +00:00
Stefan Gehn f3c095a4f6 Correct email address 2010-06-13 17:54:28 +00:00
Stefan Gehn 07551c6fe9 Fix enumeration of fstab-entries in gkrellmd (fstab entries were only sent to a client if fstab was marked as modified, unfortunately this is never the case on win32). Fixes #3.
Remove parsing of "--debug-level" in get_args(), it is already parsed in parse_config()
Make "-d" commandline option the short version for "--detach" only. Before it was also used as a short version for "--debug-level"
2010-06-13 13:40:20 +00:00
Stefan Gehn 7e86c76f32 Switch from printf() to GLib/GKrellM logging (gkrellm_debug(), g_warning(), g_message())
Replace sprintf() calls with snprintf() for security reasons.
2010-06-12 19:41:22 +00:00
Stefan Gehn 836310c392 Enable IPv6-support on win32 if target os is windows xp or newer (win2k lacks needed functions) 2010-06-12 19:26:34 +00:00
Stefan Gehn bf40ec1d5d Allow passing linker flags via LDFLAGS in Makefile 2010-06-12 14:10:52 +00:00
Stefan Gehn 0f9bc83d54 - Bump version to 2.3.4 in windows resource files 2010-05-29 13:19:39 +00:00
Stefan Gehn fcd0b544e4 - Merge with gkrellm-2.3.4 from upstream 2010-05-29 12:49:28 +00:00
Stefan Gehn 25076e8a0f - Merge in missing changes from gkrellm-2.3.3 release
- Revert gkrellm version header change, there are too many places in code/docs containing the version number, one more or less will not hurt
- configure: Make configure shell script write configure.mk and move logic for compiler and linker flags into configure
- configure: Also search openssl and libntlm via pkg-config and fall back to hardcoded library names for linking if not found
- Makefile: Workaround environment-bugs in win32 toolchain by switching from "override CC" to a normal makefile rule for building .o from .c files
2009-12-27 11:48:30 +00:00
Stefan Gehn a9c193f84c Merge with gkrellm-2.3.3 from upstream 2009-12-26 17:08:15 +00:00
Stefan Gehn a7ea973741 - Win32: enumerate users using WTS-API. NOTE: This makes GKrellM require Win XP or newer, code for Win 2k is still present though (depends on value of _WIN32_WINNT) 2009-12-26 15:11:13 +00:00