forked from GothenburgBitFactory/taskserver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
313 lines (285 loc) · 13.4 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
1.2.0 () -
- TD-3 Harden server against malformed requests
(thanks to Anatolij Zelenin).
- TD-40 Remove user command says user does not exist
(thanks to Robin Green).
- TD-49 Log when file management fails
(thanks to Ben Boeckel).
- TD-52 No errors in log in case of "No space left on device", but task data
corrupted
(thanks to Rainer Müller).
- TD-64 sync conflict deleted all annotations of the task
(thanks to Markus Beppler, Konstantin Vorobyev).
- TD-69 Log permission errors
(thanks to Roman Inflianskas).
- TD-81 Improve logging features and provide informative error messages.
(thanks to Renato Alves).
- TD-96 server_setup.bash won't run on Mac OS X and BSD
(thanks to Dafo with the golden hair).
- TD-99 Manual page of taskd has hyphen instead minus sign "-"
(thanks to Sebastien Badia).
- TD-100 Log taskd messages to stdout if launched by systemd
(thanks to Sebastien Badia).
- TD-101 taskdrc man page says "trust" defaults to "strict", but server
complains if none set
(thanks to Jack).
- TD-102 After creating a user apparently successful taskd says: User does not
exists
(thanks to Olaf H B).
- TD-103 Incorrect Error Message when Org does not exist
(thanks to Jack, Jelle van der Waa).
- TD-104 Unrecognized taskwarrior file format
(thanks to Jeremy John Reeder, Reg).
- TD-106 The recurrence value '2m' is not valid
(thanks to Roman Golovin).
- TD-107 Bash dependency not documented
(thanks to Michael Eichorn).
- TD-110 Question: About src/tls/*
(thanks to Sebastien Badia).
- TD-112 warning: missing initializer for member
(thanks to Dirk Deimeke).
- TD-115 Throw error when config file is missing or not readable
(thanks to Jelle van der Waa).
- TD-116 Provided systemd unit file does not match recommended systemd unit file in docs
(thanks to Wade Duvall).
- TD-117 Wrong systemd target, taskd can fail if multi-user.target is up
earlier than the network
(thanks to Sebastian Sonne).
- TD-118 Shebang issue
(thanks to Slava, Daniel Shahaf).
- TD-119 Build fails on Debian (no C++11 support)
(thanks to Samathy Barratt).
- TD-120 Missing cmakedefine for HAVE_GET_CURRENT_DIR_NAME
(Thanks to Jörg Krause, Ben Boeckel).
- TD-121 Log time in user's specified timezone
(Thanks to Jelle van der Waa).
- TD-125 taskd doesn't check ownership of files in $TASKDDATA, sync fails without error
(Thanks to James Duff).
- TD-136 systemd service: logging to standard out with --log=- no longer works
(Thanks to Alexei).
- TD #143 Use --sec-param High instead of --bits 4096
(Thanks to Jelle van der Waa).
- TI-91 Timewarrior does not compile on DragonFly
(thanks to Michael Neumann).
- TW-1741 Warning "ignoring return value of ‘int ftruncate" while doing make on
xubuntu15.10
(thanks to Sunil Joshi).
- TW-1855 "Well-known" CA certificates not properly auto-loaded
(thanks to Flavio Poletti).
- TW-1885 Task Sync does not send TLS SNI headers
(thanks to Dan Callahan).
- TW-1936 Tweak tests to have fuller TAP compliance
(thanks to Paul J. Fenwick)
- Added dual-stack IPv4/IPv6 support, when the IPv6 address is specified as ::
which means a configuration setting of server=:::<someport>. Related to TD-51
(thanks to Johannes Wienke).
- Added "diag" command details regarding file sizes.
- Improved error messages for users who skip the 'task sync init' requirement
(thanks to Komasa).
- New 2048-bit default size for the Diff-Hellman key exchange, with a new
'dh_bits' configuration setting to override this
(thanks to Ben Boeckel).
- New default cipher set that imposes server-side cipher selection, preventing
the client from switching to less-secure communication
(thanks to Ben Boeckel).
- Removed broken SSLv3 and TLSv1.0 (POODLE), 3DES in CBC mode, RC4, and MD5,
ciphers from default
(thanks to Ben Boeckel).
- Improved OpenBSD support
(thanks to Kent R. Spillner).
- Taskd source now builds into a static library, which makes the test builds
signifacntly faster.
(thanks to aszlig).
- Integrated libshared.
- Removed references to the unimplemented 'group' features.
- Renamed 'client.key', 'client.cert' to 'api.key', 'api.cert' to reduce some
of the confusion around the intended purpose.
- Improved certificate validation diagnostics
(thanks to Jelle van der Waa).
- Improved portability for SunOS-like OSes.
(thanks to Antonio Huete Jimenez).
- pki: Do not use 'which' for finding gnutls certool path
(thanks to Antonio Huete Jimenez).
- Eliminated locallization (there were none).
- Fixed segfault/SSABRT on invalid cert files
(thanks to Dan Weatherill).
------- current release ---------------------------
1.1.0 (2015-05-10) 6c431da4f3c3e9fb2b9cb7dd37a32d4822777071
- #1497 taskd ignores the host definition and always listens on 0.0.0.0
- #1503 build failure with musl libc due to undefined GLOB_BRACE and GLOB_TILDE
(thanks to Natanael Copa).
- #1511 sync init crashes if client certification file is empty or invalid
(thanks to Marton Suranyi).
- TW-1296 make test/run_all exit with non-zero code if a test fail (thanks to
Jakub Wilk).
- TW-1304 Minor build and install fix for NetBSD (thanks to atomicules).
- TW-1366 In diagnostics it's called 'Cert', and in config it's called
'certificate' (thanks to Jack).
- TD-8 Statistics not working via client (thanks to Alexander Sulfrian).
- TD-37 Segfault when specifying '--data' with no path (thanks to iron_houzi).
- TD-39 Documents refer to "modification" and "modified" dates, need to
collapse to one (thanks to jck).
- TD-41 Systemd 'taskd.service' script (thanks to Ralph Bean, Roman
Inflianskas).
- TD-42 Cannot compile taskd - GNUTLS_VERSION undefined in diag.cpp (thanks
to Michele Vetturi).
- TD-45 Fix preprocessor define (thanks to Jochen Sprickerhof).
(thanks to Anton Khirnov, Renato Alves).
- TD-46 gnutls: -54 Error in the pull function.
- TD-48 Empty username is not an error (thanks to Ben Boeckel).
- TD-51 Taskd should listen on all matching addresses and interfaces (thanks to
Anatolij Zelenin).
- TD-53 Log message when server is ready for action (thanks to Renato Alves).
- TD-54 Usage of flock() prevents compilation on Solaris (thanks to Tatjana
Heuser).
- TD-55 TLSServer/Client need to include <errno.h> on Solaris (thanks to
Tatjana Heuser).
- TD-56 File.cpp needs to include <string.h> on Solaris (thanks to Tatjana
Heuser).
- TD-57 taskdctl script assumes /bin/sh is /bin/bash (thanks to Tatjana
Heuser).
- TD-58 "Config file /var/taskd/config modified" message even when the file is
not writable (thanks to Alexey Kotlyarov).
- TD-59 Taskd segfaults when syncing task whose annotations value is not a json
array (thanks to Felix Martin).
- TD-60 Make PKI scripts easier to use (thanks to viq).
- TD-61 README.md has broken links (thanks to Jack).
- TD-63 Support logging to stdout when running in foreground mode. (thanks to
Christian Kampka).
- TD-66 No reason given for sync failure when the cause is client.allow
mismatch (thanks to Jack).
- TD-68 Error: Handshake has failed (A TLS packet with unexpected length was
received.) (thanks to Jack, Mario, Joao Santos).
- TD-72 Taskd appears to log everything at the end of a sync (thanks to Jack).
- TD-74 Taskd transforms integer values into double strings (thanks to Anatolij
Zelenin).
- TD-75 Fix status_statistics (thanks to Jack).
- TD-78 Create the x509 PKI with a proper CN and don't use SubjectAlternativeName
(SANs) (thanks to Louis Opter).
- TD-79 Bad error message for wrong hostname configuration (thanks to Jens
Erat).
- TD-87 Error 500: Priority values may be 'H', 'M' or 'L', not '' (thanks to
Karsten Krohn).
- TD-89 No man page for Taskctl (thanks to Jack Laxson).
- TD-92 »taskd config« only checks the end of the key when changing config
entries (thanks to Dominik Heidler).
- 'validate' command will parse/validate a JSON string or file. Used for
debugging Taskserver clients.
- CRL cert is now optional (thanks to Anton Khirnov).
- Improved support for IPv6 host names (thanks to Anton Khirnov).
- When '--data' is specified, the 'diagnostics' command shows more details.
- Documentation corrections.
- Added certificate verification to GnuTLS versions < 2.9.10 (thanks to
Alexander Sulfrian)
- Includes line numbers when reporting parse errors in data (thanks to Kosta
Harlan).
- Removed debug output.
- Updated URLs.
- Improved I/O performance with better defaults for buffer sizes.
- Can log to STDOUT when configuration setting 'log' is set to '-'.
- Removed support for client.allow/client.deny settings.
- Corrected pki scripts use of '--bits' option (thanks to Pierre Calligaro).
- Server now supports a configuration setting 'trust', which can be either
'strict' or 'allow all', and defaults to 'strict'.
- If the 'trust' setting contains a bad value, the 'diag' command will
indicate this, and the server will log it.
- Removed linking of pthreads.
- 'trust' is now given a default 'strict' on config initialization
- Fixed several issues with scripts/setup_server.bash when folders contain
spaces or relative paths are used
------- old release ---------------------------
1.0.0 (2014-01-15) 3a2142f2708bad9ffad9f70ab4b163de2068e6c7
- #1408 Denial of Service Vulnerability in taskd (thanks to Yves Agostini).
- #1448 specify secure ssl cipher list for tls connection (thanks to Zed
Jorarard).
- #1480 Taskd segmentation fault on sync with Mirakel (thanks to Titus Stahl).
- Skipped tests that fail for root (thanks to Patrick R McDonald).
- Added socket shutdown (thanks to Yves Agostini).
- Removed need for PATH_MAX (thanks to Jakub Wilk).
- Changed name to 'Taskserver'.
- Minor documentation corrections.
1.0.0.beta2 (2013-11-03)
- #1397 existing org folder breaks init action in taskd (thanks to Axel
Gschaider).
- #1398 man and help pages are different concerning $TASKDATA (thanks to Axel
Gschaider).
- #1434 Taskd client spec: unknown field MUST vs SHALL (thanks to Profpatsch).
- #1435 Type of “modification” field is not clear (thanks to Profpatsch).
- Fixed portability (thanks to qbit).
- Fixed demo documentation (thanks to Rainer Müller).
- Improved test suite.
- Server now requires the client to provide a cert, and validates it.
- Server allows an optional 'ca.cert' setting to specify the CA cert when the
'server.cert' is self-signed.
1.0.0.beta1 (2013-09-08)
- #1287 'taskd config' ignored $TASKDDATA.
- #1289 The 'init' command no longer defaults the 'server' variable, and
provides feedback when it is not specified.
- #1290 The pki/generate.client script now takes an argument is used to name
the files.
- #1291 The 'taskdctl' script needs to use TASKDDATA for config command.
- #1292 Allow --data as an arg to taskd, not just the command.
- #1293 The operation.txt document details client.allow, client.deny.
- #1294 SIGHUP now forces a server config file reload.
- #1295 Relaxed message parsing slightly.
- #1296 Now uses permiѕsions 0600 and 0700 when creating files and directories.
- #1299 Now properly counts bytes sent back to client.
- #1300 Encode/decode pairing is now properly balanced.
- #1305 Commit should be available from 'git archive' tarballs (thanks to Ben
Boeckel).
- #1306 Server never seems to sends a 201, always 200.
- Improved error handling for unrecognized requests.
- Improved test suite for Cygwin.
- Improved log entries, for brevity and clarity.
- Improved log entries for performance characterization.
- Added statistics for orgs, users and data size.
- Added data profiling script.
- Now requires libuuid.
- Restructured the data root so that users are made unique by a UUID.
- Implemented org-level redirects.
- Documented redirects.
- PKI examples can now use gnutls-certtool otherwise certtool.
1.0.0.alpha (2013-06-23)
- Supports CRL (Certificate Revocation List).
- Supports new user key generation.
- Documentation for:
- operations
- writing a client
- task data interchange format
- Taskserver protocol
- sync algorithm
- taskd.1 man page
- taskdrc.5 man page
- PKI
- Supports 'client.allow' and 'client.deny' lists.
- Client interface now an optional feature.
0.12.0 (2013-06-03)
- Added IP logging option.
- JSON support.
0.11.0 (2013-05-18)
- Implemented 'config' command.
- Implemented 'remove' command.
- Supports $TASKDDATA in config command.
- Improved demo scripts and documentation.
- Consistent use of command line options for all commands.
0.10.0 (2013-05-12)
- Full TLS support, for encrypted-only communication.
- Added 'diagnostics' command.
- Bug: Statistics 'tps' value now floating point.
0.9.0 (2012-10-16)
- IPv4 and IPv6 support.
- Sync use cases and test.
0.8.0 (2012-10-11)
- Functioning sync algorithm.
- Initial documentation.
- Demo scripts (early unit tests).
0.7.0 (2012-09-30)
- Added program shell.
- Added SSL support.
- Added server command, responding to 'statistics' and 'sync' requests.
- Added debug 'client' command.
- Added 'add' command.
- Equalled functionality of original codebase.
Project restarted 2012-09-26
Project started 2010-09-22
------ start -------------------------------------