diff options
Diffstat (limited to 'tests/end_to_end')
-rw-r--r-- | tests/end_to_end/mammond.conf | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/tests/end_to_end/mammond.conf b/tests/end_to_end/mammond.conf new file mode 100644 index 0000000..a9c7d43 --- /dev/null +++ b/tests/end_to_end/mammond.conf @@ -0,0 +1,269 @@ +# The server object defines the server information parameters. +server: + # name - the server name + name: "irc.localhost" + + # description - the description of the server on the network + description: "Test server for biboumi" + + # network - the NETWORK= name in 005 for rfc1459 clients + network: "irc.localhost" + + # recvq_len - the maximum number of lines that can be in a client's recvq + recvq_len: 20 + + # motd - the motd content (will later be file) + motd: + - "Default MOTD" + + +# The clients object defines client parameters +clients: + # ping_frequency - client ping frequency + ping_frequency: + minutes: 1 + + # ping_timeout - ping timeout length + ping_timeout: + minutes: 2 + + +# The data object defines the data store parameters +data: + + ## JSON should only be considered for testing + # format - data store type + format: "json" + + # filename - data store filename + filename: ".mammon.data.json" + + # save_frequency - save the database every this amount of time + save_frequency: + minutes: 5 + + +# The listeners object is a list of listeners. +listeners: +- {"host": "0.0.0.0", "port": 6667, "ssl": false, "certfile": "~/workspace/biboumi/cert.pem", "keyfile": "~/workspace/biboumi/key.pem", } + + +# The logs section is a list of logs. +logs: +- { + # path - the path of the logfile + "path": "mammond.log", + + # level - the log level of the file + "level": "debug" + } + + +# Limits define maximum lengths for various commands and objects +# to remove a limit, simply comment it out +limits: + # user - maximum length of usernames + user: 10 + + # nick - maximum length of nicknames + nick: 50 + + # channel - maximum length of channel names + channel: 200 + + # topic - maximum length of channel topics + topic: 400 + + # line - maximum length of lines in and out + line: 2048 + + +# The register object defines registration information +register: + + # verify_timeout - length of time a user has to verify their newly-created + # account before it can be re-registered + verify_timeout: + days: 5 + + # enabled_callbacks - callbacks that we allow + enabled_callbacks: + # - mailto + # - none # no verification required, will instantly register successfully + + # callbacks - types and details for various callback methods + callbacks: + + # mailto - email using sendmail + mailto: + # from - address our messages get sent from + from: mammon@example.com + + # sendmail - location of the sendmail binary + sendmail: /usr/sbin/sendmail + + # verify_message_subject - subject of the verify message + verify_message_subject: "{network_name} Account Registration" + + # verify_message - message sent to users to verify their account + verify_message: | + Hi, + + You have requested to register the account {account}. + + Your verification code is {auth_code} + + Please type "/quote REG VERIFY {account} {auth_code}" to complete registration + + Thank you, + {network_name} +# Roles define the capabilities an oper may have, as well as role-specific +# metadata. + + # mammon capability names: + # oper:local_kill allows /KILLing local users + # oper:global_kill allows /KILLing local and remote users + # oper:routing allows remote SQUIT and CONNECT + # oper:kline allows KLINE and DLINE + # oper:unkline allows UNKLINE and UNDLINE + # oper:remote_ban allows remote klines + # oper:rehash allows REHASH of server config + # oper:die allows DIE and RESTART + +roles: + # name - the name of the privilege set + "local_op": + # capabilities - a list of qualified capability names + capabilities: + - oper:local_kill + - oper:kline + - oper:unkline + - metadata:set_local + + # metakeys_get - metadata keys this role can view + metakeys_get: + # - spammer_probability + + # title - metadata identifying the specific role + title: "IRC Operator" + + # name - the name of the privilege set + "global_op": + # extends - inherets this role's capabilities + extends: "local_op" + + # capabilities - a list of qualified capability names + capabilities: + - oper:global_kill + - oper:remote_ban + - metadata:set_global + + # title - metadata identifying the specific role + title: "IRC Operator" + + # name - the name of the privilege set + "network_admin": + # capabilities - a list of qualified capability names + capabilities: + - oper:global_kill + - oper:routing + + # title - metadata identifying the specific role + title: "Network Administrator" + + # name - the name of the privilege set + "server_admin": + # extends - inherets this role's capabilities + extends: "local_op" + + # capabilities - a list of qualified capability names + capabilities: + - oper:rehash + - oper:die + + # title - metadata identifying the specific role + title: "Server Administrator" + + # example metadata-specific roles + # name - the name of the privilege set + "spam_detection_bot": + # capabilities - a list of qualified capability names + capabilities: + - metadata:set_global + + # metakeys_access - metadata keys this role can view and set + metakeys_access: + - spammer_probability + + # title - metadata identifying the specific role + title: "Spam Detection Bot" + + +# Metadata defines the metadata users are allowed to set for themselves +metadata: + # limit - max number of metadata each target is allowed to have + # comment out to remove limit + limit: 20 + + # whitelist - if defined, a list of lowercase keys that are checked when users set data + whitelist: + - avatar + - info + - source + - url + - version + + # restricted_keys - keys that unprived users cannot see / edit, and require a + # special entry in a ROLE to see / edit + restricted_keys: + - away + # - spammer_probability + + +# Monitor defines the monitoring users are allowed to do on other users +monitor: + # limit - max number of 'monitors' each target is allowed to have + # comment out to remove limit + limit: 20 + + +# Operator credentials allow a user to transition from a typical user role +# to a privileged role. +opers: + # name - the name of the operator + "nobody": + # password - the plaintext oper password + password: "nothing" + + # hostmask - if defined, the hostmask the oper must connect from + hostmask: "*@localhost" + + # role - the role that the credentials allow transition to + role: "local_op" + + # name - the name of the operator + "somebody": + # password - the hashed oper password + # created by: mammond --mkpasswd + password: "$6$rounds=100000$KkEHFBhWHV3BHCCS$YuOdlikJHdeIv2YpwvyLAtYCslDlsnUUnrfeKJiBh4SeVhkSU6pQqHWWDjr6lnalkkf1KLDD1wgSQH5AObILQ1" + + # hash - the hashing algorithm to use + hash: "sha512_crypt" + + # hostmask - if defined, the hostmask the oper must connect from + hostmask: "somebody!*@localhost" + + # role - the role that the credentials allow transition to + role: "local_op" + + +# The extensions section is a list of extension modules to load. +extensions: +- mammon.ext.rfc1459.42 +- mammon.ext.rfc1459.ident +- mammon.ext.ircv3.account_notify +- mammon.ext.ircv3.server_time +- mammon.ext.ircv3.echo_message +- mammon.ext.ircv3.register +- mammon.ext.ircv3.sasl +- mammon.ext.misc.nopost
\ No newline at end of file |