aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2026-01-15 15:05:52 +0100
committerGitHub Enterprise <[email protected]>2026-01-15 15:05:52 +0100
commitf5857f5885a37b6f0de6d2653ddc3298d4554521 (patch)
treecb931f711776b36e06918f78f3d17943fd75117e /src
parentuse current locale when converting wide char command line arguments to string... (diff)
downloadzen-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.cpp4
-rw-r--r--src/zen/cmds/projectstore_cmd.cpp30
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);