mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Backed out changeset ff97841a1f54 (bug 1060179)
This commit is contained in:
parent
ae03364142
commit
f7bc56c228
@ -90,11 +90,6 @@ UNIFIED_SOURCES += [
|
||||
'GMPVideoPlaneImpl.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['OS_TARGET'] == 'WINNT':
|
||||
DIRS += [
|
||||
'rlz',
|
||||
]
|
||||
|
||||
IPDL_SOURCES += [
|
||||
'GMPTypes.ipdlh',
|
||||
'PGMP.ipdl',
|
||||
|
@ -1,14 +0,0 @@
|
||||
Copyright 2010 Google Inc.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
@ -1,6 +0,0 @@
|
||||
Code taken from rlz project: https://code.google.com/p/rlz/
|
||||
|
||||
Revision: 134, then with unused code stripped out.
|
||||
|
||||
Note: base/ contains wrappers/dummies to provide implementations of the
|
||||
Chromium APIs that this code relies upon.
|
@ -1,27 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// The scoped_ptr.h our IPC copy of Chromium's code does not include
|
||||
// scoped_array, so adapt it to nsAutoArrayPtr here.
|
||||
|
||||
#ifndef FAKE_SCOPED_PTR_H_
|
||||
#define FAKE_SCOPED_PTR_H_
|
||||
|
||||
#include "mozilla/ArrayUtils.h"
|
||||
#include "nsAutoPtr.h"
|
||||
|
||||
template<class T>
|
||||
class scoped_array : public nsAutoArrayPtr<T> {
|
||||
public:
|
||||
scoped_array(T* t) : nsAutoArrayPtr<T>(t) {}
|
||||
void reset(T* t) {
|
||||
scoped_array<T> other(t);
|
||||
operator=(other);
|
||||
}
|
||||
};
|
||||
|
||||
#define arraysize mozilla::ArrayLength
|
||||
|
||||
#endif
|
@ -1,12 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef FAKE_STRING16_H
|
||||
#define FAKE_STRING16_H
|
||||
|
||||
#include <string>
|
||||
typedef std::wstring string16;
|
||||
|
||||
#endif
|
@ -1,14 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef FAKE_ASSERT_H_
|
||||
#define FAKE_ASSERT_H_
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#define ASSERT_STRING(x) { assert(false); }
|
||||
#define VERIFY(x) { assert(x); };
|
||||
|
||||
#endif
|
@ -1,21 +0,0 @@
|
||||
// Copyright 2012 Google Inc. All Rights Reserved.
|
||||
// Use of this source code is governed by an Apache-style license that can be
|
||||
// found in the COPYING file.
|
||||
|
||||
#ifndef RLZ_LIB_MACHINE_ID_H_
|
||||
#define RLZ_LIB_MACHINE_ID_H_
|
||||
|
||||
#include "base/string16.h"
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace rlz_lib {
|
||||
|
||||
// Retrieves a raw machine identifier string and a machine-specific
|
||||
// 4 byte value. GetMachineId() will SHA1 |data|, append |more_data|, compute
|
||||
// the Crc8 of that, and return a hex-encoded string of that data.
|
||||
bool GetRawMachineId(string16* data, int* more_data);
|
||||
|
||||
} // namespace rlz_lib
|
||||
|
||||
#endif // RLZ_LIB_MACHINE_ID_H_
|
@ -1,34 +0,0 @@
|
||||
// Copyright 2010 Google Inc. All Rights Reserved.
|
||||
// Use of this source code is governed by an Apache-style license that can be
|
||||
// found in the COPYING file.
|
||||
//
|
||||
// String manipulation functions used in the RLZ library.
|
||||
|
||||
#include "rlz/lib/string_utils.h"
|
||||
|
||||
namespace rlz_lib {
|
||||
|
||||
bool BytesToString(const unsigned char* data,
|
||||
int data_len,
|
||||
std::string* string) {
|
||||
if (!string)
|
||||
return false;
|
||||
|
||||
string->clear();
|
||||
if (data_len < 1 || !data)
|
||||
return false;
|
||||
|
||||
static const char kHex[] = "0123456789ABCDEF";
|
||||
|
||||
// Fix the buffer size to begin with to avoid repeated re-allocation.
|
||||
string->resize(data_len * 2);
|
||||
int index = data_len;
|
||||
while (index--) {
|
||||
string->at(2 * index) = kHex[data[index] >> 4]; // high digit
|
||||
string->at(2 * index + 1) = kHex[data[index] & 0x0F]; // low digit
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace rlz_lib
|
@ -1,20 +0,0 @@
|
||||
// Copyright 2010 Google Inc. All Rights Reserved.
|
||||
// Use of this source code is governed by an Apache-style license that can be
|
||||
// found in the COPYING file.
|
||||
//
|
||||
// String manipulation functions used in the RLZ library.
|
||||
|
||||
#ifndef RLZ_LIB_STRING_UTILS_H_
|
||||
#define RLZ_LIB_STRING_UTILS_H_
|
||||
|
||||
#include <string>
|
||||
|
||||
namespace rlz_lib {
|
||||
|
||||
bool BytesToString(const unsigned char* data,
|
||||
int data_len,
|
||||
std::string* string);
|
||||
|
||||
}; // namespace
|
||||
|
||||
#endif // RLZ_LIB_STRING_UTILS_H_
|
@ -1,20 +0,0 @@
|
||||
# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
|
||||
# vim: set filetype=python:
|
||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
# Note: build rlz in its own moz.build, so it doesn't pickup any of
|
||||
# Chromium IPC's headers used in the moz.build of the parent file.
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
'lib/string_utils.cc',
|
||||
'win/lib/machine_id_win.cc',
|
||||
]
|
||||
|
||||
FINAL_LIBRARY = 'xul'
|
||||
FAIL_ON_WARNINGS = True
|
||||
|
||||
LOCAL_INCLUDES += [
|
||||
'..',
|
||||
]
|
@ -1,131 +0,0 @@
|
||||
// Copyright 2011 Google Inc. All Rights Reserved.
|
||||
// Use of this source code is governed by an Apache-style license that can be
|
||||
// found in the COPYING file.
|
||||
|
||||
#include <windows.h>
|
||||
#include <Sddl.h> // For ConvertSidToStringSidW.
|
||||
#include <string>
|
||||
|
||||
#include "base/memory/scoped_ptr.h"
|
||||
#include "base/string16.h"
|
||||
#include "rlz/lib/assert.h"
|
||||
|
||||
namespace rlz_lib {
|
||||
|
||||
namespace {
|
||||
|
||||
bool GetSystemVolumeSerialNumber(int* number) {
|
||||
if (!number)
|
||||
return false;
|
||||
|
||||
*number = 0;
|
||||
|
||||
// Find the system root path (e.g: C:\).
|
||||
wchar_t system_path[MAX_PATH + 1];
|
||||
if (!GetSystemDirectoryW(system_path, MAX_PATH))
|
||||
return false;
|
||||
|
||||
wchar_t* first_slash = wcspbrk(system_path, L"\\/");
|
||||
if (first_slash != NULL)
|
||||
*(first_slash + 1) = 0;
|
||||
|
||||
DWORD number_local = 0;
|
||||
if (!GetVolumeInformationW(system_path, NULL, 0, &number_local, NULL, NULL,
|
||||
NULL, 0))
|
||||
return false;
|
||||
|
||||
*number = (int)number_local;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GetComputerSid(const wchar_t* account_name, SID* sid, DWORD sid_size) {
|
||||
static const DWORD kStartDomainLength = 128; // reasonable to start with
|
||||
|
||||
scoped_array<wchar_t> domain_buffer(new wchar_t[kStartDomainLength]);
|
||||
DWORD domain_size = kStartDomainLength;
|
||||
DWORD sid_dword_size = sid_size;
|
||||
SID_NAME_USE sid_name_use;
|
||||
|
||||
BOOL success = ::LookupAccountNameW(NULL, account_name, sid,
|
||||
&sid_dword_size, domain_buffer.get(),
|
||||
&domain_size, &sid_name_use);
|
||||
if (!success && ::GetLastError() == ERROR_INSUFFICIENT_BUFFER) {
|
||||
// We could have gotten the insufficient buffer error because
|
||||
// one or both of sid and szDomain was too small. Check for that
|
||||
// here.
|
||||
if (sid_dword_size > sid_size)
|
||||
return false;
|
||||
|
||||
if (domain_size > kStartDomainLength)
|
||||
domain_buffer.reset(new wchar_t[domain_size]);
|
||||
|
||||
success = ::LookupAccountNameW(NULL, account_name, sid, &sid_dword_size,
|
||||
domain_buffer.get(), &domain_size,
|
||||
&sid_name_use);
|
||||
}
|
||||
|
||||
return success != FALSE;
|
||||
}
|
||||
|
||||
std::wstring ConvertSidToString(SID* sid) {
|
||||
std::wstring sid_string;
|
||||
#if _WIN32_WINNT >= 0x500
|
||||
wchar_t* sid_buffer = NULL;
|
||||
if (ConvertSidToStringSidW(sid, &sid_buffer)) {
|
||||
sid_string = sid_buffer;
|
||||
LocalFree(sid_buffer);
|
||||
}
|
||||
#else
|
||||
SID_IDENTIFIER_AUTHORITY* sia = ::GetSidIdentifierAuthority(sid);
|
||||
|
||||
if(sia->Value[0] || sia->Value[1]) {
|
||||
base::SStringPrintf(
|
||||
&sid_string, L"S-%d-0x%02hx%02hx%02hx%02hx%02hx%02hx",
|
||||
SID_REVISION, (USHORT)sia->Value[0], (USHORT)sia->Value[1],
|
||||
(USHORT)sia->Value[2], (USHORT)sia->Value[3], (USHORT)sia->Value[4],
|
||||
(USHORT)sia->Value[5]);
|
||||
} else {
|
||||
ULONG authority = 0;
|
||||
for (int i = 2; i < 6; ++i) {
|
||||
authority <<= 8;
|
||||
authority |= sia->Value[i];
|
||||
}
|
||||
base::SStringPrintf(&sid_string, L"S-%d-%lu", SID_REVISION, authority);
|
||||
}
|
||||
|
||||
int sub_auth_count = *::GetSidSubAuthorityCount(sid);
|
||||
for(int i = 0; i < sub_auth_count; ++i)
|
||||
base::StringAppendF(&sid_string, L"-%lu", *::GetSidSubAuthority(sid, i));
|
||||
#endif
|
||||
|
||||
return sid_string;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
bool GetRawMachineId(string16* sid_string, int* volume_id) {
|
||||
// Calculate the Windows SID.
|
||||
|
||||
wchar_t computer_name[MAX_COMPUTERNAME_LENGTH + 1] = {0};
|
||||
DWORD size = arraysize(computer_name);
|
||||
|
||||
if (!GetComputerNameW(computer_name, &size)) {
|
||||
return false;
|
||||
}
|
||||
char sid_buffer[SECURITY_MAX_SID_SIZE];
|
||||
SID* sid = reinterpret_cast<SID*>(sid_buffer);
|
||||
if (GetComputerSid(computer_name, sid, SECURITY_MAX_SID_SIZE)) {
|
||||
*sid_string = ConvertSidToString(sid);
|
||||
}
|
||||
|
||||
// Get the system drive volume serial number.
|
||||
*volume_id = 0;
|
||||
if (!GetSystemVolumeSerialNumber(volume_id)) {
|
||||
ASSERT_STRING("GetMachineId: Failed to retrieve volume serial number");
|
||||
*volume_id = 0;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
} // namespace rlz_lib
|
Loading…
Reference in New Issue
Block a user