Commit Graph

595 Commits

Author SHA1 Message Date
Gioacchino Mazzurco
39bde58c29
Many serialization and related stuff improvements
Fix bug in array-like containers serialization which could cause almost infinite
  loop on malformed input
Implement VLQ integer serialization
Unify sequence containers serialization code
Add support for VLQ serialization also for string size
Use VLQ compression for file links
Add templated function to fix endiannes for all integer types
Use bitset to print flags in binary form
Unify serialization code for integral types
Serialize 64bit integers types to JSON object with both string and integer
  representation, so it is posible to have this representation also for
  containers types like std::vetor or std::map this breaks retrocompatibility
  but is necessary to support clients written in languages which doesn't have
  64 bit integers support such as JavaScript or Dart
2020-04-14 12:17:01 +02:00
Gioacchino Mazzurco
d203f31d0c
Improve files links generation parsing and errors
Implement URL safe base64 for file links
Implement sneaking file data into URL fragment
Deprecate Radix65 in favore of RsBase64 which supports also URL safe encoding
2020-04-14 12:17:01 +02:00
Gioacchino Mazzurco
55d466f79b
Initial work on RsFiles links support in libretroshare 2020-04-14 12:17:01 +02:00
Gioacchino Mazzurco
50adf00804
Add millisecond details to debug messages timestamp 2020-04-05 23:02:53 +02:00
csoler
f59193b625
fixed bug in SQL access where timeout was compared to a negative value 2020-03-05 20:51:02 +01:00
csoler
a9f24c85a0
Merge pull request #1774 from G10h4ck/json_api_improvements
JSON API improvements
2020-02-07 23:16:04 +01:00
Gioacchino Mazzurco
039e8f653d
Solve race condition in JSON API restart
Improve atomic access to restbed service
Protect JSON API restart against bursts
Fix JSON API error condition enum registration
Provide ostream helper for error_condition
Provide optional forced thread cancel for debugging purpose, disabled by
  default at compile time define RS_THREAD_FORCE_STOP to enable it
Avoid double fullstop in retroshare-gui json api apply button
2020-02-05 18:56:47 +01:00
Gioacchino Mazzurco
5dbbe1ffd7
Improve debugabbility of JSON API
JSON API server uses standardized error handling based on
  std::error_condition for a few method, this improve debugabbility both
  from library size and from API client side
JSON API auth token are now more flexible, now the only proibition is using
  colon character ':' in user name
Implemented TO_JSON operation for std::error_condition
Avoid unkown serial job handling code duplication via fatalUnknownSerialJob
Usability improvement in t_RsLogger
Disable compilation of now unused is_alphanumeric
2020-01-27 21:22:49 +01:00
hunbernd
2b2a9f9a89 Merge upstream 2020-01-13 11:21:59 +01:00
Gioacchino Mazzurco
f12ec2b535
JSON API service and RsThread fixups 2020-01-08 14:24:46 +01:00
hunbernd
0e8b12ff9f Merge upstream 2020-01-07 15:05:21 +01:00
Gioacchino Mazzurco
f4f7b8a1ea
Few fixes after rebase 2020-01-06 14:46:36 +01:00
defnax
246029736d Added anmos changes & own improvements
Added the changes from anmo
Added to store/load last used identity for posted composer
Added remove button for remove the attached image
Fixed to hide the Notes button when there is not text content (PosteItem)
Fixed the ui margins better look
2020-01-04 17:01:58 +01:00
Gioacchino Mazzurco
df87fe53b1
Cleanup RsThread and related classes
Removed antipattern abstraction RsSingleJobThread
Rename runloop() method to run() in RsThread
Ported few classes ineriting from RsSingleJobThread to RsThread
RsThread use std::atomic instead of self implemented strange binary semaphores
Removed RsTickingThread::shutdown() use RsThread::askForStop() instead
Removed RsTickingThread::fullstop() use RsThread::fullstop() instead
Stop properly JSON API server in retroshare-gui
Centralize errno traslation to literal in util/rserrno.*
2019-12-30 10:38:54 +01:00
Gioacchino Mazzurco
3bb42ca799
Fix wrong rapidjson include on Appveyor 2019-11-28 01:38:49 +01:00
Gioacchino Mazzurco
1d4ca64dee
Prepare for merging 2019-11-27 18:44:10 +01:00
csoler
7aa51423a4
fixes required by review of pr1700 2019-11-25 22:16:32 +01:00
G10h4ck
f5bf093409
Merge pull request #1696 from G10h4ck/modern_cpp
Take advantage of modern C++ features
2019-11-21 17:46:53 +01:00
Gioacchino Mazzurco
056904c90b
Improve RsUrl
Fix a bug in RsUrl::fromString eating one character when parsing URL
  string with IPv6 host
Offer explicit conversion from sockaddr_storage
2019-11-11 11:17:13 +01:00
Gioacchino Mazzurco
7697a57611
Backport rs_unique_cast from grouter_missing_key branch 2019-11-07 19:54:11 +01:00
Gioacchino Mazzurco
05260ace94
Backport as_const C++17 helper
This is expecially useful to use const_iterator without giving up on
  using auto keyword
2019-11-07 19:51:25 +01:00
csoler
9b78447109
used RsInfo instead of std::cerr in authssl.cc 2019-09-22 17:36:08 +02:00
csoler
4f4b3bfcdb
Merge pull request #1624 from csoler/v0.6-RetroshareService
V0.6 retroshare service
2019-09-09 10:33:18 +02:00
csoler
6419b03a2a
merged upstream/master 2019-09-08 20:35:23 +02:00
csoler
5b5ad6e6f6
added missing iostream for windows 2019-09-07 13:40:45 +02:00
csoler
f182b358f4
fixed compilation in new getpass method 2019-09-06 22:51:10 +02:00
csoler
c365a96489
moved getpass() method into a cross-plateform file rskbdinput.h/cc 2019-09-05 23:54:48 +02:00
G10h4ck
06a158e677
Merge pull request #1628 from G10h4ck/gxs_sqlite_sqlcipher_compat
Improve SQLCipher/SQLite support
2019-09-02 16:28:26 +02:00
Gioacchino Mazzurco
6edf503ae0
Improve SQLCipher/SQLite support
When compiled with SQLCipher it is now capable of handling databases
  created by SQLite-only versions
Add support for SQLCipher on Android arm64
2019-08-31 16:22:24 +02:00
csoler
1bf07f72c4
added destructor in RsTickingThread calling for fullstop, which prevents the crash due to threads being killed when still running 2019-08-30 21:47:17 +02:00
csoler
7d9db1fc22
added destructor in RsTickingThread calling for fullstop, which prevents the crash due to threads being killed when still running 2019-08-30 21:44:05 +02:00
Gioacchino Mazzurco
3820e324b0
Implement stracktrace for Android
Tested both on armeabi and arm64
2019-08-23 11:49:26 +02:00
csoler
56e591f728
added a flag in peerState specific to short invites, and several checks for consistency 2019-05-22 21:46:11 +02:00
csoler
2748275397
changed std::cerr to the new RsErr() method 2019-05-12 11:00:33 +02:00
csoler
1cee069243
added warning when deleting a thread that isnot finished 2019-05-12 10:46:08 +02:00
csoler
7b2541e35c
fixed thread bug caused by deleting a thread before it is actually terminated 2019-05-11 23:43:54 +02:00
csoler
6a18e242bb
added compile option to use sanitizer and already fixed a few misalignment errors with it 2019-05-11 22:25:02 +02:00
Gioacchino Mazzurco
e655d4d257
Use RsRandom name also inside windows #ifdef 2019-05-01 20:42:19 +02:00
Gioacchino Mazzurco
6ca85ca7b6
Cleanup RsRandom
Rename RSRandom -> RsRandom for consistency
Cleanup documentation to use Doxygen format
Solve a bunch of compiler warning (there are still a lot)
2019-04-28 14:06:52 +02:00
Gioacchino Mazzurco
3feb048c37
Add sockaddr_storage ostream operator<< for comfortable debugging 2019-04-28 13:38:16 +02:00
Gioacchino Mazzurco
79af081f84
Introduce RetroShare logging helpers
Support for chaining like std::cerr
Support for compile-time optimization without #ifdef around
Support for Android native logging without depending on
  AndroidStdIOCatcher workaround
Support for automatic timestamp (on Android it's provided by Android
  native log)
Standardized messages categories
2019-04-28 02:31:44 +02:00
Gioacchino Mazzurco
d113f60ca1
RsUrl add method to test presence and get fields from query 2019-04-27 23:48:15 +02:00
Gioacchino Mazzurco
9c7a8d479f
Pass initialization value in RS_DEFAULT_STORAGE_PARAM 2019-04-15 00:09:01 +02:00
Gioacchino Mazzurco
7b38c1c75a
Initial work on Broadcast Domain Discovery
Discover peers on the same broadcast domain/LAN
Implements own node announcement
Implements others announcement listening
Implements API to get notifiend when other nodes get discovered
Implements API to get discovered nodes
Add discovered peer locator to rsPeers if it is already friend

Yet a bunch of things to do to take full advantage of this new
implementation
2019-04-12 02:53:39 +02:00
G10h4ck
276328dd91
Merge pull request #1512 from G10h4ck/csoler-jsonapi-channel
Improve GxsChannels API
2019-04-11 10:13:52 +02:00
Gioacchino Mazzurco
9ad79f0c89
Improve documentation 2019-04-10 21:10:21 +02:00
zapek
3f8611f40f the cache is corrected and saved 2019-04-06 00:15:01 +02:00
Gioacchino Mazzurco
ab80d9a374
Fix compilation, retrocompatibility and enums
Workaround miss-behaviour on old Android phones
Cleanup indentation a bit
Consistent param naming
Introduce default parameter values also for output paramethers
2019-04-05 01:43:23 +02:00
Gioacchino Mazzurco
7a2c81d06b
Deprecate rs_usleep as it is not useful anymore
C++11 standard library offer better functions
2019-02-13 17:07:03 -03:00
csoler
a802e494f8
Merge pull request #1401 from G10h4ck/forum_api
0.6.5 Safer forum API
2018-11-20 21:45:45 +01:00