18 from E5Gui import E5MessageBox |
18 from E5Gui import E5MessageBox |
19 |
19 |
20 import Globals |
20 import Globals |
21 |
21 |
22 from .HgUtilities import getConfigPath |
22 from .HgUtilities import getConfigPath |
23 from .HgUserConfigHostFingerprintDialog import \ |
23 from .HgUserConfigHostFingerprintDialog import ( |
24 HgUserConfigHostFingerprintDialog |
24 HgUserConfigHostFingerprintDialog |
25 from .HgUserConfigHostMinimumProtocolDialog import \ |
25 ) |
|
26 from .HgUserConfigHostMinimumProtocolDialog import ( |
26 HgUserConfigHostMinimumProtocolDialog |
27 HgUserConfigHostMinimumProtocolDialog |
|
28 ) |
27 |
29 |
28 from .Ui_HgUserConfigDialog import Ui_HgUserConfigDialog |
30 from .Ui_HgUserConfigDialog import Ui_HgUserConfigDialog |
29 |
31 |
30 import UI.PixmapCache |
32 import UI.PixmapCache |
31 |
33 |
180 ############################################################### |
182 ############################################################### |
181 ## largefiles section |
183 ## largefiles section |
182 ############################################################### |
184 ############################################################### |
183 if "largefiles" not in self.__config: |
185 if "largefiles" not in self.__config: |
184 self.__config["largefiles"] = {} |
186 self.__config["largefiles"] = {} |
185 self.__config["largefiles"]["minsize"] = \ |
187 self.__config["largefiles"]["minsize"] = ( |
186 str(self.lfFileSizeSpinBox.value()) |
188 str(self.lfFileSizeSpinBox.value()) |
|
189 ) |
187 lfFilePatterns = self.lfFilePatternsEdit.text() |
190 lfFilePatterns = self.lfFilePatternsEdit.text() |
188 if lfFilePatterns: |
191 if lfFilePatterns: |
189 self.__config["largefiles"]["patterns"] = lfFilePatterns |
192 self.__config["largefiles"]["patterns"] = lfFilePatterns |
190 elif "patterns" in self.__config["largefiles"]: |
193 elif "patterns" in self.__config["largefiles"]: |
191 del self.__config["largefiles"]["patterns"] |
194 del self.__config["largefiles"]["patterns"] |
213 "host": self.proxyHostEdit.text(), |
216 "host": self.proxyHostEdit.text(), |
214 "user": self.proxyUserEdit.text(), |
217 "user": self.proxyUserEdit.text(), |
215 "passwd": self.proxyPasswordEdit.text() |
218 "passwd": self.proxyPasswordEdit.text() |
216 } |
219 } |
217 if self.proxyBypassEdit.text(): |
220 if self.proxyBypassEdit.text(): |
218 self.__config["http_proxy"]["no"] = \ |
221 self.__config["http_proxy"]["no"] = ( |
219 self.proxyBypassEdit.text() |
222 self.proxyBypassEdit.text() |
|
223 ) |
220 else: |
224 else: |
221 if "http_proxy" in self.__config: |
225 if "http_proxy" in self.__config: |
222 del self.__config["http_proxy"] |
226 del self.__config["http_proxy"] |
223 ################################################################### |
227 ################################################################### |
224 ## hostfingerprints/hostsecurity section |
228 ## hostfingerprints/hostsecurity section |
238 for row in range(self.fingerprintsList.topLevelItemCount()): |
242 for row in range(self.fingerprintsList.topLevelItemCount()): |
239 itm = self.fingerprintsList.topLevelItem(row) |
243 itm = self.fingerprintsList.topLevelItem(row) |
240 fingerprint = itm.text(1) |
244 fingerprint = itm.text(1) |
241 if fingerprint.startswith("sha1:"): |
245 if fingerprint.startswith("sha1:"): |
242 fingerprint = fingerprint[5:] |
246 fingerprint = fingerprint[5:] |
243 self.__config["hostfingerprints"][itm.text(0)] = \ |
247 self.__config["hostfingerprints"][itm.text(0)] = ( |
244 fingerprint |
248 fingerprint |
|
249 ) |
245 else: |
250 else: |
246 if "hostfingerprints" in self.__config: |
251 if "hostfingerprints" in self.__config: |
247 del self.__config["hostfingerprints"] |
252 del self.__config["hostfingerprints"] |
248 else: |
253 else: |
249 # |
254 # |
261 if self.fingerprintsList.topLevelItemCount() > 0: |
266 if self.fingerprintsList.topLevelItemCount() > 0: |
262 self.__clearFingerprints() |
267 self.__clearFingerprints() |
263 fingerprints = self.__assembleFingerprints() |
268 fingerprints = self.__assembleFingerprints() |
264 for host in fingerprints: |
269 for host in fingerprints: |
265 key = "{0}:fingerprints".format(host) |
270 key = "{0}:fingerprints".format(host) |
266 self.__config["hostsecurity"][key] = \ |
271 self.__config["hostsecurity"][key] = ( |
267 ", ".join(fingerprints[host]) |
272 ", ".join(fingerprints[host]) |
|
273 ) |
268 else: |
274 else: |
269 self.__clearFingerprints() |
275 self.__clearFingerprints() |
270 |
276 |
271 if self.disableTls10WarningCheckBox.isChecked(): |
277 if self.disableTls10WarningCheckBox.isChecked(): |
272 disabletls10warning = "true" |
278 disabletls10warning = "true" |
273 else: |
279 else: |
274 disabletls10warning = "false" |
280 disabletls10warning = "false" |
275 self.__config["hostsecurity"]["disabletls10warning"] = \ |
281 self.__config["hostsecurity"]["disabletls10warning"] = ( |
276 disabletls10warning |
282 disabletls10warning |
|
283 ) |
277 |
284 |
278 if self.minimumProtocolComboBox.currentIndex() == 0: |
285 if self.minimumProtocolComboBox.currentIndex() == 0: |
279 self.__config.remove_option("hostsecurity", "minimumprotocol") |
286 self.__config.remove_option("hostsecurity", "minimumprotocol") |
280 else: |
287 else: |
281 minimumProtocol = self.minimumProtocolComboBox.itemData( |
288 minimumProtocol = self.minimumProtocolComboBox.itemData( |
282 self.minimumProtocolComboBox.currentIndex()) |
289 self.minimumProtocolComboBox.currentIndex()) |
283 self.__config["hostsecurity"]["minimumprotocol"] = \ |
290 self.__config["hostsecurity"]["minimumprotocol"] = ( |
284 minimumProtocol |
291 minimumProtocol |
|
292 ) |
285 |
293 |
286 if self.protocolsList.topLevelItemCount() > 0: |
294 if self.protocolsList.topLevelItemCount() > 0: |
287 self.__clearMinimumProtocols() |
295 self.__clearMinimumProtocols() |
288 minimumProtocols = self.__assembleMinimumProtocols() |
296 minimumProtocols = self.__assembleMinimumProtocols() |
289 for host in minimumProtocols: |
297 for host in minimumProtocols: |
390 # step 5b: extract hostsecurity fingerprints |
398 # step 5b: extract hostsecurity fingerprints |
391 if "hostsecurity" in self.__config: |
399 if "hostsecurity" in self.__config: |
392 for key in self.__config.options("hostsecurity"): |
400 for key in self.__config.options("hostsecurity"): |
393 if key.endswith(":fingerprints"): |
401 if key.endswith(":fingerprints"): |
394 host = key.replace(":fingerprints", "") |
402 host = key.replace(":fingerprints", "") |
395 fingerprints = \ |
403 fingerprints = ( |
396 self.__config["hostsecurity"][key].split(",") |
404 self.__config["hostsecurity"][key].split(",") |
|
405 ) |
397 for fingerprint in fingerprints: |
406 for fingerprint in fingerprints: |
398 if self.__version < (3, 9, 0): |
407 if self.__version < (3, 9, 0): |
399 # downgrade from a newer version |
408 # downgrade from a newer version |
400 if fingerprint.startswith("sha1:"): |
409 if fingerprint.startswith("sha1:"): |
401 fingerprint = fingerprint[5:] |
410 fingerprint = fingerprint[5:] |