ION-DTN LTP Authentication Extensions Decoupling - Extension Assembly

Register
Submit a solution
The challenge is finished.

Challenge Overview

The Office of Space Communications and Navigation (SCaN) at NASA Headquarters leads the Delay Tolerant Networking (DTN) investigation with the goal of advancing the maturity and heritage (space flight use) of the DTN communication protocols.

Delay tolerant networks make use of store-and-forward techniques within the network in order to compensate for intermittent link connectivity. In the DTN the fundamental concept is an architecture based on Internet-independent middleware where protocols at all layers are used that best suit the operation within each environment, with a new overlay network protocol (bundle protocol) inserted between the applications and the locally optimized communications stacks.

This architecture aims to decouple the LTP authentication extension handling code from the core LTP protocol library, and introduce a generic library to support LTP extensions.

This assembly is responsible to implement general LTP extension library and the concrete LTP extension support library for LTP authentication extension. It is responsible for the following code changes shown on TCUML "ION-DTN LTP Authentication - Decouping Extension Code Changes Diagram":

  • All changes within "LTP Extension Library Code " package.
  • All changes within "LTP Authentication Extension Support Library Code"
  • The following items within "LTP Core Protocol Code" package (since they're needed by LTP Authentication Extension Support Library)
    • Changes of LtpPdu.
    • serializeLtpExtensionField function in libltpP.c

Implementation details are provided at TCUML method documentations.

  • You must ensure the fixes mentioned in Design Specification, section 3.2 (RSA Public/Private key Issues) are implemented.


Final Submission Guidelines

Main deliverables:

  • Updated Source Code
  • Deployment guide explaining how to build, configure and verify the application.
     

Test:

No need to update test suites at this moment. You just need to make sure it compiles.

Source Code Comments:

  • There will be no strict rule for source code comments for functions. Use mainly inline comments, wisely.

Environment:

  • Linux (Ubuntu 12.04.3 LTS is recommend)
  • C
  • GCC (latest stable version 4.8.1 is recommended)
  • Make (latest stable version 3.82 is recommended)
  • Python (latest 2.x stable version 2.7.5 is recommend)
  • ION-DTN 3.1.3
  • PolarSSL 1.2.8

Deployment Instructions:

Assemblers can code in a local Ubuntu environment since only loopback connection is needed to validate the configuration. Attached you can find a document with instructions on how to setup ION-DTN. It is applicable for VMs, but it should be easily adapted for local environments. You can also follow ION-DTN tutorials from the source code distribution.

Request VM with ION-DTN and Python LTP if needed. Send email to romanotc@copilots.topcoder.com

 

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30039347