diff options
Diffstat (limited to 'src/dht/plugin_dhtlog_mysql.c')
-rw-r--r-- | src/dht/plugin_dhtlog_mysql.c | 678 |
1 files changed, 297 insertions, 381 deletions
diff --git a/src/dht/plugin_dhtlog_mysql.c b/src/dht/plugin_dhtlog_mysql.c index c653f912a..33028fb09 100644 --- a/src/dht/plugin_dhtlog_mysql.c +++ b/src/dht/plugin_dhtlog_mysql.c | |||
@@ -73,8 +73,7 @@ struct StatementHandle | |||
73 | * @param values values returned by MySQL | 73 | * @param values values returned by MySQL |
74 | * @return GNUNET_OK to continue iterating, GNUNET_SYSERR to abort | 74 | * @return GNUNET_OK to continue iterating, GNUNET_SYSERR to abort |
75 | */ | 75 | */ |
76 | typedef int (*GNUNET_MysqlDataProcessor) (void *cls, | 76 | typedef int (*GNUNET_MysqlDataProcessor) (void *cls, unsigned int num_values, |
77 | unsigned int num_values, | ||
78 | MYSQL_BIND * values); | 77 | MYSQL_BIND * values); |
79 | 78 | ||
80 | static unsigned long max_varchar_len; | 79 | static unsigned long max_varchar_len; |
@@ -203,128 +202,121 @@ itable () | |||
203 | { | 202 | { |
204 | #define MRUNS(a) (GNUNET_OK != run_statement (a) ) | 203 | #define MRUNS(a) (GNUNET_OK != run_statement (a) ) |
205 | 204 | ||
206 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `dhtkeys` (" | 205 | if (MRUNS |
207 | "dhtkeyuid int(10) unsigned NOT NULL auto_increment COMMENT 'Unique Key given to each query'," | 206 | ("CREATE TABLE IF NOT EXISTS `dhtkeys` (" |
208 | "`dhtkey` varchar(255) NOT NULL COMMENT 'The ASCII value of the key being searched for'," | 207 | "dhtkeyuid int(10) unsigned NOT NULL auto_increment COMMENT 'Unique Key given to each query'," |
209 | "trialuid int(10) unsigned NOT NULL," | 208 | "`dhtkey` varchar(255) NOT NULL COMMENT 'The ASCII value of the key being searched for'," |
210 | "keybits blob NOT NULL," | 209 | "trialuid int(10) unsigned NOT NULL," "keybits blob NOT NULL," |
211 | "UNIQUE KEY `dhtkeyuid` (`dhtkeyuid`)" | 210 | "UNIQUE KEY `dhtkeyuid` (`dhtkeyuid`)" |
212 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) | 211 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) |
213 | return GNUNET_SYSERR; | 212 | return GNUNET_SYSERR; |
214 | 213 | ||
215 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `nodes` (" | 214 | if (MRUNS |
216 | "`nodeuid` int(10) unsigned NOT NULL auto_increment," | 215 | ("CREATE TABLE IF NOT EXISTS `nodes` (" |
217 | "`trialuid` int(10) unsigned NOT NULL," | 216 | "`nodeuid` int(10) unsigned NOT NULL auto_increment," |
218 | "`nodeid` varchar(255) NOT NULL," | 217 | "`trialuid` int(10) unsigned NOT NULL," "`nodeid` varchar(255) NOT NULL," |
219 | "`nodebits` blob NOT NULL," | 218 | "`nodebits` blob NOT NULL," "PRIMARY KEY (`nodeuid`)" |
220 | "PRIMARY KEY (`nodeuid`)" | 219 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) |
221 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) | ||
222 | return GNUNET_SYSERR; | 220 | return GNUNET_SYSERR; |
223 | 221 | ||
224 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `queries` (" | 222 | if (MRUNS |
225 | "`trialuid` int(10) unsigned NOT NULL," | 223 | ("CREATE TABLE IF NOT EXISTS `queries` (" |
226 | "`queryuid` int(10) unsigned NOT NULL auto_increment," | 224 | "`trialuid` int(10) unsigned NOT NULL," |
227 | "`dhtqueryid` bigint(20) NOT NULL," | 225 | "`queryuid` int(10) unsigned NOT NULL auto_increment," |
228 | "`querytype` enum('1','2','3','4','5') NOT NULL," | 226 | "`dhtqueryid` bigint(20) NOT NULL," |
229 | "`hops` int(10) unsigned NOT NULL," | 227 | "`querytype` enum('1','2','3','4','5') NOT NULL," |
230 | "`succeeded` tinyint NOT NULL," | 228 | "`hops` int(10) unsigned NOT NULL," "`succeeded` tinyint NOT NULL," |
231 | "`nodeuid` int(10) unsigned NOT NULL," | 229 | "`nodeuid` int(10) unsigned NOT NULL," |
232 | "`time` timestamp NOT NULL default CURRENT_TIMESTAMP," | 230 | "`time` timestamp NOT NULL default CURRENT_TIMESTAMP," |
233 | "`dhtkeyuid` int(10) unsigned NOT NULL," | 231 | "`dhtkeyuid` int(10) unsigned NOT NULL," "PRIMARY KEY (`queryuid`)" |
234 | "PRIMARY KEY (`queryuid`)" | 232 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) |
235 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) | ||
236 | return GNUNET_SYSERR; | 233 | return GNUNET_SYSERR; |
237 | 234 | ||
238 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `routes` (" | 235 | if (MRUNS |
239 | "`trialuid` int(10) unsigned NOT NULL," | 236 | ("CREATE TABLE IF NOT EXISTS `routes` (" |
240 | "`queryuid` int(10) unsigned NOT NULL auto_increment," | 237 | "`trialuid` int(10) unsigned NOT NULL," |
241 | "`dhtqueryid` bigint(20) NOT NULL," | 238 | "`queryuid` int(10) unsigned NOT NULL auto_increment," |
242 | "`querytype` enum('1','2','3','4','5') NOT NULL," | 239 | "`dhtqueryid` bigint(20) NOT NULL," |
243 | "`hops` int(10) unsigned NOT NULL," | 240 | "`querytype` enum('1','2','3','4','5') NOT NULL," |
244 | "`succeeded` tinyint NOT NULL," | 241 | "`hops` int(10) unsigned NOT NULL," "`succeeded` tinyint NOT NULL," |
245 | "`nodeuid` int(10) unsigned NOT NULL," | 242 | "`nodeuid` int(10) unsigned NOT NULL," |
246 | "`time` timestamp NOT NULL default CURRENT_TIMESTAMP," | 243 | "`time` timestamp NOT NULL default CURRENT_TIMESTAMP," |
247 | "`dhtkeyuid` int(10) unsigned NOT NULL," | 244 | "`dhtkeyuid` int(10) unsigned NOT NULL," |
248 | "`from_node` int(10) unsigned NOT NULL," | 245 | "`from_node` int(10) unsigned NOT NULL," |
249 | "`to_node` int(10) unsigned NOT NULL," | 246 | "`to_node` int(10) unsigned NOT NULL," "PRIMARY KEY (`queryuid`)" |
250 | "PRIMARY KEY (`queryuid`)" | 247 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) |
251 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) | ||
252 | return GNUNET_SYSERR; | 248 | return GNUNET_SYSERR; |
253 | 249 | ||
254 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `trials` (" | 250 | if (MRUNS |
255 | "`trialuid` int(10) unsigned NOT NULL auto_increment," | 251 | ("CREATE TABLE IF NOT EXISTS `trials` (" |
256 | "`other_trial_identifier` int(10) unsigned NOT NULL default '0'," | 252 | "`trialuid` int(10) unsigned NOT NULL auto_increment," |
257 | "`numnodes` int(10) unsigned NOT NULL," | 253 | "`other_trial_identifier` int(10) unsigned NOT NULL default '0'," |
258 | "`topology` int(10) NOT NULL," | 254 | "`numnodes` int(10) unsigned NOT NULL," "`topology` int(10) NOT NULL," |
259 | "`blacklist_topology` int(11) NOT NULL," | 255 | "`blacklist_topology` int(11) NOT NULL," |
260 | "`connect_topology` int(11) NOT NULL," | 256 | "`connect_topology` int(11) NOT NULL," |
261 | "`connect_topology_option` int(11) NOT NULL," | 257 | "`connect_topology_option` int(11) NOT NULL," |
262 | "`topology_percentage` float NOT NULL," | 258 | "`topology_percentage` float NOT NULL," |
263 | "`topology_probability` float NOT NULL," | 259 | "`topology_probability` float NOT NULL," |
264 | "`connect_topology_option_modifier` float NOT NULL," | 260 | "`connect_topology_option_modifier` float NOT NULL," |
265 | "`starttime` datetime NOT NULL," | 261 | "`starttime` datetime NOT NULL," "`endtime` datetime NOT NULL," |
266 | "`endtime` datetime NOT NULL," | 262 | "`puts` int(10) unsigned NOT NULL," "`gets` int(10) unsigned NOT NULL," |
267 | "`puts` int(10) unsigned NOT NULL," | 263 | "`concurrent` int(10) unsigned NOT NULL," |
268 | "`gets` int(10) unsigned NOT NULL," | 264 | "`settle_time` int(10) unsigned NOT NULL," |
269 | "`concurrent` int(10) unsigned NOT NULL," | 265 | "`totalConnections` int(10) unsigned NOT NULL," |
270 | "`settle_time` int(10) unsigned NOT NULL," | 266 | "`message` text NOT NULL," "`num_rounds` int(10) unsigned NOT NULL," |
271 | "`totalConnections` int(10) unsigned NOT NULL," | 267 | "`malicious_getters` int(10) unsigned NOT NULL," |
272 | "`message` text NOT NULL," | 268 | "`malicious_putters` int(10) unsigned NOT NULL," |
273 | "`num_rounds` int(10) unsigned NOT NULL," | 269 | "`malicious_droppers` int(10) unsigned NOT NULL," |
274 | "`malicious_getters` int(10) unsigned NOT NULL," | 270 | "`topology_modifier` double NOT NULL," |
275 | "`malicious_putters` int(10) unsigned NOT NULL," | 271 | "`malicious_get_frequency` int(10) unsigned NOT NULL," |
276 | "`malicious_droppers` int(10) unsigned NOT NULL," | 272 | "`malicious_put_frequency` int(10) unsigned NOT NULL," |
277 | "`topology_modifier` double NOT NULL," | 273 | "`stop_closest` int(10) unsigned NOT NULL," |
278 | "`malicious_get_frequency` int(10) unsigned NOT NULL," | 274 | "`stop_found` int(10) unsigned NOT NULL," |
279 | "`malicious_put_frequency` int(10) unsigned NOT NULL," | 275 | "`strict_kademlia` int(10) unsigned NOT NULL," |
280 | "`stop_closest` int(10) unsigned NOT NULL," | 276 | "`gets_succeeded` int(10) unsigned NOT NULL," |
281 | "`stop_found` int(10) unsigned NOT NULL," | 277 | "PRIMARY KEY (`trialuid`)," "UNIQUE KEY `trialuid` (`trialuid`)" |
282 | "`strict_kademlia` int(10) unsigned NOT NULL," | 278 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) |
283 | "`gets_succeeded` int(10) unsigned NOT NULL," | ||
284 | "PRIMARY KEY (`trialuid`)," | ||
285 | "UNIQUE KEY `trialuid` (`trialuid`)" | ||
286 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) | ||
287 | return GNUNET_SYSERR; | 279 | return GNUNET_SYSERR; |
288 | 280 | ||
289 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `topology` (" | 281 | if (MRUNS |
290 | "`topology_uid` int(10) unsigned NOT NULL AUTO_INCREMENT," | 282 | ("CREATE TABLE IF NOT EXISTS `topology` (" |
291 | "`trialuid` int(10) unsigned NOT NULL," | 283 | "`topology_uid` int(10) unsigned NOT NULL AUTO_INCREMENT," |
292 | "`date` datetime NOT NULL," | 284 | "`trialuid` int(10) unsigned NOT NULL," "`date` datetime NOT NULL," |
293 | "`connections` int(10) unsigned NOT NULL," | 285 | "`connections` int(10) unsigned NOT NULL," |
294 | "PRIMARY KEY (`topology_uid`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) | 286 | "PRIMARY KEY (`topology_uid`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) |
295 | return GNUNET_SYSERR; | 287 | return GNUNET_SYSERR; |
296 | 288 | ||
297 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `extended_topology` (" | 289 | if (MRUNS |
298 | "`extended_uid` int(10) unsigned NOT NULL AUTO_INCREMENT," | 290 | ("CREATE TABLE IF NOT EXISTS `extended_topology` (" |
299 | "`topology_uid` int(10) unsigned NOT NULL," | 291 | "`extended_uid` int(10) unsigned NOT NULL AUTO_INCREMENT," |
300 | "`uid_first` int(10) unsigned NOT NULL," | 292 | "`topology_uid` int(10) unsigned NOT NULL," |
301 | "`uid_second` int(10) unsigned NOT NULL," | 293 | "`uid_first` int(10) unsigned NOT NULL," |
302 | "PRIMARY KEY (`extended_uid`)" | 294 | "`uid_second` int(10) unsigned NOT NULL," "PRIMARY KEY (`extended_uid`)" |
303 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) | 295 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1")) |
304 | return GNUNET_SYSERR; | 296 | return GNUNET_SYSERR; |
305 | 297 | ||
306 | if (MRUNS ("CREATE TABLE IF NOT EXISTS `node_statistics` (" | 298 | if (MRUNS |
307 | "`stat_uid` int(10) unsigned NOT NULL AUTO_INCREMENT," | 299 | ("CREATE TABLE IF NOT EXISTS `node_statistics` (" |
308 | "`trialuid` int(10) unsigned NOT NULL," | 300 | "`stat_uid` int(10) unsigned NOT NULL AUTO_INCREMENT," |
309 | "`nodeuid` int(10) unsigned NOT NULL," | 301 | "`trialuid` int(10) unsigned NOT NULL," |
310 | "`route_requests` int(10) unsigned NOT NULL," | 302 | "`nodeuid` int(10) unsigned NOT NULL," |
311 | "`route_forwards` int(10) unsigned NOT NULL," | 303 | "`route_requests` int(10) unsigned NOT NULL," |
312 | "`result_requests` int(10) unsigned NOT NULL," | 304 | "`route_forwards` int(10) unsigned NOT NULL," |
313 | "`client_results` int(10) unsigned NOT NULL," | 305 | "`result_requests` int(10) unsigned NOT NULL," |
314 | "`result_forwards` int(10) unsigned NOT NULL," | 306 | "`client_results` int(10) unsigned NOT NULL," |
315 | "`gets` int(10) unsigned NOT NULL," | 307 | "`result_forwards` int(10) unsigned NOT NULL," |
316 | "`puts` int(10) unsigned NOT NULL," | 308 | "`gets` int(10) unsigned NOT NULL," "`puts` int(10) unsigned NOT NULL," |
317 | "`data_inserts` int(10) unsigned NOT NULL," | 309 | "`data_inserts` int(10) unsigned NOT NULL," |
318 | "`find_peer_requests` int(10) unsigned NOT NULL," | 310 | "`find_peer_requests` int(10) unsigned NOT NULL," |
319 | "`find_peers_started` int(10) unsigned NOT NULL," | 311 | "`find_peers_started` int(10) unsigned NOT NULL," |
320 | "`gets_started` int(10) unsigned NOT NULL," | 312 | "`gets_started` int(10) unsigned NOT NULL," |
321 | "`puts_started` int(10) unsigned NOT NULL," | 313 | "`puts_started` int(10) unsigned NOT NULL," |
322 | "`find_peer_responses_received` int(10) unsigned NOT NULL," | 314 | "`find_peer_responses_received` int(10) unsigned NOT NULL," |
323 | "`get_responses_received` int(10) unsigned NOT NULL," | 315 | "`get_responses_received` int(10) unsigned NOT NULL," |
324 | "`find_peer_responses_sent` int(10) unsigned NOT NULL," | 316 | "`find_peer_responses_sent` int(10) unsigned NOT NULL," |
325 | "`get_responses_sent` int(10) unsigned NOT NULL," | 317 | "`get_responses_sent` int(10) unsigned NOT NULL," |
326 | "PRIMARY KEY (`stat_uid`)" | 318 | "PRIMARY KEY (`stat_uid`)" |
327 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;")) | 319 | ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;")) |
328 | return GNUNET_SYSERR; | 320 | return GNUNET_SYSERR; |
329 | 321 | ||
330 | if (MRUNS ("SET AUTOCOMMIT = 1")) | 322 | if (MRUNS ("SET AUTOCOMMIT = 1")) |
@@ -388,37 +380,37 @@ iopen (struct GNUNET_DHTLOG_Plugin *plugin) | |||
388 | if (conn == NULL) | 380 | if (conn == NULL) |
389 | return GNUNET_SYSERR; | 381 | return GNUNET_SYSERR; |
390 | 382 | ||
391 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (plugin->cfg, | 383 | if (GNUNET_OK != |
392 | "MYSQL", "DATABASE", | 384 | GNUNET_CONFIGURATION_get_value_string (plugin->cfg, "MYSQL", "DATABASE", |
393 | &database)) | 385 | &database)) |
394 | { | 386 | { |
395 | database = GNUNET_strdup ("gnunet"); | 387 | database = GNUNET_strdup ("gnunet"); |
396 | } | 388 | } |
397 | 389 | ||
398 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (plugin->cfg, | 390 | if (GNUNET_OK != |
399 | "MYSQL", "USER", | 391 | GNUNET_CONFIGURATION_get_value_string (plugin->cfg, "MYSQL", "USER", |
400 | &user)) | 392 | &user)) |
401 | { | 393 | { |
402 | user = GNUNET_strdup ("dht"); | 394 | user = GNUNET_strdup ("dht"); |
403 | } | 395 | } |
404 | 396 | ||
405 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (plugin->cfg, | 397 | if (GNUNET_OK != |
406 | "MYSQL", "PASSWORD", | 398 | GNUNET_CONFIGURATION_get_value_string (plugin->cfg, "MYSQL", "PASSWORD", |
407 | &password)) | 399 | &password)) |
408 | { | 400 | { |
409 | password = GNUNET_strdup ("dhttest**"); | 401 | password = GNUNET_strdup ("dhttest**"); |
410 | } | 402 | } |
411 | 403 | ||
412 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_string (plugin->cfg, | 404 | if (GNUNET_OK != |
413 | "MYSQL", "SERVER", | 405 | GNUNET_CONFIGURATION_get_value_string (plugin->cfg, "MYSQL", "SERVER", |
414 | &server)) | 406 | &server)) |
415 | { | 407 | { |
416 | server = GNUNET_strdup ("localhost"); | 408 | server = GNUNET_strdup ("localhost"); |
417 | } | 409 | } |
418 | 410 | ||
419 | if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (plugin->cfg, | 411 | if (GNUNET_OK != |
420 | "MYSQL", "MYSQL_PORT", | 412 | GNUNET_CONFIGURATION_get_value_number (plugin->cfg, "MYSQL", "MYSQL_PORT", |
421 | &port)) | 413 | &port)) |
422 | { | 414 | { |
423 | port = 0; | 415 | port = 0; |
424 | } | 416 | } |
@@ -434,9 +426,8 @@ iopen (struct GNUNET_DHTLOG_Plugin *plugin) | |||
434 | mysql_options (conn, MYSQL_SET_CHARSET_NAME, "UTF8"); | 426 | mysql_options (conn, MYSQL_SET_CHARSET_NAME, "UTF8"); |
435 | mysql_options (conn, MYSQL_OPT_READ_TIMEOUT, (const void *) &timeout); | 427 | mysql_options (conn, MYSQL_OPT_READ_TIMEOUT, (const void *) &timeout); |
436 | mysql_options (conn, MYSQL_OPT_WRITE_TIMEOUT, (const void *) &timeout); | 428 | mysql_options (conn, MYSQL_OPT_WRITE_TIMEOUT, (const void *) &timeout); |
437 | mysql_real_connect (conn, server, user, password, | 429 | mysql_real_connect (conn, server, user, password, database, |
438 | database, (unsigned int) port, NULL, | 430 | (unsigned int) port, NULL, CLIENT_IGNORE_SIGPIPE); |
439 | CLIENT_IGNORE_SIGPIPE); | ||
440 | 431 | ||
441 | GNUNET_free_non_null (server); | 432 | GNUNET_free_non_null (server); |
442 | GNUNET_free_non_null (password); | 433 | GNUNET_free_non_null (password); |
@@ -508,8 +499,8 @@ prepare_statement (struct StatementHandle *ret) | |||
508 | 499 | ||
509 | if (mysql_stmt_prepare (ret->statement, ret->query, strlen (ret->query))) | 500 | if (mysql_stmt_prepare (ret->statement, ret->query, strlen (ret->query))) |
510 | { | 501 | { |
511 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 502 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "mysql_stmt_prepare `%s', %s", |
512 | "mysql_stmt_prepare `%s', %s", ret->query, mysql_error (conn)); | 503 | ret->query, mysql_error (conn)); |
513 | mysql_stmt_close (ret->statement); | 504 | mysql_stmt_close (ret->statement); |
514 | ret->statement = NULL; | 505 | ret->statement = NULL; |
515 | return GNUNET_SYSERR; | 506 | return GNUNET_SYSERR; |
@@ -588,8 +579,8 @@ init_params (struct StatementHandle *s, va_list ap) | |||
588 | { | 579 | { |
589 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 580 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
590 | _("`%s' failed at %s:%d with error: %s\n"), | 581 | _("`%s' failed at %s:%d with error: %s\n"), |
591 | "mysql_stmt_bind_param", | 582 | "mysql_stmt_bind_param", __FILE__, __LINE__, |
592 | __FILE__, __LINE__, mysql_stmt_error (s->statement)); | 583 | mysql_stmt_error (s->statement)); |
593 | return GNUNET_SYSERR; | 584 | return GNUNET_SYSERR; |
594 | } | 585 | } |
595 | 586 | ||
@@ -597,8 +588,8 @@ init_params (struct StatementHandle *s, va_list ap) | |||
597 | { | 588 | { |
598 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 589 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
599 | _("`%s' failed at %s:%d with error: %s\n"), | 590 | _("`%s' failed at %s:%d with error: %s\n"), |
600 | "mysql_stmt_execute", | 591 | "mysql_stmt_execute", __FILE__, __LINE__, |
601 | __FILE__, __LINE__, mysql_stmt_error (s->statement)); | 592 | mysql_stmt_error (s->statement)); |
602 | return GNUNET_SYSERR; | 593 | return GNUNET_SYSERR; |
603 | } | 594 | } |
604 | 595 | ||
@@ -623,10 +614,9 @@ init_params (struct StatementHandle *s, va_list ap) | |||
623 | */ | 614 | */ |
624 | int | 615 | int |
625 | prepared_statement_run_select (struct StatementHandle *s, | 616 | prepared_statement_run_select (struct StatementHandle *s, |
626 | unsigned int result_size, | 617 | unsigned int result_size, MYSQL_BIND * results, |
627 | MYSQL_BIND * results, | 618 | GNUNET_MysqlDataProcessor processor, |
628 | GNUNET_MysqlDataProcessor | 619 | void *processor_cls, ...) |
629 | processor, void *processor_cls, ...) | ||
630 | { | 620 | { |
631 | va_list ap; | 621 | va_list ap; |
632 | int ret; | 622 | int ret; |
@@ -656,8 +646,8 @@ prepared_statement_run_select (struct StatementHandle *s, | |||
656 | { | 646 | { |
657 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 647 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
658 | _("`%s' failed at %s:%d with error: %s\n"), | 648 | _("`%s' failed at %s:%d with error: %s\n"), |
659 | "mysql_stmt_bind_result", | 649 | "mysql_stmt_bind_result", __FILE__, __LINE__, |
660 | __FILE__, __LINE__, mysql_stmt_error (s->statement)); | 650 | mysql_stmt_error (s->statement)); |
661 | return GNUNET_SYSERR; | 651 | return GNUNET_SYSERR; |
662 | } | 652 | } |
663 | 653 | ||
@@ -671,8 +661,8 @@ prepared_statement_run_select (struct StatementHandle *s, | |||
671 | { | 661 | { |
672 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 662 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
673 | _("`%s' failed at %s:%d with error: %s\n"), | 663 | _("`%s' failed at %s:%d with error: %s\n"), |
674 | "mysql_stmt_fetch", | 664 | "mysql_stmt_fetch", __FILE__, __LINE__, |
675 | __FILE__, __LINE__, mysql_stmt_error (s->statement)); | 665 | mysql_stmt_error (s->statement)); |
676 | return GNUNET_SYSERR; | 666 | return GNUNET_SYSERR; |
677 | } | 667 | } |
678 | if (processor != NULL) | 668 | if (processor != NULL) |
@@ -700,17 +690,11 @@ get_node_uid (unsigned long long *nodeuid, const GNUNET_HashCode * peerHash) | |||
700 | GNUNET_CRYPTO_hash_to_enc (peerHash, &encPeer); | 690 | GNUNET_CRYPTO_hash_to_enc (peerHash, &encPeer); |
701 | p_len = strlen ((char *) &encPeer); | 691 | p_len = strlen ((char *) &encPeer); |
702 | 692 | ||
703 | if (1 != prepared_statement_run_select (get_nodeuid, | 693 | if (1 != |
704 | 1, | 694 | prepared_statement_run_select (get_nodeuid, 1, rbind, return_ok, NULL, |
705 | rbind, | 695 | MYSQL_TYPE_LONGLONG, ¤t_trial, |
706 | return_ok, | 696 | GNUNET_YES, MYSQL_TYPE_VAR_STRING, |
707 | NULL, | 697 | &encPeer, max_varchar_len, &p_len, -1)) |
708 | MYSQL_TYPE_LONGLONG, | ||
709 | ¤t_trial, | ||
710 | GNUNET_YES, | ||
711 | MYSQL_TYPE_VAR_STRING, | ||
712 | &encPeer, | ||
713 | max_varchar_len, &p_len, -1)) | ||
714 | { | 698 | { |
715 | #if DEBUG_DHTLOG | 699 | #if DEBUG_DHTLOG |
716 | fprintf (stderr, "FAILED\n"); | 700 | fprintf (stderr, "FAILED\n"); |
@@ -731,8 +715,8 @@ get_current_trial (unsigned long long *trialuid) | |||
731 | rbind[0].buffer = trialuid; | 715 | rbind[0].buffer = trialuid; |
732 | 716 | ||
733 | if ((GNUNET_OK != | 717 | if ((GNUNET_OK != |
734 | prepared_statement_run_select (get_trial, | 718 | prepared_statement_run_select (get_trial, 1, rbind, return_ok, NULL, |
735 | 1, rbind, return_ok, NULL, -1))) | 719 | -1))) |
736 | { | 720 | { |
737 | return GNUNET_SYSERR; | 721 | return GNUNET_SYSERR; |
738 | } | 722 | } |
@@ -751,8 +735,8 @@ get_current_topology (unsigned long long *topologyuid) | |||
751 | rbind[0].buffer = topologyuid; | 735 | rbind[0].buffer = topologyuid; |
752 | 736 | ||
753 | if ((GNUNET_OK != | 737 | if ((GNUNET_OK != |
754 | prepared_statement_run_select (get_topology, | 738 | prepared_statement_run_select (get_topology, 1, rbind, return_ok, NULL, |
755 | 1, rbind, return_ok, NULL, -1))) | 739 | -1))) |
756 | { | 740 | { |
757 | return GNUNET_SYSERR; | 741 | return GNUNET_SYSERR; |
758 | } | 742 | } |
@@ -779,16 +763,11 @@ get_dhtkey_uid (unsigned long long *dhtkeyuid, const GNUNET_HashCode * key) | |||
779 | current_trial); | 763 | current_trial); |
780 | #endif | 764 | #endif |
781 | if ((GNUNET_OK != | 765 | if ((GNUNET_OK != |
782 | prepared_statement_run_select (get_dhtkeyuid, | 766 | prepared_statement_run_select (get_dhtkeyuid, 1, rbind, return_ok, NULL, |
783 | 1, | 767 | MYSQL_TYPE_VAR_STRING, &encKey, |
784 | rbind, | 768 | max_varchar_len, &k_len, |
785 | return_ok, NULL, | 769 | MYSQL_TYPE_LONGLONG, ¤t_trial, |
786 | MYSQL_TYPE_VAR_STRING, | 770 | GNUNET_YES, -1))) |
787 | &encKey, | ||
788 | max_varchar_len, | ||
789 | &k_len, | ||
790 | MYSQL_TYPE_LONGLONG, | ||
791 | ¤t_trial, GNUNET_YES, -1))) | ||
792 | { | 771 | { |
793 | return GNUNET_SYSERR; | 772 | return GNUNET_SYSERR; |
794 | } | 773 | } |
@@ -860,51 +839,46 @@ add_trial (struct GNUNET_DHTLOG_TrialInfo *trial_info) | |||
860 | 839 | ||
861 | stmt = mysql_stmt_init (conn); | 840 | stmt = mysql_stmt_init (conn); |
862 | if (GNUNET_OK != | 841 | if (GNUNET_OK != |
863 | (ret = prepared_statement_run (insert_trial, ¤t_trial, | 842 | (ret = |
864 | MYSQL_TYPE_LONG, | 843 | prepared_statement_run (insert_trial, ¤t_trial, MYSQL_TYPE_LONG, |
865 | &trial_info->other_identifier, GNUNET_YES, | 844 | &trial_info->other_identifier, GNUNET_YES, |
866 | MYSQL_TYPE_LONG, &trial_info->num_nodes, | 845 | MYSQL_TYPE_LONG, &trial_info->num_nodes, |
867 | GNUNET_YES, MYSQL_TYPE_LONG, | 846 | GNUNET_YES, MYSQL_TYPE_LONG, |
868 | &trial_info->topology, GNUNET_YES, | 847 | &trial_info->topology, GNUNET_YES, |
869 | MYSQL_TYPE_FLOAT, | 848 | MYSQL_TYPE_FLOAT, |
870 | &trial_info->topology_percentage, | 849 | &trial_info->topology_percentage, |
871 | MYSQL_TYPE_FLOAT, | 850 | MYSQL_TYPE_FLOAT, |
872 | &trial_info->topology_probability, | 851 | &trial_info->topology_probability, |
873 | MYSQL_TYPE_LONG, | 852 | MYSQL_TYPE_LONG, &trial_info->blacklist_topology, |
874 | &trial_info->blacklist_topology, | 853 | GNUNET_YES, MYSQL_TYPE_LONG, |
875 | GNUNET_YES, MYSQL_TYPE_LONG, | 854 | &trial_info->connect_topology, GNUNET_YES, |
876 | &trial_info->connect_topology, GNUNET_YES, | 855 | MYSQL_TYPE_LONG, |
877 | MYSQL_TYPE_LONG, | 856 | &trial_info->connect_topology_option, GNUNET_YES, |
878 | &trial_info->connect_topology_option, | 857 | MYSQL_TYPE_FLOAT, |
879 | GNUNET_YES, MYSQL_TYPE_FLOAT, | 858 | &trial_info->connect_topology_option_modifier, |
880 | &trial_info->connect_topology_option_modifier, | 859 | MYSQL_TYPE_LONG, &trial_info->puts, GNUNET_YES, |
881 | MYSQL_TYPE_LONG, &trial_info->puts, | 860 | MYSQL_TYPE_LONG, &trial_info->gets, GNUNET_YES, |
882 | GNUNET_YES, MYSQL_TYPE_LONG, | 861 | MYSQL_TYPE_LONG, &trial_info->concurrent, |
883 | &trial_info->gets, GNUNET_YES, | 862 | GNUNET_YES, MYSQL_TYPE_LONG, |
884 | MYSQL_TYPE_LONG, &trial_info->concurrent, | 863 | &trial_info->settle_time, GNUNET_YES, |
885 | GNUNET_YES, MYSQL_TYPE_LONG, | 864 | MYSQL_TYPE_LONG, &trial_info->num_rounds, |
886 | &trial_info->settle_time, GNUNET_YES, | 865 | GNUNET_YES, MYSQL_TYPE_LONG, |
887 | MYSQL_TYPE_LONG, &trial_info->num_rounds, | 866 | &trial_info->malicious_getters, GNUNET_YES, |
888 | GNUNET_YES, MYSQL_TYPE_LONG, | 867 | MYSQL_TYPE_LONG, &trial_info->malicious_putters, |
889 | &trial_info->malicious_getters, GNUNET_YES, | 868 | GNUNET_YES, MYSQL_TYPE_LONG, |
890 | MYSQL_TYPE_LONG, | 869 | &trial_info->malicious_droppers, GNUNET_YES, |
891 | &trial_info->malicious_putters, GNUNET_YES, | 870 | MYSQL_TYPE_LONG, |
892 | MYSQL_TYPE_LONG, | 871 | &trial_info->malicious_get_frequency, GNUNET_YES, |
893 | &trial_info->malicious_droppers, | 872 | MYSQL_TYPE_LONG, |
894 | GNUNET_YES, MYSQL_TYPE_LONG, | 873 | &trial_info->malicious_put_frequency, GNUNET_YES, |
895 | &trial_info->malicious_get_frequency, | 874 | MYSQL_TYPE_LONG, &trial_info->stop_closest, |
896 | GNUNET_YES, MYSQL_TYPE_LONG, | 875 | GNUNET_YES, MYSQL_TYPE_LONG, |
897 | &trial_info->malicious_put_frequency, | 876 | &trial_info->stop_found, GNUNET_YES, |
898 | GNUNET_YES, MYSQL_TYPE_LONG, | 877 | MYSQL_TYPE_LONG, &trial_info->strict_kademlia, |
899 | &trial_info->stop_closest, GNUNET_YES, | 878 | GNUNET_YES, MYSQL_TYPE_LONG, |
900 | MYSQL_TYPE_LONG, &trial_info->stop_found, | 879 | &trial_info->gets_succeeded, GNUNET_YES, |
901 | GNUNET_YES, MYSQL_TYPE_LONG, | 880 | MYSQL_TYPE_BLOB, trial_info->message, |
902 | &trial_info->strict_kademlia, GNUNET_YES, | 881 | max_varchar_len + max_varchar_len, &m_len, -1))) |
903 | MYSQL_TYPE_LONG, | ||
904 | &trial_info->gets_succeeded, GNUNET_YES, | ||
905 | MYSQL_TYPE_BLOB, trial_info->message, | ||
906 | max_varchar_len + max_varchar_len, &m_len, | ||
907 | -1))) | ||
908 | { | 882 | { |
909 | if (ret == GNUNET_SYSERR) | 883 | if (ret == GNUNET_SYSERR) |
910 | { | 884 | { |
@@ -935,11 +909,11 @@ add_round (unsigned int round_type, unsigned int round_count) | |||
935 | int ret; | 909 | int ret; |
936 | 910 | ||
937 | stmt = mysql_stmt_init (conn); | 911 | stmt = mysql_stmt_init (conn); |
938 | ret = prepared_statement_run (insert_round, | 912 | ret = |
939 | NULL, | 913 | prepared_statement_run (insert_round, NULL, MYSQL_TYPE_LONGLONG, |
940 | MYSQL_TYPE_LONGLONG, ¤t_trial, GNUNET_YES, | 914 | ¤t_trial, GNUNET_YES, MYSQL_TYPE_LONG, |
941 | MYSQL_TYPE_LONG, &round_type, GNUNET_YES, | 915 | &round_type, GNUNET_YES, MYSQL_TYPE_LONG, |
942 | MYSQL_TYPE_LONG, &round_count, GNUNET_YES, -1); | 916 | &round_count, GNUNET_YES, -1); |
943 | mysql_stmt_close (stmt); | 917 | mysql_stmt_close (stmt); |
944 | if (ret != GNUNET_OK) | 918 | if (ret != GNUNET_OK) |
945 | return GNUNET_SYSERR; | 919 | return GNUNET_SYSERR; |
@@ -966,14 +940,13 @@ add_round_details (unsigned int round_type, unsigned int round_count, | |||
966 | int ret; | 940 | int ret; |
967 | 941 | ||
968 | stmt = mysql_stmt_init (conn); | 942 | stmt = mysql_stmt_init (conn); |
969 | ret = prepared_statement_run (insert_round_details, | 943 | ret = |
970 | NULL, | 944 | prepared_statement_run (insert_round_details, NULL, MYSQL_TYPE_LONGLONG, |
971 | MYSQL_TYPE_LONGLONG, ¤t_trial, GNUNET_YES, | 945 | ¤t_trial, GNUNET_YES, MYSQL_TYPE_LONG, |
972 | MYSQL_TYPE_LONG, &round_type, GNUNET_YES, | 946 | &round_type, GNUNET_YES, MYSQL_TYPE_LONG, |
973 | MYSQL_TYPE_LONG, &round_count, GNUNET_YES, | 947 | &round_count, GNUNET_YES, MYSQL_TYPE_LONG, |
974 | MYSQL_TYPE_LONG, &num_messages, GNUNET_YES, | 948 | &num_messages, GNUNET_YES, MYSQL_TYPE_LONG, |
975 | MYSQL_TYPE_LONG, &num_messages_succeeded, | 949 | &num_messages_succeeded, GNUNET_YES, -1); |
976 | GNUNET_YES, -1); | ||
977 | mysql_stmt_close (stmt); | 950 | mysql_stmt_close (stmt); |
978 | if (ret != GNUNET_OK) | 951 | if (ret != GNUNET_OK) |
979 | return GNUNET_SYSERR; | 952 | return GNUNET_SYSERR; |
@@ -1007,10 +980,10 @@ int | |||
1007 | add_stat (const struct GNUNET_PeerIdentity *peer, unsigned int route_requests, | 980 | add_stat (const struct GNUNET_PeerIdentity *peer, unsigned int route_requests, |
1008 | unsigned int route_forwards, unsigned int result_requests, | 981 | unsigned int route_forwards, unsigned int result_requests, |
1009 | unsigned int client_requests, unsigned int result_forwards, | 982 | unsigned int client_requests, unsigned int result_forwards, |
1010 | unsigned int gets, unsigned int puts, | 983 | unsigned int gets, unsigned int puts, unsigned int data_inserts, |
1011 | unsigned int data_inserts, unsigned int find_peer_requests, | 984 | unsigned int find_peer_requests, unsigned int find_peers_started, |
1012 | unsigned int find_peers_started, unsigned int gets_started, | 985 | unsigned int gets_started, unsigned int puts_started, |
1013 | unsigned int puts_started, unsigned int find_peer_responses_received, | 986 | unsigned int find_peer_responses_received, |
1014 | unsigned int get_responses_received, | 987 | unsigned int get_responses_received, |
1015 | unsigned int find_peer_responses_sent, | 988 | unsigned int find_peer_responses_sent, |
1016 | unsigned int get_responses_sent) | 989 | unsigned int get_responses_sent) |
@@ -1030,33 +1003,28 @@ add_stat (const struct GNUNET_PeerIdentity *peer, unsigned int route_requests, | |||
1030 | 1003 | ||
1031 | stmt = mysql_stmt_init (conn); | 1004 | stmt = mysql_stmt_init (conn); |
1032 | if (GNUNET_OK != | 1005 | if (GNUNET_OK != |
1033 | (ret = prepared_statement_run (insert_stat, | 1006 | (ret = |
1034 | &return_uid, | 1007 | prepared_statement_run (insert_stat, &return_uid, MYSQL_TYPE_LONGLONG, |
1035 | MYSQL_TYPE_LONGLONG, ¤t_trial, | 1008 | ¤t_trial, GNUNET_YES, MYSQL_TYPE_LONGLONG, |
1036 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &peer_uid, | 1009 | &peer_uid, GNUNET_YES, MYSQL_TYPE_LONG, |
1037 | GNUNET_YES, MYSQL_TYPE_LONG, | 1010 | &route_requests, GNUNET_YES, MYSQL_TYPE_LONG, |
1038 | &route_requests, GNUNET_YES, | 1011 | &route_forwards, GNUNET_YES, MYSQL_TYPE_LONG, |
1039 | MYSQL_TYPE_LONG, &route_forwards, | 1012 | &result_requests, GNUNET_YES, MYSQL_TYPE_LONG, |
1040 | GNUNET_YES, MYSQL_TYPE_LONG, | 1013 | &client_requests, GNUNET_YES, MYSQL_TYPE_LONG, |
1041 | &result_requests, GNUNET_YES, | 1014 | &result_forwards, GNUNET_YES, MYSQL_TYPE_LONG, |
1042 | MYSQL_TYPE_LONG, &client_requests, | 1015 | &gets, GNUNET_YES, MYSQL_TYPE_LONG, &puts, |
1043 | GNUNET_YES, MYSQL_TYPE_LONG, | 1016 | GNUNET_YES, MYSQL_TYPE_LONG, &data_inserts, |
1044 | &result_forwards, GNUNET_YES, | 1017 | GNUNET_YES, MYSQL_TYPE_LONG, &find_peer_requests, |
1045 | MYSQL_TYPE_LONG, &gets, GNUNET_YES, | 1018 | GNUNET_YES, MYSQL_TYPE_LONG, &find_peers_started, |
1046 | MYSQL_TYPE_LONG, &puts, GNUNET_YES, | 1019 | GNUNET_YES, MYSQL_TYPE_LONG, &gets_started, |
1047 | MYSQL_TYPE_LONG, &data_inserts, GNUNET_YES, | 1020 | GNUNET_YES, MYSQL_TYPE_LONG, &puts_started, |
1048 | MYSQL_TYPE_LONG, &find_peer_requests, | 1021 | GNUNET_YES, MYSQL_TYPE_LONG, |
1049 | GNUNET_YES, MYSQL_TYPE_LONG, | 1022 | &find_peer_responses_received, GNUNET_YES, |
1050 | &find_peers_started, GNUNET_YES, | 1023 | MYSQL_TYPE_LONG, &get_responses_received, |
1051 | MYSQL_TYPE_LONG, &gets_started, GNUNET_YES, | 1024 | GNUNET_YES, MYSQL_TYPE_LONG, |
1052 | MYSQL_TYPE_LONG, &puts_started, GNUNET_YES, | 1025 | &find_peer_responses_sent, GNUNET_YES, |
1053 | MYSQL_TYPE_LONG, | 1026 | MYSQL_TYPE_LONG, &get_responses_sent, GNUNET_YES, |
1054 | &find_peer_responses_received, GNUNET_YES, | 1027 | -1))) |
1055 | MYSQL_TYPE_LONG, &get_responses_received, | ||
1056 | GNUNET_YES, MYSQL_TYPE_LONG, | ||
1057 | &find_peer_responses_sent, GNUNET_YES, | ||
1058 | MYSQL_TYPE_LONG, &get_responses_sent, | ||
1059 | GNUNET_YES, -1))) | ||
1060 | { | 1028 | { |
1061 | if (ret == GNUNET_SYSERR) | 1029 | if (ret == GNUNET_SYSERR) |
1062 | { | 1030 | { |
@@ -1080,8 +1048,8 @@ add_stat (const struct GNUNET_PeerIdentity *peer, unsigned int route_requests, | |||
1080 | * @return GNUNET_OK on success, GNUNET_SYSERR on failure | 1048 | * @return GNUNET_OK on success, GNUNET_SYSERR on failure |
1081 | */ | 1049 | */ |
1082 | int | 1050 | int |
1083 | add_generic_stat (const struct GNUNET_PeerIdentity *peer, | 1051 | add_generic_stat (const struct GNUNET_PeerIdentity *peer, const char *name, |
1084 | const char *name, const char *section, uint64_t value) | 1052 | const char *section, uint64_t value) |
1085 | { | 1053 | { |
1086 | unsigned long long peer_uid; | 1054 | unsigned long long peer_uid; |
1087 | unsigned long long section_len; | 1055 | unsigned long long section_len; |
@@ -1100,16 +1068,14 @@ add_generic_stat (const struct GNUNET_PeerIdentity *peer, | |||
1100 | name_len = strlen (name); | 1068 | name_len = strlen (name); |
1101 | 1069 | ||
1102 | if (GNUNET_OK != | 1070 | if (GNUNET_OK != |
1103 | (ret = prepared_statement_run (insert_generic_stat, | 1071 | (ret = |
1104 | NULL, | 1072 | prepared_statement_run (insert_generic_stat, NULL, MYSQL_TYPE_LONGLONG, |
1105 | MYSQL_TYPE_LONGLONG, ¤t_trial, | 1073 | ¤t_trial, GNUNET_YES, MYSQL_TYPE_LONGLONG, |
1106 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &peer_uid, | 1074 | &peer_uid, GNUNET_YES, MYSQL_TYPE_VAR_STRING, |
1107 | GNUNET_YES, MYSQL_TYPE_VAR_STRING, | 1075 | §ion, max_varchar_len, §ion_len, |
1108 | §ion, max_varchar_len, §ion_len, | 1076 | MYSQL_TYPE_VAR_STRING, &name, max_varchar_len, |
1109 | MYSQL_TYPE_VAR_STRING, &name, | 1077 | &name_len, MYSQL_TYPE_LONGLONG, &value, |
1110 | max_varchar_len, &name_len, | 1078 | GNUNET_YES, -1))) |
1111 | MYSQL_TYPE_LONGLONG, &value, GNUNET_YES, | ||
1112 | -1))) | ||
1113 | { | 1079 | { |
1114 | if (ret == GNUNET_SYSERR) | 1080 | if (ret == GNUNET_SYSERR) |
1115 | { | 1081 | { |
@@ -1157,18 +1123,12 @@ add_dhtkey (unsigned long long *dhtkeyuid, const GNUNET_HashCode * dhtkey) | |||
1157 | } | 1123 | } |
1158 | 1124 | ||
1159 | if (GNUNET_OK != | 1125 | if (GNUNET_OK != |
1160 | (ret = prepared_statement_run (insert_dhtkey, | 1126 | (ret = |
1161 | dhtkeyuid, | 1127 | prepared_statement_run (insert_dhtkey, dhtkeyuid, MYSQL_TYPE_VAR_STRING, |
1162 | MYSQL_TYPE_VAR_STRING, | 1128 | &encKey, max_varchar_len, &k_len, |
1163 | &encKey, | 1129 | MYSQL_TYPE_LONG, ¤t_trial, GNUNET_YES, |
1164 | max_varchar_len, | 1130 | MYSQL_TYPE_BLOB, dhtkey, |
1165 | &k_len, | 1131 | sizeof (GNUNET_HashCode), &h_len, -1))) |
1166 | MYSQL_TYPE_LONG, | ||
1167 | ¤t_trial, | ||
1168 | GNUNET_YES, | ||
1169 | MYSQL_TYPE_BLOB, | ||
1170 | dhtkey, | ||
1171 | sizeof (GNUNET_HashCode), &h_len, -1))) | ||
1172 | { | 1132 | { |
1173 | if (ret == GNUNET_SYSERR) | 1133 | if (ret == GNUNET_SYSERR) |
1174 | { | 1134 | { |
@@ -1204,13 +1164,12 @@ add_node (unsigned long long *nodeuid, struct GNUNET_PeerIdentity *node) | |||
1204 | p_len = (unsigned long) strlen ((char *) &encPeer); | 1164 | p_len = (unsigned long) strlen ((char *) &encPeer); |
1205 | h_len = sizeof (GNUNET_HashCode); | 1165 | h_len = sizeof (GNUNET_HashCode); |
1206 | if (GNUNET_OK != | 1166 | if (GNUNET_OK != |
1207 | (ret = prepared_statement_run (insert_node, | 1167 | (ret = |
1208 | nodeuid, | 1168 | prepared_statement_run (insert_node, nodeuid, MYSQL_TYPE_LONGLONG, |
1209 | MYSQL_TYPE_LONGLONG, ¤t_trial, | 1169 | ¤t_trial, GNUNET_YES, |
1210 | GNUNET_YES, MYSQL_TYPE_VAR_STRING, | 1170 | MYSQL_TYPE_VAR_STRING, &encPeer, max_varchar_len, |
1211 | &encPeer, max_varchar_len, &p_len, | 1171 | &p_len, MYSQL_TYPE_BLOB, &node->hashPubKey, |
1212 | MYSQL_TYPE_BLOB, &node->hashPubKey, | 1172 | sizeof (GNUNET_HashCode), &h_len, -1))) |
1213 | sizeof (GNUNET_HashCode), &h_len, -1))) | ||
1214 | { | 1173 | { |
1215 | if (ret == GNUNET_SYSERR) | 1174 | if (ret == GNUNET_SYSERR) |
1216 | { | 1175 | { |
@@ -1233,11 +1192,10 @@ update_trials (unsigned int gets_succeeded) | |||
1233 | int ret; | 1192 | int ret; |
1234 | 1193 | ||
1235 | if (GNUNET_OK != | 1194 | if (GNUNET_OK != |
1236 | (ret = prepared_statement_run (update_trial, | 1195 | (ret = |
1237 | NULL, | 1196 | prepared_statement_run (update_trial, NULL, MYSQL_TYPE_LONG, |
1238 | MYSQL_TYPE_LONG, &gets_succeeded, | 1197 | &gets_succeeded, GNUNET_YES, MYSQL_TYPE_LONGLONG, |
1239 | GNUNET_YES, MYSQL_TYPE_LONGLONG, | 1198 | ¤t_trial, GNUNET_YES, -1))) |
1240 | ¤t_trial, GNUNET_YES, -1))) | ||
1241 | { | 1199 | { |
1242 | if (ret == GNUNET_SYSERR) | 1200 | if (ret == GNUNET_SYSERR) |
1243 | { | 1201 | { |
@@ -1270,11 +1228,11 @@ set_malicious (struct GNUNET_PeerIdentity *peer) | |||
1270 | p_len = strlen (temp_str); | 1228 | p_len = strlen (temp_str); |
1271 | 1229 | ||
1272 | if (GNUNET_OK != | 1230 | if (GNUNET_OK != |
1273 | (ret = prepared_statement_run (update_node_malicious, | 1231 | (ret = |
1274 | NULL, | 1232 | prepared_statement_run (update_node_malicious, NULL, MYSQL_TYPE_LONGLONG, |
1275 | MYSQL_TYPE_LONGLONG, ¤t_trial, | 1233 | ¤t_trial, GNUNET_YES, |
1276 | GNUNET_YES, MYSQL_TYPE_VAR_STRING, | 1234 | MYSQL_TYPE_VAR_STRING, temp_str, max_varchar_len, |
1277 | temp_str, max_varchar_len, &p_len, -1))) | 1235 | &p_len, -1))) |
1278 | { | 1236 | { |
1279 | if (ret == GNUNET_SYSERR) | 1237 | if (ret == GNUNET_SYSERR) |
1280 | { | 1238 | { |
@@ -1298,13 +1256,11 @@ add_connections (unsigned int totalConnections) | |||
1298 | int ret; | 1256 | int ret; |
1299 | 1257 | ||
1300 | if (GNUNET_OK != | 1258 | if (GNUNET_OK != |
1301 | (ret = prepared_statement_run (update_connection, | 1259 | (ret = |
1302 | NULL, | 1260 | prepared_statement_run (update_connection, NULL, MYSQL_TYPE_LONG, |
1303 | MYSQL_TYPE_LONG, | 1261 | &totalConnections, GNUNET_YES, |
1304 | &totalConnections, | 1262 | MYSQL_TYPE_LONGLONG, ¤t_trial, GNUNET_YES, |
1305 | GNUNET_YES, | 1263 | -1))) |
1306 | MYSQL_TYPE_LONGLONG, | ||
1307 | ¤t_trial, GNUNET_YES, -1))) | ||
1308 | { | 1264 | { |
1309 | if (ret == GNUNET_SYSERR) | 1265 | if (ret == GNUNET_SYSERR) |
1310 | { | 1266 | { |
@@ -1341,8 +1297,8 @@ add_query (unsigned long long *sqlqueryuid, unsigned long long queryid, | |||
1341 | peer_uid = 0; | 1297 | peer_uid = 0; |
1342 | key_uid = 0; | 1298 | key_uid = 0; |
1343 | 1299 | ||
1344 | if ((node != NULL) | 1300 | if ((node != NULL) && |
1345 | && (GNUNET_OK == get_node_uid (&peer_uid, &node->hashPubKey))) | 1301 | (GNUNET_OK == get_node_uid (&peer_uid, &node->hashPubKey))) |
1346 | { | 1302 | { |
1347 | 1303 | ||
1348 | } | 1304 | } |
@@ -1365,28 +1321,15 @@ add_query (unsigned long long *sqlqueryuid, unsigned long long queryid, | |||
1365 | } | 1321 | } |
1366 | 1322 | ||
1367 | if (GNUNET_OK != | 1323 | if (GNUNET_OK != |
1368 | (ret = prepared_statement_run (insert_query, | 1324 | (ret = |
1369 | sqlqueryuid, | 1325 | prepared_statement_run (insert_query, sqlqueryuid, MYSQL_TYPE_LONGLONG, |
1370 | MYSQL_TYPE_LONGLONG, | 1326 | ¤t_trial, GNUNET_YES, MYSQL_TYPE_LONG, |
1371 | ¤t_trial, | 1327 | &type, GNUNET_NO, MYSQL_TYPE_LONG, &hops, |
1372 | GNUNET_YES, | 1328 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &key_uid, |
1373 | MYSQL_TYPE_LONG, | 1329 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &queryid, |
1374 | &type, | 1330 | GNUNET_YES, MYSQL_TYPE_LONG, &succeeded, |
1375 | GNUNET_NO, | 1331 | GNUNET_NO, MYSQL_TYPE_LONGLONG, &peer_uid, |
1376 | MYSQL_TYPE_LONG, | 1332 | GNUNET_YES, -1))) |
1377 | &hops, | ||
1378 | GNUNET_YES, | ||
1379 | MYSQL_TYPE_LONGLONG, | ||
1380 | &key_uid, | ||
1381 | GNUNET_YES, | ||
1382 | MYSQL_TYPE_LONGLONG, | ||
1383 | &queryid, | ||
1384 | GNUNET_YES, | ||
1385 | MYSQL_TYPE_LONG, | ||
1386 | &succeeded, | ||
1387 | GNUNET_NO, | ||
1388 | MYSQL_TYPE_LONGLONG, | ||
1389 | &peer_uid, GNUNET_YES, -1))) | ||
1390 | { | 1333 | { |
1391 | if (ret == GNUNET_SYSERR) | 1334 | if (ret == GNUNET_SYSERR) |
1392 | { | 1335 | { |
@@ -1416,9 +1359,8 @@ add_query (unsigned long long *sqlqueryuid, unsigned long long queryid, | |||
1416 | */ | 1359 | */ |
1417 | int | 1360 | int |
1418 | add_route (unsigned long long *sqlqueryuid, unsigned long long queryid, | 1361 | add_route (unsigned long long *sqlqueryuid, unsigned long long queryid, |
1419 | unsigned int type, unsigned int hops, | 1362 | unsigned int type, unsigned int hops, int succeeded, |
1420 | int succeeded, const struct GNUNET_PeerIdentity *node, | 1363 | const struct GNUNET_PeerIdentity *node, const GNUNET_HashCode * key, |
1421 | const GNUNET_HashCode * key, | ||
1422 | const struct GNUNET_PeerIdentity *from_node, | 1364 | const struct GNUNET_PeerIdentity *from_node, |
1423 | const struct GNUNET_PeerIdentity *to_node) | 1365 | const struct GNUNET_PeerIdentity *to_node) |
1424 | { | 1366 | { |
@@ -1457,34 +1399,17 @@ add_route (unsigned long long *sqlqueryuid, unsigned long long queryid, | |||
1457 | return GNUNET_SYSERR; | 1399 | return GNUNET_SYSERR; |
1458 | 1400 | ||
1459 | if (GNUNET_OK != | 1401 | if (GNUNET_OK != |
1460 | (ret = prepared_statement_run (insert_route, | 1402 | (ret = |
1461 | sqlqueryuid, | 1403 | prepared_statement_run (insert_route, sqlqueryuid, MYSQL_TYPE_LONGLONG, |
1462 | MYSQL_TYPE_LONGLONG, | 1404 | ¤t_trial, GNUNET_YES, MYSQL_TYPE_LONG, |
1463 | ¤t_trial, | 1405 | &type, GNUNET_NO, MYSQL_TYPE_LONG, &hops, |
1464 | GNUNET_YES, | 1406 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &key_uid, |
1465 | MYSQL_TYPE_LONG, | 1407 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &queryid, |
1466 | &type, | 1408 | GNUNET_YES, MYSQL_TYPE_LONG, &succeeded, |
1467 | GNUNET_NO, | 1409 | GNUNET_NO, MYSQL_TYPE_LONGLONG, &peer_uid, |
1468 | MYSQL_TYPE_LONG, | 1410 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &from_uid, |
1469 | &hops, | 1411 | GNUNET_YES, MYSQL_TYPE_LONGLONG, &to_uid, |
1470 | GNUNET_YES, | 1412 | GNUNET_YES, -1))) |
1471 | MYSQL_TYPE_LONGLONG, | ||
1472 | &key_uid, | ||
1473 | GNUNET_YES, | ||
1474 | MYSQL_TYPE_LONGLONG, | ||
1475 | &queryid, | ||
1476 | GNUNET_YES, | ||
1477 | MYSQL_TYPE_LONG, | ||
1478 | &succeeded, | ||
1479 | GNUNET_NO, | ||
1480 | MYSQL_TYPE_LONGLONG, | ||
1481 | &peer_uid, | ||
1482 | GNUNET_YES, | ||
1483 | MYSQL_TYPE_LONGLONG, | ||
1484 | &from_uid, | ||
1485 | GNUNET_YES, | ||
1486 | MYSQL_TYPE_LONGLONG, | ||
1487 | &to_uid, GNUNET_YES, -1))) | ||
1488 | { | 1413 | { |
1489 | if (ret == GNUNET_SYSERR) | 1414 | if (ret == GNUNET_SYSERR) |
1490 | { | 1415 | { |
@@ -1513,13 +1438,10 @@ update_current_topology (unsigned int connections) | |||
1513 | get_current_topology (&topologyuid); | 1438 | get_current_topology (&topologyuid); |
1514 | 1439 | ||
1515 | if (GNUNET_OK != | 1440 | if (GNUNET_OK != |
1516 | (ret = prepared_statement_run (update_topology, | 1441 | (ret = |
1517 | NULL, | 1442 | prepared_statement_run (update_topology, NULL, MYSQL_TYPE_LONG, |
1518 | MYSQL_TYPE_LONG, | 1443 | &connections, GNUNET_YES, MYSQL_TYPE_LONGLONG, |
1519 | &connections, | 1444 | &topologyuid, GNUNET_YES, -1))) |
1520 | GNUNET_YES, | ||
1521 | MYSQL_TYPE_LONGLONG, | ||
1522 | &topologyuid, GNUNET_YES, -1))) | ||
1523 | { | 1445 | { |
1524 | if (ret == GNUNET_SYSERR) | 1446 | if (ret == GNUNET_SYSERR) |
1525 | { | 1447 | { |
@@ -1545,11 +1467,10 @@ add_topology (int num_connections) | |||
1545 | int ret; | 1467 | int ret; |
1546 | 1468 | ||
1547 | if (GNUNET_OK != | 1469 | if (GNUNET_OK != |
1548 | (ret = prepared_statement_run (insert_topology, | 1470 | (ret = |
1549 | NULL, | 1471 | prepared_statement_run (insert_topology, NULL, MYSQL_TYPE_LONGLONG, |
1550 | MYSQL_TYPE_LONGLONG, ¤t_trial, | 1472 | ¤t_trial, GNUNET_YES, MYSQL_TYPE_LONG, |
1551 | GNUNET_YES, MYSQL_TYPE_LONG, | 1473 | &num_connections, GNUNET_YES, -1))) |
1552 | &num_connections, GNUNET_YES, -1))) | ||
1553 | { | 1474 | { |
1554 | if (ret == GNUNET_SYSERR) | 1475 | if (ret == GNUNET_SYSERR) |
1555 | { | 1476 | { |
@@ -1586,16 +1507,11 @@ add_extended_topology (const struct GNUNET_PeerIdentity *first, | |||
1586 | return GNUNET_SYSERR; | 1507 | return GNUNET_SYSERR; |
1587 | 1508 | ||
1588 | if (GNUNET_OK != | 1509 | if (GNUNET_OK != |
1589 | (ret = prepared_statement_run (extend_topology, | 1510 | (ret = |
1590 | NULL, | 1511 | prepared_statement_run (extend_topology, NULL, MYSQL_TYPE_LONGLONG, |
1591 | MYSQL_TYPE_LONGLONG, | 1512 | &topologyuid, GNUNET_YES, MYSQL_TYPE_LONGLONG, |
1592 | &topologyuid, | 1513 | &first_uid, GNUNET_YES, MYSQL_TYPE_LONGLONG, |
1593 | GNUNET_YES, | 1514 | &second_uid, GNUNET_YES, -1))) |
1594 | MYSQL_TYPE_LONGLONG, | ||
1595 | &first_uid, | ||
1596 | GNUNET_YES, | ||
1597 | MYSQL_TYPE_LONGLONG, | ||
1598 | &second_uid, GNUNET_YES, -1))) | ||
1599 | { | 1515 | { |
1600 | if (ret == GNUNET_SYSERR) | 1516 | if (ret == GNUNET_SYSERR) |
1601 | { | 1517 | { |