[CXX-854] ConnectionString::parse not correct when pwd have char @ Created: 25/Feb/16  Updated: 08/Jan/24  Resolved: 07/Feb/17

Status: Closed
Project: C++ Driver
Component/s: API, Implementation
Affects Version/s: legacy-1.1.0
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: chinaman_a Assignee: David Golden
Resolution: Won't Fix Votes: 0
Labels: legacy-cxx
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by CXX-853 legacy ConnectionString::parse bug wh... Closed

 Description   

when pwd have @ parsed host not correct.
example:
cs=ConnectionString::parse("mongodb://abc:abcserver#@!@10.1.141.25:27017/JCDATA?maxPoolSize=60",errormsg);
host="!@10.1.141.25"



 Comments   
Comment by David Golden [ 07/Feb/17 ]

Given that we don't anticipate putting resources against the legacy driver any time soon, I'm closing this ticket as "Won't Fix".

Comment by Mira Carey [ 25/Feb/16 ]

In general, the mongodb uri format requires that special characters (e.g. ‘/’, ‘ ‘, or ‘@’) be escaped (%xx).

So in a compliant driver, you'd want to do something like: mongodb://abc:abcserver%23%40!@10.1.141.25:27017/JCDATA?maxPoolSize=60

In this case that won't be enough, because the legacy driver unfortunately doesn't honor the url specification. If you're in a position to use C++11 you could consider using the C++11 Driver, which does handle encoded uris. Or if you're stuck with the legacy driver, you can make explicit calls to auth, rather than relying on the uri.

Regards,
Jason

Generated at Wed Feb 07 22:00:34 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.