@@ -319,8 +319,8 @@ neo4j_connection_t *establish_connection(const char *hostname,
319319
320320 neo4j_log_info (logger , "connected (%p) to %s:%u%s" , (void * )connection ,
321321 hostname , port , connection -> insecure ? " (insecure)" : "" );
322- neo4j_log_debug (logger , "connection %p using protocol version %d" ,
323- (void * )connection , protocol_version );
322+ neo4j_log_debug (logger , "connection %p using protocol version %d.%d " ,
323+ (void * )connection , protocol_version , protocol_minor_version );
324324 neo4j_atomic_bool_set (& (connection -> poison_tx ),false);
325325 return connection ;
326326
@@ -457,8 +457,8 @@ int negotiate_protocol_version(neo4j_iostream_t *iostream,
457457 return -1 ;
458458 }
459459 agreed_version = ntohl (agreed_version );
460- * protocol_version = agreed_version & 0007 ;
461- * protocol_minor_version = (agreed_version & 0700 ) >> 8 ;
460+ * protocol_version = agreed_version & 0x0007 ;
461+ * protocol_minor_version = (agreed_version & 0x0700 ) >> 8 ;
462462 return 0 ;
463463}
464464
@@ -1232,6 +1232,19 @@ int initialize(neo4j_connection_t *connection)
12321232 req -> argv = req -> _argv ;
12331233 req -> argc = 2 ;
12341234 }
1235+ else if (connection -> version == 4 && connection -> minor_version == 4 )
1236+ {
1237+ neo4j_value_t patch_bolt [1 ] = {neo4j_string ("utc" )};
1238+ neo4j_map_entry_t auth_token [5 ] =
1239+ { neo4j_map_entry ("user_agent" , neo4j_string (config -> client_id )),
1240+ neo4j_map_entry ("scheme" , neo4j_string ("basic" )),
1241+ neo4j_map_entry ("principal" , neo4j_string (config -> username )),
1242+ neo4j_map_entry ("credentials" , neo4j_string (config -> password )),
1243+ neo4j_map_entry ("patch_bolt" , neo4j_list (patch_bolt , 1 )) };
1244+ req -> _argv [0 ] = neo4j_map (auth_token , 5 );
1245+ req -> argv = req -> _argv ;
1246+ req -> argc = 1 ;
1247+ }
12351248 else
12361249 {
12371250 neo4j_map_entry_t auth_token [4 ] =
0 commit comments