summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main.c24
-rw-r--r--usbmuxd.h4
2 files changed, 14 insertions, 14 deletions
diff --git a/main.c b/main.c
index f08a196..76f5c20 100644
--- a/main.c
+++ b/main.c
@@ -282,7 +282,7 @@ static int usbmuxd_handleConnectResult(struct client_data *cdata)
282 } 282 }
283 } else { 283 } else {
284 result = 0; 284 result = 0;
285 err = iphone_mux_recv_timeout(cdata->muxclient, buffer, maxlen, &rlen, 1000); 285 err = iphone_mux_recv_timeout(cdata->muxclient, buffer, maxlen, &rlen, 100);
286 if (err != 0) { 286 if (err != 0) {
287 fprintf(stderr, "%s: encountered USB read error: %d\n", __func__, err); 287 fprintf(stderr, "%s: encountered USB read error: %d\n", __func__, err);
288 usbmuxd_send_result(cdata->socket, cdata->tag, -err); 288 usbmuxd_send_result(cdata->socket, cdata->tag, -err);
@@ -460,7 +460,7 @@ static void *usbmuxd_bulk_reader_thread(void *arg)
460static void *usbmuxd_client_init_thread(void *arg) 460static void *usbmuxd_client_init_thread(void *arg)
461{ 461{
462 struct client_data *cdata; 462 struct client_data *cdata;
463 struct usbmuxd_hello *hello = NULL; 463 struct usbmuxd_scan_request *s_req = NULL;
464 struct usbmuxd_device_info_request dev_info_req; 464 struct usbmuxd_device_info_request dev_info_req;
465 struct usbmuxd_connect_request *c_req = NULL; 465 struct usbmuxd_connect_request *c_req = NULL;
466 466
@@ -487,25 +487,25 @@ static void *usbmuxd_client_init_thread(void *arg)
487 487
488 fprintf(stderr, "%s: started (fd=%d)\n", __func__, cdata->socket); 488 fprintf(stderr, "%s: started (fd=%d)\n", __func__, cdata->socket);
489 489
490 if ((recv_len = usbmuxd_get_request(cdata->socket, (void**)&hello, 0)) <= 0) { 490 if ((recv_len = usbmuxd_get_request(cdata->socket, (void**)&s_req, 0)) <= 0) {
491 fprintf(stderr, "%s: No Hello packet received, error %s\n", __func__, strerror(errno)); 491 fprintf(stderr, "%s: No Hello packet received, error %s\n", __func__, strerror(errno));
492 goto leave; 492 goto leave;
493 } 493 }
494 494
495 if ((recv_len == sizeof(struct usbmuxd_hello)) && (hello->header.length == sizeof(struct usbmuxd_hello)) 495 if ((recv_len == sizeof(struct usbmuxd_scan_request)) && (s_req->header.length == sizeof(struct usbmuxd_scan_request))
496 && (hello->header.reserved == 0) && (hello->header.type == USBMUXD_HELLO)) { 496 && (s_req->header.reserved == 0) && (s_req->header.type == USBMUXD_SCAN)) {
497 // send success response 497 // send success response
498 fprintf(stderr, "%s: Got Hello packet!\n", __func__); 498 fprintf(stderr, "%s: Got Hello packet!\n", __func__);
499 usbmuxd_send_result(cdata->socket, hello->header.tag, 0); 499 usbmuxd_send_result(cdata->socket, s_req->header.tag, 0);
500 } else if ((recv_len == sizeof(struct usbmuxd_connect_request)) && (hello->header.type == USBMUXD_CONNECT)) { 500 } else if ((recv_len == sizeof(struct usbmuxd_connect_request)) && (s_req->header.type == USBMUXD_CONNECT)) {
501 c_req = (struct usbmuxd_connect_request*)hello; 501 c_req = (struct usbmuxd_connect_request*)s_req;
502 hello = NULL; 502 s_req = NULL;
503 goto connect; 503 goto connect;
504 } else { 504 } else {
505 // send error response and exit 505 // send error response and exit
506 fprintf(stderr, "%s: Invalid Hello packet received.\n", __func__); 506 fprintf(stderr, "%s: Invalid Hello packet received.\n", __func__);
507 // TODO is this required?! 507 // TODO is this required?!
508 usbmuxd_send_result(cdata->socket, hello->header.tag, EINVAL); 508 usbmuxd_send_result(cdata->socket, s_req->header.tag, EINVAL);
509 goto leave; 509 goto leave;
510 } 510 }
511 511
@@ -698,8 +698,8 @@ connect:
698leave: 698leave:
699 fprintf(stderr, "%s: terminating\n", __func__); 699 fprintf(stderr, "%s: terminating\n", __func__);
700 700
701 if (hello) { 701 if (s_req) {
702 free(hello); 702 free(s_req);
703 } 703 }
704 if (c_req) { 704 if (c_req) {
705 free(c_req); 705 free(c_req);
diff --git a/usbmuxd.h b/usbmuxd.h
index d749baf..a79df37 100644
--- a/usbmuxd.h
+++ b/usbmuxd.h
@@ -36,14 +36,14 @@ struct usbmuxd_device_info_request {
36 char padding[222]; 36 char padding[222];
37} __attribute__((__packed__)); 37} __attribute__((__packed__));
38 38
39struct usbmuxd_hello { 39struct usbmuxd_scan_request {
40 struct usbmuxd_header header; 40 struct usbmuxd_header header;
41} __attribute__((__packed__)); 41} __attribute__((__packed__));
42 42
43enum { 43enum {
44 USBMUXD_RESULT = 1, 44 USBMUXD_RESULT = 1,
45 USBMUXD_CONNECT = 2, 45 USBMUXD_CONNECT = 2,
46 USBMUXD_HELLO = 3, 46 USBMUXD_SCAN = 3,
47 USBMUXD_DEVICE_INFO = 4, 47 USBMUXD_DEVICE_INFO = 4,
48}; 48};
49 49