Michael Zillgith
acfbe16452
- IED server/MMS server: added data set access callbacks and example (LIB61850-387)
3 years ago
Michael Zillgith
6895d8214b
- MMS server: add function to ignore client requests (for test purposes)
3 years ago
Michael Zillgith
a3a6f2c77f
- IED Server: added function to set time quality for internally updated times (LIB61850-372)
3 years ago
Michael Zillgith
d5f2172f93
- IED server: fixed - possible deadlock when IedServer_lockDataModel is used from multiple threads (LIB61850-352)
3 years ago
Michael Zillgith
6b23f87b23
- fixed code to support arrays of complex data attributes
3 years ago
Michael Zillgith
82e52881f9
- fixed problem with write access to data attribute of type array (LIB61850-336)
3 years ago
Michael Zillgith
30f10f6c6d
Merge branch 'v1.5_develop' into v1.6_develop
3 years ago
Michael Zillgith
22f6a823ea
- changed StringUtils_createStringInBuffer function to consider max buffer size (LIB61850-333)
3 years ago
Michael Zillgith
8addfc2095
- replaced most str(n)cpy/str(n)cat calls (LIB61850-333)
3 years ago
Michael Zillgith
d8b595944d
- IED server: fixed value initialization of array elements
...
- fixed merging problem in LogicalNode.java
3 years ago
Michael Zillgith
7099535a39
Merge branch 'v1.5_develop' into v1.6_develop
3 years ago
Michael Zillgith
3fe0effcda
Merge branch 'v1.5_develop_323' into v1.5_develop
3 years ago
Michael Zillgith
b3868a2f9f
- removed some cppcheck warnings
3 years ago
Michael Zillgith
35ac479430
- fixed strncpy usage
3 years ago
Michael Zillgith
cfbe677bc5
- added feature: synchronization of integrity report times (LIB61850-323)
...
- fixed potential memory access problems in ReportControlBlock getter functions
3 years ago
Michael Zillgith
c76b5dd2da
- server reporting: added code to prevent race condition with
...
RCBEventHandler
3 years ago
Michael Zillgith
398b14e65f
- added null pointer protection to some constructors/destructors
4 years ago
Michael Zillgith
88148f39ac
- added IedServer_RCBEventHandler
4 years ago
Michael Zillgith
93d8dfc856
- reporting.c: fixed report entry counter and assert problems
...
- IED server: disactivate all RCB instances when stopping the server
4 years ago
Michael Zillgith
659dd49338
- reworked server side array handling (-> incompatible data model structure changes!)
4 years ago
Michael Zillgith
25394b11e1
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.6
4 years ago
Michael Zillgith
9a2fd3e23e
- started to implement functional naming for LDs
4 years ago
Michael Zillgith
4ffed8de11
- IED server: fixed crash when IEDName+LDInst is too long
4 years ago
Michael Zillgith
ea268b46a7
- IED server: make presence of RCB.Owner configurable at runtime with function IedServerConfig_enableOwnerForRCB (B1502/S1634)
5 years ago
Michael Zillgith
fd3847dcc5
- IED server: make presence of BRCB.ResvTms configurable at runtime with function IedServerConfig_enableResvTmsForBRCB (F1558)
5 years ago
Michael Zillgith
842bc271cd
- IED server: added new function IedServer_handleWriteAccessForComplexAttribute. Changed WriteAccessHandler behavior when ACCESS_POLICY_ALLOW.
5 years ago
Michael Zillgith
5e39c94cf3
- IED server: allow IedServer_setServerIdentity with some parameters set to NULL
5 years ago
Michael Zillgith
14f4f1ccf0
- IED server: added ControlSelectStateChangedHandler callback for control model
5 years ago
Michael Zillgith
cc80bffa69
- IED server: support for configuration of EditSG service and online visibility of SGCB.ResvTms at runtime
5 years ago
Michael Zillgith
3f42387ed7
- IED server: fixed dupd trigger handling
5 years ago
Michael Zillgith
42802db6f1
- added -Wextra to Makefile and changed code to avoid resulting warnings
5 years ago
Mikael Bourhis
a095c16139
IED Server/Goose: Fix the 'Goose Ethernet Interface Id' allocation
...
Issue:
In the case of 'GooseInterfaceId' initialization for all GOOSE
publishers (API function: IedServer_setGooseInterfaceId()), only the pointer of
the character string is saved and used for the next operations.
If the corresponding memory is cleared or overwritten in the
application program, a segfault may occurred in libiec61850.
Proof:
In the 'server_example_goose.c' example, if we used a temporary
allocated memory to store the 'ethernetIfcId', the bug will occur:
/* set GOOSE interface for all GOOSE publishers (GCBs) */
+ unsigned int ethernet_interface_id_length = strnlen(ethernetIfcID, 32);
+ char * tmp_ethernet_interface_id = calloc(sizeof(char), ethernet_interface_id_length + 1);
+ memcpy(tmp_ethernet_interface_id, ethernetIfcID, ethernet_interface_id_length);
+
IedServer_setGooseInterfaceId(iedServer, tmp_ethernet_interface_id);
+
+ explicit_bzero(tmp_ethernet_interface_id, ethernet_interface_id_length);
+ free(tmp_ethernet_interface_id);
(This issue was discovered during the rewriting of 'server_example_goose'
in Python, with the Swig wrapper: the allocated memory for
'ethernetIfcID' parameter in the Swig wrapper is automatically reused)
Fix:
The 'gooseInterfaceId' attribute of 'MmsMapping' in libiec61850 must be a new
allocated memory (with the use of 'StringUtils_copyString()') and deallocated
in the 'MmsMapping_destroy()' function.
5 years ago
Michael Zillgith
7e1c2ef18f
- IED server: added GoCB event callback
...
- IED server: added configuration option to use GoCB block handling without the integrated GOOSE publisher (IedServerConfig_useIntegratedGoosePublisher)
5 years ago
Michael Zillgith
e4b2849894
- fixed problems in handling array elements and array element components
5 years ago
Michael Zillgith
9ab37e9836
- IED Server/GOOSE: Don't send GOOSE message with new event while data model is locked
5 years ago
Michael Zillgith
d55afdfb92
- IEC 61850 server: added support to listen on multiple IP addresses and ports (new function IedServer_addAccessPoint)
5 years ago
Michael Zillgith
73f1a98b4a
Merge branch 'v1.4' into v1.5
5 years ago
Michael Zillgith
6a2db3fe46
- IEC 61850 server: fixed bug in single threaded mode (windows)
5 years ago
Michael Zillgith
4a15e9987b
- IEC 61850 server: fixed compilation error in single thread mode
5 years ago
Michael Zillgith
09b23aaa74
- IEC 618580 server: Added function IedServer_setServerIdentity to set values for MMS identity service
6 years ago
Michael Zillgith
1831be663e
- updated version to 1.5.0
6 years ago
Michael Zillgith
abcf93416f
- added function IedServer_getNumberOfOpenConnections
...
- IEC 61850/MMS server: refactored connection handling
6 years ago
Michael Zillgith
8991954e3c
- removed header dependencies from API headers
6 years ago
Michael Zillgith
18c2e30f87
- IEC 61850 server: refactored reporting module; unbuffered reports are stored to report buffer and sent by connection handling thread
6 years ago
Michael Zillgith
925c19bff6
- IED Server: added support for transient data objects
6 years ago
Michael Zillgith
69729bd8a0
- fixed - misspelled function name #180
6 years ago
Michael Zillgith
6b2404e80b
- GOOSE: option to enable/disable VLAN tagging
...
- IED Server: Allow setting different interfaces for different GOOSE publishers
6 years ago
Michael Zillgith
2e9761c541
- IED server: cancel outstanding control tasks when client closes connection (to prevent blocking the connection for waiting time activated controls)
6 years ago
Michael Zillgith
7cb69c983a
- additionally allow comma and space as separators in ap-titles used in API functions
6 years ago
Michael Zillgith
6c14425ca8
- IEC 61850 server: refactored control model API (changed handler signatures, added ControlAction object to access origin and set addCause value, ...)
...
- IEC 61850 client: added ControlObjectClient_getLastError function
6 years ago