Changeset: ad3994bd989b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/ad3994bd989b
Modified Files:
clients/examples/C/testsfile.c
clients/mapilib/msettings.c
clients/mapilib/msettings.h
Branch: monetdburl
Log Message:
Let msettings_connect_tls_verify() return an enum
diffs (90 lines):
diff --git a/clients/examples/C/testsfile.c b/clients/examples/C/testsfile.c
--- a/clients/examples/C/testsfile.c
+++ b/clients/examples/C/testsfile.c
@@ -166,6 +166,22 @@ expect_string(const char *location, cons
return false;
}
+static const char *
+stringify_tls_verify(const msettings *mp)
+{
+ enum msetting_tls_verify verify = msettings_connect_tls_verify(mp);
+ switch (verify) {
+ case verify_none:
+ return "";
+ case verify_system:
+ return "system";
+ case verify_cert:
+ return "cert";
+ case verify_hash:
+ return "hash";
+ }
+ assert(0 && "unreachable");
+}
static bool
handle_expect_command(const char *location, char *key, char *value)
@@ -201,7 +217,7 @@ handle_expect_command(const char *locati
if (strcmp("connect_port", key) == 0)
return expect_long(location, MP_UNKNOWN,
msettings_connect_port, value);
if (strcmp("connect_tls_verify", key) == 0)
- return expect_string(location, MP_UNKNOWN,
msettings_connect_tls_verify, value);
+ return expect_string(location, MP_UNKNOWN,
stringify_tls_verify, value);
if (strcmp("connect_certhash_digits", key) == 0)
return expect_string(location, MP_UNKNOWN,
msettings_connect_certhash_digits, value);
if (strcmp("connect_binary", key) == 0)
diff --git a/clients/mapilib/msettings.c b/clients/mapilib/msettings.c
--- a/clients/mapilib/msettings.c
+++ b/clients/mapilib/msettings.c
@@ -746,7 +746,7 @@ msettings_connect_port(const msettings *
return port;
}
-const char*
+enum msetting_tls_verify
msettings_connect_tls_verify(const msettings *mp)
{
assert(mp->validated);
@@ -755,12 +755,12 @@ msettings_connect_tls_verify(const msett
const char *certhash = msetting_string(mp, MP_CERTHASH);
if (!tls)
- return "";
- if (*certhash)
- return "hash";
+ return verify_none;
+ if (*certhash) // certhash comes before cert
+ return verify_hash;
if (*cert)
- return "cert";
- return "system";
+ return verify_cert;
+ return verify_system;
}
const char*
diff --git a/clients/mapilib/msettings.h b/clients/mapilib/msettings.h
--- a/clients/mapilib/msettings.h
+++ b/clients/mapilib/msettings.h
@@ -106,14 +106,20 @@ bool msettings_validate(msettings *mp, c
/* virtual parameters */
+enum msetting_tls_verify {
+ verify_none,
+ verify_system,
+ verify_cert,
+ verify_hash,
+};
bool msettings_connect_scan(const msettings *mp);
const char *msettings_connect_sockdir(const msettings *mp);
const char *msettings_connect_unix(const msettings *mp);
const char *msettings_connect_tcp(const msettings *mp);
long msettings_connect_port(const msettings *mp);
-const char *msettings_connect_tls_verify(const msettings *mp);
const char *msettings_connect_certhash_digits(const msettings *mp);
long msettings_connect_binary(const msettings *mp);
+enum msetting_tls_verify msettings_connect_tls_verify(const msettings *mp);
/* automatically incremented each time the corresponding field is updated */
long msettings_user_generation(const msettings *mp);
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]