Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README update #616

Open
wants to merge 401 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
401 commits
Select commit Hold shift + click to select a range
a23383a
no git clean for qt5
Jul 31, 2019
09eb591
Added contributors
PeterTonoli Aug 4, 2019
df87184
Updated contact email address
PeterTonoli Aug 9, 2019
9b2144f
Merge pull request #17 from PeterTonoli/master
PeterTonoli Aug 10, 2019
698295e
Added Linux release to README
PeterTonoli Aug 11, 2019
43bcec6
Merge pull request #18 from PeterTonoli/master
PeterTonoli Aug 11, 2019
fd00d1a
Debian packaging, manpage, fixed static build
m-simonelli Jul 6, 2020
e2e359b
Fix version number for debian packages
m-simonelli Jul 6, 2020
d6a2dc8
Bump version number to 3.0.0 in source, update deprecated QT usage
m-simonelli Jul 6, 2020
ff493e8
Merge branch 'debian-build' of https://github.com/blueprint-freespeec…
m-simonelli Jul 6, 2020
cac4cd1
Add ricochet-refresh to the gitignore
m-simonelli Jul 6, 2020
84c5cc4
Update ricochet refresh to have a new CFBundleIdentifier
m-simonelli Jul 6, 2020
37c36d9
Base32 tests
m-simonelli Jul 7, 2020
135b712
Fix implicit operator declaration warning
m-simonelli Jul 10, 2020
d69de66
Update rules
m-simonelli Jul 12, 2020
feb0d05
Merge pull request #31 from blueprint-freespeech/ricochet-refresh-git…
m-simonelli Jul 21, 2020
b185df6
Merge pull request #32 from blueprint-freespeech/macos-cfbundleidenti…
m-simonelli Jul 21, 2020
7bf4157
Fix base32 + unit tests
m-simonelli Jul 21, 2020
7beb6de
Update CryptoKey.cpp
m-simonelli Jul 21, 2020
ce8aca2
Remove unneeded constructors/destructors/copy constructors for CryptoKey
m-simonelli Jul 21, 2020
416de45
Update CryptoKey.h
m-simonelli Jul 21, 2020
9bfa28b
Base32 is now RFC4648 compliant, tests rewritten to be cleaner
m-simonelli Jul 21, 2020
5c15db1
Remove non RFC4648 test cases
m-simonelli Jul 22, 2020
2db08a0
Merge pull request #34 from blueprint-freespeech/warnings-fix
chrisculnane Jul 22, 2020
cf12b73
Merge pull request #33 from blueprint-freespeech/base32_tests
m-simonelli Jul 22, 2020
e32e094
Scaling to higher DPI + updated .gitignore for new file tree
m-simonelli Aug 4, 2020
7f177fa
Update main.cpp
m-simonelli Aug 4, 2020
b709191
Merge pull request #38 from blueprint-freespeech/dpi-scaling
chrisculnane Aug 9, 2020
004702a
build: added ricochet-refresh binary .gitignore file
Jul 15, 2020
2b5fc1b
build: integrated fmt library for debug logging
Jul 16, 2020
40e8faa
logger: added ostream operator<< support to QString
Jul 16, 2020
dad5a8f
warning fix: replaced depracated call to qLowerBound with std::lower_…
Jul 16, 2020
971488b
warning fix: replace depracated signal with QProcess::errorOcurred
Jul 16, 2020
e5980cc
warning fix: refactored Connections onFoo callbacks to use new 5.15 s…
Jul 17, 2020
a208915
logger: tweaked timestamp format and added trace log capability
Jul 17, 2020
62b1558
qml: fixed various null pointer dereferences in qml
Jul 17, 2020
11d9423
logger: added support for logging QByteArray (as hex dump) and std::t…
Jul 17, 2020
741f87b
debug: added logging of all sent and received packets
Jul 17, 2020
e9e67e0
logger: moved operator<< implementations to logger.cpp file
Jul 20, 2020
73b15eb
logging: added a bunch of logging of packets/messages and trace logs
Jul 21, 2020
e00a1f1
v3onion: added service id explicitly to Data:AuthHiddenService::Proof…
Jul 21, 2020
9000b16
v3onion: purged code related to legacy data directory
Jul 21, 2020
ceab802
v3onion: purged now unused KeyFormat::PEM related code
Jul 21, 2020
10ad822
v3onion: removed QT_NO_CAST_FROM_ASCII so we can create QtString from…
Jul 21, 2020
9ffdd79
v3onion: refactor CryptoKey and added new loadFromKeyBlobb(const QByt…
Jul 21, 2020
452dcb9
v3onion: CryptoKey is now saved to ricochet.json in tor's KeyBlob format
Jul 21, 2020
4799372
v3onion: CryptoKey::encodedPrivateKey now private; further ignoring s…
Jul 21, 2020
9f95019
build: added tor repo as a submodule
Jul 22, 2020
fc786b5
build: moved ricochet source down a directory into tego-ui as first s…
Jul 23, 2020
64c0b76
build: moved tests under src and got them building (but not passing)
Jul 23, 2020
32492f3
build: added check for Qt 5.15 and moved build artifacts and final bi…
Aug 3, 2020
9c32b47
build: moved the DESTDIR logic to includeable artifacts.pri file for …
Aug 3, 2020
4759730
build: bins and artifacts no live in a root build directory
Aug 3, 2020
909cb31
build: added new libtego project
Aug 3, 2020
908d2fd
build: moved hardened.pri and protobuf.pri into qmake_includes directory
Aug 3, 2020
f685df7
build: moved ricochet.pro down into tego-ui project directory
Aug 3, 2020
aa3eab6
build: created a parent project that invokes both libtego and tego-ui
Aug 3, 2020
6694be3
build: fixed badly named header in libtego
Aug 3, 2020
55667f8
build: added libtego as dependency for tego-ui
Aug 3, 2020
1376170
build: moved extern directory under src
Aug 4, 2020
2f020ab
build: link libtego into tego-ui
Aug 4, 2020
bc22198
build: pulled down fmt to extern directory and moved logger into libt…
Aug 5, 2020
0f0af4a
build: libtego now using precompiled headers
Aug 5, 2020
b19c408
build: tego-ui now using precompiled headers, migrated all global/unc…
Aug 5, 2020
27e6292
build: moved tor submodule under src/extern and checked out maint-0.4…
Aug 5, 2020
3519b72
build: removed reference to fmt sources from tego-ui.pro
Aug 7, 2020
a15814f
libtego: integrated the donna ed25519 code into libtego, stubbed out …
Aug 11, 2020
79ca5b4
libtego: implemented tego_ed25519_private_key_from_ed25519_keyblob; i…
Aug 11, 2020
3fa1906
libtego: implemented tego_ed25519_keyblob_from_ed25519_private_key; i…
Aug 11, 2020
ba7efec
libtego: implemented tego_ed25519_public_key_from_v3_onion_domain; re…
Aug 12, 2020
a412711
libtego: moved truncated checksum calculation into own function
Aug 12, 2020
976b460
libtego: implemented tego_v3_service_id_from_ed25519_public_key
Aug 12, 2020
1722d11
libtego: implemented tego_ed25519_signature_from_data; implemented te…
Aug 12, 2020
be21e1f
libtego: implemented tego_message_ed25519_sign; implement tego_ed2551…
Aug 13, 2020
3f5a20b
libtego: refactor some APIs to take explicit lenghts; added tego_v3_o…
Aug 13, 2020
7994c33
libtego: fixed bug in tego_message_ed25519_sign function signature
Aug 13, 2020
916556a
libtego: added thread id to logger messages
Aug 13, 2020
8725443
libtego: refactor typedefs to be to structs rather than struct* and u…
Aug 13, 2020
2e0c46e
tego-ui: WIP! now using v3 onions
Aug 14, 2020
769003e
libtego: added mock orconfig.h (normally generated by tor build) so t…
Aug 17, 2020
434612a
libtego: fixed bug in signature generation
Aug 17, 2020
cb7113c
tego-ui: reimplemented proof signing
Aug 17, 2020
bb846bc
build: various Qt and QML warning and error fixes
Jul 16, 2020
c5a8969
build: restructured project layout
Jul 16, 2020
5f3298f
libtego: integrated the donna ed25519 code into libtego, implemented …
Aug 11, 2020
55d29d7
tego-ui: added v3 onion support to ricochet
Jul 21, 2020
790b44e
Merge pull request #39 from pospeselr/v3onion-dev
chrisculnane Aug 23, 2020
99b77ad
Merge pull request #40 from blueprint-freespeech/v3-WIP
chrisculnane Aug 23, 2020
c80dc46
Update README.md
chrisculnane Aug 23, 2020
d35ce96
Merge pull request #41 from blueprint-freespeech/readme-patch-warn-wip
chrisculnane Aug 23, 2020
a36c068
Revert "V3 wip"
chrisculnane Aug 23, 2020
642b4c9
Merge pull request #43 from blueprint-freespeech/revert-40-v3-WIP
chrisculnane Aug 23, 2020
0ff42f6
Merge pull request #44 from pospeselr/v3onion-review
chrisculnane Aug 23, 2020
eb02907
Merge pull request #45 from blueprint-freespeech/v3-review-merge
chrisculnane Aug 23, 2020
00f22e8
Initial creation of CONTRIBUTION.md
chrisculnane Aug 25, 2020
35f0049
Correcting typos
chrisculnane Aug 25, 2020
5b6b4a7
Create CODE_OF_CONDUCT.md
chrisculnane Aug 25, 2020
879dbdf
Added link to CODE_OF_CONDUCT
chrisculnane Aug 25, 2020
50fb7a1
Merge pull request #1 from chrisculnane/add-code-of-conduct
chrisculnane Aug 25, 2020
da5e3c5
Included QTLite options in build-deps.sh
m-simonelli Aug 28, 2020
ceb3223
Delete ricochet.pro
m-simonelli Aug 28, 2020
7477529
Delete main.cpp
m-simonelli Aug 28, 2020
03e07d7
Delete ricochet-refresh.desktop
m-simonelli Aug 28, 2020
3839a16
Update tego_ui.pro
m-simonelli Aug 28, 2020
0f1ecbd
Update main.cpp
m-simonelli Aug 28, 2020
9be86d4
Update ricochet-refresh.desktop
m-simonelli Aug 28, 2020
1c00ab6
Merge pull request #47 from blueprint-freespeech/version-update
m-simonelli Sep 9, 2020
cf20db4
Merge pull request #30 from blueprint-freespeech/debian-build
chrisculnane Sep 10, 2020
0ea6f9e
fixed UI for V3 onions, fixed tests for V3 onions
m-simonelli Sep 29, 2020
e9a6618
libtego-ui: specify protobuf syntax version
m-simonelli Sep 29, 2020
6cf6d78
libtego_ui: updated deprecated qrand to QRandomGenerator::global()->g…
m-simonelli Sep 29, 2020
41f3c34
libtego_ui: change qrandomgenerator from generate64 to bounded
m-simonelli Sep 29, 2020
935398b
libtego_ui: moved qt include to precomp
m-simonelli Sep 29, 2020
cd638e5
Merge branch 'qt-fixes' of https://github.com/m-simonelli/tego-core i…
m-simonelli Sep 29, 2020
85e4c00
tego_ui: QRandomGenerator::global should not be manually seeded.
m-simonelli Oct 1, 2020
1790f3d
Merge pull request #48 from m-simonelli/qt-fixes
chrisculnane Oct 12, 2020
fe5d9ce
80 character format to CONTRIBUTE.d
chrisculnane Oct 12, 2020
6cd5c6b
Added code format to git commands
chrisculnane Oct 12, 2020
0f014c0
Changed CODE_OF_CONDUCT to use new email address
chrisculnane Oct 12, 2020
f25f387
build: various qmake and source changes to support building from tego…
pospeselr Sep 3, 2020
90ec330
build: updated version to 3.0.0a and pass down through qmake file to …
Oct 16, 2020
0d72712
Merge pull request #46 from chrisculnane/contribute-guidelines
chrisculnane Oct 19, 2020
f9e2d24
Merge pull request #49 from pospeselr/tego-build
chrisculnane Oct 19, 2020
d9924ab
Update email in changelog
m-simonelli Oct 23, 2020
d2c4ae2
Update email in control
m-simonelli Oct 23, 2020
01c9985
Merge pull request #50 from blueprint-freespeech/contribution-guide
chrisculnane Oct 25, 2020
d7954f6
Merge pull request #51 from blueprint-freespeech/debian-email-update
chrisculnane Oct 25, 2020
51437b8
Merge pull request #21 from chrisculnane/blueprint-master
chrisculnane Oct 26, 2020
f68ef30
Merge pull request #2 from blueprint-freespeech/blueprint-master
chrisculnane Oct 30, 2020
5027608
Merge pull request #22 from chrisculnane/blueprint-master
chrisculnane Oct 30, 2020
a419133
build: fixed protobuf.pri file for linux builds
Oct 22, 2020
b791f01
build: moved all of the non-UI qt code out of libtego_ui to libtego
Oct 22, 2020
64aac47
build: updated BUILDING.md readme
Oct 22, 2020
e6f1c19
libtego: started work extricating the Settings spaghetti; updated min…
Oct 24, 2020
839540a
libtego_ui: added cpp for callback definitions
Oct 24, 2020
42d4be0
libtego: removed SettingsObject dependency from IdentityManager
Oct 24, 2020
34f869a
libtego: stubbed out new ricochet APIs to starting tor, service and c…
Oct 26, 2020
6882a82
litego: added tego_context_forget_user function declaration to tego h…
Oct 27, 2020
32317d3
build: libtego's internal Qt type headers are now soft linked in libt…
Oct 27, 2020
229585a
libtego: fixed type in tego.h header
Oct 28, 2020
108fe09
libtego: implemented must of the plumbing for a worker thread to trig…
Oct 28, 2020
85b04ee
build: fixed compile warning caused by overzealous header pruning
Oct 28, 2020
6f18aba
build: fixed debug dev build
Oct 29, 2020
ae72baf
libtego: added new identity callback to be fired when host private ke…
Oct 29, 2020
6c3da5a
libtego: further implementation fo the background task thread used to…
Oct 29, 2020
dab1738
libtego, libtego_ui: implemented on_new_identity_created callback in …
Oct 29, 2020
323735e
libtego, libtego_ui: replaced uniqueId with hostname in ContactUser, …
Nov 4, 2020
613b3b7
libtego: migrated saving request.status to frotnend via user_status_c…
Nov 5, 2020
714bce9
libtego: added callback for when user responds to a chat a request (d…
Nov 5, 2020
2b92dd5
libtego: removed SettingsObject dependencies from OutgoingContactRequ…
Nov 5, 2020
570d2d4
tego_ui: removed legacy settings import logic
Nov 6, 2020
e769d26
libtego: created globals singleton and moved the singleton tego_conte…
Nov 6, 2020
e923438
libtego: moved openssl and securerng init into tego_initialize()
Nov 6, 2020
63a42ed
libtego: tweaked the logger::trace() method to be more informative
Nov 10, 2020
f2f15b1
libtego: added countof function to precomp.h
Nov 10, 2020
5912960
added new TEGO_THROW_MSG macro
Nov 10, 2020
c8150dd
libtego, libtego_ui: removed Tor::TorControl visibility from libtego_…
Nov 10, 2020
439fe8b
libtego, libtego_ui: daemon settings now passed down from shim::TorCo…
Nov 17, 2020
46f2014
libtego, libtego_ui: mostly excised TorManager and TorProcess from li…
Nov 18, 2020
92abd25
libtego_ui: implemented shim UserIdentity object
Nov 24, 2020
c90352c
libtego_ui: swapped out UserIdentity with shim version
Nov 24, 2020
ad6e70d
libtego, lilbtego_ui: implemented UserIdentity setOnline
Nov 24, 2020
9f43786
libtego, libtego_ui: implemented tego_context_get_host_user_id
Nov 24, 2020
7df822f
libtego, libtego_ui: messaging implementation moved to libtego
Dec 1, 2020
1741a36
libtego_ui: slight refactor to ContactUser getters
Dec 1, 2020
dc43d20
libtego, libtego_ui: moved IdentityManager initialization into libtego
Dec 2, 2020
3d259b9
libtego_ui: fixed crashing assert, no longer attempt to send empty me…
Dec 2, 2020
028d7a0
libtego: implemented user getter APIs
Dec 2, 2020
13c2306
libtego: fixed bug where we could not create a new identity
Dec 14, 2020
4b7dd4e
libtego, libtego_ui: implemented shim OutgoingContactRequest and Cont…
Dec 14, 2020
0ad9726
libtego: removed ContactIDValidator header from libtego's includes
Dec 15, 2020
dedaa94
libtego: removed unused 'reason' string from rejected signal
Dec 15, 2020
edfc19c
libtego, libtego_ui: removed core/OutgoingContactRequest dependency
Dec 15, 2020
98bb785
libtego, lilbtego_ui: fully implemented IncomingContactRequest shim
Dec 16, 2020
590c14e
libtego, libtego_ui: implemented most remaining ContactUser functiona…
Dec 17, 2020
c0b54b8
libtego, libtego_ui: moved Settings reading/writing out of libtego an…
Dec 20, 2020
4dbd781
libtego, libtego_ui: removed remaining internal header exports from l…
Dec 20, 2020
5a0056d
libtego: disabled the tego logger by default
Dec 20, 2020
ecbdbd7
tego_ui: updated version to 3.0.0b
Dec 20, 2020
1918c7b
libtego: always define ostream<< operator for Qt types even if loggin…
Dec 20, 2020
b8b6168
libtego, libtego_ui: fixed some typos and added a few missing null ch…
Dec 22, 2020
afeefd6
libtego_ui: fixed build error when using clang++
Dec 22, 2020
7141404
build: setting relevant Qt defines to suppress qDebug output in all o…
Dec 22, 2020
07e40e9
libtego_ui: ignore status updates from contacts frontend no longer fo…
Dec 24, 2020
aecfab6
libtego: fixed bug where client's verification signature was not calc…
Dec 24, 2020
276534e
libtego_ui, libtego: reimplemented global unread counter for macOS do…
Dec 31, 2020
4827d09
issue_27: fixed app icon display on Linux
Jan 5, 2021
ff0c6ff
Merge pull request #26 from pospeselr/bugfix_macos_icon
pospeselr Jan 8, 2021
273f4d0
Merge pull request #30 from pospeselr/issue_27
pospeselr Jan 8, 2021
8f3c467
issue_28: fixed crash on launch bug on 64-bit Windows
Jan 12, 2021
afddd71
issue_29: fixed bug where sounds were not playing
pospeselr Jan 13, 2021
df0f174
Squash m-simonelli/file_tranfser onto blueprint/v3-2021-beta
pospeselr Jan 26, 2021
3e2c7ef
issue 36: bumped protocol version to 3 and removed old version support
pospeselr Jan 26, 2021
fb67aa6
libtego: fix version handshake message
m-simonelli Jan 27, 2021
6147867
libtego, libtego_ui, tego_ui: implemented file transfer feature
pospeselr Jan 27, 2021
5ae0211
libtego_ui, tego_ui: added accessibility properties to QML controls w…
pospeselr Mar 12, 2021
af63495
libtego_ui: fixed various qml issues, removed dependency on QtQuick.C…
pospeselr Mar 13, 2021
a8fee3c
build: updated tor submodule to version 0.4.5.6
pospeselr Mar 13, 2021
3fa5766
documentation: updated the protocol.md file with description of the f…
pospeselr Mar 13, 2021
1e83d96
bug fixes: fix #44, #45 and #66
m-simonelli Mar 25, 2021
c23b388
documentation: minor update to protocol.md for formatting + hidden se…
pospeselr Apr 3, 2021
e59de1a
issue 72: fixed issue where we'd leave orphaned chat page when user w…
pospeselr Jun 2, 2021
4f270ba
issue 70: removed LinkedText url parser entirely and removed ability …
Jun 1, 2021
2d9f570
issue 82: user config now is saved to local app data by default
pospeselr Jun 12, 2021
320e8bf
issue 85: added bolder icons and tooltips to download buttons
pospeselr Jun 13, 2021
44d2014
issue 88: upgraded tor to tor-4.6.5
pospeselr Jun 18, 2021
559762c
issue 89: implemented profile migration UX
pospeselr Jun 18, 2021
8cfea82
issue 84: implement conversation log export (#93)
m-simonelli Jun 22, 2021
f53db89
build: updated tor submodule to tor-0.4.6.7
pospeselr Oct 3, 2021
56b33fa
issue 124: Profile now saved to QStandardPaths::AppConfigLocation
pospeselr Oct 3, 2021
a9fca73
issue 105: Fix README documentation
m-simonelli Jul 26, 2021
28f5fe0
docs: remove mention to RICOCHET_NO_PORTABLE
dllud Aug 1, 2021
6827d50
docs: instruct how to fetch and update submodules
dllud Nov 18, 2021
0ddedef
docs: Fix typo in readme
yanmaani Nov 1, 2021
8f7887d
Migrated entire build system to CMake
m-simonelli Nov 16, 2021
d98ed71
Removed lingering qmake project
m-simonelli Nov 16, 2021
7979cc7
Removed packaging directory, in favour of ricochet-build
m-simonelli Nov 16, 2021
d3dc641
Fix all warnings
m-simonelli Nov 17, 2021
777faec
Add asserts to type demotion casts, fixed bug in msvc compiler flags
m-simonelli Nov 17, 2021
a23b404
Remove CMakeLists.txt from .gitignore... whoops
m-simonelli Nov 17, 2021
a831a6c
Fixed formatting with cmake-format
m-simonelli Nov 17, 2021
1607f63
Fixed builds for release + added test support to libtego
m-simonelli Nov 17, 2021
8420553
Replace demotion casts with new safe_cast
m-simonelli Nov 18, 2021
f61a4bf
temp: added debian build template
m-simonelli Nov 18, 2021
ed8cf76
Debian packaging completed. Potentially also macOS and windows, need …
m-simonelli Nov 21, 2021
3c94eec
Added support for some static libs + lower cmake min version
m-simonelli Nov 23, 2021
fb15a85
Lower CMake min in root CMakeLists.txt
m-simonelli Nov 23, 2021
20c04ec
Set min CMake version to 3.16 for pch
m-simonelli Nov 23, 2021
ef8337a
Update CMAKE_PREFIX_PATH for custom protobuf install
m-simonelli Nov 24, 2021
7d9a086
Debug logging for protobuf in cmake
m-simonelli Nov 24, 2021
1273f28
Update CMAKE_PREFIX_PATH... again
m-simonelli Nov 24, 2021
5ca84a6
more buildsystem tweaking arhghhh
m-simonelli Nov 24, 2021
c2b0a64
aaaand update the prefix path again
m-simonelli Nov 24, 2021
e5a9a3d
Explicitly link against libprotobuf
m-simonelli Nov 24, 2021
c89349c
Fixed translation building in rr/CMakeLists.txt
m-simonelli Nov 24, 2021
c87fc3a
Fixed OpenSSL discovery in ricochet-refresh. Moved config to main pro…
m-simonelli Nov 24, 2021
3ab675e
Update build system to allow usage of fmt submodule
m-simonelli Dec 8, 2021
6658cc6
Fixed bugs in build system causing FMT link time errors (among others)
m-simonelli Dec 8, 2021
2c1f3a7
Build: add toolchain file for i[3-6]86 builds
m-simonelli Dec 9, 2021
04d557d
Update comment in root CMakeLists.txt + removed asserts in libtego(_ui)
m-simonelli Dec 9, 2021
2618917
Build: add toolchain file for mingw32
m-simonelli Dec 9, 2021
7731fe1
Build: Better integration with ricochet-build
m-simonelli Dec 9, 2021
9110b16
Build: Better integration with ricochet-build
m-simonelli Dec 9, 2021
38b7b9c
Build: update toolchain files
m-simonelli Dec 9, 2021
0c33212
Build: add toolchain file for x86_64-apple-darwin
m-simonelli Dec 10, 2021
f9df661
Build: update x86_64-apple-darwin toolchain file
m-simonelli Dec 10, 2021
5766a48
Build: update prefix path for x86_64-apple-darwin
m-simonelli Dec 10, 2021
e1cc61f
Build: Update x86_64-apple-darwin toolchain file
m-simonelli Dec 13, 2021
9e8a5ed
Build: fix static build issues
m-simonelli Dec 23, 2021
0a131b1
Update README.md
sekuryti Dec 30, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
9 changes: 9 additions & 0 deletions .cmake-format.yaml
@@ -0,0 +1,9 @@
bullet_char: '*'
dangle_parens: false
enum_char: .
line_ending: unix
line_width: 120
max_pargs_hwrap: 3
separate_ctrl_name_with_space: true
separate_fn_name_with_space: false
tab_size: 4
3 changes: 3 additions & 0 deletions .editorconfig
@@ -0,0 +1,3 @@
[*.{sh,yml,yaml}]
indent_style = space
indent_size = 2
49 changes: 28 additions & 21 deletions .gitignore
@@ -1,33 +1,40 @@
# Build files
Makefile
Makefile.*
*.user
*.user.*
CMakeLists.txt.user
build/
debug
release
*.pdb
*.app
.packagingrc
.qmake.stash
.qmake.cache
.DS_Store

# Build artifacts
*.exe
*.dll
*.pdb
*.so
*.a
*.o
*.app
*.dylib
*.moc
tests/*/tst_*
!tst_*.pro
!tst_*.cpp
!tst_*.h

# Generated source files (These should always end up in the build dir anyway)
*.pb.h
*.pb.cc
packaging/installer/Qt
packaging/installer/Output
translation/*.qm
moc_*.cpp
moc_predefs.h
qrc_*.cpp

# Generated translations
*.qm

# Other
*.user
*.user.*
.DS_Store
.packagingrc
.vscode/

# Ricochet files (when running in the root dir)
config
config.ricochet
config.log
config.tests/*/*
!config.tests/*/*.pro
!config.tests/*/*.cpp
!config.tests/*/*.h
ricochet

6 changes: 6 additions & 0 deletions .gitmodules
@@ -0,0 +1,6 @@
[submodule "src/extern/fmt"]
path = src/extern/fmt
url = https://github.com/fmtlib/fmt.git
[submodule "src/extern/tor"]
path = src/extern/tor
url = https://git.torproject.org/tor.git
121 changes: 96 additions & 25 deletions .travis.yml
@@ -1,31 +1,102 @@
language: cpp
dist: trusty
dist: bionic
sudo: required

os:
- linux
- osx

git:
submodules: false
env:
- CONFIG=Debug
# - CONFIG=Release
global:
- HEADLESS=True
- SKIP_CODESIGN=1
- CONFIG=Release
matrix:
include:
- os: osx
env:
- BUILD_TARGET=osx
- USE_LOCAL_QT=YES
- USE_LOCAL_PROTOBUF=YES
- os: linux
env:
- BUILD_TARGET=linux-static
# - USE_LOCAL_QT=YES
addons:
homebrew:
packages:
- qt5
- protobuf
- pkg-config
update: true
apt:
packages:
- automake
- autotools-dev
- build-essential
- ca-certificates
- curl
- git
- libasound2-dev
- libevent-dev
- libfontconfig1
- libfontconfig1-dev
- libfreetype6
- libfreetype6-dev
- libglu1-mesa-dev
- libprotobuf-dev
- libprotobuf-dev
- libqt5gui5
- libqt5opengl5
- libqt5opengl5-dev
- libqt5svg5
- libssl-dev
- libtool
- libx11-xcb-dev
- '^libxcb.*'
- '^libxkb.*'
- libxrender-dev
- libxrender1
- pkg-config
- protobuf-compiler
- python
- qt5-default
- qt5-qmake
- qtbase5-dev
- qtdeclarative5-dev
- qttools5-dev-tools
- tor
- unzip
- vim
- xkb-data
- xvfb
- zip

install:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
sudo apt-get update
&& sudo apt-get install -qq libssl-dev libprotobuf-dev protobuf-compiler
&& sudo apt-get install -qq qt5-qmake qt5-default qtbase5-dev qttools5-dev-tools qtdeclarative5-dev
;
fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
brew update
&& brew install qt5
&& brew install protobuf
&& brew install openssl
;
fi

- (cd buildscripts && "${BUILD_TARGET}/build-deps.sh")
script:
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then qmake -qt=qt5 CONFIG+=$CONFIG; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then /usr/local/opt/qt5/bin/qmake CONFIG+=$CONFIG OPENSSLDIR=/usr/local/opt/openssl PROTOBUFDIR=/usr/local/opt/protobuf; fi
- make
- (cd buildscripts && "${BUILD_TARGET}/test.sh")
- (cd buildscripts && "${BUILD_TARGET}/build.sh")
- export BUILD_NAME=$(cd buildscripts && "./get_build_name.sh")
deploy:
- provider: releases
name: DRAFT ${BUILD_NAME}
api_key:
secure: lIHMpIYSRcQAzFnbKeucjndUCzCVH78CZ7JpgB7BpUSO/F61ngdW9oWy8oJWdMb1JU0efSRRYNXbX4lTVBOS/iueqfoL6jNojT7t8yVgM31ZfnzJipqdtUHBDHHUHDEQez7MXudUpa9Zo6yCoHF8IT30NiKErbi7jG5YIEaxYzMR2ICWSkechFbGwe6nFgVW8iceNBW8GyyeBpkII7arTpJbZZlrcWDh+Ej5r6fHivV7oifuhSZ6VUYT3dB0tOqcHPU8OtnFpq1sQOtNwr+KNBEfBGLd+gyCXTdjmUebBXnSI6nR3hKEEQR87znlqFrzYKq2OwXqtYkTtc7MpSbmzH9bfxqC4WUa/8QL77cgLJWzhAaOe6+nqeadEJFEFB31KLOlt2SbsMyBy2xWi+NS43VOVz6FecbhgODq7QpXBN5kvN6kjc5kc7xY8joQW5k939/kN5P4DfpePd//bvmUzCVdYaak2pPKLzsyY5dXGqk7z3lGVE3h5Q+8EOnbsEvSrbhNF+Svm/FAEbjUMnaAx20o66MxPxvbb+I0iNT72+jqJypZLv5mjkw2ItMJR1G5zD95qxgZakzJ3liSSpGROBzpLSGQb8GQpOktY9UzocIM0pqyawg2Hfn6y1D9Ptp1SfOZ8rFJvqI+Mxv3FFp+lD3tOV6MvFj1+EJ8PiHyIQc=
skip_cleanup: true
file_glob: true
file:
- 'buildscripts/output/Ricochet-Refresh-*.dmg'
- 'buildscripts/output/ricochet-refresh-*-static.tar.bz2'
overwrite: true
draft: true
- provider: releases
name: PRERELEASE ${BUILD_NAME}
api_key:
secure: lIHMpIYSRcQAzFnbKeucjndUCzCVH78CZ7JpgB7BpUSO/F61ngdW9oWy8oJWdMb1JU0efSRRYNXbX4lTVBOS/iueqfoL6jNojT7t8yVgM31ZfnzJipqdtUHBDHHUHDEQez7MXudUpa9Zo6yCoHF8IT30NiKErbi7jG5YIEaxYzMR2ICWSkechFbGwe6nFgVW8iceNBW8GyyeBpkII7arTpJbZZlrcWDh+Ej5r6fHivV7oifuhSZ6VUYT3dB0tOqcHPU8OtnFpq1sQOtNwr+KNBEfBGLd+gyCXTdjmUebBXnSI6nR3hKEEQR87znlqFrzYKq2OwXqtYkTtc7MpSbmzH9bfxqC4WUa/8QL77cgLJWzhAaOe6+nqeadEJFEFB31KLOlt2SbsMyBy2xWi+NS43VOVz6FecbhgODq7QpXBN5kvN6kjc5kc7xY8joQW5k939/kN5P4DfpePd//bvmUzCVdYaak2pPKLzsyY5dXGqk7z3lGVE3h5Q+8EOnbsEvSrbhNF+Svm/FAEbjUMnaAx20o66MxPxvbb+I0iNT72+jqJypZLv5mjkw2ItMJR1G5zD95qxgZakzJ3liSSpGROBzpLSGQb8GQpOktY9UzocIM0pqyawg2Hfn6y1D9Ptp1SfOZ8rFJvqI+Mxv3FFp+lD3tOV6MvFj1+EJ8PiHyIQc=
skip_cleanup: true
file_glob: true
file:
- 'buildscripts/output/Ricochet-Refresh-*.dmg'
- 'buildscripts/output/ricochet-refresh-*-static.tar.bz2'
on:
tags: true
overwrite: true
prerelease: true
5 changes: 4 additions & 1 deletion AUTHORS.md
@@ -1,6 +1,9 @@
### Development
* John Brooks (@special) `<john.brooks@dereferenced.net>`

* Derwent Mcelhinney (@derwentx)
* Peter Tonoli (@petertonoli)
* Richard Pospesel (richard on #tor-dev @OFTC) `<richard@blueprintforfreespeech.net>`
* Marco Simonelli (msim on #tor-dev @OFTC) `<marco@blueprintforfreespeech.net>`
### Sponsors
* Blueprint for Free Speech - https://blueprintforfreespeech.net/

Expand Down
60 changes: 44 additions & 16 deletions BUILDING.md
@@ -1,16 +1,45 @@
## Building Ricochet
## New Building

These instructions are intended for people who wish to build or modify Ricochet from source. Most users should [download releases](https://github.com/ricochet-im/ricochet/releases) instead.
Cloning must be done with `--recurse-submodules`:

Clone with git from `https://github.com/ricochet-im/ricochet.git`, or download source packages [on github](https://github.com/ricochet-im/ricochet/releases). Then proceed to instructions for your platform.
```sh
git clone --recurse-submodules https://github.com/blueprint-freespeech/ricochet-refresh.git
```
In the event that you cloned the repo without fetching the submodules, you can still get them with:
```sh
git submodule --init --update
```

Later, you should update your local repository with:
```sh
git pull --recurse-submodules
```

If you're interested in helping to package Ricochet for common Linux platforms, please get in touch!
### Linux

## Hints
Clone

Add `CONFIG+=debug` or `CONFIG+=release` to the qmake command for a debug or release build. Debug builds enable logging to standard output, and shouldn't be used in sensitive environments.
Download and install the prebuilt Qt 5.15 ( https://www.qt.io/download-qt-installer ) and add bin directory containing 'qmake' to your PATH environment variable.

#### Debian

Install the following development packages:

By default, Ricochet will be portable, and configuration is stored in a folder named `config` next to the binary. Add `DEFINES+=RICOCHET_NO_PORTABLE` to the qmake command for a system-wide installation using platform configuration paths instead.
```sh
apt-get install build-essential libssl-dev pkg-config libprotobuf-dev protobuf-compiler libgl-dev
```

## Building Ricochet Refresh

These instructions are intended for people who wish to build or modify Ricochet Refresh from source. Most users should [download releases](https://github.com/blueprint-freespeech/ricochet-refresh/releases) instead.

Clone with git from `https://github.com/blueprint-freespeech/ricochet-refresh.git`, or download source packages [on github](https://github.com/blueprint-freespeech/ricochet-refresh/releases). Then proceed to instructions for your platform.

If you're interested in helping to package Ricochet Refresh for common Linux platforms, please get in touch!

## Debug vs Release build

Add `CONFIG+=debug` or `CONFIG+=release` to the qmake command for a debug or release build. Debug builds enable logging to standard output, and shouldn't be used in sensitive environments.

## Linux

Expand Down Expand Up @@ -39,6 +68,7 @@ If the `qml-module-qtquick` packages aren't available, try `qtdeclarative5-contr
#### Qt SDK
The [Qt SDK](https://www.qt.io/download/) is available for most Linux systems and includes an IDE as well as all Qt dependencies.

### Building and Installing
To build, simply run:
```sh
qmake # qmake-qt5 for some platforms
Expand All @@ -47,19 +77,17 @@ make

For a system-wide installation, use:
```sh
qmake DEFINES+=RICOCHET_NO_PORTABLE
make
make install # as root
```

You must have a `tor` binary installed on the system (in $PATH), or placed next to the `ricochet` binary.
You must have a `tor` binary installed on the system (in `$PATH`), or placed next to the `ricochet-refresh` binary.

In portable mode (default), all configuration is stored in a folder called `config` with the binary. When installed, the platform's user configuration path is used instead.
By default Ricochet Refresh will load and save configuration files to `~/.local/share/ricochet-refresh/`. First argument to command-line overrides this and allows you to specificy the config directory.

The [buildscripts](https://github.com/ricochet-im/buildscripts) repository contains a set of scripts to build a fully static Ricochet on a clean Debian system. These are used to create the generic linux binary packages.
The [buildscripts](https://github.com/blueprint-freespeech/ricochet-refresh/tree/master/buildscripts) directory contains a set of scripts to build a fully static Ricochet Refresh on a clean Debian system. These are used to create the generic linux binary packages.

#### Hardening
Ricochet will use aggressive compiler hardening flags if available. `qmake` will print the results of these tests on first run, or when run with `CONFIG+=recheck`.
Ricochet Refresh will use aggressive compiler hardening flags if available. `qmake` will print the results of these tests on first run, or when run with `CONFIG+=recheck`.

To take full advantage of the sanitizer options, you may need to install `libasan` and `libubsan`.

Expand All @@ -77,9 +105,9 @@ You can either load `ricochet.pro` in Qt Creator and build normally, or build co
make
```

You also need a `tor` binary in $PATH or inside the build's `ricochet.app/Contents/MacOS` folder. The easiest solution is to use `brew install tor`. If you copy the `tor` binary, you will need to keep it up to date.
You also need a `tor` binary in $PATH or inside the build's `ricochet refresh.app/Contents/MacOS` folder. The easiest solution is to use `brew install tor`. If you copy the `tor` binary, you will need to keep it up to date.

Normally, configuration will be stored in a `config.ricochet` folder, in the same location as `ricochet.app`. However, if the bundle is installed to `/Applications`, the system location `~/Library/Application Support/Ricochet` is used instead. You can force that behavior by adding `DEFINES+=RICOCHET_NO_PORTABLE` to the qmake command.
By default, configuration will be stored at `~/Library/Application Support/ricochet-refresh/` folder. This can be overriden by supplying a directory as first argument to the command-line.

The `packaging/osx/release_osx.sh` script demonstrates how to build a redistributable app bundle.

Expand All @@ -94,7 +122,7 @@ make

## Windows

Building for Windows is difficult. The process and scripts used for release builds are documented in the [buildscripts repository](https://github.com/ricochet-im/buildscripts/tree/master/mingw).
Building for Windows is difficult. The process and scripts used for release builds are documented in the [buildscripts directory](https://github.com/blueprint-freespeech/ricochet-refresh/tree/master/buildscripts).

For development builds, you will want:
* Visual Studio C++ or MinGW
Expand Down