1
0
mirror of https://github.com/CPunch/Laika.git synced 2025-10-01 22:10:05 +00:00

Added LibSodium, new tools/, genKey, sLaika_peer::type

- sLaika_peer has a new member, (PEERTYPE)type
- LibSodium dependency added
This commit is contained in:
2022-01-27 13:36:36 -06:00
parent af05611914
commit 203b5ce38f
18 changed files with 946 additions and 6 deletions

View File

@@ -14,15 +14,19 @@ project(LaikaLib VERSION ${LAIKA_VERSION_MAJOR}.${LAIKA_VERSION_MINOR})
# Put CMake targets (ALL_BUILD/ZERO_CHECK) into a folder
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(sodium_USE_STATIC_LIBS)
find_package(Sodium)
# compile LaikaLib library
file(GLOB_RECURSE LIBSOURCE ${CMAKE_CURRENT_SOURCE_DIR}/src/**.c)
add_library(LaikaLib STATIC ${LIBSOURCE})
target_link_libraries(LaikaLib PRIVATE ${sodium_LIBRARY_RELEASE})
# add the version definitions and the 'DEBUG' preprocessor definition if we're compiling as Debug
target_compile_definitions(LaikaLib PUBLIC LAIKA_VERSION_MAJOR=${LAIKA_VERSION_MAJOR} LAIKA_VERSION_MINOR=${LAIKA_VERSION_MINOR} "$<$<CONFIG:Debug>:DEBUG>")
# add include directory
target_include_directories(LaikaLib PUBLIC ${LIB_INCLUDEDIR})
target_include_directories(LaikaLib PUBLIC ${LIB_INCLUDEDIR} ${sodium_INCLUDE_DIR})
# set library name
set_target_properties(LaikaLib PROPERTIES OUTPUT_NAME laika-${LAIKA_VERSION_MAJOR}.${LAIKA_VERSION_MINOR})

View File

@@ -11,7 +11,7 @@
#define ARRAY_START 4
#ifdef DEBUG
#define LAIKA_DEBUG(...) printf(__VA_ARGS__);
#define LAIKA_DEBUG(...) printf("[~] " __VA_ARGS__);
#else
#define LAIKA_DEBUG(...)
#endif

View File

@@ -6,6 +6,12 @@
#include "lpacket.h"
#include "lpolllist.h"
typedef enum {
PEER_BOT,
PEER_CNC, /* cnc 2 cnc communication */
PEER_AUTH /* authorized peers can send commands to cnc */
} PEERTYPE;
struct sLaika_peer {
struct sLaika_socket sock; /* DO NOT MOVE THIS. this member HAS TO BE FIRST so that typecasting sLaika_peer* to sLaika_sock* works as intended */
struct sLaika_pollList *pList; /* pollList we're active in */
@@ -14,6 +20,7 @@ struct sLaika_peer {
LAIKAPKT_SIZE *pktSizeTable; /* const table to pull pkt size data from */
LAIKAPKT_SIZE pktSize; /* current pkt size */
LAIKAPKT_ID pktID; /* current pkt ID */
PEERTYPE type;
bool setPollOut; /* is EPOLLOUT/POLLOUT is set on sock's pollfd ? */
};

6
lib/include/lrsa.h Normal file
View File

@@ -0,0 +1,6 @@
#ifndef LAIKA_RSA_H
#define LAIKA_RSA_H
#include "sodium.h"
#endif