aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Seikel2011-03-03 21:50:24 +1000
committerDavid Seikel2011-03-03 21:50:24 +1000
commitec5012c0a76a606c43e5f9fcf4a959251a503f6d (patch)
treee8a3192b093a042a0b27ea154886453c00f06364
parentOne half of a crude attempt at providing IRC support. (diff)
downloadmeta-impy-ec5012c0a76a606c43e5f9fcf4a959251a503f6d.zip
meta-impy-ec5012c0a76a606c43e5f9fcf4a959251a503f6d.tar.gz
meta-impy-ec5012c0a76a606c43e5f9fcf4a959251a503f6d.tar.bz2
meta-impy-ec5012c0a76a606c43e5f9fcf4a959251a503f6d.tar.xz
Privacy issue - Don't send private data across the 'net.
Yes, this makes the meta-impy viewer non compliant with LL's TPVP, we don't care this is a viewer for the meta grid. We care about privacy. We have our own effective methods of implementing bans.
-rw-r--r--linden/indra/newview/hippoupdate.cpp3
-rw-r--r--linden/indra/newview/llappviewerlinux.cpp2
-rw-r--r--linden/indra/newview/llappviewermacosx.cpp22
-rw-r--r--linden/indra/newview/llappviewerwin32.cpp24
-rw-r--r--linden/indra/newview/llstartup.cpp6
-rw-r--r--linden/indra/newview/llviewerstats.cpp4
6 files changed, 9 insertions, 52 deletions
diff --git a/linden/indra/newview/hippoupdate.cpp b/linden/indra/newview/hippoupdate.cpp
index 192e3d7..2ebcb48 100644
--- a/linden/indra/newview/hippoupdate.cpp
+++ b/linden/indra/newview/hippoupdate.cpp
@@ -28,8 +28,7 @@ bool HippoUpdate::checkUpdate()
28 28
29 // get mac address 29 // get mac address
30 char macAddress[18]; 30 char macAddress[18];
31 sprintf(macAddress, "%02x:%02x:%02x:%02x:%02x:%02x", 31 sprintf(macAddress, "%02x:%02x:%02x:%02x:%02x:%02x", 0, 1, 2, 3, 4, 5); // Not sending private info acress the 'net. Screw LL.
32 gMACAddress[0], gMACAddress[1], gMACAddress[2], gMACAddress[3], gMACAddress[4], gMACAddress[5]);
33 32
34 // build URL for update check 33 // build URL for update check
35 char url[1000]; 34 char url[1000];
diff --git a/linden/indra/newview/llappviewerlinux.cpp b/linden/indra/newview/llappviewerlinux.cpp
index 88ddf7e..eb713b8 100644
--- a/linden/indra/newview/llappviewerlinux.cpp
+++ b/linden/indra/newview/llappviewerlinux.cpp
@@ -741,7 +741,7 @@ std::string LLAppViewerLinux::generateSerialNumber()
741 char serial_md5[MD5HEX_STR_SIZE]; 741 char serial_md5[MD5HEX_STR_SIZE];
742 serial_md5[0] = 0; 742 serial_md5[0] = 0;
743 743
744 // TODO 744 // Don't do anything, serious privacy breach to leak internal identifying numbers out to the 'net.
745 745
746 return serial_md5; 746 return serial_md5;
747} 747}
diff --git a/linden/indra/newview/llappviewermacosx.cpp b/linden/indra/newview/llappviewermacosx.cpp
index 5496e5b..ee4648f 100644
--- a/linden/indra/newview/llappviewermacosx.cpp
+++ b/linden/indra/newview/llappviewermacosx.cpp
@@ -419,27 +419,7 @@ std::string LLAppViewerMacOSX::generateSerialNumber()
419 char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore 419 char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore
420 serial_md5[0] = 0; 420 serial_md5[0] = 0;
421 421
422 // JC: Sample code from http://developer.apple.com/technotes/tn/tn1103.html 422 // Don't do anything, serious privacy breach to leak internal identifying numbers out to the 'net.
423 CFStringRef serialNumber = NULL;
424 io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,
425 IOServiceMatching("IOPlatformExpertDevice"));
426 if (platformExpert) {
427 serialNumber = (CFStringRef) IORegistryEntryCreateCFProperty(platformExpert,
428 CFSTR(kIOPlatformSerialNumberKey),
429 kCFAllocatorDefault, 0);
430 IOObjectRelease(platformExpert);
431 }
432
433 if (serialNumber)
434 {
435 char buffer[MAX_STRING]; // Flawfinder: ignore
436 if (CFStringGetCString(serialNumber, buffer, MAX_STRING, kCFStringEncodingASCII))
437 {
438 LLMD5 md5( (unsigned char*)buffer );
439 md5.hex_digest(serial_md5);
440 }
441 CFRelease(serialNumber);
442 }
443 423
444 return serial_md5; 424 return serial_md5;
445} 425}
diff --git a/linden/indra/newview/llappviewerwin32.cpp b/linden/indra/newview/llappviewerwin32.cpp
index 6f67c3f..cba7174 100644
--- a/linden/indra/newview/llappviewerwin32.cpp
+++ b/linden/indra/newview/llappviewerwin32.cpp
@@ -600,27 +600,7 @@ std::string LLAppViewerWin32::generateSerialNumber()
600 char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore 600 char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore
601 serial_md5[0] = 0; 601 serial_md5[0] = 0;
602 602
603 DWORD serial = 0; 603 // Don't do anything, serious privacy breach to leak internal identifying numbers out to the 'net.
604 DWORD flags = 0; 604
605 BOOL success = GetVolumeInformation(
606 L"C:\\",
607 NULL, // volume name buffer
608 0, // volume name buffer size
609 &serial, // volume serial
610 NULL, // max component length
611 &flags, // file system flags
612 NULL, // file system name buffer
613 0); // file system name buffer size
614 if (success)
615 {
616 LLMD5 md5;
617 md5.update( (unsigned char*)&serial, sizeof(DWORD));
618 md5.finalize();
619 md5.hex_digest(serial_md5);
620 }
621 else
622 {
623 llwarns << "GetVolumeInformation failed" << llendl;
624 }
625 return serial_md5; 605 return serial_md5;
626} 606}
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp
index 78e560e..32aba13 100644
--- a/linden/indra/newview/llstartup.cpp
+++ b/linden/indra/newview/llstartup.cpp
@@ -1236,7 +1236,7 @@ bool idle_startup()
1236 1236
1237 char hashed_mac_string[MD5HEX_STR_SIZE]; /* Flawfinder: ignore */ 1237 char hashed_mac_string[MD5HEX_STR_SIZE]; /* Flawfinder: ignore */
1238 LLMD5 hashed_mac; 1238 LLMD5 hashed_mac;
1239 hashed_mac.update( gMACAddress, MAC_ADDRESS_BYTES ); 1239 hashed_mac.update( (const unsigned char*) "012345", MAC_ADDRESS_BYTES ); // Nope, LL ain't getting our MAC, and meta7 does not need it.
1240 hashed_mac.finalize(); 1240 hashed_mac.finalize();
1241 hashed_mac.hex_digest(hashed_mac_string); 1241 hashed_mac.hex_digest(hashed_mac_string);
1242 1242
@@ -3052,7 +3052,7 @@ std::string LLStartUp::loadPasswordFromDisk()
3052 fclose(fp); 3052 fclose(fp);
3053 3053
3054 // Decipher with MAC address 3054 // Decipher with MAC address
3055 LLXORCipher cipher(gMACAddress, 6); 3055 LLXORCipher cipher(gMACAddress, 6); // The one and only legitimate use of the users MAC.
3056 cipher.decrypt(buffer, HASHED_LENGTH); 3056 cipher.decrypt(buffer, HASHED_LENGTH);
3057 3057
3058 buffer[HASHED_LENGTH] = '\0'; 3058 buffer[HASHED_LENGTH] = '\0';
@@ -3104,7 +3104,7 @@ void LLStartUp::savePasswordToDisk(const std::string& hashed_password)
3104 3104
3105 LLStringUtil::copy((char*)buffer, hashed_password.c_str(), HASHED_LENGTH+1); 3105 LLStringUtil::copy((char*)buffer, hashed_password.c_str(), HASHED_LENGTH+1);
3106 3106
3107 LLXORCipher cipher(gMACAddress, 6); 3107 LLXORCipher cipher(gMACAddress, 6); // The one and only legitimate use of the users MAC.
3108 cipher.encrypt(buffer, HASHED_LENGTH); 3108 cipher.encrypt(buffer, HASHED_LENGTH);
3109 3109
3110 if (fwrite(buffer, HASHED_LENGTH, 1, fp) != 1) 3110 if (fwrite(buffer, HASHED_LENGTH, 1, fp) != 1)
diff --git a/linden/indra/newview/llviewerstats.cpp b/linden/indra/newview/llviewerstats.cpp
index 607f871..a7bbee8 100644
--- a/linden/indra/newview/llviewerstats.cpp
+++ b/linden/indra/newview/llviewerstats.cpp
@@ -714,9 +714,7 @@ void send_stats()
714 system["ram"] = (S32) gSysMemory.getPhysicalMemoryKB(); 714 system["ram"] = (S32) gSysMemory.getPhysicalMemoryKB();
715 system["os"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple(); 715 system["os"] = LLAppViewer::instance()->getOSInfo().getOSStringSimple();
716 system["cpu"] = gSysCPU.getCPUString(); 716 system["cpu"] = gSysCPU.getCPUString();
717 std::string macAddressString = llformat("%02x-%02x-%02x-%02x-%02x-%02x", 717 std::string macAddressString = llformat("%02x-%02x-%02x-%02x-%02x-%02x", 0,1,2,3,4,5); // Hell no don't seand the MAC across the 'net. Bad LL.
718 gMACAddress[0],gMACAddress[1],gMACAddress[2],
719 gMACAddress[3],gMACAddress[4],gMACAddress[5]);
720 system["mac_address"] = macAddressString; 718 system["mac_address"] = macAddressString;
721 system["serial_number"] = LLAppViewer::instance()->getSerialNumber(); 719 system["serial_number"] = LLAppViewer::instance()->getSerialNumber();
722 std::string gpu_desc = llformat( 720 std::string gpu_desc = llformat(