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
a4fdf089bb
- fixed locking mechanism in logging.c (LIB61850-327)
3 years ago
Michael Zillgith
b3868a2f9f
- removed some cppcheck warnings
3 years ago
Michael Zillgith
35ac479430
- fixed strncpy usage
3 years ago
Michael Zillgith
c76b5dd2da
- server reporting: added code to prevent race condition with
...
RCBEventHandler
3 years ago
Michael Zillgith
9d9f03585f
- IED server: improved control state machine performance (LIB61850-312)
4 years ago
Michael Zillgith
a7362928f4
- added semaphore for server side RCB value access
4 years ago
Michael Zillgith
b27681f408
- implemented GET_PARAMETER event for IedServer_RCBEventHandler
...
- implemented additional access functions for ReportControlBlock to allow access to runtime values
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
de3aba0cb6
- .NET API: added support for server integrated GOOSE publisher
...
- IED server: fixed bug in GoCBEventHandler
4 years ago
Michael Zillgith
1bb76893a2
- fixed compilation problem when compiling without GOOSE support ( #325 )
4 years ago
Michael Zillgith
3532623319
- IED server: Goose publisher - set NdsCom when data set not configured or GoEna fails because of large data set
4 years ago
Michael Zillgith
4e15343f5b
- IED server: integrated GOOSE publisher - lock data model during GOOSE retransmission to avoid corrupted GOOSE data
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
60d66e5ba4
- some code beautification
5 years ago
Michael Zillgith
fe39cc9b24
- IED server: control models - fixed bug that only one control is unselected when connection closes
5 years ago
Michael Zillgith
db1671587e
- IED server: fixed bug - logs (journals) are added to all logical devices instead of just the parents
5 years ago
Michael Zillgith
74a227bdf2
- IED server: WriteAccessHandler can tell the stack not to update the
...
value when returning DATA_ACCESS_ERROR_SUCCESS_NO_UPDATE
5 years ago
Michael Zillgith
d08f5a67ac
- IED server: fixed problem with client connection handling of setting groups
5 years ago
Michael Zillgith
4793e298ff
- IED server: fixed problem that BL FC is not writable ( #287 )
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
53d8a2f715
- IED server: changed types TrkOps and OptFlds to variable length bit strings
5 years ago
Michael Zillgith
e4fcb923a0
- fixed problems in control service tracking
5 years ago
Michael Zillgith
42802db6f1
- added -Wextra to Makefile and changed code to avoid resulting warnings
5 years ago
Michael Zillgith
07525b598f
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5
5 years ago
Michael Zillgith
1f56110d32
- removed some compiler 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
ec5ccb62a0
- IED server: RCB and LCB service tracking replaced $ with . characters in object references
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
e1ab323c1b
- IED server: added code for log service tracking
5 years ago
Michael Zillgith
3a2eea3611
- extended service tracking example for GoCB and SGCB service tracking
5 years ago
Michael Zillgith
fcdb83bc2f
- IED server: fixed memory leak in service tracking code
...
- IED server: fixed bug in GoCB service tracking (goID and dataSet not set)
5 years ago
Michael Zillgith
0b58716ea3
- IED server: fixed issue - read access to SGCB is not possible when read access handler is installed
5 years ago
Michael Zillgith
ed8c8b3ac7
- IEC 61850 server: fixed some variable initialization issues caused by recent changes
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
649db2b3d6
- IEC 61850 server: extended control service tracking
...
- IEC 61850 server: partially implemented setting group service tracking
- IEC 61850 server: partially implemented GoCB service tracking
5 years ago
Michael Zillgith
80d11fbf78
- IEC 61850 server: started to implement control service tracking
...
(implemented support for SpcTrk)
5 years ago
Michael Zillgith
2f5817e0ac
- IEC 61850 server: implemented service tracking for BRCBs and URCBs
5 years ago
Michael Zillgith
b3c5ecdcf2
- IEC 61850 server: report service - combine quality and value change of a FCDO in the same report when model is locked (send data set entry with multiple reason-for-inclusion)
5 years ago
Michael Zillgith
73f1a98b4a
Merge branch 'v1.4' into v1.5
5 years ago
Michael Zillgith
cc08420e50
- IEC 61850 server: fixed problem with logging when log data set contains FCDO ( #225 )
5 years ago
Michael Zillgith
4a15e9987b
- IEC 61850 server: fixed compilation error in single thread mode
5 years ago
Michael Zillgith
f4957cf62a
- IEC 61850 server: wait for background thread termination before data model is released
5 years ago
Michael Zillgith
29efa333f8
- IEC 61850 server: allow server to start without logical devices in data model ( #218 )
6 years ago