summaryrefslogtreecommitdiff
path: root/debian/patches/000_resolv-conf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/000_resolv-conf.patch')
-rw-r--r--debian/patches/000_resolv-conf.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/debian/patches/000_resolv-conf.patch b/debian/patches/000_resolv-conf.patch
new file mode 100644
index 0000000..23404da
--- /dev/null
+++ b/debian/patches/000_resolv-conf.patch
@@ -0,0 +1,32 @@
+Index: wa-new/waagent
+===================================================================
+--- wa-new.orig/waagent 2012-11-14 11:06:12.227371000 -0700
++++ wa-new/waagent 2012-11-14 11:07:53.093401274 -0700
+@@ -2262,7 +2262,26 @@
+ Run("rm -f " + a + "/*")
+
+ # Clear LibDir, remove nameserver and root bash history
+- for f in os.listdir(LibDir) + ["/etc/resolv.conf", "/root/.bash_history", "/var/log/waagent.log"]:
++ fileBlackList = [ "/root/.bash_history", "/var/log/waagent.log" ]
++
++ if IsUbuntu():
++ # Ubuntu uses resolv.conf by default, so removing /etc/resolv.conf will
++ # break resolvconf. Therefore, we check to see if resolvconf is in use,
++ # and if so, we remove the resolvconf artifacts.
++
++ if os.path.realpath('/etc/resolv.conf') != '/run/resolvconf/resolv.conf':
++ Log("resolvconf is not configured. Removing /etc/resolv.conf")
++ fileBlackList.append('/etc/resolv.conf')
++ else:
++ Log("resolvconf is enabled; leaving /etc/resolv.conf intact")
++ resolvConfD = '/etc/resolvconf/resolv.conf.d/'
++ fileBlackList.extend([resolvConfD + 'tail', resolvConfD + 'originial' ])
++ else:
++ fileBlackList.append(os.listdir(LibDir) + '/etc/resolv.conf')
++
++
++ # Clear LibDir, remove nameserver and root bash history
++ for f in os.listdir(LibDir) + fileBlackList:
+ try:
+ os.remove(f)
+ except: