- updated CHANGELOG file

pull/521/head
Michael Zillgith 1 year ago
parent 625fb65e50
commit 7d90faa631

@ -1,8 +1,137 @@
Changes to version 1.5.1
Changes to version 1.6.0
------------------------
New features and improvements:
- Updated array handling (every array element is not a separate ModelNode instance)
- IED server: added additional callbacks to control external access to the data model (required to implement RBAC)
- IED server: implemented write access handler for array elements and components of array elements (LIB61850-437)
- IED server: new function IedServer_handleWriteAccessForDataObject (LIB61850-437)
- added function to get timestamp of received command (ControlAction_getT) (LIB61850-422)
- added function IedClientError_toString
- Java tools: Support for time stamp Val elements
- BETA: Support for R-GOOSE and R-SMV
- BETA: SNTP client code
Other changes:
- Ethernet(Linux): Set to promisc mode by default
- removed legacy defines for report reasons (#449)
Fixed bugs and vulnerabilities:
- fixed out-of-bound read in parseAarePdu function (LIB61850-442)(#513)
- ACSE: fixed out-of-bounds read in parseAarqPdu function (LIB61850-441)(#512)
- GOOSE receiver: added additional length and plausibility checks to fix #509
- MmsValue_decodeMmsData: add support for empty visible-string, mms-string, and octet-string values (#506)
- MMS client: fixed - getNameList task can get stuck in while loop when message cannot be sent (LIB61850-347)
- fix: ssl renegotiation causing handshake failure (#494)
- GOOSE publisher: fixed - publisher parameters not set correctly (I6LLCV-76)
- fixed potential memory leak when GooseReceiver is immediately stopped after start (I6PLLCV-71)
- .NET API: fixed - crash when GetDataSetDirectoryAsync returns error (LIB61850-434)
- MMS server: fixed - server is sending data set response larger than negotiated MMS PDU size (LIB61850-435)
- fixed - potential race condition when using IedConnection_installReportHandler and IedConnection_uninstallReportHandler
- fixed - IEC 61580 server: dataset is not released when RCB.Datset is set to empty string by client (LIB61850-425)
- MMS client: fixed - parsing of servicecsSupported in MMS init response is off by one (LIB61850-419)(#469)
Changes to version 1.5.3
------------------------
New features and improvements:
- config file parser dynamically allocates linebuffer to allow multithreaded applications (#484)
- parse time values in model configuration file (LIB61850-426)
- config file generator: added missing code for GSEControl (LIB61850-418)
- Config file generator: support multiple access points for GOOSE and SMV control blocks (LIB61850-418)
- config file generator: added code to add SMVCBs to config files (LIB61850-67)
- IED server: added code to create SMVCBs with the dynamic model API (LIB61850-67)
- MMS server: added support for write access with component alternate access (LIB61850-414)
- MMS client: added function MmsConnection_writeVariableComponent to write to variables with alternate component access (LIB61850-414)
- make write access to RCB elements configurable according to ReportSettings (LIB61850-404)
- Added function IedConnection_setLocalAddress to define local IP address and optionally local port of a client connection (LIB61850-378)
- IED server: added ControlAction_getSynchroCheck and ControlAction_getInterlockCheck functions
Fixed bugs and vulnerabilities:
- fixed - IEC 61580 server: dataset is not released when RCB.Datset is set to empty string by client (LIB61850-425)
- PAL: fixed wrong order of function arguments for fread and fwrite functions
- MMS client: parsing of servicecsSupported in MMS init response is off by one (LIB61850-419)(#469)
- fixed - potential memory leaks in goose publisher code (#464)
- fixed - server sends dchg report when only dupd is enabled in RCB (LIB61850-411)
- GOOSE subscriber: fixed - possible heap corruption in parseAllData due to missing validity check in bit-string handling (LIB61850-402)
- IED server: fixed problem with implicit ResvTms setting when reserved with RptEna (LIB61850-400)
- IED server: fixed - segmentation fault when compiled with CONFIG_MMS_THREADLESS_STACK (LIB61850-398)
- fixed - MMS server: messages can be corrupted when TCP buffer is full (LIB61850-385)
- fixed - .NET: IedConenction.WriteDataSetValues throws a NullReferenceException (LIB61850-384)
- fixed - server send invalid response- when client uses wrong ctlModel (LIB61850-383) (#435)
- fixed - IedConnection_setRCBValuesAsync crashes when RCB is already reserved by other client (LIB61850-382)
- fixed - outstanding call not released in IedConnection_getDataSetDirectoryAsync (LIB61850-379)
Changes to version 1.5.2 (Dec 19, 2022)
---------------------------------------
New features and improvements:
- renamed TLSConfiguration_EventLevel to TLSEventLevel
- updated required mbedtls version to 2.28.x
- Added check for changed CRL on socket read/write. Added reset of renegotiation ssl cache on CRL add
- Fixing Security events messages to match IEC62351-100-3
- .NET API: Added support for TLS event handler (LIB61850-373)
- IED Server: added function to set time quality for internally updated times (LIB61850-372)
- added TLSConnection object to provide more context in TLS event callback (LIB61850-366)
- TLS: added TLS alert callbacks; support for session resumption with session IDs (LIB61850-339)
- MMS client: added function MmsConnection_sendRawData for test purposes
- changed StringUtils_createStringInBuffer function to consider max buffer size (LIB61850-333)
- replaced most str(n)cpy/str(n)cat calls (LIB61850-333)
- encode boolean true value as 0x01 instead of 0xff to avoid interoperability problems
- added IedServerConfig_setSyncIntegrityReportTimes/IedServerConfig_setSyncIntegrityReportTimes wrapper to .NET API (LIB61850-323)
- added feature: synchronization of integrity report times (LIB61850-323)
- server: added RCBEventHandler event types REPORT_CREATED and OVERFLOW
- added function ReportControlBlock_getResv
- mms_utility: added option to read data set directory
- .NET API: added IedServer.GetFunctionalConstrainedData method (LIB61850-317)
- RCBEventHandler: replaced GI event by purgeBuf event when client disables RCB instance (LIB61850-316)
- enabled TLS 1.2 support in mbedtls configuration
- improved MmsValue handling; fixed MmsValue(OCTET-STRIG) maximum size problem (LIB61850-150)
- IED server: improved control state machine performance (LIB61850-312)
Fixed bugs and vulnerabilities:
- fixed - dynamic model helper functions: Check added to Cancel object for CDC APC
- fixed wrong number in TLS event code define (LIB61850_366)
- fixed - servers sends object-access-unsupported on GetAllData when ReadAccessHandler is installed (LIB61850-370)
- fixed - endless loop sending reports when MMS PDU size is too small (LIB61850-365)
- fixed path traversal vulnerability in MMS file services (LIB61850-357)
- IED server: added missing call to getNextRoundedStartTime (LIB61850-323)
- fixed - server crashs when SyncIntegrityReportTimes is active and IntgPd=0 (LIB61850-355)
- fixed - missing API export declarations for functions IedServerConfig_setSyncIntegrityReportTimes and IedServerConfig_getSyncIntegrityReportTimes (LIB61850-353)
- IED server: fixed - possible deadlock when IedServer_lockDataModel is used from multiple threads (LIB61850-352)
- MMS server: fixed - possible deadlock in obtainFile-service/file upload task (LIB61850-351)
- MMS server: fixed potential null pointer dereference when confirmeServiceResponse for fileOpen is received with invoke-id 0 (LIB61850-348)
- MMS_SERVER: fixed bug in getNameList request handling when domain ID is too long (LIB61850-346)
- GOOSE subscriber: fixed vulnerabilities related to malformed bit-string, integer, and unsigned values (LIB61850-342)
- MMS server: fixed bug in handling of continueAfter parameter of getNameList request (LIB61850-341)
- fixed sscanf format string in config_file_parser.c
- fixed locking mechanism in logging.c (LIB61850-327)
- fixed problem: negative presentation layer and ACSE results are ignored by client
- fixed wrong buffer size in client side report handling
- fixed memory leak in server read request handling (LIB61850-325)
- fixed memory leak in reuse of client connection (related to socket extension buffer)
- fixed - TLS: CRL is ignored
- fixed wrong MMS protocol version check (#379)
- fixed - SV publisher encoding problem when svID or datset length > 127 bytes (LIB61850-315)(#382)
- IedServerConfig: added missing variable initialization
- fixed - server doesn't respond SBOw when waiting for select callback (LIB61850-313)
Changes to version 1.5.1 (Mar 11, 2022)
---------------------------------------
New features and improvements:
- added server side ReportControlBlock events and value access functions
- added functions Timestamp_fromMmsValue and Quality_toMmsValue
- made server report reservation compatible with Ed. 2.1 (LIB61850-293)
@ -54,63 +183,6 @@ Fixed bugs and vulnerabilities:
- IED server: For SBOes check test flag match when accepting operate (sSBOes8)
- IED server: Reject Cancel/SBOw in WaitForChange state - fixed problem with test case sCtl26
Changes to version 1.5.0
------------------------
- added support for time with ns resolution
- IEC 61850 server: control models - allow delaying select response with check handler (new handler return value CONTROL_WAITING_FOR_SELECT)
- IEC 61850 server: added support to listen on multiple IP addresses and ports (new function IedServer_addAccessPoint)
- added support for service tracking
- added tool support for transient data objects
- .NET API: added more functions to create and access server data model
- IED server - control model - send AddCause with operate- for DOes, SBOes control models
- IED server: integrated GOOSE publisher - lock data model during GOOSE retransmission to avoid corrupted GOOSE data
- added server example for dead band handling
- IED server: make presence of RCB.Owner configurable at runtime with function IedServerConfig_enableOwnerForRCB (B1502/S1634)
- IED server: make presence of BRCB.ResvTms configurable at runtime with function IedServerConfig_enableResvTmsForBRCB (F1558)
- restrict maximum recursion depth in BerDecoder_decodeLength when indefinite length encoding is used to avoid stack overflow when receiving malformed messages
- fixed oss-fuzz issues 31399, 31340, 31341, 31344, 31346
- IED server: fixed bug in log service - old-entry and old-entry-time not updated
- IED server: added new function IedServer_handleWriteAccessForComplexAttribute. Changed WriteAccessHandler behavior when ACCESS_POLICY_ALLOW.
- MMS server: add compile time configuration options to enable/disable fileDelete and fileRename services (fileRename is now disabled by default)
- MMS server: better data model lock handling for performance improvements
- Linux - Ethernet: replace IFF_PROMISC by IFF_ALLMULTI
- improvements in Python wrapper code
- IED server: control models - fixed bug that only one control is unselected when connection closes
- IED server: fixed bug - logs (journals) are added to all logical devices instead of just the parents
- IED Server: prevent integrated GOOSE publisher to crash when ethernet socket cannot be created
- IED server: make compatible with tissue 1178
- IED server: reporting - implemented behavior according to tissue 1432
- IED server: WriteAccessHandler can tell the stack not to update the value when returning DATA_ACCESS_ERROR_SUCCESS_NO_UPDATE
- IED server: fixed problem that BL FC is not writable (#287)
- IEC 61850 client: fixed dead lock in IedConnection_getFileAsync when fileRead times out (#285)
- IED server: added ControlSelectStateChangedHandler callback for control mode
- Client: fixed - IedConnection_getRCBValues doesn't check type of server response (#283)
- GOOSE subscriber: changed maximum GoID size according to tissue 770 (129 bytes)
- IED server: send AddCause for invalid origin also in case of direct control models
- IED server: support for configuration of EditSG service and online visibility of SGCB.ResvTms at runtime
- IED server: changed types TrkOps and OptFlds to variable length bit strings
- MMS: changed handling of variable sized bit strings (now also accepts bit strings of larger size, ignoring the bits that exceed the specified size)
- IED server: add support for correct CBB handling (required for test case sAss4) and initiate error PDU
- IED server: add support for tissue 807 (owner attribute in RCB is only present when ReportSettings@owner attribute is true)
- IED server: implemented tissue 1453 also for writing to "RptId" (purgeBuf only executed when value changes)
- GOOSE subscriber: always copy GoID and DatSet from GOOSE message; always create new MmsValue instance for GOOSE data set when subscriber is observer
- IED server: added configuration file support for data set entries with array elements or array element components
- fixed problems in handling array elements and array element components
- fixed bug in MmsConnection_readMultipleVariables: send invaid messsage and memory access errors when too many items are passed to the function exhausting MMS payload size
- IEC 61850 server: fixed problem with test case sRp4 - RCB RptID attribute is not empty after writing empty string
- fixed program crash when normal mode parameers are missing in presentation layer (#252)
- IED Server/GOOSE: Don't send GOOSE message with new event while data model is locked
- GOOSE: added GOOSE observer feature (GooseSubscriber listening to all GOOSE messages) and GOOSE observer example
- COTP: fixed possible heap buffer overflow when handling message with invalid (zero) value in length field (#250)
- IEC 61850 server: fixed - cancel command for time activated control returns object-access-denied even in case of success
- IEC 61850 client: fixed bug - IedConnection_setRCBValuesAsync always return 0 instead of invoke-ID
- MMS: fixed problem in handling of indefinite length encoded BER elements
- IEC 61850 client: reporting - support data set entries with multiple reasons for inclusion
- Java tools: moved minTime, maxTime from GSEControl to GSE; updated GOOSE server example CID file
- IEC 61850 server: Added ControlAction_setError function - with this function the user application can control the error code used in LastApplError and CommandTermination messages
- IEC 61850 server: fixed problem with logging when log data set contains FCDO (#225)
Changes to version 1.4.2.1
--------------------------

Loading…
Cancel
Save