forked from radsecproxy/radsecproxy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
391 lines (335 loc) · 14.1 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
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
unreleased changes
New features:
- Optionally log accounting requests when respoinding directly (#72)
- SNI support for outgoing connections (#90)
Misc:
- Don't require server type to be set by dyndisc scripts
2021-10-25 1.9.1
Misc:
- OpenSSL 3.0 compatibility (#70)
Bug Fixes:
- Fix refused startup with openssl <1.1 (#82)
- Fix compiler issue for Fedora 33 on s390x (#84)
- Fix small memory leak in config parser
- Fix lazy certificate check when connecting to TLS servers
- Fix connect is aborted if first host in list has invalid certificate
- Fix setstacksize for glibc 2.34 (#91)
- Fix system defaults/settings for TLS version not honored (#92)
2021-05-28 1.9.0
New features:
- Accept multiple source* configs for IPv4/v6
- Specify source per server
- User configurable cipher-list and ciphersuites
- User configurable TLS versions
- Config option for DH-file
- Add rID and otherName options to certifcateAttributeCheck
- Allow multiple matchCertificateAttribute
- Option to start dynamic server in blocking mode
Misc:
- Move radsecproxy manpage to section 8
- Log CUI and operator-name if present
- Log CN for incomming TLS connections
Bug Fixes:
- Fix overlapping log lines
- Fix memory leak in logging
- Fix dynidsc example scripts input validation (CVE-2021-32642)
2020-08-06 1.8.2
Bug fixes:
- Fix wrong config-unhexing if %25 (%) occurs
- Fix compatibility with GCC 10 (#63)
- Fix spelling in manpage
- Fix modifyVendorAttribute not applied (#62)
- Fix unncessary status-server when in minimal mode (#61)
2019-10-01 1.8.1
Bug fixes:
- Handle Tunnel-Password attribute correctly
- Fix BSD platform issues
- Fix spelling in log messages and manpages
- Fix compile issues for unit tests
- Don't hardcode location of config files
2019-07-04 1.8.0
New features:
- Rewrite: supplement attribute (add attribute if not present) (#19)
- Rewrite: modify vendor attribute
- Rewrite whitelist mode
- Autodetect status-server capability of servers
- Minimalistic status-server
- Explicit SubjectAltName:DNS and :IP match on certificates
Misc:
- No longer require docbook2x tools, but include plain manpages
- Fail on startup if overlapping clients with different tls blocks
Compile fixes:
- Fix compile issues on bsd
Bug fixes:
- Handle %00 in config correctly (#31)
- Fix server selection when udp were unreachable for long periods
2018-09-03 1.7.2
Misc:
- Always copy proxy-state attributes in own responses
- Authenticate own access-reject responses
- Retry outstanding requests after connection reset
Compile fixes:
- Fix compile issues on some platforms (#14)
- Fix compile issue when dtls disabled (#16)
- Fix compile issue on Cygwin (#18)
- Fix radsecproxy.conf manpage not installed when docbook2x not available
Bug fixes:
- Fix request might be dropped if udp client uses multiple source ports
- Fix tls output might drop requests under high load
- Check for IP literals in Certificate SubjectAltName:DNS records
- Fix tls connection might hang during SSL_connect and SSL_accept
2018-07-05 1.7.1
License and copyright changes:
- Copyright SWITCH
- 3-clause BSD license only, no GPL.
Enhancements:
- Support the use of OpenSSL version 1.1 and 1.0 series
(RADSECPROXY-66, RADSECPROXY-74).
- Reload TLS certificate CRLs on SIGHUP (RADSECPROXY-78).
- Make use of SO_KEEPALIVE for tcp sockets (RADSECPROXY-12).
- Optionally include the thread-id in log messages
- Allow hashing MAC addresses in the log (same as for F-Ticks)
- Log certificate subject if rejected
- Log own responses (RADSECPROXY-61)
- Allow f-ticks prefix to be configured
- radsecproxy-hash: allow MAC addresses to be passed on command line
Misc:
- libnettle is now an unconditional dependency.
- FTicks support is now on by default and not optional.
- Experimental code for dynamic discovery has been removed.
- Replace several server status bits with a single state enum.
(RADSECPROXY-71)
- Use poll instead of select to allow > 1000 concurrent connections.
- Implement locking for all SSL objects (openssl states it is not thread-safe)
- Rework DTLS code.
Bug fixes:
- Detect the presence of docbook2x-man correctly.
- Make clang less unhappy.
- Don't use a smaller pthread stack size than what's allowed.
- Avoid a deadlock situation with dynamic servers (RADSECPROXY-73).
- Don't forget about good dynamically discovered (TLS) connections
(RADSECPROXY-69).
- Fix refcounting in error cases when loading configuration (RADSECPROXY-42)
- Fix potential crash when rewriting malformed vendor attributes.
- Properly cleanup expired requests from server output-queue.
- Fix crash when dynamic discovered server doesn't resolve.
2017-08-02 1.6.9
Misc:
- Use a listen(2) backlog of 128 (RADSECPROXY-72).
Bug fixes:
- Don't follow NULL the pointer at debug level 5 (RADSECPROXY-68).
- Completely reload CAs and CRLs with cacheExpiry (RADSECPROXY-50).
- Tie Access-Request log lines to response log lines (RADSECPROXY-60).
- Fix a couple of memory leaks and NULL ptr derefs in error cases.
- Take lock on realm refcount before updating it (RADSECPROXY-77).
2016-09-21 1.6.8
Bug fixes:
- Stop waiting on writable when reading a TCP socket.
- Stomp less on the memory of other threads (RADSECPROXY-64).
2016-03-14 1.6.7
Enhancements (security):
- Negotiate TLS1.1, TLS1.2 and DTLS1.2 when possible, client and
server side. Fixes RADSECPROXY-62.
Enhancements:
- Build HTML documentation properly.
2015-01-19 1.6.6
Bug fixes (security):
- Fix two use-after-free, a null pointer dereference and three
heap overflows. Patches by Stephen Röttger.
Bug fixes:
- Have rewriteIn for servers use the correct config section. We
used to apply rewriteIn using the rewrite block of the client
rather than the server. Patch by Fabian Mauchle. Fixes
RADSECPROXY-59.
- Handle CHAP authentication properly when there is no
CHAP-Challenge. Fixes RADSECPROXY-58.
- Install radsecproxy.conf.5 unconditionally. Keep regeneration of
it dependent on configure finding docbook2x-man(1).
2013-09-06 1.6.5
Bug fixes:
- Fix a crash bug introduced in 1.6.4. Fixes RADSECPROXY-53,
bugfix on 1.6.4.
2013-09-05 1.6.4
Bug fixes:
- Keeping Proxy-State attributes in all replies to clients
(RADSECPROXY-52). Reported by Stefan Winter.
2013-09-05 1.6.3
Enhancements:
- Threads are allocated with a 32 KB stack rather than what
happens to be the default. Patch by Fabian Mauchle.
- On systems with mallopt(3), freed memory is returned to the
system more aggressively. Patch by Fabian Mauchle.
Bug fixes:
- radsecproxy-hash(1) no longer prints the hash four times.
Reported by Simon Lundström and jocar.
- Escaped slashes in regular expressions now works. Reported by
Duarte Fonseca. (RADSECPROXY-51)
- The duplication cache is purged properly. Patch by Fabian
Mauchle.
- Stop freeing a shared piece of memory manifesting itself as a
crash when using dynamic discovery. Patch by Fabian Mauchle.
- Closing and freeing TLS clients properly. Patch by Fabian
Mauchle.
- Timing out on TLS clients not closing the connection properly.
Patch by Fabian Mauchle.
2012-10-25 1.6.2
Bug fixes (security):
- Fix the issue with verification of clients when using multiple
'tls' config blocks (RADSECPROXY-43) for DTLS too. Fixes
CVE-2012-4566 (CVE id corrected 2012-11-01, after the release of
1.6.2). Reported by Raphael Geissert.
2012-09-14 1.6.1
Bug fixes (security):
- When verifying clients, don't consider config blocks with CA
settings ('tls') which differ from the one used for verifying the
certificate chain. Reported by Ralf Paffrath. (RADSECPROXY-43,
CVE-2012-4523).
Bug fixes:
- Make naptr-eduroam.sh check NAPTR type case insensitively.
Fix from Adam Osuchowski.
2012-04-27 1.6
Incompatible changes:
- The default shared secret for TLS and DTLS connections change
from "mysecret" to "radsec" as per draft-ietf-radext-radsec-12
section 2.3 (4). Please make sure to specify a secret in both
client and server blocks to avoid unwanted surprises.
(RADSECPROXY-19)
- The default place to look for a configuration file has changed
from /etc to /usr/local/etc. Let radsecproxy know where your
configuration file can be found by using the `-c' command line
option. Or configure radsecproxy with --sysconfdir=/etc to
restore the old behaviour. (RADSECPROXY-31)
New features:
- Improved F-Ticks logging options. F-Ticks can now be sent to a
separate syslog facility and the VISINST label can now be
configured explicitly. This was implemented by Maja
Gorecka-Wolniewicz and Paweł Gołaszewski. (RADSECPROXY-29)
- New config option PidFile. (RADSECPROXY-32)
- Preliminary support for DynamicLookupCommand added. It's for
TLS servers only at this point. Also, beware of risks for memory
leaks. In addition to this, for extra adventurous users, there's
a new configure option --enable-experimental-dyndisc which enables
even more new code for handling of dynamic discovery of TLS
servers.
- Address family (IPv4 or IPv6) can now be specified for clients
and servers. (RADSECPROXY-37)
Bug fixes:
- Stop the autoconfery from warning about defining variables
conditionally and unconditionally.
- Honour configure option --sysconfdir. (RADSECPROXY-31)
- Don't crash on failing DynamicLookupCommand scripts. Fix made
with help from Ralf Paffrath. (RADSECPROXY-33)
- When a DynamicLookupCommand script is failing, fall back to
other server(s) in the realm. The timeout depends on the kind of
failure.
- Other bugs. (RADSECPROXY-26, -28, -34, -35, -39, -40)
2011-10-08 1.5
New features:
- Support for F-Ticks logging.
- New binary radsecproxy-hash.
- A DynamicLookupCommand script can now signal "server not found"
by exiting with code 10. The scripts in the tools directory now
do this.
Incompatible changes:
- catgconf renamed to radsecproxy-conf.
Bug fixes:
- All compiler warnings removed. Now compiling with -Werror.
2011-07-22 1.4.3
Notes:
- The default secret for TLS and DTLS will change in a future
release. Please make sure to specify a secret in both client and
server blocks to avoid surprises.
Bug fixes:
- Debug printout issue.
2010-11-23 1.4.2
Bug fixes:
- Don't disable OpenSSL session caching for 0.9.8p and newer in
the 0.9.x track.
- Detect OpenSSL version at runtime rather than at compile time.
2010-11-17 1.4.1
Bug fixes:
- OpenSSL session caching is disabled when built against OpenSSL
older than 1.0.0b to mitigate possible effects of
http://openssl.org/news/secadv_20101116.txt (RADSECPROXY-14).
- Crash bug when reading improper config file fixed.
2010-06-12 1.4
Incompatible changes:
- Log level 4 used to be DBG_DBG but is now DBG_NOTICE. In order
to keep the same behaviour as in previous versions of radsecproxy,
those who have LogLevel set to 4 need to change this to 5. Log
levels 1, 2 and 3 are unaffected.
New features and various improvements:
- LoopPrevention per server has been added.
- AddVendorAttribute rewrite configuration has been added.
- New log level, DBG_NOTICE, added.
- Diagnostics improved for errors resulting from failing syscalls.
- Removed all compiler warnings (compiling with -Wall).
Bug fixes:
- A UDP fragmentation issue.
- Build on Solaris when compiling with gcc.
- A bug in pwdencrypt() with passwords of a length greater than
16 octets.
2009-07-22 1.3.1
Fixed header files for FreeBSD
Fix for multiple UDP servers on same IP address, solves accounting
problems.
2009-03-12 1.3
Fixed some very minor bugs
Changed log levels for some messages, made loglevel 2 default
2009-02-18 1.3-beta
Client and Server blocks may contain multiple host options.
Configure (Makefile) options for specifying which transports
should be supported in a build.
2008-12-04 1.3-alpha
Support for TCP and DTLS transports (type tcp, type dtls)
Listen... options can be specified multiple times
Dynamic server discovery
DuplicateInterval option in client block for specifying for how
long a request/reply shall be stored for duplicate detection
Support for RADIUS TTL (hopcount) attribute. Decrements value of
the TTL attribute if present, discards message if becomes 0.
If addTTL option is used, the TTL attribute is added with the
specified value if the forwarded message does not have one.
PolicyOID option can be used to require certain CA policies.
2008-10-07 1.2
listenTCP and sourceTCP options renamed to listenTLS and sourceTLS
Old options deprecated but available for backwards compatibility
Logging reply-message attribute from Reject messages
Contribution from Arne Schwabe
Rewrite blocks have new options addAttribute and modifyAttribute
rewriteIn (replacing rewrite) and rewriteOut in client and server
blocks for specifying rewrite on input/output. rewrite deprecated
but available as an alias for rewriteIn for backwards compatibility.
rewritein rewriteout rewrite
regular expressions in realms etc can now be more advanced, including
use of "or".
cacheExpiry option in tls blocks for specifying expiry time for the
cache of CA certificates and CRLs. This is particularly useful for
regularly updating CRLs.
Some logging has been made more informative
2008-07-24 1.1
Logging stationid attribute
Added LoopPrevention option
Failover also without status-server
Options for RetryCount and RetryInterval
Working accounting and AccountingResponse option
CRL checking and option for enabling it
2008-05-14 1.1-beta
No longer looks for radsecproxy.conf in current directory
Rewrite block that allows removal of specified attributes
certificateNameCheck option for disabling CN/SubjectAltName check
matchCertificateAttribute now also supports CN matching
Forwarding of accounting messages, accountingServer option for realms
Supports multiple client blocks for same source address with different
certificate checks
Removed weekday from log timestamps
2007-12-24 1.1-alpha
Pretend option for validating configuration
Include option for including additional config files
Allows clients configured by IP prefix, dynamic clients
Server failover support
Rewriting of username attribute
Source address and port can be specified for requests
2007-10-16 1.0p1
Fixed crash when servers were configured after first realm block
2007-09-21 1.0