* Open group URL regex fixes - Capital letters in room tokens were not being accepted (it eventually gets lower-cased internally, which works fine, but that happens *after* the URL is tested for acceptability). - `-` in room was not being allowed (it is and always has been on SOGS, session-android, and session-ios). - single-letter room ids are valid, but only 2+ letter ids were being accepted. - complete URL regex wasn't anchored so something like `garbagehttps://example.com/room?public_key=<64hex>moregarbage` was being accepted in the GUI input (it fails later when other code tries to parse it as a URL). - removed `m` modifier from open group regex: without anchors it wasn't doing anything anyway, but *with* anchors it would still allow leading/trailing garbage if delineated by newlines. - public key regex was accepting g-z letters, and not accepting A-F. - various regex cleanups: - use non-capture groups (?:...) rather than capturing groups (...) - avoid repetition in host segment matching - tightened up host pattern matching a bit: - DNS host segments have a max length of 63 - Limit port max length to 5, and disallow starting with 0 * Show an error when the open group URL is invalid It's quite disconcerting when you have a bad open group URL and try to add it and the join button just "doesn't work" without any feedback at all. Fix it to show an error message. (There is already an i18n entry for this because this same message is thrown if the URL can't be parsed later on). |
3 years ago | |
---|---|---|
.github | 4 years ago | |
_locales | 3 years ago | |
app | 4 years ago | |
build | 4 years ago | |
certificates | 4 years ago | |
config | 4 years ago | |
fixtures | 4 years ago | |
fonts | 4 years ago | |
images | 4 years ago | |
js | 3 years ago | |
libtextsecure | 4 years ago | |
mnemonic_languages | 6 years ago | |
protos | 4 years ago | |
sound | 4 years ago | |
stylesheets | 3 years ago | |
tools | 3 years ago | |
ts | 3 years ago | |
.editorconfig | 7 years ago | |
.eslintignore | 4 years ago | |
.eslintrc.js | 4 years ago | |
.gitattributes | 6 years ago | |
.gitignore | 4 years ago | |
.nvmrc | 4 years ago | |
.prettierignore | 4 years ago | |
.prettierrc.js | 4 years ago | |
.yarnclean | 4 years ago | |
BUILDING.md | 4 years ago | |
CODE_OF_CONDUCT.md | 4 years ago | |
CONTRIBUTING.md | 4 years ago | |
Gruntfile.js | 4 years ago | |
LICENSE | 8 years ago | |
README.md | 4 years ago | |
RELEASING.md | 5 years ago | |
about.html | 4 years ago | |
about_preload.js | 5 years ago | |
background.html | 4 years ago | |
background_test.html | 4 years ago | |
debug_log.html | 5 years ago | |
debug_log_preload.js | 4 years ago | |
dev-app-update.yml.sample | 5 years ago | |
find_broken_perms.sh | 8 years ago | |
fix_broken_perms.sh | 6 years ago | |
index.html | 4 years ago | |
main.js | 4 years ago | |
package.json | 3 years ago | |
password.html | 5 years ago | |
password_preload.js | 4 years ago | |
preload.js | 3 years ago | |
tsconfig.json | 4 years ago | |
tslint.json | 4 years ago | |
yarn.lock | 4 years ago |
README.md
Session Desktop
Summary
Session integrates directly with Oxen Service Nodes, which are a set of distributed, decentralized and Sybil resistant nodes. Service Nodes act as servers which store messages offline, and a set of nodes which allow for onion routing functionality obfuscating users IP Addresses. For a full understanding of how Session works, read the Session Whitepaper.
Want to Contribute? Found a Bug or Have a feature request?
Please search for any existing issues that describe your bugs in order to avoid duplicate submissions.
Submissions can be made by making a pull request to our development branch. If you don't know where to start contributing, try reading the Github issues page for ideas.
Build instruction
Build instructions can be found in BUILDING.md.
Verifing signatures
Get Kee's key and import it:
wget https://raw.githubusercontent.com/oxen-io/oxen-core/master/utils/gpg_keys/KeeJef.asc
gpg --import KeeJef.asc
Get the signed hash for this release, the SESSION_VERSION needs to be updated for the release you want to verify
export SESSION_VERSION=1.6.1
wget https://github.com/oxen-io/session-desktop/releases/download/v$SESSION_VERSION/signatures.asc
Verify the signature of the hashes of the files
gpg --verify signatures.asc 2>&1 |grep "Good signature from"
The command above should print "Good signature from "Kee Jefferys...
"
If it does, the hashes are valid but we still have to make the sure the signed hashes matches the downloaded files.
Make sure the two commands below returns the same hash. If they do, files are valid
sha256sum session-desktop-linux-amd64-$SESSION_VERSION.deb
grep .deb signatures.asc
Debian repository
Please visit https://deb.oxen.io/
License
Copyright 2011 Whisper Systems
Copyright 2013-2017 Open Whisper Systems
Copyright 2019-2021 The Oxen Project
Licensed under the GPLv3: http://www.gnu.org/licenses/gpl-3.0.html