diff options
| -rw-r--r-- | src/ifuse.c | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/src/ifuse.c b/src/ifuse.c index f0f93a9..6a24bad 100644 --- a/src/ifuse.c +++ b/src/ifuse.c @@ -184,14 +184,22 @@ void *ifuse_init(struct fuse_conn_info *conn) {  	iPhone *phone = get_iPhone();  	if (!phone){  		fprintf(stderr, "No iPhone found, is it connected?\n"); +		   	return NULL; +	   	} +	 +	lockdownd_client *control = new_lockdownd_client(phone); +	if (!lockdownd_hello(control)) { +		fprintf(stderr, "Something went wrong in the lockdownd client.\n");  		return NULL;  	} -	lockdownd_client *control = NULL; -	if (!lockdownd_init(phone, &control)) { -		fprintf(stderr, "Something went wrong in the lockdownd client.\n"); +	host_id = get_host_id(); +	if ((host_id && !lockdownd_start_SSL_session(control, host_id)) || !host_id) { +		fprintf(stderr, "Something went wrong in GnuTLS. Is your HostID configured in .config/libiphone/libiphonerc?\n");  		return NULL;  	} +	free(host_id); +	host_id = NULL;  	port = lockdownd_start_service(control, "com.apple.afc");  	if (!port) { | 
