]> git.saurik.com Git - apt-legacy.git/blobdiff - methods/http.cc.orig
Finalized 2.1 Cydia.
[apt-legacy.git] / methods / http.cc.orig
index 75930cab37cd276647215a81326430c1cf3e7366..e56ec17972fef7eea95e3027c7c0f63887789d6b 100644 (file)
@@ -46,6 +46,7 @@
 #include <netdb.h>
 #include <arpa/inet.h>
 
+#include <lockdown.h>
 #include <CoreFoundation/CoreFoundation.h>
 #include <CoreServices/CoreServices.h>
 #include <SystemConfiguration/SystemConfiguration.h>
@@ -59,7 +60,7 @@ using namespace std;
 
 CFStringRef Firmware_;
 const char *Machine_;
-const char *SerialNumber_;
+CFStringRef UniqueID_;
 
 void CfrsError(const char *name, CFReadStreamRef rs) {
     CFStreamError se = CFReadStreamGetError(rs);
@@ -1159,9 +1160,8 @@ int HttpMethod::Loop()
       CFHTTPMessageSetHeaderFieldValue(hm, CFSTR("X-Machine"), sr);
       CFRelease(sr);
 
-      sr = CFStringCreateWithCString(kCFAllocatorDefault, SerialNumber_, se);
-      CFHTTPMessageSetHeaderFieldValue(hm, CFSTR("X-Serial-Number"), sr);
-      CFRelease(sr);
+      if (UniqueID_ != NULL)
+         CFHTTPMessageSetHeaderFieldValue(hm, CFSTR("X-Unique-ID"), UniqueID_);
 
       CFHTTPMessageSetHeaderFieldValue(hm, CFSTR("User-Agent"), CFSTR("Telesphoreo APT-HTTP/1.0.98"));
 
@@ -1400,15 +1400,10 @@ int main()
         CFRelease(plist);
     }
 
-    if (CFMutableDictionaryRef dict = IOServiceMatching("IOPlatformExpertDevice"))
-        if (io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, dict)) {
-            if (CFTypeRef serial = IORegistryEntryCreateCFProperty(service, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, 0)) {
-                SerialNumber_ = strdup(CFStringGetCStringPtr((CFStringRef) serial, CFStringGetSystemEncoding()));
-                CFRelease(serial);
-            }
-
-            IOObjectRelease(service);
-        }
+    if (void *lockdown = lockdown_connect()) {
+        UniqueID_ = lockdown_copy_value(lockdown, NULL, kLockdownUniqueDeviceIDKey);
+        lockdown_disconnect(lockdown);
+    }
    
    return Mth.Loop();
 }