274
root = json_loads(buf, 0, &error);
276
return REPUTE_STAT_PARSE;
278
exts = json_object_get(root, REPUTE_XML_EXTENSION);
279
if (exts != NULL && !json_is_object(exts))
282
return REPUTE_STAT_PARSE;
285
obj = json_object_get(root, REPUTE_XML_ASSERTION);
286
if (obj != NULL && json_is_string(obj) &&
287
strcasecmp(json_string_value(obj), REPUTE_ASSERT_SPAM) == 0)
290
obj = json_object_get(exts, REPUTE_EXT_ID);
291
if (obj != NULL && json_is_string(obj) &&
292
strcasecmp(json_string_value(obj), REPUTE_EXT_ID_DKIM) == 0)
295
obj = json_object_get(exts, REPUTE_EXT_RATE);
296
if (obj != NULL && json_is_number(obj))
297
limittmp = (unsigned long) json_integer_value(obj);
299
obj = json_object_get(root, REPUTE_XML_RATER_AUTH);
300
if (obj != NULL && json_is_number(obj))
301
conftmp = (float) json_real_value(obj);
303
obj = json_object_get(root, REPUTE_XML_RATING);
304
if (obj != NULL && json_is_number(obj))
305
reptmp = (float) json_real_value(obj);
307
obj = json_object_get(root, REPUTE_XML_SAMPLE_SIZE);
308
if (obj != NULL && json_is_number(obj))
309
sampletmp = (unsigned long) json_integer_value(obj);
311
obj = json_object_get(root, REPUTE_XML_UPDATED);
312
if (obj != NULL && json_is_number(obj))
313
whentmp = (time_t) json_integer_value(obj);
315
if (found_dkim && found_spam)
327
#endif /* USE_JANSSON */
252
330
doc = xmlParseMemory(buf, buflen);
254
332
return REPUTE_STAT_PARSE;
329
407
case REPUTE_XML_CODE_EXTENSION:
330
408
if (strcasecmp(reputon->children->content,
331
REPUTE_EXT_ID_DKIM) == 0)
409
REPUTE_EXT_ID_BOTH) == 0)
333
411
found_dkim = TRUE;
335
413
else if (strncasecmp(reputon->children->content,
337
sizeof REPUTE_EXT_RATE - 1) == 0)
414
REPUTE_EXT_RATE_COLON,
415
sizeof REPUTE_EXT_RATE_COLON - 1) == 0)
340
limittmp = strtoul(reputon->children->content + sizeof REPUTE_EXT_RATE,
418
limittmp = strtoul(reputon->children->content + sizeof REPUTE_EXT_RATE_COLON,
865
949
if (ut_keyvalue(ut, UT_KEYTYPE_STRING,
866
950
"subject", (void *) domain) != 0 ||
952
ut_keyvalue(ut, UT_KEYTYPE_STRING, "format", "json") != 0 ||
953
#endif /* USE_JANSSON */
955
ut_keyvalue(ut, UT_KEYTYPE_STRING, "format", "xml") != 0 ||
956
#endif /* USE_XML2 */
867
957
ut_keyvalue(ut, UT_KEYTYPE_STRING,
868
958
"scheme", REPUTE_URI_SCHEME) != 0 ||
869
959
ut_keyvalue(ut, UT_KEYTYPE_STRING,