@@ -233,97 +233,89 @@ IMPL_TOKEN_NEW_CONST(mc_ServerTextPrefixToken,
233233 mc_ServerTokenDerivationLevel1Token_get (serverTokenDerivationLevel1Token ),
234234 TEXT_PREFIX_ID )
235235
236- #define IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (Name , Key , BufferArg , UintArg ) \
237- { \
238- BSON_CONCAT(Name, _t) *t = bson_malloc(sizeof(BSON_CONCAT(Name, _t))); \
239- _mongocrypt_buffer_t tmp; \
240- _mongocrypt_buffer_init(&tmp); \
241- _mongocrypt_buffer_resize(&tmp, MONGOCRYPT_HMAC_SHA256_LEN); \
242- _mongocrypt_buffer_init(&t->data); \
243- _mongocrypt_buffer_resize(&t->data, MONGOCRYPT_HMAC_SHA256_LEN); \
244- if (!_mongocrypt_hmac_sha_256(crypto, Key, BufferArg, &tmp, status)) { \
245- BSON_CONCAT(Name, _destroy)(t); \
246- _mongocrypt_buffer_cleanup(&tmp); \
247- return NULL; \
248- } \
249- _mongocrypt_buffer_t uint_arg; \
250- _mongocrypt_buffer_copy_from_uint64_le(&uint_arg, UintArg); \
251- if (!_mongocrypt_hmac_sha_256(crypto, &tmp, &uint_arg, &t->data, status)) { \
252- BSON_CONCAT(Name, _destroy)(t); \
253- _mongocrypt_buffer_cleanup(&tmp); \
254- _mongocrypt_buffer_cleanup(&uint_arg); \
255- return NULL; \
256- } \
257- _mongocrypt_buffer_cleanup(&tmp); \
258- _mongocrypt_buffer_cleanup(&uint_arg); \
259- return t; \
260- }
236+ DEF_TOKEN_TYPE (mc_EDCTextExactDerivedFromDataToken ,
237+ const mc_EDCTextExactToken_t * edcTextExactToken ,
238+ const _mongocrypt_buffer_t * v )
239+ IMPL_TOKEN_NEW (mc_EDCTextExactDerivedFromDataToken , mc_EDCTextExactToken_get (edcTextExactToken ), v )
240+ DEF_TOKEN_TYPE (mc_EDCTextSubstringDerivedFromDataToken ,
241+ const mc_EDCTextSubstringToken_t * edcTextSubstringToken ,
242+ const _mongocrypt_buffer_t * v )
243+ IMPL_TOKEN_NEW (mc_EDCTextSubstringDerivedFromDataToken , mc_EDCTextSubstringToken_get (edcTextSubstringToken ), v )
244+ DEF_TOKEN_TYPE (mc_EDCTextSuffixDerivedFromDataToken ,
245+ const mc_EDCTextSuffixToken_t * edcTextSuffixToken ,
246+ const _mongocrypt_buffer_t * v )
247+ IMPL_TOKEN_NEW (mc_EDCTextSuffixDerivedFromDataToken , mc_EDCTextSuffixToken_get (edcTextSuffixToken ), v )
248+ DEF_TOKEN_TYPE (mc_EDCTextPrefixDerivedFromDataToken ,
249+ const mc_EDCTextPrefixToken_t * edcTextPrefixToken ,
250+ const _mongocrypt_buffer_t * v )
251+ IMPL_TOKEN_NEW (mc_EDCTextPrefixDerivedFromDataToken , mc_EDCTextPrefixToken_get (edcTextPrefixToken ), v )
261252
262253DEF_TOKEN_TYPE (mc_EDCTextExactDerivedFromDataTokenAndContentionFactorToken ,
263- const mc_EDCTextExactToken_t * edcTextExactToken ,
264- const _mongocrypt_buffer_t * v ,
254+ const mc_EDCTextExactDerivedFromDataToken_t * edcTextExactToken ,
265255 uint64_t u )
266- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_EDCTextExactDerivedFromDataTokenAndContentionFactorToken ,
267- mc_EDCTextExactToken_get (edcTextExactToken ),
268- v ,
269- u )
256+ IMPL_TOKEN_NEW_CONST (mc_EDCTextExactDerivedFromDataTokenAndContentionFactorToken ,
257+ mc_EDCTextExactDerivedFromDataToken_get (edcTextExactToken ),
258+ u )
270259DEF_TOKEN_TYPE (mc_EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken ,
271- const mc_EDCTextSubstringToken_t * edcTextSubstringToken ,
272- const _mongocrypt_buffer_t * v ,
260+ const mc_EDCTextSubstringDerivedFromDataToken_t * edcTextSubstringToken ,
273261 uint64_t u )
274- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken ,
275- mc_EDCTextSubstringToken_get (edcTextSubstringToken ),
276- v ,
277- u )
262+ IMPL_TOKEN_NEW_CONST (mc_EDCTextSubstringDerivedFromDataTokenAndContentionFactorToken ,
263+ mc_EDCTextSubstringDerivedFromDataToken_get (edcTextSubstringToken ),
264+ u )
278265DEF_TOKEN_TYPE (mc_EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken ,
279- const mc_EDCTextSuffixToken_t * edcTextSuffixToken ,
280- const _mongocrypt_buffer_t * v ,
266+ const mc_EDCTextSuffixDerivedFromDataToken_t * edcTextSuffixToken ,
281267 uint64_t u )
282- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken ,
283- mc_EDCTextSuffixToken_get (edcTextSuffixToken ),
284- v ,
285- u )
268+ IMPL_TOKEN_NEW_CONST (mc_EDCTextSuffixDerivedFromDataTokenAndContentionFactorToken ,
269+ mc_EDCTextSuffixDerivedFromDataToken_get (edcTextSuffixToken ),
270+ u )
286271DEF_TOKEN_TYPE (mc_EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken ,
287- const mc_EDCTextPrefixToken_t * edcTextPrefixToken ,
288- const _mongocrypt_buffer_t * v ,
272+ const mc_EDCTextPrefixDerivedFromDataToken_t * edcTextPrefixToken ,
289273 uint64_t u )
290- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken ,
291- mc_EDCTextPrefixToken_get (edcTextPrefixToken ),
292- v ,
293- u )
274+ IMPL_TOKEN_NEW_CONST (mc_EDCTextPrefixDerivedFromDataTokenAndContentionFactorToken ,
275+ mc_EDCTextPrefixDerivedFromDataToken_get (edcTextPrefixToken ),
276+ u )
294277
295- DEF_TOKEN_TYPE (mc_ESCTextExactDerivedFromDataTokenAndContentionFactorToken ,
278+ DEF_TOKEN_TYPE (mc_ESCTextExactDerivedFromDataToken ,
296279 const mc_ESCTextExactToken_t * escTextExactToken ,
297- const _mongocrypt_buffer_t * v ,
280+ const _mongocrypt_buffer_t * v )
281+ IMPL_TOKEN_NEW (mc_ESCTextExactDerivedFromDataToken , mc_ESCTextExactToken_get (escTextExactToken ), v )
282+ DEF_TOKEN_TYPE (mc_ESCTextSubstringDerivedFromDataToken ,
283+ const mc_ESCTextSubstringToken_t * escTextSubstringToken ,
284+ const _mongocrypt_buffer_t * v )
285+ IMPL_TOKEN_NEW (mc_ESCTextSubstringDerivedFromDataToken , mc_ESCTextSubstringToken_get (escTextSubstringToken ), v )
286+ DEF_TOKEN_TYPE (mc_ESCTextSuffixDerivedFromDataToken ,
287+ const mc_ESCTextSuffixToken_t * escTextSuffixToken ,
288+ const _mongocrypt_buffer_t * v )
289+ IMPL_TOKEN_NEW (mc_ESCTextSuffixDerivedFromDataToken , mc_ESCTextSuffixToken_get (escTextSuffixToken ), v )
290+ DEF_TOKEN_TYPE (mc_ESCTextPrefixDerivedFromDataToken ,
291+ const mc_ESCTextPrefixToken_t * escTextPrefixToken ,
292+ const _mongocrypt_buffer_t * v )
293+ IMPL_TOKEN_NEW (mc_ESCTextPrefixDerivedFromDataToken , mc_ESCTextPrefixToken_get (escTextPrefixToken ), v )
294+
295+ DEF_TOKEN_TYPE (mc_ESCTextExactDerivedFromDataTokenAndContentionFactorToken ,
296+ const mc_ESCTextExactDerivedFromDataToken_t * escTextExactToken ,
298297 uint64_t u )
299- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_ESCTextExactDerivedFromDataTokenAndContentionFactorToken ,
300- mc_ESCTextExactToken_get (escTextExactToken ),
301- v ,
302- u )
298+ IMPL_TOKEN_NEW_CONST (mc_ESCTextExactDerivedFromDataTokenAndContentionFactorToken ,
299+ mc_ESCTextExactDerivedFromDataToken_get (escTextExactToken ),
300+ u )
303301DEF_TOKEN_TYPE (mc_ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken ,
304- const mc_ESCTextSubstringToken_t * escTextSubstringToken ,
305- const _mongocrypt_buffer_t * v ,
302+ const mc_ESCTextSubstringDerivedFromDataToken_t * escTextSubstringToken ,
306303 uint64_t u )
307- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken ,
308- mc_ESCTextSubstringToken_get (escTextSubstringToken ),
309- v ,
310- u )
304+ IMPL_TOKEN_NEW_CONST (mc_ESCTextSubstringDerivedFromDataTokenAndContentionFactorToken ,
305+ mc_ESCTextSubstringDerivedFromDataToken_get (escTextSubstringToken ),
306+ u )
311307DEF_TOKEN_TYPE (mc_ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken ,
312- const mc_ESCTextSuffixToken_t * escTextSuffixToken ,
313- const _mongocrypt_buffer_t * v ,
308+ const mc_ESCTextSuffixDerivedFromDataToken_t * escTextSuffixToken ,
314309 uint64_t u )
315- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken ,
316- mc_ESCTextSuffixToken_get (escTextSuffixToken ),
317- v ,
318- u )
310+ IMPL_TOKEN_NEW_CONST (mc_ESCTextSuffixDerivedFromDataTokenAndContentionFactorToken ,
311+ mc_ESCTextSuffixDerivedFromDataToken_get (escTextSuffixToken ),
312+ u )
319313DEF_TOKEN_TYPE (mc_ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken ,
320- const mc_ESCTextPrefixToken_t * escTextPrefixToken ,
321- const _mongocrypt_buffer_t * v ,
314+ const mc_ESCTextPrefixDerivedFromDataToken_t * escTextPrefixToken ,
322315 uint64_t u )
323- IMPL_TOKEN_NEW_FROM_DATA_AND_CONTENTION (mc_ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken ,
324- mc_ESCTextPrefixToken_get (escTextPrefixToken ),
325- v ,
326- u )
316+ IMPL_TOKEN_NEW_CONST (mc_ESCTextPrefixDerivedFromDataTokenAndContentionFactorToken ,
317+ mc_ESCTextPrefixDerivedFromDataToken_get (escTextPrefixToken ),
318+ u )
327319
328320DEF_TOKEN_TYPE (mc_ServerTextExactDerivedFromDataToken ,
329321 const mc_ServerTextExactToken_t * serverTextExactToken ,
0 commit comments