diff options
Diffstat (limited to 'Firestore/src')
-rw-r--r-- | Firestore/src/.clang-format | 8 | ||||
-rw-r--r-- | Firestore/src/core/util/CMakeLists.txt | 22 | ||||
-rw-r--r-- | Firestore/src/core/util/autoid.cc | 52 | ||||
-rw-r--r-- | Firestore/src/core/util/autoid.h | 29 | ||||
-rw-r--r-- | Firestore/src/support/CMakeLists.txt | 18 | ||||
-rw-r--r-- | Firestore/src/support/port.h | 33 | ||||
-rw-r--r-- | Firestore/src/support/secure_random.h | 55 | ||||
-rw-r--r-- | Firestore/src/support/secure_random_arc4random.cc | 33 |
8 files changed, 0 insertions, 250 deletions
diff --git a/Firestore/src/.clang-format b/Firestore/src/.clang-format deleted file mode 100644 index 7a0e321..0000000 --- a/Firestore/src/.clang-format +++ /dev/null @@ -1,8 +0,0 @@ -BasedOnStyle: Google -Standard: Cpp11 -ColumnLimit: 80 -BinPackParameters: false -AllowAllParametersOfDeclarationOnNextLine: true -SpacesInContainerLiterals: true -PointerAlignment: Left -AllowShortFunctionsOnASingleLine: None diff --git a/Firestore/src/core/util/CMakeLists.txt b/Firestore/src/core/util/CMakeLists.txt deleted file mode 100644 index 6b08d8e..0000000 --- a/Firestore/src/core/util/CMakeLists.txt +++ /dev/null @@ -1,22 +0,0 @@ -# Copyright 2017 Google -# -# 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. - -add_library( - firestore_core_util - autoid.cc -) -target_link_libraries( - firestore_core_util - firestore_support -) diff --git a/Firestore/src/core/util/autoid.cc b/Firestore/src/core/util/autoid.cc deleted file mode 100644 index 762bbcc..0000000 --- a/Firestore/src/core/util/autoid.cc +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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. - */ - -#include "Firestore/src/core/util/autoid.h" - -#include <random> -#include <string> - -#include "Firestore/src/support/secure_random.h" - -namespace { - -const int kAutoIdLength = 20; -const char kAutoIdAlphabet[] = - "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; - -firestore::SecureRandom shared_random; - -} // namespace - -namespace firestore { - -std::string CreateAutoId() { - std::string auto_id; - auto_id.reserve(kAutoIdLength); - - // -2 here because: - // * sizeof(kAutoIdAlphabet) includes the trailing null terminator - // * uniform_int_distribution is inclusive on both sizes - std::uniform_int_distribution<int> letters(0, sizeof(kAutoIdAlphabet) - 2); - - for (int i = 0; i < kAutoIdLength; i++) { - int rand_index = letters(shared_random); - auto_id.append(1, kAutoIdAlphabet[rand_index]); - } - return auto_id; -} - -} // namespace firestore diff --git a/Firestore/src/core/util/autoid.h b/Firestore/src/core/util/autoid.h deleted file mode 100644 index 13486af..0000000 --- a/Firestore/src/core/util/autoid.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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. - */ - -#ifndef FIRESTORE_SRC_CORE_UTIL_AUTOID_H_ -#define FIRESTORE_SRC_CORE_UTIL_AUTOID_H_ - -#include <string> - -namespace firestore { - -// Generates a random ID suitable for use as a document ID. -std::string CreateAutoId(); - -} // namespace firestore - -#endif // FIRESTORE_SRC_CORE_UTIL_AUTOID_H_ diff --git a/Firestore/src/support/CMakeLists.txt b/Firestore/src/support/CMakeLists.txt deleted file mode 100644 index 8110c6f..0000000 --- a/Firestore/src/support/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright 2017 Google -# -# 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. - -add_library( - firestore_support - secure_random_arc4random.cc -) diff --git a/Firestore/src/support/port.h b/Firestore/src/support/port.h deleted file mode 100644 index 6af898a..0000000 --- a/Firestore/src/support/port.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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. - */ - -#ifndef FIRESTORE_SRC_SUPPORT_PORT_H_ -#define FIRESTORE_SRC_SUPPORT_PORT_H_ - -#if defined(__APPLE__) -// On Apple platforms we support building via Cocoapods without CMake. When -// building this way we can't test the presence of features so predefine all -// the platform-support feature macros to their expected values. - -// All supported Apple platforms have arc4random(3). -#define HAVE_ARC4RANDOM 1 - -#else - -#error "Unknown platform." -#endif // defined(__APPLE__) - -#endif // FIRESTORE_SRC_SUPPORT_PORT_H_ diff --git a/Firestore/src/support/secure_random.h b/Firestore/src/support/secure_random.h deleted file mode 100644 index 92a3eaf..0000000 --- a/Firestore/src/support/secure_random.h +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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. - */ - -#ifndef FIRESTORE_SRC_SUPPORT_SECURE_RANDOM_H_ -#define FIRESTORE_SRC_SUPPORT_SECURE_RANDOM_H_ - -#include <stdint.h> - -#include <limits> - -namespace firestore { - -// A "secure" pseudorandom number generator, suitable for generating -// unguessable identifiers. This exists because -// -// * std::mt19937 is blazing fast but its outputs can be guessed once enough -// previous outputs have been observed. -// * std::random_device isn't guaranteed to come from a secure PRNG or be -// fast. -// -// The implementation satisfies the C++11 UniformRandomBitGenerator concept and -// delegates to an implementation that generates high quality random values -// quickly with periodic reseeding. -class SecureRandom { - public: - // C++11 UniformRandomBitGenerator interface - using result_type = uint32_t; - - static constexpr result_type min() { - return std::numeric_limits<result_type>::min(); - } - - static constexpr result_type max() { - return std::numeric_limits<result_type>::max(); - } - - result_type operator()(); -}; - -} // namespace firestore - -#endif // FIRESTORE_SRC_SUPPORT_SECURE_RANDOM_H_ diff --git a/Firestore/src/support/secure_random_arc4random.cc b/Firestore/src/support/secure_random_arc4random.cc deleted file mode 100644 index 4cd7f9d..0000000 --- a/Firestore/src/support/secure_random_arc4random.cc +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2017 Google - * - * 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. - */ - -#include "Firestore/src/support/secure_random.h" - -#include "Firestore/src/support/port.h" - -#if HAVE_ARC4RANDOM - -#include <stdlib.h> - -namespace firestore { - -SecureRandom::result_type SecureRandom::operator()() { - return arc4random(); -} - -} // namespace firestore - -#endif // HAVE_ARC4RANDOM |