Version 1.0 released

The new version 1.0.0 added support for the SetFile service (MMS obtainFile service). The obtain file service is an optional service and can be disabled on resource restricted systems when required. The feature implementation also allows server side callback functions to allow or reject file uploads. With this new feature all of the file services and all of the standard services are implemented. The release also contains some other small improvements and bug fixes. Please download here.

8 thoughts on “Version 1.0 released

  1. _tpi

    Hi,
    Is there a way to set ControlAddCause value inside control callback functions when using sbo-with-enhanced-security model?

    I’ve found ControlObject_sendLastApplError function but it seems that It is intended for internal use inside control model.

    . I’m using server examples and I managed to create model of circuit breaker.

    I would like to addCause

    control function cannot be performed? For example, how can I set Position Reached if client is trying to open already opened XCBR?

  2. Beka

    Hi!
    I tried to compile version 1.0 with ” make examples” in CentOS 6.5 but returns this error

    compiling mms_file_service.c
    mkdir -p build/src/mms/iso_mms/server/
    gcc -g -std=gnu99 -Wstrict-prototypes -Wuninitialized -Wsign-compare -Wpointer-arith -Wnested-externs -Wmissing-declarations -Wshadow -Wall -c -Iconfig -Isrc/common/inc -Isrc/mms/iso_mms/asn1c -Isrc/mms/inc -Isrc/mms/inc_private -Isrc/hal/inc -Isrc/goose -Isrc/sampled_values -Isrc/iec61850/inc -Isrc/iec61850/inc_private -Isrc/logging -o build/src/mms/iso_mms/server/mms_file_service.o src/mms/iso_mms/server/mms_file_service.c
    In file included from src/mms/inc_private/mms_client_internal.h:29,
    from src/mms/iso_mms/server/mms_file_service.c:26:
    src/mms/inc/mms_client_connection.h:662: error: redefinition of typedef âMmsFileReadHandlerâ
    src/mms/inc_private/mms_common_internal.h:49: note: previous declaration of âMmsFileReadHandlerâ was here
    make[3]: *** [build/src/mms/iso_mms/server/mms_file_service.o] Error 1
    make[3]: Leaving directory `/home/developer/libiec61850-1.0.0′
    make[2]: *** [../../build/libiec61850.a] Error 2
    make[2]: Leaving directory `/home/developer/libiec61850-1.0.0/examples/sv_publisher’
    make[2]: Entering directory `/home/developer/libiec61850-1.0.0/examples/sv_subscriber’
    cd ../..; make -f Makefile
    make[3]: Entering directory `/home/developer/libiec61850-1.0.0′
    compiling mms_file_service.c
    mkdir -p build/src/mms/iso_mms/server/
    gcc -g -std=gnu99 -Wstrict-prototypes -Wuninitialized -Wsign-compare -Wpointer-arith -Wnested-externs -Wmissing-declarations -Wshadow -Wall -c -Iconfig -Isrc/common/inc -Isrc/mms/iso_mms/asn1c -Isrc/mms/inc -Isrc/mms/inc_private -Isrc/hal/inc -Isrc/goose -Isrc/sampled_values -Isrc/iec61850/inc -Isrc/iec61850/inc_private -Isrc/logging -o build/src/mms/iso_mms/server/mms_file_service.o src/mms/iso_mms/server/mms_file_service.c
    In file included from src/mms/inc_private/mms_client_internal.h:29,
    from src/mms/iso_mms/server/mms_file_service.c:26:
    src/mms/inc/mms_client_connection.h:662: error: redefinition of typedef âMmsFileReadHandlerâ
    src/mms/inc_private/mms_common_internal.h:49: note: previous declaration of âMmsFileReadHandlerâ was here
    make[3]: *** [build/src/mms/iso_mms/server/mms_file_service.o] Error 1
    make[3]: Leaving directory `/home/developer/libiec61850-1.0.0′
    make[2]: *** [../../build/libiec61850.a] Error 2
    make[2]: Leaving directory `/home/developer/libiec61850-1.0.0/examples/sv_subscriber’
    make[1]: [examples] Error 2 (ignored)
    make[1]: Leaving directory `/home/developer/libiec61850-1.0.0/examples’

    Any suggestions?

    1. Michael Zillgith Post author

      Yes I see. The MmsFileReadHandler definition has to be removed from the mms_client_common.h file. Instead mms_client_connection.h has to be included there. I didn’t recognize the double definition because it compiled without problems on my linux and windows systems. I will fix it with the next release.

    2. clarence

      it’s redefinition. open the header file mms_common_internal.h(src/mms/inc_private/),and add number 1 to the MmsFileReadHandler(like this ” MmsFileReadHandler1″).you should change the line 50 and line 56.

  3. Vincent

    Hi,
    When i am testing the iec61850(0.9.2) server which runs in Linux via nmap, it happened signal 11(illegal reference to memory). Since i supported callback funciton to the server, I checked the function mmsConnectionHandler() in ../src/iec61850/server/mms_mapping/mms_mapping.c. In the function, it calls Private_IedServer_getClientConnectionByHandler(), and maybe return NULL!! After this, it may led to referencee to NULL pointer. Could you help to check this issue, thank you.

    1. Michael Zillgith Post author

      Hi. I cannot reproduce the problem. Can you guide to reproduce the situation when private_IedServer_getClientConnectionByHandle returns NULL?

      1. Vincent

        It happened twice until now, and i failed to find the method to reproduce the problem. Following my usage.

        I call IedServer_setConnectionIndicationHandler(iedServer, callbackFun, NULL);

        and the definition of callbackFun following,
        .. callbackFun(IedServer self, ClientConnection connection, bool connected, void *para)
        {
        if(connection == NULL)
        {
        printf(“connection is null, return!!”);
        return;
        }
        …….
        }

        I check the log, it always shows “connection is null, return!!” and then system push “singall 11”.

Comments are closed.