From cca55f82cc39128511d2ce6d76b5fde169a656e2 Mon Sep 17 00:00:00 2001 From: Inex Code Date: Wed, 6 Apr 2022 20:15:59 +0300 Subject: [PATCH] Encode password to base64 during server creation --- fastlane/metadata/android/en-US/changelogs/0.5.2.txt | 1 + lib/logic/api_maps/hetzner.dart | 5 ++++- pubspec.yaml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) create mode 100644 fastlane/metadata/android/en-US/changelogs/0.5.2.txt diff --git a/fastlane/metadata/android/en-US/changelogs/0.5.2.txt b/fastlane/metadata/android/en-US/changelogs/0.5.2.txt new file mode 100644 index 00000000..f7cbcce8 --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/0.5.2.txt @@ -0,0 +1 @@ +- Fixed bug when you couldn't use special symbols in password during server creation. diff --git a/lib/logic/api_maps/hetzner.dart b/lib/logic/api_maps/hetzner.dart index 1f906f85..edc94909 100644 --- a/lib/logic/api_maps/hetzner.dart +++ b/lib/logic/api_maps/hetzner.dart @@ -1,3 +1,4 @@ +import 'dart:convert'; import 'dart:io'; import 'package:dio/dio.dart'; @@ -129,13 +130,15 @@ class HetznerApi extends ApiMap { hostname = 'selfprivacy-server'; } + final base64Password = base64.encode(utf8.encode(rootUser.password ?? 'PASS')); + print("hostname: $hostname"); /// add ssh key when you need it: e.g. "ssh_keys":["kherel"] /// check the branch name, it could be "development" or "master". /// final userdataString = - "#cloud-config\nruncmd:\n- curl https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect/raw/branch/master/nixos-infect | PROVIDER=hetzner NIX_CHANNEL=nixos-21.05 DOMAIN='$domainName' LUSER='${escapeQuotes(rootUser.login)}' PASSWORD='${escapeQuotes(rootUser.password ?? 'PASS')}' CF_TOKEN=$cloudFlareKey DB_PASSWORD=${escapeQuotes(dbPassword)} API_TOKEN=$apiToken HOSTNAME=${escapeQuotes(hostname)} bash 2>&1 | tee /tmp/infect.log"; + "#cloud-config\nruncmd:\n- curl https://git.selfprivacy.org/SelfPrivacy/selfprivacy-nixos-infect/raw/branch/master/nixos-infect | PROVIDER=hetzner NIX_CHANNEL=nixos-21.05 DOMAIN='$domainName' LUSER='${escapeQuotes(rootUser.login)}' ENCODED_PASSWORD='$base64Password' CF_TOKEN=$cloudFlareKey DB_PASSWORD=${escapeQuotes(dbPassword)} API_TOKEN=$apiToken HOSTNAME=${escapeQuotes(hostname)} bash 2>&1 | tee /tmp/infect.log"; print(userdataString); final data = { diff --git a/pubspec.yaml b/pubspec.yaml index fcdd081f..93b7f890 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: selfprivacy description: selfprivacy.org publish_to: 'none' -version: 0.5.1+12 +version: 0.5.2+13 environment: sdk: '>=2.13.4 <3.0.0'