#
# This file contains Your MToken configuration directives.
#
# NOTE!!
# All directives MUST BE written in Apache-config style!
# See https://metacpan.org/pod/Config::General#-ApacheCompatible
#
Include conf.d/*.conf
#
# Store section
#
# Section for connection with Your database. Recommended for use follow databases:
# SQLite (local, default), MySQL, PostgreSQL (pg) or Oracle
#
# SQLite example:
#<Store>
# File /tmp/test.db
# Attributes RaiseError=0; PrintError=0; sqlite_unicode=1
#</Store>
# MySQL example:
#<Store>
# DSN DBI:mysql:database=mtoken;host=mysql.example.com
# User username
# Password password
# Timeout 10
# Attributes RaiseError=0; PrintError=0; mysql_enable_utf8=1; mysql_auto_reconnect=1
#</Store>
# PostgreSQL Example
#<Store>
# DSN DBI:Pg:dbname=mtoken;host=mysql.example.com
# User username
# Password password
# Timeout 10
# Attributes RaiseError=0; PrintError=0; pg_enable_utf8=1
#</Store>
# Oracle Example
#<Store>
# DSN DBI:Oracle:MYSID
# User username
# Password password
# Timeout 10
# Attributes RaiseError=0; PrintError=0
#</Store>
#
# Client configuration
#
#
# Maximum number of redirects the user agent will follow before it fails
#
#MaxRedirects 10
#
# Maximum amount of time in seconds establishing a connection may take
# before getting canceled
#
#ConnectTimeout 10
#
# Maximum amount of time in seconds a connection can be inactive before getting closed,
#
#InactivityTimeout 30
#
# Maximum amount of time in seconds establishing a connection, sending the request
# and receiving a whole response may take before getting canceled
#
#RequestTimeout 180
#
# Server configuration
#
#
# The location to listen on, defaults to *:8642 (shortcut for http://0.0.0.0:8642).
# See also "listen" in Mojo::Server::Daemon for more examples.
#
#Listen *:8642
#
# The separated listen address. Default to * (0.0.0.0)
#
#ListenAddr *
#
# The separated listen port. Default to 8642
#
#ListenPort 8642
#
# Maximum number of connections a worker is allowed to accept, before
# stopping gracefully and then getting replaced with a newly started worker,
# defaults to the value of "accepts" in Mojo::Server::Prefork.
# Setting the value to 0 will allow workers to accept new connections
# indefinitely.
#
#Accepts 0
#
# Maximum number of accepted connections each worker process is allowed to
# handle concurrently, before stopping to accept new incoming connections,
# defaults to 100. Note that high concurrency works best with applications
# that perform mostly non-blocking operations, to optimize for blocking
# operations you can decrease this value and increase "workers" instead
# for better performance.
#
#Clients 1000
#
# Maximum number of keep-alive requests per connection, defaults to 100.
#
#Requests 100
#
# Temporarily spawn up to this number of additional workers if there
# is a need, defaults to 2. This allows for new workers to be started while
# old ones are still shutting down gracefully, drastically reducing the
# performance cost of worker restarts.
#
#Spare 2
#
# Number of worker processes, defaults to 4. A good rule of thumb is two
# worker processes per CPU core for applications that perform mostly
# non-blocking operations, blocking operations often require more and
# benefit from decreasing concurrency with "clients" (often as low as 1).
#
#Workers 4
#
# Document root directory
#
#DocumentRoot /usr/share/mtoken
#
# SSL/TLS
#
# To regenerate all required certificates run these commands (07.10.2021)
#
# CA key & CA certificate files (password=password):
#
# openssl req -new -newkey rsa:2048 -keyout ca.key -x509 -days 7300 \
# -subj "/C=ME/ST=Cetinje/L=Cetinje/O=D&D Corporation/OU=www.suffit.org/CN=Suffit CA Certificate/emailAddress=abalama@cpan.org" \
# -out ca.crt
#
# openssl genrsa -out server.key 2048
# openssl req -new -key server.key -out server.csr \
# -subj "/C=ME/ST=Cetinje/L=Cetinje/O=D&D Corporation/OU=MToken/CN=localhost/emailAddress=root@localhost"
# openssl x509 -req -days 3650 -in server.csr -out server.crt -CA ca.crt \
# -CAkey ca.key -CAcreateserial
#
# Verifications:
#
# openssl req -noout -text -in server.csr
# openssl x509 -noout -text -in server.crt
# openssl rsa -noout -text -in server.key
# openssl rsa -noout -modulus -in server.key | openssl md5
# openssl x509 -noout -modulus -in server.crt | openssl md5
#
#
# Enables or disables the TLS (https) listening, default to disabled
#
#TLS enabled
#
# Paths to TLS files. Absolute or relative paths (started from /etc/mtoken)
#
# TLS_CA - Path to TLS certificate authority file used to verify the peer certificate.
# TLS_Cert - Path to the TLS cert file, defaults to a built-in test certificate.
# TLS_Key - Path to the TLS key file, defaults to a built-in test key.
#
#TLS_CA certs/ca.crt
#TLS_Cert certs/server.crt
#TLS_Key certs/server.key
#
# TLS extra data
#
# TLS cipher specification string. For more information about the format see
# https://www.openssl.org/docs/manmaster/man1/ciphers.html#CIPHER-STRINGS.
# TLS_Verify - TLS verification mode.
# TLS_Version - TLS protocol version.
#
#TLS_Ciphers AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH
#TLS_Verify 0x00
#TLS_Version TLSv1_2
#
# Authentication credentials for private documents only
#
#Username admin
# SHA1 hash of real password: admin (default)
# To generate hashes try use command (unsecure): echo -n admin | sha1sum
#Password d033e22ae348aeb5660fc2140aec35850c4da997