aboutsummaryrefslogtreecommitdiff
path: root/src/protocol.c
AgeCommit message (Collapse)Author
2021-07-12Impl proone-htbtclient, bugfix, --enable-mttoolsDavid Timber
* Remove --enable-hostinfod and add --enable-mttools, which enables hostinfod and htbtclient * Change PRNE_HTBT_PROTO_PORT so that the macro can be used in another macro expression(for help message) * Add prne_mbedtls_perror() * proone-htbtclient: implement hostinfo command * proone-htbthost * Add --hostcred option * Response with status frame on ENOMEM * htbt: add prne_htbt_serrc_tostr() and prne_htbt_gen_msgid() * Add prne_ctoupper(), prne_ctolower(), prne_cisspace(), prne_cisprint() * The added functions are the locale-independent equivalent of their POSIX counterparts * Remove Use of the POSIX functions * Add test unit
2021-04-13Debug and impl htbtDavid Timber
* Add debug prints in htbt * Add `prne_htbt_op_tostr()` * Add "Lock Matrix" to throttle hover request from CNC TXT REC and NYBIN race condition * Fix bug where htbt slave does not reset socket operation timeout timer when there's multiple frames in the line * Reserve `PRNE_HTBT_OP_GET_BIN` and `PRNE_HTBT_OP_BIN` for future impl
2021-04-09Impl hostinfod, bug fix and moreDavid Timber
* Merge /src/data/sql/hi-create.sql and /src/data/sql/hi-view.sql * Fix false failure when allocation size is zero * Add "FIXME" comment where it is not clear whether zero size is normal case. * Fix typo in /src/proone-bne.c * "proone-htbthost": always verify ALPN * Fix crash bug in `prne_htbt_dser_host_info()`
2020-10-20Impl hostinfod and extras ...David Timber
* Use EOVERFLOW instead of E2BIG * Add prne_iobuf_zero() * Fix format check logic error in prne_htbt_ser_msg_head() * Add prne_dup_str() * Add prne_timespec_ms()
2020-09-28The 80 column rule ...David Timber
* Remove prne_rnd_anum_str()
2020-09-27* Disable armv7, aarch64, x86_64 targetDavid Timber
* Apply recon and bne to proone * Add callback contexts on htbt and bne * Fix mem leak in bne_sh_cleanup_upload() * Use prne_static_assert() instead of _Static_assert() * Use prne_free_worker() rather than calling free_ctx() * Add prne_eq_ipaddr() * bne * Add prne_bne_result::ny_instance to impl infect_cnt * Don't delete tmp upload dir after successful bne_sh_run_exec() so that proone can make tmp files * Silently ignore PRNE_BNE_V_HTBT if htbt_ssl_conf is not set * Add prne_bne_get_subject() * htbt * Fix crash bug when running without resolv * proone: set pth priority
2020-09-07* Impl: proone-packDavid Timber
* Impl: host_cred (base64)
2020-09-04* Revision htbt_host_cred formatDavid Timber
* Rewrite proto_test accordingly
2020-09-02Impl: PRNE_HTBT_OP_HOVERDavid Timber
2020-08-31Impl run_binDavid Timber
2020-08-30* Impl run_cmdDavid Timber
* Add prne_htbt_hover_t * Add run_cmd test data
2020-08-29* _POSIX_C_SOURCE=199506LDavid Timber
* Add proone-htbthost * Add prne_iobuf, use it in resolv, htbt * memzero() -> prne_memzero() now as a function * Add prne_mbedtls_pth_handle() * Protocol changes * Remove prne_unint_*() * Add src/proone_conf.skel
2020-08-24* htbt checkpointDavid Timber
* Change PRNE_BUILD_ENTROPY to uint8_t array * endian.h problem * Remove "-I." CFLAG added by Automake () * Moved endian conversion macros to endian.h * Moved DNS server config from config.h to resolv.h to reduce compile time * Refactor resolv_ensure_act_dns_fd() to reduce binary size
2020-08-21Protocol change ...David Timber
* Add series of macros for protocol: prne_getmsbN() and prne_recmb_msgN() * Bugfix: prne_nstreq() * Protocol changes * prne_htbt_host_info.rerun_cnt -> prne_htbt_host_info.crash_cnt * prne_htbt_host_info.host_cred_len: range 0 - 255 * prne_htbt_host_info.host_cred is now base64 string * prne_htbt_bin_meta.args_len: 16bit to 12bit * Rest reserved bits * And PRNE_HTBT_ARG_MEM_MAX is set to 4095
2020-08-20Progress ...David Timber
* Move DVault out of executable. Dynamically load it on startup * Improved testing scheme * Tidy up prne_*assert* macro series * Protocol: store host credentials in base64 string. No mask * Use the lock shm as a shared_global so the stats can persist * mmap() the executable read-only for later use
2020-08-17Employ pthsem ...David Timber
* Use uint8_t array for hardcoded binary data * Add proone-ipaddr-arr to hardcode DoT servers * Convert X509 data * Brought back M68k and ARC archs just in case * Add CLOCK_REALTIME in prne_mbedtls_entropy_proc_src_f for more entropy * Remove installation of signal handlers. Use sigwait() instead * Bugfix: prne_rnd_anum_str() returned null characters * Add prne_dbgpf() and prne_dbgperr() * prne_assert(): put errno into a register so it's visible in the core dump
2020-08-10Changes for xcomp ...David Timber
* Add 'pthsem' dependency * Remove m68k, spc arch * Add proone-stress, proone-arch-test
2020-03-03htbt protocol prototype ...David Timber
* gen `PRNE_BUILD_ENTROPY` on configure * `PRNE_PROG_VER` bin str -> arr str * added null checked str func `prne_nstreq()`, `prne_nstrlen()` * preserve `errno` in signal handlers
2020-01-15unexpandDavid Timber
2020-01-11staged resolv_workerDavid Timber
* replaced RNG from `rnd` to `mbedtls_ctr_drbg` * use of `uint_fastN_t` where appropriate * heartbeat protocol draft * improved worker scheduling mech
2020-01-04musl + mbedtls!David Timber
2020-01-01checkpointDavid Timber