Mercurial > p > roundup > code
view scripts/Docker/roundup_start @ 6681:ab2ed11c021e
issue2551205: Add support for specifying valid origins for api: xmlrpc/rest
We now have an allow list to filter the hosts allowed to do api
requests. An element of this allow list must match the http ORIGIN
header exactly or the rest/xmlrpc CORS request will result in an
error.
The tracker host is always allowed to do a request.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Tue, 17 May 2022 17:18:51 -0400 |
| parents | b5fb268b7f04 |
| children | 7b9bddda9d2d |
line wrap: on
line source
#! /bin/sh # When container starts verify that the trackers are configured. # If they are, start the server otherwise run roundup-admin # for installation and initialization. # "$@" should be a set of tracker=directory pairs. if ! [ -z "$SHELL_DEBUG" ]; then set -xv fi trap exit INT do_exit=0 for tracker_spec in "$@"; do # IFS== set a=b doesn't assign $1 and $2 in busybox ash # it also clobbers '$@'. 'echo mumble | read' starts read in a # subshell so vars are not available in parent. IFS="=" read tracker directory <<- EOE $tracker_spec EOE # ^ is a tab for use with <<- # was $tracker_spec in the form of a=b, if not ignore it. # allows setting CMD to -i index_template issue=tracker for example. if [ -z "$directory" ]; then continue; fi # something is specified or built wrong. Don't start. if [ ! -d "$directory" ]; then printf "Unable to find directory %s. Exiting\n" "$directory" exit 1 fi # user must define web in config.ini. if ! grep '^\s*web\s\s*=\s\s*' "$directory/config.ini" > /dev/null; then roundup-admin -i "$directory" install do_exit=1 fi # we have a valid config.ini so init database if not done if [ $do_exit == 0 -a ! -e "$directory/.init_done" ]; then if roundup-admin -i "$directory" init; then cat > "$directory/.init_done" <<- EOD Don't delete this file. The docker startup needs it so it won't re-initialze the database destroying all the data. EOD else do_exit=1 fi fi done # if any config.ini needs editing don't start up. if [ $do_exit == 0 ]; then # make roundup-server process 1 with exec exec roundup-server -n 0.0.0.0 "$@" fi exit 0
