Michael Zillgith
d08f5a67ac
- IED server: fixed problem with client connection handling of setting groups
5 years ago
Michael Zillgith
96ba766a0a
- socket-linux: fixed problem in UdpSocket_receiveFrom
5 years ago
Michael Zillgith
8bf76601ea
- socket-linux: get source IP address in UdpSocket_receiveFrom
5 years ago
Michael Zillgith
474a482766
IED server: fixed problem with CONFIG_IEC61850_RCB_ALLOW_ONLY_PRECONFIGURED_CLIENT configuration option enabled
5 years ago
Cédric Boudinet
bf27774a86
Svsub latency ( #288 )
...
* Changing svReceiverLoop to reduce latency
* adding EthernetHandleSet_destroy to svReceiverLoop
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
ae4f940753
- .NET API: Added support for SelectStateChangedHandler
...
- .NET API: Added ModelNode.GetObjectReference
5 years ago
Michael Zillgith
0879ad0d46
- HAL: added missing include (sys/select) in serial HAL implementation for linux ( #279 )
5 years ago
Michael Zillgith
c02e99a022
- IEC 61850 client: fixed dead lock in IedConnection_getFileAsync when fileRead times out ( #285 )
5 years ago
Michael Zillgith
3e98fdfa90
- Client: fixed - IedConnection_getRCBValues doesn't check type of server response ( #283 )
5 years ago
Michael Zillgith
4deca9a4c0
- IED server: fixed potential deadlock in report module when service tracking is enabled
5 years ago
Michael Zillgith
5d704b8026
- GOOSE subscriber: fixed message validity check
5 years ago
Michael Zillgith
a606848a8b
- GOOSE subscriber: changed maximum GoID size according to tissue 770 (129 bytes)
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
1f174c3f65
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5
5 years ago
Michael Zillgith
8ac9a732df
- added function GooseSubscriber_getParserError
5 years ago
Michael Zillgith
2baeb59e61
- added Hal_getTimeInNs function for windows
5 years ago
Michael Zillgith
146dbb9057
- GOOSE subscriber: improved code to detect invalid GOOSE messages
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
9348683462
- IED server: fixed bug in cdc.c (wrong type for tOpOk data attribute)
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
981c2dd5f3
- fix problem: TLS does not work with HandleSet
5 years ago
Michael Zillgith
e59aa5521e
- fixed memory leak in ISO server
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
a165d1698d
- MMS: changed handling of variable sized bit strings (now also accepts bit strings of larger size, ignoring the bits that exceed the specified size)
5 years ago
Michael Zillgith
3f42387ed7
- IED server: fixed dupd trigger handling
5 years ago
Michael Zillgith
e4fcb923a0
- fixed problems in control service tracking
5 years ago
Michael Zillgith
00a821e67e
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5
5 years ago
Michael Zillgith
543d7802f5
- MMS client: add handling of initiate error PDU
5 years ago
Michael Zillgith
b27e363372
- IED server: add support for correct CBB handling (required for test case sAss4) and initiate error PDU
5 years ago
Michael Zillgith
18833799cc
- updated changelog
5 years ago
Michael Zillgith
42802db6f1
- added -Wextra to Makefile and changed code to avoid resulting warnings
5 years ago
Michael Zillgith
036f60e4f1
- fixed compiler warning
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
Michael Zillgith
98e7c5816a
- code formatting; compiler warnings
5 years ago
Michael Zillgith
fb9fc7b88b
Merge pull request #265 from mbourhis/v1.5-fix_GooseEthernetInterfaceId_allocation
...
IED Server/Goose: Fix the 'Goose Ethernet Interface Id' allocation
5 years ago
Michael Zillgith
7ee278cead
- IEC 61850 client: using poll/select to reduce CPU consumption
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