Changeset 8932
- Timestamp:
- 10/25/07 14:36:57 (13 months ago)
- Location:
- trunk
- Files:
-
- 5 modified
-
data/glade/accounts_window.glade (modified) (2 diffs)
-
src/advanced.py (modified) (2 diffs)
-
src/common/config.py (modified) (1 diff)
-
src/config.py (modified) (7 diffs)
-
src/roster_window.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/data/glade/accounts_window.glade
r8360 r8932 781 781 </child> 782 782 <child> 783 <widget class="Gtk HBox" id="hbox4">783 <widget class="GtkCheckButton" id="use_gpg_agent_checkbutton1"> 784 784 <property name="visible">True</property> 785 <property name="spacing">6</property> 786 <child> 787 <widget class="GtkCheckButton" id="gpg_save_password_checkbutton1"> 788 <property name="visible">True</property> 789 <property name="sensitive">False</property> 790 <property name="can_focus">True</property> 791 <property name="tooltip" translatable="yes">If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you</property> 792 <property name="label" translatable="yes">Save _passphrase (insecure)</property> 793 <property name="use_underline">True</property> 794 <property name="draw_indicator">True</property> 795 <signal name="toggled" handler="on_gpg_save_password_checkbutton_toggled"/> 796 </widget> 797 <packing> 798 <property name="expand">False</property> 799 <property name="fill">False</property> 800 </packing> 801 </child> 802 <child> 803 <widget class="GtkEntry" id="gpg_password_entry1"> 804 <property name="visible">True</property> 805 <property name="sensitive">False</property> 806 <property name="can_focus">True</property> 807 <property name="visibility">False</property> 808 <property name="invisible_char">*</property> 809 <signal name="changed" handler="on_gpg_password_entry_changed"/> 810 </widget> 811 <packing> 812 <property name="position">1</property> 813 </packing> 814 </child> 785 <property name="sensitive">False</property> 786 <property name="can_focus">True</property> 787 <property name="tooltip" translatable="yes">If checked, Gajim will get the password from a GPG agent like seahorse</property> 788 <property name="label" translatable="yes">Use GPG _Agent</property> 789 <property name="use_underline">True</property> 790 <property name="draw_indicator">True</property> 791 <signal name="toggled" handler="on_use_gpg_agent_checkbutton_toggled"/> 815 792 </widget> 816 793 <packing> 817 794 <property name="expand">False</property> 818 <property name=" position">1</property>795 <property name="fill">False</property> 819 796 </packing> 820 797 </child> … … 1219 1196 </child> 1220 1197 <child> 1221 <widget class="Gtk HBox" id="hbox7">1198 <widget class="GtkCheckButton" id="use_gpg_agent_checkbutton2"> 1222 1199 <property name="visible">True</property> 1223 <property name="spacing">6</property> 1224 <child> 1225 <widget class="GtkCheckButton" id="gpg_save_password_checkbutton2"> 1226 <property name="visible">True</property> 1227 <property name="can_focus">True</property> 1228 <property name="tooltip" translatable="yes">If checked, Gajim will store the password in ~/.gajim/config with 'read' permission only for you</property> 1229 <property name="label" translatable="yes">Save _passphrase (insecure)</property> 1230 <property name="use_underline">True</property> 1231 <property name="draw_indicator">True</property> 1232 <signal name="toggled" handler="on_gpg_save_password_checkbutton_toggled"/> 1233 </widget> 1234 <packing> 1235 <property name="expand">False</property> 1236 <property name="fill">False</property> 1237 </packing> 1238 </child> 1239 <child> 1240 <widget class="GtkEntry" id="gpg_password_entry2"> 1241 <property name="visible">True</property> 1242 <property name="sensitive">False</property> 1243 <property name="can_focus">True</property> 1244 <property name="visibility">False</property> 1245 <property name="invisible_char">*</property> 1246 <signal name="changed" handler="on_gpg_password_entry_changed"/> 1247 </widget> 1248 <packing> 1249 <property name="position">1</property> 1250 </packing> 1251 </child> 1200 <property name="can_focus">True</property> 1201 <property name="tooltip" translatable="yes">If checked, Gajim will get the password from a GPG agent like seahorse</property> 1202 <property name="label" translatable="yes">Use GPG _Agent</property> 1203 <property name="use_underline">True</property> 1204 <property name="draw_indicator">True</property> 1205 <signal name="toggled" handler="on_use_gpg_agent_checkbutton_toggled"/> 1252 1206 </widget> 1253 1207 <packing> 1254 <property name="position">2</property> 1208 <property name="expand">False</property> 1209 <property name="fill">False</property> 1255 1210 </packing> 1256 1211 </child> -
trunk/src/advanced.py
r8927 r8932 104 104 optname = model[iter][C_PREFNAME] 105 105 opttype = model[iter][C_TYPE] 106 if opttype == self.types['boolean'] or optname in ('password', 107 'gpgpassword'): 106 if opttype == self.types['boolean'] or optname == 'password': 108 107 cell.set_property('editable', False) 109 108 else: … … 240 239 type = self.types[type] # i18n 241 240 value = val[OPT_VAL] 242 if name in ('password', 'gpgpassword'):241 if name == 'password': 243 242 #we talk about password 244 243 value = _('Hidden') # override passwords with this string -
trunk/src/common/config.py
r8927 r8932 267 267 'custom_port': [ opt_int, 5222, '', True ], 268 268 'custom_host': [ opt_str, '', '', True ], 269 'savegpgpass': [ opt_bool, False, '', True ],270 'gpgpassword': [ opt_str, '' ],271 269 'sync_with_global_status': [ opt_bool, False, ], 272 270 'no_log_for': [ opt_str, '' ], -
trunk/src/config.py
r8927 r8932 1510 1510 keyid = gajim.config.get_per('accounts', account, 'keyid') 1511 1511 keyname = gajim.config.get_per('accounts', account, 'keyname') 1512 savegpgpass = gajim.config.get_per('accounts', account, 'savegpgpass')1512 use_gpg_agent = gajim.config.get('use_gpg_agent') 1513 1513 1514 1514 if account == gajim.ZEROCONF_ACC_NAME: … … 1519 1519 gpg_key_label = self.xml.get_widget('gpg_key_label' + widget_name_add) 1520 1520 gpg_name_label = self.xml.get_widget('gpg_name_label' + widget_name_add) 1521 gpg_save_password_checkbutton = \ 1522 self.xml.get_widget('gpg_save_password_checkbutton' + widget_name_add) 1523 gpg_password_entry = self.xml.get_widget('gpg_password_entry' + \ 1524 widget_name_add) 1521 use_gpg_agent_checkbutton = self.xml.get_widget( 1522 'use_gpg_agent_checkbutton' + widget_name_add) 1525 1523 1526 1524 if not keyid or not gajim.config.get('usegpg'): 1527 gpg_save_password_checkbutton.set_sensitive(False) 1528 gpg_password_entry.set_sensitive(False) 1525 use_gpg_agent_checkbutton.set_sensitive(False) 1529 1526 gpg_key_label.set_text(_('No key selected')) 1530 1527 gpg_name_label.set_text('') … … 1533 1530 gpg_key_label.set_text(keyid) 1534 1531 gpg_name_label.set_text(keyname) 1535 gpg_save_password_checkbutton.set_sensitive(True) 1536 gpg_save_password_checkbutton.set_active(savegpgpass) 1537 1538 if savegpgpass: 1539 gpg_password_entry.set_sensitive(True) 1540 gpgpassword = gajim.config.get_per('accounts', account, 'gpgpassword') 1541 gpg_password_entry.set_text(gpgpassword) 1532 use_gpg_agent_checkbutton.set_sensitive(True) 1533 use_gpg_agent_checkbutton.set_active(use_gpg_agent) 1542 1534 1543 1535 def init_normal_account(self): … … 2003 1995 else: 2004 1996 wiget_name_ext = '1' 2005 checkbutton = self.xml.get_widget('gpg_save_password_checkbutton' + \2006 wiget_name_ext)2007 1997 gpg_key_label = self.xml.get_widget('gpg_key_label' + wiget_name_ext) 2008 1998 gpg_name_label = self.xml.get_widget('gpg_name_label' + wiget_name_ext) 2009 gpg_password_entry = self.xml.get_widget('gpg_password_entry' + \2010 wiget_name_ext)1999 use_gpg_agent_checkbutton = self.xml.get_widget( 2000 'use_gpg_agent_checkbutton' + wiget_name_ext) 2011 2001 if keyID[0] == _('None'): 2012 2002 gpg_key_label.set_text(_('No key selected')) 2013 2003 gpg_name_label.set_text('') 2014 checkbutton.set_sensitive(False) 2015 gpg_password_entry.set_sensitive(False) 2004 use_gpg_agent_checkbutton.set_sensitive(False) 2016 2005 if self.option_changed('keyid', ''): 2017 2006 self.need_relogin = True … … 2021 2010 gpg_key_label.set_text(keyID[0]) 2022 2011 gpg_name_label.set_text(keyID[1]) 2023 checkbutton.set_sensitive(True)2012 use_gpg_agent_checkbutton.set_sensitive(True) 2024 2013 if self.option_changed('keyid', keyID[0]): 2025 2014 self.need_relogin = True … … 2028 2017 gajim.config.set_per('accounts', self.current_account, 'keyid', 2029 2018 keyID[0]) 2030 gajim.config.set_per('accounts', self.current_account, 'savegpgpass', 2031 False) 2032 gajim.config.set_per('accounts', self.current_account, 'gpgpassword', '') 2033 checkbutton.set_active(False) 2034 gpg_password_entry.set_text('') 2035 2036 def on_gpg_save_password_checkbutton_toggled(self, widget): 2019 2020 def on_use_gpg_agent_checkbutton_toggled(self, widget): 2037 2021 if self.current_account == gajim.ZEROCONF_ACC_NAME: 2038 2022 wiget_name_ext = '2' 2039 2023 else: 2040 2024 wiget_name_ext = '1' 2041 self.xml.get_widget('gpg_password_entry' + wiget_name_ext).set_sensitive( 2042 widget.get_active()) 2043 self.on_checkbutton_toggled(widget, 'savegpgpass', 2044 account = self.current_account) 2045 2046 def on_gpg_password_entry_changed(self, widget): 2047 if self.ignore_events: 2048 return 2049 gajim.config.set_per('accounts', self.current_account, 'gpgpassword', 2050 widget.get_text().decode('utf-8')) 2025 self.on_checkbutton_toggled(widget, 'use_gpg_agent') 2051 2026 2052 2027 def on_edit_details_button1_clicked(self, widget): … … 3318 3293 config['keyname'] = '' 3319 3294 config['keyid'] = '' 3320 config['savegpgpass'] = False3321 config['gpgpassword'] = ''3322 3295 return config 3323 3296 -
trunk/src/roster_window.py
r8930 r8932 3443 3443 use_gpg_agent = gajim.config.get('use_gpg_agent') 3444 3444 # we don't need to bother with the passphrase if we use the agent 3445 if use_gpg_agent:3446 save_gpg_pass = False3447 else:3448 save_gpg_pass = gajim.config.get_per('accounts', account,3449 'savegpgpass')3450 3445 keyid = gajim.config.get_per('accounts', account, 'keyid') 3451 3446 if keyid and not gajim.config.get('usegpg'): … … 3457 3452 self.gpg_passphrase[keyid] = None 3458 3453 else: 3459 if s ave_gpg_pass:3460 passphrase = gajim.config.get_per('accounts', account,3461 'gpgpassword')3454 if self.gpg_passphrase.has_key(keyid): 3455 passphrase = self.gpg_passphrase[keyid] 3456 save = False 3462 3457 else: 3463 if self.gpg_passphrase.has_key(keyid): 3464 passphrase = self.gpg_passphrase[keyid] 3465 save = False 3466 else: 3467 password_ok = False 3468 count = 0 3469 title = _('Passphrase Required') 3470 second = _('Enter GPG key passphrase for account %s.') % \ 3471 account 3472 while not password_ok and count < 3: 3473 count += 1 3474 w = dialogs.PassphraseDialog(title, second, 3475 _('Save passphrase')) 3476 passphrase, save = w.run() 3477 if passphrase == -1: 3478 passphrase = None 3479 password_ok = True 3480 else: 3481 password_ok = gajim.connections[account].\ 3482 test_gpg_passphrase(passphrase) 3483 title = _('Wrong Passphrase') 3484 second = _('Please retype your GPG passphrase or ' 3485 'press Cancel.') 3486 if passphrase != None: 3487 self.gpg_passphrase[keyid] = passphrase 3488 gobject.timeout_add(30000, self.forget_gpg_passphrase, 3489 keyid) 3490 if save: 3491 gajim.config.set_per('accounts', account, 'savegpgpass', 3492 True) 3493 gajim.config.set_per('accounts', account, 'gpgpassword', 3494 passphrase) 3458 password_ok = False 3459 count = 0 3460 title = _('Passphrase Required') 3461 second = _('Enter GPG key passphrase for account %s.') % \ 3462 account 3463 while not password_ok and count < 3: 3464 count += 1 3465 w = dialogs.PassphraseDialog(title, second, 3466 _('Save passphrase')) 3467 passphrase, save = w.run() 3468 if passphrase == -1: 3469 passphrase = None 3470 password_ok = True 3471 else: 3472 password_ok = gajim.connections[account].\ 3473 test_gpg_passphrase(passphrase) 3474 title = _('Wrong Passphrase') 3475 second = _('Please retype your GPG passphrase or ' 3476 'press Cancel.') 3477 if passphrase != None: 3478 self.gpg_passphrase[keyid] = passphrase 3479 gobject.timeout_add(30000, self.forget_gpg_passphrase, 3480 keyid) 3495 3481 gajim.connections[account].gpg_passphrase(passphrase) 3496 3482
