Skip to content

Commit 9f33c58

Browse files
committed
PHPC-2601: Add crypt_shared version to manager debug output
1 parent 1ca841e commit 9f33c58

File tree

5 files changed

+74
-1
lines changed

5 files changed

+74
-1
lines changed

src/MongoDB/Manager.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -828,7 +828,7 @@ static HashTable* php_phongo_manager_get_debug_info(zend_object* object, int* is
828828
*is_temp = 1;
829829
intern = Z_OBJ_MANAGER(object);
830830

831-
array_init_size(&retval, 2);
831+
array_init_size(&retval, 3);
832832

833833
ADD_ASSOC_STRING(&retval, "uri", mongoc_uri_get_string(mongoc_client_get_uri(intern->client)));
834834

@@ -851,6 +851,16 @@ static HashTable* php_phongo_manager_get_debug_info(zend_object* object, int* is
851851

852852
ADD_ASSOC_ZVAL_EX(&retval, "cluster", &cluster);
853853

854+
{
855+
const char* crypt_shared_version = mongoc_client_get_crypt_shared_version(intern->client);
856+
857+
if (crypt_shared_version) {
858+
ADD_ASSOC_STRING(&retval, "cryptSharedVersion", crypt_shared_version);
859+
} else {
860+
ADD_ASSOC_NULL_EX(&retval, "cryptSharedVersion");
861+
}
862+
}
863+
854864
done:
855865
mongoc_server_descriptions_destroy_all(sds, n);
856866

tests/manager/bug0940-001.phpt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,7 @@ object(MongoDB\Driver\Manager)#%d (%d) {
2020
["cluster"]=>
2121
array(0) {
2222
}
23+
["cryptSharedVersion"]=>
24+
NULL
2325
}
2426
===DONE===

tests/manager/manager-ctor-ssl-001.phpt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,16 @@ object(MongoDB\Driver\Manager)#%d (%d) {
2121
["cluster"]=>
2222
array(0) {
2323
}
24+
["cryptSharedVersion"]=>
25+
NULL
2426
}
2527
object(MongoDB\Driver\Manager)#%d (%d) {
2628
["uri"]=>
2729
string(20) "mongodb://127.0.0.1/"
2830
["cluster"]=>
2931
array(0) {
3032
}
33+
["cryptSharedVersion"]=>
34+
NULL
3135
}
3236
===DONE===

tests/manager/manager-debug-004.phpt

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
--TEST--
2+
MongoDB\Driver\Manager debug output with crypt_shared
3+
--SKIPIF--
4+
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
5+
<?php skip_if_not_libmongocrypt(); ?>
6+
<?php skip_if_no_crypt_shared(); ?>
7+
--FILE--
8+
<?php
9+
10+
require_once __DIR__ . '/../utils/basic.inc';
11+
12+
// First, create a test manager without auto-encryption
13+
$manager = create_test_manager();
14+
15+
var_dump($manager);
16+
var_dump(get_module_info('crypt_shared library version'));
17+
18+
$autoEncryptionOptions = [
19+
'keyVaultNamespace' => CSFLE_KEY_VAULT_NS,
20+
'kmsProviders' => ['local' => ['key' => new MongoDB\BSON\Binary(CSFLE_LOCAL_KEY, 0)]],
21+
'extraOptions' => ['cryptSharedLibRequired' => true],
22+
];
23+
24+
$manager = create_test_manager(null, [], ['autoEncryption' => $autoEncryptionOptions]);
25+
26+
var_dump($manager);
27+
var_dump(get_module_info('crypt_shared library version'));
28+
29+
?>
30+
===DONE===
31+
<?php exit(0); ?>
32+
--EXPECTF--
33+
object(MongoDB\Driver\Manager)#%d (%d) {
34+
["uri"]=>
35+
string(%d) "%s"
36+
["cluster"]=>
37+
array(0) {
38+
}
39+
["cryptSharedVersion"]=>
40+
NULL
41+
}
42+
string(7) "unknown"
43+
object(MongoDB\Driver\Manager)#%d (%d) {
44+
["uri"]=>
45+
string(%d) "%s"
46+
["cluster"]=>
47+
array(0) {
48+
}
49+
["cryptSharedVersion"]=>
50+
string(%d) "mongo_crypt%a"
51+
}
52+
string(7) "unknown"
53+
===DONE===

tests/manager/manager-var-dump-001.phpt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ object(MongoDB\Driver\Manager)#%d (%d) {
2828
["cluster"]=>
2929
array(0) {
3030
}
31+
["cryptSharedVersion"]=>
32+
NULL
3133
}
3234
object(MongoDB\Driver\Manager)#%d (%d) {
3335
["uri"]=>
@@ -60,5 +62,7 @@ object(MongoDB\Driver\Manager)#%d (%d) {
6062
int(%d)
6163
}
6264
}
65+
["cryptSharedVersion"]=>
66+
NULL
6367
}
6468
===DONE===

0 commit comments

Comments
 (0)