diff options
Diffstat (limited to 'src/initconf.c')
| -rw-r--r-- | src/initconf.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/initconf.c b/src/initconf.c index 205c97a..538f344 100644 --- a/src/initconf.c +++ b/src/initconf.c | |||
| @@ -28,7 +28,6 @@ | |||
| 28 | 28 | ||
| 29 | #include "libiphone/libiphone.h" | 29 | #include "libiphone/libiphone.h" |
| 30 | #include "userpref.h" | 30 | #include "userpref.h" |
| 31 | #include "lockdown.h" | ||
| 32 | #include "utils.h" | 31 | #include "utils.h" |
| 33 | 32 | ||
| 34 | /** Generates a 2048 byte key, split into a function so that it can be run in a | 33 | /** Generates a 2048 byte key, split into a function so that it can be run in a |
| @@ -60,6 +59,35 @@ static void progress_bar(gpointer mutex) | |||
| 60 | g_thread_exit(0); | 59 | g_thread_exit(0); |
| 61 | } | 60 | } |
| 62 | 61 | ||
| 62 | int get_rand(int min, int max) | ||
| 63 | { | ||
| 64 | int retval = (rand() % (max - min)) + min; | ||
| 65 | return retval; | ||
| 66 | } | ||
| 67 | |||
| 68 | /** Generates a valid HostID (which is actually a UUID). | ||
| 69 | * | ||
| 70 | * @param A null terminated string containing a valid HostID. | ||
| 71 | */ | ||
| 72 | char *lockdownd_generate_hostid() | ||
| 73 | { | ||
| 74 | char *hostid = (char *) malloc(sizeof(char) * 37); // HostID's are just UUID's, and UUID's are 36 characters long | ||
| 75 | const char *chars = "ABCDEF0123456789"; | ||
| 76 | srand(time(NULL)); | ||
| 77 | int i = 0; | ||
| 78 | |||
| 79 | for (i = 0; i < 36; i++) { | ||
| 80 | if (i == 8 || i == 13 || i == 18 || i == 23) { | ||
| 81 | hostid[i] = '-'; | ||
| 82 | continue; | ||
| 83 | } else { | ||
| 84 | hostid[i] = chars[get_rand(0, 16)]; | ||
| 85 | } | ||
| 86 | } | ||
| 87 | hostid[36] = '\0'; // make it a real string | ||
| 88 | return hostid; | ||
| 89 | } | ||
| 90 | |||
| 63 | int main(int argc, char *argv[]) | 91 | int main(int argc, char *argv[]) |
| 64 | { | 92 | { |
| 65 | GThread *progress_thread, *key_thread; | 93 | GThread *progress_thread, *key_thread; |
