summaryrefslogtreecommitdiffstats
path: root/src/lockdown.c
AgeCommit message (Collapse)AuthorFilesLines
2010-06-04lockdown: correctly handle activation_record parameter in lockdownd_activateGravatar Nikias Bassen1-1/+1
The activation_record was inserted into the request plist and freed at the end. If the user app then uses plist_free to free the activation record, it gets an invalid free. By using plist_copy the activation_record is not touched.
2010-05-28Add special handling for unpair request; probably a bug in the iPhone OSGravatar Martin Szulecki1-4/+13
2010-05-28Refactor lockdownd_client_new() internalsGravatar Martin Szulecki1-11/+3
2010-05-25Document that lockdownd automatically drops the connection when idleGravatar Martin Szulecki1-0/+7
2010-05-15Use a more general implementation to get data classes the device supportsGravatar Martin Szulecki1-45/+14
Some devices appear to not have anything set in com.apple.mobile.tethered_sync. Thus we use the more general com.apple.mobile.iTunes domain to query which seems to be supported on all tested devices.
2010-05-15Add documentation for lockdownd_get_sync_data_classes/data_classes_free()Gravatar Martin Szulecki1-0/+22
2010-05-13Plug some memory leaks in lockdownd due to missing free() callsGravatar Bryan Forbes1-1/+4
2010-05-13Add lockdownd_get_data_sync_classes() helper for mobilesync logicGravatar Bryan Forbes1-0/+111
2010-04-11Fix memory leak and actually set the label supplied for new lockdown clientsGravatar Martin Szulecki1-1/+1
2010-04-11plug memory leak in lockdownd_gen_pair_cert()Gravatar Petr Uzel1-0/+3
2010-04-11plug memory leak in lockdownd_gen_pair_cert()Gravatar Petr Uzel1-0/+10
2010-04-11plug memory leaks in generate_pair_record_plist()Gravatar Petr Uzel1-0/+7
2010-03-24Remove unused and fix some includesGravatar Nikias Bassen1-2/+0
2010-03-16Complete documentation of public interface and fix a lot of bogus commentsGravatar Martin Szulecki1-79/+168
This change unifies the documentation comment syntax, fixes a few bad documentation comments and completes documentation where it was missing.
2010-03-16Rename the *_int to *_private for better semantic and fix public typedefsGravatar Martin Szulecki1-1/+1
This changes the typedef logic slightly for the public headers in order for doxygen to correctly pickup and enable the client struct documentation.
2010-01-29Add LOCKDOWN_E_INVALID_ACTIVATION_RECORD if activation errors outGravatar Martin Szulecki1-0/+12
2010-01-29Global renames due to project rename to libimobiledeviceGravatar Nikias Bassen1-14/+14
2010-01-26Auto-pair devices within lockdownd_client_new_with_handshake()Gravatar Martin Szulecki1-3/+16
This brings back the automatic pairing feature if not yet paired. [#111 state:resolved]
2010-01-22Rename all *_recv functions to *_receive to match underlying APIGravatar Martin Szulecki1-13/+13
2010-01-21Add LOCKDOWN_E_INVALID_SERVICE error and functionalityGravatar Martin Szulecki1-2/+11
This error is returned if the service does not exist on the device. It comes handy to detect if for instance the AFC2 service is actually setup on a device or not.
2010-01-13lockdown/tools/python: use correct type for port parameterGravatar Nikias Bassen1-2/+2
2010-01-13Refactor pairing to allow implementations to fully handle pairingGravatar Martin Szulecki1-56/+108
Implementations can now supply a full pair record and thus use their own preferred method of managing pairing records if needed.
2010-01-13lockdown: Use more correct error code when SSL startup failsGravatar Nikias Bassen1-0/+3
2010-01-13lockdown/property_list_service: use new SSL codeGravatar Nikias Bassen1-196/+14
2010-01-12Refactor and unify internal debug system for ease of use and verbosityGravatar Martin Szulecki1-53/+53
This introduces a new debug_info macro which automatically prints the calling function, file and line number information instead of having that information passed to every old log_debug_msg call.
2010-01-12Remove support for debug masks due to inconsistent useGravatar Martin Szulecki1-41/+41
2010-01-12Rename utils to debug as it does exactly that, contain debug codeGravatar Martin Szulecki1-1/+1
2010-01-12Refactor lockdown session handling and expose it in public APIGravatar Martin Szulecki1-216/+218
This splits out SSL code and allows implementations to manually handle session start and stop if needed. Also brings the API closer to the lockdown request protocol.
2010-01-12Introduce error code for lockdownd requests which require a running sessionGravatar Martin Szulecki1-2/+8
2010-01-12Allow lockdown client creation without performing full handshakeGravatar Martin Szulecki1-4/+36
The lockdown constructor was doing more than needed. Pairing and session negotiation is now handled by lockdownd_client_new_with_handshake().
2010-01-12Rename in_SSL to ssl_enabled within lockdown private structGravatar Martin Szulecki1-8/+8
2010-01-12lockdownd: use new property_list_serviceGravatar Nikias Bassen1-22/+24
2010-01-11Make sure we can pass NULL as lockdown label to disable sending oneGravatar Martin Szulecki1-4/+10
2010-01-11Validate pairing on lockdown client creation to ensure trusted host statusGravatar Martin Szulecki1-0/+3
Apparently this is needed for every connection in order to ensure the lockdown value for TrustedHostAttached is true. In effect, this makes the device expose more functionality.
2010-01-10Extend lockdown_query_type to actually return the type of the service daemonGravatar Martin Szulecki1-4/+18
2010-01-10Merge branch 'master' of git://github.com/MattColyer/libiphone into martinGravatar Martin Szulecki1-79/+19
2010-01-09use new plist helper functionsGravatar Nikias Bassen1-79/+19
2010-01-08Detect pairing failure for device having a password setGravatar Martin Szulecki1-2/+16
[#101 state:resolved] The first pairing fails if a user has a password set on the device.
2010-01-08Implement lockdown activate and deactiveGravatar Martin Szulecki1-0/+88
Passing the right activiation record allows activating a phone using this functionality.
2010-01-08Implement lockdown unpair requestGravatar Martin Szulecki1-2/+23
2010-01-08Lowercase HostID parameter like everywhere elseGravatar Martin Szulecki1-7/+7
2010-01-08Allow set the label of a lockdown request, usually set to the program nameGravatar Martin Szulecki1-1/+45
2009-12-07New function lockdownd_validate_pair()Gravatar Nikias Bassen1-7/+40
This function allows the current host (or the host specified by the given HostID to become the trusted host of the device. [#89 state:resolved] Signed-off-by: Matt Colyer <matt@colyer.name>
2009-12-07Allow passing NULL as HostID to lockdownd_pair()Gravatar Nikias Bassen1-1/+11
When NULL is given as HostID, lockdownd_pair() will use the HostID available from userprefs.
2009-12-07cache device uuid in client structGravatar Nikias Bassen1-26/+25
When accessing/storing key info with userprefs, a device uuid is required that makes it possible to distinguish between different devices. On execution of lockdownd_client_new, the uuid is queried via lockdown and now stored in the client struct for later reuse. This patch also removes the uuid parameter from lockdownd_pair().
2009-12-07fix lockdownd_pair returning success on errorGravatar Nikias Bassen1-3/+2
This fixes a bug where lockdown_check_result() might return -1 and lockdownd_pair() still returns success. Thanks to dborca for spotting this.
2009-12-07better handling of session_idGravatar Nikias Bassen1-21/+26
This will change session_id out of the lockdownd_client_int struct to a pointer instead of using a buffer of fixed size. The session_id is allocated anyway by libplist when reading it from the plist received from the device, so why don't just use it? [#94 state:resolved] Signed-off-by: Matt Colyer <matt@colyer.name>
2009-12-07fix signature of lockdownd_stop_sessionGravatar Nikias Bassen1-3/+3
This removes the session_id parameter from lockdownd_stop_session because the session_id is stored in the lockdownd_client_int structure anyway.
2009-11-30Evaluate EnableSessionSSL key on session startupGravatar Nikias Bassen1-2/+18
This is required if the device does not send the EnableSessionSSL:true key-value pair in the answer to the StartSession request. [#92 state:resolved] Signed-off-by: Matt Colyer <matt@colyer.name>
2009-11-19set ssl_certificate to NULL in lockdownd_client_newGravatar Nikias Bassen1-0/+1
[#87 state:resolved]