summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--LMI_RealmdKerberosRealmProvider.c22
-rw-r--r--LMI_RealmdRealmProvider.c9
-rw-r--r--LMI_RealmdServiceProvider.c17
-rw-r--r--LMI_ServiceAffectsRealmdRealmProvider.c3
-rw-r--r--rdcp_dbus.h14
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__ */