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
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
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
Michael Zillgith
9809582f96
- IED server: implemented tissue 1453 also for writing to "RptId"
...
(purgeBuf only executed when value changes)
5 years ago
Michael Zillgith
42013e1550
- MMS client: fixed bug in TLS connection handling
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
3e1a23a6d0
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5
5 years ago
Michael Zillgith
aabe20031f
- GOOSE subscriber: always copy GoID and DatSet from GOOSE message; always create new MmsValue instance for GOOSE data set when subscriber is observer
5 years ago
Michael Zillgith
69e359b03f
- added new DataAttributeType value IEC61850_TYPE_UNKNOWN
5 years ago
Michael Zillgith
a17e9603e0
- config file parser: fixed problem when compiling with visual
...
studio/C++
5 years ago
Michael Zillgith
2bc47a6a6c
- IED server: added configuration file support for data set entries with array elements or array element components
5 years ago
Michael Zillgith
131fcf5236
* IEC 61850 client: added missing check in ClientReportControlBlock_getConfRev
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
6a3c66eafa
- 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
5 years ago
Michael Zillgith
ee4da06690
- IEC 61850 server: fixed problem with test case sRp4 - RCB RptID attribute is not empty after writing empty string
5 years ago
Michael Zillgith
cbd5c0b36f
- GOOSE/SV publisher: remove internal header file from API header
5 years ago
Michael Zillgith
504c260667
- fixed program crash when normal mode parameers are missing in presentation layer ( #252 )
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
805d73b86f
- GOOSE: added GOOSE observer feature (GooseSubscriber listening to all GOOSE messages) and GOOSE observer example
5 years ago
Michael Zillgith
9ac8192bae
- IED Server: fixed service tracking object references for RCB and GoCB service tracking
5 years ago
Michael Zillgith
3e83cd6194
- GOOSE receiver: improvements in GOOSE receiver
5 years ago
Michael Zillgith
34647c6876
- GOOSE publisher: Added doxygen comments and functions GoosePublisher_publishAndDump, GoosePublisher_setStNum, GoosePublisher_setSqNum
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
88acbd49c4
- COTP: fixed possible heap buffer overflow when handling message with invalid (zero) value in length field ( #250 )
5 years ago
Michael Zillgith
0129032f08
- IEC 61850 server: fixed - cancel command for time activated control returns object-access-denied even in case of success
5 years ago
Michael Zillgith
cc22c69fb1
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5
5 years ago
Michael Zillgith
24a380c845
- IEC 61850 server: added updating of missing attributes for control
...
service tracking
5 years ago
Michael Zillgith
8bc7b75e11
- IEC 61850 server: fixed crash in control service tracking when application doesn't register control handler
5 years ago
Michael Zillgith
2467457b5b
- IEC 61850 server: fixed problem with wrong service-type for service
...
tracking when writing URCBs (SetBRCBValues instead of SetURCBValues)
5 years ago
Michael Zillgith
80d11fbf78
- IEC 61850 server: started to implement control service tracking
...
(implemented support for SpcTrk)
5 years ago
Michael Zillgith
4ee5891388
- fixed debug output in iso_server.c
5 years ago
Michael Zillgith
2f5817e0ac
- IEC 61850 server: implemented service tracking for BRCBs and URCBs
5 years ago
Michael Zillgith
920eabe31f
- IEC 61850 client: ReasonForInclusion type is now int to be compatible
...
with C++
5 years ago
Michael Zillgith
004789cf39
- fixed error in API documentation
5 years ago
Michael Zillgith
4a3702112e
- MMS client: fixed potential problem in multi-variable write response parsing
5 years ago
Michael Zillgith
27ae0a5c0f
- removed outdated comment
5 years ago
Michael Zillgith
69d93f398c
- IEC 61850 client: fixed bug - IedConnection_setRCBValuesAsync always return 0 instead of invoke-ID
5 years ago
Michael Zillgith
de6886c6f3
- MMS: fixed problem in handling of indefinite length encoded BER elements
5 years ago
Michael Zillgith
02f03aea2f
- GOOSE subscriber: added optional destination address check for GOOSE messages
5 years ago
Michael Zillgith
092d8786ac
- IEC 61850 server: control model - fixed bug in handling of check flags
5 years ago
Michael Zillgith
538b9698bc
- COTP: fixed bug in sendBuffer loop
5 years ago
Michael Zillgith
c4de14eb45
- MmsValue: fixed unaligned memory access problems for MMS_FLOAT variables
5 years ago
Michael Zillgith
d38e590c99
- IEC 61850/MMS server: control - allow WaitForExecutionHandler to trigger LastApplError message
5 years ago
Michael Zillgith
5f02ea1661
- IEC 61850 server: control module return AddCause command-already-in-execution when second operate is received while command is executed
5 years ago
Michael Zillgith
d85b7ac777
- IEC 61850 client: reporting - support data set entries with multiple reasons for inclusion
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
3bf0e9a689
- MMS client: fixed potential problem in handling of next invoke ID
5 years ago
Michael Zillgith
9ca6d696c3
- MMS client: added additional check when parsing read response
5 years ago
Michael Zillgith
83e8e14603
- .NET API: fixed bug in DataSet destructor
5 years ago
Michael Zillgith
b6b94b0438
- fixed VS compilation problems
5 years ago
Michael Zillgith
e1eb09d55b
- MmsValue: added NULL checks for all memory allocations
...
- MmsValue: buffer for float/double data is now part of the MmsValue structure and not allocated separately
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
12d703e453
- IEC 61850 server: Added ControlAction_setError function - with this function the user application can control the error code used in LastApplError and CommandTermination messages
5 years ago
Michael Zillgith
94dcbb0119
- removed unused variable
5 years ago
Michael Zillgith
b0fbf9f3a3
- IEC 61850 server: fixed - Configuration option CONFIG_MAXIMUM_TCP_CLIENT_CONNECTIONS = -1 doesn't work ( #231 )
5 years ago
Michael Zillgith
d42f96ee97
- IEC 61850 server: fixed - control model - peer connection is not always available when control handlers are called ( #232 )
5 years ago
Michael Zillgith
8e95e7dbb8
- MMS: also update bitstring value when source bit string is of smaller size than the bitstring to be updated
5 years ago
Michael Zillgith
c4a5fd2f27
- IEC 61850 client: fixed memory leak in async select function
5 years ago
Michael Zillgith
73f1a98b4a
Merge branch 'v1.4' into v1.5
5 years ago
Michael Zillgith
994eea4b9a
- GOOSE subscriber: fixed crash when GOOSE messages misses time stamp
5 years ago
Michael Zillgith
cdf371e92e
- fixed: MmsValue_printToBuffer fails with empty MMS_OCTET_STRING ( #227 )
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
97e65d5743
- fixed problem encoding OID with arc values 0
5 years ago
Michael Zillgith
1744616866
- IEC 61850 server: RCB - fixed problem that other client can "steal" reservation
5 years ago
Michael Zillgith
4871989658
- MMS client: fixed bug in log entry parsing ( #224 )
5 years ago
Michael Zillgith
95f751ef63
- IEC 61850 server: fixed potential null pointer dereference in multi
...
thread mode when server is stopped
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
f4957cf62a
- IEC 61850 server: wait for background thread termination before data model is released
6 years ago
Michael Zillgith
0d4930ac25
- MMS server: fixed potential crash when get-named-variable-list-attributes response doesn't fit in MMS PDU. Server returns service error in this case
6 years ago
Michael Zillgith
29efa333f8
- IEC 61850 server: allow server to start without logical devices in data model ( #218 )
6 years ago
Michael Zillgith
cb8f159914
- IEC 61850 server: unbuffered reporting - send first integrity report after integrity timeout (before it was sent when the RCB was enabled)
6 years ago
Michael Zillgith
fd84d21c10
- IEC 61850 client: fixed bug in ClientReportControlBlock - some allowed structures for RCB were rejected
6 years ago
Michael Zillgith
bfcb65eabc
- add 64 bit integer support to MmsValue_printToBuffer
6 years ago
Michael Zillgith
c7f7989b85
- IEC 61850 server: control - unselect when operate with wrong origin parameters, check if check parameter matches for SBO
6 years ago
Michael Zillgith
0ba4a70d33
- IEC 61850 server: fixed missing report timestamp update for unbuffered reporting
6 years ago
Michael Zillgith
09b23aaa74
- IEC 618580 server: Added function IedServer_setServerIdentity to set values for MMS identity service
6 years ago
Michael Zillgith
ae07c77d39
- CDC helpers: added functions to create ISC and BAC CDCs
6 years ago
Michael Zillgith
2dba040c1a
- CDC helper functions: added stSeld and attributes from ControlTestingCDC to control CDCs
6 years ago
Michael Zillgith
922f3055b4
- updated cmake files to work with cmake 2.8
6 years ago
Michael Zillgith
800c76c50e
- update cmake files
6 years ago
Michael Zillgith
4aaced2639
- IEC 61850 server: unselect control when oper is not accepted
...
- IEC 61850 server: send select-failed for control when origin parameter is not valid
6 years ago
Michael Zillgith
4dede9b8a1
- updated version number to 1.4.2
6 years ago
Michael Zillgith
d8153483b5
- IEC 61850 server: fixed control handling to comply with test case sCtl25
6 years ago
Michael Zillgith
3a248a4f20
- IEC 61850 server: fixed control handling to comply with test case sCtl11
6 years ago
Michael Zillgith
0c83507727
- IEC 61850 server: pass origin, ctlNum, ctlVal to select handler for SBOw
6 years ago
Michael Zillgith
7d22aba900
- removed internal header files from install target ( #214 )
6 years ago
Michael Zillgith
e2d3ef2c72
Merge branch 'v1.5' of https://github.com/mz-automation/libiec61850 into v1.5
6 years ago