Commit graph

45 commits

Author SHA1 Message Date
Thomas Haller
d3b91eb258 logging/trivial: rename LOGL_MAX to _LOGL_N
The name LOGL_MAX was misleading, because it is not
the "maximum" logging level, but the number of different
levels. Rename it.
2015-08-04 11:21:48 +02:00
Beniamino Galvani
41e7051165 logging: add AUDIT domain 2015-08-04 08:46:11 +02:00
Dan Winship
3452ee2a0e all: rename nm-glib-compat.h to nm-glib.h, use everywhere
Rather than randomly including one or more of <glib.h>,
<glib-object.h>, and <gio/gio.h> everywhere (and forgetting to include
"nm-glib-compat.h" most of the time), rename nm-glib-compat.h to
nm-glib.h, include <gio/gio.h> from there, and then change all .c
files in NM to include "nm-glib.h" rather than including the glib
headers directly.

(Public headers files still have to include the real glib headers,
since nm-glib.h isn't installed...)

Also, remove glib includes from header files that are already
including a base object header file (which must itself already include
the glib headers).
2015-07-24 13:25:47 -04:00
Thomas Haller
81f3c36f23 logging: refactor level conversion from switch() to @level_desc lookup-array 2015-07-14 15:55:14 +02:00
Thomas Haller
f7581bbedc logging: add compile time default for logging.backend configuration 2015-07-14 15:55:14 +02:00
Thomas Haller
533a08359e logging: add "journal-syslog-style" logging backend to log the old format
This mode logs the same message line as we do for "syslog".
2015-07-14 15:55:14 +02:00
Thomas Haller
96a7f3a3ba logging: make use of journal configurable 2015-07-14 15:55:14 +02:00
Thomas Haller
1b808d3b25 logging: add native systemd-journald support to nm-logging 2015-07-14 15:55:14 +02:00
Thomas Haller
b1b26e8049 logging: factor our construction of logging message in _nm_log_impl() 2015-07-14 15:52:50 +02:00
Thomas Haller
831a5e32fb logging: refactor @syslog_opened variable to @log_backend 2015-07-14 15:52:50 +02:00
Thomas Haller
d0345ede26 logging: allow calling nm_logging_syslog_openlog() only once 2015-07-14 15:52:50 +02:00
Thomas Haller
9020cd1aac logging: remove nm_logging_syslog_closelog()
Remove nm_logging_syslog_closelog(). The reasons are:

  - closelog() is optional according to the manual.

  - we called nm_logging_syslog_closelog() at the end of the
    main() function. But we have destructors running afterwards,
    so we were closing the log before logging the last line.
    Apparently that had no bad consequences either, so why was
    closelog() even useful?
    Also, it's hard to determine when we log the last line and
    only closelog() afterwards.

  - closelog() does not revert what openlog() did, this is ugly.
2015-07-14 15:52:50 +02:00
Thomas Haller
211d241ab0 logging/trivial: rename _nm_log() to _nm_log_impl()
The actual logging implementation is not supposed to be called
directly, because there are macros that capture the call site
information __FILE__, __LINE__, and G_STRFUNC.

Rename the function to make clear that this is the actual
implementation.
2015-04-22 11:06:49 +02:00
Dan Winship
721e917cb6 wimax: drop WiMAX support (bgo #747846)
Even Fedora is no longer shipping the WiMAX SDK, so it's likely we'll
eventually accidentally break some of the code in src/devices/wimax/
(if we haven't already). Discussion on the list showed a consensus for
dropping support for WiMAX.

So, remove the SDK checks from configure.ac, remove the WiMAX device
plugin and associated manager support, and deprecate all the APIs.

For compatibility reasons, it is still possible to create and save
WiMAX connections, to toggle the software WiMAX rfkill state, and to
change the "WIMAX" log level, although none of these have any effect,
since no NMDeviceWimax will ever be created.

nmcli was only compiling in support for most WiMAX operations when NM
as a whole was built with WiMAX support, so that code has been removed
now as well. (It is still possible to use nmcli to create and edit
WiMAX connections, but those connections will never be activatable.)
2015-04-17 12:42:23 -04:00
Thomas Haller
5162426d41 logging: add error argument to _nm_log() to support "%m" format specifier
A gnu extension to printf adds the format specifier "%m"
to print @errno. To preserve the error number until the
point where the logging statement is constructed, pass
it as an additional argument to _nm_log().

This is not (yet) used from NM internal code. But systemd is adding
similar functionality to its logging functions. Add the same also to
nm-logging, to support systemd's usage of "%m".
2015-03-02 14:22:09 +01:00
Thomas Haller
670eb57321 logging: assert that NMLogDomains compiles to a 64 bit enum
Enum types larger then the native 'int' type are undefined behavior
according to C standard. Assert that our compiler does the right thing.

  the expression that defines the value of an enumeration constant shall
  be an integer constant expression that has a value representable as an
  int
2015-01-26 16:30:27 +01:00
Thomas Haller
e62aa4165f logging: pass file:line as separate arguments to _nm_log()
Previously, we would only pass one argument @loc to _nm_log()
which was set to G_STRLOC.
That has the disadvantage, that for every logging line the binary
contains an individual string __FILE__:__LINE__.

By splitting up @loc into @file and @line, we reduce the number
of strings in the NetworkManager binary by about 50k.

https://bugzilla.gnome.org/show_bug.cgi?id=741651
2014-12-18 17:36:57 +01:00
Thomas Haller
f4f3f4d69b core/logging: make log level and domain a C enum
This way the compiler issues a warning when accidently
switching the level and domain arguments when logging.

Make LOGD_ALL and LOGD_DEFAULT members of the enum instead
defining them. Previously the LOGD_ALL define included all
the defined domains, hence this is no functional change.

Also define the logging domain aliases as enum members (instead
of preprocessor defines).

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-10-30 14:18:16 +01:00
Thomas Haller
b77567b225 build: fix -Wstrict-prototypes warnings
We disabled -Wstrict-prototypes in commit
db9b1df0e4 .
Fix compiler warnings.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-10-29 12:30:11 +01:00
Dan Winship
115f8bead8 libnm-core, core: merge NMLoggingError into NMManagerError
NMManagerError has other operation-specific errors (like
NM_MANAGER_ERROR_ALREADY_ASLEEP_OR_AWAKE), so it makes sense to move
NM_LOGGING_ERROR_UNKNOWN_LEVEL and NM_LOGGING_ERROR_UNKNOWN_DOMAIN
there too rather than having them in their own tiny error domain.
2014-10-22 08:29:09 -04:00
Thomas Haller
bdea7d61d0 logging: add new logging level "TRACE"
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-10-05 18:24:36 +02:00
Thomas Haller
7509d4f80f core/logging: change order or domain/level arguments for nm_log()
Now the order of arguments corresponds to nm_logging_enabled().

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-01 19:06:25 +02:00
Thomas Haller
19d4bda69a core/logging: ensure that logging is always initialized
Ensure that nm_logging_setup() was called for all functions
where it actually makes a difference.

This is especially important for nm_logging_enabled(),
so that the behavior of the following is identical:

    nm_log_info(LOGD_CORE, "hello world");

and
    if (nm_logging_enabled (LOGL_INFO, LOGD_CORE))
        nm_log_info(LOGD_CORE, "hello world");

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-01 19:06:25 +02:00
Thomas Haller
453d1aa71d core/logging: return static string from nm_logging_domains_to_string()
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-01 19:06:25 +02:00
Thomas Haller
85b972e9b8 core/logging: return static string from nm_logging_level_to_string()
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-01 19:06:25 +02:00
Thomas Haller
ff6946a193 core/logging: align logging after "<LEVEL>" prefix
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-01 19:06:25 +02:00
Thomas Haller
f6882496e3 core/logging: add assert to nm_logging_setup() to check input arguments
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-08-01 19:06:25 +02:00
Dan Winship
8aa3b9859b core: merge src/config, src/logging, src/posix-signals into src/
Some subdirectories of src/ encapsulate large chunks of functionality,
but src/config/, src/logging/, and src/posix-signals/ are really only
separated out because they used to be built into separate
sub-libraries that were needed either for test programs, or to prevent
circular dependencies. Since this is no longer relevant, simplify
things by moving their files back into the main source directory.
2014-07-30 15:56:29 -04:00
Dan Williams
a00a6e5d87 logging: move logging into its own subdir
Some stuff we build (the DHCP manager) gets built independently
so that we can use it for unit tests.  For that, we need to build
the logging bits separately too, since the independent DHCP
library can't use them if they are embedded in NM.
2010-04-06 17:39:57 -07:00
Dan Williams
dda5a3da40 logging: update default log domains 2010-04-06 16:32:23 -07:00
Dan Williams
8faf8c91ef logging: add DEVICE logging domain 2010-04-06 16:25:42 -07:00
Dan Williams
6e97fc4441 logging: tweak default log levels 2010-04-06 16:19:30 -07:00
Dan Williams
d03de42350 logging: one level at a time; levels are cumulative 2010-04-06 15:53:37 -07:00
Dan Williams
e0df501e0e logging: remove initial log level & facility message 2010-04-06 15:48:12 -07:00
Dan Williams
f46e1f6a43 logging: fix default log level and tweak info/warn output 2010-04-06 15:45:49 -07:00
Dan Williams
32128b04ca logging: add basic logging capabilities 2010-04-06 15:23:08 -07:00
Dan Winship
592769cfd9 core: add a cast to fix compile on 32-bit 2009-08-25 18:18:16 -04:00
Dan Williams
09459788cd core: don't use backtrace_symbols() from a signal handler
It uses malloc(), which you can't do from a signal handler.
2009-08-21 12:16:17 -05:00
Dan Williams
24e50f7f6f 2008-11-02 Dan Williams <dcbw@redhat.com>
* Add license headers to everything in src/



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4247 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-11-03 04:13:42 +00:00
Tambet Ingo
9b82c1e92f 2008-10-10 Tambet Ingo <tambet@gmail.com>
* src/nm-logging.c (nm_logging_setup): Don't use LOG_CONS when running as
	a daemon to prevent NM logging spew on console on startup and shutdown (due
	to dependency loop between NM and syslog).

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4166 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-10 12:05:04 +00:00
Dan Williams
b0cf66eda8 2008-06-26 Dan Williams <dcbw@redhat.com>
* Update FSF address in license headers (Michael Biebl <biebl@debian.org>)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3775 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-26 18:31:52 +00:00
Tambet Ingo
326d1e8679 2007-09-12 Tambet Ingo <tambet@gmail.com>
* src/vpn-manager/nm-vpn-connection.[ch]: 
        * src/vpn-manager/nm-vpn-manager.[ch]:
        * src/vpn-manager/nm-vpn-service.[ch]: Rewrite the vpn handling
        * code. Using 
        dbus-glib, GObjects, signals etc.

        * libnm-glib/nm-vpn-manager.[ch]: 
        * libnm-glib/nm-vpn-connection.[ch]: Now that the NM
        * implementation changed
        so much, rewrite these too.

        * libnm-glib/Makefile.am: Add new files to build, build new
        * binding files for
        the new introspection files.

        * libnm-glib/nm-client.[ch]: Remove all VPN related stuff from
        * here.

        * libnm-glib/nm-dbus-utils.[ch]: Renamed from nm-utils.[ch] that
        * was shadowing
        the header with the same name from libnm-utils.

        * libnm-glib/nm-vpn-plugin.[ch]: Implement.

        * libnm-util/Makefile.am: Add nm-utils.[ch] to build.

        * introspection/nm-vpn-plugin.xml: Implement.

        * introspection/nm-vpn-connection.xml: Implement.

        * introspection/nm-vpn-manager.xml: Implement.

        * src/NetworkManagerSystem.c
        * (nm_system_vpn_device_set_from_ip4_config): Remove
        the named manager argument, it can just as easily get it as the
caller.
        (nm_system_vpn_device_unset_from_ip4_config): Ditto.

        * src/vpn-manager/nm-dbus-vpn.[ch]: Remove.

        * src/nm-dbus-manager.h: Fix up the name_owner signal signature.

        * src/dhcp-manager/nm-dhcp-manager.c (garray_to_string): Remove,
        * use one from
        libnm-utils.

        * libnm-util/nm-connection.c: Ditto.

        * src/NetworkManagerMain.h: Remove, it's finally empty.

        * configure.in: Remove utils/ from build.

        * include/NetworkManagerVPN.h: Add some more defines to reduce
        * the amount
        of hard-coded strings.

        * utils/: Move it over to libnm-util.

        * test/Makefile.am: Link against libnm-util now that util/ is
        * gone.

        * dispatcher-daemon/Makefile.am: Ditto.

        * src/Makefile.am: Ditto.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2798 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-09-12 16:23:53 +00:00
Tambet Ingo
3dcd9d2d17 2007-02-19 Tambet Ingo <tambet@ximian.com>
* src/vpn-manager/nm-vpn-manager.c: Handle the DBUS state changes itself.
	Handle device state changes and disconnect VPN if it's device deactivates.

	* src/nm-dbus-nm.c: 
	* src/nm-dbus-nm.h: 
	* src/nm-dbus-device.c: 
	* src/nm-dbus-device.c: 
	* src/nm-dbus-net.c: 
	* src/nm-dbus-net.h: Remove. All of it is implemented byt the new dbus API.

	* src/NetworkManagerMain.h: Get rid of all but 3 properties of NMData.

	* src/nm-device.c (nm_device_get_by_udi):
	(nm_device_get_by_iface): Remove. This doesn't belong here and is already
	implemented in the correct location (NMManager).
	Rip out all the test_device stuff.

	* src/NetworkManagerPolicy.c: Remove the leftover activation success and
	failure handlers, it's all done by NMDevice already.

	* src/NetworkManager.c: Move the signal handling here from nm-logging.c
	Remove the iochannel hack to route the unix signals to the main thread since
	we're not threaded anymore.

	* src/NetworkManagerAP.c: Implement HWAddress property.

	* src/NetworkManagerDbus.c: Remove the dbus signal sending code, it happens
	automatically with dbus-glib.

	* src/nm-netlink-monitor.c: 
	* src/nm-netlink-monitor.h:
		- Move it low in the class hierarchy, don't reference any NM types.
		- Remove private data from the header.
		- Use type safe checks in public API methods.
		- Make it a singleton so we don't have to pass the single reference around.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2339 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-19 13:09:32 +00:00
Robert Love
dd31354acd 2006-03-27 Robert Love <rml@novell.com>
Patch by Jürg Billeter <j@bitron.ch>:
	* src/nm-logging.c: Add printf modifier to fix warning on 64-bit
	  systems.
	* src/nm-netlink-monitor.c: Include <net/if.h> instead of <linux/if.h>
	  as we prefer glibc over kernel headers, if possible.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1641 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-03-27 15:20:28 +00:00
Dan Williams
b06df42628 2006-02-26 Dan Williams <dcbw@redhat.com>
* src/Makefile.am
		- make and install nm-crash-logger

	* src/nm-logging.[ch]
	  	- New files; consolidate logging and crash handling

	* src/nm-crash-logger.c
	  src/gdb-cmd
		- Standalong crashlogger for NM, grab a backtrace
			using GDB

	* src/NetworkManager.[ch]
		- Remove signal handling and put it into nm-logging.c


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1499 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-02-27 04:31:52 +00:00