CBG-4459 validate cv when passed in #7293
Open
+113
−60
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
CBG-4459 validate cv when passed in
The sourceID from CBL/CBS never include padding, so I used
base64.RawStdEncoding
to generate sourceIDs. Not all ASCII strings are valid base64, so I changed some strings.I considered doing regexp parsing for invalid characters, since what was happening before this PR was that "1@abc; 2@def" was getting parsed as SourceID=
abc; 2@def
Value=1
. I decided to just parse as base64 since this will provide more robust validation. There are two possible downsides to this: it is slightly more expensive to callParseVersion
and we can't use any artibrary string for source id for debugging.Pre-review checklist
fmt.Print
,log.Print
, ...)base.UD(docID)
,base.MD(dbName)
)docs/api
Integration Tests
GSI=true,xattrs=true
https://jenkins.sgwdev.com/job/SyncGateway-Integration/2899/