diff options
-rw-r--r-- | LMI_RealmdKerberosRealmProvider.c | 22 | ||||
-rw-r--r-- | LMI_RealmdRealmProvider.c | 9 | ||||
-rw-r--r-- | LMI_RealmdServiceProvider.c | 17 | ||||
-rw-r--r-- | LMI_ServiceAffectsRealmdRealmProvider.c | 3 | ||||
-rw-r--r-- | rdcp_dbus.h | 14 |
5 files changed, 42 insertions, 23 deletions
diff --git a/LMI_RealmdKerberosRealmProvider.c b/LMI_RealmdKerberosRealmProvider.c index bc11eaf..5dc90d2 100644 --- a/LMI_RealmdKerberosRealmProvider.c +++ b/LMI_RealmdKerberosRealmProvider.c @@ -41,16 +41,18 @@ CMPIStatus LMI_RealmdKerberosRealm_InitFromDBusPath( return handle_g_error(&g_error, _cb, &status, CMPI_RC_ERR_FAILED, "rdcp_dbus_initialize failed"); } - GetDBusProperies(realm_props, dbus_path, REALM_DBUS_REALM_INTERFACE, &status); - GetDBusProperies(kerberos_props, dbus_path, REALM_DBUS_KERBEROS_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(realm_props, dbus_path, + REALM_DBUS_REALM_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(kerberos_props, dbus_path, + REALM_DBUS_KERBEROS_INTERFACE, &status); LMI_RealmdRealmInitKeys(LMI_RealmdKerberosRealm, self, dbus_path); LMI_InitFromDBusRealmProps(LMI_RealmdKerberosRealm, self, realm_props); LMI_InitFromDBusKerberosRealmProps(LMI_RealmdKerberosRealm, self, kerberos_props); if (SupportsDBusInterface(realm_props, REALM_DBUS_KERBEROS_MEMBERSHIP_INTERFACE)) { - GetDBusProperies(kerberos_membership_props, dbus_path, - REALM_DBUS_KERBEROS_MEMBERSHIP_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(kerberos_membership_props, dbus_path, + REALM_DBUS_KERBEROS_MEMBERSHIP_INTERFACE, &status); LMI_InitFromDBusKerberosMembershipProps(LMI_RealmdKerberosRealm, self, kerberos_membership_props); @@ -105,23 +107,27 @@ static CMPIStatus LMI_RealmdKerberosRealmEnumInstances( CMSetStatus(&status, CMPI_RC_OK); if (!rdcp_dbus_initialize(&g_error)) { - return handle_g_error(&g_error, _cb, &status, CMPI_RC_ERR_FAILED, "rdcp_dbus_initialize failed"); + return handle_g_error(&g_error, _cb, &status, CMPI_RC_ERR_FAILED, + "rdcp_dbus_initialize failed"); } - GetDBusProperies(provider_props, REALM_DBUS_SERVICE_PATH, REALM_DBUS_PROVIDER_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(provider_props, REALM_DBUS_SERVICE_PATH, + REALM_DBUS_PROVIDER_INTERFACE, &status); g_variant_lookup(provider_props, "Realms", "ao", &iter); while (g_variant_iter_next(iter, "&o", &realm_obj_path)) { LMI_RealmdKerberosRealm realmd_realm; - GetDBusProperies(realm_props, realm_obj_path, REALM_DBUS_REALM_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(realm_props, realm_obj_path, + REALM_DBUS_REALM_INTERFACE, &status); if (!SupportsDBusInterface(realm_props, REALM_DBUS_KERBEROS_INTERFACE)) { G_VARIANT_FREE(realm_props); continue; } G_VARIANT_FREE(realm_props); - status = LMI_RealmdKerberosRealm_InitFromDBusPath(&realmd_realm, _cb, name_space, realm_obj_path); + status = LMI_RealmdKerberosRealm_InitFromDBusPath(&realmd_realm, _cb, + name_space, realm_obj_path); if (status.rc != CMPI_RC_OK) { goto exit; } diff --git a/LMI_RealmdRealmProvider.c b/LMI_RealmdRealmProvider.c index f73c766..d8e0a18 100644 --- a/LMI_RealmdRealmProvider.c +++ b/LMI_RealmdRealmProvider.c @@ -40,7 +40,8 @@ CMPIStatus LMI_RealmdRealm_InitFromDBusPath( return handle_g_error(&g_error, _cb, &status, CMPI_RC_ERR_FAILED, "rdcp_dbus_initialize failed"); } - GetDBusProperies(realm_props, dbus_path, REALM_DBUS_REALM_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(realm_props, dbus_path, + REALM_DBUS_REALM_INTERFACE, &status); LMI_RealmdRealmInitKeys(LMI_RealmdRealm, self, dbus_path); LMI_InitFromDBusRealmProps(LMI_RealmdRealm, self, realm_props); @@ -93,13 +94,15 @@ static CMPIStatus LMI_RealmdRealmEnumInstances( return handle_g_error(&g_error, _cb, &status, CMPI_RC_ERR_FAILED, "rdcp_dbus_initialize failed"); } - GetDBusProperies(provider_props, REALM_DBUS_SERVICE_PATH, REALM_DBUS_PROVIDER_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(provider_props, REALM_DBUS_SERVICE_PATH, + REALM_DBUS_PROVIDER_INTERFACE, &status); g_variant_lookup(provider_props, "Realms", "ao", &iter); while (g_variant_iter_next(iter, "&o", &realm_obj_path)) { LMI_RealmdRealm realmd_realm; - status = LMI_RealmdRealm_InitFromDBusPath(&realmd_realm, _cb, name_space, realm_obj_path); + status = LMI_RealmdRealm_InitFromDBusPath(&realmd_realm, _cb, + name_space, realm_obj_path); if (status.rc != CMPI_RC_OK) { goto exit; } diff --git a/LMI_RealmdServiceProvider.c b/LMI_RealmdServiceProvider.c index 2d0dc09..6d23427 100644 --- a/LMI_RealmdServiceProvider.c +++ b/LMI_RealmdServiceProvider.c @@ -33,12 +33,13 @@ get_joined_domain(GVariant *provider_props) g_variant_lookup(provider_props, "Realms", "ao", &iter); while (g_variant_iter_next(iter, "&o", &realm_obj_path)) { - GetDBusProperies(realm_props, realm_obj_path, REALM_DBUS_REALM_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(realm_props, realm_obj_path, + REALM_DBUS_REALM_INTERFACE, &status); if (g_variant_lookup(realm_props, "Configured", "&s", &configured_interface)) { if (strlen(configured_interface)) { if (strcmp(configured_interface, REALM_DBUS_KERBEROS_MEMBERSHIP_INTERFACE) == 0) { - GetDBusProperies(kerberos_props, realm_obj_path, - REALM_DBUS_KERBEROS_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(kerberos_props, realm_obj_path, + REALM_DBUS_KERBEROS_INTERFACE, &status); if (g_variant_lookup(kerberos_props, "DomainName", "&s", &domain_name)) { goto exit; } @@ -110,7 +111,8 @@ static CMPIStatus LMI_RealmdServiceEnumInstances( LMI_InitRealmdServiceKeys(LMI_RealmdService, &lmi_realmd_service, name_space, host_name); - GetDBusProperies(provider_props, REALM_DBUS_SERVICE_PATH, REALM_DBUS_PROVIDER_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(provider_props, REALM_DBUS_SERVICE_PATH, + REALM_DBUS_PROVIDER_INTERFACE, &status); g_variant_lookup(provider_props, "Realms", "ao", &iter); n_items = g_variant_iter_n_children(iter); @@ -467,7 +469,8 @@ KUint32 LMI_RealmdService_Join_Leave_Domain( dbus_path = paths[0]; /* Lookup the realm properties so we can determine the supported DBus interfaces */ - GetDBusProperies(realm_props, dbus_path, REALM_DBUS_REALM_INTERFACE, status); + GET_DBUS_PROPERIES_OR_EXIT(realm_props, dbus_path, + REALM_DBUS_REALM_INTERFACE, status); if (!SupportsDBusInterface(realm_props, REALM_DBUS_KERBEROS_MEMBERSHIP_INTERFACE)) { SetCMPIStatus(cb, status, CMPI_RC_ERR_FAILED, "Domain (%s) does not support joining or leaving", Domain->chars); @@ -475,8 +478,8 @@ KUint32 LMI_RealmdService_Join_Leave_Domain( goto exit; } - GetDBusProperies(kerberos_membership_props, dbus_path, - REALM_DBUS_KERBEROS_MEMBERSHIP_INTERFACE, status); + GET_DBUS_PROPERIES_OR_EXIT(kerberos_membership_props, dbus_path, + REALM_DBUS_KERBEROS_MEMBERSHIP_INTERFACE, status); if (!g_variant_lookup(kerberos_membership_props, supported_credentials_property, "@a(ss)", &supported_creds)) { diff --git a/LMI_ServiceAffectsRealmdRealmProvider.c b/LMI_ServiceAffectsRealmdRealmProvider.c index 68f97e3..70d65f4 100644 --- a/LMI_ServiceAffectsRealmdRealmProvider.c +++ b/LMI_ServiceAffectsRealmdRealmProvider.c @@ -56,7 +56,8 @@ static CMPIStatus LMI_ServiceAffectsRealmdRealmEnumInstances( return handle_g_error(&g_error, _cb, &status, CMPI_RC_ERR_FAILED, "rdcp_dbus_initialize failed"); } - GetDBusProperies(provider_props, REALM_DBUS_SERVICE_PATH, REALM_DBUS_PROVIDER_INTERFACE, &status); + GET_DBUS_PROPERIES_OR_EXIT(provider_props, REALM_DBUS_SERVICE_PATH, + REALM_DBUS_PROVIDER_INTERFACE, &status); g_variant_lookup(provider_props, "Realms", "ao", &iter); while (g_variant_iter_next(iter, "&o", &realm_obj_path)) { diff --git a/rdcp_dbus.h b/rdcp_dbus.h index 849d6f8..d050071 100644 --- a/rdcp_dbus.h +++ b/rdcp_dbus.h @@ -46,15 +46,21 @@ gboolean rdcp_dbus_initialize(GError **g_error); #ifdef RDCP_DEBUG -#define PrintDBusProperties(dbus_props, dbus_path, dbus_interface) \ +#define PRINT_DBUS_PROPERTIES(dbus_props, dbus_path, dbus_interface) \ print_properties(dbus_props, "%s: Properties for %s, interface=%s", \ __FUNCTION__, dbus_path, dbus_interface); #else -#define PrintDBusProperties(dbus_properties, dbus_path, dbus_interface) +#define PRINT_DBUS_PROPERTIES(dbus_properties, dbus_path, dbus_interface) #endif -#define GetDBusProperies(dbus_props, dbus_path, dbus_interface, status) \ +#define GET_DBUS_PROPERIES_OR_EXIT(dbus_props, dbus_path, dbus_interface, status) \ { \ + if (dbus_props != NULL) { \ + handle_g_error(&g_error, _cb, status, CMPI_RC_ERR_FAILED, \ + "get_dbus_properties failed, dbus_props was non-NULL (%s:%d)", \ + __FILE__, __LINE__); \ + goto exit; \ + } \ if (!get_dbus_properties(system_bus, dbus_path, dbus_interface, &dbus_props, &g_error)) { \ handle_g_error(&g_error, _cb, status, CMPI_RC_ERR_FAILED, \ "get_dbus_properties failed, path=%s interface=%s", \ @@ -62,7 +68,7 @@ rdcp_dbus_initialize(GError **g_error); goto exit; \ } \ \ - PrintDBusProperties(dbus_props, dbus_path, dbus_interface); \ + PRINT_DBUS_PROPERTIES(dbus_props, dbus_path, dbus_interface); \ } #endif /* __RDCP_DBUS_H__ */ |