aboutsummaryrefslogtreecommitdiff
path: root/src/hello/hello.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2012-03-05 19:56:16 +0000
committerChristian Grothoff <christian@grothoff.org>2012-03-05 19:56:16 +0000
commitb1780f05127f1c84c442f12fe84ae8e712032164 (patch)
tree58ecfc3fc8b92b3b5705b885260fcf456d6fe7d5 /src/hello/hello.c
parentdffa6f386418b19956f23f13f3f2a32cd803bca4 (diff)
downloadgnunet-b1780f05127f1c84c442f12fe84ae8e712032164.tar.gz
gnunet-b1780f05127f1c84c442f12fe84ae8e712032164.zip
-LRN: experimental HELLO URIs
Diffstat (limited to 'src/hello/hello.c')
-rw-r--r--src/hello/hello.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/hello/hello.c b/src/hello/hello.c
index 7aa974008..6529c9333 100644
--- a/src/hello/hello.c
+++ b/src/hello/hello.c
@@ -641,5 +641,46 @@ GNUNET_HELLO_get_last_expiration (const struct GNUNET_HELLO_Message *msg)
641 return ret; 641 return ret;
642} 642}
643 643
644/**
645 * GNUnet URIs are of the general form "gnunet://MODULE/IDENTIFIER".
646 * The specific structure of "IDENTIFIER" depends on the module and
647 * maybe differenciated into additional subcategories if applicable.
648 * This module only deals with hello identifiers (MODULE = "hello").
649 * <p>
650 *
651 * The concrete URI format is:
652 *
653 * "gnunet://hello/PEER[!YYYYMMDDHHNNSS!<TYPE>!<ADDRESS>]...".
654 * These URIs can be used to add a peer record to peerinfo service.
655 * PEER is the string representation of peer's public key.
656 * YYYYMMDDHHNNSS is the expiration date.
657 * TYPE is a transport type.
658 * ADDRESS is the address, its format depends upon the transport type.
659 * The concrete transport types and corresponding address formats are:
660 *
661 * <ul><li>
662 *
663 * <TCP|UDP>!IPADDRESS
664 * IPVDDRESS is either IPV4 .-delimited address in form of XXX.XXX.XXX.XXX:PPPPP
665 * or IPV6 :-delimited address, but with '(' and ')' instead of '[' and ']' (RFC2396 advises against using square brackets in URIs):
666 * (XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:XXXX):PPPPP
667 * PPPPP is the port number. May be 0.
668 *
669 * </li><li>
670 *
671 * [add SMTP, HTTP and other addresses here]
672 *
673 * </li></ul>
674 *
675 * The encoding for hexadecimal values is defined in the crypto_hash.c
676 * module in the gnunetutil library and discussed there.
677 *
678 * Examples:
679 *
680 * gnunet://hello/0430205UC7D56PTQK8NV05776671CNN44FK4TL6D0GQ35OMF8MEN4RNMKA5UF6AL3DQO8B1SC5AQF50SQ2MABIRU4HC8H2HAJKJ59JL1JVRJAK308F9GASRFLMGUBB5TQ5AKR94AS5T3MDG8B9O1EMPRKB0HVCG7T6QPP4CDJ913LAEHVJ2DI1TOBB15Q1JIT5ARBOD12U4SIGRFDV3Q7T66G4TBVSJJ90UQF1BG29TGJJKLGEIMSPHHKO544D6EALQ4F2K0416311JC22GVAD48R616I7VK03K7MP7N0RS2MBV1TE9JV8CK1LSQMR7KCDRTLDA6917UGA67DHTGHERIACCGQ54TGSR48RMSGS9BA5HLMOKASFC1I6V4TT09TUGCU8GNDHQF0JF3H7LPV59UL5I38QID040G000!20120302010059!TCP!192.168.0.1:2086!TCP!64.23.8.174:0
681 * gnunet://hello/0430205UC7D56PTQK8NV05776671CNN44FK4TL6D0GQ35OMF8MEN4RNMKA5UF6AL3DQO8B1SC5AQF50SQ2MABIRU4HC8H2HAJKJ59JL1JVRJAK308F9GASRFLMGUBB5TQ5AKR94AS5T3MDG8B9O1EMPRKB0HVCG7T6QPP4CDJ913LAEHVJ2DI1TOBB15Q1JIT5ARBOD12U4SIGRFDV3Q7T66G4TBVSJJ90UQF1BG29TGJJKLGEIMSPHHKO544D6EALQ4F2K0416311JC22GVAD48R616I7VK03K7MP7N0RS2MBV1TE9JV8CK1LSQMR7KCDRTLDA6917UGA67DHTGHERIACCGQ54TGSR48RMSGS9BA5HLMOKASFC1I6V4TT09TUGCU8GNDHQF0JF3H7LPV59UL5I38QID040G000!20120302010059!TCP!(2001:db8:85a3:8d3:1319:8a2e:370:7348):2086
682 *
683 * <p>
684 */
644 685
645/* end of hello.c */ 686/* end of hello.c */