author | Lars Hjemli <hjemli@gmail.com> | 2007-05-15 22:14:51 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-05-15 22:16:00 (UTC) |
commit | b28b105ec172b258ae5d629381a5890697c2f938 (patch) (unidiff) | |
tree | 0673dc5ed94c8ce99c714d1204b6582f9ba96fc5 /cgit.h | |
parent | 47a81c77fdd017227632c4df9a0b7b135b8a738d (diff) | |
download | cgit-b28b105ec172b258ae5d629381a5890697c2f938.zip cgit-b28b105ec172b258ae5d629381a5890697c2f938.tar.gz cgit-b28b105ec172b258ae5d629381a5890697c2f938.tar.bz2 |
Enable default value for head parameter
Pages which expect head to be specified in the querystring can now be
given a default value, configurable per repository (via repo.defbranch,
which defaults to "master").
Currently, only the log page actually works without parameters, but the
defbranch is bound to be exploited.
This also removes some dead code from shared.c
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cgit.h | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1,133 +1,134 @@ | |||
1 | #ifndef CGIT_H | 1 | #ifndef CGIT_H |
2 | #define CGIT_H | 2 | #define CGIT_H |
3 | 3 | ||
4 | 4 | ||
5 | #include <git-compat-util.h> | 5 | #include <git-compat-util.h> |
6 | #include <cache.h> | 6 | #include <cache.h> |
7 | #include <grep.h> | 7 | #include <grep.h> |
8 | #include <object.h> | 8 | #include <object.h> |
9 | #include <tree.h> | 9 | #include <tree.h> |
10 | #include <commit.h> | 10 | #include <commit.h> |
11 | #include <tag.h> | 11 | #include <tag.h> |
12 | #include <diff.h> | 12 | #include <diff.h> |
13 | #include <diffcore.h> | 13 | #include <diffcore.h> |
14 | #include <refs.h> | 14 | #include <refs.h> |
15 | #include <revision.h> | 15 | #include <revision.h> |
16 | #include <log-tree.h> | 16 | #include <log-tree.h> |
17 | #include <archive.h> | 17 | #include <archive.h> |
18 | #include <xdiff/xdiff.h> | 18 | #include <xdiff/xdiff.h> |
19 | 19 | ||
20 | 20 | ||
21 | typedef void (*configfn)(const char *name, const char *value); | 21 | typedef void (*configfn)(const char *name, const char *value); |
22 | typedef void (*filepair_fn)(struct diff_filepair *pair); | 22 | typedef void (*filepair_fn)(struct diff_filepair *pair); |
23 | typedef void (*linediff_fn)(char *line, int len); | 23 | typedef void (*linediff_fn)(char *line, int len); |
24 | 24 | ||
25 | struct cacheitem { | 25 | struct cacheitem { |
26 | char *name; | 26 | char *name; |
27 | struct stat st; | 27 | struct stat st; |
28 | int ttl; | 28 | int ttl; |
29 | int fd; | 29 | int fd; |
30 | }; | 30 | }; |
31 | 31 | ||
32 | struct repoinfo { | 32 | struct repoinfo { |
33 | char *url; | 33 | char *url; |
34 | char *name; | 34 | char *name; |
35 | char *path; | 35 | char *path; |
36 | char *desc; | 36 | char *desc; |
37 | char *owner; | 37 | char *owner; |
38 | char *defbranch; | ||
38 | char *module_link; | 39 | char *module_link; |
39 | int snapshots; | 40 | int snapshots; |
40 | }; | 41 | }; |
41 | 42 | ||
42 | struct repolist { | 43 | struct repolist { |
43 | int length; | 44 | int length; |
44 | int count; | 45 | int count; |
45 | struct repoinfo *repos; | 46 | struct repoinfo *repos; |
46 | }; | 47 | }; |
47 | 48 | ||
48 | struct commitinfo { | 49 | struct commitinfo { |
49 | struct commit *commit; | 50 | struct commit *commit; |
50 | char *author; | 51 | char *author; |
51 | char *author_email; | 52 | char *author_email; |
52 | unsigned long author_date; | 53 | unsigned long author_date; |
53 | char *committer; | 54 | char *committer; |
54 | char *committer_email; | 55 | char *committer_email; |
55 | unsigned long committer_date; | 56 | unsigned long committer_date; |
56 | char *subject; | 57 | char *subject; |
57 | char *msg; | 58 | char *msg; |
58 | }; | 59 | }; |
59 | 60 | ||
60 | struct taginfo { | 61 | struct taginfo { |
61 | char *tagger; | 62 | char *tagger; |
62 | char *tagger_email; | 63 | char *tagger_email; |
63 | int tagger_date; | 64 | int tagger_date; |
64 | char *msg; | 65 | char *msg; |
65 | }; | 66 | }; |
66 | 67 | ||
67 | extern const char cgit_version[]; | 68 | extern const char cgit_version[]; |
68 | 69 | ||
69 | extern struct repolist cgit_repolist; | 70 | extern struct repolist cgit_repolist; |
70 | extern struct repoinfo *cgit_repo; | 71 | extern struct repoinfo *cgit_repo; |
71 | 72 | ||
72 | extern char *cgit_root_title; | 73 | extern char *cgit_root_title; |
73 | extern char *cgit_css; | 74 | extern char *cgit_css; |
74 | extern char *cgit_logo; | 75 | extern char *cgit_logo; |
75 | extern char *cgit_logo_link; | 76 | extern char *cgit_logo_link; |
76 | extern char *cgit_module_link; | 77 | extern char *cgit_module_link; |
77 | extern char *cgit_virtual_root; | 78 | extern char *cgit_virtual_root; |
78 | extern char *cgit_script_name; | 79 | extern char *cgit_script_name; |
79 | extern char *cgit_cache_root; | 80 | extern char *cgit_cache_root; |
80 | 81 | ||
81 | extern int cgit_nocache; | 82 | extern int cgit_nocache; |
82 | extern int cgit_snapshots; | 83 | extern int cgit_snapshots; |
83 | extern int cgit_max_lock_attempts; | 84 | extern int cgit_max_lock_attempts; |
84 | extern int cgit_cache_root_ttl; | 85 | extern int cgit_cache_root_ttl; |
85 | extern int cgit_cache_repo_ttl; | 86 | extern int cgit_cache_repo_ttl; |
86 | extern int cgit_cache_dynamic_ttl; | 87 | extern int cgit_cache_dynamic_ttl; |
87 | extern int cgit_cache_static_ttl; | 88 | extern int cgit_cache_static_ttl; |
88 | extern int cgit_cache_max_create_time; | 89 | extern int cgit_cache_max_create_time; |
89 | 90 | ||
90 | extern int cgit_max_msg_len; | 91 | extern int cgit_max_msg_len; |
91 | extern int cgit_max_commit_count; | 92 | extern int cgit_max_commit_count; |
92 | 93 | ||
93 | extern char *cgit_repo_name; | 94 | extern char *cgit_repo_name; |
94 | extern char *cgit_repo_desc; | 95 | extern char *cgit_repo_desc; |
95 | extern char *cgit_repo_owner; | 96 | extern char *cgit_repo_owner; |
96 | 97 | ||
97 | extern int cgit_query_has_symref; | 98 | extern int cgit_query_has_symref; |
98 | extern int cgit_query_has_sha1; | 99 | extern int cgit_query_has_sha1; |
99 | 100 | ||
100 | extern char *cgit_querystring; | 101 | extern char *cgit_querystring; |
101 | extern char *cgit_query_repo; | 102 | extern char *cgit_query_repo; |
102 | extern char *cgit_query_page; | 103 | extern char *cgit_query_page; |
103 | extern char *cgit_query_search; | 104 | extern char *cgit_query_search; |
104 | extern char *cgit_query_head; | 105 | extern char *cgit_query_head; |
105 | extern char *cgit_query_sha1; | 106 | extern char *cgit_query_sha1; |
106 | extern char *cgit_query_sha2; | 107 | extern char *cgit_query_sha2; |
107 | extern char *cgit_query_path; | 108 | extern char *cgit_query_path; |
108 | extern char *cgit_query_name; | 109 | extern char *cgit_query_name; |
109 | extern int cgit_query_ofs; | 110 | extern int cgit_query_ofs; |
110 | 111 | ||
111 | extern int htmlfd; | 112 | extern int htmlfd; |
112 | 113 | ||
113 | extern void cgit_global_config_cb(const char *name, const char *value); | 114 | extern void cgit_global_config_cb(const char *name, const char *value); |
114 | extern void cgit_repo_config_cb(const char *name, const char *value); | 115 | extern void cgit_repo_config_cb(const char *name, const char *value); |
115 | extern void cgit_querystring_cb(const char *name, const char *value); | 116 | extern void cgit_querystring_cb(const char *name, const char *value); |
116 | 117 | ||
117 | extern int chk_zero(int result, char *msg); | 118 | extern int chk_zero(int result, char *msg); |
118 | extern int chk_positive(int result, char *msg); | 119 | extern int chk_positive(int result, char *msg); |
119 | 120 | ||
120 | extern int hextoint(char c); | 121 | extern int hextoint(char c); |
121 | 122 | ||
122 | extern void *cgit_free_commitinfo(struct commitinfo *info); | 123 | extern void *cgit_free_commitinfo(struct commitinfo *info); |
123 | 124 | ||
124 | extern int cgit_diff_files(const unsigned char *old_sha1, | 125 | extern int cgit_diff_files(const unsigned char *old_sha1, |
125 | const unsigned char *new_sha1, | 126 | const unsigned char *new_sha1, |
126 | linediff_fn fn); | 127 | linediff_fn fn); |
127 | 128 | ||
128 | extern void cgit_diff_tree(const unsigned char *old_sha1, | 129 | extern void cgit_diff_tree(const unsigned char *old_sha1, |
129 | const unsigned char *new_sha1, | 130 | const unsigned char *new_sha1, |
130 | filepair_fn fn); | 131 | filepair_fn fn); |
131 | 132 | ||
132 | extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); | 133 | extern void cgit_diff_commit(struct commit *commit, filepair_fn fn); |
133 | 134 | ||