/*
This file is part of GNUnet
- (C) 2004-2013 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2004-2013 Christian Grothoff (and other contributing authors)
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
/**
* Possible message option for query key randomization.
*/
- GNUNET_DHT_RO_BART = 8
+ GNUNET_DHT_RO_BART = 8,
+
+ /**
+ * Flag given to monitors if this was the last hop for a GET/PUT.
+ */
+ GNUNET_DHT_RO_LAST_HOP = 16
};
GNUNET_DHT_monitor_stop (struct GNUNET_DHT_MonitorHandle *handle);
+#if ENABLE_MALICIOUS
+/**
+ * Type of a Malicious continuation. You must not call
+ * #GNUNET_DHT_disconnect in this continuation.
+ *
+ * @param cls closure
+ * @param success #GNUNET_OK if the set malicious request was transmitted,
+ * #GNUNET_NO on timeout,
+ * #GNUNET_SYSERR on disconnect from service
+ * after the PUT message was transmitted
+ * (so we don't know if it was received or not)
+ */
+typedef void (*GNUNET_DHT_ActMaliciousContinuation)(void *cls,
+ int success);
+
+/**
+ * Turn the DHT service to act malicious
+ *
+ * @param handle the DHT handle
+ * @param action 1 to make the service malicious; 0 to make it benign
+ FIXME: perhaps make this an enum of known malicious behaviors?
+ */
+struct GNUNET_DHT_ActMaliciousHandle *
+GNUNET_DHT_act_malicious (struct GNUNET_DHT_Handle *handle,
+ unsigned int action,
+ GNUNET_DHT_PutContinuation cont,
+ void *cont_cls);
+#endif
+
+
#if 0 /* keep Emacsens' auto-indent happy */
{
#endif