Mercurial > p > roundup > code
diff website/issues/config.ini @ 5290:33e1cf136f1d
Updated with new config settings and updated docs.
Also changed subject prefix/suffix parsing to loose so a subject with
a bracketed expression that is not parsible by the system will just be
passed through. We have had a couple of occasions where we had a
reject that should have been passed.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sun, 24 Sep 2017 21:14:12 -0400 |
| parents | c2d0d3e9099d |
| children | b48e2fe4a7bd |
line wrap: on
line diff
--- a/website/issues/config.ini Sun Sep 24 19:22:14 2017 -0400 +++ b/website/issues/config.ini Sun Sep 24 21:14:12 2017 -0400 @@ -1,42 +1,54 @@ # Roundup issue tracker configuration file -# Autogenerated at Fri Nov 17 16:59:49 2006 +# Autogenerated at Wed Sep 20 20:03:15 2017 # WARNING! Following options need adjustments: -# [mail]: domain, host -# [tracker]: web +# [mail]: host [main] # Database directory path. # The path may be either absolute or relative -# to the directory containig this config file. +# to the directory containing this config file. # Default: db database = db +# Templating engine to use. +# Possible values are 'zopetal' for the old TAL engine +# ported from Zope, or 'chameleon' for Chameleon. +# Default: zopetal +template_engine = zopetal + # Path to the HTML templates directory. # The path may be either absolute or relative -# to the directory containig this config file. +# to the directory containing this config file. # Default: html templates = html -# Path to directory holding additional static files -# available via Web UI. This directory may contain -# sitewide images, CSS stylesheets etc. and is searched -# for these files prior to the TEMPLATES directory -# specified above. If this option is not set, all static -# files are taken from the TEMPLATES directory -# The path may be either absolute or relative -# to the directory containig this config file. +# A list of space separated directory paths (or a single +# directory). These directories hold additional static +# files available via Web UI. These directories may +# contain sitewide images, CSS stylesheets etc. If a '-' +# is included, the list processing ends and the TEMPLATES +# directory is not searched after the specified +# directories. If this option is not set, all static +# files are taken from the TEMPLATES directory. +# The space separated paths may be either absolute or +# relative to the directory containing this config file. # Default: static_files = -# Email address that roundup will complain to if it runs into trouble. +# Email address that roundup will complain to if it runs +# into trouble. +# If no domain is specified then the config item +# mail -> domain is added. # Default: roundup-admin admin_email = admin@issues.roundup-tracker.org # The 'dispatcher' is a role that can get notified # of new items to the database. # It is used by the ERROR_MESSAGES_TO config setting. +# If no domain is specified then the config item +# mail -> domain is added. # Default: roundup-admin dispatcher_email = admin@issues.roundup-tracker.org @@ -90,6 +102,13 @@ # Default: yes email_registration_confirmation = yes +# Force Roundup to use a particular text indexer. +# If no indexer is supplied, the first available indexer +# will be used in the following order: +# Possible values: xapian, whoosh, native (internal). +# Default: +indexer = + # Additional stop-words for the full-text indexer specific to # your tracker. See the indexer source for the default list of # stop-words (eg. A,AND,ARE,AS,AT,BE,BUT,BY, ...) @@ -101,6 +120,33 @@ # Default: 02 umask = 02 +# Maximum size of a csv-field during import. Roundups export +# format is a csv (comma separated values) variant. The csv +# reader has a limit on the size of individual fields +# starting with python 2.5. Set this to a higher value if you +# get the error 'Error: field larger than field limit' during +# import. +# Default: 131072 +csv_field_size = 131072 + +# Sets the default number of rounds used when encoding passwords +# using the PBKDF2 scheme. Set this to a higher value on faster +# systems which want more security. +# PBKDF2 (Password-Based Key Derivation Function) is a +# password hashing mechanism that derives hash from the +# password and a random salt. For authentication this process +# is repeated with the same salt as in the stored hash. +# If both hashes match, the authentication succeeds. +# PBKDF2 supports a variable 'rounds' parameter which varies +# the time-cost of calculating the hash - doubling the number +# of rounds doubles the cpu time required to calculate it. The +# purpose of this is to periodically adjust the rounds as CPUs +# become faster. The currently enforced minimum number of +# rounds is 1000. +# See: http://en.wikipedia.org/wiki/PBKDF2 and RFC2898 +# Default: 10000 +password_pbkdf2_default_rounds = 10000 + [tracker] # A descriptive name for your roundup instance. @@ -116,9 +162,26 @@ web = http://issues.roundup-tracker.org/ # Email address that mail to roundup should go to. +# If no domain is specified then mail_domain is added. # Default: issue_tracker email = issues@roundup-tracker.org +# Controls the reply-to header address used when sending +# nosy messages. +# If the value is unset (default) the roundup tracker's +# email address (above) is used. +# If set to "AUTHOR" then the primary email address of the +# author of the change will be used as the reply-to +# address. This allows email exchanges to occur outside of +# the view of roundup and exposes the address of the person +# who updated the issue, but it could be useful in some +# unusual circumstances. +# If set to some other value, the value is used as the reply-to +# address. It must be a valid RFC2822 address or people will not be +# able to reply. +# Default: +replyto_address = + # Default locale name for this tracker. # If this option is not set, the language is determined # by OS environment variable LANGUAGE, LC_ALL, LC_MESSAGES, @@ -128,6 +191,14 @@ [web] +# Setting this option enables Roundup to serve uploaded HTML +# file content *as HTML*. This is a potential security risk +# and is therefore disabled by default. Set to 'yes' if you +# trust *all* users uploading content to your tracker. +# Allowed values: yes, no +# Default: no +allow_html_file = no + # Whether to use HTTP Basic Authentication, if present. # Roundup will use either the REMOTE_USER or HTTP_AUTHORIZATION # variables supplied by your web server (in that order). @@ -137,6 +208,120 @@ # Default: yes http_auth = yes +# Set the mode of the SameSite cookie option for +# the session cookie. Choices are 'Lax' or +# 'Strict'. 'None' can be used to suppress the +# option. Strict mode provides additional security +# against CSRF attacks, but may confuse users who +# are logged into roundup and open a roundup link +# from a source other than roundup (e.g. link in +# email). +# Allowed values: Strict, Lax, None +# Default: Lax +samesite_cookie_setting = Lax + +# How do we deal with @csrf fields in posted forms. +# Set this to 'required' to block the post and notify +# the user if the field is missing or invalid. +# Set this to 'yes' to block the post and notify the user +# if the token is invalid, but accept the form if +# the field is missing. +# Set this to 'logfailure' to log a notice to the roundup +# log if the field is invalid or missing, but accept +# the post. +# Set this to 'no' to ignore the field and accept the post. +# +# Allowed values: required, yes, logfailure, no +# Default: yes +csrf_enforce_token = required + +# csrf_tokens have a limited lifetime. If they are not +# used they are purged from the database after this +# number of minutes. Default (20160) is 2 weeks. +# Default: 20160 +csrf_token_lifetime = 10080 + +# This is only used for xmlrpc requests. This test is +# done after Origin and Referer headers are checked. It only +# verifies that the X-Requested-With header exists. The value +# is ignored. +# Set this to 'required' to block the post and notify +# the user if the header is missing or invalid. +# Set this to 'yes' is the same as required. +# Set this to 'logfailure' is the same as 'no'. +# Set this to 'no' to ignore the header and accept the post. +# Allowed values: required, yes, logfailure, no +# Default: yes +csrf_enforce_header_x-requested-with = yes + +# Verify that the Referer http header matches the +# tracker.web setting in config.ini. +# Set this to 'required' to block the post and notify +# the user if the header is missing or invalid. +# Set this to 'yes' to block the post and notify the user +# if the header is invalid, but accept the form if +# the field is missing. +# Set this to 'logfailure' to log a notice to the roundup +# log if the header is invalid or missing, but accept +# the post. +# Set this to 'no' to ignore the header and accept the post. +# Allowed values: required, yes, logfailure, no +# Default: yes +csrf_enforce_header_referer = yes + +# Verify that the Origin http header matches the +# tracker.web setting in config.ini. +# Set this to 'required' to block the post and notify +# the user if the header is missing or invalid. +# Set this to 'yes' to block the post and notify the user +# if the header is invalid, but accept the form if +# the field is missing. +# Set this to 'logfailure' to log a notice to the roundup +# log if the header is invalid or missing, but accept +# the post. +# Set this to 'no' to ignore the header and accept the post. +# Allowed values: required, yes, logfailure, no +# Default: yes +csrf_enforce_header_origin = yes + +# Verify that the X-Forwarded-Host http header matches +# the host part of the tracker.web setting in config.ini. +# Set this to 'required' to block the post and notify +# the user if the header is missing or invalid. +# Set this to 'yes' to block the post and notify the user +# if the header is invalid, but accept the form if +# the field is missing. +# Set this to 'logfailure' to log a notice to the roundup +# log if the header is invalid or missing, but accept +# the post. +# Set this to 'no' to ignore the header and accept the post. +# Allowed values: required, yes, logfailure, no +# Default: yes +csrf_enforce_header_x-forwarded-host = yes + +# "If there is no X-Forward-Host header, verify that +# the Host http header matches the host part of the +# tracker.web setting in config.ini. +# Set this to 'required' to block the post and notify +# the user if the header is missing or invalid. +# Set this to 'yes' to block the post and notify the user +# if the header is invalid, but accept the form if +# the field is missing. +# Set this to 'logfailure' to log a notice to the roundup +# log if the header is invalid or missing, but accept +# the post. +# Set this to 'no' to ignore the header and accept the post. +# Allowed values: required, yes, logfailure, no +# Default: yes +csrf_enforce_header_host = yes + +# Minimum number of header checks that must pass +# to accept the request. Set to 0 to accept post +# even if no header checks pass. Usually the Host header check +# always passes, so setting it less than 1 is not recommended. +# Default: 1 +csrf_header_min_count = 1 + # Whether to use HTTP Accept-Language, if present. # Browsers send a language-region preference list. # It's usually set in the client's browser or in their @@ -153,13 +338,24 @@ # Default: no debug = no -# Settings in this section are used by Postgresql and MySQL backends only +# Setting this option makes Roundup migrate passwords with +# an insecure password-scheme to a more secure scheme +# when the user logs in via the web-interface. +# Allowed values: yes, no +# Default: yes +migrate_passwords = yes + +# Settings in this section are used by RDBMS backends only [rdbms] # Name of the database to use. # Default: roundup name = roundup_roundup_tracker +# Database backend. +# Default: +backend = postgresql + # Database server host. # Default: localhost host = localhost @@ -189,6 +385,52 @@ # Default: roundup read_default_group = roundup +# Number of seconds to wait when the SQLite database is locked +# Default: use a 30 second timeout (extraordinarily generous) +# Only used in SQLite connections. +# Default: 30 +sqlite_timeout = 30 + +# Size of the node cache (in elements) +# Default: 100 +cache_size = 100 + +# Setting this option to 'no' protects the database against table creations. +# Allowed values: yes, no +# Default: yes +allow_create = yes + +# Setting this option to 'no' protects the database against table alterations. +# Allowed values: yes, no +# Default: yes +allow_alter = yes + +# Setting this option to 'no' protects the database against table drops. +# Allowed values: yes, no +# Default: yes +allow_drop = yes + +# Name of the PostgreSQL template for database creation. +# For database creation the template used has to match +# the character encoding used (UTF8), there are different +# PostgreSQL installations using different templates with +# different encodings. If you get an error: +# new encoding (UTF8) is incompatible with the encoding of +# the template database (SQL_ASCII) +# HINT: Use the same encoding as in the template database, +# or use template0 as template. +# then set this option to the template name given in the +# error message. +# Default: +template = + +# Database isolation level, currently supported for +# PostgreSQL and mysql. See, e.g., +# http://www.postgresql.org/docs/9.1/static/transaction-iso.html +# Allowed values: 'read uncommitted', 'read committed', 'repeatable read', 'serializable' +# Default: read committed +isolation_level = read committed + [logging] # Path to configuration file for standard Python logging module. @@ -196,7 +438,7 @@ # from specified file; options 'filename' and 'level' # in this section are ignored. # The path may be either absolute or relative -# to the directory containig this config file. +# to the directory containing this config file. # Default: config = @@ -204,7 +446,7 @@ # If no file name specified, log messages are written on stderr. # If above 'config' option is set, this option has no effect. # The path may be either absolute or relative -# to the directory containig this config file. +# to the directory containing this config file. # Default: filename = @@ -215,12 +457,15 @@ level = ERROR # Outgoing email options. -# Used for nozy messages and approval requests +# Used for nosy messages and approval requests [mail] -# Domain name used for email addresses. +# The email domain that admin_email, issue_tracker and +# dispatcher_email belong to. +# This domain is added to those config items if they don't +# explicitly include a domain. +# Do not include the '@' symbol. # Default: NO DEFAULT -#domain = NO DEFAULT domain = psf.upfronthosting.co.za # SMTP mail host that roundup will use to send mail @@ -239,6 +484,16 @@ # Default: NO DEFAULT #password = NO DEFAULT +# Default port to send SMTP on. +# Set this if your mail server runs on a different port. +# Default: 25 +port = 25 + +# The local hostname to use during SMTP transmission. +# Set this if your mail server requires something specific. +# Default: +local_hostname = + # If your SMTP mail host provides or requires TLS # (Transport Layer Security) then set this option to 'yes'. # Allowed values: yes, no @@ -248,14 +503,14 @@ # If TLS is used, you may set this option to the name # of a PEM formatted file that contains your private key. # The path may be either absolute or relative -# to the directory containig this config file. +# to the directory containing this config file. # Default: tls_keyfile = # If TLS is used, you may set this option to the name # of a PEM formatted certificate chain file. # The path may be either absolute or relative -# to the directory containig this config file. +# to the directory containing this config file. # Default: tls_certfile = @@ -267,29 +522,48 @@ # Default: utf-8 charset = utf-8 -# Setting this option makes Roundup to write all outgoing email +# Setting this option makes Roundup write all outgoing email # messages to this file *instead* of sending them. # This option has the same effect as environment variable SENDMAILDEBUG. # Environment variable takes precedence. # The path may be either absolute or relative -# to the directory containig this config file. +# to the directory containing this config file. # Default: #debug = /home/roundup/outgoing-mail debug = +# Add a line with author information at top of all messages +# sent by roundup +# Allowed values: yes, no +# Default: yes +add_authorinfo = yes + +# Add the mail address of the author to the author information at +# the top of all messages. +# If this is false but add_authorinfo is true, only the name +# of the actor is added which protects the mail address of the +# actor from being exposed at mail archives, etc. +# Allowed values: yes, no +# Default: yes +add_authoremail = no + # Roundup Mail Gateway options [mailgw] # Keep email citations when accepting messages. -# Setting this to "no" strips out "quoted" text from the message. +# Setting this to "no" strips out "quoted" text +# from the message. Setting this to "new" keeps quoted +# text only if a new issue is being created. # Signatures are also stripped. -# Allowed values: yes, no +# Allowed values: yes, no, new # Default: yes keep_quoted_text = yes -# Preserve the email body as is - that is, -# keep the citations _and_ signatures. -# Allowed values: yes, no +# Setting this to "yes" preserves the email body +# as is - that is, keep the citations _and_ signatures. +# Setting this to "new" keeps the body only if we are +# creating a new issue. +# Allowed values: yes, no, new # Default: no leave_body_unchanged = no @@ -313,7 +587,7 @@ # recognised. "none" will always pass any [prefix] # through as part of the issue title. # Default: strict -subject_prefix_parsing = strict +subject_prefix_parsing = loose # Controls the parsing of the [suffix] on subject # lines in incoming emails. "strict" will return an @@ -323,7 +597,7 @@ # recognised. "none" will always pass any [suffix] # through as part of the issue title. # Default: strict -subject_suffix_parsing = strict +subject_suffix_parsing = loose # Defines the brackets used for delimiting the prefix and # suffix in a subject line. The presence of "suffix" in @@ -342,11 +616,121 @@ # Default: always subject_content_match = always +# Update issue title if incoming subject of email is different. +# Setting this to "no" will ignore the title part of the subject +# of incoming email messages. +# +# Allowed values: yes, no +# Default: yes +subject_updates_title = no + +# Regular expression matching a single reply or forward +# prefix prepended by the mailer. This is explicitly +# stripped from the subject during parsing. +# Value is Python Regular Expression (UTF8-encoded). +# Default: (\s*\W?\s*(fw|fwd|re|aw|sv|ang)\W)+ +refwd_re = (\s*\W?\s*(fw|fwd|re|aw|sv|ang)\W)+ + +# Regular expression matching start of an original message +# if quoted the in body. +# Value is Python Regular Expression (UTF8-encoded). +# Default: ^[>|\s]*-----\s?Original Message\s?-----$ +origmsg_re = ^[>|\s]*-----\s?Original Message\s?-----$ + +# Regular expression matching the start of a signature +# in the message body. +# Value is Python Regular Expression (UTF8-encoded). +# Default: ^[>|\s]*-- ?$ +sign_re = ^[>|\s]*-- ?$ + +# Regular expression matching end of line. +# Value is Python Regular Expression (UTF8-encoded). +# Default: [\r\n]+ +eol_re = [\r\n]+ + +# Regular expression matching a blank line. +# Value is Python Regular Expression (UTF8-encoded). +# Default: [\r\n]+\s*[\r\n]+ +blankline_re = [\r\n]+\s*[\r\n]+ + +# Unpack attached messages (encoded as message/rfc822 in MIME) +# as multiple parts attached as files to the issue, if not +# set we handle message/rfc822 attachments as a single file. +# Allowed values: yes, no +# Default: no +unpack_rfc822 = no + +# When parsing incoming mails, roundup uses the first +# text/plain part it finds. If this part is inside a +# multipart/alternative, and this option is set, all other +# parts of the multipart/alternative are ignored. The default +# is to keep all parts and attach them to the issue. +# Allowed values: yes, no +# Default: no +ignore_alternatives = no + +# When handling emails ignore the Resent-From:-header +# and use the original senders From:-header instead. +# (This might be desirable in some situations where a moderator +# reads incoming messages first before bouncing them to Roundup) +# Allowed values: yes, no +# Default: no +keep_real_from = no + +# OpenPGP mail processing options +[pgp] + +# Enable PGP processing. Requires pyme. If you're planning +# to send encrypted PGP mail to the tracker, you should also +# enable the encrypt-option below, otherwise mail received +# encrypted might be sent unencrypted to another user. +# Allowed values: yes, no +# Default: no +enable = no + +# If specified, a comma-separated list of roles to perform +# PGP processing on. If not specified, it happens for all +# users. Note that received PGP messages (signed and/or +# encrypted) will be processed with PGP even if the user +# doesn't have one of the PGP roles, you can use this to make +# PGP processing completely optional by defining a role here +# and not assigning any users to that role. +# Default: +roles = + +# Location of PGP directory. Defaults to $HOME/.gnupg if +# not specified. +# Default: +homedir = + +# Enable PGP encryption. All outgoing mails are encrypted. +# This requires that keys for all users (with one of the gpg +# roles above or all users if empty) are available. Note that +# it makes sense to educate users to also send mails encrypted +# to the tracker, to enforce this, set 'require_incoming' +# option below (but see the note). +# Allowed values: yes, no +# Default: no +encrypt = no + +# Require that pgp messages received by roundup are either +# 'signed', 'encrypted' or 'both'. If encryption is required +# we do not return the message (in clear) to the user but just +# send an informational message that the message was rejected. +# Note that this still presents known-plaintext to an attacker +# when the users sends the mail a second time with encryption +# turned on. +# Default: signed +require_incoming = signed + # Nosy messages sending [nosy] # Send nosy messages to the author of the message. -# Allowed values: yes, no, new +# Allowed values: yes, no, new, nosy -- if yes, messages +# are sent to the author even if not on the nosy list, same +# for new (but only for new messages). When set to nosy, +# the nosy list controls sending messages to the author. # Default: no messages_to_author = yes @@ -381,3 +765,9 @@ # each recipient as a CC address. # Default: single email_sending = multiple + +# Attachments larger than the given number of bytes +# won't be attached to nosy mails. They will be replaced by +# a link to the tracker's download page for the file. +# Default: 9223372036854775807 +max_attachment_size = 9223372036854775807
