summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am6
-rw-r--r--src/initconf.c33
-rw-r--r--src/lockdown.h2
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);