1. 23 May, 2019 1 commit
    • Jozef Kralik's avatar
      [LITE-43] Implement Cloud service · 04471e61
      Jozef Kralik authored
      Provides API for connect a device to the Cloud Interface.
      Cloud Sample apps/cloud_linux.c
      Cloud API: service/cloud/include/cloud.h
       * Cloud always try to connect to the Cloud Interface
       * Delays are not configurable (ping, publish resources, ...)
       * Sid isn't verified
      Change-Id: I3faf440f0fd00648cf0e01f50763d80c785cd734
      Signed-off-by: Jozef Kralik's avatarJozef Kralik <jojo.lwin@gmail.com>
  2. 08 Apr, 2019 2 commits
    • Kishen Maloor's avatar
      oc_obt:Add onboarding support with Random PIN OTM · cb18797b
      Kishen Maloor authored
      This change adds new onboarding APIs to oc_obt for handling the Random PIN
      OTM. Specifically, it introduces two new APIs: one for requesting the peer
      device to generate (and display) a Random PIN, and one for executing the
      Random PIN OTM sequence in a TLS_PSK handshake that employs the PIN in
      deriving the symmetric key used for the handshake.
      OBT implementations are expected to invoke the first API and following a
      success response, accept the PIN via user input using any means defined by
      the application. Subsequently, the OBT invokes the second API, supplying
      the PIN for carrying out the entire OTM sequence.
      The sample onboarding_tool has been updated to support Random PIN OTM using
      these two APIs.
      This change also adds a new API oc_obt_shutdown() to be called by OBT
      implementations when they're about to terminate. This frees all internally
      allocated resources.
      Change-Id: I8ef2df9ffc08aa34c658c6d4c80ea1077a1bc9d9
      Signed-off-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
      Reviewed-on: https://gerrit.iotivity.org/gerrit/29388Tested-by: default avatarIoTivity Jenkins <jenkins-daemon@iotivity.org>
    • Kishen Maloor's avatar
      Refactor oc_obt to implement OTMs separately · ce2177ae
      Kishen Maloor authored
      This change restructures oc_obt to seaprate out the core request sequences
      for the different OTMs from common functions that apply to all OTM
      sequences and other horizontal security provisioning functions.
      As a result, each OTM may be implemented in individual modules thus
      improving their maintainability. A new internal header oc_obt_internal.h
      contains all the common internal structures and APIs to be harnessed by
      all OTM implementations.
      Change-Id: Ib8eea60a63423f64ab62e9cd1da90d200cf9ba0b
      Signed-off-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
      Reviewed-on: https://gerrit.iotivity.org/gerrit/29387Tested-by: default avatarIoTivity Jenkins <jenkins-daemon@iotivity.org>
  3. 05 Apr, 2019 1 commit
  4. 24 Jan, 2019 1 commit
  5. 09 Jan, 2019 1 commit
  6. 31 Dec, 2018 1 commit
    • Kishen Maloor's avatar
      oc_roles:support /oic/sec/roles & role assertion · 607319ee
      Kishen Maloor authored
      This change adds support for the /oic/sec/roles resource on Servers
      for role-based access-control using role certificates, as well as Client
      hooks and APIs to assert roles provisioned to it.
      As /oic/sec/roles shares its schema in large part with /oic/sec/cred,
      oc_cred has been updated so its GET/POST/DELETE handlers may also be
      used to service requests to /oic/sec/roles. With an awareness of which
      of the two resources is being currently handled, some logic
      has been added to oc_cred to perform the appropriate actions for each
      resource type. This enables reuse of existing code and flows for parsing
      requests to /oic/sec/cred for /oic/sec/roles, and checking for credid
      uniqueness, while accounting for minor behavioral differences.
      oc_sec_cred_t objects are however recorded separately for the two
      resources and oc_roles stores all roles (in oc_sec_cred_t objects) asserted
      via requests to /oic/sec/roles. Also, the encoding function for the
      /oic/sec/roles response representation is separate from that of /oic/sec/cred.
      oc_roles provides internal APIs for managing role assertions
      on the Server-side and to help assert roles on the Client-side.
      On the Server-side, all roles asserted by various Clients are
      indexed by (D)TLS session in oc_roles. As all asserted roles must be valid
      when they're used for role-based access-control, the Server-side
      stores a parsed role certificate for each role asserted in an
      associated mbedTLS object in memory which may be directly queried for
      a validity check by the access-control flow at the time of handling a
      Client request to a resource. A new void* parameter has been added to
      oc_sec_cred_t to store a handle to this mbedtls_x509_crt object.
      oc_roles automatically frees these mbedtls_x509_crt objects
      for role certificates when the role is freed.
      On the Client-side, oc_roles tracks all roles provisioned to
      the Client in its /oic/sec/cred resource by the OBT/CMS for its use. It
      provides APIs for a Client to list all roles available to it, and for
      asserting a role to a Server via a request to /oic/sec/roles.
      Change-Id: Id25dbc767141da06f65a46fad1a740da2633d15e
      Signed-off-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
      Reviewed-on: https://gerrit.iotivity.org/gerrit/27802
  7. 14 Dec, 2018 3 commits
  8. 05 Dec, 2018 4 commits
  9. 21 Nov, 2018 1 commit
  10. 06 Nov, 2018 1 commit
  11. 14 Aug, 2018 1 commit
  12. 09 Aug, 2018 1 commit
    • George Nash's avatar
      Add Unit tests, fixes, and doc for oc_base64 · 956d56a8
      George Nash authored
      This change adds unit test code for oc_base64 code.
      This uses some test vectors (input/output) obtained from RFC-4648
      While testing error conditions I found two errors that were not
      properly handled in the oc_base64_decode.
      - The input is not long enough to be a base64 encoded string.
      - The padding character `=` in not at the end of the encoded string
      Also changes inputs that represent the size of the array to size_t
      instead of int.  Since the return value is also used to detect errors
      I left it as int.
      Doxygen style documentation was added to the encode/decode functions.
      Small modification to the Makefile. It now places the object files
      before the library files. If the Linker scans the library files first
      it may not grab a dependency need for the object files. This does not
      happen if the object files are first. This modification was made
      due to an `undefined reference` error when the base64test code was
      added. This fix also made it possible to remove part of the build
      comand that was repeated. When building the apitest program.
      Change-Id: I15bda772d2a64b48e28f259059b73e4d310f419f
      Signed-off-by: George Nash's avatarGeorge Nash <george.nash@intel.com>
      Reviewed-on: https://gerrit.iotivity.org/gerrit/26605Tested-by: default avatarIoTivity Jenkins <jenkins-daemon@iotivity.org>
      Reviewed-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
  13. 01 Aug, 2018 1 commit
  14. 02 Jul, 2018 1 commit
  15. 25 Jun, 2018 1 commit
  16. 24 May, 2018 1 commit
  17. 09 May, 2018 1 commit
  18. 08 May, 2018 2 commits
  19. 07 May, 2018 3 commits
    • iot's avatar
      Add Memory Tracer for memory status in details · 52b50586
      iot authored
      It  will help developers to find out memory usuage in bytes
      to activate :  "MEMTRACE=1"   ex)  make DYNAMIC=1 IPV4=1 DEBUG=1 SECURE=0 MEMTRACE=1
      to deactivate : "MEMTRACE=0"  ex)  make DYNAMIC=1 IPV4=1 DEBUG=1 SECURE=0 MEMTRACE=0
                      omitting "MEMTRACE" brings a same result.  ex) make DYNAMIC=1 IPV4=1 DEBUG=1 SECURE=0
      If it is applied, you can see the tracing information automatically  when app is closed.
      It is not perfect yet  since it is first upload
      current known issues
        - all alloc/free functions are not traced yet
        No.  Func                        Address Size Req    Cur Peak
         1   oc_store_uri               0x1c4ac30   7 Alloc   7     7
         2   oc_core_populate_resource  0x1c4aca0 128 Alloc  135  135
         3   oc_core_init_platform      0x1c4ad80   6 Alloc  141  141
         4   oc_store_uri               0x1c4adf0   7 Alloc  148  148
         5   oc_core_populate_resource  0x1c4ae60 256 Alloc  404  404
         6   oc_core_add_new_device     0x1c4afc0  16 Alloc  420  420
         7   oc_core_add_new_device     0x1c4b030  10 Alloc  430  430
         8   oc_core_add_new_device     0x1c4b0a0  14 Alloc  444  444
         9   oc_store_uri               0x1c4b110   8 Alloc  452  452
        10   oc_core_populate_resource  0x1c4b180 128 Alloc  580  580
        11   oc_store_uri               0x1c4b260   9 Alloc  589  589
        12   oc_core_populate_resource  0x1c4b2d0 128 Alloc  717  717
        13   oc_store_uri               0x1c4b3b0  21 Alloc  738  738
        14   oc_core_populate_resource  0x1c4b420 128 Alloc  866  866
        15   oc_store_uri               0x1c4b500  18 Alloc  884  884
        16   oc_core_populate_resource  0x1c4b570 128 Alloc 1012 1012
        17   oc_concat_strings          0x1c4b9b0  14 Alloc 1026 1026
        18   oc_ri_alloc_client_cb      0x1c4baa0   9 Alloc 1035 1035
        19   oc_ri_alloc_client_cb      0x1c4bb10  14 Alloc 1049 1049
        20   oc_ri_alloc_client_cb      0x1c4c570   9 Alloc 1058 1058
        21   oc_ri_alloc_client_cb      0x1c4c590  14 Alloc 1072 1072
        22   oc_do_ip_discovery         0x1c4b9b0  14  Free 1058 1072
        23   oc_blockwise_init_buffer   0x1c4b9b0   8 Alloc 1066 1072
        24   coap_receive               0x1c4c7f0  14 Alloc 1080 1080
        25   oc_concat_strings          0x1c4c860  43 Alloc 1123 1123
        26   process_device_resources   0x1c4c860  43  Free 1080 1123
        27   oc_blockwise_free_buffer   0x1c4c7f0  14  Free 1066 1123
      Change-Id: I2be148bcdc698f69752346a272d66323b9b9063e
      Signed-off-by: default avatariot <rami.jung@samsung.com>
      Reviewed-on: https://gerrit.iotivity.org/gerrit/24569Tested-by: default avatarIoTivity Jenkins <jenkins-daemon@iotivity.org>
      Reviewed-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
      Tested-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
    • Inho Oh's avatar
      linux: Add build options to pc file · 52fc50b3
      Inho Oh authored
      Current ".PC" files do not include options applied at build time, such
      as OC_SECURITY, OC_IPV4, ... which can cause inconsistency between
      header files and actual libraries when building and running user
      This patch adds EXTRA_CFLAGS so that the options added at build time
      also apply to pc files.
      Change-Id: I12a80be107364c069409c9e121a463506c5192bc
      Signed-off-by: default avatarInho Oh <webispy@gmail.com>
      Reviewed-on: https://gerrit.iotivity.org/gerrit/25013Tested-by: default avatarIoTivity Jenkins <jenkins-daemon@iotivity.org>
      Reviewed-by: default avatarAndreas Zisowsky <zisowsky@lynxtechnology.com>
      Reviewed-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
    • Andreas Zisowsky's avatar
      Fix patch and compilation of mbedtls · db4c8672
      Andreas Zisowsky authored
      The fix resolves issues when updating an
      already patched version of mbedtls.
      Additionally, source paths were partially not
      resolved by make leading to compile failures.
      Hence, source files contain now the respective
      relative paths.
      Signed-off-by: default avatarAndreas Zisowsky <zisowsky@lynxtechnology.com>
      Change-Id: I63d471c2a99ba7cc81e66fb026e1e4f57f565b65
      Reviewed-on: https://gerrit.iotivity.org/gerrit/25029Tested-by: default avatarIoTivity Jenkins <jenkins-daemon@iotivity.org>
      Reviewed-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
      Tested-by: Kishen Maloor's avatarKishen Maloor <kishen.maloor@intel.com>
  20. 04 May, 2018 1 commit
  21. 30 Apr, 2018 2 commits
  22. 27 Apr, 2018 3 commits
  23. 19 Apr, 2018 1 commit
  24. 18 Apr, 2018 1 commit
  25. 09 Apr, 2018 1 commit
  26. 26 Mar, 2018 1 commit
  27. 18 Dec, 2017 1 commit
  28. 30 Nov, 2017 1 commit