]> gitweb.ps.run Git - ps-cgit/blobdiff - cgitrc.5.txt
auth: have cgit calculate login address
[ps-cgit] / cgitrc.5.txt
index 78f33c8308e6379a9e643da006c660b122f571bd..8eafc4a8ff4ff031d5b792236253b59ce013c890 100644 (file)
@@ -42,6 +42,13 @@ agefile::
        hh:mm:ss". You may want to generate this file from a post-receive
        hook. Default value: "info/web/last-modified".
 
        hh:mm:ss". You may want to generate this file from a post-receive
        hook. Default value: "info/web/last-modified".
 
+auth-filter::
+       Specifies a command that will be invoked for authenticating repository
+       access. Receives quite a few arguments, and data on both stdin and
+       stdout for authentication processing. Details follow later in this
+       document. If no auth-filter is specified, no authentication is
+       performed. Default value: none. See also: "FILTER API".
+
 branch-sort::
        Flag which, when set to "age", enables date ordering in the branch ref
        list, and when set to "name" enables ordering by branch name. Default
 branch-sort::
        Flag which, when set to "age", enables date ordering in the branch ref
        list, and when set to "name" enables ordering by branch name. Default
@@ -117,6 +124,14 @@ css::
        Url which specifies the css document to include in all cgit pages.
        Default value: "/cgit.css".
 
        Url which specifies the css document to include in all cgit pages.
        Default value: "/cgit.css".
 
+email-filter::
+       Specifies a command which will be invoked to format names and email
+       address of committers, authors, and taggers, as represented in various
+       places throughout the cgit interface. This command will receive an
+       email address and an origin page string as its command line arguments,
+       and the text to format on STDIN. It is to write the formatted text back
+       out onto STDOUT. Default value: none. See also: "FILTER API".
+
 embedded::
        Flag which, when set to "1", will make cgit generate a html fragment
        suitable for embedding in other html pages. Default value: none. See
 embedded::
        Flag which, when set to "1", will make cgit generate a html fragment
        suitable for embedding in other html pages. Default value: none. See
@@ -382,10 +397,10 @@ side-by-side-diffs::
        default. Default value: "0".
 
 snapshots::
        default. Default value: "0".
 
 snapshots::
-       Text which specifies the default set of snapshot formats generated by
-       cgit. The value is a space-separated list of zero or more of the
-       values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip". Default value:
-       none.
+       Text which specifies the default set of snapshot formats that cgit
+       generates links for. The value is a space-separated list of zero or
+       more of the values "tar", "tar.gz", "tar.bz2", "tar.xz" and "zip".
+       Default value: none.
 
 source-filter::
        Specifies a command which will be invoked to format plaintext blobs
 
 source-filter::
        Specifies a command which will be invoked to format plaintext blobs
@@ -457,6 +472,10 @@ repo.defbranch::
 repo.desc::
        The value to show as repository description. Default value: none.
 
 repo.desc::
        The value to show as repository description. Default value: none.
 
+repo.email-filter::
+       Override the default email-filter. Default value: none. See also:
+       "enable-filter-overrides". See also: "FILTER API".
+
 repo.enable-commit-graph::
        A flag which can be used to disable the global setting
        `enable-commit-graph'. Default value: none.
 repo.enable-commit-graph::
        A flag which can be used to disable the global setting
        `enable-commit-graph'. Default value: none.
@@ -526,8 +545,9 @@ repo.readme::
        file. Default value: <readme>.
 
 repo.snapshots::
        file. Default value: <readme>.
 
 repo.snapshots::
-       A mask of allowed snapshot-formats for this repo, restricted by the
-       "snapshots" global setting. Default value: <snapshots>.
+       A mask of snapshot formats for this repo that cgit generates links for,
+       restricted by the global "snapshots" setting. Default value:
+       <snapshots>.
 
 repo.section::
        Override the current section name for this repository. Default value:
 
 repo.section::
        Override the current section name for this repository. Default value:
@@ -577,7 +597,8 @@ specification with the relevant string; available values are:
                This is called whenever cgit writes data to the webpage.
        'filter_close()'::
                This is called when the current filtering operation is
                This is called whenever cgit writes data to the webpage.
        'filter_close()'::
                This is called when the current filtering operation is
-               completed.
+               completed. It must return an integer value. Usually 0
+               indicates success.
        
        Additionally, cgit exposes to the Lua the following built-in functions:
 
        
        Additionally, cgit exposes to the Lua the following built-in functions:
 
@@ -591,6 +612,8 @@ specification with the relevant string; available values are:
                URL escapes for a path and writes 'str' to the webpage.
        'html_url_arg(str)'::
                URL escapes for an argument and writes 'str' to the webpage.
                URL escapes for a path and writes 'str' to the webpage.
        'html_url_arg(str)'::
                URL escapes for an argument and writes 'str' to the webpage.
+       'html_include(file)'::
+               Includes 'file' in webpage.
 
 
 Parameters are provided to filters as follows.
 
 
 Parameters are provided to filters as follows.
@@ -607,6 +630,13 @@ commit filter::
        be filtered is available on standard input and the filtered text is
        expected on standard output.
 
        be filtered is available on standard input and the filtered text is
        expected on standard output.
 
+email filter::
+       This filter is given two parameters: the email address of the relevent
+       author and a string indicating the originating page. The filter will
+       then receive the text string to format on standard input and is
+       expected to write to standard output the formatted text to be included
+       in the page.
+
 source filter::
        This filter is given a single parameter: the filename of the source
        file to filter. The filter can use the filename to determine (for
 source filter::
        This filter is given a single parameter: the filename of the source
        file to filter. The filter can use the filename to determine (for
@@ -614,7 +644,34 @@ source filter::
        file that is to be filtered is available on standard input and the
        filtered contents is expected on standard output.
 
        file that is to be filtered is available on standard input and the
        filtered contents is expected on standard output.
 
-Also, all filters are handed the following environment variables:
+auth filter::
+       The authentication filter receives 12 parameters:
+         - filter action, explained below, which specifies which action the
+           filter is called for
+         - http cookie
+         - http method
+         - http referer
+         - http path
+         - http https flag
+         - cgit repo
+         - cgit page
+         - cgit url
+         - cgit login url
+       When the filter action is "body", this filter must write to output the
+       HTML for displaying the login form, which POSTs to the login url. When
+       the filter action is "authenticate-cookie", this filter must validate
+       the http cookie and return a 0 if it is invalid or 1 if it is invalid,
+       in the exit code / close function. If the filter action is
+       "authenticate-post", this filter receives POST'd parameters on
+       standard input, and should write a complete CGI request, preferably
+       with a 302 redirect, and write to output one or more "Set-Cookie"
+       HTTP headers, each followed by a newline.
+
+       Please see `filters/simple-authentication.lua` for a clear example
+       script that may be modified.
+
+
+All filters are handed the following environment variables:
 
 - CGIT_REPO_URL (from repo.url)
 - CGIT_REPO_NAME (from repo.name)
 
 - CGIT_REPO_URL (from repo.url)
 - CGIT_REPO_NAME (from repo.name)