diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile.am | 6 | ||||
-rw-r--r-- | src/initconf.c | 33 | ||||
-rw-r--r-- | src/lockdown.h | 2 |
3 files changed, 14 insertions, 27 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index dc32c04..674f19c 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,6 +5,6 @@ bin_PROGRAMS = iphoneclient ifuse libiphone-initconf iphoneclient_SOURCES = usbmux.c main.c iphone.c plist.c lockdown.c AFC.c userpref.c ifuse_SOURCES = ifuse.c usbmux.c iphone.c plist.c lockdown.c AFC.c userpref.c -libiphone_initconf_SOURCES = initconf.c userpref.c -libiphone_initconf_CFLAGS = $(libgthread2_CFLAGS) -libiphone_initconf_LDFLAGS = $(libgthread2_LIBS) +libiphone_initconf_SOURCES = initconf.c userpref.c lockdown.c plist.c usbmux.c iphone.c +libiphone_initconf_CFLAGS = $(libgthread2_CFLAGS) $(AM_CFLAGS) +libiphone_initconf_LDFLAGS = $(libgthread2_LIBS) $(AM_LDFLAGS) diff --git a/src/initconf.c b/src/initconf.c index 8944ab4..b900f7f 100644 --- a/src/initconf.c +++ b/src/initconf.c @@ -25,38 +25,23 @@ #include <gnutls/gnutls.h> #include <gnutls/x509.h> #include <glib.h> + #include "userpref.h" +#include "lockdown.h" int debug = 1; -int get_rand(int min, int max) { - int retval = (rand() % (max - min)) + min; - return retval; -} - -char *lockdownd_generate_hostid() { - char *hostid = (char*)malloc(sizeof(char) * 37); // HostID's are just UUID's, and UUID's are 36 characters long - const char *chars = "ABCDEF0123456789"; - srand(time(NULL)); - int i = 0; - - for (i = 0; i < 36; i++) { - if (i == 8 || i == 13 || i == 18 || i == 23) { - hostid[i] = '-'; - continue; - } else { - hostid[i] = chars[get_rand(0,16)]; - } - } - hostid[36] = '\0'; - return hostid; -} - +/** Generates a 2048 byte key, split into a function so that it can be run in a + * thread. + * + * @param key The pointer to the desired location of the new key. + */ void generate_key(gpointer key){ gnutls_x509_privkey_generate(*((gnutls_x509_privkey_t*)key), GNUTLS_PK_RSA, 2048, 0); g_thread_exit(0); } - +/** Simple function that generates a spinner until the mutex is released. + */ void progress_bar(gpointer mutex){ const char *spinner = "|/-\\|/-\\"; int i = 0; diff --git a/src/lockdown.h b/src/lockdown.h index 56c133d..6b27900 100644 --- a/src/lockdown.h +++ b/src/lockdown.h @@ -22,6 +22,7 @@ #ifndef LOCKDOWND_H #define LOCKDOWND_H +#include "usbmux.h" #include "plist.h" #include <gnutls/gnutls.h> @@ -36,6 +37,7 @@ typedef struct { } lockdownd_client; int lockdownd_init(iPhone *phone, lockdownd_client **control); +char *lockdownd_generate_hostid(); lockdownd_client *new_lockdownd_client(iPhone *phone); int lockdownd_hello(lockdownd_client *control); |