annotate README.md @ 15:81e6d0fe8198 default tip

Update README
author Norman Gray <norman.gray@glasgow.ac.uk>
date Sun, 31 May 2020 20:47:28 +0100
parents 2221a941abaa
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
1 Jason
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
2 =====
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
3
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
4 A JSON to ASN.1/DER encoder/decoder, in C.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
5
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
6 The `libjason` library is able to parse JSON, and encode it to ASN.1
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
7 using the Distinguished Encoding Rules (DER) of ITU-T X.690.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
8
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
9 The library parses JSON as specified in [RFC 4627][], with no
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
10 extensions. However the string parser cannot at present handle
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
11 Unicode strings (which also means it doesn't respect the JSON `\uXXXX`
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
12 escape); all strings must be ASCII.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
13
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
14 The DER *de*coder can handle some BER-encoded objects, but not all,
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
15 and it doesn't attempt to handle ASN.1 types other than the subset
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
16 which it generates.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
17
14
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
18 In this encoding, JSON integers, floats, booleans, and null, are
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
19 encoded to the DER analogues. A JSON array is encoded to a DER
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
20 `SEQUENCE`, an object to a `SET OF` two-element sequences, and strings
14
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
21 to DER `ia5string` objects (the `ia5string` restriction is because this
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
22 parser currently handles only ASCII).
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
23
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
24 This may or may not be the best way to approach this problem. There
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
25 is an interesting comparison of approaches discussed in [RFC 7049][],
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
26 which describes an alternative called _Concise Binary Object
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
27 Representation_ (CBOR).
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
28
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
29 DER is specified in ITU-T Rec. X.690, as part of the ASN/1 suite of
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
30 standards. See the [ITU-T recommendation][] and [Wikipedia][], and
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
31 Burton S. Kaliski Jr., *A Layman's Guide to a Subset of ASN.1, BER,
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
32 and DER* (1993).
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
33
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
34
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
35 Building
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
36 --------
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
37
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
38 Building from a distribution:
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
39
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
40 ./configure
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
41 make
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
42 make check
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
43
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
44 If building from the repository, then this build sequence must be
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
45 preceded by `./bootstrap`, and the GNU autotools must be installed.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
46
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
47 The build depends on `flex` and `bison` being in the path.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
48 There are no other dependencies.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
49
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
50
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
51 Utility program
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
52 ---------------
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
53
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
54 As well as a library (documented below), this kit includes a program
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
55 `json2der` which encodes and decodes JSON to DER on the command-line.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
56 See the man-page `json2der.1` for details.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
57
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
58
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
59 Interface
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
60 ---------
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
61
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
62 The interface is still somewhat preliminary, and not documented very
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
63 elaborately. However...
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
64
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
65 Unless noted otherwise, each of the non-void functions returns an
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
66 object which is owned by the caller, which must subsequently free it
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
67 either with `jason_free_object()` or plain `free()`.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
68
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
69 The exceptions are functions `jason_get_...`.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
70 Each of these returns a pointer to an object which is either static or
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
71 (in the case of `jason_get_der_encoding`) object by another object.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
72
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
73 #include <jason.h>
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
74
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
75 JsonObject jason_parse_string(const char* json_string);
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
76
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
77 Parse the JSON object given in the string. If the string cannot be
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
78 parsed, then this returns `NULL`, and an explanation is available from
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
79 the function `const char* jason_get_error_message()`.
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
80
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
81 JsonObject jason_parse_der_bytes(uint8_t*, size_t, size_t*);
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
82
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
83 Decode a sequence of bytes which are the DER encoding of a JSON
3
e6626e8d6433 Update/clarify README docs
Norman Gray <norman@astro.gla.ac.uk>
parents: 1
diff changeset
84 object, and return the object. If the byte sequence
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
85 cannot be parsed, then this returns `NULL`, and an explanation is
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
86 available from the function `const char* jason_get_error_message()`.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
87
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
88 A `JsonObject` should be freed by `jason_free_object` when no longer required.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
89
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
90 void jason_free_object(JsonObject o);
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
91
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
92 Free the object. Any allocated memory within the object is freed also.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
93
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
94 const char* jason_get_error_message(void);
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
95
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
96 Retrieve the error message associated with a recent JSON parse, or DER
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
97 encoding. This string must not be freed.
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
98
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
99 const char* jason_print_object(JsonObject obj);
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
100
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
101 Serialise the object to a string.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
102
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
103 uint8_t* jason_get_der_encoding(JsonObject obj, size_t *len);
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
104
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
105 Get the DER-encoding of the object.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
106 The object must not be freed by the caller.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
107
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
108 char* jason_bytes_to_string(uint8_t* b, size_t blen);
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
109
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
110 Utility method to serialise a byte sequence to a printable string of
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
111 hex digits.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
112
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
113 const char* jason_get_version_string(void);
1
8834a6154573 Library version functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 0
diff changeset
114 int jason_version_number(void);
8834a6154573 Library version functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 0
diff changeset
115
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
116 Return information about the library version number. The
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
117 value returned by `jason_get_version_string` must not be freed.
1
8834a6154573 Library version functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 0
diff changeset
118
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
119 The contents of the `JsonObject` structure should be fairly stable.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
120 See the `jason.h` header for the details.
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
121
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
122
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
123 Name
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
124 ----
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
125
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
126 The name *Jason* is a fairly obvious amalgam of JSON and ASN.
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
127 JASN would be a better name,
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
128 but [that name's already taken][jasn] for a Java ASN parser.
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
129
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
130
4
f737659096e9 Add licence information to the .c files
Norman Gray <norman@astro.gla.ac.uk>
parents: 3
diff changeset
131 Source code and licence information
f737659096e9 Add licence information to the .c files
Norman Gray <norman@astro.gla.ac.uk>
parents: 3
diff changeset
132 -----------------------------------
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
133
15
81e6d0fe8198 Update README
Norman Gray <norman.gray@glasgow.ac.uk>
parents: 14
diff changeset
134 The source code [is available](https://code.nxg.name/nxg/jason).
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
135
13
a593eddaf0a3 Add jason_ prefix to all exposed functions
Norman Gray <norman@astro.gla.ac.uk>
parents: 10
diff changeset
136 Jason is Copyright 2013, 2014 Norman Gray, and is released under the
10
715d1f40595b Change the licence to the BSD 2-clause licence
Norman Gray <norman@astro.gla.ac.uk>
parents: 6
diff changeset
137 terms of the [BSD 2-clause licence][] (see the file LICENCE for text).
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
138
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
139 The distribution includes the [`lcut` unit-testing framework][lcut],
3
e6626e8d6433 Update/clarify README docs
Norman Gray <norman@astro.gla.ac.uk>
parents: 1
diff changeset
140 which is Copyright 2005–2010 Tony Bai, and released under the terms of
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
141 the Apache Licence, Version 2.0.
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
142
4
f737659096e9 Add licence information to the .c files
Norman Gray <norman@astro.gla.ac.uk>
parents: 3
diff changeset
143
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
144 Norman Gray
15
81e6d0fe8198 Update README
Norman Gray <norman.gray@glasgow.ac.uk>
parents: 14
diff changeset
145 https://nxg.me.uk
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
146
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
147
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
148 [ITU-T recommendation]: http://www.itu.int/rec/T-REC-X.690-200811-I/en
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
149 [Wikipedia]: http://en.wikipedia.org/wiki/X.690
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
150 [RFC 4627]: http://www.ietf.org/rfc/rfc4627.txt
14
2221a941abaa Include a mention of CBOR in the README
Norman Gray <norman@astro.gla.ac.uk>
parents: 13
diff changeset
151 [RFC 7049]: http://www.ietf.org/rfc/rfc7049.txt
10
715d1f40595b Change the licence to the BSD 2-clause licence
Norman Gray <norman@astro.gla.ac.uk>
parents: 6
diff changeset
152 [BSD 2-clause licence]: http://opensource.org/licenses/BSD-2-Clause
0
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
153 [jasn]: https://code.google.com/p/jasn/
1b3f35f9f37f Initial version, copied from dtmfx tree
Norman Gray <norman@astro.gla.ac.uk>
parents:
diff changeset
154 [lcut]: https://github.com/bigwhite/lcut