Michael Zillgith
1a09b9548a
- IED server: control handling - fixed problem in test flag handling
4 years ago
Michael Zillgith
1b2d194694
- IED server: For SBOes check test flag match when accepting operate (sSBOes8)
4 years ago
Michael Zillgith
f866132e84
- IED server: Reject Cancel/SBOw in WaitForChange state - fixed problem with test case sCtl26
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
2b1104c0d3
- IED server - control model - send AddCause with operate- for DOes, SBOes control models
5 years ago
Michael Zillgith
bd4bd0fab6
- IED server: GoCB has invalid data set reference when datSet="" in SCL file
5 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
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
dc22dc76ec
- IED server: fixed bug in log service - old-entry and old-entry-time not updated
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
4f0667b597
- removed some warnings and code cleanup
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
9e064ab709
- IED Server: prevent integrated GOOSE publisher to crash when ethernet socket cannot be created
5 years ago
Michael Zillgith
23a3b3a371
- IED server: make compatible with tissue 1178
5 years ago
Michael Zillgith
6c2b9ad473
- IED server: reporting - implemented behavior according to tissue 1432
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
5f2e14f712
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5
5 years ago
Michael Zillgith
945fe080f3
- removed some compiler warnings
5 years ago
Michael Zillgith
d08f5a67ac
- IED server: fixed problem with client connection handling of setting groups
5 years ago
Michael Zillgith
474a482766
IED server: fixed problem with CONFIG_IEC61850_RCB_ALLOW_ONLY_PRECONFIGURED_CLIENT configuration option enabled
5 years ago
Michael Zillgith
40f8b76ad7
- IED server: handle BRCB.Owner correctly when client uses pre-assigned RCB instance
5 years ago
Michael Zillgith
4793e298ff
- IED server: fixed problem that BL FC is not writable ( #287 )
5 years ago
Michael Zillgith
4deca9a4c0
- IED server: fixed potential deadlock in report module when service tracking is enabled
5 years ago
Michael Zillgith
7b671f3a01
- GOOSE subscriber: accept GOOSE messages with the correct maximum size of DatSet and GoID
5 years ago
Michael Zillgith
b88c4216c8
- IED server: send AddCause for invalid origin also in case of direct control models
5 years ago
Michael Zillgith
0c9d1b16f8
- fixed struct initialization problem with Visual Studio
5 years ago
Michael Zillgith
8a55ef47bf
- IED server: ControlPerformCheckHandler has same parameters when called again in state WAITING_FOR_SELECT
5 years ago
Michael Zillgith
14f4f1ccf0
- IED server: added ControlSelectStateChangedHandler callback for control model
5 years ago
Michael Zillgith
fb5ed11001
- IED server: also respect user provided error and addCause from ControlPerformCheckHandler when the handler is called multiple times in waiting-for-select state
5 years ago
Michael Zillgith
a5bcd3c251
- IED server: fixed problem - control not unselected after connection is closed for sboClass "operate-many"
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
23da9ba28e
- IED server: control service tracking - fixed problem with missing attributes for SBOw tracking
5 years ago
Michael Zillgith
767bc887de
- IED server: fixed problems in control service tracking
5 years ago
Michael Zillgith
49cc901263
- fixed problem in control service tracking
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
5e520f21b5
- IED server: added missing data set update in GoCB service tracking object
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
bafe27a0e8
- IED server: add support for tissue 807 (owner attribute in RCB is only present when ReportSettings@owner attribute is true)
5 years ago