From 20671cb0ad7ba9c1f1f70d5fbdb271e4f30526fc Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Fri, 29 Jan 2010 02:17:40 +0100 Subject: Add LOCKDOWN_E_INVALID_ACTIVATION_RECORD if activation errors out --- src/lockdown.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') diff --git a/src/lockdown.c b/src/lockdown.c index 13f3d48..512ec9e 100644 --- a/src/lockdown.c +++ b/src/lockdown.c @@ -1337,7 +1337,19 @@ lockdownd_error_t lockdownd_activate(lockdownd_client_t client, plist_t activati if (lockdown_check_result(dict, "Activate") == RESULT_SUCCESS) { debug_info("success"); ret = LOCKDOWN_E_SUCCESS; + + } else { + plist_t error_node = plist_dict_get_item(dict, "Error"); + if (error_node && PLIST_STRING == plist_get_node_type(error_node)) { + char *error = NULL; + plist_get_string_val(error_node, &error); + if (!strcmp(error, "InvalidActivationRecord")) { + ret = LOCKDOWN_E_INVALID_ACTIVATION_RECORD; + } + free(error); + } } + plist_free(dict); dict = NULL; -- cgit v1.1-32-gdbae