222 Commits

Author SHA1 Message Date
chrisparker126
e40c469aa4 added config saving feature to distrib services. you can now save configurations that is local to
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
2010-07-26 22:09:33 +00:00
thunder2
e3e4c97369 RsAutoUpdatePage
- 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
2010-07-20 19:45:07 +00:00
chrisparker126
1f873e023e added channel msg thumbnail, you'll lose all your current channel msgs before this rev
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3297 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-17 20:17:14 +00:00
chrisparker126
3291e61291 reimplemented encrypt/decrypt using openinit and sealinit envelope encryption of openssl
- to aid with portability into the future

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3291 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-14 21:27:26 +00:00
drbob
648e15bcf7 Found cause of OSX network resets / lost connections: inet_ntoa is not thread-safe.
* 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
2010-07-10 20:34:03 +00:00
chrisparker126
a25dbf7358 documentation of p3GroupDistrib, p3Channels, and CacheStrapper
give a hand at 
http://retroshare.sourceforge.net/wiki/index.php/API_Documentation


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3279 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 16:02:04 +00:00
drbob
6a40e1b2f3 Switched p3distrib (forums) personal signatures from ssl to pgp.
* 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
2010-07-04 22:23:45 +00:00
drbob
8b2cb688a8 Restored p3disc functionality.
* 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
2010-07-04 15:16:52 +00:00
drbob
ae4ee9df00 Networking REWORK: Changes for other bits
* 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
2010-07-04 10:42:17 +00:00
drbob
863a29fda1 NETWORK REWORK (cont)
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
2010-06-26 12:31:24 +00:00
drbob
545a465735 NETWORK REWORK (cont)
Changes required elsewhere
 * peerStatus() fn signature updates.
 * changed Heartbeat fn call in p3disc (think Heartbeat should be rethought!)
 * removed p3tunnel from libretroshare (used BAD getPeer() function).
 * removed optimisations from debugging.
 * removed test cases from libretroshare.a source list.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3221 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 22:13:52 +00:00
chrisparker126
673369371a still have to clean pending pub msgs and pointer deleted when sent.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3205 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 13:03:19 +00:00
chrisparker126
10353bb129 cachestrapper checks for physical presence of own cache files if
they don't exist they are not saved 
p3distrib:
don't refresh cache if file not written successfully

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3204 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 12:49:44 +00:00
chrisparker126
1edca45020 created services test folder move forum_test to tests/services folder
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3197 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-24 11:29:25 +00:00
chrisparker126
480e327c91 added dsitrib item tests: channels, grp, grp key, signed msg.
- 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
2010-06-24 10:35:00 +00:00
csoler
5045e720b2 Corrected two harmful bugs in tunnel connexion code:
- 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
2010-06-22 21:05:56 +00:00
chrisparker126
0c185c04b8 set 1 minute republish time for channel
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3170 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-19 18:05:07 +00:00
chrisparker126
0d8b848851 added pending recvd publish keys to savelist config
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3169 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-19 18:00:28 +00:00
chrisparker126
ba45933138 made sure encrypted messages are stored in cache and signature
creation and verification done correctly in this case

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3163 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-19 15:24:35 +00:00
csoler
95c5c4b1a1 Added in RsItem a new virtual method queueType() that returns the type of the queue to
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
2010-06-16 21:09:58 +00:00
csoler
347c80fb1e Ported branch commits:
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
2010-06-16 20:18:46 +00:00
csoler
b941d733cc Ported branch commit 3143: corrected bug responsible for mixing IP lists between peers of same GPG id (connection attempt to other peer responded with connection to oneself). Added additional debug info in p3disc.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3144 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-15 21:28:27 +00:00
thunder2
6f8e75c14f p3connmgr.cc: fixed compiler warning
p3distrib.cc: fixed compiling under windows

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3127 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-13 15:24:59 +00:00
chrisparker126
931b95bc58 message encryption
- 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
2010-06-13 13:59:00 +00:00
thunder2
0d1eaba890 p3StatusService::getStatusQueue
- 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
2010-06-13 12:26:23 +00:00
ruchijain
ea1a83d842 - Changes for Message Toaster
- Fixed bug for "Welcome Retroshare" msg going to Sent Box

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3121 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-13 10:17:50 +00:00
csoler
0d14351b8a Ported branch commits:
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
2010-06-10 13:42:49 +00:00
thunder2
c3b6da6386 cleaned some compiler warnings
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3092 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-09 19:51:46 +00:00
chrisparker126
0470477bcc group modifications now propagate
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3067 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-05 11:19:04 +00:00
thunder2
342768e626 improvements messages:
- 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
2010-06-04 23:39:33 +00:00
chrisparker126
458eb34fb6 added edit channel info feature and edit distrib group info
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3060 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-04 22:51:18 +00:00
chrisparker126
f36f92eb24 fixed file rename error
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3034 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-30 07:11:19 +00:00
chrisparker126
39356c9918 added extra constructor to allow distrib cache service item grpkey to be used with p3service.
- key sharing now enabled for channels and distrib service

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3024 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-29 12:05:54 +00:00
chrisparker126
c957fb7988 forgot to pass correct inherited service type
- caused problems with distrib service information dispersal

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3023 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-29 08:07:44 +00:00
thunder2
c8a805b8e7 added trash in msgservice and trash folder in MessagesDialog
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3020 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-28 14:42:54 +00:00
chrisparker126
cf785bb8a3 added key sharing facility for distrib groups
- not yet complete, clients not receiving key

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3004 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-25 22:51:53 +00:00
drbob
d93c56a355 * Switched on Turtle transfers for Channels,
* Enabled srcIds from secondary file transfer requests to be used.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3002 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-25 20:42:56 +00:00
thunder2
b0c1467abe improvement MessagesDialog:
- 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
2010-05-25 09:32:14 +00:00
leander-256
00e5dc311f Bugfix
A forgotten malloc() that should have been set to new


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2961 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-20 00:41:50 +00:00
chrisparker126
fc96473f98 also alert rs to config changed (save keys after restoring them)
+ added key backup and restore to p3distrib service

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2960 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-19 23:17:37 +00:00
chrisparker126
e48ede4841 added key backup and restore to p3distrib service
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2957 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-19 22:40:53 +00:00
chrisparker126
47ba7c0df2 makes sure channels grp folder is created immediately once a channel is created
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2935 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-17 21:21:47 +00:00
chrisparker126
105e617596 fixed abug i introduced, copy of grp icon data made in p3distrib
- 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
2010-05-17 14:33:16 +00:00
chrisparker126
27895d1781 added group icon support
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2904 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-14 13:00:07 +00:00
thunder2
84a87fa11b New methods for calculating the count of peers and messages. It should be faster than getting all data in std::list.
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
2010-05-13 19:20:40 +00:00
chrisparker126
7652e831e8 removed unused files qblog
- redundant 



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2868 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-08 17:00:41 +00:00
chrisparker126
e1c4992680 added some minor feature to channels
- 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
2010-05-08 16:10:34 +00:00
thunder2
f239e7e4d4 Improved MessagesDialog:
- 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
2010-05-07 22:23:38 +00:00
thunder2
086c5f8e53 Bugfix: show correct signed / unsigned state of forum messages
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2853 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-05 23:06:05 +00:00
thunder2
c3d92dc472 Source code maintenance
Memory leaks:
- NotifyQt::UpdateGUI -> popup messages (toaster) stay hidden in memory
- p3disc::handleIncoming -> item was not deleted when RsDiscHeartbeat (memory leak every tick)

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2852 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-05-05 22:03:43 +00:00