|
@@ -111,6 +111,12 @@ MINIMAL_INSTALL="yes"
|
111
|
111
|
DEFAULT_LANGUAGE='en_GB.UTF-8'
|
112
|
112
|
ONION_ONLY="no"
|
113
|
113
|
|
|
114
|
+# Trove settings
|
|
115
|
+FRIENDS_TROVE_SERVER=
|
|
116
|
+FRIENDS_TROVE_SSH_PORT=2222
|
|
117
|
+FRIENDS_TROVE_PASSWORD=
|
|
118
|
+MY_TROVE_PASSWORD=
|
|
119
|
+
|
114
|
120
|
function show_help {
|
115
|
121
|
echo ''
|
116
|
122
|
echo $"${PROJECT_NAME}-config -f [config filename] -m [min password length]"
|
|
@@ -281,6 +287,16 @@ function save_configuration_file {
|
281
|
287
|
echo "DH_KEYLENGTH=$DH_KEYLENGTH" >> $CONFIGURATION_FILE
|
282
|
288
|
fi
|
283
|
289
|
echo "ONION_ONLY=$ONION_ONLY" >> $CONFIGURATION_FILE
|
|
290
|
+
|
|
291
|
+ if [ $FRIENDS_TROVE_SERVER ]; then
|
|
292
|
+ echo "FRIENDS_TROVE_SERVER=$FRIENDS_TROVE_SERVER" >> $CONFIGURATION_FILE
|
|
293
|
+ fi
|
|
294
|
+ if [ $FRIENDS_TROVE_SSH_PORT ]; then
|
|
295
|
+ echo "FRIENDS_TROVE_SSH_PORT=$FRIENDS_TROVE_SSH_PORT" >> $CONFIGURATION_FILE
|
|
296
|
+ fi
|
|
297
|
+ if [ $FRIENDS_TROVE_PASSWORD ]; then
|
|
298
|
+ echo "FRIENDS_TROVE_PASSWORD=$FRIENDS_TROVE_PASSWORD" >> $CONFIGURATION_FILE
|
|
299
|
+ fi
|
284
|
300
|
}
|
285
|
301
|
|
286
|
302
|
# test a domain name to see if it's valid
|
|
@@ -512,6 +528,47 @@ function interactive_gpg {
|
512
|
528
|
done
|
513
|
529
|
}
|
514
|
530
|
|
|
531
|
+function set_main_repo {
|
|
532
|
+ data=$(tempfile 2>/dev/null)
|
|
533
|
+ trap "rm -f $data" 0 1 2 5 15
|
|
534
|
+ dialog --backtitle $"Freedombone Control Panel" \
|
|
535
|
+ --title $"Main Repository (Trove)" \
|
|
536
|
+ --form $"If you do not wish to use the default repositories they can be obtained from another ${PROJECT_NAME} server acting as a trove.\n\nA trove is a mirrored collection of git repositories for systems which are not yet packaged for Debian.\n\nTo use the defaults just select Ok." 18 65 4 \
|
|
537
|
+ $"URL:" 1 1 "$FRIENDS_TROVE_SERVER" 1 18 40 18 \
|
|
538
|
+ $"SSH Port:" 2 1 "$FRIENDS_TROVE_SSH_PORT" 2 18 10 10000 \
|
|
539
|
+ $"Password:" 3 1 "$FRIENDS_TROVE_PASSWORD" 3 18 40 10000 \
|
|
540
|
+ 2> $data
|
|
541
|
+ sel=$?
|
|
542
|
+ case $sel in
|
|
543
|
+ 1) return;;
|
|
544
|
+ 255) return;;
|
|
545
|
+ esac
|
|
546
|
+ new_trove_url=$(cat $data | sed -n 1p)
|
|
547
|
+ new_trove_ssh_port=$(cat $data | sed -n 2p)
|
|
548
|
+ new_trove_password=$(cat $data | sed -n 3p)
|
|
549
|
+
|
|
550
|
+ if [ ${#new_trove_url} -lt 2 ]; then
|
|
551
|
+ return
|
|
552
|
+ fi
|
|
553
|
+ if [ ${#new_trove_ssh_port} -lt 1 ]; then
|
|
554
|
+ return
|
|
555
|
+ fi
|
|
556
|
+ if [ ${#new_trove_password} -lt 10 ]; then
|
|
557
|
+ dialog --title $"Main Repository" \
|
|
558
|
+ --msgbox $'Trove password was too short. Should be at least 10 characters.' 6 40
|
|
559
|
+ return
|
|
560
|
+ fi
|
|
561
|
+
|
|
562
|
+ if [[ $new_trove_url == *"."* ]]; then
|
|
563
|
+ FRIENDS_TROVE_SERVER=$new_trove_url
|
|
564
|
+ FRIENDS_TROVE_SSH_PORT=$new_trove_ssh_port
|
|
565
|
+ FRIENDS_TROVE_PASSWORD=$new_trove_password
|
|
566
|
+
|
|
567
|
+ dialog --title $"Main Repository" \
|
|
568
|
+ --msgbox $"Main repository set to $FRIENDS_TROVE_SERVER" 6 60
|
|
569
|
+ fi
|
|
570
|
+}
|
|
571
|
+
|
515
|
572
|
function interactive_select_language {
|
516
|
573
|
data=$(tempfile 2>/dev/null)
|
517
|
574
|
trap "rm -f $data" 0 1 2 5 15
|
|
@@ -595,6 +652,11 @@ function interactive_configuration {
|
595
|
652
|
esac
|
596
|
653
|
save_configuration_file
|
597
|
654
|
|
|
655
|
+ if [[ $SYSTEM_TYPE != "$VARIANT_MESH" && $SYSTEM_TYPE != "$VARIANT_MESH_USER" ]]; then
|
|
656
|
+ set_main_repo
|
|
657
|
+ save_configuration_file
|
|
658
|
+ fi
|
|
659
|
+
|
598
|
660
|
if [[ $SYSTEM_TYPE == "$VARIANT_MESH" || $SYSTEM_TYPE == "$VARIANT_MESH_USER" ]]; then
|
599
|
661
|
ENABLE_BATMAN="yes"
|
600
|
662
|
ENABLE_CJDNS="no"
|
|
@@ -1692,6 +1754,15 @@ function read_configuration {
|
1692
|
1754
|
fi
|
1693
|
1755
|
|
1694
|
1756
|
if [ -f $CONFIGURATION_FILE ]; then
|
|
1757
|
+ if grep -q "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE; then
|
|
1758
|
+ FRIENDS_TROVE_SERVER=$(grep "FRIENDS_TROVE_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
1759
|
+ fi
|
|
1760
|
+ if grep -q "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE; then
|
|
1761
|
+ FRIENDS_TROVE_SSH_PORT=$(grep "FRIENDS_TROVE_SSH_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
1762
|
+ fi
|
|
1763
|
+ if grep -q "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE; then
|
|
1764
|
+ FRIENDS_TROVE_PASSWORD=$(grep "FRIENDS_TROVE_PASSWORD" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
1765
|
+ fi
|
1695
|
1766
|
if grep -q "ENABLE_SOCIAL_KEY_MANAGEMENT" $CONFIGURATION_FILE; then
|
1696
|
1767
|
ENABLE_SOCIAL_KEY_MANAGEMENT=$(grep "ENABLE_SOCIAL_KEY_MANAGEMENT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
1697
|
1768
|
fi
|