diff options
author | Amin Hassani <ahassani@chromium.org> | 2020-09-16 11:19:28 -0700 |
---|---|---|
committer | Amin Hassani <ahassani@chromium.org> | 2020-09-17 10:17:36 -0700 |
commit | e53b39b8b9c5c0871841bbbb86f23657c0b7f91b (patch) | |
tree | 12746e5e7e4716ba7fc94d3ed5c1a36c4d47d474 /common/utils.h | |
parent | a02a1f1dc837f22226499d9856a949fb180d099a (diff) | |
parent | 9956320ffa4edb340d20bd7f3c852a9e87437bd3 (diff) |
update_engine: Merge remote-tracking branch 'cros/upstream' into cros/master
Done with:
git merge cros/upstream --commit -s recursive
- Added EC key support and its unittests.
- Resolved a conlict on error codes. Since Android versions are not
uploading any UMA metrics, I gave the priority to the Android version
Since they can't be changed.
- Changed the openssl functions to get1 version (from get0) version
because of a current issue with gale. Once the issue is resolved we
need to change them back.
- Some remaining styling issues fixed by clang-format
BUG=b:163153182
TEST=CQ passes
TEST=unittests
Change-Id: Ib95034422b92433ce26e28336bc4806b34910d38
Diffstat (limited to 'common/utils.h')
-rw-r--r-- | common/utils.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/common/utils.h b/common/utils.h index b6880ed0..bcaed318 100644 --- a/common/utils.h +++ b/common/utils.h @@ -18,6 +18,7 @@ #define UPDATE_ENGINE_COMMON_UTILS_H_ #include <errno.h> +#include <time.h> #include <unistd.h> #include <algorithm> @@ -295,6 +296,9 @@ bool GetBootId(std::string* boot_id); // shell command. Returns true on success. bool GetVpdValue(std::string key, std::string* result); +// This function gets the file path of the file pointed to by FileDiscriptor. +std::string GetFilePath(int fd); + // Divide |x| by |y| and round up to the nearest integer. constexpr uint64_t DivRoundUp(uint64_t x, uint64_t y) { return (x + y - 1) / y; @@ -317,10 +321,23 @@ void ParseRollbackKeyVersion(const std::string& raw_version, uint16_t* high_version, uint16_t* low_version); +// Return a string representation of |utime| for log file names. +std::string GetTimeAsString(time_t utime); // Returns the string format of the hashed |str_to_convert| that can be used // with |Excluder| as the exclusion name. std::string GetExclusionName(const std::string& str_to_convert); +// Parse `old_version` and `new_version` as integer timestamps and +// Return kSuccess if `new_version` is larger/newer. +// Return kSuccess if either one is empty. +// Return kError if |old_version| is not empty and not an integer. +// Return kDownloadManifestParseError if |new_version| is not empty and not an +// integer. +// Return kPayloadTimestampError if both are integers but |new_version| < +// |old_version|. +ErrorCode IsTimestampNewer(const std::string& old_version, + const std::string& new_version); + } // namespace utils // Utility class to close a file descriptor |