- authssl would call OPENSSL_malloc without OPENSSL_free
- pqistore was not deleting items in pqiSSLStore when BIN_FLAGS_NO_DELETE is not here
- rsdir/rsinit were calling opendir withoug closedir (which might eat FDs, in addition)
- udplayer was not freeing it's 16KB buffer at end of loop.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3948 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed the usage of RsPeerDetails.validLvl to RsPeerDetails.trustLvl for the display in the column "Did I authenticated peer" in NetworkDialog.
Added an icon to the MessageBox of the NotifySysMessage.
Fixed german language.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3926 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Reload all gpg keys in AuthGPGimpl::LoadCertificateFromString, when new signatures are added - not only the key was imported.
Changed parameters of RsPeers and AuthGPG from "std::string" to "const std::string&"
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3753 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Fixed sent messages doesn't get the flag RS_MSG_FLAGS_NEW
- Rework reply and forward message, now the replied or forwarded message gets the state and not the answer itself
- Added RsMsgParentId (with test) to save the parent of the message in draft
- Change methods of MessageComposer from "std::string" to "QString"
- Show image in the message row in MessagesDialog again
- Fixed umlauts in recommended files in MessageComposer
- Renamed tab "Live Chat" in "Group Chat"
- Fixed german translation
recompile of the GUI needed
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3741 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Plumbed stats through the the retroshare interface.
* Also changed Channel store period back to 10 minutes.... (Reduce overall file count).
This must be done some time before the any changes are made to Channels periods.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3721 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* new DataDirectory Function in rsinit.cc
* new copyFile() and checkFile() functions in rsdirutils.
* bdboot.txt is checked for and copied over if missing.
NB: This has been tested under OSX, but Linux / Windows need checking.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3713 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Problem:
RetroShare connects to all ssl's at once. In Windows XP there is a build-in connection limit of concurrent incomplete connections.
Quote:
"The TCP/IP stack in Windows XP with Service Pack 2 (SP2) installed limits the number of concurrent, incomplete outbound TCP connection attempts. When the limit is reached, subsequent connection attempts are put in a queue and resolved at a fixed rate so that there are only a limited number of connections in the incomplete state."
This results in a high usage of the nonepaged pool and when it runs over the limit it results in the following error in the system log:
German: "TCP/IP hat das Sicherheitslimit erreicht, das für die Anzahl gleichzeitiger TCP-Verbindungsversuche festgelegt wurde."
English: "TCP/IP has reached the security limit imposed on the number of concurrent (incomplete) TCP connect attempts."
After a longer runtime of RetroShare and a very high usage of the nonepaged pool all connections of all running programs are lost and no new connections can be made. At the end it can cause a blue screen.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3631 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added queue for outgoing private offline chat messages. The queue is also saved until the private chat message could be delivered.
It does not work in the short time between the shutdown of the peer and the switch of the state to offline for that peer. For this we need a response of the peer.
Need recompile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3517 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Removed the status string function from the lib.
Removed static strings like " - " and " : " from translation.
Removed not needed images.
Fixed german translation in MessengerWindow, PeersDialog and PopupChatDialog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3472 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Reworked the interface of the chat service. So full recomile is needed.
With disabled flags for private chat (RS_CHAT_OPEN_NEW and RS_CHAT_REOPEN), the incoming private chat messages are queued (only for the runtime) until the user shows the private chat dialog.
When a new chat message is available, the icon of the gpg and ssl contact changed in MessengerWindow and PeersDialog and a new tray icon is shown.
Fixed compiler warning.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3421 b45a01b8-16f6-495d-af2f-9b41ad6348cc
You can enable it in libretroshare.pro and RetroShare.pro by uncomment
CONFIG += minimal
This enables two new defines for stripping all not needed things
- libretroshare: MINIMAL_LIBRS
- GUI: MINIMAL_RSGUI
and removes not needed files from build (see end of the files libretroshare.pro and RetroShare.pro).
Beware: All data of the stripped services are lost
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3414 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Created a new notifier for new chat available - NOTIFY_LIST_CHAT. Removed the QTimer in PeersDialog and connect the signal.
Created news feed for public chat (prework of defnax, need still some gui changes)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3413 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed rsmsg interface and item classes so need full recompile.
Created new notifier for tag changes - NOTIFY_LIST_MESSAGE_TAGS.
Changed serialiser tests for message items.
After that all tags are reset to standard and all assigned tags to messages are lost.
Please delete the file msg_locale.cfg in your profile directory.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3381 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added "mStatusChanged = true" on disconnect of a peer - the statusChange was not notified in time
MessengerWindow
- removed unused method updatePeersAvatar
Changes in status service:
- removed unused method statusAvailable
- new notifier for status change
- enabled the tick for receiving items
- always up to date status map
- no huge memory usage, if no list is visible who call getStatus and processed the received items
- send notify on status change
- renamed getStatus to getStatusList and created a new method getStatus to get status of one peer
- fixed: send status directly after the connect of a peer
Now the frame around the avatar in private chat changes when the peer change the state.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3380 b45a01b8-16f6-495d-af2f-9b41ad6348cc
libretroshare/src/retroshare/
All the relevant headers have been modified to reflect that change.
This allows installation of libretroshare on a system, headers will
be put in $WHEREVER/retroshare/ and we keep the ability to compile
against them, be it on the system or in the SVN tree.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* OSX Bug: doesn't like classes in C files. switched to void * pointer.
* A little extra debugging in pqissl on disconnects.
* switched on bitdht by default in libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3334 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Changed the timer of RsAutoUpdatePage to a single-shot timer.
The update can take longer than the given timer interval.
Changed status service:
- send status when the peer connects (new monitor)
- send status to all online peers only when user changed it (not in every timer tick)
MessengerWindow:
- remove load and save of custom state string in settings
p3ChatService::sendCustomState
- send empty custom state string too
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added thread-safe rs_inet_ntoa function (util/rsnet.cc)
* Switched all calls to this function (most of the changes)
* Modified getLocalInterfaces() and getPreferredInterface() to avoid string conversions.
- NB: Modified windows functions too, but unable to test (hope it compiles!)
Also:
* Added EVP_CIPHER_CTX_rand_key() replacement function for old versions of SSL (pre 0.9.8) (for OSX 10.5)
- NB: This code should be reworked to remove these calls anyway.
* Updated tests/pqi to handle above changes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3281 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Corrected mLocal -> mExt in ipset.cc
* Added pqiipset_test
* added both Ext and Local address to GUI display.
* p3connmgr: Ip Addresses only updated if we connected (otherwise port is wrong).
* p3connmgr: update external address when we get it.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3251 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed #includes in upnp
* switched p3disc over to the new data types.
* added new source to .pro file
* minor changes to other code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3249 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Every call to RsInit::LoadCertificates() now creates a file:
~/.retroshare/xxxxxxxxxxxxxxxxxxxx/lock
which is then bound to a system lock (fcntl F_SETLK).
If the lock request fails, it means another instance is already
running with the same profile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3241 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Rework of AuthSSL: cleanup and split up.
* Split out independent SSL functions into sslfns.h / sslfns.cc
* Reworked SSL certificate storage.
* Reworked SignDataBin / VerifyDataBin (fixed memory leaks).
* Removed funny code: /* cert->cert_info->key->pkey is NULL */
- just use X509_get_pubkey() instead.
* Removed lots of old code.
* Fixed up Mutex usage in AuthSSL - which was random.
* Removed certificates from tlvSignature serialiser obj.
* removed certificates from p3distrib messages.
* Starting removing "unused parameter" compiler warnings.
* Various related changes to make libretroshare compile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3222 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
- 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
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
- 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
Now used in MainWindow.cpp, MessagesDialog.cpp and peerstatus.cpp
void p3Peers::getPeerCount (unsigned int *pnFriendCount, unsigned int *pnOnlineCount);
void p3Msgs::getMessageCount(unsigned int *pnInbox, unsigned int *pnInboxNew, unsigned int *pnOutbox, unsigned int *pnDraftbox, unsigned int *pnSentbox);
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2898 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- clean up of channels old (> storeperiod) cache file downloads called at rsglobal shutdown
- added extrafilehash and extra-remove to rschannels, so it chooses appropriate way to add files (correct book-keeping)
- added extra files not copied to chan dir if over 100mb (high overhead)
- added limit to channels auto-download (1gig)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2866 b45a01b8-16f6-495d-af2f-9b41ad6348cc
RetroShare checks for locale gpg.exe and gpgme-w32spawn.exe and if exists, it starts as portable version.
Modified version of libgpgme-11.dll needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2815 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Currently the only way to induce a bug is start rs for an ssl_id which
which does not have a password saved, then try use an ssl id at start
dialog which does or does not have a pword (help_pword:bool enters an
illegal state)
I have fixed it by checking if rsinit::passwd == "" then trying to load for
that ssl_id, if that fails then i set help_pword to false; does not have
password and pass flow to gpg to ask for passwd. (problem was rs thought
user had help/pass file and they didn't).
i have checked it in and tested for
1. starting with ssl_id which has saved pword, and switching ids at start
dialog
2. secondary id may or may not have saved pword.
- added check for the result of fscanf
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2802 b45a01b8-16f6-495d-af2f-9b41ad6348cc
I have fixed it by checking if rsinit::passwd == "" then trying to load for that ssl_id,
if that fails then i set help_pword to false; does not have password and pass flow to gpg to ask for passwd. (problem was rs thought user had help/pass file and they didn't).
i have checked it in and tested for
1. starting with ssl_id which has saved pword, and switching ids at start dialog
2. secondary id may or may not have saved pword.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2801 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- in the situation where autologin is enabled
- BUG found (or rather autologin induced it), if one asks to make friends to a peer (in ConfCertDialg) 'within' a session that uses autologin it freezes
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2703 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Using rc4 to store ssl pword on file for linux, for windows already using cryptprotect
- yes its not safe, but its the user's choice to keep pword or not
- consider using method closely hooked to linux kernel (another layer of obfuscation)
- windows i believe is stronger (because its proprietary/ heavily obfuscated)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2690 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Redesign the udp connection
Remove the rsiface duplicates from retroshare-gui.
Add some randomness in timings for connect manager
Merge branch 'connectionTunneling'
Conflicts:
libretroshare/src/libretroshare.pro
libretroshare/src/pqi/p3connmgr.cc
retroshare-gui/src/RetroShare.pro
retroshare-gui/src/rsiface/rsfiles.h
retroshare-gui/src/rsiface/rstypes.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1867 b45a01b8-16f6-495d-af2f-9b41ad6348cc
en visible, and each time it gets showed. I already made some RS pages derive from this page.
- Modified and renamed the taskGraphPainterWidget to display info about currently selected file transfers. For know, it only shows file chunks info, but we should use it to display additional info about the transfer. Warning: in its
current state, only fake chunk info is displayed.
- Suppressed p3files.h, because it is not used.
Remains to do (in order):
- Implement a chunk map class in ft/ to properly manage which chunks should be downloaded
- Display correct chunk info by requesting the transfer's chunk map
- Add check-sum verification of chunks
- allow RS to import a partially downloaded file by force re-checking chunks
- Add chunk map exchange from file source peer id to file destination peer id.
- Manage chunks from different peers.
- Allow search (turtle search) for partially downloaded files
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1832 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- reverted preceding commit about PNG/JPG in popup chat dialog. This only concerns internal data representation and this string has nothing to do with accepted image formats.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1704 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- suppressed compatibility with old avatar transmition code
- added code for storing and sending a custom status string (for e.g. saying "I'm not here now") in p3ChatService
- added code for sending group chat status messages "peer is typing". Not fully functionnal yet.
Warnings:
- this commit breaks the compatibility for avatar transmission
- the new avatar transmission is not fully working yet
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1696 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Stun code now runs continually - to check external network state.
* Udpsorter controls DHT stun is on/off. (via p3ConnectMgr)
* added code to enable threads to join/restart
* enabled NetRestart for UDP and TCP.
* tweaked networking code for faster startup (now ~30 seconds - can still be improved).
* tweaked debug messages for testing networking
* Added test for checking external IP address determination.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1492 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* supports Multiple Accounts on same computer.
* Enabled libretroshare tests using Makefiles.
* restructured RsInit functions: Config Data is now private.
* switch OpenPGP on by default (added #define to rsinit).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1451 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* p3disc now exchanges "Issuer" (pgp) certificates as well.
* additional types for rsdiscitems.h
* Bug Fix for NULL packet in p3service.cc
* allow unauthed SSL certificates to be added in AuthSSL - otherwise cant add new friends!
* only save authed SSL certificates.
* fixed ref/unref of PGP keys in AuthGPG
* added Mutex protection to AuthGPG
* added PGP reloading when key is imported, or signed.
* Fixed PGP key signing.
* added Additional field validLvl to RsPeerDetails.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1270 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This is not enabled by default. Instructions to enable are at the end of msg.
This is 60% complete. Supports creation of certificates, adding friends and connections.
Parts still to do: pgpids, p3discovery, signing and trusting peers.
The main reason it is being commited is so that connections between peers can be
properly tested, and development on OSX and win can start.
This requires gpg and the gpgme.h development libraries, and no longer
requires the custom ssl libraries.
To compile it switch the configuration flags in scripts/config-linux.mk
To compile XPGP (v0.4.x) enable PQI_USE_XPGP:
#PQI_USE_SSLONLY = 1
PQI_USE_XPGP = 1
To compile SSL only, enable PQI_USE_SSLONLY:
PQI_USE_SSLONLY = 1
#PQI_USE_XPGP = 1
To compile OpenPGP, disable both:
#PQI_USE_SSLONLY = 1
#PQI_USE_XPGP = 1
and enable RS_USEPGPSSL in rsiface/rsinit.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1265 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added a checkbox to control the use of external servers for ip determination.
- put back Network on the left
- put channels out of RS_RELEASE_VERSION, as it's not working yet.
- NetworkDialog:
- set the info in columns about trust to be more explicit
- changed dark green into light green to comply with colors in the trust matrix (it's also more readable in light green)
- corrected trust strings that appeared in the Last Contact column
- changed "generate certificate" in connect friends wizard into "export my certificate..." which is more appropriate
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1113 b45a01b8-16f6-495d-af2f-9b41ad6348cc
additional functionality in other places, including:
* add Sign / Verify functions to authxpgp
* sign/verify messages, and control flags for p3distrib/p3forums.
* add authmgr to p3distrib etc.
* added AUTH flags to rsforums interface.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@867 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Enabled config in p3file-startup.cc
* Enabled resumeTransfers
* Added new RsFileConfigItem to serialiser.
* extended ftFiMonitor to use Configuration.
* bug fix to add/remove Shared Dirs.
* Increased Channel/forum periods to 3/12 months.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@806 b45a01b8-16f6-495d-af2f-9b41ad6348cc
build against a standard OpenSSL library...
Still lots to do (implement AuthSSL), compiles all but final gui.
use USE_XPGP flag in build script to control it.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@796 b45a01b8-16f6-495d-af2f-9b41ad6348cc
NB: This is not yet working. so SVN is now officially broken :(
Hope to have the bugs ironed out soon.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@782 b45a01b8-16f6-495d-af2f-9b41ad6348cc