aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Dessaux2019-02-14 20:48:20 +0100
committerJulien Dessaux2019-02-14 20:48:20 +0100
commit9399ff045d40a72c8ec90db3d07d1877ee2b3be3 (patch)
treedf1a40330acea568c9de2b3daf1166a30fad8dee
parentImplemented session id management and session logs in database (diff)
downloadbastion-9399ff045d40a72c8ec90db3d07d1877ee2b3be3.tar.gz
bastion-9399ff045d40a72c8ec90db3d07d1877ee2b3be3.tar.bz2
bastion-9399ff045d40a72c8ec90db3d07d1877ee2b3be3.zip
Switched from standard makefile to cmake
-rw-r--r--.gitignore3
-rw-r--r--CMakeLists.txt14
-rw-r--r--GNUmakefile32
-rw-r--r--config.h4
-rw-r--r--src/CMakeLists.txt9
5 files changed, 26 insertions, 36 deletions
diff --git a/.gitignore b/.gitignore
index a8ff552..b639341 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,6 @@
bastion
-libssh/
+build
id_rsa
ssh_host_*_key
test_client.c
-*.[do]
*.sw[a-p]
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..d3234c1
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,14 @@
+cmake_minimum_required (VERSION 3.0)
+project (bastion LANGUAGES C VERSION 0.1)
+
+set(CMAKE_VERBOSE_MAKEFILE FALSE)
+set(CMAKE_BUILD_TYPE DEBUG)
+
+set(CMAKE_C_FLAGS "-Wall -Werror -Wextra -pedantic")
+set(CMAKE_C_FLAGS_DEBUG "-g -ggdb -pg -fsanitize=address")
+set(CMAKE_C_FLAGS_RELEASE "-Os")
+set(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os -g")
+
+option(LIBSSH_VERBOSE_OUTPOUT "whether or not verbose output for libssh mode is activated" OFF)
+
+add_subdirectory(src)
diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100644
index 2de00cf..0000000
--- a/GNUmakefile
+++ /dev/null
@@ -1,32 +0,0 @@
-CC=clang
-DEBUG=-g -fsanitize=address
-CFLAGS= ${DEBUG} -Wall -Werror -Wextra -Weverything -Wno-disabled-macro-expansion
-
-sources=$(wildcard src/*.c)
-OBJ=$(sources:.c=.o)
-
-all: bastion
-
-bastion: $(OBJ)
- $(CC) ${DEBUG} -o bastion $(OBJ) -lssh -lutil -ltty -lmysqlclient
-
-clean:
- $(RM) bastion *.[do] src/*.[do]
-
-%.o: %.c
- $(CC) -c $(CFLAGS) $*.c -o $*.o
- $(CC) -MM $(CFLAGS) $*.c > $*.d
- @mv -f $*.d $*.d.tmp
- @sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d
- @sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
- @rm -f $*.d.tmp
-
-# You must compile without -fsanitize=address to use valgrind
-valgrind:
- valgrind --leak-check=full --show-leak-kinds=all --trace-children=yes --suppressions=${HOME}/.valgrind_suppressions ./bastion
- #valgrind -v --leak-check=full --show-leak-kinds=all --trace-children=yes --suppressions=${HOME}/.valgrind_suppressions --gen-suppressions=yes ./bastion
-
-debug:
- ASAN_OPTIONS=allow_user_segv_handler=true:detect_leaks=true:fast_unwind_on_malloc=0:check_initialization_order=1:suppressions=asan.supp \
- ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-6.0/bin/llvm-symbolizer \
- ./bastion
diff --git a/config.h b/config.h
index 18815e8..2823095 100644
--- a/config.h
+++ b/config.h
@@ -9,8 +9,8 @@
#define RSAKEY_PATH "./ssh_host_rsa_key"
#define ECDSAKEY_PATH "./ssh_host_ecdsa_key"
-#define MYSQL_HOST "::"
-#define MYSQL_USER "root"
+#define MYSQL_HOST "localhost"
+#define MYSQL_USER "sshportal"
#define MYSQL_PASS "graou"
#define MYSQL_DB "sshportal"
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..f885850
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,9 @@
+include_directories("${bastion_SOURCE_DIR}/termrec/libtty/")
+
+file(GLOB_RECURSE SOURCES *.c)
+
+add_executable(bastion ${SOURCES})
+add_library(libtty.a STATIC IMPORTED)
+set_property(TARGET libtty.a PROPERTY IMPORTED_LOCATION "${bastion_SOURCE_DIR}/libtty.a")
+target_link_libraries(bastion libtty.a)
+target_link_libraries(bastion bz2 curl lzma mysqlclient pthread ssh z)