From a5adb1c292ce77e5511923bbe93a59d66d557e60 Mon Sep 17 00:00:00 2001 From: James Valleroy Date: Sat, 2 Nov 2013 02:20:02 +0000 Subject: [PATCH] Convert unicode (but otherwise valid) hostname to ASCII. Pass hostname option to hostname-change as a string rather than a list. --- modules/installed/system/config.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/installed/system/config.py b/modules/installed/system/config.py index d6b22467a..916c4b43a 100644 --- a/modules/installed/system/config.py +++ b/modules/installed/system/config.py @@ -49,9 +49,13 @@ def get_hostname(): def set_hostname(hostname): "Sets machine hostname to hostname" + + # Hostname should be ASCII. If it's unicode but passed our valid_hostname check, convert to ASCII. + hostname = str(hostname) + cfg.log.info("Changing hostname to '%s'" % hostname) try: - privilegedaction_run("hostname-change", [hostname]) + privilegedaction_run("hostname-change", hostname) # don't persist/cache change unless it was saved successfuly sys_store = filedict_con(cfg.store_file, 'sys') sys_store['hostname'] = hostname