diff --git a/Makefile.am b/Makefile.am index 02de986c9f..d960462126 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2569,8 +2569,8 @@ src_core_libNetworkManager_la_SOURCES = \ src/core/nm-dhcp-config.h \ src/core/nm-dispatcher.c \ src/core/nm-dispatcher.h \ - src/core/nm-firewall-manager.c \ - src/core/nm-firewall-manager.h \ + src/core/nm-firewalld-manager.c \ + src/core/nm-firewalld-manager.h \ src/core/nm-proxy-config.c \ src/core/nm-proxy-config.h \ src/core/nm-auth-manager.c \ diff --git a/src/core/devices/nm-device.c b/src/core/devices/nm-device.c index 62226718f1..1a2fcb371e 100644 --- a/src/core/devices/nm-device.c +++ b/src/core/devices/nm-device.c @@ -52,7 +52,7 @@ #include "dnsmasq/nm-dnsmasq-manager.h" #include "nm-dhcp-config.h" #include "nm-rfkill-manager.h" -#include "nm-firewall-manager.h" +#include "nm-firewalld-manager.h" #include "settings/nm-settings-connection.h" #include "settings/nm-settings.h" #include "nm-setting-ethtool.h" @@ -593,9 +593,9 @@ typedef struct _NMDevicePrivate { gulong dnsmasq_state_id; /* Firewall */ - FirewallState fw_state : 4; - NMFirewallManager * fw_mgr; - NMFirewallManagerCallId *fw_call; + FirewallState fw_state : 4; + NMFirewalldManager * fw_mgr; + NMFirewalldManagerCallId *fw_call; /* IPv4LL stuff */ sd_ipv4ll *ipv4ll; @@ -11318,10 +11318,10 @@ activate_stage3_ip_config_start(NMDevice *self) } static void -fw_change_zone_cb(NMFirewallManager * firewall_manager, - NMFirewallManagerCallId *call_id, - GError * error, - gpointer user_data) +fw_change_zone_cb(NMFirewalldManager * firewalld_manager, + NMFirewalldManagerCallId *call_id, + GError * error, + gpointer user_data) { NMDevice * self = user_data; NMDevicePrivate *priv; @@ -11373,12 +11373,12 @@ fw_change_zone(NMDevice *self) nm_assert(s_con); if (priv->fw_call) { - nm_firewall_manager_cancel_call(priv->fw_call); + nm_firewalld_manager_cancel_call(priv->fw_call); nm_assert(!priv->fw_call); } if (G_UNLIKELY(!priv->fw_mgr)) - priv->fw_mgr = g_object_ref(nm_firewall_manager_get()); + priv->fw_mgr = g_object_ref(nm_firewalld_manager_get()); zone = nm_setting_connection_get_zone(s_con); #if WITH_FIREWALLD_ZONE @@ -11390,12 +11390,12 @@ fw_change_zone(NMDevice *self) zone = "nm-shared"; } #endif - priv->fw_call = nm_firewall_manager_add_or_change_zone(priv->fw_mgr, - nm_device_get_ip_iface(self), - zone, - FALSE, /* change zone */ - fw_change_zone_cb, - self); + priv->fw_call = nm_firewalld_manager_add_or_change_zone(priv->fw_mgr, + nm_device_get_ip_iface(self), + zone, + FALSE, /* change zone */ + fw_change_zone_cb, + self); } /* @@ -15650,7 +15650,7 @@ _cancel_activation(NMDevice *self) NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE(self); if (priv->fw_call) { - nm_firewall_manager_cancel_call(priv->fw_call); + nm_firewalld_manager_cancel_call(priv->fw_call); nm_assert(!priv->fw_call); priv->fw_call = NULL; priv->fw_state = FIREWALL_STATE_INITIALIZED; @@ -15680,11 +15680,11 @@ _cleanup_generic_pre(NMDevice *self, CleanupType cleanup_type) if (cleanup_type == CLEANUP_TYPE_DECONFIGURE && priv->fw_state >= FIREWALL_STATE_INITIALIZED && priv->fw_mgr && !nm_device_sys_iface_state_is_external(self)) { - nm_firewall_manager_remove_from_zone(priv->fw_mgr, - nm_device_get_ip_iface(self), - NULL, - NULL, - NULL); + nm_firewalld_manager_remove_from_zone(priv->fw_mgr, + nm_device_get_ip_iface(self), + NULL, + NULL, + NULL); } priv->fw_state = FIREWALL_STATE_UNMANAGED; g_clear_object(&priv->fw_mgr); diff --git a/src/core/meson.build b/src/core/meson.build index ef97f3822d..da85b06dbc 100644 --- a/src/core/meson.build +++ b/src/core/meson.build @@ -163,7 +163,7 @@ libNetworkManager = static_library( 'nm-dcb.c', 'nm-dhcp-config.c', 'nm-dispatcher.c', - 'nm-firewall-manager.c', + 'nm-firewalld-manager.c', 'nm-hostname-manager.c', 'nm-keep-alive.c', 'nm-manager.c', diff --git a/src/core/nm-firewall-manager.h b/src/core/nm-firewall-manager.h deleted file mode 100644 index 1ce802b2cd..0000000000 --- a/src/core/nm-firewall-manager.h +++ /dev/null @@ -1,54 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* - * Copyright (C) 2011 Red Hat, Inc. - */ - -#ifndef __NETWORKMANAGER_FIREWALL_MANAGER_H__ -#define __NETWORKMANAGER_FIREWALL_MANAGER_H__ - -#define NM_TYPE_FIREWALL_MANAGER (nm_firewall_manager_get_type()) -#define NM_FIREWALL_MANAGER(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_FIREWALL_MANAGER, NMFirewallManager)) -#define NM_FIREWALL_MANAGER_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_FIREWALL_MANAGER, NMFirewallManagerClass)) -#define NM_IS_FIREWALL_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_FIREWALL_MANAGER)) -#define NM_IS_FIREWALL_MANAGER_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_FIREWALL_MANAGER)) -#define NM_FIREWALL_MANAGER_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_FIREWALL_MANAGER, NMFirewallManagerClass)) - -#define NM_FIREWALL_MANAGER_STATE_CHANGED "state-changed" - -typedef struct _NMFirewallManagerCallId NMFirewallManagerCallId; - -typedef struct _NMFirewallManager NMFirewallManager; -typedef struct _NMFirewallManagerClass NMFirewallManagerClass; - -GType nm_firewall_manager_get_type(void); - -NMFirewallManager *nm_firewall_manager_get(void); - -gboolean nm_firewall_manager_get_running(NMFirewallManager *self); - -typedef void (*NMFirewallManagerAddRemoveCallback)(NMFirewallManager * self, - NMFirewallManagerCallId *call_id, - GError * error, - gpointer user_data); - -NMFirewallManagerCallId * -nm_firewall_manager_add_or_change_zone(NMFirewallManager * mgr, - const char * iface, - const char * zone, - gboolean add, - NMFirewallManagerAddRemoveCallback callback, - gpointer user_data); -NMFirewallManagerCallId * -nm_firewall_manager_remove_from_zone(NMFirewallManager * mgr, - const char * iface, - const char * zone, - NMFirewallManagerAddRemoveCallback callback, - gpointer user_data); - -void nm_firewall_manager_cancel_call(NMFirewallManagerCallId *call_id); - -#endif /* __NETWORKMANAGER_FIREWALL_MANAGER_H__ */ diff --git a/src/core/nm-firewall-manager.c b/src/core/nm-firewalld-manager.c similarity index 75% rename from src/core/nm-firewall-manager.c rename to src/core/nm-firewalld-manager.c index 0db6fb4bbc..c562d97856 100644 --- a/src/core/nm-firewall-manager.c +++ b/src/core/nm-firewalld-manager.c @@ -5,7 +5,7 @@ #include "src/core/nm-default-daemon.h" -#include "nm-firewall-manager.h" +#include "nm-firewalld-manager.h" #include "libnm-glib-aux/nm-dbus-aux.h" #include "c-list/src/c-list.h" @@ -34,25 +34,25 @@ typedef struct { bool dbus_inited : 1; bool running : 1; -} NMFirewallManagerPrivate; +} NMFirewalldManagerPrivate; -struct _NMFirewallManager { - GObject parent; - NMFirewallManagerPrivate _priv; +struct _NMFirewalldManager { + GObject parent; + NMFirewalldManagerPrivate _priv; }; -struct _NMFirewallManagerClass { +struct _NMFirewalldManagerClass { GObjectClass parent; }; -G_DEFINE_TYPE(NMFirewallManager, nm_firewall_manager, G_TYPE_OBJECT) +G_DEFINE_TYPE(NMFirewalldManager, nm_firewalld_manager, G_TYPE_OBJECT) -#define NM_FIREWALL_MANAGER_GET_PRIVATE(self) \ - _NM_GET_PRIVATE(self, NMFirewallManager, NM_IS_FIREWALL_MANAGER) +#define NM_FIREWALLD_MANAGER_GET_PRIVATE(self) \ + _NM_GET_PRIVATE(self, NMFirewalldManager, NM_IS_FIREWALLD_MANAGER) /*****************************************************************************/ -NM_DEFINE_SINGLETON_GETTER(NMFirewallManager, nm_firewall_manager_get, NM_TYPE_FIREWALL_MANAGER); +NM_DEFINE_SINGLETON_GETTER(NMFirewalldManager, nm_firewalld_manager_get, NM_TYPE_FIREWALLD_MANAGER); /*****************************************************************************/ @@ -62,15 +62,15 @@ typedef enum { OPS_TYPE_REMOVE, } OpsType; -struct _NMFirewallManagerCallId { +struct _NMFirewalldManagerCallId { CList lst; - NMFirewallManager *self; + NMFirewalldManager *self; char *iface; - NMFirewallManagerAddRemoveCallback callback; - gpointer user_data; + NMFirewalldManagerAddRemoveCallback callback; + gpointer user_data; union { struct { @@ -110,9 +110,9 @@ _ops_type_to_string(OpsType ops_type) G_STMT_START \ { \ if (nm_logging_enabled((level), (_NMLOG_DOMAIN))) { \ - NMFirewallManagerCallId *_call_id = (call_id); \ - char _prefix_name[30]; \ - char _prefix_info[100]; \ + NMFirewalldManagerCallId *_call_id = (call_id); \ + char _prefix_name[30]; \ + char _prefix_info[100]; \ \ _nm_log((level), \ (_NMLOG_DOMAIN), \ @@ -147,7 +147,7 @@ _ops_type_to_string(OpsType ops_type) /*****************************************************************************/ static gboolean -_get_running(NMFirewallManagerPrivate *priv) +_get_running(NMFirewalldManagerPrivate *priv) { /* when starting, we need to asynchronously check whether there is * a name owner. During that time we optimistically assume that the @@ -158,27 +158,27 @@ _get_running(NMFirewallManagerPrivate *priv) } gboolean -nm_firewall_manager_get_running(NMFirewallManager *self) +nm_firewalld_manager_get_running(NMFirewalldManager *self) { - g_return_val_if_fail(NM_IS_FIREWALL_MANAGER(self), FALSE); + g_return_val_if_fail(NM_IS_FIREWALLD_MANAGER(self), FALSE); - return _get_running(NM_FIREWALL_MANAGER_GET_PRIVATE(self)); + return _get_running(NM_FIREWALLD_MANAGER_GET_PRIVATE(self)); } /*****************************************************************************/ -static NMFirewallManagerCallId * -_cb_info_create(NMFirewallManager * self, - OpsType ops_type, - const char * iface, - const char * zone, - NMFirewallManagerAddRemoveCallback callback, - gpointer user_data) +static NMFirewalldManagerCallId * +_cb_info_create(NMFirewalldManager * self, + OpsType ops_type, + const char * iface, + const char * zone, + NMFirewalldManagerAddRemoveCallback callback, + gpointer user_data) { - NMFirewallManagerPrivate *priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); - NMFirewallManagerCallId * call_id; + NMFirewalldManagerPrivate *priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); + NMFirewalldManagerCallId * call_id; - call_id = g_slice_new0(NMFirewallManagerCallId); + call_id = g_slice_new0(NMFirewalldManagerCallId); call_id->self = g_object_ref(self); call_id->ops_type = ops_type; @@ -198,7 +198,7 @@ _cb_info_create(NMFirewallManager * self, } static void -_cb_info_complete(NMFirewallManagerCallId *call_id, GError *error) +_cb_info_complete(NMFirewalldManagerCallId *call_id, GError *error) { c_list_unlink(&call_id->lst); @@ -219,13 +219,13 @@ _cb_info_complete(NMFirewallManagerCallId *call_id, GError *error) static gboolean _handle_idle_cb(gpointer user_data) { - NMFirewallManager * self; - NMFirewallManagerCallId *call_id = user_data; + NMFirewalldManager * self; + NMFirewalldManagerCallId *call_id = user_data; nm_assert(call_id); - nm_assert(NM_IS_FIREWALL_MANAGER(call_id->self)); + nm_assert(NM_IS_FIREWALLD_MANAGER(call_id->self)); nm_assert(call_id->is_idle); - nm_assert(c_list_contains(&NM_FIREWALL_MANAGER_GET_PRIVATE(call_id->self)->pending_calls, + nm_assert(c_list_contains(&NM_FIREWALLD_MANAGER_GET_PRIVATE(call_id->self)->pending_calls, &call_id->lst)); self = call_id->self; @@ -239,7 +239,7 @@ _handle_idle_cb(gpointer user_data) } static gboolean -_handle_idle_start(NMFirewallManager *self, NMFirewallManagerCallId *call_id) +_handle_idle_start(NMFirewalldManager *self, NMFirewalldManagerCallId *call_id) { if (!call_id->callback) { /* if the user did not provide a callback and firewalld is not running, @@ -256,8 +256,8 @@ _handle_idle_start(NMFirewallManager *self, NMFirewallManagerCallId *call_id) static void _handle_dbus_cb(GObject *source, GAsyncResult *result, gpointer user_data) { - NMFirewallManager * self; - NMFirewallManagerCallId *call_id; + NMFirewalldManager * self; + NMFirewalldManagerCallId *call_id; gs_free_error GError *error = NULL; gs_unref_variant GVariant *ret = NULL; @@ -269,9 +269,9 @@ _handle_dbus_cb(GObject *source, GAsyncResult *result, gpointer user_data) call_id = user_data; nm_assert(call_id); - nm_assert(NM_IS_FIREWALL_MANAGER(call_id->self)); + nm_assert(NM_IS_FIREWALLD_MANAGER(call_id->self)); nm_assert(!call_id->is_idle); - nm_assert(c_list_contains(&NM_FIREWALL_MANAGER_GET_PRIVATE(call_id->self)->pending_calls, + nm_assert(c_list_contains(&NM_FIREWALLD_MANAGER_GET_PRIVATE(call_id->self)->pending_calls, &call_id->lst)); self = call_id->self; @@ -308,11 +308,11 @@ _handle_dbus_cb(GObject *source, GAsyncResult *result, gpointer user_data) } static void -_handle_dbus_start(NMFirewallManager *self, NMFirewallManagerCallId *call_id) +_handle_dbus_start(NMFirewalldManager *self, NMFirewalldManagerCallId *call_id) { - NMFirewallManagerPrivate *priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); - const char * dbus_method = NULL; - GVariant * arg; + NMFirewalldManagerPrivate *priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); + const char * dbus_method = NULL; + GVariant * arg; nm_assert(call_id); nm_assert(priv->running); @@ -354,21 +354,21 @@ _handle_dbus_start(NMFirewallManager *self, NMFirewallManagerCallId *call_id) call_id); } -static NMFirewallManagerCallId * -_start_request(NMFirewallManager * self, - OpsType ops_type, - const char * iface, - const char * zone, - NMFirewallManagerAddRemoveCallback callback, - gpointer user_data) +static NMFirewalldManagerCallId * +_start_request(NMFirewalldManager * self, + OpsType ops_type, + const char * iface, + const char * zone, + NMFirewalldManagerAddRemoveCallback callback, + gpointer user_data) { - NMFirewallManagerPrivate *priv; - NMFirewallManagerCallId * call_id; + NMFirewalldManagerPrivate *priv; + NMFirewalldManagerCallId * call_id; - g_return_val_if_fail(NM_IS_FIREWALL_MANAGER(self), NULL); + g_return_val_if_fail(NM_IS_FIREWALLD_MANAGER(self), NULL); g_return_val_if_fail(iface && *iface, NULL); - priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); + priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); call_id = _cb_info_create(self, ops_type, iface, zone, callback, user_data); @@ -404,13 +404,13 @@ _start_request(NMFirewallManager * self, return call_id; } -NMFirewallManagerCallId * -nm_firewall_manager_add_or_change_zone(NMFirewallManager *self, - const char * iface, - const char * zone, - gboolean add, /* TRUE == add, FALSE == change */ - NMFirewallManagerAddRemoveCallback callback, - gpointer user_data) +NMFirewalldManagerCallId * +nm_firewalld_manager_add_or_change_zone(NMFirewalldManager *self, + const char * iface, + const char * zone, + gboolean add, /* TRUE == add, FALSE == change */ + NMFirewalldManagerAddRemoveCallback callback, + gpointer user_data) { return _start_request(self, add ? OPS_TYPE_ADD : OPS_TYPE_CHANGE, @@ -420,33 +420,33 @@ nm_firewall_manager_add_or_change_zone(NMFirewallManager *self, user_data); } -NMFirewallManagerCallId * -nm_firewall_manager_remove_from_zone(NMFirewallManager * self, - const char * iface, - const char * zone, - NMFirewallManagerAddRemoveCallback callback, - gpointer user_data) +NMFirewalldManagerCallId * +nm_firewalld_manager_remove_from_zone(NMFirewalldManager * self, + const char * iface, + const char * zone, + NMFirewalldManagerAddRemoveCallback callback, + gpointer user_data) { return _start_request(self, OPS_TYPE_REMOVE, iface, zone, callback, user_data); } void -nm_firewall_manager_cancel_call(NMFirewallManagerCallId *call_id) +nm_firewalld_manager_cancel_call(NMFirewalldManagerCallId *call_id) { - NMFirewallManager * self; - NMFirewallManagerPrivate *priv; + NMFirewalldManager * self; + NMFirewalldManagerPrivate *priv; gs_free_error GError *error = NULL; g_return_if_fail(call_id); - g_return_if_fail(NM_IS_FIREWALL_MANAGER(call_id->self)); + g_return_if_fail(NM_IS_FIREWALLD_MANAGER(call_id->self)); g_return_if_fail(!c_list_is_empty(&call_id->lst)); self = call_id->self; - priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); + priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); nm_assert(c_list_contains(&priv->pending_calls, &call_id->lst)); - nm_utils_error_set_cancelled(&error, FALSE, "NMFirewallManager"); + nm_utils_error_set_cancelled(&error, FALSE, "NMFirewalldManager"); _LOGD(call_id, "complete: cancel (%s)", error->message); @@ -456,13 +456,13 @@ nm_firewall_manager_cancel_call(NMFirewallManagerCallId *call_id) /*****************************************************************************/ static void -name_owner_changed(NMFirewallManager *self, const char *owner) +name_owner_changed(NMFirewalldManager *self, const char *owner) { - _nm_unused gs_unref_object NMFirewallManager *self_keep_alive = g_object_ref(self); - NMFirewallManagerPrivate * priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); - gboolean was_running; - gboolean now_running; - gboolean just_initied; + _nm_unused gs_unref_object NMFirewalldManager *self_keep_alive = g_object_ref(self); + NMFirewalldManagerPrivate * priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); + gboolean was_running; + gboolean now_running; + gboolean just_initied; owner = nm_str_not_empty(owner); @@ -480,8 +480,8 @@ name_owner_changed(NMFirewallManager *self, const char *owner) now_running = _get_running(priv); if (just_initied) { - NMFirewallManagerCallId *call_id_safe; - NMFirewallManagerCallId *call_id; + NMFirewalldManagerCallId *call_id_safe; + NMFirewalldManagerCallId *call_id; /* We kick of the requests that we have pending. Note that this is * entirely asynchronous and also we don't invoke any callbacks for @@ -524,8 +524,8 @@ name_owner_changed_cb(GDBusConnection *connection, GVariant * parameters, gpointer user_data) { - NMFirewallManager *self = user_data; - const char * new_owner; + NMFirewalldManager *self = user_data; + const char * new_owner; if (!g_variant_is_of_type(parameters, G_VARIANT_TYPE("(sss)"))) return; @@ -538,14 +538,14 @@ name_owner_changed_cb(GDBusConnection *connection, static void get_name_owner_cb(const char *name_owner, GError *error, gpointer user_data) { - NMFirewallManager * self; - NMFirewallManagerPrivate *priv; + NMFirewalldManager * self; + NMFirewalldManagerPrivate *priv; if (!name_owner && g_error_matches(error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) return; self = user_data; - priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); + priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); g_clear_object(&priv->get_name_owner_cancellable); @@ -555,9 +555,9 @@ get_name_owner_cb(const char *name_owner, GError *error, gpointer user_data) /*****************************************************************************/ static void -nm_firewall_manager_init(NMFirewallManager *self) +nm_firewalld_manager_init(NMFirewalldManager *self) { - NMFirewallManagerPrivate *priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); + NMFirewalldManagerPrivate *priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); c_list_init(&priv->pending_calls); @@ -587,8 +587,8 @@ nm_firewall_manager_init(NMFirewallManager *self) static void dispose(GObject *object) { - NMFirewallManager * self = NM_FIREWALL_MANAGER(object); - NMFirewallManagerPrivate *priv = NM_FIREWALL_MANAGER_GET_PRIVATE(self); + NMFirewalldManager * self = NM_FIREWALLD_MANAGER(object); + NMFirewalldManagerPrivate *priv = NM_FIREWALLD_MANAGER_GET_PRIVATE(self); /* as every pending operation takes a reference to the manager, * we don't expect pending operations at this point. */ @@ -598,19 +598,19 @@ dispose(GObject *object) nm_clear_g_cancellable(&priv->get_name_owner_cancellable); - G_OBJECT_CLASS(nm_firewall_manager_parent_class)->dispose(object); + G_OBJECT_CLASS(nm_firewalld_manager_parent_class)->dispose(object); g_clear_object(&priv->dbus_connection); } static void -nm_firewall_manager_class_init(NMFirewallManagerClass *klass) +nm_firewalld_manager_class_init(NMFirewalldManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->dispose = dispose; - signals[STATE_CHANGED] = g_signal_new(NM_FIREWALL_MANAGER_STATE_CHANGED, + signals[STATE_CHANGED] = g_signal_new(NM_FIREWALLD_MANAGER_STATE_CHANGED, G_OBJECT_CLASS_TYPE(object_class), G_SIGNAL_RUN_FIRST, 0, diff --git a/src/core/nm-firewalld-manager.h b/src/core/nm-firewalld-manager.h new file mode 100644 index 0000000000..febb9bac48 --- /dev/null +++ b/src/core/nm-firewalld-manager.h @@ -0,0 +1,54 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2011 Red Hat, Inc. + */ + +#ifndef __NM_FIREWALLD_MANAGER_H__ +#define __NM_FIREWALLD_MANAGER_H__ + +#define NM_TYPE_FIREWALLD_MANAGER (nm_firewalld_manager_get_type()) +#define NM_FIREWALLD_MANAGER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_FIREWALLD_MANAGER, NMFirewalldManager)) +#define NM_FIREWALLD_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_FIREWALLD_MANAGER, NMFirewalldManagerClass)) +#define NM_IS_FIREWALLD_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_FIREWALLD_MANAGER)) +#define NM_IS_FIREWALLD_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_FIREWALLD_MANAGER)) +#define NM_FIREWALLD_MANAGER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_FIREWALLD_MANAGER, NMFirewalldManagerClass)) + +#define NM_FIREWALLD_MANAGER_STATE_CHANGED "state-changed" + +typedef struct _NMFirewalldManagerCallId NMFirewalldManagerCallId; + +typedef struct _NMFirewalldManager NMFirewalldManager; +typedef struct _NMFirewalldManagerClass NMFirewalldManagerClass; + +GType nm_firewalld_manager_get_type(void); + +NMFirewalldManager *nm_firewalld_manager_get(void); + +gboolean nm_firewalld_manager_get_running(NMFirewalldManager *self); + +typedef void (*NMFirewalldManagerAddRemoveCallback)(NMFirewalldManager * self, + NMFirewalldManagerCallId *call_id, + GError * error, + gpointer user_data); + +NMFirewalldManagerCallId * +nm_firewalld_manager_add_or_change_zone(NMFirewalldManager * mgr, + const char * iface, + const char * zone, + gboolean add, + NMFirewalldManagerAddRemoveCallback callback, + gpointer user_data); +NMFirewalldManagerCallId * +nm_firewalld_manager_remove_from_zone(NMFirewalldManager * mgr, + const char * iface, + const char * zone, + NMFirewalldManagerAddRemoveCallback callback, + gpointer user_data); + +void nm_firewalld_manager_cancel_call(NMFirewalldManagerCallId *call_id); + +#endif /* __NM_FIREWALLD_MANAGER_H__ */ diff --git a/src/core/nm-policy.c b/src/core/nm-policy.c index 52d9b34e0c..c2ab9b2d0d 100644 --- a/src/core/nm-policy.c +++ b/src/core/nm-policy.c @@ -21,7 +21,7 @@ #include "dns/nm-dns-manager.h" #include "vpn/nm-vpn-manager.h" #include "nm-auth-utils.h" -#include "nm-firewall-manager.h" +#include "nm-firewalld-manager.h" #include "nm-dispatcher.h" #include "nm-utils.h" #include "libnm-core-intern/nm-core-internal.h" @@ -45,10 +45,10 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMPolicy, PROP_ACTIVATING_IP6_AC, ); typedef struct { - NMManager * manager; - NMNetns * netns; - NMFirewallManager *firewall_manager; - CList pending_activation_checks; + NMManager * manager; + NMNetns * netns; + NMFirewalldManager *firewalld_manager; + CList pending_activation_checks; NMAgentManager *agent_mgr; @@ -2518,7 +2518,7 @@ connection_added(NMSettings *settings, NMSettingsConnection *connection, gpointe } static void -firewall_state_changed(NMFirewallManager *manager, gboolean initialized_now, gpointer user_data) +firewall_state_changed(NMFirewalldManager *manager, gboolean initialized_now, gpointer user_data) { NMPolicy * self = (NMPolicy *) user_data; NMPolicyPrivate *priv = NM_POLICY_GET_PRIVATE(self); @@ -2532,7 +2532,7 @@ firewall_state_changed(NMFirewallManager *manager, gboolean initialized_now, gpo return; } - if (!nm_firewall_manager_get_running(manager)) + if (!nm_firewalld_manager_get_running(manager)) return; /* add interface of each device to correct zone */ @@ -2784,9 +2784,9 @@ constructed(GObject *object) priv->agent_mgr = g_object_ref(nm_agent_manager_get()); - priv->firewall_manager = g_object_ref(nm_firewall_manager_get()); - g_signal_connect(priv->firewall_manager, - NM_FIREWALL_MANAGER_STATE_CHANGED, + priv->firewalld_manager = g_object_ref(nm_firewalld_manager_get()); + g_signal_connect(priv->firewalld_manager, + NM_FIREWALLD_MANAGER_STATE_CHANGED, G_CALLBACK(firewall_state_changed), self); @@ -2889,9 +2889,9 @@ dispose(GObject *object) g_slist_free_full(priv->pending_secondaries, (GDestroyNotify) pending_secondary_data_free); priv->pending_secondaries = NULL; - if (priv->firewall_manager) { - g_signal_handlers_disconnect_by_func(priv->firewall_manager, firewall_state_changed, self); - g_clear_object(&priv->firewall_manager); + if (priv->firewalld_manager) { + g_signal_handlers_disconnect_by_func(priv->firewalld_manager, firewall_state_changed, self); + g_clear_object(&priv->firewalld_manager); } if (priv->agent_mgr) { diff --git a/src/core/vpn/nm-vpn-connection.c b/src/core/vpn/nm-vpn-connection.c index 2dbbae9105..b8567e6cd0 100644 --- a/src/core/vpn/nm-vpn-connection.c +++ b/src/core/vpn/nm-vpn-connection.c @@ -29,7 +29,7 @@ #include "settings/nm-agent-manager.h" #include "libnm-core-intern/nm-core-internal.h" #include "nm-pacrunner-manager.h" -#include "nm-firewall-manager.h" +#include "nm-firewalld-manager.h" #include "nm-config.h" #include "nm-vpn-plugin-info.h" #include "nm-vpn-manager.h" @@ -96,7 +96,7 @@ typedef struct { NMVpnPluginInfo * plugin_info; char * bus_name; - NMFirewallManagerCallId *fw_call; + NMFirewalldManagerCallId *fw_call; NMNetns *netns; @@ -342,7 +342,7 @@ fw_call_cleanup(NMVpnConnection *self) NMVpnConnectionPrivate *priv = NM_VPN_CONNECTION_GET_PRIVATE(self); if (priv->fw_call) { - nm_firewall_manager_cancel_call(priv->fw_call); + nm_firewalld_manager_cancel_call(priv->fw_call); g_warn_if_fail(!priv->fw_call); priv->fw_call = NULL; } @@ -381,11 +381,11 @@ vpn_cleanup(NMVpnConnection *self, NMDevice *parent_dev) /* Remove zone from firewall */ if (priv->ip_iface) { - nm_firewall_manager_remove_from_zone(nm_firewall_manager_get(), - priv->ip_iface, - NULL, - NULL, - NULL); + nm_firewalld_manager_remove_from_zone(nm_firewalld_manager_get(), + priv->ip_iface, + NULL, + NULL, + NULL); } /* Cancel pending firewall call */ fw_call_cleanup(self); @@ -1205,10 +1205,10 @@ _cleanup_failed_config(NMVpnConnection *self) } static void -fw_change_zone_cb(NMFirewallManager * firewall_manager, - NMFirewallManagerCallId *call_id, - GError * error, - gpointer user_data) +fw_change_zone_cb(NMFirewalldManager * firewalld_manager, + NMFirewalldManagerCallId *call_id, + GError * error, + gpointer user_data) { NMVpnConnection * self = user_data; NMVpnConnectionPrivate *priv; @@ -1264,12 +1264,12 @@ nm_vpn_connection_config_maybe_complete(NMVpnConnection *self, gboolean success) NM_PRINT_FMT_QUOTED(zone, "'", zone, "'", "(default)"), priv->ip_iface); fw_call_cleanup(self); - priv->fw_call = nm_firewall_manager_add_or_change_zone(nm_firewall_manager_get(), - priv->ip_iface, - zone, - FALSE, - fw_change_zone_cb, - self); + priv->fw_call = nm_firewalld_manager_add_or_change_zone(nm_firewalld_manager_get(), + priv->ip_iface, + zone, + FALSE, + fw_change_zone_cb, + self); return; } else if (nm_vpn_connection_apply_config(self)) return;