projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- use tunnel encryption state to select decryption key
[oweals/gnunet.git]
/
src
/
include
/
gnunet_hello_lib.h
diff --git
a/src/include/gnunet_hello_lib.h
b/src/include/gnunet_hello_lib.h
index 6a334a7e54a355dc1aa19df1fbaf01d4bda17417..609cb2822c35c85717ce75285b7634918b84f502 100644
(file)
--- a/
src/include/gnunet_hello_lib.h
+++ b/
src/include/gnunet_hello_lib.h
@@
-35,8
+35,7
@@
extern "C"
#endif
#endif
#endif
#endif
-#include "gnunet_common.h"
-#include "gnunet_crypto_lib.h"
+#include "gnunet_util_lib.h"
/**
/**
@@
-44,6
+43,10
@@
extern "C"
*/
#define GNUNET_HELLO_URI_PREFIX "gnunet://hello/"
*/
#define GNUNET_HELLO_URI_PREFIX "gnunet://hello/"
+/**
+ * Prefix that every FRIEND HELLO URI must start with.
+ */
+#define GNUNET_FRIEND_HELLO_URI_PREFIX "gnunet://friend-hello/"
/**
* An address for communicating with a peer. We frequently
/**
* An address for communicating with a peer. We frequently
@@
-142,6
+145,15
@@
GNUNET_HELLO_address_get_size (const struct GNUNET_HELLO_Address *address);
struct GNUNET_HELLO_Message;
struct GNUNET_HELLO_Message;
+/** Return HELLO type
+ *
+ * @param h HELLO Message to test
+ * @return GNUNET_YES or GNUNET_NO
+ */
+int
+GNUNET_HELLO_is_friend_only (const struct GNUNET_HELLO_Message *h);
+
+
/**
* Copy the given address information into
* the given buffer using the format of HELLOs.
/**
* Copy the given address information into
* the given buffer using the format of HELLOs.
@@
-180,13
+192,16
@@
typedef size_t (*GNUNET_HELLO_GenerateAddressListCallback) (void *cls,
* expiration time and an iterator that spews the
* transport addresses.
*
* expiration time and an iterator that spews the
* transport addresses.
*
+ * If friend only is set to GNUNET_YES we create a FRIEND_HELLO which will
+ * not be gossiped to other peers
+ *
* @return the hello message
*/
struct GNUNET_HELLO_Message *
* @return the hello message
*/
struct GNUNET_HELLO_Message *
-GNUNET_HELLO_create (const struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded
- *publicKey,
+GNUNET_HELLO_create (const struct GNUNET_CRYPTO_EddsaPublicKey *publicKey,
GNUNET_HELLO_GenerateAddressListCallback addrgen,
GNUNET_HELLO_GenerateAddressListCallback addrgen,
- void *addrgen_cls);
+ void *addrgen_cls,
+ int friend_only);
/**
/**
@@
-310,8
+325,7
@@
GNUNET_HELLO_iterate_new_addresses (const struct GNUNET_HELLO_Message
*/
int
GNUNET_HELLO_get_key (const struct GNUNET_HELLO_Message *hello,
*/
int
GNUNET_HELLO_get_key (const struct GNUNET_HELLO_Message *hello,
- struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded
- *publicKey);
+ struct GNUNET_CRYPTO_EddsaPublicKey *publicKey);
/**
/**
@@
-338,12
+352,6
@@
struct GNUNET_MessageHeader *
GNUNET_HELLO_get_header (struct GNUNET_HELLO_Message *hello);
GNUNET_HELLO_get_header (struct GNUNET_HELLO_Message *hello);
-
-typedef size_t (*GNUNET_HELLO_GenerateAddressListCallback) (void *cls,
- size_t max,
- void *buf);
-
-
typedef struct GNUNET_TRANSPORT_PluginFunctions *
(*GNUNET_HELLO_TransportPluginsFind) (const char *name);
typedef struct GNUNET_TRANSPORT_PluginFunctions *
(*GNUNET_HELLO_TransportPluginsFind) (const char *name);
@@
-370,7
+378,7
@@
GNUNET_HELLO_compose_uri (const struct GNUNET_HELLO_Message *hello,
*/
int
GNUNET_HELLO_parse_uri (const char *uri,
*/
int
GNUNET_HELLO_parse_uri (const char *uri,
- struct GNUNET_CRYPTO_
RsaPublicKeyBinaryEncoded
*pubkey,
+ struct GNUNET_CRYPTO_
EddsaPublicKey
*pubkey,
struct GNUNET_HELLO_Message **hello,
GNUNET_HELLO_TransportPluginsFind plugins_find);
struct GNUNET_HELLO_Message **hello,
GNUNET_HELLO_TransportPluginsFind plugins_find);