aboutsummaryrefslogtreecommitdiffstats
path: root/ui-plain.c
Commit message (Collapse)AuthorAgeFilesLines
* Mark char* fields in struct cgit_page as constJohn Keeping2013-04-081-1/+2
| | | | Signed-off-by: John Keeping <[email protected]>
* Always #include corresponding .h in .c filesJohn Keeping2013-04-081-0/+1
| | | | | | | | | | | | While doing this, remove declarations from header files where the corresponding definition is declared "static" in order to avoid build errors. Also re-order existing headers in ui-*.c so that the file-specific header always comes immediately after "cgit.h", helping with future consistency. Signed-off-by: John Keeping <[email protected]>
* ui-plain.c: Use a context structure in walk_tree()Lukas Fleischer2013-03-041-13/+20
| | | | | | | | Do not misuse global variables to save the context. Instead, use the context pointer which was designed to share information between a read_tree_fn and the caller. Signed-off-by: Lukas Fleischer <[email protected]>
* ui-plain.c: Do not access match variable in print_*()Lukas Fleischer2013-03-041-12/+14
| | | | | | | | | Move all code setting the match variable to walk_tree(). This allows for easily moving this variable into a context structure without having to pass the context to print_*(). Signed-off-by: Lukas Fleischer <[email protected]>
* Update git to v1.7.6.5John Keeping2013-03-021-5/+12
| | | | | | struct pathspec is now used in more places. Signed-off-by: John Keeping <[email protected]>
* Merge branch 'fh/mimetypes'Lars Hjemli2012-03-181-1/+51
|\
| * ui_plain: automatically lookup mimetype when mimetype-file is setFerry Huberts2011-07-191-1/+51
| | | | | | | | | | | | | | | | | | | | | | | | For sites that do not want to configure mime types by hand but still want the correct mime type for 'plain' blobs, configuring a mime type file is made possible. This is handy since such a file is normally already provided (at least on Linux systems). Also, this reflects the gitweb option '$mimetypes_file' Signed-off-by: Ferry Huberts <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
* | ui-plain.c: add support for path-selected submodule linksLars Hjemli2011-06-151-3/+6
|/ | | | | | | | In ui-plain.c, the links generated for submodule entry ignored the fact that the entry was in fact a submodule. This patch adds proper submodule links to the plain directory listings. Signed-off-by: Lars Hjemli <[email protected]>
* ui-plain.c: fix html and links generated by print_dir() and print_dir_entry()Lars Hjemli2011-06-121-19/+46
| | | | | | | | | | | This patch fixes the following issues: * the base argument usually isn't zero-terminated, so printing base without considering baselen will usually generate random garbage * when the current url represents a directory but doesn't end in a slash, relative urls would be incorrect * using unescaped paths allows XSS Signed-off-by: Lars Hjemli <[email protected]>
* Use GIT-1.7.2.2Lars Hjemli2010-08-221-1/+1
| | | | Signed-off-by: Lars Hjemli <[email protected]>
* ui-plain: print directory listingsMark Lodato2010-01-311-1/+47
| | | | | | | | | | When a user requests a plain view of a tree (as opposed to a blob), print out a directory listing rather than giving a 404 Not Found. Also, fix a segfault when ctx->qry.path is NULL - i.e, when /plain is requested without a path. Signed-off-by: Mark Lodato <[email protected]>
* ui-plain: more efficient walk_tree()Mark Lodato2010-01-311-6/+14
| | | | | | | | | | | | Git's read_tree_recursive() already filters out the objects by pathname, so we only have to compare baselen to the expected. That is, no string matching is required. Additionally, if the requested path is a directory, the old code would walk through all of its immediate children. This is not necessary, this so we no longer do that. Signed-off-by: Mark Lodato <[email protected]>
* ui-plain: remove unused curr_rev variableMark Lodato2010-01-301-2/+0
| | | | Signed-off-by: Mark Lodato <[email protected]>
* Fix segfault on ppc when browsing treeMartins Polakovs2009-12-121-1/+1
|
* Merge branch 'stable'Lars Hjemli2009-09-061-1/+2
|\
| * ui-plain.c: only return the blob with the specified pathLars Hjemli2009-09-061-1/+2
| | | | | | | | | | | | | | | | | | | | When a path to a directory was specified for the 'plain' view, each blob in the directory used to be returned to the client. This patch fixes the issue by matching the path of each blob against the requested path. Noticed-by: Lars Stoltenow <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
* | Add support for mime type registration and lookupLars Hjemli2009-07-251-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes it possible to register mappings from filename extension to mime type in cgitrc and use this mapping when returning blob content in `plain` view. The reason for adding this mapping to cgitrc (as opposed to parsing something like /etc/mime.types) is to allow quick lookup of a limited number of filename extensions (/etc/mime-types on my machine currently contains over 700 entries). NB: A nice addition to this patch would be to parse /etc/mime.types when `plain` view is requested for a file with an extension for which there is no mapping registered in cgitrc. Signed-off-by: Lars Hjemli <[email protected]>
* | Merge branch 'plain-etag'Lars Hjemli2009-07-251-0/+1
|\ \ | | | | | | | | | | | | Conflicts: ui-shared.c
| * | Add support for ETag in 'plain' viewLars Hjemli2009-02-191-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | When downloading a blob identified by its path, the client might want to know if the blob has been modified since a previous download of the same path. To this end, an ETag containing the blob SHA1 seems to be ideal. Todo: add support for HEAD requests... Suggested-by: Owen Taylor <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
* / ui-plain: Return 'application/octet-stream' for binary files.Remko Tronçon2009-07-251-1/+4
|/ | | | | Signed-off-by: Remko Tronçon <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
* Fix some warnings to allow -WerrorRamsay Jones2008-11-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The type used to declare the st_size field of a 'struct stat' can be a 32- or 64-bit sized type, which can vary from one platform to another, or even from one compilation to another. In particular, on linux, if you include the following define: #define _FILE_OFFSET_BITS 64 prior to including certain system header files, then the type used for the st_size field will be __off64_t, otherwise it will be an __off_t. Note that the above define is included at the top of git-compat-util.h. In cache.c, the "%zd" format specifier expects a "signed size_t", another type which can vary, when an __off64_t or a __off_t is provided. To supress the warning, use the PRIuMAX format specifier and cast the st_size field to uintmax_t. This should work an any platform for which git currently compiles. In ui-plain.c, the size parameter of sha1_object_info() and read_sha1_file() is defined to be "unsigned long *" not "size_t *". So, to supress the warning, simply declare size with the correct type. Signed-off-by: Ramsay Jones <[email protected]> Signed-off-by: Lars Hjemli <[email protected]>
* ui-plain: handle subdirectoriesLars Hjemli2008-09-021-4/+1
| | | | | | | | | | The callback from read_tree_recursive just needs to check the type of each tree entry; if it's a dir we want to continue scanning, if it's a regular file we'll assume it's the one we requested. And while at it, remove some stray fprintfs. Signed-off-by: Lars Hjemli <[email protected]>
* Supply status description to html_status()Lars Hjemli2008-08-061-5/+5
| | | | Signed-off-by: Lars Hjemli <[email protected]>
* Implement plain viewLars Hjemli2008-08-061-0/+82
This implements a way to access plain blobs by path (similar to the tree view) instead of by sha1. Signed-off-by: Lars Hjemli <[email protected]>