Integrate current state-of-affairs into luksrku
Now integrated into the official Makefile. All functionality is broken (was for a while), but it's progress nevertheless.
This commit is contained in:
parent
20ffe38b53
commit
ecbf3827ca
31
Makefile
31
Makefile
@ -1,30 +1,24 @@
|
|||||||
.PHONY: all clean test testclient derive install
|
.PHONY: all clean test testclient install
|
||||||
all: luksrku luksrku-config
|
all: luksrku
|
||||||
|
|
||||||
BUILD_REVISION := $(shell git describe --abbrev=10 --dirty --always --tags)
|
BUILD_REVISION := $(shell git describe --abbrev=10 --dirty --always --tags)
|
||||||
INSTALL_PREFIX := /usr/local/
|
INSTALL_PREFIX := /usr/local/
|
||||||
CFLAGS := -Wall -Wextra -Wshadow -Wswitch -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Werror=implicit-function-declaration -Werror=format -Wno-unused-parameter
|
CFLAGS := -Wall -Wextra -Wshadow -Wswitch -Wpointer-arith -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Werror=implicit-function-declaration -Werror=format -Wno-unused-parameter
|
||||||
#CFLAGS := -Wall -Wextra -O2 -Wmissing-prototypes -Wstrict-prototypes
|
CFLAGS += -O3 -std=c11 -pthread -D_POSIX_SOURCE -D_XOPEN_SOURCE=500 -DBUILD_REVISION='"$(BUILD_REVISION)"'
|
||||||
CFLAGS += -std=c11 -pthread -D_POSIX_SOURCE -D_XOPEN_SOURCE=500 -DBUILD_REVISION='"$(BUILD_REVISION)"'
|
|
||||||
#CFLAGS += -g -DDEBUG
|
|
||||||
CFLAGS += `pkg-config --cflags openssl`
|
CFLAGS += `pkg-config --cflags openssl`
|
||||||
|
CFLAGS += -ggdb3 -DDEBUG -fsanitize=address -fsanitize=undefined -fsanitize=leak
|
||||||
|
|
||||||
LDFLAGS := `pkg-config --libs openssl`
|
LDFLAGS := `pkg-config --libs openssl`
|
||||||
|
|
||||||
OBJS := luksrku.o server.o log.o openssl.o client.o keyfile.o msg.o binkeyfile.o util.o cmdline.o luks.o exec.o blacklist.o
|
OBJS := luksrku.o editor.o util.o log.o keydb.o file_encryption.o uuid.o
|
||||||
OBJS_CFG := luksrku-config.o keyfile.o binkeyfile.o parse-keyfile.o openssl.o log.o util.o
|
|
||||||
|
|
||||||
install: all
|
install: all
|
||||||
strip luksrku luksrku-config
|
cp luksrku $(INSTALL_PREFIX)sbin/
|
||||||
cp luksrku luksrku-config $(INSTALL_PREFIX)sbin/
|
chown root:root $(INSTALL_PREFIX)sbin/luksrku
|
||||||
chown root:root $(INSTALL_PREFIX)sbin/luksrku $(INSTALL_PREFIX)sbin/luksrku-config
|
chmod 755 $(INSTALL_PREFIX)sbin/luksrku
|
||||||
chmod 755 $(INSTALL_PREFIX)sbin/luksrku $(INSTALL_PREFIX)sbin/luksrku-config
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJS) $(OBJS_CFG) luksrku luksrku-config
|
rm -f $(OBJS) $(OBJS_CFG) luksrku
|
||||||
|
|
||||||
valgrind: luksrku
|
|
||||||
valgrind --leak-check=full --show-leak-kinds=all ./luksrku -v --client-mode -k client_keys.bin
|
|
||||||
|
|
||||||
test: luksrku
|
test: luksrku
|
||||||
./luksrku -v --server-mode -k server_key.bin
|
./luksrku -v --server-mode -k server_key.bin
|
||||||
@ -35,15 +29,8 @@ gdb: luksrku
|
|||||||
testclient: luksrku
|
testclient: luksrku
|
||||||
./luksrku -v --client-mode -k client_keys.bin
|
./luksrku -v --client-mode -k client_keys.bin
|
||||||
|
|
||||||
derive: luksrku-config
|
|
||||||
./luksrku-config server server_key.txt server_key.bin
|
|
||||||
./luksrku-config client client_keys.txt client_keys.bin
|
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
$(CC) $(CFLAGS) -c -o $@ $<
|
$(CC) $(CFLAGS) -c -o $@ $<
|
||||||
|
|
||||||
luksrku: $(OBJS)
|
luksrku: $(OBJS)
|
||||||
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
|
$(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
|
||||||
|
|
||||||
luksrku-config: $(OBJS_CFG)
|
|
||||||
$(CC) $(CFLAGS) -o $@ $(OBJS_CFG) $(LDFLAGS)
|
|
||||||
|
14
editor.c
14
editor.c
@ -49,9 +49,9 @@ struct editor_context_t {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct editor_command_t {
|
struct editor_command_t {
|
||||||
const char *cmdnames[MAX_COMMAND_ALIAS_COUNT];
|
|
||||||
unsigned int min_params;
|
unsigned int min_params;
|
||||||
unsigned int max_params;
|
unsigned int max_params;
|
||||||
|
const char *cmdnames[MAX_COMMAND_ALIAS_COUNT];
|
||||||
const char *param_names;
|
const char *param_names;
|
||||||
const char *description;
|
const char *description;
|
||||||
enum cmd_returncode_t (*callback)(struct editor_context_t *ctx, const char *cmdname, unsigned int param_cnt, char **params);
|
enum cmd_returncode_t (*callback)(struct editor_context_t *ctx, const char *cmdname, unsigned int param_cnt, char **params);
|
||||||
@ -179,7 +179,7 @@ static const struct editor_command_t commands[] = {
|
|||||||
.description = "Dumps the raw representation of a file",
|
.description = "Dumps the raw representation of a file",
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{ { 0 } }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static void format_command(char dest[static 128], const struct editor_command_t *cmd, const char *command_name) {
|
static void format_command(char dest[static 128], const struct editor_command_t *cmd, const char *command_name) {
|
||||||
@ -548,13 +548,3 @@ void editor_start(void) {
|
|||||||
}
|
}
|
||||||
OPENSSL_cleanse(&editor_context, sizeof(editor_context));
|
OPENSSL_cleanse(&editor_context, sizeof(editor_context));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __TEST_EDITOR__
|
|
||||||
// gcc -O3 -ggdb3 -DDEBUG -D_POSIX_SOURCE -Wall -std=c11 -Wmissing-prototypes -Wstrict-prototypes -Werror=implicit-function-declaration -Wimplicit-fallthrough -Wshadow -pie -fPIE -fsanitize=address -fsanitize=undefined -fsanitize=leak -o editor editor.c util.c log.c keydb.c file_encryption.c uuid.c -lcrypto && ./editor
|
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
|
||||||
editor_start();
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
2
keydb.h
2
keydb.h
@ -49,7 +49,7 @@ struct host_entry_t {
|
|||||||
struct keydb_t {
|
struct keydb_t {
|
||||||
unsigned int keydb_version;
|
unsigned int keydb_version;
|
||||||
bool server_database;
|
bool server_database;
|
||||||
int host_count;
|
unsigned int host_count;
|
||||||
struct host_entry_t hosts[];
|
struct host_entry_t hosts[];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -25,13 +25,8 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "server.h"
|
|
||||||
#include "client.h"
|
|
||||||
#include "openssl.h"
|
#include "openssl.h"
|
||||||
#include "binkeyfile.h"
|
|
||||||
#include "cmdline.h"
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
#include "keyfile.h"
|
|
||||||
|
|
||||||
#if OPENSSL_VERSION_NUMBER < 0x010100000
|
#if OPENSSL_VERSION_NUMBER < 0x010100000
|
||||||
#error "luksrku requires at least OpenSSL v1.1 to work."
|
#error "luksrku requires at least OpenSSL v1.1 to work."
|
||||||
@ -42,6 +37,7 @@ int main(int argc, char **argv) {
|
|||||||
fprintf(stderr, "WARNING: This has been compiled in DEBUG mode and uses reduced security.\n");
|
fprintf(stderr, "WARNING: This has been compiled in DEBUG mode and uses reduced security.\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
struct options_t options;
|
struct options_t options;
|
||||||
if (!parse_cmdline_arguments(&options, argc, argv)) {
|
if (!parse_cmdline_arguments(&options, argc, argv)) {
|
||||||
print_syntax(argv[0]);
|
print_syntax(argv[0]);
|
||||||
@ -108,6 +104,7 @@ int main(int argc, char **argv) {
|
|||||||
if (!success) {
|
if (!success) {
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
2
util.c
2
util.c
@ -176,7 +176,7 @@ bool array_remove(void *base, unsigned int element_size, unsigned int element_co
|
|||||||
|
|
||||||
/* Then, wipe the last element */
|
/* Then, wipe the last element */
|
||||||
const unsigned int last_element_offset = element_size * (element_count - 1);
|
const unsigned int last_element_offset = element_size * (element_count - 1);
|
||||||
memset(base + last_element_offset, 0, element_size);
|
memset(bytebase + last_element_offset, 0, element_size);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user