← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2945: replace USE_TLS (disable/enable C-C TLS support) with REQUIRE_TLS (require/don't require C-C supp...

 

------------------------------------------------------------
revno: 2945
committer: cologic <ne5@xxxxxxxxxxx>
branch nick: dcplusplus
timestamp: Tue 2012-06-12 21:21:56 -0400
message:
  replace USE_TLS (disable/enable C-C TLS support) with REQUIRE_TLS (require/don't require C-C support)
modified:
  dcpp/ConnectionManager.cpp
  dcpp/CryptoManager.cpp
  dcpp/QueueItem.h
  dcpp/SettingsManager.cpp
  dcpp/SettingsManager.h
  help/settings_certs.html
  win32/CertificatesPage.cpp
  win32/QueueFrame.cpp


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'dcpp/ConnectionManager.cpp'
--- dcpp/ConnectionManager.cpp	2012-03-03 19:33:45 +0000
+++ dcpp/ConnectionManager.cpp	2012-06-13 01:21:56 +0000
@@ -405,6 +405,12 @@
 }
 
 void ConnectionManager::on(UserConnectionListener::Connected, UserConnection* aSource) noexcept {
+	if(BOOLSETTING(REQUIRE_TLS) && !aSource->isSet(UserConnection::FLAG_NMDC) && !aSource->isSecure()) {
+		putConnection(aSource);
+		QueueManager::getInstance()->removeSource(aSource->getUser(), QueueItem::Source::FLAG_UNENCRYPTED);
+		return;
+	}
+
 	if(aSource->isSecure() && !aSource->isTrusted() && !BOOLSETTING(ALLOW_UNTRUSTED_CLIENTS)) {
 		putConnection(aSource);
 		QueueManager::getInstance()->removeSource(aSource->getUser(), QueueItem::Source::FLAG_UNTRUSTED);

=== modified file 'dcpp/CryptoManager.cpp'
--- dcpp/CryptoManager.cpp	2012-03-03 19:33:45 +0000
+++ dcpp/CryptoManager.cpp	2012-06-13 01:21:56 +0000
@@ -122,7 +122,7 @@
 }
 
 bool CryptoManager::TLSOk() const noexcept {
-	return BOOLSETTING(USE_TLS) && certsLoaded && !keyprint.empty();
+	return certsLoaded && !keyprint.empty();
 }
 
 void CryptoManager::generateCertificate() {
@@ -197,7 +197,7 @@
 }
 
 void CryptoManager::loadCertificates() noexcept {
-	if(!BOOLSETTING(USE_TLS) || !clientContext || !clientVerContext || !serverContext || !serverVerContext)
+	if(!clientContext || !clientVerContext || !serverContext || !serverVerContext)
 		return;
 
 	keyprint.clear();

=== modified file 'dcpp/QueueItem.h'
--- dcpp/QueueItem.h	2012-01-13 20:55:20 +0000
+++ dcpp/QueueItem.h	2012-06-13 01:21:56 +0000
@@ -93,9 +93,11 @@
 			FLAG_NO_TREE = 0x80,
 			FLAG_SLOW_SOURCE = 0x100,
 			FLAG_UNTRUSTED = 0x200,
+			FLAG_UNENCRYPTED = 0x400,
 			FLAG_MASK = FLAG_FILE_NOT_AVAILABLE
 				| FLAG_PASSIVE | FLAG_REMOVED | FLAG_CRC_FAILED | FLAG_CRC_WARN
 				| FLAG_BAD_TREE | FLAG_NO_TREE | FLAG_SLOW_SOURCE | FLAG_UNTRUSTED
+				| FLAG_UNENCRYPTED
 		};
 
 		Source(const HintedUser& aUser) : user(aUser) { }

=== modified file 'dcpp/SettingsManager.cpp'
--- dcpp/SettingsManager.cpp	2012-06-03 17:22:16 +0000
+++ dcpp/SettingsManager.cpp	2012-06-13 01:21:56 +0000
@@ -81,7 +81,7 @@
 	"NoIpOverride", "SearchOnlyFreeSlots", "BoldFinishedDownloads", "BoldFinishedUploads", "BoldQueue",
 	"BoldHub", "BoldPm", "BoldFL", "BoldSearch", "BoldSearchSpy", "SocketInBuffer", "SocketOutBuffer",
 	"BoldSystemLog", "AutoRefreshTime",
-	"UseTLS", "AutoSearchLimit", "AltSortOrder", "AutoKickNoFavs", "PromptPassword", "SpyFrameIgnoreTthSearches",
+	"AutoSearchLimit", "AltSortOrder", "AutoKickNoFavs", "PromptPassword", "SpyFrameIgnoreTthSearches",
 	"DontDlAlreadyQueued", "MaxCommandLength", "AllowUntrustedHubs", "AllowUntrustedClients",
 	"TLSPort", "SortFavUsersFirst", "SegmentedDL", "FollowLinks",
 	"SendBloom", "OwnerDrawnMenus", "Coral", "SearchFilterShared", "FinishedDLOnlyFull",
@@ -95,7 +95,7 @@
 	"AutoDetectIncomingConnection", "SettingsSaveInterval",
 	"BalloonMainChat", "BalloonPM", "BalloonPMWindow", "BalloonFinishedDL", "BalloonFinishedFL",
 	"UsersFilterOnline","UsersFilterFavorite","UsersFilterQueue","UsersFilterWaiting",
-	"MaxPMWindows",
+	"MaxPMWindows", "RequireTLS",
 	"SENTRY",
 	// Int64
 	"TotalUpload", "TotalDownload",
@@ -276,7 +276,6 @@
 	setDefault(BOLD_SEARCH_SPY, true);
 	setDefault(BOLD_SYSTEM_LOG, true);
 	setDefault(AUTO_REFRESH_TIME, 60);
-	setDefault(USE_TLS, true);
 	setDefault(AUTO_SEARCH_LIMIT, 5);
 	setDefault(ALT_SORT_ORDER, false);
 	setDefault(AUTO_KICK_NO_FAVS, false);
@@ -329,6 +328,7 @@
 	setDefault(USERS_FILTER_QUEUE, false);
 	setDefault(USERS_FILTER_WAITING, false);
 	setDefault(MAX_PM_WINDOWS, 50);
+	setDefault(REQUIRE_TLS, false);
 	setDefault(LAST_SHARED_FOLDER, Util::emptyString);
 
 	setSearchTypeDefaults();

=== modified file 'dcpp/SettingsManager.h'
--- dcpp/SettingsManager.h	2012-06-03 17:22:16 +0000
+++ dcpp/SettingsManager.h	2012-06-13 01:21:56 +0000
@@ -100,7 +100,7 @@
 		NO_IP_OVERRIDE, SEARCH_ONLY_FREE_SLOTS, BOLD_FINISHED_DOWNLOADS, BOLD_FINISHED_UPLOADS, BOLD_QUEUE,
 		BOLD_HUB, BOLD_PM, BOLD_FL, BOLD_SEARCH, BOLD_SEARCH_SPY, SOCKET_IN_BUFFER, SOCKET_OUT_BUFFER,
 		BOLD_SYSTEM_LOG, AUTO_REFRESH_TIME,
-		USE_TLS, AUTO_SEARCH_LIMIT, ALT_SORT_ORDER, AUTO_KICK_NO_FAVS, PROMPT_PASSWORD, SPY_FRAME_IGNORE_TTH_SEARCHES,
+		AUTO_SEARCH_LIMIT, ALT_SORT_ORDER, AUTO_KICK_NO_FAVS, PROMPT_PASSWORD, SPY_FRAME_IGNORE_TTH_SEARCHES,
 		DONT_DL_ALREADY_QUEUED, MAX_COMMAND_LENGTH, ALLOW_UNTRUSTED_HUBS, ALLOW_UNTRUSTED_CLIENTS,
 		TLS_PORT, SORT_FAVUSERS_FIRST, SEGMENTED_DL, FOLLOW_LINKS,
 		SEND_BLOOM, OWNER_DRAWN_MENUS, CORAL, SEARCH_FILTER_SHARED, FINISHED_DL_ONLY_FULL,
@@ -114,7 +114,7 @@
 		AUTO_DETECT_CONNECTION, SETTINGS_SAVE_INTERVAL,
 		BALLOON_MAIN_CHAT, BALLOON_PM, BALLOON_PM_WINDOW, BALLOON_FINISHED_DL, BALLOON_FINISHED_FL,
 		USERS_FILTER_ONLINE, USERS_FILTER_FAVORITE, USERS_FILTER_QUEUE, USERS_FILTER_WAITING,
-		MAX_PM_WINDOWS,
+		MAX_PM_WINDOWS, REQUIRE_TLS,
 		INT_LAST };
 
 	enum Int64Setting { INT64_FIRST = INT_LAST + 1,

=== modified file 'help/settings_certs.html'
--- help/settings_certs.html	2011-04-07 13:40:55 +0000
+++ help/settings_certs.html	2012-06-13 01:21:56 +0000
@@ -17,10 +17,6 @@
 </dl>
 <h2>Options</h2>
 <dl style="margin-left: 40px;">
-  <dt>Use TLS when remote client supports it</dt>
-  <dd cshelp="IDH_SETTINGS_CERTIFICATES_USE_TLS">When this option is enabled, DC++ will connect to remote
-clients on an ADC hub that support SSL using SSL. This option is
-an experimental one, and shouldn't imply that DC++ is secure in any way.</dd>
   <dt>Allow TLS connections to hubs without trusted certificate</dt>
   <dd cshelp="IDH_SETTINGS_CERTIFICATES_ALLOW_UNTRUSTED_HUBS">With this option disabled, all hubs you connect to must have a certificate in your Trusted certificate folder.</dd>
   <dt>Allow TLS connections to clients without trusted certificate</dt>

=== modified file 'win32/CertificatesPage.cpp'
--- win32/CertificatesPage.cpp	2012-01-23 20:18:58 +0000
+++ win32/CertificatesPage.cpp	2012-06-13 01:21:56 +0000
@@ -34,7 +34,7 @@
 using dwt::Label;
 
 PropPage::ListItem CertificatesPage::listItems[] = {
-	{ SettingsManager::USE_TLS, N_("Use TLS when remote client supports it"), IDH_SETTINGS_CERTIFICATES_USE_TLS },
+	{ SettingsManager::REQUIRE_TLS, N_("Require TLS ADC client-client connections"), IDH_SETTINGS_CERTIFICATES_ALLOW_UNTRUSTED_HUBS },
 	{ SettingsManager::ALLOW_UNTRUSTED_HUBS, N_("Allow TLS connections to hubs without trusted certificate"), IDH_SETTINGS_CERTIFICATES_ALLOW_UNTRUSTED_HUBS },
 	{ SettingsManager::ALLOW_UNTRUSTED_CLIENTS, N_("Allow TLS connections to clients without trusted certificate"), IDH_SETTINGS_CERTIFICATES_ALLOW_UNTRUSTED_CLIENTS },
 	{ 0, 0 }

=== modified file 'win32/QueueFrame.cpp'
--- win32/QueueFrame.cpp	2012-06-08 15:27:48 +0000
+++ win32/QueueFrame.cpp	2012-06-13 01:21:56 +0000
@@ -381,6 +381,8 @@
 						tmp += T_("Remote client does not fully support TTH - cannot download");
 					} else if(j.isSet(QueueItem::Source::FLAG_UNTRUSTED)) {
 						tmp += T_("User certificate not trusted");
+					} else if(j.isSet(QueueItem::Source::FLAG_UNENCRYPTED)) {
+						tmp += T_("Remote ADC client does not use TLS encryption");
 					}
 					tmp += ')';
 				}