aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2023-08-01 14:16:50 +0200
committerGitHub <[email protected]>2023-08-01 14:16:50 +0200
commite5d756efda7150b161653b02a4476e28b58412f3 (patch)
treed583cc013d102858db17b9e91b8ab6e6d468c217
parentmake sure we validate pointers returned from zen::Memory::Alloc (#341) (diff)
downloadzen-e5d756efda7150b161653b02a4476e28b58412f3.tar.xz
zen-e5d756efda7150b161653b02a4476e28b58412f3.zip
try to resolve access token via env variable local first (#337)
* try to resolve access token via env variable local first, on zenserver side second
-rw-r--r--CHANGELOG.md1
-rw-r--r--src/zen/cmds/projectstore.cpp23
2 files changed, 22 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 50bbfc6d2..16903af33 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,7 @@
- Feature: Added `zen serve` command for establishing a link to a directory tree for use with staged UE builds and the `-Mount=` option
- Bugfix: Make sure to validate return pointer when calling Memory::Alloc in all locations
- Bugfix: Log error instead of hard crash if GC scheduler thread throws exception
+- Improvement: In oplog import/export, try to resolve access token via env variable on zen command side as first option, with resolve on zenserver side as second option. Resolves [UE-189978](https://jira.it.epicgames.com/browse/UE-189978)
- Improvement: Keep reason and status code when parsing responses from jupiter remote requests
- Improvement: Add additional context for errors when importing/exporting oplogs
- Improvement: Added `ZenServerInstance::SpawnServerAndWait` and improved logic around process termination when using `ZenServerInstance::AttachToRunningServer`
diff --git a/src/zen/cmds/projectstore.cpp b/src/zen/cmds/projectstore.cpp
index ed59a8f98..e68563938 100644
--- a/src/zen/cmds/projectstore.cpp
+++ b/src/zen/cmds/projectstore.cpp
@@ -3,6 +3,7 @@
#include "projectstore.h"
#include <zencore/compactbinarybuilder.h>
+#include <zencore/filesystem.h>
#include <zencore/logging.h>
#include <zencore/stream.h>
#include <zenhttp/httpcommon.h>
@@ -569,7 +570,16 @@ ExportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg
}
if (!m_CloudAccessTokenEnv.empty())
{
- Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv);
+ std::string ResolvedCloudAccessTokenEnv = zen::GetEnvVariable(m_CloudAccessTokenEnv);
+
+ if (!ResolvedCloudAccessTokenEnv.empty())
+ {
+ Writer.AddString("access-token"sv, ResolvedCloudAccessTokenEnv);
+ }
+ else
+ {
+ Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv);
+ }
}
if (m_DisableBlocks)
{
@@ -813,7 +823,16 @@ ImportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg
}
if (!m_CloudAccessTokenEnv.empty())
{
- Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv);
+ std::string ResolvedCloudAccessTokenEnv = zen::GetEnvVariable(m_CloudAccessTokenEnv);
+
+ if (!ResolvedCloudAccessTokenEnv.empty())
+ {
+ Writer.AddString("access-token"sv, ResolvedCloudAccessTokenEnv);
+ }
+ else
+ {
+ Writer.AddString("access-token-env"sv, m_CloudAccessTokenEnv);
+ }
}
}
Writer.EndObject(); // "cloud"