diff options
-rw-r--r-- | src/common.h | 3 | ||||
-rw-r--r-- | src/recovery.c | 10 |
2 files changed, 12 insertions, 1 deletions
diff --git a/src/common.h b/src/common.h index 6e1441a..1949a8c 100644 --- a/src/common.h +++ b/src/common.h @@ -134,7 +134,8 @@ struct idevicerestore_client_t { uint64_t ecid; unsigned char* nonce; int nonce_size; - const char* uuid; + char* uuid; + char* srnm; const char* ipsw; const char* filesystem; struct dfu_client_t* dfu; diff --git a/src/recovery.c b/src/recovery.c index 279fe50..41ed4fb 100644 --- a/src/recovery.c +++ b/src/recovery.c @@ -83,6 +83,16 @@ int recovery_client_new(struct idevicerestore_client_t* client) { debug("Retrying connection...\n"); } + if (client->srnm == NULL) { + char snbuf[256]; + snbuf[0] = '\0'; + irecv_get_srnm(recovery, snbuf); + if (snbuf[0] != '\0') { + client->srnm = strdup(snbuf); + info("INFO: device serial number is %s\n", client->srnm); + } + } + irecv_event_subscribe(recovery, IRECV_PROGRESS, &recovery_progress_callback, NULL); client->recovery->client = recovery; return 0; |