From 1cd8eb3af8f26cf98e1d62d676726f7bb3689905 Mon Sep 17 00:00:00 2001 From: Daniel Drake Date: Mon, 08 Oct 2012 21:48:30 +0000 Subject: Use uuid.uuid4 to generate random connection UUIDs Recent versions of NetworkManager have gotten stricter when checking UUIDs. A UUID must be 32 hex characters plus 4 dashes. Sugar's unique_id() doesn't satisify this. Switch to using uuid.uuid4 from the uuid python module to generate UUIDs. [1] http://docs.python.org/library/uuid.html Signed-off-by: Daniel Drake Acked-by: Simon Schampijer --- diff --git a/src/jarabe/desktop/networkviews.py b/src/jarabe/desktop/networkviews.py index 65d478e..3ee954b 100644 --- a/src/jarabe/desktop/networkviews.py +++ b/src/jarabe/desktop/networkviews.py @@ -19,6 +19,7 @@ from gettext import gettext as _ import logging import hashlib +import uuid import dbus import glib @@ -30,7 +31,6 @@ from sugar3.graphics import style from sugar3.graphics.icon import get_icon_state from sugar3.graphics import palette from sugar3.graphics.menuitem import MenuItem -from sugar3.util import unique_id from sugar3 import profile from jarabe.view.pulsingicon import EventPulsingIcon @@ -347,7 +347,7 @@ class WirelessNetworkView(EventPulsingIcon): logging.debug('Creating new connection for SSID %r', self._ssid) settings = Settings() settings.connection.id = self._display_name - settings.connection.uuid = unique_id() + settings.connection.uuid = str(uuid.uuid4()) settings.connection.type = '802-11-wireless' settings.wireless.ssid = self._ssid diff --git a/src/jarabe/model/adhoc.py b/src/jarabe/model/adhoc.py index dfd6caa..819ccea 100644 --- a/src/jarabe/model/adhoc.py +++ b/src/jarabe/model/adhoc.py @@ -17,11 +17,11 @@ import logging import dbus +import uuid from gi.repository import GObject from jarabe.model import network from jarabe.model.network import Settings -from sugar3.util import unique_id from jarabe.model.network import IP4Config @@ -187,7 +187,7 @@ class AdHocManager(GObject.GObject): ssid = 'Ad-hoc Network %d' % (channel,) settings = Settings() settings.connection.id = self._get_connection_id(channel) - settings.connection.uuid = unique_id() + settings.connection.uuid = str(uuid.uuid4()) settings.connection.type = '802-11-wireless' settings.connection.autoconnect = False settings.wireless.ssid = dbus.ByteArray(ssid) diff --git a/src/jarabe/model/network.py b/src/jarabe/model/network.py index 930ba13..53e170a 100644 --- a/src/jarabe/model/network.py +++ b/src/jarabe/model/network.py @@ -21,6 +21,7 @@ from gettext import gettext as _ import logging import os +import uuid import dbus import dbus.service @@ -31,7 +32,6 @@ import ctypes from sugar3 import dispatch from sugar3 import env -from sugar3.util import unique_id NM_STATE_UNKNOWN = 0 NM_STATE_ASLEEP = 10 @@ -991,7 +991,7 @@ def create_gsm_connection(username, password, number, apn, pin): settings.connection.id = GSM_CONNECTION_ID settings.connection.type = NM_CONNECTION_TYPE_GSM - settings.connection.uuid = unique_id() + settings.connection.uuid = str(uuid.uuid4()) settings.connection.autoconnect = False settings.ip4_config.method = 'auto' settings.serial.baud = GSM_BAUD_RATE diff --git a/src/jarabe/model/olpcmesh.py b/src/jarabe/model/olpcmesh.py index c2a81f5..91c6af8 100644 --- a/src/jarabe/model/olpcmesh.py +++ b/src/jarabe/model/olpcmesh.py @@ -17,12 +17,12 @@ import logging import dbus +import uuid from gi.repository import GObject from jarabe.model import network from jarabe.model.network import Settings from jarabe.model.network import OlpcMesh as OlpcMeshSettings -from sugar3.util import unique_id _XS_ANYCAST = '\xc0\x27\xc0\x27\xc0\x00' @@ -177,7 +177,7 @@ class OlpcMeshManager(object): settings.ip4_config.method = 'link-local' settings.connection.id = self._get_connection_id(channel, xs_hosted) settings.connection.autoconnect = False - settings.connection.uuid = unique_id() + settings.connection.uuid = str(uuid.uuid4()) settings.connection.type = '802-11-olpc-mesh' network.add_connection(settings, reply_handler=self._add_connection_reply_cb, -- cgit v0.9.1