Commit graph

131 commits

Author SHA1 Message Date
Phenom
ac4b7334dd Fix ValGrind error in PGPHandler::locked_writePrivateTrustDatabase
Syscall param write(buf) points to uninitialised byte(s)
  in PGPHandler::locked_writePrivateTrustDatabase() in /libretroshare/
src/pgp/pgphandler.cc:1885
  1: write in /usr/lib/libc-2.32.so
  2: _IO_file_write@@GLIBC_2.2.5 in /usr/lib/libc-2.32.so
  3: new_do_write in /usr/lib/libc-2.32.so
  4: _IO_do_write@@GLIBC_2.2.5 in /usr/lib/libc-2.32.so
  5: _IO_file_close_it@@GLIBC_2.2.5 in /usr/lib/libc-2.32.so
  6: fclose@@GLIBC_2.2.5 in /usr/lib/libc-2.32.so
  7: PGPHandler::locked_writePrivateTrustDatabase() in /libretroshare/
src/pgp/pgphandler.cc:1885
  8: PGPHandler::locked_syncTrustDatabase() in /libretroshare/src/pgp/
pgphandler.cc:1987
  9: PGPHandler::syncDatabase() in /libretroshare/src/pgp/pgphandler.cc:
1909
  10: AuthGPG::threadTick() in /libretroshare/src/pqi/authgpg.cc:207
  11: RsTickingThread::run() in /libretroshare/src/util/rsthreads.h:314
  12: RsThread::wrapRun() in /libretroshare/src/util/rsthreads.cc:116
  13: RsThread::rsthread_init(void*) in /libretroshare/src/util/
rsthreads.cc:84
  14: start_thread in /usr/lib/libpthread-2.32.so
  15: clone in /usr/lib/libc-2.32.so
Address 0xcb70379 is 9 bytes inside a block of size 4,096 alloc'd  1:
malloc in /build/valgrind/src/valgrind-3.16.1/coregrind/m_replacemalloc/
vg_replace_malloc.c:307
  2: _IO_file_doallocate in /usr/lib/libc-2.32.so
  3: _IO_doallocbuf in /usr/lib/libc-2.32.so
  4: _IO_file_overflow@@GLIBC_2.2.5 in /usr/lib/libc-2.32.so
  5: _IO_file_xsputn@@GLIBC_2.2.5 in /usr/lib/libc-2.32.so
  6: fwrite in /usr/lib/libc-2.32.so
  7: PGPHandler::locked_writePrivateTrustDatabase() in /libretroshare/
src/pgp/pgphandler.cc:1877
  8: PGPHandler::locked_syncTrustDatabase() in /libretroshare/src/pgp/
pgphandler.cc:1987
  9: PGPHandler::syncDatabase() in /libretroshare/src/pgp/pgphandler.cc:
1909
  10: AuthGPG::threadTick() in /libretroshare/src/pqi/authgpg.cc:207
  11: RsTickingThread::run() in /libretroshare/src/util/rsthreads.h:314
  12: RsThread::wrapRun() in /libretroshare/src/util/rsthreads.cc:116
  13: RsThread::rsthread_init(void*) in /libretroshare/src/util/
rsthreads.cc:84
  14: start_thread in /usr/lib/libpthread-2.32.so
  15: clone in /usr/lib/libc-2.32.so
Uninitialised value was created by a stack allocation  1:
PGPHandler::locked_writePrivateTrustDatabase() in /libretroshare/src/
pgp/pgphandler.cc:1855
2020-12-29 13:05:41 +01:00
Gioacchino Mazzurco
3f38d04680
Clarify pointer ownership decorators documentation
Use old char* in PGP functionas asked by Cyril
2020-04-20 15:52:29 +02:00
Gioacchino Mazzurco
5610cc8600
Fix memory management and deprecated removal from serialization
Fix missing RsDiscPgpKeyItem initialization
Fix inconsistent new[]/delete[] usage in RsDiscPgpKeyItem and
  PGPHandler::exportPublicKey which now consistently uses malloc/free
Remove deprecated RsGenericSerializer::FORMAT_*
Move from deprecated RsServiceSerializer::SERIALIZATION_FLAG_* to
  RsSerializationFlags
Solve a bunch of compiler warnings
Stricter checks in SerializeContext costructor
2020-04-14 12:17:01 +02:00
Gioacchino Mazzurco
1e9adc1e23
Add some documentation and fix some compiler warnings 2019-09-28 14:34:07 +02:00
Gioacchino Mazzurco
4e3ac4a9f4
Make SSL-only friend criteria stricter 2019-09-28 14:15:12 +02:00
csoler
a20ec1a885
fixed exchange of PGP keys in binary format and update of PGP signature flags on short invites when the key is received 2019-09-14 15:33:43 +02:00
csoler
fb52f6717c
fixed up addign friend from short invite 2019-06-09 23:49:31 +02:00
Gioacchino Mazzurco
fb9e172898
Delete dead code in PGP handler 2019-05-04 18:03:38 +02:00
Gioacchino Mazzurco
1b02c748fa
fixup! Safer rsids API 2019-05-03 16:36:16 +02:00
Gioacchino Mazzurco
e118b4dbf8
Fix typo in PGP fingerprint type 2019-05-03 16:17:11 +02:00
Gioacchino Mazzurco
7642216912
Safer rsids API
Deprecate unsafe costructor, substituted by fromBufferUnsafe which explicitely
  marked suggest the caller to pay attention.
Use enum class for id types instead of constants
Make size constants more private
Use internal Id_t alias to avoid huge template lines
Remove and deprecate oguly names in favor of consistent names
2019-05-02 09:55:53 +02:00
Gioacchino Mazzurco
329050a9c2
Use safer rstime_t instead of time_t
Avoid problems to serialization on different platforms, without breaking
nested STL containers serialization.

The conversion have been made with sed, and checked with grep, plus
kdiff3 visual ispection, plus rutime tests, so it should be fine.
2018-10-07 13:07:06 +02:00
Gioacchino Mazzurco
eb77f921ec
Implement JSON API HTTP Basic authentication
jsonapi-generator is now capable of generating API for headers outside
  retroshare/ directory
jsonapi-generator do a bit of methods parameter sanity check
JsonApiServer is now integrated in the rsinit hell like other services
Add *::exportGPGKeyPairToString to a bunch of classes in cascade
RsControl is now capable of calling back a function when retroshare is almost
  completely stopped, this is useful when running retroshare toghether with
  externally managed runloop such as QCoreApplication
Expose a bunch of methods through JSON API
retroshare-nogui remove some dead code and fix stopping from the RetroShare API
2018-09-19 21:28:26 +02:00
csoler
b0f391d66f
fixed compilation and re-licensed zeroconf/ 2018-05-30 21:45:18 +02:00
csoler
b3277824eb
license fix in pqi 2018-05-28 22:03:39 +02:00
csoler
1fee544db7
re-licensed gxstrans, gxstunnel, pgp, plugins and half pqi 2018-05-26 14:45:43 +02:00
csoler
9367aa0d84 changed #ifs into #ifdefs because it us more robust, and moved the definition of variables to retroshare.pri 2017-11-19 20:15:36 +01:00
csoler
863e6256c3 centralized the defines into a single file 2017-11-19 19:34:54 +01:00
csoler
b4fdd4e0d0 added two additional non packward compatible changes for future version 0.7, and improvements of verifications of certificate signatures 2017-11-19 18:21:56 +01:00
Phenom
78cfde9b4f Fix warning: this statement may fall through
/libretroshare/src/pgp/pgphandler.cc:62: warning: this statement may
fall through [-Wimplicit-fallthrough=]
   case OPS_PARSER_CMD_GET_SK_PASSPHRASE_PREV_WAS_BAD: prev_was_bad =
true ;

/libretroshare/src/pgp/pgphandler.cc:63: here
   case OPS_PARSER_CMD_GET_SK_PASSPHRASE:
2017-07-16 20:27:46 +02:00
Phenom
275c47eff9 Add Title when ask for password. 2016-08-09 01:22:14 +02:00
Phenom
005af47fe9 Fix Compilation when mkstemp is not defined. 2016-06-01 22:37:05 +02:00
anon tahoe
abe0e02910 replaced mktemp by mkstemp (cherry-picked from anontahoe repository) 2016-05-18 21:29:55 -04:00
csoler
9d9b790a3e exposed un-verified PGP signatures on GXS ids in GUI. Added auto-ban of GXS ids signed by a PGP ids that has already signed a large enough set of GXS ids. Still needs some GUI to change the threshold. 2016-04-02 16:14:18 -04:00
csoler
d55993d1e4 removed two instances of malloc(0) captured by new rs_malloc funtion 2016-01-12 21:43:04 -05:00
csoler
d13526facd added a new method rs_malloc that checks its arguments and prints a stacktrace on error/weird call. Changed the code everywhere to use this instead of malloc. Removed some mallocs and replaced with RsTemporaryMemory 2016-01-12 21:10:11 -05:00
csoler
9c6e7dfc13 added checks after mallocs in several files 2016-01-11 23:49:00 -05:00
electron128
15bb95a398 fixed potential memory leak in pgphandler
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8509 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-17 09:25:55 +00:00
electron128
8fc3917c4b webui:
- added profile import/creation
- fixed leaking file descriptors
- added upload handler for small files
- fixed terminal thread
- removed some unused parameter warnings

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8485 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-16 12:35:07 +00:00
csoler
f360e9d0ba fixed password handling in deferred signature algorithm (in case of cancel, enter wrong passphrase, etc)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-12 21:04:11 +00:00
csoler
74c01423f0 improved login system: do not re-ask for passphrase when user clicks cancel. Removed warning stating that maybe passphrase is wrong
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8415 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-06-11 20:31:52 +00:00
csoler
c9d5c7b3cb turned some std::list<PeerId> into std::set, as it automatically prevents duplicates
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8138 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-04-17 21:36:22 +00:00
csoler
90427eb08b fixed self-signature checking for imported keys, previously causing imported certificates with signatures to be rejected
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8053 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-03-19 21:02:14 +00:00
csoler
8cb3ae6d2e added code to generate 3072 and 4096 bit PGP keys at startup (Patch from Serhaf)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7841 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2015-01-12 22:02:43 +00:00
csoler
d547cb6fdb changed post fixed operator++ into prefixed. More efficient on some systems. Patch from Phenom.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7630 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-10-24 22:07:26 +00:00
chrisparker126
0f29d28b1b merge of branch v0.6-idclean 7180
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7187 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-03-17 20:56:06 +00:00
drbob
c0738eec7f Merging branches/v0.6-initdev into trunk.
These split at 6672 -> 7075, so quite a bit merge.
libretroshare compiles - but untested.
retroshare-gui needs GenCertDialog.ui and IdEditDialog.ui to be properly merged. (compile errors).
some plugins will be broken.
retroshare-nogui is untested.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7078 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-02-01 14:16:15 +00:00
csoler
ba927adf1c fixed small error in pgphandler, potentially adding empty certs in database
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7015 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-15 20:15:48 +00:00
csoler
4ce8ea73d2 moved PGP id types into rsid.h, and renamed them with a more appropriate name
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6985 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-01-03 22:42:17 +00:00
csoler
d26d6fa355 added check to only import version 4 keys in the keyring
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6945 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-13 20:58:06 +00:00
csoler
5800069acf error handling in pgphandler.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6938 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-10 10:08:41 +00:00
csoler
3e88b54ae3 removed asserts and put proper error handling in compress.c
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6937 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-10 09:49:13 +00:00
csoler
b2bea751aa restriction to only accept self-signed certificates for friend keys
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6928 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-07 14:29:46 +00:00
csoler
68138fc1c8 fixed import of retroshare identities that have multiple signatures from the same key ID. Fixed bug reported by claude37
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6927 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-12-07 13:46:00 +00:00
csoler
6fe16d55e1 fixed up some debug text (patch from H.Morgan)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6917 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-29 22:09:13 +00:00
csoler
dda9d4eca5 do not accept keys without a uid. Previously this was crashing RS
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6912 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-11-27 20:37:24 +00:00
csoler
9d4033b043 fixed unused variable warning
git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-initdev@6802 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-10-04 21:00:31 +00:00
csoler
89f48fc1b6 fixed bug in pgp handler causing trust info to not being saved correctly
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6696 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-09-05 21:28:39 +00:00
thunder2
e95725ea2c - Fixed crash because of a memory overwrite
The static arrays in RsDiscSpace were to small for RS_PGP_DIRECTORY (0x0003)
  Added new constant RS_DIRECTORY_COUNT
- Added missing fclose to PGPHandler::encryptTextToFile
  Used ops_teardown_file_write instead of ops_writer_close and ops_create_info_delete
  Windows cannot move a file when it is still open

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6542 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-07-26 23:12:09 +00:00
csoler
b84930b157 Added multiple security tests to pgp keyring against disk full and exceeded quota.
- copy files to tmp before appending new keys, then rename back to original.
- always check for disk full before syncing keyrings
- use tmp file to sync keyring
- new RsDirUtil::fileExists() method
- check system for disk space in pgp directory
- added RsPGPDirectory() method to RsInit


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6541 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2013-07-25 20:05:31 +00:00