diff --git a/README.md b/README.md index 0b66e330..e0d3ed47 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ The following applies to Ubuntu Bionic. Other distros may have different package * Clone the git repo: `$ git clone https://gitlab.com/beardog/onionr` * cd into install direction: `$ cd onionr/` * Install the Python dependencies ([virtualenv strongly recommended](https://virtualenv.pypa.io/en/stable/userguide/)): `$ pip3 install --require-hashes -r requirements.txt` +* (Optional): Install desktop notification dependencies: `$ pip3 install --require-hashes -r requirements-notifications.txt` (--require-hashes is intended to prevent exploitation via compromise of PyPi/CA certificates) diff --git a/onionr/onionrservices/httpheaders.py b/onionr/onionrservices/httpheaders.py index 5726a276..097b8c40 100755 --- a/onionr/onionrservices/httpheaders.py +++ b/onionr/onionrservices/httpheaders.py @@ -31,5 +31,5 @@ def set_default_onionr_http_headers(flask_response): flask_response.headers['Connection'] = "close" flask_response.headers['Clear-Site-Data'] = '"cache", "cookies", "storage", "executionContexts"' flask_response.headers['Feature-Policy'] = FEATURE_POLICY - flask_response.headers['Referrer-Policy'] = 'no-referrer' + flask_response.headers['Referrer-Policy'] = 'same-origin' return flask_response \ No newline at end of file diff --git a/onionr/onionrusers/contactmanager.py b/onionr/onionrusers/contactmanager.py index 89774b5c..00baebea 100755 --- a/onionr/onionrusers/contactmanager.py +++ b/onionr/onionrusers/contactmanager.py @@ -22,9 +22,17 @@ import unpaddedbase32 from onionrusers import onionrusers from onionrutils import bytesconverter, epoch from utils import identifyhome + +import mnemonic class ContactManager(onionrusers.OnionrUser): def __init__(self, publicKey, saveUser=False, recordExpireSeconds=5): - publicKey = unpaddedbase32.repad(bytesconverter.str_to_bytes(publicKey)).decode() + try: + if " " in publicKey: + publicKey = mnemonic.Mnemonic('english').to_entropy(publicKey) + publicKey = unpaddedbase32.b32encode(bytesconverter.str_to_bytes(publicKey)) + except ValueError: + pass + publicKey = bytesconverter.bytes_to_str(unpaddedbase32.repad(bytesconverter.str_to_bytes(publicKey))) super(ContactManager, self).__init__(publicKey, saveUser=saveUser) home = identifyhome.identify_home() self.dataDir = home + '/contacts/' diff --git a/onionr/static-data/www/friends/index.html b/onionr/static-data/www/friends/index.html index 661e29ee..c362e94b 100755 --- a/onionr/static-data/www/friends/index.html +++ b/onionr/static-data/www/friends/index.html @@ -102,7 +102,7 @@

+ minlength="52" maxlength="500" required>