Add strict-export
option
This option is used to specify a filename which needs to be present in the repositories found during `scan-path` processing. By setting this option to 'git-daemon-export-ok', only repositories explicitly marked for git daemon export will be included in the cgit configuration. Signed-off-by: Felix Hanley <felix@seconddrawer.com.au> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
This commit is contained in:
джерело
49d09d4fd1
коміт
e0c6f23789
2
cgit.c
2
cgit.c
@ -121,6 +121,8 @@ void config_cb(const char *name, const char *value)
|
||||
ctx.cfg.logo_link = xstrdup(value);
|
||||
else if (!strcmp(name, "module-link"))
|
||||
ctx.cfg.module_link = xstrdup(value);
|
||||
else if (!strcmp(name, "strict-export"))
|
||||
ctx.cfg.strict_export = xstrdup(value);
|
||||
else if (!strcmp(name, "virtual-root")) {
|
||||
ctx.cfg.virtual_root = trim_end(value, '/');
|
||||
if (!ctx.cfg.virtual_root && (!strcmp(value, "/")))
|
||||
|
1
cgit.h
1
cgit.h
@ -176,6 +176,7 @@ struct cgit_config {
|
||||
char *script_name;
|
||||
char *section;
|
||||
char *virtual_root;
|
||||
char *strict_export;
|
||||
int cache_size;
|
||||
int cache_dynamic_ttl;
|
||||
int cache_max_create_time;
|
||||
|
@ -317,6 +317,13 @@ 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
|
||||
|
@ -81,6 +81,10 @@ static void add_repo(const char *base, const char *path, repo_config_fn fn)
|
||||
path, strerror(errno), errno);
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctx.cfg.strict_export && stat(fmt("%s/%s", path, ctx.cfg.strict_export), &st))
|
||||
return;
|
||||
|
||||
if (!stat(fmt("%s/noweb", path), &st))
|
||||
return;
|
||||
|
||||
|
Завантаження…
Посилання в новій задачі
Block a user