summaryrefslogtreecommitdiffstats
path: root/src/lockdown.c
AgeCommit message (Collapse)AuthorFilesLines
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]
2009-11-17simplify gnutls_session_t useGravatar Christophe Fergeau1-19/+18
gnutls_session_t is already a pointer, we don't need to manipulate a gnutls_session_t* [#87 state:resolved] Signed-off-by: Matt Colyer <matt@colyer.name>
2009-11-17don't leak memory allocated for gnutls credentialsGravatar Christophe Fergeau1-6/+6
2009-11-11Finish migration to latest plist API.Gravatar Jonathan Beck1-53/+22
[#77 state:resolved] Signed-off-by: Matt Colyer <matt@colyer.name>
2009-10-13Update to latest libplist API.Gravatar Jonathan Beck1-55/+29
Signed-off-by: Matt Colyer <matt@colyer.name> [#77 state:resolved]
2009-09-12Public API rework, extension and adaption to latest libusbmuxd-1.0 API.Gravatar Nikias Bassen1-12/+14
2009-08-01Avoid invalid memory accesses in lockdownd_client_new()Gravatar Bastien Nocera1-1/+1
Valgrind complains: ==2678== Conditional jump or move depends on uninitialised value(s) ==2678== at 0x3ACD40646C: lockdownd_client_new (lockdown.c:662) ==2678== by 0x405BA6: g_vfs_afc_volume_new (afc-volume.c:113) ==2678== by 0x406541: g_vfs_afc_monitor_device_added (afc-volume-monitor.c:46) ==2678== by 0x4066B1: g_vfs_afc_volume_monitor_constructor (afc-volume-monitor.c:173) ==2678== by 0x3A7FE11A38: g_object_newv (in /lib64/libgobject-2.0.so.0.2000.4) ==2678== by 0x3A7FE12584: g_object_new_valist (in /lib64/libgobject-2.0.so.0.2000.4) ==2678== by 0x3A7FE126DB: g_object_new (in /lib64/libgobject-2.0.so.0.2000.4) ==2678== by 0x408AD5: monitor_try_create (gvfsproxyvolumemonitordaemon.c:1651) ==2678== by 0x408C20: g_vfs_proxy_volume_monitor_daemon_main (gvfsproxyvolumemonitordaemon.c:1694) ==2678== by 0x37E881EA2C: (below main) (in /lib64/libc-2.10.1.so) ==2678== Uninitialised value was created by a stack allocation ==2678== at 0x405B00: g_vfs_afc_volume_new (afc-volume.c:138)
2009-07-28Fix potential memory corruption in calls to gnutls function on 64 bit archGravatar Nikias Bassen1-3/+5
[#60 state:resolved] Signed-off-by: Matt Colyer <matt@colyer.name>
2009-07-25Conform to protocol and add session id argument to lockdownd_stop_session()Gravatar Martin Szulecki1-3/+3
2009-07-25Update lockdown API and introduce new error codesGravatar Martin Szulecki1-149/+156
2009-07-25Improve API of userpref systemGravatar Martin Szulecki1-20/+38
2009-07-24Use iphone_device_get_uuid() not lockdown, for less overhead where possibleGravatar Martin Szulecki1-11/+10
2009-07-24Improve debug output messages by using __func__ everywhere and adjust wordingGravatar Martin Szulecki1-51/+44
2009-07-15Implement lockdown set_value, remove_value and enter_recovery request APIGravatar Martin Szulecki1-4/+159