| :man source: cgit |
| :man manual: cgit |
| |
| CGITRC(5) |
| ======== |
| |
| |
| NAME |
| ---- |
| cgitrc - runtime configuration for cgit |
| |
| |
| SYNOPSIS |
| -------- |
| Cgitrc contains all runtime settings for cgit, including the list of git |
| repositories, formatted as a line-separated list of NAME=VALUE pairs. Blank |
| lines, and lines starting with '#', are ignored. |
| |
| |
| LOCATION |
| -------- |
| The default location of cgitrc, defined at compile time, is /etc/cgitrc. At |
| runtime, cgit will consult the environment variable CGIT_CONFIG and, if |
| defined, use its value instead. |
| |
| |
| GLOBAL SETTINGS |
| --------------- |
| about-filter:: |
| Specifies a command which will be invoked to format the content of |
| about pages (both top-level and for each repository). The command will |
| get the content of the about-file on its STDIN, and the STDOUT from the |
| command will be included verbatim on the about page. Default value: |
| none. See also: "FILTER API". |
| |
| agefile:: |
| Specifies a path, relative to each repository path, which can be used |
| to specify the date and time of the youngest commit in the repository. |
| The first line in the file is used as input to the "parse_date" |
| function in libgit. Recommended timestamp-format is "yyyy-mm-dd |
| hh:mm:ss". Default value: "info/web/last-modified". |
| |
| cache-root:: |
| Path used to store the cgit cache entries. Default value: |
| "/var/cache/cgit". See also: "MACRO EXPANSION". |
| |
| cache-dynamic-ttl:: |
| Number which specifies the time-to-live, in minutes, for the cached |
| version of repository pages accessed without a fixed SHA1. Default |
| value: "5". |
| |
| cache-repo-ttl:: |
| Number which specifies the time-to-live, in minutes, for the cached |
| version of the repository summary page. Default value: "5". |
| |
| cache-root-ttl:: |
| Number which specifies the time-to-live, in minutes, for the cached |
| version of the repository index page. Default value: "5". |
| |
| cache-scanrc-ttl:: |
| Number which specifies the time-to-live, in minutes, for the result |
| of scanning a path for git repositories. Default value: "15". |
| |
| cache-size:: |
| The maximum number of entries in the cgit cache. Default value: "0" |
| (i.e. caching is disabled). |
| |
| cache-static-ttl:: |
| Number which specifies the time-to-live, in minutes, for the cached |
| version of repository pages accessed with a fixed SHA1. Default value: |
| "5". |
| |
| case-sensitive-sort:: |
| Sort items in the repo list case sensitively. Default value: "1". |
| See also: repository-sort, section-sort. |
| |
| clone-prefix:: |
| Space-separated list of common prefixes which, when combined with a |
| repository url, generates valid clone urls for the repository. This |
| setting is only used if `repo.clone-url` is unspecified. Default value: |
| none. |
| |
| clone-url:: |
| Space-separated list of clone-url templates. This setting is only |
| used if `repo.clone-url` is unspecified. Default value: none. See |
| also: "MACRO EXPANSION", "FILTER API". |
| |
| commit-filter:: |
| Specifies a command which will be invoked to format commit messages. |
| The command will get the message on its STDIN, and the STDOUT from the |
| command will be included verbatim as the commit message, i.e. this can |
| be used to implement bugtracker integration. Default value: none. |
| See also: "FILTER API". |
| |
| css:: |
| Url which specifies the css document to include in all cgit pages. |
| Default value: "/cgit.css". |
| |
| 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 |
| also: "noheader". |
| |
| enable-commit-graph:: |
| Flag which, when set to "1", will make cgit print an ASCII-art commit |
| history graph to the left of the commit messages in the repository |
| log page. Default value: "0". |
| |
| enable-filter-overrides:: |
| Flag which, when set to "1", allows all filter settings to be |
| overridden in repository-specific cgitrc files. Default value: none. |
| |
| enable-http-clone:: |
| If set to "1", cgit will act as an dumb HTTP endpoint for git clones. |
| If you use an alternate way of serving git repositories, you may wish |
| to disable this. Default value: "1". |
| |
| enable-index-links:: |
| Flag which, when set to "1", will make cgit generate extra links for |
| each repo in the repository index (specifically, to the "summary", |
| "commit" and "tree" pages). Default value: "0". |
| |
| enable-log-filecount:: |
| Flag which, when set to "1", will make cgit print the number of |
| modified files for each commit on the repository log page. Default |
| value: "0". |
| |
| enable-log-linecount:: |
| Flag which, when set to "1", will make cgit print the number of added |
| and removed lines for each commit on the repository log page. Default |
| value: "0". |
| |
| enable-remote-branches:: |
| Flag which, when set to "1", will make cgit display remote branches |
| in the summary and refs views. Default value: "0". See also: |
| "repo.enable-remote-branches". |
| |
| enable-subject-links:: |
| Flag which, when set to "1", will make cgit use the subject of the |
| parent commit as link text when generating links to parent commits |
| in commit view. Default value: "0". See also: |
| "repo.enable-subject-links". |
| |
| enable-tree-linenumbers:: |
| Flag which, when set to "1", will make cgit generate linenumber links |
| for plaintext blobs printed in the tree view. Default value: "1". |
| |
| enable-git-config:: |
| Flag which, when set to "1", will allow cgit to use git config to set |
| any repo specific settings. This option is used in conjunction with |
| "scan-path" to augment repo-specific settings. The keys gitweb.owner, |
| gitweb.category, and gitweb.description will map to the cgit keys |
| repo.owner, repo.section, and repo.desc, respectivly. All git config |
| keys that begin with "cgit." will be mapped to the corresponding "repo." |
| key in cgit. Default value: "0". See also: scan-path, section-from-path. |
| |
| favicon:: |
| Url used as link to a shortcut icon for cgit. If specified, it is |
| suggested to use the value "/favicon.ico" since certain browsers will |
| ignore other values. Default value: none. |
| |
| footer:: |
| The content of the file specified with this option will be included |
| verbatim at the bottom of all pages (i.e. it replaces the standard |
| "generated by..." message. Default value: none. |
| |
| head-include:: |
| The content of the file specified with this option will be included |
| verbatim in the html HEAD section on all pages. Default value: none. |
| |
| header:: |
| The content of the file specified with this option will be included |
| verbatim at the top of all pages. Default value: none. |
| |
| include:: |
| Name of a configfile to include before the rest of the current config- |
| file is parsed. Default value: none. See also: "MACRO EXPANSION". |
| |
| index-header:: |
| The content of the file specified with this option will be included |
| verbatim above the repository index. This setting is deprecated, and |
| will not be supported by cgit-1.0 (use root-readme instead). Default |
| value: none. |
| |
| index-info:: |
| The content of the file specified with this option will be included |
| verbatim below the heading on the repository index page. This setting |
| is deprecated, and will not be supported by cgit-1.0 (use root-desc |
| instead). Default value: none. |
| |
| local-time:: |
| Flag which, if set to "1", makes cgit print commit and tag times in the |
| servers timezone. Default value: "0". |
| |
| commit-sort:: |
| Flag which, when set to "date", enables strict date ordering in the |
| commit log, and when set to "topo" enables strict topological |
| ordering. If unset, the default ordering of "git log" is used. Default |
| value: unset. |
| |
| logo:: |
| Url which specifies the source of an image which will be used as a logo |
| on all cgit pages. Default value: "/cgit.png". |
| |
| logo-link:: |
| Url loaded when clicking on the cgit logo image. If unspecified the |
| calculated url of the repository index page will be used. Default |
| value: none. |
| |
| max-atom-items:: |
| Specifies the number of items to display in atom feeds view. Default |
| value: "10". |
| |
| max-commit-count:: |
| Specifies the number of entries to list per page in "log" view. Default |
| value: "50". |
| |
| max-message-length:: |
| Specifies the maximum number of commit message characters to display in |
| "log" view. Default value: "80". |
| |
| max-repo-count:: |
| Specifies the number of entries to list per page on the repository |
| index page. Default value: "50". |
| |
| max-repodesc-length:: |
| Specifies the maximum number of repo description characters to display |
| on the repository index page. Default value: "80". |
| |
| max-blob-size:: |
| Specifies the maximum size of a blob to display HTML for in KBytes. |
| Default value: "0" (limit disabled). |
| |
| max-stats:: |
| Set the default maximum statistics period. Valid values are "week", |
| "month", "quarter" and "year". If unspecified, statistics are |
| disabled. Default value: none. See also: "repo.max-stats". |
| |
| mimetype.<ext>:: |
| Set the mimetype for the specified filename extension. This is used |
| by the `plain` command when returning blob content. |
| |
| mimetype-file:: |
| Specifies the file to use for automatic mimetype lookup. If specified |
| then this field is used as a fallback when no "mimetype.<ext>" match is |
| found. If unspecified then no such lookup is performed. The typical file |
| to use on a Linux system is /etc/mime.types. Default value: none. See |
| also: "mimetype.<ext>". The format of the file must comply to: |
| - a comment line is an empty line or a line starting with a hash (#), |
| optionally preceded by whitespace |
| - a non-comment line starts with the mimetype (like image/png), followed |
| by one or more file extensions (like jpg), all separated by whitespace |
| Default value: none. See also: "mimetype.<ext>". |
| |
| module-link:: |
| Text which will be used as the formatstring for a hyperlink when a |
| submodule is printed in a directory listing. The arguments for the |
| formatstring are the path and SHA1 of the submodule commit. Default |
| value: none. |
| |
| nocache:: |
| If set to the value "1" caching will be disabled. This settings is |
| deprecated, and will not be honored starting with cgit-1.0. Default |
| value: "0". |
| |
| noplainemail:: |
| If set to "1" showing full author email adresses will be disabled. |
| Default value: "0". |
| |
| noheader:: |
| Flag which, when set to "1", will make cgit omit the standard header |
| on all pages. Default value: none. See also: "embedded". |
| |
| project-list:: |
| A list of subdirectories inside of scan-path, relative to it, that |
| should loaded as git repositories. This must be defined prior to |
| scan-path. Default value: none. See also: scan-path, "MACRO |
| EXPANSION". |
| |
| readme:: |
| Text which will be used as default value for "repo.readme". Default |
| value: none. |
| |
| remove-suffix:: |
| If set to "1" and scan-path is enabled, if any repositories are found |
| with a suffix of ".git", this suffix will be removed for the url and |
| name. Default value: "0". See also: scan-path. |
| |
| renamelimit:: |
| Maximum number of files to consider when detecting renames. The value |
| "-1" uses the compiletime value in git (for further info, look at |
| `man git-diff`). Default value: "-1". |
| |
| repo.group:: |
| Legacy alias for "section". This option is deprecated and will not be |
| supported in cgit-1.0. |
| |
| robots:: |
| Text used as content for the "robots" meta-tag. Default value: |
| "index, nofollow". |
| |
| root-desc:: |
| Text printed below the heading on the repository index page. Default |
| value: "a fast webinterface for the git dscm". |
| |
| root-readme:: |
| The content of the file specified with this option will be included |
| verbatim below the "about" link on the repository index page. Default |
| value: none. |
| |
| root-title:: |
| Text printed as heading on the repository index page. Default value: |
| "Git Repository Browser". |
| |
| scan-hidden-path:: |
| If set to "1" and scan-path is enabled, scan-path will recurse into |
| directories whose name starts with a period ('.'). Otherwise, |
| scan-path will stay away from such directories (considered as |
| "hidden"). Note that this does not apply to the ".git" directory in |
| non-bare repos. This must be defined prior to scan-path. |
| Default value: 0. See also: scan-path. |
| |
| scan-path:: |
| A path which will be scanned for repositories. If caching is enabled, |
| the result will be cached as a cgitrc include-file in the cache |
| directory. If project-list has been defined prior to scan-path, |
| scan-path loads only the directories listed in the file pointed to by |
| project-list. Be advised that only the global settings taken |
| before the scan-path directive will be applied to each repository. |
| Default value: none. See also: cache-scanrc-ttl, project-list, |
| "MACRO EXPANSION". |
| |
| section:: |
| The name of the current repository section - all repositories defined |
| after this option will inherit the current section name. Default value: |
| none. |
| |
| repository-sort:: |
| The way in which repositories in each section are sorted. Valid values |
| are "name" for sorting by the repo name or "age" for sorting by the |
| most recently updated repository. Default value: "name". See also: |
| section, case-sensitive-sort, section-sort. |
| |
| section-sort:: |
| Flag which, when set to "1", will sort the sections on the repository |
| listing by name. Set this flag to "0" if the order in the cgitrc file should |
| be preserved. Default value: "1". See also: section, |
| case-sensitive-sort, repository-sort. |
| |
| section-from-path:: |
| A number which, if specified before scan-path, specifies how many |
| path elements from each repo path to use as a default section name. |
| If negative, cgit will discard the specified number of path elements |
| above the repo directory. Default value: "0". |
| |
| side-by-side-diffs:: |
| If set to "1" shows side-by-side diffs instead of unidiffs per |
| 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. |
| |
| source-filter:: |
| Specifies a command which will be invoked to format plaintext blobs |
| in the tree view. The command will get the blob content on its STDIN |
| and the name of the blob as its only command line argument. The STDOUT |
| from the command will be included verbatim as the blob contents, i.e. |
| this can be used to implement e.g. syntax highlighting. Default value: |
| none. See also: "FILTER API". |
| |
| summary-branches:: |
| Specifies the number of branches to display in the repository "summary" |
| view. Default value: "10". |
| |
| summary-log:: |
| Specifies the number of log entries to display in the repository |
| "summary" view. Default value: "10". |
| |
| summary-tags:: |
| Specifies the number of tags to display in the repository "summary" |
| view. Default value: "10". |
| |
| strict-export:: |
| Filename which, if specified, needs to be present within the repository |
| for cgit to allow access to that repository. This can be used to emulate |
| gitweb's EXPORT_OK and STRICT_EXPORT functionality and limit cgit's |
| repositories to match those exported by git-daemon. This option MUST come |
| before 'scan-path'. |
| |
| virtual-root:: |
| Url which, if specified, will be used as root for all cgit links. It |
| will also cause cgit to generate 'virtual urls', i.e. urls like |
| '/cgit/tree/README' as opposed to '?r=cgit&p=tree&path=README'. Default |
| value: none. |
| NOTE: cgit has recently learned how to use PATH_INFO to achieve the |
| same kind of virtual urls, so this option will probably be deprecated. |
| |
| |
| REPOSITORY SETTINGS |
| ------------------- |
| repo.about-filter:: |
| Override the default about-filter. Default value: none. See also: |
| "enable-filter-overrides". See also: "FILTER API". |
| |
| repo.clone-url:: |
| A list of space-separated urls which can be used to clone this repo. |
| Default value: none. See also: "MACRO EXPANSION". |
| |
| repo.commit-filter:: |
| Override the default commit-filter. Default value: none. See also: |
| "enable-filter-overrides". See also: "FILTER API". |
| |
| repo.defbranch:: |
| The name of the default branch for this repository. If no such branch |
| exists in the repository, the first branch name (when sorted) is used |
| as default instead. Default value: branch pointed to by HEAD, or |
| "master" if there is no suitable HEAD. |
| |
| repo.desc:: |
| The value to show as repository description. Default value: none. |
| |
| repo.enable-commit-graph:: |
| A flag which can be used to disable the global setting |
| `enable-commit-graph'. Default value: none. |
| |
| repo.enable-log-filecount:: |
| A flag which can be used to disable the global setting |
| `enable-log-filecount'. Default value: none. |
| |
| repo.enable-log-linecount:: |
| A flag which can be used to disable the global setting |
| `enable-log-linecount'. Default value: none. |
| |
| repo.enable-remote-branches:: |
| Flag which, when set to "1", will make cgit display remote branches |
| in the summary and refs views. Default value: <enable-remote-branches>. |
| |
| repo.enable-subject-links:: |
| A flag which can be used to override the global setting |
| `enable-subject-links'. Default value: none. |
| |
| repo.commit-sort:: |
| Flag which, when set to "date", enables strict date ordering in the |
| commit log, and when set to "topo" enables strict topological |
| ordering. If unset, the default ordering of "git log" is used. Default |
| value: unset. |
| |
| repo.logo:: |
| Url which specifies the source of an image which will be used as a logo |
| on this repo's pages. Default value: global logo. |
| |
| repo.logo-link:: |
| Url loaded when clicking on the cgit logo image. If unspecified the |
| calculated url of the repository index page will be used. Default |
| value: global logo-link. |
| |
| repo.module-link:: |
| Text which will be used as the formatstring for a hyperlink when a |
| submodule is printed in a directory listing. The arguments for the |
| formatstring are the path and SHA1 of the submodule commit. Default |
| value: <module-link> |
| |
| repo.module-link.<path>:: |
| Text which will be used as the formatstring for a hyperlink when a |
| submodule with the specified subdirectory path is printed in a |
| directory listing. The only argument for the formatstring is the SHA1 |
| of the submodule commit. Default value: none. |
| |
| repo.max-stats:: |
| Override the default maximum statistics period. Valid values are equal |
| to the values specified for the global "max-stats" setting. Default |
| value: none. |
| |
| repo.name:: |
| The value to show as repository name. Default value: <repo.url>. |
| |
| repo.owner:: |
| A value used to identify the owner of the repository. Default value: |
| none. |
| |
| repo.path:: |
| An absolute path to the repository directory. For non-bare repositories |
| this is the .git-directory. Default value: none. |
| |
| repo.readme:: |
| A path (relative to <repo.path>) which specifies a file to include |
| verbatim as the "About" page for this repo. You may also specify a |
| git refspec by head or by hash by prepending the refspec followed by |
| a colon. For example, "master:docs/readme.mkd" Default value: <readme>. |
| |
| repo.snapshots:: |
| A mask of allowed snapshot-formats for this repo, restricted by the |
| "snapshots" global setting. Default value: <snapshots>. |
| |
| repo.section:: |
| Override the current section name for this repository. Default value: |
| none. |
| |
| repo.source-filter:: |
| Override the default source-filter. Default value: none. See also: |
| "enable-filter-overrides". See also: "FILTER API". |
| |
| repo.url:: |
| The relative url used to access the repository. This must be the first |
| setting specified for each repo. Default value: none. |
| |
| |
| REPOSITORY-SPECIFIC CGITRC FILE |
| ------------------------------- |
| When the option "scan-path" is used to auto-discover git repositories, cgit |
| will try to parse the file "cgitrc" within any found repository. Such a |
| repo-specific config file may contain any of the repo-specific options |
| described above, except "repo.url" and "repo.path". Additionally, the "filter" |
| options are only acknowledged in repo-specific config files when |
| "enable-filter-overrides" is set to "1". |
| |
| Note: the "repo." prefix is dropped from the option names in repo-specific |
| config files, e.g. "repo.desc" becomes "desc". |
| |
| |
| FILTER API |
| ---------- |
| about filter:: |
| This filter is given no arguments. The about text that is to be |
| filtered is available on standard input and the filtered text is |
| expected on standard output. |
| |
| commit filter:: |
| This filter is given no arguments. The commit message text that is to |
| be filtered is available on standard input and the filtered text is |
| expected on standard output. |
| |
| 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 |
| example) the syntax highlighting mode. The contents of the source |
| 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: |
| |
| - CGIT_REPO_URL (from repo.url) |
| - CGIT_REPO_NAME (from repo.name) |
| - CGIT_REPO_PATH (from repo.path) |
| - CGIT_REPO_OWNER (from repo.owner) |
| - CGIT_REPO_DEFBRANCH (from repo.defbranch) |
| - CGIT_REPO_SECTION (from repo.section) |
| - CGIT_REPO_CLONE_URL (from repo.clone-url) |
| |
| If a setting is not defined for a repository and the corresponding global |
| setting is also not defined (if applicable), then the corresponding |
| environment variable will be unset. |
| |
| |
| MACRO EXPANSION |
| --------------- |
| The following cgitrc options supports a simple macro expansion feature, |
| where tokens prefixed with "$" are replaced with the value of a similary |
| named environment variable: |
| |
| - cache-root |
| - include |
| - project-list |
| - scan-path |
| |
| Macro expansion will also happen on the content of $CGIT_CONFIG, if |
| defined. |
| |
| One usage of this feature is virtual hosting, which in its simplest form |
| can be accomplished by adding the following line to /etc/cgitrc: |
| |
| include=/etc/cgitrc.d/$HTTP_HOST |
| |
| The following options are expanded during request processing, and support |
| the environment variables defined in "FILTER API": |
| |
| - clone-url |
| - repo.clone-url |
| |
| |
| EXAMPLE CGITRC FILE |
| ------------------- |
| |
| .... |
| # Enable caching of up to 1000 output entriess |
| cache-size=1000 |
| |
| |
| # Specify some default clone urls using macro expansion |
| clone-url=git://foo.org/$CGIT_REPO_URL git@foo.org:$CGIT_REPO_URL |
| |
| # Specify the css url |
| css=/css/cgit.css |
| |
| |
| # Show extra links for each repository on the index page |
| enable-index-links=1 |
| |
| |
| # Enable ASCII art commit history graph on the log pages |
| enable-commit-graph=1 |
| |
| |
| # Show number of affected files per commit on the log pages |
| enable-log-filecount=1 |
| |
| |
| # Show number of added/removed lines per commit on the log pages |
| enable-log-linecount=1 |
| |
| |
| # Add a cgit favicon |
| favicon=/favicon.ico |
| |
| |
| # Use a custom logo |
| logo=/img/mylogo.png |
| |
| |
| # Enable statistics per week, month and quarter |
| max-stats=quarter |
| |
| |
| # Set the title and heading of the repository index page |
| root-title=example.com git repositories |
| |
| |
| # Set a subheading for the repository index page |
| root-desc=tracking the foobar development |
| |
| |
| # Include some more info about example.com on the index page |
| root-readme=/var/www/htdocs/about.html |
| |
| |
| # Allow download of tar.gz, tar.bz2 and zip-files |
| snapshots=tar.gz tar.bz2 zip |
| |
| |
| ## |
| ## List of common mimetypes |
| ## |
| |
| mimetype.gif=image/gif |
| mimetype.html=text/html |
| mimetype.jpg=image/jpeg |
| mimetype.jpeg=image/jpeg |
| mimetype.pdf=application/pdf |
| mimetype.png=image/png |
| mimetype.svg=image/svg+xml |
| |
| |
| ## |
| ## List of repositories. |
| ## PS: Any repositories listed when section is unset will not be |
| ## displayed under a section heading |
| ## PPS: This list could be kept in a different file (e.g. '/etc/cgitrepos') |
| ## and included like this: |
| ## include=/etc/cgitrepos |
| ## |
| |
| |
| repo.url=foo |
| repo.path=/pub/git/foo.git |
| repo.desc=the master foo repository |
| repo.owner=fooman@example.com |
| repo.readme=info/web/about.html |
| |
| |
| repo.url=bar |
| repo.path=/pub/git/bar.git |
| repo.desc=the bars for your foo |
| repo.owner=barman@example.com |
| repo.readme=info/web/about.html |
| |
| |
| # The next repositories will be displayed under the 'extras' heading |
| section=extras |
| |
| |
| repo.url=baz |
| repo.path=/pub/git/baz.git |
| repo.desc=a set of extensions for bar users |
| |
| repo.url=wiz |
| repo.path=/pub/git/wiz.git |
| repo.desc=the wizard of foo |
| |
| |
| # Add some mirrored repositories |
| section=mirrors |
| |
| |
| repo.url=git |
| repo.path=/pub/git/git.git |
| repo.desc=the dscm |
| |
| |
| repo.url=linux |
| repo.path=/pub/git/linux.git |
| repo.desc=the kernel |
| |
| # Disable adhoc downloads of this repo |
| repo.snapshots=0 |
| |
| # Disable line-counts for this repo |
| repo.enable-log-linecount=0 |
| |
| # Restrict the max statistics period for this repo |
| repo.max-stats=month |
| .... |
| |
| |
| BUGS |
| ---- |
| Comments currently cannot appear on the same line as a setting; the comment |
| will be included as part of the value. E.g. this line: |
| |
| robots=index # allow indexing |
| |
| will generate the following html element: |
| |
| <meta name='robots' content='index # allow indexing'/> |
| |
| |
| |
| AUTHOR |
| ------ |
| Lars Hjemli <hjemli@gmail.com> |
| Jason A. Donenfeld <Jason@zx2c4.com> |