also added logic to deal with case where auto dl has been disabled then re-enabled after a manual download
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4137 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added new button in ConnectFriendWizard for cleaning the certificate.
Fixed cleaning:
- added blank line after the armor header
- moved the checksum to a new line
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4134 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- changed the order of check in tick() to allow cancelling a file that is being checked
- removed the hash step from mutex protection
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4113 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Combined the two methods for share and unshare of the download dir.
Added share incoming directory to the QuickStartWizard.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4089 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Changed the parameter of the constructor of ftFileCreator and ftFileProvider and some methods of ftTransferModule from "std::string" to "const std::string&"
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4045 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added Search Functions (for DummyMsgs) to p3distrib
- added timestamps to RsDistribDummyMsg.
- interfaced in p3forums
Not sure about its interaction with "Read Msgs".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4020 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added RsDistribDummyMsg class to each GroupInfo.
* Added function to check for missing parents.
* added print functions for debugging.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4010 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* switched to one universal PendingCache list.
* added mHistoricalCaches variable to p3distrib - to indicate when old caches have been loaded.
* added calls to p3GroupDistrib::HistoricalCachesDone() in rsinit.cc
* added "historical" parameter to lots of p3distrib functions.
* updated child classes to only add FeedItems if (historical == false).
* Switched Validate / Duplicate Msg checks to speed up historical data load.
* corrected rsrandom function for OSX.
* bugfix to rsloginhandler function. (compile error).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4008 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added a RsLoginHandler class, responsible for storing/loading the SSL passwd from keyrings/disk/gpg file
- Removed RsInitConfig::havePasswd, RsInitConfig::haveHelp, etc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4007 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Cache Queues to p3distrib.
* Created p3ThreadedService class.
* added code to launch these threads.
* debug code to see loading.
Seems to be far too many called to gpg->verifySignature()... to look at.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3998 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Done save and read, need to do "remove autologin" .
This can be done manually through KeyChain Acess program.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3997 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- kepts compatibility with existing autologin passwds. Only new locations will have a long 64 chars passwd.
- implemented storage of SSL password in gnome keyring for autologin on ubuntu
- added UBUNTU define in both .pro files.
- suppressed display of SSL passwd at login
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3993 b45a01b8-16f6-495d-af2f-9b41ad6348cc
so RS ended up with 200+ zombie child processes. This prevented gpg from being called.
The fix was to add waitpid() calls to cleanup the zombies.
* added cleanupZombies() to authgpg.cc (OSX only).
* updated OSX gpgme libraries to 1.3.0 (added libassuan to RetroShare.pro).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3974 b45a01b8-16f6-495d-af2f-9b41ad6348cc
shared key now saved if not subscribed and rs is shutdown
also 'blue font' update sent once shared key received
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3972 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Optimized parameter of rsForums from "std::string" to "const std::string&". Recompile of the GUI needed.
Cleared childTS in RsDistribMsg::clear.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3949 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 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
Changed parameter of RsDirUtil::cleanupDirectory from "std::list<std::string> keepFiles" to "const std::list<std::string> &keepFiles".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3925 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added new icon in MainWindow and systray icon for existing completed downloads.
You can enable/disable the toaster and the systray icon in NotifyPage.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3868 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* shifted dht stats call outside of p3connmgr's mtx.
NB: As Dht callback functions hold DHT lock, then lock p3ConnectMgr...
we cannot have any opposite locks (p3connmgr, then DHT) or we have
potential for a deadlock.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3861 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* mUdpBitDht doesn't need to be protected by a mutex - as it is static for all intensive purposes.
* updated PeerCallback() fn signature, and removed extra address callback. (part of args now!).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3858 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* new uniform #define DEBUG_TRANSFERS to switch on packet timings.
* switched off by default.
* enabled BinData printing again.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3785 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* print packet size and time - when actually sending it.
* print reason for stopping to read or send packets.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3780 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Committing these so others can run tests.
Most of these changes will be removed once the problem is fixed!
* Fixed formatting of various serialiser item::print() fns.
* Disabled printout of TlvBinaryData - data.
* added AccurateTimeString() function to util/rsprint.cc
* print serialise / deserialise of FileRequest & FileData + Timestamps.
* added print + timestamp in ftFileProvider::getFileData()
* #define TRANSFER_DEBUG to isolate these changes.
* enabled debugging in fttransfermodule.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3779 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
msgs now save from field in received msgs
also allowed user to delete file added in createChanMsg dialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3727 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
- FAIL if too old.
- FAIL if invalid address.
- FAIL if on BannedIpList (=1.0.0.0)
- ACCEPT if extAddress.
- ACCEPT if !extAddress && sameNet(localAddr).
- FAIL all the rest.
* Test Results are printed if CONN_DEBUG is switched on.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3705 b45a01b8-16f6-495d-af2f-9b41ad6348cc
fixed timestamp not being set in p3distrib
and also removed memory look in channel ui (fillchannelList)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3677 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Moved the hash strings of notifyHashingInfo from the librs to the GUI for translating.
Fixed german translation.
Recompile of GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3659 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 new and missing tests of the RsItems.
Added new notifier on channel changes.
Reworked fill of channels in ChannelFeed. Now the channel tree is updated and not refilled.
Show unread message count in channels tree.
Fixed memory leak in context menu.
Show a new tray icon and action icon in MainWindow, when new channel messages are available.
Recompile of the GUI needed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3626 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Sort the ChanMsgItems of the channel by date
ChanMsgItem:
- Fixed adding all files (SubFileItem) again by pressing the unsubscribe button (only in Friend Storm)
- Enable unsubscribe button only when channel is subscribed (only in Friend Storm)
- Fixed adding files with umlauts (utf8) on Windows
- Enabled Download and Play button in ChanMsgItem, when they are enabled in the SubFileItems
ftServer:
- Added the method alreadyHaveFile for use in the GUI - recompile of GUI needed
SubFileItem:
- Added state strings like LOCAL, REMOTE, ERROR, ... for translating
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* NOTE about how to correctly implement Peer filtering.
* added peerConnectRequest() when PeerCallback(success) happens... starts UDP connection.
* Split the p3conmgr::tryConnect() functions into sub functions.
* added p3ConnMgr functions for UDP connections.
* Added AddifUnique(conect_address), to ConnMgr, this should reduce the number of connection attempts, by removing dups.
* Disabled bitdht in libretroshare.pro for the moment.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3605 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Use receive time for chat information to have the right order in the history (problem of time zones and wrong clocks).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3593 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added second mutex for the gpg engine.
Now the call to the gpg engine (for example AuthGPGimpl::LoadCertificateFromString) doesn't block the GUI.
The existing problem is still the call of AuthGPGimpl::storeAllKeys every minute before access the gpg data.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3555 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
When you write a new message and save it to draft more than once, a new message in draft is created everytime you save.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3466 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added send time to ChatInfo.
Chat:
- Reworked IMHistoryKeeper to save only needed data as raw data (not formatted from PeersDialog).
- Renamed the public chat history file from "his1.xml" to "chatPublic.xml" and moved it from data dir to config dir. The current history is lost. Please delete the file "his1.xml" manually.
- Optimized save of the history. Save only when changed, also during the runtime.
- Clear the history in PeersDialog clears the IMHistoryKeeper too.
- New setting to send chat message with Ctrl+Return. Changed the check for Enter in PeersDialog and PopupChatDialog from textChanged to eventFilter.
- Smileys are inserted at the current cursor position, not added at the end.
- Don't send emty messages.
New class ChatStyle:
- Created a new class for the work with chat styles and smileys.
- Currently only two internal styles are available - private and public. Later more external styles planned.
- Moved functions for loading and showing the emoticons from PeersDialog and PopupChatDialog to the new class.
Private chat:
- Split private chat style into incoming.htm and outgoing.htm.
- Removed style change.
Public chat:
- New chat style incoming.htm, outgoing.htm, hincoming.htm and houtgoing.htm.
Chat feed:
- Show links and emoticons if they are enabled for public chat.
PeersDialog:
- Show the own name and location only once at start and not with QTimer every 1.5 second.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3441 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
Show own tray icon for new messages.
Removed unused member p3Forums::mForumsChanged.
The message service send a notify on p3MsgService::markMsgIdRead too.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3353 b45a01b8-16f6-495d-af2f-9b41ad6348cc
There are too much unnecessary internal SendItem's for the offline ssl contacts.
Maybe this should be handled in libretroshare. For every call to p3ChatService::sendAvatarRequest and p3ChatService::sendCustomStateRequest with currently no data available, a RsItem as created and sent. This is unnecessary, when the contact is offline.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3347 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
Enabled bitdht in RetroShare.pro and retroshare-nogui.pro too
Fixed link of RetroShare on Windows
-> added ws2_32 after bitdht, maybe someone has a better solution
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3335 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
- replaced the findItems() call into a hand-written search (this was causing a rare bug in displaying downloads)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3318 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- written test for new forumreadstatus item, and other recent changes to distrib items
added graphics support to blogs - can now have pics for html blogs! but removed attachment, a channels artifact
added copy constructor to rstlvimage, needed for tests to work
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3317 b45a01b8-16f6-495d-af2f-9b41ad6348cc
a particular distrib service (forum, channels, and blogs) -- needs full rs-gui recompile
- added ability of forum's to save 'msg read' status
(meant to supercede current similar feature implement in qt gui side)
- updated test for distrib items, added forum items test
- added doxygen comments for rsinit and others.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3314 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- by the right-click+Force Check on files.
- when a global hash on a downloaded file does not match the announced hash.
When a CRC map check is ordered, the CRC map is requested to one of the sources for the current file download.
When received, all downloaded chunks are checked w.r.t the reference CRC and marked as not done if the CRCs do not match.
The exchange of CRC32 map and requests has been tested, as well as CRC map checking during download (force check).
To be implemented soon:
- caching of CRC32 maps (although these are fast to compute)
- CRC32 map packets for normal downloads. For now these work only for turtle tunnels.
- handling of errors if the CRC never comes. For now, the download will stay stuck in "Checking..." mode.
So, don't play too much with the force check feature for now...
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3310 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 TS check to SSL_RETURN_ZERO code.
- Existing code was dependent on tick rate. (could kill connection in 2-3 seconds)
- If nothing is received within 15 seconds - the connection will be killed.
* Removed "No send if RETURN_ZERO" check.
- This causes deadlocks and kills connections.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3287 b45a01b8-16f6-495d-af2f-9b41ad6348cc
sslfns.h: test for existing function with #ifdef doesn't work, used OPENSSL_VERSION_NUMBER instead - please test
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3284 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 a bug that caused file copy error: a closeFile() was missing when the file is complete. Because of delays in fwrite, the file would not be always co
mplete, nor exist at all for small files (e.g. cache files), which in the later case caused the copy error.
Warning: needs a make clean in libretroshare to recompile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3261 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This will cause loss of all forums (again).
Sorry - I don't lightly change datatypes... but better to do it all at once.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3258 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Changed calls from AuthSSL to AuthGPG and tested. looks like it works!
* added extra connect addresses in p3connmgr (current[local/server]addr)
* added mConnMgr->addFriend() call to pqissllistener to add unknown ssl certs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3253 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Bugfix in correctly adding ipList.
* restored setLocal/Ext calls from peer.
* Added extra debugging in p3disc.
* Cleaned up debugging in p3connmgr.
* switched off debugging in rsdiscitems.
* reorder ipList (most recent first).
* removed DEBUG switches in libretroshare.pro
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3252 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
(Sorry for the ridiculously large check-in, wants to fix lots of stuff.)
Other Changes:
* Added SSL Test Harness. (authssltest)
* Added GPG Test Harness. (authssltest)
* Reworked SSL/GPG startup to enable test harnesses
* pqiperson: added notify of FAIL if connection method unavailable.
* added p3tunnel to pqissltunnel init.
* pqimonitor: added ipHistory to connect callback.
p3ConnectMgr Changes:
* removed STUN system - wasn't operating correctly anyway without DHT.
* switched to new IpAddress history data types. (removed lots of code)
* Added Addr history for both Local and Ext addresses.
* removed p3tunnel references in p3connmgr
* fixed up mUseTunnelConnection flags (now used!)
* fixed up mUseExtFinder flags (now used!)
* added improved Net Status.
* corrected UPNP / EXT / UDP startup. (was always UPNP).
* fixed netReset() and netStartup().
* removed unnecessary DEBUG code.
* added UPNP timeout code (600 secs - why does it take so long?)
* added improved netExtCheck().
* removed wierd netConsistencyCheck() ... to rework.
* corrected connect / reconnect code.
* removed DHT notify code.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3247 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Removed nasty list of ip addresses from rsPeerNetItem
* create TLV type to handle ip address history instead.
* switched to new data type. (should be seemless?)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3246 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- stores an iterator rather than searching a map twice
- deletes a message when it can't be routed in routeGenericTunnelItem()
- deletes a message when its contents allocation failed in sendFileData()
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3244 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
* restored AuthSSL::Failed/CheckCertificate() calls.
* removed mConnMgr->isConnected() checks. These should be elsewhere.
* enabled exit(1) call if cannot open listening socket.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3218 b45a01b8-16f6-495d-af2f-9b41ad6348cc
p3connmgr: This needs major help... and will be revisited.
Only changes to get code compiling for now.
* revert peerStatus() function signatures (to match pqimonitor.h)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3217 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This functionality might need to be restored later,
but should be done with list<> for both Local and Remote Addrs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3215 b45a01b8-16f6-495d-af2f-9b41ad6348cc
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
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
- ftController::copyFile -> buffer and file pointer leaks in case of error
- PeersDialog::insertSendList -> new QTreeWidgetItem for all online peers, this function is not ready yet
- PeersDialog::insertPeers -> gpg_item = new QTreeWidgetItem(0); in case of no more accept connection
- pqissl::reset -> missing SSL_free of ssl_connection
Missing return:
- IntroPage::nextId
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2891 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
- corrected calculation of message counts
- p3MsgService::checkOutgoingMessages -> notify when message was sent
- refill of message list without clear, selected messages and scroll position are not changed
- corrected sorting of date with only time for today
- changed context menu in message list
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2863 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- since libretroshare doesn't use Qt at all, we remove it from the CONFIG
directive,
- adding files in HEADERS doesn't include them for compilation but only for
installation. Instead we must use gpg-error-config and gpgme-config to fill
correctly INCLUDEPATH.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2856 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
- Bug fix: Checkbox for automatic share of the incoming directory doesn't correctly set with setDown, use setChecked
- ShareManager and RSettingsWin doesn't need to be created all the time
- RSettingsWin: Save the last active page for the current runtime
- ShareManager and DirectoryPage: Show changed shared directories direct after the change
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2777 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- getcustom status now generate a requests to that peer.
- setowncustom status now generates an 'status available' item sent to all peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2769 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- call back function did not pass prev_was_bad as parameter
to gui/qtnotify function which requests password
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2738 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
- suppressed old DwlQueue class
- turned mDownloads into a list of pointers to allow easy cross-info update between queue and std::map of downloads
- added queue functionality for moving files top/bottom/up/down
- added the necessary functions in rsFiles
Put back display of exact sizes in FileTransferInfoWidget
Suppressed some warnings.
**Warning**: this commit requires a make clean.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- essentially if any part of the file saving procedure fails, there should be config files whose signatures/hash match up
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2476 b45a01b8-16f6-495d-af2f-9b41ad6348cc
1) b64.c used c++ functions -> b64.cc
2) OSX will use miniupnpc for now -> modified #defines.
3) change in openssl fn signature?
4) updated build file for OSX.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2344 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added file priority strategy based on which files are requested first. This provides:
- equal file speed for files with equal (source,priority)
- effective priority speed for file of same source but different priority
- removed state variable load/save from turtle, as it's not needed anymore (FileRequest re-opens tunnels as needed)
- manage availability per peer instead of per file type: direct peer ids always assume file availability, while turtle tunnels don't
I still need to make the download queue work, and code this gui for it.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2133 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- exchange of chunk availability maps from different peers
- correct handling of what is available to which source before asking the data
- correct display of chunks in the progress bars
- generalised the use of compressed chunk maps
- removed the size parameters from the hash search functions
- In addition:
- suppressed a number of per-value transfers of std::string
- improved the FileTransferInfo Widget, to show some additional info
Still to be done:
- chunk map exchange for non anonymous traffic (easy)
- improve accuracy of completion for uploads (for now it's a integer number of chunks)
- check compilation on windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1993 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- suppressed a cross mutex lock bug that happened rarely while digging tunnels
- changed FileDetails in ftServer so that it's now possiblt to search for hashes of files being downloaded
- improved the search code in ftdatamultiplex
- added some comments to the turtle code
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1964 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- implemented transfer protocol for chunk availability maps between peers (not enabled yet though)
- suppressed rsiface directory from retroshare-gui
- moved notifyqt.{h,cpp} to gui/
next moves:
- send availability maps to clients;
- connect turtle search to unfinished files;
- test multisource download with unfinished files.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1939 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
The side effect is that even when stopped, downloads show the correct downloaded size (up to the size of one chunk).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1865 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- a given chunk strategy
- the availablility map of each source
- Integrated this into ftFileCreator
- added gui menu in file transfer+right click to change the chunk strategy: streaming vs. random
Next step:
- loading/saving file downloading state and availability map
- displaying chunk details in the selected transfer tab (e.g. list of currently worked chunks, and their current downloading completion)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1863 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
* Modified tlvitems to support future expansions.
* added random tlv test functios.
* added dummy Wide Directory functions to rsdir (for the future;)
* Fixed Mutex Bug in fimonitor.
* added netiface_test for hiberation / net change testing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1620 b45a01b8-16f6-495d-af2f-9b41ad6348cc
-downloading directories from search dialog not implemented yet
-needs more code clean and beautify the directory tree
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1566 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added a console in config->server->F2F routing to be able to visualize turtle routing statistics
WARNING: this is not complete yet. The fllowing still needs to be done:
- detect duplicates in search results between turtle and friends search
- RegExpr search does ot work with turtle (still to code).
- search does not search own files. Is this really needed after all ?
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1540 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- suppressed auto-collapse of directories when updated.
Still To do:
- auto-update QTreeView in PostMod() to avoid display inconsistencies.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1520 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- now, only files with the NETWORK_WIDE flag are searchable by turtle hopping.
Next move:
- integrate turtle search in default gui.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1512 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- 1st attempt at displaying share properties in the SharedFlagsDialog.
- added share flags in DirDetails structure in place of Rank, that is not used anymore.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1509 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- own directory browsing is now done through FileIndexMonitor. This allows:
- to browse shared directories independently of their flags
- to update files as they get hashed (yeah!)
- still to do:
- turtle requests should respect the share flags
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1507 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- now only the directories with flag "browsable" on are dispatched to friends
- when switching flags, directories are re-sent to friends
Still to do:
- turtle search only files with "Network wide" flag on
- test what happens when 2 directories have the same base name
- display own directories by calling FileIndexMonitor instead of FileIndexStore
Warning: at this time, directories that are not browsable do not appear in the Files dialog under "my directories".
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1506 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Modified bind calls to attach to 0.0.0.0:XXXX instead of specific
IP:Port combinations. This will help connectivity when RS chooses
the wrong interface.
* These changes are within #defines so they can be easily reverted.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1498 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
What works:
- the gui shows the flags in ShareManager
- the flags are loaded/saved to ft_shared.cfg and passed on to FileIndexMonitor
What does not work yet:
- the flags are not accounted for yet by FileIndexMonitor
In addition:
- simplified the directories dialog in Preferences, so that it calls the ShareManager instead of dupplicating the directories management
code that becomes larger.
- setup the ShareManager to be a singleton, so as to coherently call it from different places.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1486 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
* added rsinit.h include so PGPSSL flag is read. (enabling ISSUER sharing)
* extra debugging so we can see the certs being passed around.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1399 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- created a subclass for Own item parts, which is compatible with old format.
- suppressed sending of Issuer packets when not using PGP
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- cleaned up the documentation in p3turtle.h
- update tunnel time stamp only *on the way back* to avoid unsuccessful requests to update a timestamp.
- implemented persistence of which hashes are to be handled.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1297 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
RsItem Packets.... but used an alterative streamer similar to pqiarchive.
This will cause problems, and delete the configuration for those
who have upgraded in the last month .... but will maintain compatibility
with previous stable release.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1201 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- unable to get windows to compile with PopupChat on windows.
- not happy with new SearchDialog. Not an improvement on old dialog + uses Qt4.4
* updated version numbers...
* added a couple of windows scripts.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1200 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This reverts commit 1bf9ed770532f3093548fa4120209be3a31c5c21, reversing
changes made to 5b0464d7a0aaa034851dfc80ca0a2d367f4c28ef.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1179 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Once completed this will allow standard ssl authentication and provide the base for
the openpgp authenticator,
* Tweaks, and removed debug statements.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1140 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This is because test programs have not been maintained since we switched to qmake for compiling libretroshare.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1132 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
this provides the new GPG implementation
added API to store all GPG keys in a map
added APIs to get GPG certificate IDs
added APIs to get Details from the Certificates
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@839 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Bugfixes for 'sleep' issues under windows.
Extra debugging for transfer module.
Fixed channel directory creation. (extra 'break' statement)
Fixed very slow transfers on Windows platform (uninitialised variable)
Ready for win/linux/osx release now.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@830 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* cleaned up p3distrib callbacks.
* added holdQueue for transfer startup in controller.
* fixed partial resume.
* updated Mac script to only build library.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@828 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed Online and Message Toaster to look bether .
* Update stylesheets for bold fonts for Subject,From,Date,To, Subject Text
* Set for From Text Label Blue font.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@814 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
It is now almost ready for integration with rs.
Added ftserver3test.cc which successfully tests:
* Hashing of a directory.
* Transfer of Cache Files.
* Local Searching.
* Remote Searching.
* Download from multiple sources.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@773 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added call to function when loading certificate from a string.
(ie when the user cut n pastes it).
* added return 1 call to pqipersongrp.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@714 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Made ftTransferModule compile.
* bugfixes to make ftserver1test work.
* New P3Pipe / P3Hub ...
* Added Test Notes.
* First functions added to ftcontroller
* added isOnline to p3ConnectMgr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@698 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Created pqiNetAssist interfaces for DHT and UPnP.
* Created PQIHub etc for standalone testing (in ft/pqitestor.h for now).
* Add basics of first server test ... its not quite complete yet.
* Improvements to ftserver.
* Changes to many tests to match other mods.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@689 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added TlvShallowClear() to serialisers
* Added RsQueueThread for periodic queue processes.
* Completed ftDataMultiplex which replaces ftServer/ClientModules.
* Added Server Queue / Thread to ftDataMultiplex.
* Added ftdataplextest to exercise ftDataMultiplex.
* Generalised ftFileSearch to handle an array of ftSearch classes.
* Tweaked rsfiles.h #defines to match new ftFileSearch scheme.
* Added Generic ftData Interfaces for Testing.
* added ftDataSend/Recv Interfaces to ftServer + ftDataMultiplex respectively.
* Completed much of ftServer (External Interface), but not yet done.
* Extra debugging and small changes to ftExtraList
* Integrated new ftTransferModule with minor interface changes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@660 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Completed rough ftExtraList class (with Test Case)
* Added data flow interface (ftData.h)
* Added ftDataMultiplex (server + client modules).
* Finished parts of ftcontroller / ftserver.
* Minor Tweaks to ftTransferModules interface for compilation.
Related Changes in other parts of the code:
* Added new Job/Queue Thread Class.
* Added more user-friendly directory functions.
* Added FileInfo print operator.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@650 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Switched off most of std::cerr output. (expect UPnP)
* moved pqi/pqidebug to util/rsdebug to allow greater usage.
* added Mutexes to logging.
* Downgraded many log messages to DEBUG.
* New Log messages for connections, dht and udp code.
* Added check for bad UDP socket.
* Added check for non-firewalled scenario.
* Increased Storage period from 1 Month to 6 Months for Links & Blog.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@644 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Disabled newsFeed for failed connection and disconnect.
* Switched interface file_size to 64 bits for larger files.
* Flagged distrib groups as changed when subscribe request is processed.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@634 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added TMP p3Files class to interface with old system.
* cleaned up old RsControl + RsIface file information.
* removed unnecessary functions from RsServer.
* Tweaked interfaces for ftServer + ftExtraList.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@630 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed up variable names in p3Qblog.cc
* Cleaned up unused BaseInfo/PersonInfo/DirInfo in rstypes/rsiface
* added new rsfiles interface (rough outline at the moment)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@628 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added new tlv type rstlvwide key value pair for internationalisation
* profile interface method not fully implemented yet
* blog methods implemented
* added extra constructor to facilitate extensibility (rename packet
type)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@625 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Addition of channels serialiser.
* New channels interface.
* Added Channels to startup code.
* New CFG Id for serialiser.
* Cleanup of old channels stuff from interfaces.
* Cleanup of messages as well.
* Changed file size to uint64_t
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@620 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added interface to rsnotify/p3notify/pqinotify
* added getForumInfo() to forum interface.
* added virtual functions to p3distrib for event feedback.
New NewsFeed Notification.
* Peer Connection/Disconnection.
* Failed Certificate connection.
* New/Updated Forums and Forum Msgs.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@616 b45a01b8-16f6-495d-af2f-9b41ad6348cc
*final modifications to qblog network messages: might need to consider
wstring for profile kvsets tho
*update qblog core to hanldle messages
*updated interface with all methods we will ever need hopefully
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@614 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Various improvements to get p3distrib Messages working:
* Defensive programming in cachestrapper (forcing ownId on save).
* Changed CONFIG_CACHE_ID to last -> to force correct loading order at startup
This should be Config Files, Local Cache Files, then Remote Caches.
* Hack to maintain existing Cache Files.
* Improvments to forum_test.
Lots of work on p3distrib:
* fixed nextCacheSubId.
* Added new Msgs to Config Save.
* Fixed Cache reload issues.
* Overall: Enabled Forum Msg publication.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@611 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Forum ID to configuration Manager.
* added proper startup for p3Forums.
* updated forums/distrib interfaces.
* Switch Auto-Login on by default.
* switched out lots of debugging.
* add RM libretroshare.a to top-level Makefile.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@594 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Now creates Distribution Groups, with Admin + Publish Keys.
- Distributes Groups + Public Keys in the Cache File.
- Stores private Keys and subscribed groups in Configuration.
- Forum Test to check basic functionality.
- Added nullService for services that require tick(), but no instant messages.
- removed debugging for other services (ranking/gamelauncher)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@593 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Services which are being designed / tested should use an Id
between 0xf000 - 0xffff until the messages are finalised.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@584 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* implementation of p3config, cache functionality to p3Qblog
* added peerid (pid) attribute to rsQblog item and its serialisation
* TODO: logical updating for p3Qblog
* TODO: implement tick() so can add to server
* TODO: test p3Qblog after addition of tick with some peers
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@571 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Scores can be based on:
Time: Average Comment Age.
Ranking: Sum of peer scores.
Combo: Sum of (score * age)
These are still rather crude and could be improved significantly
if anyone is interested in trying.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@562 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(1) std::map<> doesn't support .at() on OSX or Windows. (use [] or find())
(2) u_int32_t is invalid on windows. (use uint32_t )
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@553 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This caused the freezing on many people PCs. It happened if
(1) Networking was set to Automatic.
(2) UPnP was not available.
But its fixed now!
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@513 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Anonymous links, stored in configuration file.
* Friends recommendations are also shared anonymously with peers.
* Own recommendations are shared with friends.
* TODO include ranking (+2 <-> -2) in score.
* some bugfixes too.
Added RandomId to p3service file.
Improved forum interface.
Added dummy forum system (not transmitted) for testing.
Switched on new features as well.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@505 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Removed periodic Check and thread.
* Added Shutdown.
* switched to terminating background thread.
* removed temporary lease.
* A bit of a HACK - this class could be cleaned up significantly.
Adding the start of forums/channels.
* Dummy Interface and Forum data (so GUI work can start)
* rough p3distrib - needs a lot of work.
Added shutdown function to p3connmgr, to shutdown Upnp.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@493 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed up Variable Ticking -> max = 1.0 sec now.
* Removed debug output which was massively increasing CPU load.
* Removed some old code from p3face-server.cc
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@461 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Switched p3Ranking to share Friends Links as well as own.
* Modified rankmsgs to contain source id.
* Fixed up rsNotify, added pqiNotify and global function call to get it.
* Added notify for Bad Incoming Directory
* Added Emergency Incoming directory so RS can keep running.
* Added notify for Bad Packet (connecting to V0.3.X)
* Added notify for Incomplete Packet Read (not been triggered yet!)
* added close() to BinInterface, close on pqissl calls reset()
* removed exit(1) calls from pqistreamer, replaced with bio->close().
* Increased Maximum Packet Size for HTML messages.
* Fixed Online/Offline Message Forwarding. (TEST).
* Increased DHT bootstrap buckets to 4.
* Cleaned up much of serialiser debug (was slowing down Mac)
* Added directory path to File Listings.
* added ConvertSharedFilePath() so correct local dir can be found.
* Added ForceDirectoryCheck() and InDirectoryCheck() for file hashing.
* removed old TMP cache loading.
* switched off Cache debug.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@448 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Switched to miniupnpc-1.0
* modified miniupnpc to add lease duration.
* set lease duration to 1 Hr.
* Modified configure scripts to use miniupnpc-1.0
* added TIMEOUT to all connections (5 sec for TCP - Important!)
* reduced TCP offset delay to 2 seconds.
* BUGFIX: Added missing connect_parameter wrapper function.
* added reset to other connection methods when connection is made.
* Added Connection Type (TCP/UDP) information to feedback/GUI
* Increased default Data Rates: from 50/50 to 100/500 kB/s
* Removed Default Bootstrap Ids. (only automatic now!)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@423 b45a01b8-16f6-495d-af2f-9b41ad6348cc
An invalid comparison was being made - meaning the EXT_PORT_FLAG was not set.
This can lead to failed connection attempts.
Added dht_check_peers program.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@409 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* hashed keys are posted to specific DHT entries, to create a series of bootstrap lists.
* these are fetched as needed to bootstrap new clients.
* Modified Bootstrap monitor program.
Created a minimal backup bootstrap list (temporary)
Added "-e" option to commandline to force 'external port' mode
Bugfix for multiple connection methods, could kill an active connection.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@397 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(1) xpgp_id to extract the name/id from a certificate.
(2) dht_bootstrap to check the status of the bootstrap peers.
Various bits of code needed to be rearranged to make these utilities possible.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@394 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added HashFile() utility function.
Also added updated() functions to ranking and photos, so the GUI can update itself when necessary.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@381 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* searching for STUN ID's continues until RS_STUN_FOUND_MIN are found (10).
* abandon STUN search if Ext or Upnp mode.
* add Bootstrap IDs to rear of mStunList. (bugfix)
Force saving of certificates after "oldFormat" loading.
Corrected printStunList() fn call.
Added a notification system:
(1) libretroshare System Notifications.
- System notification if Firewall Status is bad.
(2) PopUp messages.
- Popup for a connected peer.
- Popup for a new message.
* New interface (to be revised).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@376 b45a01b8-16f6-495d-af2f-9b41ad6348cc
(1) A PhotoService / Dialog to share slideshows.
(2) A Network View service, derived from p3disc for a graphical view of peers.
Both of these need a little help to get them fully functional.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@375 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Switched on RELEASE flag.
* renamed incomplete work to "Unfinished"
* updated version strings.
* Added Configuration path to DhtMgr.
* reduced uPnP timeout to 30 seconds (from 60).
* more Bin -> BinToHex printouts.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@373 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Most of these changes relate to:
(1) rand() is different
(2) sleep() don't exist on Windows.
(3) networking headers are different - these need to be cleaned up in general.
(4) disabled tests that won't compile on Windows.
Will probably have to rollback some of these changes for Unix later.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@372 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Fixed the fonts, and default entries in GamesLauncher.
* Shifted all the unfinished stuff to "In Development" section.
* Fixed smplayer/rs project files.
* duplicate variable in p3connmgr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@371 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added stun bootstrap functionality.
* Added in two temporary StunServers.
* Reconnect attempts are TCP only.
* enabled AUTOCONNECT and TCP Connections.
* reduced UDP keepAlive timer to 15 secs.
* made UPnP the default startup behaviour.
* Removed StunId raw printouts -> now use BinToHex()
* Unified TTLS and PERIODS in p3dhtmgr.h
* DHT bugfix (data not passed to ConnMgr).
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@370 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added GUI interface for auto connect state.
* Added HTTP retrieval and storage of DHT peers update.
* Added code for partial recv() from DHT peers.
* Disabled Chat/Disc/Udplayer/tcpstream debug output.
* Added Unreachable Check to connMgr.
* Added auto reconnect functions to connMgr (#define to disable).
* Restructured DHT notify code... much cleaner.
* DHT now flags out of date DHT results.
* DHT notifies ConnMgr on any results (same or diff).
* Added Fns to cleanup old udp connection.
* other bugfixes.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@369 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Enabled a lease duration (requires mods to miniupnpc library)
* this is set at 10 mins for the moment.
* Added Check functions to see if UPnP forwarding is still up.
* improved error checking in Forward() function.
* added #define for UDP local address testing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@359 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added Period and Delay parameters to connections.
- Delay is used to avoid simultaneous TCP connections.
- Period is used to regulate UDP connections.
* added Delay code to pqissl.
* added Period code to tcponudp / pqissludp.
* modified TTL modification code.
* increased SynPktRetransmit value.
* fixed retrans() timeout (one reason code wasn't working before!)
* fixed tou_close() SEGV bug.
* modified pqissludp tou_socket creation. (non permanent now).
* Modified format of peerConnectRequest() CB to make it more useful and rewrote function.
* Enabled pqissludp NetInterface.
* using Id comparision to determine Active/Passive UDP connection state.
* added #def to disable TCP connections. (for testing)
* enabled UDP connections from retryConnect() function.
* corrected EXT check in retryConnect() function.
* + lots of debug output and other stuff.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@358 b45a01b8-16f6-495d-af2f-9b41ad6348cc
Added a Type parameter, so that the connection Mgr can determine if there is
an external port available or not.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@354 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Completed CacheConfig serialisation.
* Switched to Push Cache Mode (faster and more efficient).
* Added CancelCacheTransfer() if we have duplicate HASH / CACHEID.
* Store remote and local caches.
* cleanup all cache directories.
* Broke Cache tests :( - because of dependency of mAuthMgr/mConnMgr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@343 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* bool / int mismatch bug in tou_extaddr()
* extra debugging to p3connmgr
* fixed connect error in p3connmgr.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@342 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added read/writetofile() fns to BinMemInterface
* Added SignData() fns to AuthXPGP.
* Added Certificate saving to AuthXPGP.
* added Signatures to Configuration.
* now discards messages if Hash is wrong (p3msgservice)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@341 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added serialiser types.
* finished streaming on p3ranking.
* removed Bandwidth limitations from BinFile / BinMem.
* added bytecount() to BinInterface.
* moved the CacheTransfer creation to Startup.
* added ranking to CacheStrapper & server tick() system.
* Tweaked LinksDialog for final touches.
* enabled downloads from Messages.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@335 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* added sockaddr_clear() function to zero network addresses before use.
* used this function in p3connmgr.
* added htonll() and ntohll() functions to rsnet.h with compile-time ENDIAN checking
* use htonll() and ntohll() in serialiser.
* added net_test.cc to check network/endian/inet_addr issues.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@328 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Major modifications to p3disc to use the new AuthMgr and ConnMgr.
* Modified RsDiscItems to match new p3disc.
* Modified ConnMgr to accept information from p3disc.
* Addition of new Load/Save Certificate From/To Binary to AuthMgr.
* Corrected default build to Linux.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@325 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* minor changes to networking headers.
* addition of several virtual destructors (remove warnings)
* switched Makefiles to new system.
* added macosx specific configuration file.
* removed KadC compilation checks.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@324 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* Added new XPGP functions to checking certificates.
* Converted SSL classes from cert * -> p3AuthMgr.
* Added check of addresses before connect attempt.
* started up listener correctly.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@319 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the rsiface code.
Addition of new Retroshare Interface for Peer/Neighbour control.
Mods to notifytxt to use new interface.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@315 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the rsserver code.
Major changes to use the new networking code. Added
p3peers.h as a new interface for peer/neighbour management.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@314 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the server code.
Changes inline with p3authmgr.h, and conversion of
the configuration storage to p3cfgmgr.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@313 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the serialiser code.
Added serialisation of Key-Value pairs Config message.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@312 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the services code.
Modifications to match the switch to p3connmgr.h and p3authmgr.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@311 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the upnp code.
Modifications to use the new generic p3upnpmgr.h interface.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@310 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the dht code.
An interface to a second new DHT system (OpenDHT) has been added.
This has a number of features that make it preferable to the KAD dht network.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@309 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the util code.
added some more utility functions for HexToBin & Hashing.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@308 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the dbase code.
only minor changes:
rename loadCache->loadLocalCache to avoid clash.
switch to new monitoring system in cachestrapper.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@307 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the pqi code,
and provides the majority of the improvements.
(1) Introduced new interfaces for DHT and UPnP abstraction: p3dhtmgr.h, p3upnpmgr.h
(2) Introduces abstraction for Authentication: p3authmgr.h
(3) New Connection Manager to coordinate networking code: p3connmgr.h
(4) New Configuration Manager: p3cfgmgr.h
This library has been significantly modified to support DHT synced connections
to enable connections between Firewalled Friends. The connection code has
been rewritten within a new framework, which should make extensions easier to code.
Also removed significant amount of old code relating to Tunnels, Channels etc.
This will be recycled later as higher level services that should not be
part of the core networking library.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@306 b45a01b8-16f6-495d-af2f-9b41ad6348cc
the rewrite of the retroshare core networking stack.
This check-in commits the changes to the TCPonUCP code.
This library has been significantly modified to support
multiple UDP "connections" from a single port.
This requires some trickery and a listener thread.
Code to "STUN" peers was also added.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@305 b45a01b8-16f6-495d-af2f-9b41ad6348cc
* New external interface for launcher (rsiface/rsgame.h)
* changed pqiservice type Ids from int -> uint32_t.
* added NO_DELETE option to pqistreamer.
* added HASHDATA flag for BinInterfaces
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@301 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- added Chat / Msg and Disc services.
- expanded rsiface to handle new serialiser.
- mods to rsserver with new conversions etc.
- added service directory to Makefile.
- removed PROXY / CHANNELS from make.opt
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@276 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Switched to 64 bit lengths for files.
- Switched to new data types (RsItem).
- Moved Msg and Chat to services.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@275 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Added new serialiser (PQItem -> RsItem), removed old one.
- switched packet sorting from ChanId (array of ids) to PeerId (string)
- introduced cleaner service interface (pqiservice).
- moved p3disc to service interface.
- modified streamers to use the new serialiser.
- moved msg/chat to service interface.
- removed old source code. (supernode / p3loopback).
I've disabled UDP connections / Proxy and Channels for the moment.
The code it still here, but is not compiled. The Proxy and Channels
will become services, and the UDP connections will be reworked
in the near future.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
- Switched file sizes from 32bits -> 64 bits so rs can handle large files.
- combined Cache/Service Ids are now located in serialiser/rsserviceids.h
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@273 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This is still a first draft - the message types will surely change.
-corrected ids and added service classes.
-Added disc/msg/chat/cache/file messages
-Extended serialiser to handle service extensions.
-corrected IpAddrPort code.
-More debugging code.
-Added some tests.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@270 b45a01b8-16f6-495d-af2f-9b41ad6348cc
###
### The commented-out examples below are intended to demonstrate
### how to use this file.
### Section for authentication and authorization customizations.
[auth]
### Set store-passwords to 'no' to avoid storing passwords in the
### auth/ area of your config directory. It defaults to 'yes'.
### Note that this option only prevents saving of *new* passwords;
### it doesn't invalidate existing passwords. (To do that, remove
### the cache files by hand as described in the Subversion book.)
# store-passwords = no
### Set store-auth-creds to 'no' to avoid storing any subversion
### credentials in the auth/ area of your config directory.
### It defaults to 'yes'. Note that this option only prevents
### saving of *new* credentials; it doesn't invalidate existing
### caches. (To do that, remove the cache files by hand.)
# store-auth-creds = no
### Section for configuring external helper applications.
[helpers]
### Set editor to the command used to invoke your text editor.
### This will override the environment variables that Subversion
### examines by default to find this information ($EDITOR,
### et al).
# editor-cmd = editor (vi, emacs, notepad, etc.)
### Set diff-cmd to the absolute path of your 'diff' program.
### This will override the compile-time default, which is to use
### Subversion's internal diff implementation.
# diff-cmd = diff_program (diff, gdiff, etc.)
### Set diff3-cmd to the absolute path of your 'diff3' program.
### This will override the compile-time default, which is to use
### Subversion's internal diff3 implementation.
# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
### Set diff3-has-program-arg to 'true' or 'yes' if your 'diff3'
### program accepts the '--diff-program' option.
# diff3-has-program-arg = [true | false]
### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here. By default, only
### the 'ssh' scheme is defined. You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs. A scheme
### definition is simply a command, optionally prefixed by an
### environment variable name which can override the command if it
### is defined. The command (or environment variable) may contain
### arguments, using standard shell quoting for arguments with
### spaces. The command will be invoked as:
### <command> <hostname> svnserve -t
### (If the URL includes a username, then the hostname will be
### passed to the tunnel agent as <user>@<hostname>.) If the
### built-in ssh scheme were not predefined, it could be defined
### as:
# ssh = $SVN_SSH ssh
### If you wanted to define a new 'rsh' scheme, to be used with
### 'svn+rsh:' URLs, you could do so as follows:
# rsh = rsh
### Or, if you wanted to specify a full path and arguments:
# rsh = /path/to/rsh -l myusername
### On Windows, if you are specifying a full path to a command,
### use a forward slash (/) or a paired backslash (\\) as the
### path separator. A single backslash will be treated as an
### escape for the following character.
### Section for configuring miscelleneous Subversion options.
[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
# global-ignores = *.o *.lo *.la #*# .*.rej *.rej .*~ *~ .#* .DS_Store
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
# use-commit-times = yes
### Set no-unlock to prevent 'svn commit' from automatically
### releasing locks on files.
# no-unlock = yes
### Set enable-auto-props to 'yes' to enable automatic properties
### for 'svn add' and 'svn import', it defaults to 'no'.
### Automatic properties are defined in the section 'auto-props'.
# enable-auto-props = yes
### Section for configuring automatic properties.
[auto-props]
### The format of the entries is:
### file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?'). All entries which match will be applied to the file.
### Note that auto-props functionality must be enabled, which
### is typically done by setting the 'enable-auto-props' option.
# *.c = svn:eol-style=native
# *.cpp = svn:eol-style=native
# *.h = svn:eol-style=native
# *.dsp = svn:eol-style=CRLF
# *.dsw = svn:eol-style=CRLF
# *.sh = svn:eol-style=native;svn:executable
# *.txt = svn:eol-style=native
# *.png = svn:mime-type=image/png
# *.jpg = svn:mime-type=image/jpeg
# Makefile = svn:eol-style=native
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@250 b45a01b8-16f6-495d-af2f-9b41ad6348cc