|
3 | 3 | source /rest_client.sh
|
4 | 4 | source /utilities.sh
|
5 | 5 |
|
6 |
| -MYSQLCMD="mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -P $MYSQL_PORT -h $MYSQL_HOST -r -N $MYSQL_DATABASE" |
7 |
| - |
8 | 6 | # We now use envsubst for safe variable substitution with pseudo-json objects for env var enforcement
|
9 | 7 | # envsubst won't evaluate anything like $() or conditional variable expansion so lets do that here
|
10 | 8 | export PYTHON_BIN="$(which python3)"
|
@@ -210,10 +208,10 @@ init_user() {
|
210 | 208 | # Create the main user if it is not there already
|
211 | 209 | sudo -u www-data /var/www/MISP/app/Console/cake user init -q > /dev/null 2>&1
|
212 | 210 |
|
213 |
| - echo "UPDATE $MYSQL_DATABASE.users SET email = \"${ADMIN_EMAIL}\" WHERE id = 1;" | ${MYSQLCMD} |
| 211 | + echo "UPDATE $MYSQL_DATABASE.users SET email = \"${ADMIN_EMAIL}\" WHERE id = 1;" | ${MYSQL_CMD} |
214 | 212 |
|
215 | 213 | if [ ! -z "$ADMIN_ORG" ]; then
|
216 |
| - echo "UPDATE $MYSQL_DATABASE.organisations SET name = \"${ADMIN_ORG}\" where id = 1;" | ${MYSQLCMD} |
| 214 | + echo "UPDATE $MYSQL_DATABASE.organisations SET name = \"${ADMIN_ORG}\" where id = 1;" | ${MYSQL_CMD} |
217 | 215 | fi
|
218 | 216 |
|
219 | 217 | if [ -n "$ADMIN_KEY" ]; then
|
@@ -243,7 +241,7 @@ init_user() {
|
243 | 241 | else
|
244 | 242 | echo "... setting admin password skipped"
|
245 | 243 | fi
|
246 |
| - echo "UPDATE $MYSQL_DATABASE.users SET change_pw = 0 WHERE id = 1;" | ${MYSQLCMD} |
| 244 | + echo "UPDATE $MYSQL_DATABASE.users SET change_pw = 0 WHERE id = 1;" | ${MYSQL_CMD} |
247 | 245 | }
|
248 | 246 |
|
249 | 247 | apply_critical_fixes() {
|
@@ -280,76 +278,6 @@ apply_optional_fixes() {
|
280 | 278 | # fi
|
281 | 279 | #}
|
282 | 280 |
|
283 |
| -# Kludgy alternative to using cake Admin getSetting. |
284 |
| -setting_is_set_alt() { |
285 |
| - local setting="$1" |
286 |
| - local config_json=$(echo '<?php require_once "/var/www/MISP/app/Config/config.php"; echo json_encode($config, JSON_THROW_ON_ERROR | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); ?>'|/usr/bin/php) |
287 |
| - local db_settings_enabled=$(jq -e 'getpath(("MISP.system_setting_db" | split("."))) // false' <<< $config_json) |
288 |
| - local setting_in_config_file=$(jq -e 'getpath(("'"$setting"'" | split("."))) != null' <<< $config_json) |
289 |
| - if $setting_in_config_file; then |
290 |
| - return 0 |
291 |
| - elif $db_settings_enabled; then |
292 |
| - local setting_in_db=$(echo "SELECT EXISTS(SELECT 1 FROM $MYSQL_DATABASE.system_settings WHERE setting = \"${setting}\");" | ${MYSQLCMD}) |
293 |
| - if [[ $setting_in_db -eq 1 ]]; then |
294 |
| - return 0 |
295 |
| - fi |
296 |
| - fi |
297 |
| - return 1 |
298 |
| -} |
299 |
| - |
300 |
| -set_default_settings() { |
301 |
| - local settings_json="$1" |
302 |
| - local description="$2" |
303 |
| - |
304 |
| - for setting in $(jq -r 'keys[]' <<< $settings_json); do |
305 |
| - local default_value="$(jq -r '."'"$setting"'"["default_value"]' <<< $settings_json)" |
306 |
| - local command_args="$(jq -r '."'"$setting"'"["command_args"] // ""' <<< $settings_json)" |
307 |
| - |
308 |
| - set_safe_default "$setting" "$default_value" "$description" "$command_args" |
309 |
| - done |
310 |
| -} |
311 |
| - |
312 |
| -enforce_env_settings() { |
313 |
| - local settings_json="$1" |
314 |
| - local description="$2" |
315 |
| - for setting in $(jq -r 'keys[]' <<< $settings_json); do |
316 |
| - local default_value="$(jq -r '."'"$setting"'"["default_value"]' <<< $settings_json)" |
317 |
| - local command_args="$(jq -r '."'"$setting"'"["command_args"] // ""' <<< $settings_json)" |
318 |
| - echo "Enforcing $description setting '$setting' to env var or default value '$default_value'..." |
319 |
| - sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting -q $command_args "$setting" "$default_value" |
320 |
| - done |
321 |
| -} |
322 |
| - |
323 |
| -set_safe_default() { |
324 |
| - local setting="$1" |
325 |
| - local default_value="$2" |
326 |
| - local description="$3" |
327 |
| - local command_args="$4" |
328 |
| - |
329 |
| - if ! setting_is_set_alt "$setting"; then |
330 |
| - echo "Updating unset $description setting '$setting' to '$default_value'..." |
331 |
| - sudo -u www-data /var/www/MISP/app/Console/cake Admin setSetting -q $command_args "$setting" "$default_value" |
332 |
| - fi |
333 |
| -} |
334 |
| - |
335 |
| -init_settings() { |
336 |
| - local description="$1" |
337 |
| - local enforced="/etc/misp-docker/${description}.envars.json" |
338 |
| - local defaults="/etc/misp-docker/${description}.defaults.json" |
339 |
| - |
340 |
| - if [[ -e "$enforced" ]]; then |
341 |
| - echo "... enforcing env var settings" |
342 |
| - local settings_json="$(envsubst < $enforced)" |
343 |
| - enforce_env_settings "$settings_json" "$description" |
344 |
| - fi |
345 |
| - |
346 |
| - if [[ -e "$defaults" ]]; then |
347 |
| - echo "... checking for unset default settings" |
348 |
| - local settings_json="$(cat $defaults)" |
349 |
| - set_default_settings "$settings_json" "$description" |
350 |
| - fi |
351 |
| -} |
352 |
| - |
353 | 281 | update_components() {
|
354 | 282 | UPDATE_SUDO_CMD="sudo -u www-data"
|
355 | 283 | if [ ! -z "${DB_ALREADY_INITIALISED}" ]; then
|
|
0 commit comments