From be506a9f7fc49602ffb677a5a94fc96a726149ec Mon Sep 17 00:00:00 2001 From: Julius Trinkunas Date: Wed, 22 Jul 2015 18:16:31 +0300 Subject: [PATCH 1/6] Fixes #157 - Bad error formatting string in check_error() --- ios-deploy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ios-deploy.c b/ios-deploy.c index 9966ccd..e734fba 100644 --- a/ios-deploy.c +++ b/ios-deploy.c @@ -193,7 +193,7 @@ const int exitcode_app_crash = 254; { \ const char* msg = get_error_message(err); \ /*on_error("Error 0x%x: %s " #call, err, msg ? msg : "unknown.");*/ \ - on_error(@"Error 0x%x: %s " #call, err, msg ? [NSString stringWithUTF8String:msg] : @"unknown."); \ + on_error(@"Error 0x%x: %@ " #call, err, msg ? [NSString stringWithUTF8String:msg] : @"unknown."); \ } \ } while (false); From 73f30fdfed7cb4a6d0002e30b204571434d1fb3a Mon Sep 17 00:00:00 2001 From: Julius Trinkunas Date: Wed, 22 Jul 2015 18:19:02 +0300 Subject: [PATCH 2/6] Add text for 0xe8008019 error. --- errors.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/errors.h b/errors.h index 106ab28..4cdebec 100644 --- a/errors.h +++ b/errors.h @@ -168,7 +168,9 @@ static errorcode_to_id_t errorcode_to_id[] = { { 0xe800009b, "kAMDMCChallengeRequired" }, { 0xe800009c, "kAMDMissingBundleVersionError" }, + // Errors without id->string mapping. { 0xe8008015, "A valid provisioning profile for this executable was not found."}, + { 0xe8008019, "The application does not have a valid signature." }, }; const int errorcode_to_id_count = sizeof(errorcode_to_id) / sizeof(errorcode_to_id_t); From 835e161f6665f364a1f7d742aafd514f6a7085e7 Mon Sep 17 00:00:00 2001 From: Julius Trinkunas Date: Wed, 22 Jul 2015 18:33:51 +0300 Subject: [PATCH 3/6] Add text for 0xe800801c error. --- errors.h | 1 + 1 file changed, 1 insertion(+) diff --git a/errors.h b/errors.h index 4cdebec..b3b4815 100644 --- a/errors.h +++ b/errors.h @@ -171,6 +171,7 @@ static errorcode_to_id_t errorcode_to_id[] = { // Errors without id->string mapping. { 0xe8008015, "A valid provisioning profile for this executable was not found."}, { 0xe8008019, "The application does not have a valid signature." }, + { 0xe800801c, "No code signature found." }, }; const int errorcode_to_id_count = sizeof(errorcode_to_id) / sizeof(errorcode_to_id_t); From 307a5f94528e92cc2d8a02855731b69f5a155c0b Mon Sep 17 00:00:00 2001 From: Julius Trinkunas Date: Tue, 28 Jul 2015 13:00:15 +0300 Subject: [PATCH 4/6] Add text for error 0xe8008018. --- errors.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/errors.h b/errors.h index b3b4815..6a3160a 100644 --- a/errors.h +++ b/errors.h @@ -169,7 +169,8 @@ static errorcode_to_id_t errorcode_to_id[] = { { 0xe800009c, "kAMDMissingBundleVersionError" }, // Errors without id->string mapping. - { 0xe8008015, "A valid provisioning profile for this executable was not found."}, + { 0xe8008015, "A valid provisioning profile for this executable was not found." }, + { 0xe8008018, "The identity used to sign the executable is no longer valid. Please verify that your device’s clock is properly set, and that your signing certificate is not expired." }, { 0xe8008019, "The application does not have a valid signature." }, { 0xe800801c, "No code signature found." }, }; From 5eb12202b29216e9242a9f6048aeffae7a177c6a Mon Sep 17 00:00:00 2001 From: Julius Trinkunas Date: Mon, 10 Aug 2015 16:01:13 +0300 Subject: [PATCH 5/6] Add attribution for error code reverse engineering. --- LICENSE | 6 ++++++ errors.h | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index e8010a3..f8e017a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,2 +1,8 @@ ios-deploy is available under the provisions of the GNU General Public License, version 3 (or later), available here: http://www.gnu.org/licenses/gpl-3.0.html + + +Error codes used for error messages were taken from SDMMobileDevice framework, +originally reverse engineered by Sam Marshall. SDMMobileDevice is distributed +under BSD 3-Clause license and is available here: +https://github.com/samdmarshall/SDMMobileDevice diff --git a/errors.h b/errors.h index 6a3160a..616ec70 100644 --- a/errors.h +++ b/errors.h @@ -9,7 +9,8 @@ typedef struct error_id_to_message { const char* message; } error_id_to_message_t; -// Taken from https://github.com/samdmarshall/SDMMobileDevice/blob/master/Framework/MobileDevice/Error/SDMMD_Error.h +// Most error codes are taken from SDMMobileDevice framework, and were reverse engineered by Sam Marshall. +// https://github.com/samdmarshall/SDMMobileDevice/blob/master/Framework/MobileDevice/Error/SDMMD_Error.h static errorcode_to_id_t errorcode_to_id[] = { { 0xe8000001, "kAMDUndefinedError" }, { 0xe8000002, "kAMDBadHeaderError" }, From 2c9ea8f16ef1aa251e4cfa5f41d9cab8d088c57a Mon Sep 17 00:00:00 2001 From: Julius Trinkunas Date: Tue, 11 Aug 2015 13:28:04 +0300 Subject: [PATCH 6/6] Add attribution for error code reverse engineering. Second try. --- errors.h | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/errors.h b/errors.h index 616ec70..fe8f42f 100644 --- a/errors.h +++ b/errors.h @@ -9,8 +9,29 @@ typedef struct error_id_to_message { const char* message; } error_id_to_message_t; -// Most error codes are taken from SDMMobileDevice framework, and were reverse engineered by Sam Marshall. +// Parts of error code to localization id map is taken from SDMMobileDevice framework. Associated license is bellow. // https://github.com/samdmarshall/SDMMobileDevice/blob/master/Framework/MobileDevice/Error/SDMMD_Error.h +// +// Copyright (c) 2014, Sam Marshall +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without modification, are permitted provided that the +// following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the distribution. +// +// 3. Neither the name of Sam Marshall nor the names of its contributors may be used to endorse or promote products derived from this +// software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +// COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. static errorcode_to_id_t errorcode_to_id[] = { { 0xe8000001, "kAMDUndefinedError" }, { 0xe8000002, "kAMDBadHeaderError" },