diff options
| author | Dan Engelbrecht <[email protected]> | 2026-01-15 15:05:52 +0100 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2026-01-15 15:05:52 +0100 |
| commit | f5857f5885a37b6f0de6d2653ddc3298d4554521 (patch) | |
| tree | cb931f711776b36e06918f78f3d17943fd75117e /src | |
| parent | use current locale when converting wide char command line arguments to string... (diff) | |
| download | zen-f5857f5885a37b6f0de6d2653ddc3298d4554521.tar.xz zen-f5857f5885a37b6f0de6d2653ddc3298d4554521.zip | |
throw error on bad oidctoken-exe-path (#713)
* throw error on bad oidctoken-exe-path
Diffstat (limited to 'src')
| -rw-r--r-- | src/zen/authutils.cpp | 4 | ||||
| -rw-r--r-- | src/zen/cmds/projectstore_cmd.cpp | 30 |
2 files changed, 24 insertions, 10 deletions
diff --git a/src/zen/authutils.cpp b/src/zen/authutils.cpp index fdcb8e15d..31db82efd 100644 --- a/src/zen/authutils.cpp +++ b/src/zen/authutils.cpp @@ -283,6 +283,10 @@ AuthCommandLineOptions::ParseOptions(cxxopts::Options& Ops, ClientSettings.AccessTokenProvider = httpclientauth::CreateFromOidcTokenExecutable(OidcTokenExePath, HostUrl, Quiet, m_OidcTokenUnattended, Hidden); } + else if (!m_OidcTokenAuthExecutablePath.empty()) + { + throw OptionParseException(fmt::format("'--oidctoken-exe-path' ('{}') does not exist", m_OidcTokenAuthExecutablePath), Ops.help()); + } if (!ClientSettings.AccessTokenProvider) { diff --git a/src/zen/cmds/projectstore_cmd.cpp b/src/zen/cmds/projectstore_cmd.cpp index 9f3ef7002..4885fd363 100644 --- a/src/zen/cmds/projectstore_cmd.cpp +++ b/src/zen/cmds/projectstore_cmd.cpp @@ -47,12 +47,13 @@ namespace { #define ZEN_CLOUD_STORAGE "Cloud Storage" - void WriteAuthOptions(CbObjectWriter& Writer, - std::string_view JupiterOpenIdProvider, - std::string_view JupiterAccessToken, - std::string_view JupiterAccessTokenEnv, - std::string_view JupiterAccessTokenPath, - std::string_view OidcTokenAuthExecutablePath) + void WriteAuthOptions(CbObjectWriter& Writer, + std::string_view JupiterOpenIdProvider, + std::string_view JupiterAccessToken, + std::string_view JupiterAccessTokenEnv, + std::string_view JupiterAccessTokenPath, + std::string_view OidcTokenAuthExecutablePath, + cxxopts::Options& Options) { if (!JupiterOpenIdProvider.empty()) { @@ -87,6 +88,11 @@ namespace { { Writer.AddString("oidc-exe-path"sv, OidcTokenExePath.generic_string()); } + else if (!OidcTokenAuthExecutablePath.empty()) + { + throw OptionParseException(fmt::format("'--oidctoken-exe-path' ('{}') does not exist", OidcTokenAuthExecutablePath), + Options.help()); + } } IoBuffer MakeCbObjectPayload(std::function<void(CbObjectWriter& Writer)> WriteCB) @@ -1234,7 +1240,8 @@ ExportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg m_JupiterAccessToken, m_JupiterAccessTokenEnv, m_JupiterAccessTokenPath, - m_OidcTokenAuthExecutablePath); + m_OidcTokenAuthExecutablePath, + m_Options); if (m_JupiterAssumeHttp2) { Writer.AddBool("assumehttp2"sv, true); @@ -1270,7 +1277,8 @@ ExportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg m_JupiterAccessToken, m_JupiterAccessTokenEnv, m_JupiterAccessTokenPath, - m_OidcTokenAuthExecutablePath); + m_OidcTokenAuthExecutablePath, + m_Options); if (m_JupiterAssumeHttp2) { Writer.AddBool("assumehttp2"sv, true); @@ -1664,7 +1672,8 @@ ImportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg m_JupiterAccessToken, m_JupiterAccessTokenEnv, m_JupiterAccessTokenPath, - m_OidcTokenAuthExecutablePath); + m_OidcTokenAuthExecutablePath, + m_Options); if (m_JupiterAssumeHttp2) { Writer.AddBool("assumehttp2"sv, true); @@ -1689,7 +1698,8 @@ ImportOplogCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** arg m_JupiterAccessToken, m_JupiterAccessTokenEnv, m_JupiterAccessTokenPath, - m_OidcTokenAuthExecutablePath); + m_OidcTokenAuthExecutablePath, + m_Options); if (m_JupiterAssumeHttp2) { Writer.AddBool("assumehttp2"sv, true); |