summaryrefslogtreecommitdiffstats
path: root/tools/idevicebackup2.c
AgeCommit message (Collapse)AuthorFilesLines
2016-04-01idevicebackup: fix some timestamps that are relative to the Mac epoch ↵Gravatar BALATON Zoltan1-3/+4
instead of Unix one
2015-10-06tools: Use PACKAGE_URL define for homepage project links in usage outputGravatar Martin Szulecki1-1/+5
2015-01-28Remove trailing whitespace errors from all filesGravatar Martin Szulecki1-22/+19
2015-01-27tools: Add link to project homepage on usage outputGravatar Martin Szulecki1-0/+1
2014-12-08Replace () with (void) in libinternalcommon and tools for consistencyGravatar Martin Szulecki1-1/+1
2014-10-22common: Move size format helper to utils and use it in idevicebackup toolsGravatar Martin Szulecki1-22/+3
2014-10-22common: Move string_toupper() helper to utils and use it in idevicebackup toolsGravatar Martin Szulecki1-11/+1
2014-10-22common: Share idevicebackup helper string_build_path() from utilsGravatar Martin Szulecki1-45/+18
2014-10-11tools: Make sure to print an error when lockdown connection failsGravatar Nikias Bassen1-1/+2
2014-10-05idevicebackup2: Fix error variables for type consistencyGravatar Martin Szulecki1-6/+7
2014-10-02idevicebackup2: Fix backup failure for passcode devices entering lock screenGravatar Martin Szulecki1-1/+1
A device would report "ErrorCode 1: Error copying keychain data (MBErrorDomain/1)" if a device entered lock state and had a passcode enabled during the backup or restore process. To prevent this, an escrow bag must be sent when starting the service to keep the operation "alive".
2014-10-02idevicebackup2: Use macro instead of plain AFC service nameGravatar Martin Szulecki1-1/+1
2014-10-02idevicebackup2: Use correct label for lockdown requestsGravatar Martin Szulecki1-2/+2
2014-09-13idevicebackup2: Fix retry loop when device requests 0 filesGravatar Nikias Bassen1-1/+0
Under certain circumstances a device could request an empty array of filenames to be transferred with DLMessageDownloadFiles. This was not handled correctly in idevicebackup2 by just doing nothing, resulting in a 'retry loop' waiting endlessly for new messages from the device. The solution is to send a termination packet and a success status response. Thanks to pondahai for reporting.
2014-08-06idevicebackup2/idevicebackup: Remove code duplication and use common code ↵Gravatar Nikias Bassen1-92/+1
for reading/writing plist files
2014-06-21idevicebackup2: Use afc_dictionary_free() helper instead of custom codeGravatar Martin Szulecki1-16/+3
2014-05-03idevicebackup2: Plug more memory leaksGravatar Nikias Bassen1-1/+8
2014-05-03idevicebackup2: Make sure to free idevice object in error conditionsGravatar Nikias Bassen1-0/+3
2014-05-03idevicebackup2: Plug small memory leakGravatar Nikias Bassen1-1/+1
2014-05-01idevicebackup2: Fix invalid check for password given on command lineGravatar Nikias Bassen1-1/+1
2014-03-24idevicebackup2: add cast to silence compiler warningGravatar Nikias Bassen1-1/+1
2014-03-24idevicebackup2: WIN32: Use _stati64() instead of stat() so we can handle ↵Gravatar Nikias Bassen1-2/+17
file sizes > 4GB
2014-03-20Bump dependency to libplist 1.11 and remove use of "plist_dict_insert_item()"Gravatar Martin Szulecki1-38/+38
2014-03-04idevicebackup2: Remove service name defines obsoleted by public headersGravatar Martin Szulecki1-3/+0
2014-01-31idevicebackup2: allow unbacking encrypted backups (given the password)Gravatar Nikias Bassen1-2/+6
2013-09-27idevicebackup2: Cloud support broke other commands thus change it be a commandGravatar Martin Szulecki1-24/+51
The experimental cloud support was triggered on each run of any command which caused some to break on devices without iCloud setup. We now trigger the cloud support in a separate command to fix this and allow further investigation into a proper implementation.
2013-09-22idevicebackup2: suppress message when notification_proxy gets disconnectedGravatar Nikias Bassen1-0/+3
2013-09-22idevicebackup2: fix possible crash due to use-after-freeGravatar Nikias Bassen1-0/+1
2013-09-21idevicebackup2: Add experimental support for using backups in the cloudGravatar Martin Szulecki1-3/+22
2013-09-21idevicebackup2: Add argument to enforce a full backup from deviceGravatar Martin Szulecki1-2/+14
2013-08-08idevicebackup2: Implement support for encrypted backups in Unback commandGravatar Aaron Burghardt1-1/+9
Allows to specify a password for the Unback request. It is also sent in the main message, not in an options dictionary.
2013-06-30 Fixed leaked plist uint which is passed to ↵Gravatar Aaron Burghardt1-1/+3
mobilebackup2_send_status_response().
2013-06-30Fixed multiple occurrences of memory leaks when empty plist dicts are passed ↵Gravatar Aaron Burghardt1-5/+13
to mobilebackup2_send_status_response().
2013-06-30Fixed leaked lockdowns client object in do_post_notification().Gravatar Aaron Burghardt1-0/+1
2013-06-30Fixed memory leak in mb2_status_check_snapshot_state() by freeing the string ↵Gravatar Aaron Burghardt1-0/+1
returned from plist_get_string_val().
2013-06-30Fixed memory leak by creating empty plist dict for iTunes settings only when ↵Gravatar Aaron Burghardt1-2/+2
it can’t be retrieved from the lockdown connection. That mimics the leaking implementation, but maybe it should be an error.
2013-05-23Silence compiler warnings for win32 buildsGravatar Martin Szulecki1-2/+1
2013-03-18idevicebackup2: Fix integer overflow bug on 32-bit architecturesGravatar Martin Szulecki1-1/+1
2013-03-14global: make sure to check service before checking service->port to prevent ↵Gravatar Nikias Bassen1-8/+3
crashes
2013-02-26Refactor port number use into service descriptor to enable SSL for servicesGravatar Martin Szulecki1-17/+37
This is a major change which breaks API but is required in order to support SSL communication for services as used by network connections.
2013-02-09idevicebackup2: added interactive mode (-i) for password inputGravatar Nikias Bassen1-4/+17
2013-02-01idevicebackup2: fix invalid free in mkdir_with_parentsGravatar Nikias Bassen1-3/+3
2013-01-24idevicebackup2: change several global variables to local onesGravatar Nikias Bassen1-52/+59
2013-01-24idevicebackup2: fix invalid whitespaceGravatar Nikias Bassen1-2/+2
2013-01-24idevicebackup2: use reported error code instead of 0 as exit codeGravatar Nikias Bassen1-4/+8
2013-01-24idevicebackup2: make sure -1 is returned if invalid arguments are passedGravatar Nikias Bassen1-6/+6
2013-01-16idevicebackup2: Refactor output of overall progress for more frequent reportingGravatar Martin Szulecki1-10/+36
2013-01-16idevicebackup2: request password interactively if required on restoreGravatar Nikias Bassen1-0/+34
2013-01-16idevicebackup2: allow setting encryption on/off and change backup passwordGravatar Nikias Bassen1-24/+275
2013-01-07idevicebackup2: Fix nasty "too long filename received" bugGravatar Martin Szulecki1-35/+68
If the device is sending files to the host, it sometimes requires a bit more time to process them before sending. This appeared to happen mostly for larger sqlite databases which appear to get some preprocessing on the device. In such a "wait" situation, we receive no data and need to retry reading the filename length again. Due to a code bug though which didn't reset the last read length to zero, this length was incorrectly alternating between 1 and 16777216 due to the byte swapping. This ulitmativly lead to a broken backup process. Now we properly wait for the device to preprocess any file before sending the filename to the host.