return MTU;
}
+char *meshlink_get_fingerprint(meshlink_handle_t *mesh, meshlink_node_t *node) {
+ if(!mesh || !node) {
+ meshlink_errno = MESHLINK_EINVAL;
+ return NULL;
+ }
+
+ node_t *n = (node_t *)node;
+
+ if(!node_read_ecdsa_public_key(mesh, n) || !n->ecdsa) {
+ meshlink_errno = MESHLINK_EINTERNAL;
+ return false;
+ }
+
+ char *fingerprint = ecdsa_get_base64_public_key(n->ecdsa);
+
+ if(!fingerprint)
+ meshlink_errno = MESHLINK_EINTERNAL;
+
+ return fingerprint;
+}
+
meshlink_node_t *meshlink_get_node(meshlink_handle_t *mesh, const char *name) {
if(!mesh || !name) {
meshlink_errno = MESHLINK_EINVAL;
*/
extern meshlink_node_t *meshlink_get_node(meshlink_handle_t *mesh, const char *name);
+/// Get the fingerprint of a node's public key.
+/** This function returns a fingerprint of the node's public key.
+ * It should be treated as an opaque blob.
+ *
+ * @param mesh A handle which represents an instance of MeshLink.
+ * @param node A pointer to a meshlink_node_t describing the node.
+ *
+ * @return A nul-terminated C string containing the fingerprint of the node's public key in a printable ASCII format.
+ * The application should call free() after it is done using this string.
+ */
+extern char *meshlink_get_fingerprint(meshlink_handle_t *mesh, meshlink_node_t *node);
+
/// Get a list of all nodes.
/** This function returns a list with handles for all known nodes.
*