summaryrefslogtreecommitdiff
path: root/templates/system/static-host-mapping/host-name
diff options
context:
space:
mode:
authorAn-Cheng Huang <ancheng@vyatta.com>2007-12-12 15:24:22 -0800
committerAn-Cheng Huang <ancheng@vyatta.com>2007-12-12 15:24:22 -0800
commit7f5f7bedf4f47a42fcb7e32538ccf2d78c75234b (patch)
tree98fe752c97a40e77301d6658754e86c666a57e80 /templates/system/static-host-mapping/host-name
parentc4551bb0a5e3ae1780831b5037a118e3971b5c95 (diff)
downloadvyatta-cfg-system-7f5f7bedf4f47a42fcb7e32538ccf2d78c75234b.tar.gz
vyatta-cfg-system-7f5f7bedf4f47a42fcb7e32538ccf2d78c75234b.zip
fix static host mapping
Diffstat (limited to 'templates/system/static-host-mapping/host-name')
-rw-r--r--templates/system/static-host-mapping/host-name/node.def7
-rw-r--r--templates/system/static-host-mapping/host-name/node.tag/alias/node.def15
-rw-r--r--templates/system/static-host-mapping/host-name/node.tag/inet/node.def14
3 files changed, 7 insertions, 29 deletions
diff --git a/templates/system/static-host-mapping/host-name/node.def b/templates/system/static-host-mapping/host-name/node.def
index ea0000af..275aa867 100644
--- a/templates/system/static-host-mapping/host-name/node.def
+++ b/templates/system/static-host-mapping/host-name/node.def
@@ -2,3 +2,10 @@ tag:
type: txt
help: "Map DNS names to system interfaces"
syntax: pattern $(@) "^[-a-zA-Z0-9.]+$" ; "invalid host name $(@)"
+commit: $(./inet) != ""; "IP address for the static mapping must be set"
+end: "sudo sh -c \"\
+ touch /etc/hosts; \
+ sed -i '/ $(@) .*#vyatta entry/d' /etc/hosts; \
+ if [ -z \"$(./inet/@)\" ]; then exit 0; fi; \
+ declare -a aliases=( $(alias/@@) ); \
+ echo \\\"$(inet/@)\t $(@) \\\\\${aliases[*]} \t #vyatta entry\\\" \ >> /etc/hosts\" "
diff --git a/templates/system/static-host-mapping/host-name/node.tag/alias/node.def b/templates/system/static-host-mapping/host-name/node.tag/alias/node.def
index c8f5cdef..e9f1de7c 100644
--- a/templates/system/static-host-mapping/host-name/node.tag/alias/node.def
+++ b/templates/system/static-host-mapping/host-name/node.tag/alias/node.def
@@ -1,18 +1,3 @@
multi:
type: txt
help: "Alias for this address"
-update: "sudo sh -c \"touch /etc/hosts && \
-sed -i '/$(../@).*#vyatta entry/d;/127\\.0\\.0\\.1.*#vyatta entry/d' \
- /etc/hosts && \
-echo \\\"$(../inet/@)\t $(../@) $(@) \t #vyatta entry\\\" \
- >> /etc/hosts && \
-if [ x$(../../../domain-name/@) == x ]; then \
- echo \\\"127.0.0.1\t localhost $(../../../host-name/@)\t #vyatta entry\\\" \
- >> /etc/hosts; \
-else \
- echo \\\"127.0.0.1\t localhost \
-$(../../../host-name/@).$(../../../domain-name/@)\t #vyatta entry\\\" \
- >> /etc/hosts; \
-fi\" "
-delete: "sudo sh -c \"touch /etc/hosts && \
-sed -i '/ $(../@) .*#vyatta entry/{/localhost/!d}' /etc/hosts\" "
diff --git a/templates/system/static-host-mapping/host-name/node.tag/inet/node.def b/templates/system/static-host-mapping/host-name/node.tag/inet/node.def
index 47a84733..4a069d9e 100644
--- a/templates/system/static-host-mapping/host-name/node.tag/inet/node.def
+++ b/templates/system/static-host-mapping/host-name/node.tag/inet/node.def
@@ -1,16 +1,2 @@
type: ipv4
help: "Internet address"
-update: "sudo sh -c \"touch /etc/hosts && \
-sed -i '/$(../@).*#vyatta entry/d;/127\\.0\\.0\\.1.*#vyatta entry/d' \
- /etc/hosts && \
-echo \\\"$(@)\t $(../@) \t #vyatta entry\\\" >> /etc/hosts && \
-if [ x$(../../../domain-name/@) == x ]; then \
- echo \\\"127.0.0.1\t localhost $(../../../host-name/@)\t #vyatta entry\\\" \
- >> /etc/hosts; \
-else \
- echo \\\"127.0.0.1\t localhost \
-$(../../../host-name/@).$(../../../domain-name/@)\t #vyatta entry\\\" \
- >> /etc/hosts; \
-fi\" "
-delete: "sudo sh -c \"touch /etc/hosts && \
-sed -i '/ $(../@) .*#vyatta entry/{/localhost/!d}' /etc/hosts\" "