AuthSSL / AuthGPG: Bits and pieces still need fixing up.
AuthSSL will be rechecked later ;)
* Mutex bug in authGPG (not very serious one).
* removed _locked() suffix from functions (as they do the locking now).
* added dummy FailedCertificate / CheckCertificate fns to AuthSSL
* removed last bits of awful SSL_ex_data hack.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3213 b45a01b8-16f6-495d-af2f-9b41ad6348cc
so I can properly document what is being changed!
Revert / Merge : pqissl / pqissludp code.
* restored original timeout system.
* removed weird testing code - should never have been here!
* switched extra checks to generate ALERT msgs - we want to know if they happen.
* removed quietShutdown (breaks TLS protocol - why was this added?)
* switched listening on all the time. (helps restore disconnects).
* restored common connect parameters (removed duplicates in ssludp).
* restored AuthSSL->Failed/CheckCertificate() calls ... useful.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3212 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This used an unprotected singleton -> bad... Probably killed a lot of connections.
* removed mConnMgr tests in authssl
AuthSSL shouldn't use ConnectMgr. what happened to abstraction / seperation of function???
This code prevents quick reconnections.
* Disabled AuthSSL from adding new SSL peers.
This functionality is important... but should be handled elsewhere (p3connmgr or pqissl)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3200 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- also added support src for serialiser test - add functions here that could be generally used throughout serialiser tests
- fixed empty grp id set of grp keys in creategrp function
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3196 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added a destructor to RsTunnelDataItem, to remove a memory leak on all data packets.
- apparently the code would allow data items of zero size, hence calling malloc(0), which
has undetermined behavior.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3191 b45a01b8-16f6-495d-af2f-9b41ad6348cc
NOTE: This tests packets up to size of 1Mb. This causes the test to FAIL
due to getRsPktMaxSize() returning 262142.... What to do? This needs to be fixed!
see comments at serialiser/rsserial.cc line 448
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3180 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added existing ft tests to tests directory (don't work yet!)
* Added dbase tests to tests directory (don't work yet!)
* moved net_setup test to tests/general directory (don't work yet!)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3176 b45a01b8-16f6-495d-af2f-9b41ad6348cc
use for handling the packet: RsItem::DATA_QUEUE for data and RsItem::CONTROL_QUEUE for
control packets, to be used in pqistreamer.
Up to now, File data chunks where the only packets that were going into the --less prioritized--
data queue. Now, the default in RsItem::queueType() being to return CONTROL_QUEUE, developpers can
choose which queue t use by simply overloading this method so that it returns a different value.
The first use of this was to make generic turtle tunnel packets use the data queue instead of
the control queuem, which restores a correct balance between turtle downloads and friends downloads.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3153 b45a01b8-16f6-495d-af2f-9b41ad6348cc
3148: modified the update system for address lists, so that the list is totally
replaced (and not merged) when it comes from the peer itself. This helps
cleaning wrong addresses
libretroshare/src/pqi/authssl.cc
libretroshare/src/pqi/p3connmgr.cc
libretroshare/src/pqi/p3connmgr.h
libretroshare/src/services/p3disc.cc
3149: removed uninitialized memory read
libretroshare/src/pqi/authgpg.cc
3151: corrected missed update of peer info when connected. Disabled setting
peer connexion IP from p3disc info (does not make sense, and leads to
errors)
libretroshare/src/services/p3disc.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3152 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Corrects wrong logic when using Win32 API for handling the filesystem, Win32 functions return 0 for an error while POSIX functions return 0 for a success.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3146 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- uses joss's/ open ssl sealinit implementation. public key encryption
- invoked by rs_group_encrypted group flag
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3126 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- memory leak -> "RsItem* item" was not freed, when "dynamic_cast<RsStatusItem*>" failed
- optimized return of std::list as parameter and not as return. return will copy the list and its not necessary
p3StatusService::getStatus
- memory leak -> items in "std::list<RsStatusItem* > status_items" was not freed
- potential crash, when receiving a status for an unknown peer
p3Peers::getPeerDetails
- optimized - call to "AuthSSL::getAuthSSL()->OwnId()" only once
- optimized - add ip addresses directly to "d.ipAddressList"
PeersDialog::insertPeers
- fixed possible crash, when ssl child has disappeared and was removed from tree, there was a missing continue
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3125 b45a01b8-16f6-495d-af2f-9b41ad6348cc
3099: libretroshare/src/tcponudp/udplayer.cc
libretroshare/src/tcponudp/udplayer.h
libretroshare/src/util/rsnet.cc
libretroshare/src/util/rsnet.h
moved operator<<(ostream&,sockaddr_in) to rsnet.h, as it is used at
different places
3100: libretroshare/src/util/rsdiscspace.cc
suppressed debug mode
3101: libretroshare/src/serialiser/rsdiscitems.cc
put correct (i.e. non conservative) size for RsDiscReply packets
3102: libretroshare/src/services/p3disc.cc
Made a pass on the code in p3disc. Corrected some bugs:
- suppressed an unwanted return in packet treatment
- prevented sending info to a peer about itself
- changed askInfoToAllPeers() such as not to discard info
from peers with NODISC flag (because we especially need
info for these)
- enabled receiving p3disc info even if p3discovery is
disabled. Indeed, disabeling p3disc is a measure of
protection, so it should limit the export of p3disc info,
not the import.
- removed test discarding info about dummy friends, because
it is useless
- don't discard info about peers that have the NODISC flag
(meaning that we especially need info for them)
- added safety check about received GPG keys. Before we
relied on this test being performed by
p3ConnMgr::addFriend()
- added some debug info
3103: libretroshare/src/ft/ftcontroller.cc
removed debug info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3104 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- memory leaks in pqi/cleanupxpgp.cc , 2 new char[] => 2 delete[]
- reordering some constructors' initializing order
- char* myString = "foo" constructs must be prefixed by "const"
- using size_t for variable types when dealing with STL
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3079 b45a01b8-16f6-495d-af2f-9b41ad6348cc
3068: added verification for file size computation (bug correction)
3069: set heartbeat values to intermediate values
3070: suppressed uninitialised memory read
3071: automatic removal of file lists from deleted peers, at restart (After
double check that this does not alter exchange of file lists in any way)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3072 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- save msgId in configuration file
- enable previous improvements read/unread state and tags
new function for creating backups of a file
bool createBackup (std::string sFilename, unsigned int nCount = 5);
currently its only available for windows compile. maybe there is a linux developer who change it for linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3064 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This avoids that an attacker that captures a broadcast hash request can also ask for the file.
This needed to add back explicit sources in SearchDialog and private chat transfer. I dynamically search
for sources in file lists just before calling FileRequest.
When RS links anchorClick() will work properly with Qt, we can remove the search flag "EXTRA" from the
tunnel digging in p3turtle.cc, otherwise, people having this bug can't transfer files in private chat by
copy+paste of a RS link.
Also:
- added missing mutexes in search requests into fimonitor.cc
- suppressed some debug info in connect manager
- added check for write fails when dumping config files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3027 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added failure tests for fwrite. Some where missing.
- added a test against the IP 1.0.0.0, which pops up on MacOS (when the peer is not connected to the internet?)
- put some additional debug messages.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3018 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- enabled draft box
bugfix MessagesDialog:
- correct from and to in list and message header
changes MessageComposer:
- cleaned channel part
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2994 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2951: cleaned up some desastrous code in rsdiscitems.cc
2952: put back an exit when the local address+port are already in use.
Otherwise this corrupts file lists, config files etc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2953 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- it was previously corrupting group keys
added dynamics size to grps created
- previously limited to 16000 bytes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2928 b45a01b8-16f6-495d-af2f-9b41ad6348cc
I got confused somehow between the different versions of my modifications and Linux/Windows, anyway it should work now.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2925 b45a01b8-16f6-495d-af2f-9b41ad6348cc
The problem was that libretroshare handles files in UTF-8 but Windows's ANSI/POSIX C functions automatically assume that the char* parameters are encoded with the system's code page. There is no way to set that code page as UTF-8. So now under Windows the code translates the file name to UTF-16 before feeding it to one of the Unicode functions (they are usually prefixed or suffixed by 'w'). Please note that it is not very efficient.
Furthermore, Windows does not provide a Unicode version of opendir/readdir/closedir, so it was necessary to use FindFirstFileW/FindNextFileW/FindClose which has a different behaviour as well as different structures. The FolderIterator class was created in order to mimic the Unix way of traversing folders contents. Hence the algorithm is unchanged and the systems differences masked.
As it was necessary to use some functions from the Windows API, <windows.h> had to be included in a few files were it didn't appear before, creating macros and #define conflicts. In order to solve them, util/rswin.h must be included first in a file (if necessary). Otherwise the preprocessor will fail on purpose to avoid the code being compiled with different _WIN32_WINNT values.
As another side-effect, rstlvutil.h and rstlvutil.cc have been removed from libretroshare.pro file. They are only used by testing units and include util/utest.h which defines a macro FAILED that already exists in <windows.h>. I don't know if unit tests are still in use and I don't plan on coding often on Windows, so I'll leave that as an exercise (hot potato?) to a motivated fellow Windows programmer.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2924 b45a01b8-16f6-495d-af2f-9b41ad6348cc
pqi/authgpg.cc:
- remove French comment (with nasty non-unicode characters)
- use std::cerr instead of fprintf
tcponudp/extaddrfinder.cc:
- initialize correctly the sockaddr_in, former code wouldn't pad sin_zero
(which is required by the standard)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2909 b45a01b8-16f6-495d-af2f-9b41ad6348cc