MRCI/MRCI.pro
Maurice O'Neal c8f53d1e5c Slimmed down and simplified host administering
- I decided to remove the entire concept of a root user.
  Instead, the host initializes as a blank slate and it
  will be up to the host admin to create a rank 1 user via
  the new command line option "-add_admin" to do initial
  setup with.

- There is no longer such a concept as a protected user.
  Meaning even the last rank 1 user in the host database
  is allowed to delete or modify the rank of their own
  account. To prevent permanent "admin lock out" in this
  scenario the "-elevate" command line option was created.

- Host settings are no longer stored in the database.
  Instead, host settings are now stored in a conf.json file
  in /etc/mrci/conf.json if running on a linux based OS or
  in %Programdata%\mrci\conf.json if running on Windows.

- Email templates are no longer stored in the database.
  Instead, the templates can be any file formatted in UTF-8
  text stored in the host file system. The files they point
  to can be modified in the conf.json file.

- The conf file also replaced all use env variables so
  MRCI_DB_PATH, MRCI_WORK_DIR, MRCI_PRIV_KEY and
  MRCI_PUB_KEY are no longer in use. SSL/TLS cert paths can
  be modified in the conf file.

- Removed email template cmds set_email_template and
  preview_email.

- Also removed cmds close_host, host_config and
  restart_host. The actions these commands could do is best
  left to the host system command line.

- The database class will now explicitly check for write
  permissions to the database and throw an appropriate
  error message if the check fails. "DROP TABLE" SQL
  abilities were added to make this happen.

- Removed async cmds exit(3), maxses(5) and restart(11).
2020-11-10 14:47:00 -05:00

106 lines
2.9 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 -= app_bundle
CONFIG += console
win32 {
LIBS += -llibcrypto -llibssl
TARGET = mrci
DESTDIR_TARGET = build\\windows\\mrci.exe
OBJECTS_DIR = build\\windows
MOC_DIR = build\\windows
RCC_DIR = build\\windows
DESTDIR = build\\windows
} else {
LIBS += -lcrypto -lssl
TARGET = build/linux/mrci
OBJECTS_DIR = build/linux
MOC_DIR = build/linux
RCC_DIR = build/linux
}
SOURCES += src/main.cpp \
src/applink.c \
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/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/auth.h \
src/commands/acct_recovery.h \
src/commands/table_viewer.h \
src/commands/fs.h
RESOURCES += \
cmd_docs.qrc