|
NAMEinn-secrets.conf - Configuration data for InterNetNews secretsDESCRIPTIONinn-secrets.conf in pathetc is a configuration file containing general secrets used by INN. It was added in INN 2.7.0 for the implementation of Cancel-Lock. The intent is that new secrets used by INN are added to that file, and that all secrets currently stored in several other configuration files eventually move to that file.The inn-secrets.conf file is not required. It currently only serves the purpose of Cancel-Lock. If not present or empty, the Cancel-Lock authentication system will just be deactivated for local posts. This file is intended to be fairly static. Any changes made to it will generally not affect any running programs until they restart. Changes in Cancel-Lock secrets will be taken into account when new nnrpd processes are spawned (which happens each time a reader opens a new connection). Blank lines and lines starting with a number sign ("#") are ignored. All other lines specify parameters, and are organized in groups. The general form is: <group> { <parameter>: <value> } (Any amount of whitespace can be put after the colon and is optional.) If the value contains embedded whitespace or any of the characters "[]<>{}"\:;", it must be enclosed in double quotes (""). A backslash ("\") can be used to escape quotes and backslashes inside double quotes. <group> and <parameter> are case-sensitive; "cancels" is not the same as "Cancels" or "CANCELS". (inn-secrets.conf groups and parameters are generally all in lowercase.) The two parameters currently defined in this file have as their value a list of strings, that is to say space-separated elements enclosed in square brackets. Examples follow in the documentation. PARAMETERSCancel-Lock secretsThese secrets are used for the Cancel-Lock authentication system described in RFC 8315. This mechanism permits verifying that the withdrawal of an article is valid, that is to say the poster, posting agent, moderator, or injecting agent that processed the original article has requested to withdraw it via the use of a cancel control article or a Supersedes header field.You'll need to build INN with version 3.3.0 or later of libcanlock to embed Cancel-Lock support. This library is available at <https://micha.freeshell.org/libcanlock/>. The "configure" script will automatically enable Cancel-Lock support if it finds libcanlock; you may have to specify the --with-canlock option to help "configure" find it. The "cancels" group is defined as follows: cancels { canlockadmin: [ "Cl4yniTtmlsR3nwVaM2erBQClVprEtLjd/UiqTErXjk=" ] canlockuser: [ "tf+fY0Z7KNzYzF9uPo/qPrLKOPXIJLqejwqsV1nwOTRwGQ==" ] } If one of the canlockadmin or canlockuser parameters is not an empty list, nnrpd will add information to every posted article that will permit other news servers to later ensure that an attempt to cancel or supersede the article is not forged, and really originates from the authenticated original sender or the administrator of the local server. If your users are not individually authenticated, you must not set canlockuser as otherwise anyone would be able to cancel the articles of any other person with the same assigned identity. If all or only some of your users are individually authenticated, you can set canlockuser and make sure to parameter addcanlockuser to false in all the access groups in readers.conf that are shared between several different persons with the same identity. More concretely, for each secret in canlockadmin, nnrpd adds two Base64-encoded hashes to a Cancel-Lock header field. These hashes are based on the secret and the Message-ID of the article. If this field already exists, it will just append the Base64-encoded hashes to its end. One hash uses the SHA-1 algorithm (for interoperability reasons as not all news software implement SHA-256), and the other hash uses the mandatory SHA-256 algorithm per RFC 8315. Besides, nnrpd will similarly add two Base64-encoded hashes for each secret in canlockuser; these hashes are based on the secret, the identity assigned in readers.conf to the connection, and the Message-ID of the article. When a cancel or supersede article is posted by an authenticated user, nnrpd will add to a Cancel-Key header field two pre-images for each secret in canlockuser. (This is why it is important, if you have set canlockuser, to parameter addcanlockuser to false in all the access groups in readers.conf not corresponding to individual persons.) Other news servers can then hash one of these pre-images with SHA-1 or SHA-256 algorithms (one is enough) and verify that the resulted Base64-encoded hash is the same as the one present in the Cancel-Lock header field of the original article. (Necessarily, the same authenticated user on the same local server sent the original article.) When receiving articles with a Cancel-Key header field (locally or from other peers), innd applies that check to verify the authenticity of the withdrawal before deciding to honour it. Naturally, no pre-images for each secret in canlockadmin are added by nnrpd. As these pre-images are not based on a user name, only the news administrator can generate them (with the gencancel tool shipped with INN) and then inject the cancel or supersede request with for instance inews. The news administrator is therefore capable to send authenticated withdrawal requests for articles posted by all the users of his news server, be they authenticated or not. After this (little) introduction to explain what Cancel-Lock is for, here are the two relevant parameters:
HISTORYDocumentation written by Julien Elie for InterNetNews.SEE ALSOgencancel(1), nnrpd(8), readers.conf(5).
Visit the GSP FreeBSD Man Page Interface. |