Commit Graph

84 Commits (d5ec52ef7880a0db802a4be9f05621789d893640)

Author SHA1 Message Date
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 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
Michael Zillgith c98a2b0baa - MMS server: fixed connection handling problem in multi-threaded mode 7 years ago
Michael Zillgith f2c811c7c7 - IedServer: fixed potential deadlock when IedServer_stop is directly called after IedServer_start 7 years ago
Michael Zillgith 0dff4286aa - merged latest changes to the server reporting module from 1.3 branch
- merged with 1.3 branch
7 years ago
Michael Zillgith 0a27ec758f - IED server: handling thread mode changed 7 years ago
Michael Zillgith 4157c9c5da - extended server_example_control to show how to change ctlModel with online service 7 years ago
Michael Zillgith 91c22b3193 - IEC 61850 server: added IedServer_updateCtlModel function to change control model at runtime 7 years ago
Michael Zillgith aa86d3b259 - IEC 61850 server: number of dynamic data sets configurable at runtime 7 years ago
Michael Zillgith a0adcf94e7 - IEC 61850 Server: made number of data set entries configurable at runtime 7 years ago
Michael Zillgith 51c29fe9a7 - IEC 61850 server/ MMS server: maximum number of client connections configurable at runtime 7 years ago
Michael Zillgith 26af0d93c2 - IEC 61850 server: made IEC 61850 edition configurable at runtime 7 years ago
Michael Zillgith e7905cc16b - IEC 61850 server: memory handling optimization in control module 7 years ago
Michael Zillgith 713ca54cd0 - IEC 61850 server: optimized dynamic memory management in control handling; memory will be initialized at server start 7 years ago
Michael Zillgith 58b4d6c107 -IEC 61850 server: added ReadAccessHandler to control read access 7 years ago
Michael Zillgith 71493036dc - IEC 61850 server/MMS server: make dynamic data set service configurable at runtime with IedServerConfig object (new functions IedServerConfig_enableLogService and IedServerConfig_isLogServiceEnabled) 7 years ago
Michael Zillgith 0a3d86601b - IEC 61850 server/MMS server: make dynamic data set service configurable at runtime with IedServerConfig object (new functions IedServerConfig_enableDynamicDataSetService and IedServerConfig_isDynamicDataSetServiceEnabled) 7 years ago
Michael Zillgith 143bc977c0 - IEC 61850 server/MMS server: make file service configurable at runtime with IedServerConfig object (new functions IedServerConfig_enableFileService and IedServerConfig_isFileServiceEnabled) 7 years ago
Michael Zillgith c28d06f4d8 - IEC 61850 server: added support to set file service base path with server configuration object 7 years ago
Michael Zillgith 7cb5ff670a - IEC 61850 server: added support to configure report buffer at runtime
- IEC 61850 server: new IedServerConfig type and new IedServer constructor
7 years ago
Michael Zillgith 9a8415b3e6 - IEC 61850 server: prevent sending reports when data model is locked (updated) 7 years ago
Michael Zillgith a451731454 - IEC 61850 server: removed unnecessary dynamic string allocation 7 years ago
Michael Zillgith fe9d292d29 - java-tools: added support for OptFlds and TrgOps basic data types 8 years ago