=========
CCC Agile
=========


FEATURES
--------
* ndk cmake builds (C++, LLVM support, ABI)
* .aar library packaging, includes java .class files (and other resources)




WORKING
-------
* l@@k at Android Weekly emails


Milestone
^^^^^^^^^
* WolfSSL validate with JNI



BACKLOG
-------

Tasks
^^^^^
* GET THE LATEST
  - get the lastest ndk
  - get the latest gradle (see if 5.x is compatible)
  - get the latest wolfssl code
  - COMPILE!! =)

* create "update_wolfssl.sh" script to pull latest from the repository, apply patches, build wolfssl, then copy library files to a "dist" folder for usage. As of right now the build works but the generated files aren''t auto copied. It is generated by hand.
* l@@k at https://en.wikipedia.org/wiki/NTRU
* l@@k at http://facebook.github.io/conceal/
* l@@k at https://techcrunch.com/2018/10/03/googles-cyber-unit-jigsaw-introduces-intra-a-security-app-dedicated-to-busting-censorship/
* Create Multi Projects
  - nc-wc-ndk  (remove android GUI code)
  - ccc-gui-a  (android)
  - ccc-gui-i  (iOS)
  - ccc-gui-e  (electron)
  - ccc-cmd    (command line)



Milestones
^^^^^^^^^^
* JNI wrapper tests
  - RSA Public Key Generation
  - AES crypt

* normalizedcrypto
  - maybe wrap nextcrypto with a *VERY* simple API
    - new StrongestCrypt()  (post-quantum, maybe even double-wrap)
    - new Strong()          (AES_GCM_256-SHA512-RSA4096)
    - new Fastest()
    - new LossyCrypto()     



COMPLETED
---------
* TEST: add test code for JNI calls
  - tested AES, everything else should work accordingly
* combine wolfssl-lib + wolfssl-jni == ccc-ndk-jni  (not ccc-jni which would be for java)
  - TEST: check that all builds OK (ok-dokey)
  - move from bash script builds, to all gradle (cleaning and copying libs)
  - no bash builds needed because gradle is generating an .aar package
* WolfSSL compile
	- fixing CMake build
	  - discover which gradle to target --> wolfssl was main gradle app target




