gajim: fix some session issues
changeset 5405450fd687 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=5405450fd687 description: fix some session issues diffstat: src/session.py | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diffs (12 lines): diff -r 58935f738fce -r 5405450fd687 src/session.py --- a/src/session.pyWed Jan 11 22:21:28 2012 +0100 +++ b/src/session.pyWed Jan 11 22:28:56 2012 +0100 @@ -52,8 +52,6 @@ def detach_from_control(self): if self.control: self.control.set_session(None) -gajim.ged.remove_event_handler('decrypted-message-received', -ged.GUI1, self._nec_decrypted_message_received) def acknowledge_termination(self): self.detach_from_control() ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: fix some session issues
changeset df596cce2314 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=df596cce2314 description: fix some session issues diffstat: src/session.py | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diffs (12 lines): diff -r 5f30a3c91901 -r df596cce2314 src/session.py --- a/src/session.pyWed Jan 11 22:20:34 2012 +0100 +++ b/src/session.pyWed Jan 11 22:28:56 2012 +0100 @@ -52,8 +52,6 @@ def detach_from_control(self): if self.control: self.control.set_session(None) -gajim.ged.remove_event_handler('decrypted-message-received', -ged.GUI1, self._nec_decrypted_message_received) def acknowledge_termination(self): self.detach_from_control() ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: upgrade copyright
changeset 58935f738fce in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=58935f738fce description: upgrade copyright diffstat: setup_win32.py | 2 +- src/adhoc_commands.py | 2 +- src/advanced_configuration_window.py | 2 +- src/atom_window.py | 2 +- src/cell_renderer_image.py | 2 +- src/chat_control.py| 2 +- src/common/atom.py | 2 +- src/common/caps_cache.py | 2 +- src/common/check_paths.py | 2 +- src/common/commands.py | 2 +- src/common/config.py | 2 +- src/common/configpaths.py | 2 +- src/common/connection.py | 2 +- src/common/connection_handlers.py | 2 +- src/common/connection_handlers_events.py | 2 +- src/common/contacts.py | 2 +- src/common/dataforms.py| 2 +- src/common/dbus_support.py | 2 +- src/common/defs.py | 2 +- src/common/dh.py | 2 +- src/common/events.py | 2 +- src/common/exceptions.py | 2 +- src/common/fuzzyclock.py | 2 +- src/common/gajim.py| 2 +- src/common/gpg.py | 2 +- src/common/helpers.py | 2 +- src/common/i18n.py | 2 +- src/common/latex.py| 2 +- src/common/location_listener.py| 2 +- src/common/logger.py | 2 +- src/common/optparser.py| 2 +- src/common/passwords.py| 2 +- src/common/pep.py | 2 +- src/common/protocol/bytestream.py | 2 +- src/common/proxy65_manager.py | 2 +- src/common/pubsub.py | 2 +- src/common/rst_xhtml_generator.py | 2 +- src/common/sleepy.py | 2 +- src/common/socks5.py | 2 +- src/common/stanza_session.py | 2 +- src/common/xmpp/stringprepare.py | 2 +- src/common/zeroconf/connection_zeroconf.py | 2 +- src/config.py | 2 +- src/conversation_textview.py | 2 +- src/dataforms_widget.py| 2 +- src/dialogs.py | 2 +- src/disco.py | 2 +- src/features_window.py | 2 +- src/filetransfers_window.py| 2 +- src/gajim-remote.py| 2 +- src/gajim.py | 2 +- src/gajim_themes_window.py | 2 +- src/groupchat_control.py | 2 +- src/groups.py | 2 +- src/gtkexcepthook.py | 2 +- src/gtkgui_helpers.py | 2 +- src/gui_interface.py | 2 +- src/gui_menu_builder.py| 2 +- src/history_manager.py | 2 +- src/history_window.py | 2 +- src/htmltextview.py| 2 +- src/ipython_view.py| 2 +- src/message_control.py | 2 +- src/message_textview.py| 2 +- src/message_window.py | 2 +- src/music_track_listener.py| 2 +- src/negotiation.py | 2 +- src/network_manager_listener.py| 2 +- src/notify.py | 2 +- src/profile_window.py | 2 +- src/remote_control.py | 2 +- src/roster_window.py | 2 +- src/search_window.py | 2 +- src/session.py | 2 +- src/statusicon.py | 2 +- src/tooltips.py| 2 +- src/upower_listener.py | 2 +- src/vcard.py | 2 +- 78 files changed, 78 insertions(+), 78 deletions(-) diffs (truncated from 933 to 300 lines): diff -r a45968aaeee1 -r 58935f738fce setup_win32.py --- a/setup_win32.pyWed Jan 11 22:00:27 2012 +0100 +++ b/setup_win32.pyWed Jan 11 22:21:28 2012 +0100 @@ -1,6 +1,6 @@ ## setup_win32.py (run me as python setup_win32.py py2exe -O2) ## -## Copyright (C) 2003-2010 Yann Leboulanger +## Copyright (C) 2003-2012 Yann Leboulanger ## Copyright (C) 2005-2006 Nikos Kouremenos ## Copyright (C) 2008 Jonathan Schleifer ## diff -r a45968aaeee1 -r 58935f738fce src/adhoc_commands.py --- a/src/adhoc_commands.py Wed Jan 11 22:00:27 2012 +0100 +++ b/src/adhoc_commands.py Wed Jan 11 22:21:28 2012 +0100 @@ -3,7 +3,7 @@ ## ## Copyright (C) 2006 Nikos Kouremenos ## Copyright
gajim: upgrade copyright
changeset 5f30a3c91901 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=5f30a3c91901 description: upgrade copyright diffstat: setup_win32.py | 2 +- src/adhoc_commands.py | 2 +- src/advanced_configuration_window.py | 2 +- src/atom_window.py | 2 +- src/cell_renderer_image.py | 2 +- src/chat_control.py| 2 +- src/common/atom.py | 2 +- src/common/caps_cache.py | 2 +- src/common/check_paths.py | 2 +- src/common/commands.py | 2 +- src/common/config.py | 2 +- src/common/configpaths.py | 2 +- src/common/connection.py | 2 +- src/common/connection_handlers.py | 2 +- src/common/connection_handlers_events.py | 2 +- src/common/contacts.py | 2 +- src/common/dataforms.py| 2 +- src/common/dbus_support.py | 2 +- src/common/defs.py | 2 +- src/common/dh.py | 2 +- src/common/events.py | 2 +- src/common/exceptions.py | 2 +- src/common/fuzzyclock.py | 2 +- src/common/gajim.py| 2 +- src/common/gpg.py | 2 +- src/common/helpers.py | 2 +- src/common/i18n.py | 2 +- src/common/latex.py| 2 +- src/common/location_listener.py| 2 +- src/common/logger.py | 2 +- src/common/optparser.py| 2 +- src/common/passwords.py| 2 +- src/common/pep.py | 2 +- src/common/protocol/bytestream.py | 2 +- src/common/proxy65_manager.py | 2 +- src/common/pubsub.py | 2 +- src/common/rst_xhtml_generator.py | 2 +- src/common/sleepy.py | 2 +- src/common/socks5.py | 2 +- src/common/stanza_session.py | 2 +- src/common/xmpp/stringprepare.py | 2 +- src/common/zeroconf/connection_zeroconf.py | 2 +- src/config.py | 2 +- src/conversation_textview.py | 2 +- src/dataforms_widget.py| 2 +- src/dialogs.py | 2 +- src/disco.py | 2 +- src/features_window.py | 2 +- src/filetransfers_window.py| 2 +- src/gajim-remote.py| 2 +- src/gajim.py | 2 +- src/gajim_themes_window.py | 2 +- src/groupchat_control.py | 2 +- src/groups.py | 2 +- src/gtkexcepthook.py | 2 +- src/gtkgui_helpers.py | 2 +- src/gui_interface.py | 2 +- src/gui_menu_builder.py| 2 +- src/history_manager.py | 2 +- src/history_window.py | 2 +- src/htmltextview.py| 2 +- src/ipython_view.py| 2 +- src/message_control.py | 2 +- src/message_textview.py| 2 +- src/message_window.py | 2 +- src/music_track_listener.py| 2 +- src/negotiation.py | 2 +- src/network_manager_listener.py| 2 +- src/notify.py | 2 +- src/profile_window.py | 2 +- src/remote_control.py | 2 +- src/roster_window.py | 2 +- src/search_window.py | 2 +- src/session.py | 2 +- src/statusicon.py | 2 +- src/tooltips.py| 2 +- src/upower_listener.py | 2 +- src/vcard.py | 2 +- 78 files changed, 78 insertions(+), 78 deletions(-) diffs (truncated from 933 to 300 lines): diff -r 8b358e774061 -r 5f30a3c91901 setup_win32.py --- a/setup_win32.pyWed Jan 11 22:00:27 2012 +0100 +++ b/setup_win32.pyWed Jan 11 22:20:34 2012 +0100 @@ -1,6 +1,6 @@ ## setup_win32.py (run me as python setup_win32.py py2exe -O2) ## -## Copyright (C) 2003-2010 Yann Leboulanger +## Copyright (C) 2003-2012 Yann Leboulanger ## Copyright (C) 2005-2006 Nikos Kouremenos ## Copyright (C) 2008 Jonathan Schleifer ## diff -r 8b358e774061 -r 5f30a3c91901 src/adhoc_commands.py --- a/src/adhoc_commands.py Wed Jan 11 22:00:27 2012 +0100 +++ b/src/adhoc_commands.py Wed Jan 11 22:20:34 2012 +0100 @@ -3,7 +3,7 @@ ## ## Copyright (C) 2006 Nikos Kouremenos ## Copyright
gajim: fix hidding info bar in chat control
changeset 55029dc6e131 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=55029dc6e131 description: fix hidding info bar in chat control diffstat: src/chat_control.py | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (11 lines): diff -r 0fe298b10229 -r 55029dc6e131 src/chat_control.py --- a/src/chat_control.py Mon Jan 09 17:40:02 2012 +0100 +++ b/src/chat_control.py Wed Jan 11 20:44:49 2012 +0100 @@ -3327,6 +3327,7 @@ self.info_bar_queue.remove(ib_msg) if i == 0: # We are removing the one currently displayed +self.info_bar.set_no_show_all(True) self.info_bar.hide() # show next one? gobject.idle_add(self._info_bar_show_message) ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: update README.html for dependancies
changeset a45968aaeee1 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=a45968aaeee1 description: update README.html for dependancies diffstat: README.html | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diffs (22 lines): diff -r 55029dc6e131 -r a45968aaeee1 README.html --- a/README.html Wed Jan 11 20:44:49 2012 +0100 +++ b/README.html Wed Jan 11 22:00:27 2012 +0100 @@ -20,7 +20,8 @@ Optional Runtime Requirements -http://pyopenssl.sourceforge.net/";>PyOpenSSL (python-pyopenssl package in Debian) (>=0.9) for secure SSL/TLS. Python's default SSL is insecure, so this package is highly recommended! +http://pyopenssl.sourceforge.net/";>PyOpenSSL (python-pyopenssl package in Debian) (>=0.12) for secure SSL/TLS. Python's default SSL is insecure, so this package is highly recommended! +python-pyasn1 to check SSL/TLS certificate python-crypto to enable End to end encryption For idle module, libxss library For zeroconf (bonjour), the "enable link-local messaging" checkbox, you need dbus-glib, python-avahi @@ -111,7 +112,7 @@ -(C) 2003-2011 +(C) 2003-2012 The Gajim Team http://gajim.org ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: [Pablo Mazzini] ask passphrase to user when using non-sas...
changeset 63c8ab421f3a in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=63c8ab421f3a description: [Pablo Mazzini] ask passphrase to user when using non-sasl authentication diffstat: src/common/xmpp/auth_nb.py | 13 - 1 files changed, 12 insertions(+), 1 deletions(-) diffs (24 lines): diff -r 61fa1268d4a2 -r 63c8ab421f3a src/common/xmpp/auth_nb.py --- a/src/common/xmpp/auth_nb.pySat Jan 07 12:00:04 2012 +0400 +++ b/src/common/xmpp/auth_nb.pySat Jan 07 15:41:53 2012 +0100 @@ -567,8 +567,19 @@ else: log.warn("Secure methods unsupported, performing plain text \ authentication") -query.setTagData('password', self.password) self._method = 'plain' +self._owner._caller.get_password(self._on_password, self._method) +return +resp = self.owner.Dispatcher.SendAndWaitForResponse(iq, +func=self._on_auth) + +def _on_password(self, password): +self.password = '' if password is None else password +iq=Iq('set', NS_AUTH) +query = iq.getTag('query') +query.setTagData('username', self.user) +query.setTagData('resource', self.resource) +query.setTagData('password', self.password) resp = self.owner.Dispatcher.SendAndWaitForResponse(iq, func=self._on_auth) ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: fix OOB registration. Fixes #6957
changeset 0fe298b10229 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=0fe298b10229 description: fix OOB registration. Fixes #6957 diffstat: src/config.py | 11 ++- 1 files changed, 6 insertions(+), 5 deletions(-) diffs (33 lines): diff -r 65196f5cc16d -r 0fe298b10229 src/config.py --- a/src/config.py Mon Jan 09 14:57:21 2012 +0400 +++ b/src/config.py Mon Jan 09 17:40:02 2012 +0100 @@ -3803,23 +3803,24 @@ self.back_button.show() self.forward_button.show() self.is_form = obj.is_form +empty_config = True if obj.is_form: dataform = dataforms.ExtendForm(node=obj.config) self.data_form_widget = dataforms_widget.DataFormWidget(dataform) +empty_config = False else: self.data_form_widget = FakeDataForm(obj.config) -empty_config = True for field in obj.config: if field in ('key', 'instructions', 'x', 'registered'): continue empty_config = False break -if empty_config: -self.forward_button.set_sensitive(False) -self.notebook.set_current_page(4) # show form page -return self.data_form_widget.show_all() self.xml.get_object('form_vbox').pack_start(self.data_form_widget) +if empty_config: +self.forward_button.set_sensitive(False) +self.notebook.set_current_page(4) # show form page +return self.ssl_fingerprint = obj.ssl_fingerprint self.ssl_cert = obj.ssl_cert if obj.ssl_msg: ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: coding style
changeset 65196f5cc16d in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=65196f5cc16d description: coding style diffstat: src/roster_window.py | 31 +++ 1 files changed, 15 insertions(+), 16 deletions(-) diffs (41 lines): diff -r 63c8ab421f3a -r 65196f5cc16d src/roster_window.py --- a/src/roster_window.py Sat Jan 07 15:41:53 2012 +0100 +++ b/src/roster_window.py Mon Jan 09 14:57:21 2012 +0400 @@ -4765,22 +4765,21 @@ """ Initialize opened and closed 'transport' iconset dict """ -if gajim.config.get('use_transports_iconsets'): -folder = os.path.join(helpers.get_transport_path(transport), -'16x16') -pixo, pixc = gtkgui_helpers.load_icons_meta() -self.transports_state_images['opened'][transport] = \ -gtkgui_helpers.load_iconset(folder, pixo, transport=True) -self.transports_state_images['closed'][transport] = \ -gtkgui_helpers.load_iconset(folder, pixc, transport=True) -folder = os.path.join(helpers.get_transport_path(transport), -'32x32') -self.transports_state_images['32'][transport] = \ -gtkgui_helpers.load_iconset(folder, transport=True) -folder = os.path.join(helpers.get_transport_path(transport), -'16x16') -self.transports_state_images['16'][transport] = \ -gtkgui_helpers.load_iconset(folder, transport=True) +if not gajim.config.get('use_transports_iconsets'): +return + +folder = os.path.join(helpers.get_transport_path(transport), '32x32') +self.transports_state_images['32'][transport] = \ +gtkgui_helpers.load_iconset(folder, transport=True) +folder = os.path.join(helpers.get_transport_path(transport), '16x16') +self.transports_state_images['16'][transport] = \ +gtkgui_helpers.load_iconset(folder, transport=True) + +pixo, pixc = gtkgui_helpers.load_icons_meta() +self.transports_state_images['opened'][transport] = \ +gtkgui_helpers.load_iconset(folder, pixo, transport=True) +self.transports_state_images['closed'][transport] = \ +gtkgui_helpers.load_iconset(folder, pixc, transport=True) def update_jabber_state_images(self): # Update the roster ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: check ssl certificate against hostname only if we use sec...
changeset e83de0e87e88 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=e83de0e87e88 description: check ssl certificate against hostname only if we use secured connection. Fixes #7071 diffstat: src/common/connection.py | 30 ++ 1 files changed, 14 insertions(+), 16 deletions(-) diffs (42 lines): diff -r 4d8c6e53cd8f -r e83de0e87e88 src/common/connection.py --- a/src/common/connection.py Thu Jan 05 20:09:33 2012 +0100 +++ b/src/common/connection.py Fri Jan 06 09:45:11 2012 +0100 @@ -1315,24 +1315,22 @@ else: gajim.config.set_per('accounts', self.name, 'ssl_fingerprint_sha1', con.Connection.ssl_fingerprint_sha1) -if not check_X509.check_certificate(con.Connection.ssl_certificate, -hostname) and '100' not in gajim.config.get_per('accounts', self.name, -'ignore_ssl_errors').split(): -txt = _('The authenticity of the %s certificate could be invalid.' -'\nThe certificate does not cover this domain.') % hostname -gajim.nec.push_incoming_event(SSLErrorEvent(None, conn=self, -error_text=txt, error_num=100, cert=con.Connection.ssl_cert_pem, -fingerprint=con.Connection.ssl_fingerprint_sha1, -certificate=con.Connection.ssl_certificate)) -return True +if not check_X509.check_certificate(con.Connection.ssl_certificate, +hostname) and '100' not in gajim.config.get_per('accounts', +self.name, 'ignore_ssl_errors').split(): +txt = _('The authenticity of the %s certificate could be ' +'invalid.\nThe certificate does not cover this domain.') % \ +hostname +gajim.nec.push_incoming_event(SSLErrorEvent(None, conn=self, +error_text=txt, error_num=100, +cert=con.Connection.ssl_cert_pem, +fingerprint=con.Connection.ssl_fingerprint_sha1, +certificate=con.Connection.ssl_certificate)) +return True self._register_handlers(con, con_type) -con.auth( -user=name, -password=self.password, -resource=self.server_resource, -sasl=1, -on_auth=self.__on_auth) +con.auth(user=name, password=self.password, +resource=self.server_resource, sasl=1, on_auth=self.__on_auth) def ssl_certificate_accepted(self): if not self.connection: ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: Prevent traceback
changeset 61fa1268d4a2 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=61fa1268d4a2 description: Prevent traceback diffstat: src/plugins/pluginmanager.py | 5 - 1 files changed, 4 insertions(+), 1 deletions(-) diffs (15 lines): diff -r e83de0e87e88 -r 61fa1268d4a2 src/plugins/pluginmanager.py --- a/src/plugins/pluginmanager.py Fri Jan 06 09:45:11 2012 +0100 +++ b/src/plugins/pluginmanager.py Sat Jan 07 12:00:04 2012 +0400 @@ -475,7 +475,10 @@ except TypeError, type_error: # set plugin localization -module_attr._ = _ +try: +module_attr._ = _ +except AttributeError, type_error: +pass except ConfigParser.NoOptionError, type_error: # all fields are required log.debug('%s : %s' % (module_attr_name, ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: check in feature window if pyopenssl >= 0.12 and if pyasn...
changeset ff62e65be743 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=ff62e65be743 description: check in feature window if pyopenssl >= 0.12 and if pyasn1 is available diffstat: src/features_window.py | 5 + 1 files changed, 5 insertions(+), 0 deletions(-) diffs (15 lines): diff -r cd6948ca93cb -r ff62e65be743 src/features_window.py --- a/src/features_window.pyThu Jan 05 11:56:22 2012 +0100 +++ b/src/features_window.pyThu Jan 05 13:50:15 2012 +0100 @@ -169,6 +169,11 @@ try: import OpenSSL.SSL import OpenSSL.crypto +ver = OpenSSL.__version__ +ver_l = [int(i) for i in ver.split('.')] +if ver_l < [0, 12]: +raise ImportError +import pyasn1 except Exception: return False return True ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: make /status /away and /back commands apply to connected ...
changeset 4d8c6e53cd8f in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=4d8c6e53cd8f description: make /status /away and /back commands apply to connected and synchronized accounts. Fixes #7070 diffstat: src/command_system/implementation/standard.py | 17 ++--- 1 files changed, 14 insertions(+), 3 deletions(-) diffs (48 lines): diff -r ff62e65be743 -r 4d8c6e53cd8f src/command_system/implementation/standard.py --- a/src/command_system/implementation/standard.py Thu Jan 05 13:50:15 2012 +0100 +++ b/src/command_system/implementation/standard.py Thu Jan 05 20:09:33 2012 +0100 @@ -125,6 +125,17 @@ self.echo(formatted) +def _get_connected_accounts(self): +conns = [] +for conn in gajim.connections.itervalues(): +if not gajim.config.get_per('accounts', conn.name, +'sync_with_global_status'): +continue +if conn.connected <= 2: +continue +conns.append(conn) +return conns + @command(raw=True, empty=True) @doc(_(""" Set current the status @@ -135,7 +146,7 @@ def status(self, status, message): if status not in ('online', 'away', 'chat', 'xa', 'dnd'): raise CommandError("Invalid status given") -for connection in gajim.connections.itervalues(): +for connection in self._get_connected_accounts(): connection.change_status(status, message) @command(raw=True, empty=True) @@ -143,7 +154,7 @@ def away(self, message): if not message: message = _("Away") -for connection in gajim.connections.itervalues(): +for connection in self._get_connected_accounts(): connection.change_status('away', message) @command('back', raw=True, empty=True) @@ -151,7 +162,7 @@ def online(self, message): if not message: message = _("Available") -for connection in gajim.connections.itervalues(): +for connection in self._get_connected_accounts(): connection.change_status('online', message) class StandardCommonChatCommands(CommandContainer): ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: generate POTFILES.skip in autogen.sh to skip plugins from...
changeset cd6948ca93cb in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=cd6948ca93cb description: generate POTFILES.skip in autogen.sh to skip plugins from translation. add command system files to translated files. Fixes #7068 diffstat: autogen.sh | 6 -- po/POTFILES.skip | 3 --- 2 files changed, 4 insertions(+), 5 deletions(-) diffs (23 lines): diff -r 7582f60f497b -r cd6948ca93cb autogen.sh --- a/autogen.shWed Jan 04 11:38:09 2012 +0100 +++ b/autogen.shThu Jan 05 11:56:22 2012 +0100 @@ -20,8 +20,10 @@ && for p in `ls data/gui/*.ui`; do echo "[type: gettext/glade]$p" >> \ po/POTFILES.in; done \ && ls -1 data/gajim.desktop.in.in \ - src/*py src/common/*py src/common/zeroconf/*.py src/plugins/*.py| grep -v ipython_view.py >> \ - po/POTFILES.in || exit 1 + src/*.py src/common/*.py src/command_system/implementation/*.py src/common/zeroconf/*.py src/plugins/*.py | grep -v ipython_view.py >> \ + po/POTFILES.in \ + && echo -e "data/gajim.desktop.in\nsrc/ipython_view.py" > po/POTFILES.skip \ + && ls -1 plugins/*/*.py plugins/*/*.ui >> po/POTFILES.skip || exit 1 if test -z `which pkg-config 2>/dev/null`;then echo "***Error: pkg-config not found***" echo "See README.html for build requirements." diff -r 7582f60f497b -r cd6948ca93cb po/POTFILES.skip --- a/po/POTFILES.skip Wed Jan 04 11:38:09 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 + @@ -1,3 +0,0 @@ -data/gajim.desktop.in -src/eggtrayicon.c -src/ipython_view.py ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: check that pyopenssl > 0.12 is installed before using fon...
changeset 7582f60f497b in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=7582f60f497b description: check that pyopenssl > 0.12 is installed before using fonctions available after this version diffstat: src/common/check_X509.py | 4 src/features_window.py | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diffs (28 lines): diff -r 6f3537ffbac2 -r 7582f60f497b src/common/check_X509.py --- a/src/common/check_X509.py Tue Jan 03 20:17:33 2012 +0100 +++ b/src/common/check_X509.py Wed Jan 04 11:38:09 2012 +0100 @@ -4,6 +4,10 @@ try: import OpenSSL.SSL import OpenSSL.crypto +ver = OpenSSL.__version__ +ver_l = [int(i) for i in ver.split('.')] +if ver_l < [0, 12]: +raise ImportError from pyasn1.type import univ, constraint, char, namedtype, tag from pyasn1.codec.der.decoder import decode from common.helpers import prep, InvalidFormat diff -r 6f3537ffbac2 -r 7582f60f497b src/features_window.py --- a/src/features_window.pyTue Jan 03 20:17:33 2012 +0100 +++ b/src/features_window.pyWed Jan 04 11:38:09 2012 +0100 @@ -49,8 +49,8 @@ self.features = { _('SSL certificate validation'): (self.pyopenssl_available, _('A library used to validate server certificates to ensure a secure connection.'), -_('Requires python-pyopenssl.'), -_('Requires python-pyopenssl.')), +_('Requires python-pyopenssl > 0.12 and pyasn1.'), +_('Requires python-pyopenssl > 0.12 and pyasn1.')), _('Bonjour / Zeroconf'): (self.zeroconf_available, _('Serverless chatting with autodetected clients in a local network.'), _('Requires python-avahi.'), ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: use 'login' keyring as default keyring instead of 'defaul...
changeset 6f3537ffbac2 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=6f3537ffbac2 description: use 'login' keyring as default keyring instead of 'default'. Fixes #7067 diffstat: src/common/passwords.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 1c55719e6b17 -r 6f3537ffbac2 src/common/passwords.py --- a/src/common/passwords.py Mon Jan 02 17:01:31 2012 +0100 +++ b/src/common/passwords.py Tue Jan 03 20:17:33 2012 +0100 @@ -63,7 +63,7 @@ def __init__(self): self.keyring = gnomekeyring.get_default_keyring_sync() if self.keyring is None: -self.keyring = 'default' +self.keyring = 'login' try: gnomekeyring.create_sync(self.keyring, None) except gnomekeyring.AlreadyExistsError: ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: fix starting Gajim when pyasn1 is not installed. see #7066
changeset 1c55719e6b17 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=1c55719e6b17 description: fix starting Gajim when pyasn1 is not installed. see #7066 diffstat: src/common/check_X509.py | 301 -- 1 files changed, 156 insertions(+), 145 deletions(-) diffs (truncated from 324 to 300 lines): diff -r 795b9aff8bc8 -r 1c55719e6b17 src/common/check_X509.py --- a/src/common/check_X509.py Mon Jan 02 16:39:06 2012 +0100 +++ b/src/common/check_X509.py Mon Jan 02 17:01:31 2012 +0100 @@ -1,164 +1,175 @@ -from pyasn1.type import univ, constraint, char, namedtype, tag -from pyasn1.codec.der.decoder import decode -from common.helpers import prep, InvalidFormat +import logging +log = logging.getLogger('gajim.c.check_X509') -MAX = 64 -oid_xmppaddr = '(1, 3, 6, 1, 5, 5, 7, 8, 5)' -oid_dnssrv = '(1, 3, 6, 1, 5, 5, 7, 8, 7)' +try: +import OpenSSL.SSL +import OpenSSL.crypto +from pyasn1.type import univ, constraint, char, namedtype, tag +from pyasn1.codec.der.decoder import decode +from common.helpers import prep, InvalidFormat +MAX = 64 +oid_xmppaddr = '(1, 3, 6, 1, 5, 5, 7, 8, 5)' +oid_dnssrv = '(1, 3, 6, 1, 5, 5, 7, 8, 7)' -class DirectoryString(univ.Choice): -componentType = namedtype.NamedTypes( -namedtype.NamedType( -'teletexString', char.TeletexString().subtype( -subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), -namedtype.NamedType( -'printableString', char.PrintableString().subtype( -subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), -namedtype.NamedType( -'universalString', char.UniversalString().subtype( -subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), -namedtype.NamedType( -'utf8String', char.UTF8String().subtype( -subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), -namedtype.NamedType( -'bmpString', char.BMPString().subtype( -subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), -namedtype.NamedType( -'ia5String', char.IA5String().subtype( -subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), -namedtype.NamedType( -'gString', univ.OctetString().subtype( -subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), -) -class AttributeValue(DirectoryString): -pass +class DirectoryString(univ.Choice): +componentType = namedtype.NamedTypes( +namedtype.NamedType( +'teletexString', char.TeletexString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'printableString', char.PrintableString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'universalString', char.UniversalString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'utf8String', char.UTF8String().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'bmpString', char.BMPString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'ia5String', char.IA5String().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'gString', univ.OctetString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +) -class AttributeType(univ.ObjectIdentifier): -pass +class AttributeValue(DirectoryString): +pass -class AttributeTypeAndValue(univ.Sequence): -componentType = namedtype.NamedTypes( -namedtype.NamedType('type', AttributeType()), -namedtype.NamedType('value', AttributeValue()), -) +class AttributeType(univ.ObjectIdentifier): +pass -class RelativeDistinguishedName(univ.SetOf): -componentType = AttributeTypeAndValue() +class AttributeTypeAndValue(univ.Sequence): +componentType = namedtype.NamedTypes( +namedtype.NamedType('type', AttributeType()), +namedtype.NamedType('value', AttributeValue()), +) -class RDNSequence(univ.SequenceOf): -componentType = RelativeDistinguishedName() +class RelativeDistinguishedName(univ.SetOf): +componentType = AttributeTypeAndValue() -class Name(univ.Choice): -componentType = namedtype.NamedTypes( -namedtype.NamedType('', RDNSequence()), -) +class RDNSequence(univ.SequenceOf): +componentType = RelativeDistinguishedName() -class GeneralName(univ.Choice): -componentType = namedtype.NamedTypes( -
gajim: handle MISSING PASSPHRASE in gnupg.py
changeset 63731356fe01 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=63731356fe01 description: handle MISSING PASSPHRASE in gnupg.py diffstat: src/common/gnupg.py | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diffs (12 lines): diff -r 1c7a1df1e20a -r 63731356fe01 src/common/gnupg.py --- a/src/common/gnupg.py Mon Dec 19 10:26:36 2011 +0100 +++ b/src/common/gnupg.py Sat Dec 31 15:54:11 2011 +0100 @@ -962,7 +962,7 @@ def handle_status(self, key, value): if key in ("USERID_HINT", "NEED_PASSPHRASE", "BAD_PASSPHRASE", - "GOOD_PASSPHRASE", "BEGIN_SIGNING"): + "GOOD_PASSPHRASE", "BEGIN_SIGNING", "MISSING_PASSPHRASE"): pass elif key == "SIG_CREATED": (self.type, ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: check hostname in SSL certificates. Fixes #7066
changeset 795b9aff8bc8 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=795b9aff8bc8 description: check hostname in SSL certificates. Fixes #7066 diffstat: src/common/check_X509.py | 164 ++ src/common/connection.py | 26 +- src/common/xmpp/tls_nb.py |2 - 3 files changed, 184 insertions(+), 8 deletions(-) diffs (244 lines): diff -r 63731356fe01 -r 795b9aff8bc8 src/common/check_X509.py --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/src/common/check_X509.py Mon Jan 02 16:39:06 2012 +0100 @@ -0,0 +1,164 @@ +from pyasn1.type import univ, constraint, char, namedtype, tag +from pyasn1.codec.der.decoder import decode +from common.helpers import prep, InvalidFormat + +MAX = 64 +oid_xmppaddr = '(1, 3, 6, 1, 5, 5, 7, 8, 5)' +oid_dnssrv = '(1, 3, 6, 1, 5, 5, 7, 8, 7)' + + + +class DirectoryString(univ.Choice): +componentType = namedtype.NamedTypes( +namedtype.NamedType( +'teletexString', char.TeletexString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'printableString', char.PrintableString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'universalString', char.UniversalString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'utf8String', char.UTF8String().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'bmpString', char.BMPString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'ia5String', char.IA5String().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +namedtype.NamedType( +'gString', univ.OctetString().subtype( +subtypeSpec=constraint.ValueSizeConstraint(1, MAX))), +) + +class AttributeValue(DirectoryString): +pass + +class AttributeType(univ.ObjectIdentifier): +pass + +class AttributeTypeAndValue(univ.Sequence): +componentType = namedtype.NamedTypes( +namedtype.NamedType('type', AttributeType()), +namedtype.NamedType('value', AttributeValue()), +) + +class RelativeDistinguishedName(univ.SetOf): +componentType = AttributeTypeAndValue() + +class RDNSequence(univ.SequenceOf): +componentType = RelativeDistinguishedName() + +class Name(univ.Choice): +componentType = namedtype.NamedTypes( +namedtype.NamedType('', RDNSequence()), +) + +class GeneralName(univ.Choice): +componentType = namedtype.NamedTypes( +namedtype.NamedType('otherName', univ.Sequence().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatConstructed, 0x0))), +namedtype.NamedType('rfc822Name', char.IA5String().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatSimple, 1))), +namedtype.NamedType('dNSName', char.IA5String().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatSimple, 2))), +namedtype.NamedType('x400Address', univ.Sequence().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatConstructed, 0x3))), +namedtype.NamedType('directoryName', Name().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatConstructed, 0x4))), +namedtype.NamedType('ediPartyName', univ.Sequence().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatConstructed, 0x5))), +namedtype.NamedType('uniformResourceIdentifier', +char.IA5String().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatSimple, 6))), +namedtype.NamedType('iPAddress', univ.OctetString().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatSimple, 7))), +namedtype.NamedType('registeredID', univ.ObjectIdentifier().subtype( +implicitTag=tag.Tag(tag.tagClassContext, +tag.tagFormatSimple, 8))), +) + +class GeneralNames(univ.SequenceOf): +componentType = GeneralName() +sizeSpec = univ.SequenceOf.sizeSpec + constraint.ValueSizeConstraint(1, MAX) + + +#s = '0\x1a\x82\rwww.gajim.org\x82\tgajim.org' +s = '0\x81\x86\x82\x0c*.jabber.org\x82\njabber.org\xa0\x1a\x06\x08+\x06\x01\x05\x05\x07\x08\x05\xa0\x0e\x0c\x0c*.jabber.org\xa0\x1a\x06\x08+\x06\x01\x05\x05\x07\x08\x07\xa0\x0e\x16\x0c*.jabber.org\xa0\x18\x06\x08+\x06\x01\x05\x05\x07\x08\x05\xa0\x0c\x0c\njabber.org\xa0\x18\x06\x08+\x06\x01\x05\x05\x07\x08\x07\xa0\x0c\x16\njabber.org' + +def _parse_asn1(asn1): +obj = decode(asn1, asn1Spec=GeneralNames())[0] +r = {} +for o in obj: +name = o.getName(
gajim: update README.html for dependancies
changeset 8b358e774061 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=8b358e774061 description: update README.html for dependancies diffstat: README.html | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diffs (22 lines): diff -r 619d5588f868 -r 8b358e774061 README.html --- a/README.html Wed Jan 11 20:44:49 2012 +0100 +++ b/README.html Wed Jan 11 22:00:27 2012 +0100 @@ -20,7 +20,8 @@ Optional Runtime Requirements -http://pyopenssl.sourceforge.net/";>PyOpenSSL (python-pyopenssl package in Debian) (>=0.9) for secure SSL/TLS. Python's default SSL is insecure, so this package is highly recommended! +http://pyopenssl.sourceforge.net/";>PyOpenSSL (python-pyopenssl package in Debian) (>=0.12) for secure SSL/TLS. Python's default SSL is insecure, so this package is highly recommended! +python-pyasn1 to check SSL/TLS certificate python-crypto to enable End to end encryption For idle module, libxss library For zeroconf (bonjour), the "enable link-local messaging" checkbox, you need dbus-glib, python-avahi @@ -111,7 +112,7 @@ -(C) 2003-2011 +(C) 2003-2012 The Gajim Team http://gajim.org ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits
gajim: fix hidding info bar in chat control
changeset 619d5588f868 in /home/hg/repos/gajim details:http://hg.gajim.org/gajim?cmd=changeset;node=619d5588f868 description: fix hidding info bar in chat control diffstat: src/chat_control.py | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diffs (11 lines): diff -r 68d0e4b51d39 -r 619d5588f868 src/chat_control.py --- a/src/chat_control.py Mon Jan 09 17:40:02 2012 +0100 +++ b/src/chat_control.py Wed Jan 11 20:44:49 2012 +0100 @@ -3278,6 +3278,7 @@ self.info_bar_queue.remove(ib_msg) if i == 0: # We are removing the one currently displayed +self.info_bar.set_no_show_all(True) self.info_bar.hide() # show next one? gobject.idle_add(self._info_bar_show_message) ___ Commits mailing list Commits@gajim.org http://lists.gajim.org/cgi-bin/listinfo/commits