aboutsummaryrefslogtreecommitdiffstats
path: root/filters
Commit message (Collapse)AuthorAgeLines
* simple-authentication: styleGravatar Jason A. Donenfeld2014-01-23-1/+1
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* auth: document tweakables in lua scriptGravatar Jason A. Donenfeld2014-01-17-0/+10
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* auth: have cgit calculate login addressGravatar Jason A. Donenfeld2014-01-17-6/+1
| | | | | | | This way we're sure to use virtual root, or any other strangeness encountered. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* auth: lua string comparisons are time invariantGravatar Jason A. Donenfeld2014-01-17-2/+2
| | | | | | By default, strings are compared by hash, so we can remove this comment. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* authentication: use hidden form instead of refererGravatar Jason A. Donenfeld2014-01-16-79/+121
| | | | | | | This also gives us some CSRF protection. Note that we make use of the hmac to protect the redirect value. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* auth: add basic authentication filter frameworkGravatar Jason A. Donenfeld2014-01-16-0/+225
| | | | | | | | | | | | | | | | This leverages the new lua support. See filters/simple-authentication.lua for explaination of how this works. There is also additional documentation in cgitrc.5.txt. Though this is a cookie-based approach, cgit's caching mechanism is preserved for authenticated pages. Very plugable and extendable depending on user needs. The sample script uses an HMAC-SHA1 based cookie to store the currently logged in user, with an expiration date. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* email-gravatar: fix html syntax issuesGravatar Christian Hesse2014-01-15-2/+2
| | | | | an attribute value specification must be an attribute value literal unless SHORTTAG YES is specified
* email-gravatar: do not scale icons upGravatar Jason A. Donenfeld2014-01-15-2/+2
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filter: allow returning exit code from filterGravatar Jason A. Donenfeld2014-01-15-0/+1
| | | | | | | Filters can now indicate a status back to cgit by means of the exit code for exec, or the return value from close for Lua. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* email-gravatar: fix html syntax issuesGravatar Christian Hesse2014-01-14-2/+2
| | | | | | * make ampersand a html entity * add required alt attribute * add required img end tag
* email-gravatar.py: fix UTF-8Gravatar Christian Hesse2014-01-14-0/+4
|
* email-gravatar.lua: fix for lua 5.2Gravatar Christian Hesse2014-01-14-1/+1
|
* filter: add page source to email filterGravatar Jason A. Donenfeld2014-01-14-1/+3
| | | | | | | | Since the email filter is called from lots of places, the script might benefit from knowing the origin. That way it can modify its contents and/or size depending. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filter: add gravatar scriptsGravatar Jason A. Donenfeld2014-01-14-0/+58
| | | | | | | The lua one is hugely faster than the python one, but both are included for comparison. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filters: Improved syntax-highlighting.pyGravatar Stefan Tatschner2014-01-14-19/+33
| | | | | | | | | | | | | | | | - Switched back to python2 according to a problem in pygments with python3. With the next release of pygments this problem should be fixed. Issue see here: https://bitbucket.org/birkenfeld/pygments-main/issue/901/problems-with-python3 - Just read the stdin, decode it to utf-8 and ignore unknown signs. This ensures that even destroyed files do not cause any errors in the filter. - Improved language guessing: -> At first use guess_lexer_for_filename for a better detection of the used programming languages (even mixed cases will be detected, e.g. php + html). -> If nothing was found look if there is a shebang and use guess_lexer. -> As default/fallback choose TextLexer. Signed-off-by: Stefan Tatschner <stefan@sevenbyte.org>
* Fix UTF-8 with syntax-highlighting.pyGravatar Přemysl Janouch2014-01-09-0/+1
| | | | | | | Previously the script tried to encode output from Pygments with the ASCII codec, which failed. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
* Fix about-formatting.shGravatar Přemysl Janouch2014-01-09-1/+1
| | | | | | dash failed to parse the script. Signed-off-by: Přemysl Janouch <p.janouch@gmail.com>
* filters: highlight.sh: add css comments for highlight 2.6 and 3.8Gravatar Ferry Huberts2014-01-09-1/+63
| | | | | | v2: add highlight 3.13 as present on Fedora 19 Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
* filters: toggle perl utf8 situationGravatar Jason A. Donenfeld2013-05-28-4/+0
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* filters: import more modern scriptsGravatar Jason A. Donenfeld2013-05-28-0/+1813
| | | | Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
* syntax-highlighting.sh: Fix command injection.Gravatar Jason A. Donenfeld2012-10-28-2/+2
| | | | | | | | | By not quoting the argument, an attacker with the ability to add files to the repository could pass arbitrary arguments to the highlight command, in particular, the --plug-in argument which can lead to arbitrary command execution. This patch adds simple argument quoting.
* syntax-highlight: when the file has no extension, assume textGravatar Ferry Huberts2012-10-09-1/+4
| | | | | | | | | | There are 2 situations: 1- empty extension: assuming text is better than highlight producing no output because of a missing argument. 2- no extension at all: assuming text is better than setting the extension to the filename, which is what now happens. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
* Revert "filters/syntax-highlighting.sh: work around highlight --force bug"Gravatar Ferry Huberts2012-10-09-17/+0
| | | | | | | | | This reverts commit f50be7fda0a7ab57009169dd5905fcbab8eb5166. An update with the latest highlight landed in EPEL. This new version doesn't have the --force bug, so the workaround can now be removed. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl>
* Merge branch 'stable'Gravatar Lars Hjemli2012-03-19-0/+28
|\
| * filters/syntax-highlighting.sh: work around highlight --force bugGravatar Ferry Huberts2012-03-19-0/+17
| |
| * filters/highlight.sh: manually support highlight version 2 and 3Gravatar Ferry Huberts2012-03-19-0/+11
| |
* | commit-links.sh: improve regular expressionsGravatar Ferry Huberts2011-07-19-2/+5
| | | | | | | | | | | | | | | | | | | | | | The default length for sha1 abbreviations in git is 7. A '#num' at the beginning of the commit message is now recognised, a ':#num' as well, etc.: a '#num' anywhere is now converted to a link. Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* | filters: document environment variables in filter scriptsGravatar Ferry Huberts2011-03-26-0/+22
|/ | | | | Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
* commit-links.sh: Seperate the expressions for filtering commit messages.Gravatar Jeff Smith2010-07-23-7/+9
| | | | | This allows for putting descriptions closer to their expressions. It should also make it clearer how to apply an expression conditionally.
* syntax highlighting for all formats supported by "highlight"Gravatar Georg Lukas2009-11-19-17/+12
| | | | | | | | | | | | | | | | | | The highlight tool can be given any of the supported file extensions as its -S parameter. This patch replaces the case-switch by extracting the extension from the supplied file name and passing it to highlight. However, this requires a shell supporting the ${var##pattern} syntax, like dash or bash. Unknown extensions cause a fall-back to plain text using the --force switch. Error messages are redirected to /dev/null. A special case maps Makefile and Makefile.* to the "mk" extension. The total overhead is reduced by calling "exec highlight". No forks are needed during script execution. Signed-off-by: Georg Lukas <georg@op-co.de>
* Add some example filter scriptsGravatar Lars Hjemli2009-08-09-0/+51
Signed-off-by: Lars Hjemli <hjemli@gmail.com>