80d493ad16
- SSL certs are no longer stored in the host database. This was done not only for security reasons but there is simply no need to do such thing anymore. - The host will longer support multiple SSL certs and will instead have just a single cert for all TCP connections. This required a change to the client header format that simply replaced the the common name with padding. The host will also no longer send the HOST_CERT type id during session initialization. HOST_CERT was also removed as a type id. - The cert and privite key are now pointed to files in the local file system by the environment variables: MRCI_PRIV_KEY and MRCI_PUB_KEY. - The host will still create a default self-signed cert if a valid cert and private key is not defined in the above environmental vars. Since the host only support single certs now, the default cert needed to be expanded to include subject alternative names. The host will try to detect it's WAN ip address using ipify.org and then assign SANs for all detected local LAN interfaces. - Since the cert is now handled by environmental vars and nothing related to it stored in the database, all the core commands related to cert management were removed.
97 lines
2.6 KiB
Prolog
97 lines
2.6 KiB
Prolog
#-------------------------------------------------
|
|
#
|
|
# Project created by QtCreator 2017-03-19
|
|
#
|
|
# This file is part of MRCI.
|
|
#
|
|
# MRCI is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# MRCI is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with MRCI under the LICENSE.md file. If not, see
|
|
# <http://www.gnu.org/licenses/>.
|
|
#
|
|
#-------------------------------------------------
|
|
|
|
QT -= gui
|
|
QT += network
|
|
QT += sql
|
|
|
|
CONFIG += console
|
|
CONFIG -= app_bundle
|
|
|
|
TARGET = mrci
|
|
|
|
win32 {
|
|
|
|
LIBS += -llibeay32 -lssleay32
|
|
|
|
} else {
|
|
|
|
LIBS += -lcrypto -lssl
|
|
|
|
}
|
|
|
|
SOURCES += src/main.cpp \
|
|
src/async_funcs.cpp \
|
|
src/cmd_object.cpp \
|
|
src/cmd_proc.cpp \
|
|
src/commands/channels.cpp \
|
|
src/commands/cmd_ranks.cpp \
|
|
src/commands/p2p.cpp \
|
|
src/mem_share.cpp \
|
|
src/module.cpp \
|
|
src/session.cpp \
|
|
src/db.cpp \
|
|
src/make_cert.cpp \
|
|
src/tcp_server.cpp \
|
|
src/unix_signal.cpp \
|
|
src/common.cpp \
|
|
src/shell.cpp \
|
|
src/db_setup.cpp \
|
|
src/commands/users.cpp \
|
|
src/commands/mods.cpp \
|
|
src/commands/info.cpp \
|
|
src/commands/cast.cpp \
|
|
src/commands/admin.cpp \
|
|
src/commands/auth.cpp \
|
|
src/commands/acct_recovery.cpp \
|
|
src/commands/table_viewer.cpp \
|
|
src/commands/fs.cpp
|
|
|
|
HEADERS += \
|
|
src/cmd_object.h \
|
|
src/cmd_proc.h \
|
|
src/commands/channels.h \
|
|
src/commands/cmd_ranks.h \
|
|
src/commands/p2p.h \
|
|
src/mem_share.h \
|
|
src/module.h \
|
|
src/session.h \
|
|
src/db.h \
|
|
src/make_cert.h \
|
|
src/tcp_server.h \
|
|
src/unix_signal.h \
|
|
src/common.h \
|
|
src/shell.h \
|
|
src/db_setup.h \
|
|
src/commands/users.h \
|
|
src/commands/mods.h \
|
|
src/commands/info.h \
|
|
src/commands/cast.h \
|
|
src/commands/admin.h \
|
|
src/commands/auth.h \
|
|
src/commands/acct_recovery.h \
|
|
src/commands/table_viewer.h \
|
|
src/commands/fs.h
|
|
|
|
RESOURCES += \
|
|
cmd_docs.qrc
|