Commit Graph

1057 Commits

Author SHA1 Message Date
csoler
8bfc74485a First implementation of per-chunk CRC32 check. This is triggered
- 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
2010-07-21 23:14:10 +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
defnax
724e6f81a8 update revision string
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3298 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-17 20:51:25 +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
drbob
4157aff291 * Removed old DHT Code, removed other references too.
* Added interface class to bitDHT. (p3bitdht.h)
 * Added Optional section in libretroshare.pro



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3296 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-17 17:00:19 +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
thunder2
04366bc279 fixed unlock of connMtx in p3ConnectMgr::netExtCheck
unlock was too early

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3288 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-13 14:03:05 +00:00
drbob
31c9832978 Fixed Bad SSL Timeout code.
* 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
2010-07-13 12:13:56 +00:00
thunder2
c005f7d4a8 pqinetwork.cc: removed compiler warnings on windows, errors was fixed already
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
2010-07-11 00:07:19 +00:00
drbob
9efe0b2e9e another windows bugfix.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3283 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 23:51:04 +00:00
drbob
fba4a1b4da Bugfix for windows compilation?
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3282 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 23:22:47 +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
drbob
0b298f6ca1 Fix p3ConnectMgr:;setExtAddress() bug... my fault.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3280 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-10 17:53:34 +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
csoler
fbd8a33db0 added display of checking stage in GUI (at end of transfer). Gave names to the states in ftTransferModule. Added a flag for ForceCheck files (not functional yet)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3274 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-09 21:04:29 +00:00
leander-256
dc67b88eb1 - tidies the HEADERS and SOURCES list
- makes "make install" easier to use for source-based distros


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3262 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-06 15:02:59 +00:00
csoler
458a8faf70 - implemented post-download hash re-check. For now, if the hash does not match, the download is canceled, but in the near future, per-chunk comparison wil occur
.
- 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
2010-07-06 05:04:11 +00:00
drbob
0c4bf7be54 Fix incorrect TLV Signature DataType.
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
2010-07-05 18:32:53 +00:00
thunder2
1a9d68b536 Fixed compile on Windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3255 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-05 11:37:07 +00:00
defnax
54c8b2b0fa update rs version
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3254 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-05 10:52:50 +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
6f219d4fef Bugfixes:
* 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
2010-07-04 13:19:09 +00:00
drbob
518de7b8c8 'open' Complained it needed 3rd argment (don't know why???)
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3250 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 10:59:04 +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
8745c2fe2e Network REWORK: Partial tests for p3ConnectMgr behaviour..
* Added new test harnesses for pqiPersonGrp and pqiconnect.
 * Added 2 p3connmgr tests.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3248 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 10:38:54 +00:00
drbob
f4331da483 Networking REWORK: Major cleanup of p3ConnectMgr.
(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
2010-07-04 10:35:38 +00:00
drbob
85e1b4b111 Network REWORK.
* 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
2010-07-04 10:17:37 +00:00
drbob
3575f12240 Network REWORK
* Added separate classes to handle IpAddress History.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3245 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-07-04 10:15:56 +00:00
leander-256
c0ba17fce3 Several fixes:
- 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
2010-07-04 05:50:33 +00:00
leander-256
fe46d7618a Prevent multiple instances from running on Unix systems.
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
2010-07-01 20:30:36 +00:00
csoler
c8fc75c75c added some safety checks to setting chunk strategy against inconsistent values.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3236 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-29 20:51:16 +00:00
csoler
f7ff141a37 restored the retroshare-nogui executable
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3225 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-27 16:28:44 +00:00
thunder2
918decfd0d fixed compile on Windows
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3224 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-27 00:18:33 +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
drbob
713d956882 NETWORK REWORK (cont)
* removing old tests and unused code.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3220 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 22:10:21 +00:00
drbob
bfa9965c9b NETWORK REWORK (cont)
* Removed unused FLAGS from pqi_base.h
 * corrected pqiStatus() fn signature in dhtmgr.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3219 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 22:09:07 +00:00
drbob
5df785ed4e NETWORK REWORK (cont)
* 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
2010-06-25 22:06:49 +00:00
drbob
981724a8f1 NETWORK REWORK (cont)
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
2010-06-25 22:02:59 +00:00
drbob
9f4deb1cf7 NETWORK REWORK (cont)
pqiperson / pqipersongrp: generally okay, One Nasty BUG.

  * removed pqipersongrp::getPeer() fn. Violated Mutex protections!!!!
  * reworked heartbeat code, which used getPeer() fn.
  * switched all notifyConnect() calls to include remote_addr.
  * added explicit stoplistening() call when removing peer.
  * removed funny DO_NEXT_ATTEMPT callback code.



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3216 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 22:00:38 +00:00
drbob
00d0d999dc * Removed list<IpAddressTimed> from callback
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
2010-06-25 21:54:41 +00:00
drbob
ab3b044791 * changed misleading comment about Mutexs
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3214 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 21:52:21 +00:00
drbob
e4e80778e4 Networking REWORK (cont)
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
2010-06-25 21:50:46 +00:00
drbob
69ba03dbd2 First of the Networking REWORK checkings. I'm doing these is stages,
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
2010-06-25 21:44:24 +00:00
drbob
afb1d24bc7 * added missing test header
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3211 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 21:18:42 +00:00
csoler
c45b9416b5 added missign _FILE_OFFSET_BITS=64
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3210 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 20:17:56 +00:00
csoler
ec493a5e8b added test for extaddr finder
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3209 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 20:16:55 +00:00
thunder2
825ba0af79 AuthGPG: fixed some memory leaks in case of gpg error
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@3207 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2010-06-25 14:38:38 +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