-
Notifications
You must be signed in to change notification settings - Fork 22
Expand file tree
/
Copy pathChanges
More file actions
138 lines (119 loc) · 5.92 KB
/
Changes
File metadata and controls
138 lines (119 loc) · 5.92 KB
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
Changes 0.9.6.12 -> 0.9.6.13
* Changed license to a permissable zlib/png-style
Changes 0.9.6.11 -> 0.9.6.12
* NPE when server sent unmatched hop-by-hop-identifier (e.g. due to server bug or client timeout)
Changes 0.9.6.10 -> 0.9.6.11
* Handle 3GPP mismatch between announced applications in CER/CEA and actual
messages.
Changes 0.9.6.9 -> 0.9.6.10
* Allow bogus PRNG when initializing DWR jitter
* Eliminate (harmless) race condition when shutting down under high load
leading to "WARNING: Got a DPA. This is not expected"
* Mismatch between relative and absolute timeouts in request times. (should
be relative)
Changes 0.9.6.8 -> 0.9.6.9
* Fixed IllegalMonitorStateException when shutting down
Changes 0.9.6.7 -> 0.9.6.8
* Added timeout capability to SimpleSyncClient and NodeManager
* Logs destination IP address before initiating outgoing connections
* Prevent double-start of stack (would lead to erratic behaviour)
* Support TCP source port range
Changes 0.9.6.6 -> 0.9.6.7
* Expanded CC example server
* Fixed npe on outgoing sctp connections that fail
* Support replaced logger implementation, eg. in resin and other application
servers.
Changes 0.9.6.5 -> 0.9.6.6
* AVP_Time.queryDate() returned wrong values de to 32-bit arithmic.
Changes 0.9.6.4 -> 0.9.6.5
* NodeManager could not find matching oustanding requests if the state object
was null.
* Node.waitForConnectionTimeout() and NodeManager.waitForConnectionTimeout()
methods added.
* Handle more than 2^31 sessions connectly when generating Session-IDs
* Support some unusual vendor-specific-application-id AVP formats.
* AVP_Time.queryDate() returned wrong value (Date object creation with seconds
instead of milliseconds)
* AVP.queryPayload() made public.
Changes 0.9.6.3 -> 0.9.6.4
* Fix regression in 0.9.6.3:
- ConcurrentModificationException when talking to silent peer
- Bugfix when connect() connects imediately. (solaris)
Both regressions were due to my fat fingers and subversion happily
accepting changes to tags.
Changes 0.9.6.? -> 0.9.6.3
* Made more robust when calling Node.findConnection/sendMessage/... when the
node has not been started.
Changes 0.9.6.1 -> 0.9.6.2
* If a peer accepted the connection, but never replied to CER, then a
ConcurrentModificationException was thrown when the connection timed out.
* Local connections on Solaris lead to corner case where NIO behaves
"interestingly" and the stack became non-functional.
Changes 0.9.6 -> 0.9.6.1
* File descriptor leak when a persistent peer had a name that could not be
looked up in DNS.
* DCC examples no longer announce credit-control application as a supported
accounting application.
Changes 0.9.5 -> 0.9.6
* Handle SCTP association restart correctly.
* Node.findConnection() could return connection keys for connections there were
not in the "open" state, potentially leading to NPE if a client immediately
tried using it.
* Logging in Node changed a bit to make failure to load SCTP support look less
dangerous.
* Do not attempt to send DWR on non-ready connections.
* Timeout&close non-ready connections.
Changes 0.9.4 -> 0.9.5
* SCTP support
* CER election phase could easily fail.
* Improved handling of M-bit in grouped AVPs in dk.i1.diameter.Utils
* Implemented DW interval jitter as per rfc3539 section 3.4.1 item 1
Changes 0.9.4 -> 0.9.4.1
* M-bit was not set on AVPs inside Vendor-Specific-Application-Id
Changes 0.9.3 -> 0.9.4
* Examines result-code in CEA and acts on it.
* Error-bit was not set in error responses for protocol errors.
* Vendor-specific accounting applications in the CE messages were incorrectly
sent as vendor-specific authentication applications.
* Log vendor-specific applications during capability negotiation.
* Implemented peer authentication (see NodeValidator interface).
* CER with election-lost was missing the Result-Code AVP.
Changes 0.9.2 -> 0.9.3
* On shutdown peers were sent a DPR with disconnect-cause='busy' instead of the
(correct) 'rebooting' cause.
* It is now possible to have a (small) grace period for making a clean
shutdown of connections waiting for reception of DPA. This has mostly
academic interest. The default is to send DPR and close immediately.
* An CEA was erroneously sent as response to an unhandled CEA
* Idle timeout changed from 1 hour to 7 days.
* NodeSettings.???watchdoginterval() and NodeSettings.???idleTimeout() added.
* NPE when new inbound connection lost election
* Support for connecting to relays
* Connecting to peers on non-standard ports resulted in not being able to
send messages to them due to port mismatch when looking up the peer.
* Added note about restoring hop-by-hop-identifier when forwarding answers
with NodeManager.forwardAnswer()
* Added example relay to show per-message state handling in NodeManager.
* Message.prepareAnswer() and Messageheader.prepareAnswer() was added. They
are identical to prepareResponse() but more appropriately named.
Changes 0.9.1 -> 0.9.2
* Reset TCP connection when non-diameter traffic is encountered (RFC3588
section 8). Previously, the connection was simply closed.
* waitforConnection() was not working right.
* Moved session-id generation to Node
* Added credit-control example
* Raw packets were not logged with log-level=FINEST
* AVP.setM() method added
* Shutting down a node could in some cases result in a NullPointerException
in "Diameter node reconnect thread"
Changes 0.9.0 -> 0.9.1
* Node.waitForConnection() and NodeManager.waitForConnection() added.
* AVP.vendor_id was not being reset on reused AVPs when calling decode()
* Made dk.i1.diameter.Messageheader constructors public
* With certain malformed origin-host-id values from peers the Node thread
would encounter a NullPointerException because java.net.URI could not
parse the URI.
* Potential race condition fix with sending messages to a peer after it
was marked ready but before a CEA was sent.
* Faster detection of non-diameter traffic on sockets
* CER, DWR, DPR always had the hop-by-hop-identifier set to 0.