Add git owner verification option
gitile/config.scm
| 25 | 25 | config-host | |
| 26 | 26 | config-database | |
| 27 | 27 | config-repositories | |
| 28 | + | config-git-owner-validation? | |
| 28 | 29 | config-base-git-url | |
| 29 | 30 | config-index-title | |
| 30 | 31 | config-intro | |
| 31 | 32 | config-footer)) | |
| 32 | 33 | ||
| 33 | 34 | (define-record-type <config> | |
| 34 | - | (make-config port host database repositories base-git-url index-title intro footer) | |
| 35 | + | (make-config port host database repositories git-owner-validation? | |
| 36 | + | base-git-url index-title intro footer) | |
| 35 | 37 | config? | |
| 36 | - | (port config-port) | |
| 37 | - | (host config-host) | |
| 38 | - | (database config-database) | |
| 39 | - | (repositories config-repositories) | |
| 40 | - | (base-git-url config-base-git-url) | |
| 41 | - | (index-title config-index-title) | |
| 42 | - | (intro config-intro) | |
| 43 | - | (footer config-footer)) | |
| 38 | + | (port config-port) | |
| 39 | + | (host config-host) | |
| 40 | + | (database config-database) | |
| 41 | + | (repositories config-repositories) | |
| 42 | + | (git-owner-validation? config-git-owner-validation?) | |
| 43 | + | (base-git-url config-base-git-url) | |
| 44 | + | (index-title config-index-title) | |
| 45 | + | (intro config-intro) | |
| 46 | + | (footer config-footer)) |
gitile/handler.scm
| 19 | 19 | (define-module (gitile handler) | |
| 20 | 20 | #:use-module (fibers web server) | |
| 21 | 21 | #:use-module (git) | |
| 22 | + | #:use-module (git settings) | |
| 22 | 23 | #:use-module (gitile config) | |
| 23 | 24 | #:use-module (gitile pages) | |
| 24 | 25 | #:use-module (gitile repo) | |
… | |||
| 209 | 210 | (loop projects)))))))) | |
| 210 | 211 | ||
| 211 | 212 | (match config | |
| 212 | - | (($ <config> port host database repositories base-git-url index-title intro | |
| 213 | - | footer) | |
| 213 | + | (($ <config> port host database repositories owner-validation? base-git-url | |
| 214 | + | index-title intro footer) | |
| 215 | + | (set-owner-validation! owner-validation?) | |
| 214 | 216 | (lambda (request body) | |
| 215 | 217 | (pk 'request request) | |
| 216 | 218 | (pk 'body (if body (utf8->string body) body)) | |
scripts/gitile.in
| 27 | 27 | (define* (main #:optional (args (command-line))) | |
| 28 | 28 | (let ((config | |
| 29 | 29 | (match args | |
| 30 | - | ((_) (make-config 8080 "localhost" "/var/lib/gitile/gitile-db.sql" | |
| 30 | + | ((_) (make-config 8080 "localhost" "/var/lib/gitile/gitile-db.sql" #t | |
| 31 | 31 | "/var/lib/gitolite/repositories" "//" "Index" '() '())) | |
| 32 | 32 | ((_ "-c" file) | |
| 33 | 33 | (let ((content (call-with-input-file file read))) | |
| 34 | 34 | (match content | |
| 35 | 35 | (('config ('port port) ('host host) ('database database) | |
| 36 | - | ('repositories repositories) ('base-git-url git-base-url) | |
| 37 | - | ('index-title index-title) ('intro intro) ('footer footer)) | |
| 38 | - | (make-config port host database repositories git-base-url index-title | |
| 39 | - | intro footer))))) | |
| 36 | + | ('repositories repositories) ('git-owner-validation? validation?) | |
| 37 | + | ('base-git-url git-base-url) ('index-title index-title) | |
| 38 | + | ('intro intro) ('footer footer)) | |
| 39 | + | (make-config port host database repositories validation? | |
| 40 | + | git-base-url index-title intro footer))))) | |
| 40 | 41 | (_ (format #t "Usage: ~a [-c config-file]~%" (car args)))))) | |
| 41 | 42 | (run-server (gitile-handler config) | |
| 42 | 43 | #:port (config-port config)))) |