Skip to content

Commit 18146ac

Browse files
Add distinct feature flag for SRV toggle.
1 parent 6abe0f1 commit 18146ac

File tree

5 files changed

+27
-12
lines changed

5 files changed

+27
-12
lines changed

src/libmongoc/examples/parse_handshake_cfg.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
"MONGOC_MD_FLAG_TRACE",
3838
"MONGOC_MD_FLAG_ENABLE_ICU",
3939
"MONGOC_MD_FLAG_ENABLE_CLIENT_SIDE_ENCRYPTION",
40-
"MONGOC_MD_FLAG_ENABLE_MONGODB_AWS_AUTH"
40+
"MONGOC_MD_FLAG_ENABLE_MONGODB_AWS_AUTH",
41+
"MONGOC_MD_FLAG_ENABLE_SRV",
4142
]
4243

4344
def main():

src/libmongoc/src/mongoc/mongoc-config.h.in

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -372,16 +372,6 @@
372372
*/
373373
#define MONGOC_TRACE @MONGOC_TRACE@
374374

375-
enum {
376-
/**
377-
* @brief Compile-time constant determining whether the mongoc library was
378-
* compiled with tracing enabled.
379-
*
380-
* Can be controlled with the 'ENABLE_TRACING" configure-time boolean option
381-
*/
382-
MONGOC_TRACE_ENABLED = MONGOC_TRACE
383-
};
384-
385375
/*
386376
* Set if we have ICU support.
387377
*/
@@ -391,7 +381,6 @@ enum {
391381
# undef MONGOC_ENABLE_ICU
392382
#endif
393383

394-
395384
/*
396385
* Set if we have Client Side Encryption support.
397386
*/
@@ -422,6 +411,23 @@ enum {
422411
# undef MONGOC_ENABLE_MONGODB_AWS_AUTH
423412
#endif
424413

414+
enum {
415+
/**
416+
* @brief Compile-time constant determining whether the mongoc library was
417+
* compiled with tracing enabled.
418+
*
419+
* Can be controlled with the “ENABLE_TRACING” configure-time boolean option
420+
*/
421+
MONGOC_TRACE_ENABLED = MONGOC_TRACE,
422+
/**
423+
* @brief Compile-time constant indicating whether the mongoc library was
424+
* compiled with SRV server discovery support.
425+
*
426+
* Can be controled with the “ENABLE_SRV” configure-time boolean option.
427+
*/
428+
MONGOC_SRV_ENABLED = MONGOC_ENABLE_SRV,
429+
};
430+
425431
/* clang-format on */
426432

427433
#endif /* MONGOC_CONFIG_H */

src/libmongoc/src/mongoc/mongoc-handshake-private.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ typedef enum {
8181
MONGOC_MD_FLAG_ENABLE_ICU,
8282
MONGOC_MD_FLAG_ENABLE_CLIENT_SIDE_ENCRYPTION,
8383
MONGOC_MD_FLAG_ENABLE_MONGODB_AWS_AUTH,
84+
MONGOC_MD_FLAG_ENABLE_SRV,
8485
/* Add additional config flags here, above LAST_MONGOC_MD_FLAG. */
8586
LAST_MONGOC_MD_FLAG
8687
} mongoc_handshake_config_flag_bit_t;

src/libmongoc/src/mongoc/mongoc-handshake.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,10 @@ _mongoc_handshake_get_config_hex_string (void)
196196
_set_bit (bf, byte_count, MONGOC_MD_FLAG_ENABLE_MONGODB_AWS_AUTH);
197197
#endif
198198

199+
if (MONGOC_SRV_ENABLED) {
200+
_set_bit (bf, byte_count, MONGOC_MD_FLAG_ENABLE_SRV);
201+
}
202+
199203
bson_string_t *const str = bson_string_new ("0x");
200204
for (uint32_t i = 0u; i < byte_count; i++) {
201205
bson_string_append_printf (str, "%02x", bf[i]);

src/libmongoc/tests/test-mongoc-handshake.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -871,6 +871,9 @@ test_handshake_platform_config (void)
871871
BSON_ASSERT (_get_bit (config_str, MONGOC_MD_FLAG_HAVE_SCHED_GETCPU));
872872
#endif
873873

874+
BSON_ASSERT (_get_bit (config_str, MONGOC_MD_FLAG_ENABLE_SRV) ==
875+
MONGOC_SRV_ENABLED);
876+
874877
#ifdef MONGOC_ENABLE_SHM_COUNTERS
875878
BSON_ASSERT (_get_bit (config_str, MONGOC_MD_FLAG_ENABLE_SHM_COUNTERS));
876879
#endif

0 commit comments

Comments
 (0)