aboutsummaryrefslogtreecommitdiff
path: root/src/datastore/plugin_datastore_mysql.c
diff options
context:
space:
mode:
authorDavid Barksdale <amatus@amat.us>2017-02-20 13:08:08 -0600
committerDavid Barksdale <amatus@amat.us>2017-02-20 13:11:19 -0600
commitfe4f6e8cedfa8d0a57b0247727fc4849d38c2f3a (patch)
treecbcbc99a93ec8f466426190a340cc46f54d2641e /src/datastore/plugin_datastore_mysql.c
parentf553963d649374a75cc5a6e57df39d83565eb913 (diff)
downloadgnunet-fe4f6e8cedfa8d0a57b0247727fc4849d38c2f3a.tar.gz
gnunet-fe4f6e8cedfa8d0a57b0247727fc4849d38c2f3a.zip
Restrict update to positive priority deltas
This is only ever called with positive values and the mysql and postgres plugins were not handling negative values correctly anyway.
Diffstat (limited to 'src/datastore/plugin_datastore_mysql.c')
-rw-r--r--src/datastore/plugin_datastore_mysql.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/datastore/plugin_datastore_mysql.c b/src/datastore/plugin_datastore_mysql.c
index d76b4ccb4..1067064aa 100644
--- a/src/datastore/plugin_datastore_mysql.c
+++ b/src/datastore/plugin_datastore_mysql.c
@@ -395,9 +395,7 @@ mysql_plugin_put (void *cls,
395 * @param cls our "struct Plugin*" 395 * @param cls our "struct Plugin*"
396 * @param uid unique identifier of the datum 396 * @param uid unique identifier of the datum
397 * @param delta by how much should the priority 397 * @param delta by how much should the priority
398 * change? If priority + delta < 0 the 398 * change?
399 * priority should be set to 0 (never go
400 * negative).
401 * @param expire new expiration time should be the 399 * @param expire new expiration time should be the
402 * MAX of any existing expiration time and 400 * MAX of any existing expiration time and
403 * this value 401 * this value
@@ -407,13 +405,12 @@ mysql_plugin_put (void *cls,
407static void 405static void
408mysql_plugin_update (void *cls, 406mysql_plugin_update (void *cls,
409 uint64_t uid, 407 uint64_t uid,
410 int delta, 408 uint32_t delta,
411 struct GNUNET_TIME_Absolute expire, 409 struct GNUNET_TIME_Absolute expire,
412 PluginUpdateCont cont, 410 PluginUpdateCont cont,
413 void *cont_cls) 411 void *cont_cls)
414{ 412{
415 struct Plugin *plugin = cls; 413 struct Plugin *plugin = cls;
416 uint32_t idelta = (uint32_t) delta;
417 uint64_t lexpire = expire.abs_value_us; 414 uint64_t lexpire = expire.abs_value_us;
418 int ret; 415 int ret;
419 416
@@ -424,7 +421,7 @@ mysql_plugin_update (void *cls,
424 GNUNET_STRINGS_absolute_time_to_string (expire)); 421 GNUNET_STRINGS_absolute_time_to_string (expire));
425 422
426 struct GNUNET_MY_QueryParam params_update[] = { 423 struct GNUNET_MY_QueryParam params_update[] = {
427 GNUNET_MY_query_param_uint32 (&idelta), 424 GNUNET_MY_query_param_uint32 (&delta),
428 GNUNET_MY_query_param_uint64 (&lexpire), 425 GNUNET_MY_query_param_uint64 (&lexpire),
429 GNUNET_MY_query_param_uint64 (&lexpire), 426 GNUNET_MY_query_param_uint64 (&lexpire),
430 GNUNET_MY_query_param_uint64 (&uid), 427 GNUNET_MY_query_param_uint64 (&uid),