Andrew Bettison c3cf86161f Improve validation of keyring DID and Name (fixes #131)
Correct the maximum DID length defined in "serval_types.h" from 32 to
31.  Add a definition of the maximum identity Name length and use it
instead of the bare constant 64, eg, in the MDP_DNALOOKUP request
handling code.

Introduce a dataformats.h function for validating an identity name, and
use it to validate the 'name' parameter in the CLI 'keyring set'
command.

Add 'did' and 'name' parameter validation to the GET /restful/keyring/add
and GET /restful/keyring/SID/set requests (#131).

Rename keyring_set_did() to keyring_set_did_name() and assert that DID
and Name lengths have been validated before storing in the keyring.

Update the Keyring REST API tech document.
2018-03-06 15:14:18 +10:30
..
2014-05-19 17:28:42 +09:30
2014-05-21 17:37:23 +09:30
2015-01-07 15:56:56 +01:00
2017-05-30 09:27:48 +09:30
2014-05-21 17:37:23 +09:30

Serval DNA Technical Documentation

Serval Project, October 2016

This directory contains technical documents that accompany the Serval DNA component of the Serval mesh network.

  • Building Serval DNA has instructions to build a native Serval DNA executable.

  • Testing Serval DNA describes the Serval DNA test scripts and the test framework.

  • Configuring Serval DNA describes the persistent configuration system and its command-line API, the built-in system file paths, daemon instances and basic network configuration.

  • Notes for Developers contains information of use to developers of Serval DNA and to those experiencing build problems.

  • MDP Packet Filtering describes the configuration options and rules file syntax for filtering incoming and outgoing MDP packets.

  • Tunnelling describes how to tunnel IP over the Serval mesh network.

  • Serval DNA on OpenWRT describes how to build and install Serval DNA packages for the OpenWRT platform.

  • Serval DNA OpenBTS support describes how Serval DNA has been integrated with the Commotion Wireless OpenBTS mobile telephony platform.

  • Mesh Datagram Protocol (MDP) describes the fundamental mesh protocol used in Serval Mesh networks and its C programming API.

  • Mesh Stream Protocol (MSP) describes a reliable message stream protocol used in Serval Mesh networks and its C programming API.

  • REST API describes the common features of the various HTTP REST APIs through which applications access the services of the Serval mesh network, including:

  • CLI API describes the command-line interface used for controlling the Serval DNA daemon and accessing its services.

  • Cooee describes the protocol used for discovering services available on nearby (reachable) mesh network nodes.

  • Serval Infrastructure contains notes on plans for how a Serval mesh network can use the Internet to increase its reach and usefulness.


Copyright 2014 Serval Project Inc.
Copyright 2016 Flinders University
CC-BY-4.0 This document is available under the Creative Commons Attribution 4.0 International licence.