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 slixmpp
from slixmpp import JID, InvalidJID
from slixmpp.xmlstream import ET
from slixmpp.plugins.xep_0184 import XEP_0184
from slixmpp.plugins.xep_0030 import DiscoInfo
@ -26,7 +27,6 @@ from slixmpp.util import FileSystemCache
from poezio import common
from poezio import fixes
from poezio import xdg
from poezio.common import safeJID
from poezio.config import config, options
@ -81,7 +81,11 @@ class Connection(slixmpp.ClientXMPP):
self.anon = True
jid = config.get('server')
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,
device_id) if jid.resource else 'poezio-%s' % device_id