mirror of
https://github.com/rwinkhart/sshyp.git
synced 2026-09-05 16:47:14 -04:00
Fixed required options not being set when switching from server to client modes
Former-commit-id: 70c190d280802779a92fe2ad509c648134ea83aa Former-commit-id: a2d939cd3b467186714625da7eae0027e738c5e0
This commit is contained in:
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
from configparser import ConfigParser, NoSectionError
|
from configparser import ConfigParser, NoSectionError, NoOptionError
|
||||||
from os import chmod, environ, listdir, walk
|
from os import chmod, environ, listdir, walk
|
||||||
from os.path import expanduser, isdir, isfile, realpath
|
from os.path import expanduser, isdir, isfile, realpath
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
@@ -646,7 +646,7 @@ if __name__ == "__main__":
|
|||||||
ssh_error = int(sshyp_data.get('CLIENT-ONLINE', 'ssh_error'))
|
ssh_error = int(sshyp_data.get('CLIENT-ONLINE', 'ssh_error'))
|
||||||
if ssh_error == 1:
|
if ssh_error == 1:
|
||||||
ssh_error = copy_id_check(port, username_ssh, ip, client_device_id, sshyp_data)
|
ssh_error = copy_id_check(port, username_ssh, ip, client_device_id, sshyp_data)
|
||||||
except (FileNotFoundError, NoSectionError):
|
except (FileNotFoundError):
|
||||||
print(f"\n{73*'!'}")
|
print(f"\n{73*'!'}")
|
||||||
print("not all necessary configurations have been made - please run 'sshyp init'")
|
print("not all necessary configurations have been made - please run 'sshyp init'")
|
||||||
print(f"{73*'!'}\n")
|
print(f"{73*'!'}\n")
|
||||||
|
|||||||
+24
-8
@@ -6,7 +6,6 @@ from os.path import exists, expanduser, isfile
|
|||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from random import randint
|
from random import randint
|
||||||
from shutil import get_terminal_size, which
|
from shutil import get_terminal_size, which
|
||||||
from sshyp import copy_id_check, string_gen
|
|
||||||
from subprocess import PIPE, run
|
from subprocess import PIPE, run
|
||||||
# PORT START UNAME-IMPORT-STWEAK
|
# PORT START UNAME-IMPORT-STWEAK
|
||||||
from os import uname
|
from os import uname
|
||||||
@@ -197,6 +196,7 @@ def ssh_config():
|
|||||||
|
|
||||||
# device id configuration
|
# device id configuration
|
||||||
def dev_id_config(_ip, _username_ssh, _port):
|
def dev_id_config(_ip, _username_ssh, _port):
|
||||||
|
from sshyp import copy_id_check, string_gen
|
||||||
_device_id_prefix = curses_text('name this device:\n\n\n\n\n(ctrl+g/enter to confirm)\n\nimportant: this '
|
_device_id_prefix = curses_text('name this device:\n\n\n\n\n(ctrl+g/enter to confirm)\n\nimportant: this '
|
||||||
'id must be unique amongst your client devices\n\nthis is used to keep track of '
|
'id must be unique amongst your client devices\n\nthis is used to keep track of '
|
||||||
'database syncing and quick-unlock permissions\n')
|
'database syncing and quick-unlock permissions\n')
|
||||||
@@ -454,13 +454,29 @@ def global_menu(_device_type, _top_message):
|
|||||||
|
|
||||||
if _choice == 0:
|
if _choice == 0:
|
||||||
_dev_sync_types = install_type()
|
_dev_sync_types = install_type()
|
||||||
# if not running in server or offline mode and a sshync config has not been made
|
# if switching to client mode...
|
||||||
if _dev_sync_types[0] != 'server' and _dev_sync_types[1] != 'true' \
|
if _dev_sync_types[0] == 'client':
|
||||||
and not sshyp_data.has_section('SSHYNC'):
|
# ...and gpg settings are missing
|
||||||
_ip, _username_ssh, _port = ssh_config()
|
if not sshyp_data.has_option('CLIENT-GENERAL', 'gpg_id'):
|
||||||
# if no device id is set
|
gpg_config()
|
||||||
if not listdir(f"{home}/.config/sshyp/devices"):
|
# ...and text editor settings are missing
|
||||||
dev_id_config(_ip, _username_ssh, _port)
|
if not sshyp_data.has_option('CLIENT-GENERAL', 'text_editor'):
|
||||||
|
editor_config(True)
|
||||||
|
# ...and online (synced) mode is enabled...
|
||||||
|
if _dev_sync_types[1] == 'false':
|
||||||
|
# ...and quick-unlock settings are missing
|
||||||
|
if not sshyp_data.has_option('CLIENT-ONLINE', 'quick_unlock_enabled'):
|
||||||
|
quick_unlock_config(True)
|
||||||
|
# ...and there is no sshync config present
|
||||||
|
if not sshyp_data.has_section('SSHYNC'):
|
||||||
|
_ip, _username_ssh, _port = ssh_config()
|
||||||
|
# ...and there is no device ID present
|
||||||
|
if not listdir(f"{home}/.config/sshyp/devices"):
|
||||||
|
dev_id_config(_ip, _username_ssh, _port)
|
||||||
|
# ...or ssh_error is missing
|
||||||
|
elif not sshyp_data.has_option('CLIENT-ONLINE', 'ssh_error'):
|
||||||
|
sshyp_data.set('CLIENT-ONLINE', 'ssh_error', '1')
|
||||||
|
write_config()
|
||||||
_device_type = _dev_sync_types[0]
|
_device_type = _dev_sync_types[0]
|
||||||
elif _choice == 1:
|
elif _choice == 1:
|
||||||
if _device_type == 'client':
|
if _device_type == 'client':
|
||||||
|
|||||||
Reference in New Issue
Block a user