forked from pyradius/pyrad
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGES.txt
215 lines (126 loc) · 5.4 KB
/
CHANGES.txt
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
Changelog
=========
2.1 - Unreleased
------------------
* Use a different random generator to improve the security of generated
packet ids and authenticators.
2.0 - May 15, 2011
------------------
* Start moving codebase to PEP8 compatible coding style.
* Add support for Python 3.2.
* Several code cleanups. As a side effect Python versions before 2.6
are unfortunatley no longer supported. If you use Python 2.5 or older
Pyrad 1.2 will still work for you.
1.2 - July 12, 2009
-------------------
* Setup sphinx based documentation.
* Use hashlib instead of md5, if present. This fixes deprecation warnings
for python 2.6. Patch from Jeremy Liané.
* Support parsing VENDOR format specifications in dictionary files. Patch by
Kristoffer Grönlun.
* Supprt $INCLUDE directores in dictionary files. Patch by
Kristoffer Grönlun.
* Standardize on 4 spaces for indents. Patch by Kristoffer Grönlund/
Purplescout.
* Make sure all encoding utility methods raise a TypeError if a value of
the wrong type is passed in.
1.1 - September 30, 2007
------------------------
* Add the 'octets' datatype from FreeRADIUS. This is treated just like string;
the only difference is how FreeRADIUS prints it.
* Check against unimplemented datatypes in EncodeData and DecodeData instead
of assuming an identity transform works.
* Make Packet.has_key and __contains__ gracefully handle unknown attributes.
Based on a patch from Alexey V Michurun <[email protected]>.
* Add a __delitem__ implementation to Packet. Based on a patch from
Alexey V Michurun <[email protected]>.
1.0 - September 16, 2007
------------------------
* Add unit tests. Pyrad now has 100% test coverage!
* Moved the proxy server has been out of the server module to a new
proxy module.
* Fix several errors that prevented the proxy code from working.
* Use the standard logging module instead of printing to stdout.
* The default dictionary for Server instances was shared between all
instances, possibly leading to unwanted data pollution. Each Server now
gets its own dict instance if none is passed in to the constructor.
* Fixed a timeout handling problem in the client: after receiving an
invalid reply the current time was not updated, possibly leading to
the client blocking forever.
* Switch to setuptools, allowing pyrad to be distributed as an egg
via the python package index.
* Use absolute instead of relative imports.
* Sockets are now opened with SO_REUSEADDR enabled to allow for faster
restarts.
0.9 - April 25, 2007
------------------------
* Start using trac to manage the project: http://code.wiggy.net/tracker/pyrad/
* [bug 3] Fix handling of packets with an id of 0
* [bug 2] Fix handling of file descriptor parameters in the server
code and example.
* [bug 4] Fix wrong variable name in exception raised when encountering
an overly long packet.
* [bug 5] Fix error message in parse error for dictionaries.
* [bug 8] Packet.CreateAuthenticator is now a static method.
0.8
---
* Fix time-handling in the client packet sending code: it would loop
forever since the now time was updated at the wrong moment. Fix from
Michael Mitchell <[email protected]>
* Fix passing of dict parameter when creating reply packets
0.7
---
* add HandleAuthPacket and HandleAcctPacket hooks to Server class.
Request from Thomas Boettcher.
* Pass on dict attribute when creating a reply packet. Requested by
Thomas Boettcher.
* Allow specififying new attributes when using
Server.CreateReplyPacket. Requested by Thomas Boettcher.
0.6
---
* packet.VerifyReply() had a syntax error when not called with a raw packet.
* Add bind() method to the Client class.
* [SECURITY] Fix handling of timeouts in client module: when a bad
packet was received pyrad immediately started the next retry instead of
discarding it and waiting for a timeout. This could be exploited by
sending a number of bogus responses before a correct reply to make pyrad
not see the real response.
* correctly set Acct-Delay-Time when resending accounting requests packets.
* verify account request packages as well (from Farshad Khoshkhui).
* protect against packets with bogus lengths (from Farshad Khoshkhui).
0.5
---
* Fix typo in server class which broke handling of accounting packets.
* Create seperate AuthPacket and AcctPacket classes; this resulted in
a fair number of API changes.
* Packets now know how to create and verify replies.
* Client now directs authentication and accounting packets to the
correct port on the server.
* Add twisted support via the new curved module.
* Fix incorrect exception handling in client code.
* Update example server to handle accounting packets.
* Add example for sending account packets.
0.4
---
* Fix last case of bogus exception usage.
* Move RADIUS code constants to packet module.
* Add support for decoding passwords and generating reply packets to Packet
class.
* Add basic RADIUS server and proxy implementation.
0.3
---
* client.Timeout is now derived from Exception.
* Docstring documentation added.
* Include example dictionaries and authentication script.
0.2
---
* Use proper exceptions.
* Encode and decode vendor attributes.
* Dictionary can parse vendor dictionaries.
* Dictionary can handle attribute values.
* Enhance most constructors; they now take extra optional parameters
with initialisation info.
* No longer use obsolete python interfaces like whrandom.
0.1
---
* First release