gajim: fix some session issues

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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...

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Fomin Denis
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...

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Fomin Denis
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...

2012-01-11 Thread Yann Leboulanger
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 ...

2012-01-11 Thread Yann Leboulanger
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...

2012-01-11 Thread Yann Leboulanger
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...

2012-01-11 Thread Yann Leboulanger
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...

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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

2012-01-11 Thread Yann Leboulanger
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