Prevent a traceback when the jid option isn’t a valid JID.

It was crashing deep in XEP-0048 plugin init, this removes a safeJID()
as well as print an error message if the JID is invalid.
This commit is contained in:
Emmanuel Gil Peyrot 2020-12-27 01:50:12 +01:00 committed by Link Mauve
parent 85b1222222
commit 0474d0f4b2

View file

@ -18,6 +18,7 @@ import base64
import random import random
import slixmpp import slixmpp
from slixmpp import JID, InvalidJID
from slixmpp.xmlstream import ET from slixmpp.xmlstream import ET
from slixmpp.plugins.xep_0184 import XEP_0184 from slixmpp.plugins.xep_0184 import XEP_0184
from slixmpp.plugins.xep_0030 import DiscoInfo from slixmpp.plugins.xep_0030 import DiscoInfo
@ -26,7 +27,6 @@ from slixmpp.util import FileSystemCache
from poezio import common from poezio import common
from poezio import fixes from poezio import fixes
from poezio import xdg from poezio import xdg
from poezio.common import safeJID
from poezio.config import config, options from poezio.config import config, options
@ -81,7 +81,11 @@ class Connection(slixmpp.ClientXMPP):
self.anon = True self.anon = True
jid = config.get('server') jid = config.get('server')
password = None password = None
jid = safeJID(jid) try:
jid = JID(jid)
except InvalidJID:
sys.stderr.write('Invalid jid option: "%s" is not a valid JID\n' % jid)
sys.exit(1)
jid.resource = '%s-%s' % ( jid.resource = '%s-%s' % (
jid.resource, jid.resource,
device_id) if jid.resource else 'poezio-%s' % device_id device_id) if jid.resource else 'poezio-%s' % device_id