This device is for authorized users only. All traffic on this device
-is monitored and will be used as evidence for prosecutions.
+is monitored and will be used as evidence for prosecutions. By using
+this machine you agree to abide by the Debian Machines Usage Policies
+<URL:http://www.debian.org/devel/dmup>.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n")
end
+def markup(l)
+ l = l.gsub(/\[\[(.*?)\|(.*?)\]\]/, '\2')
+ l = l.gsub(/\[\[(\*|-)?(.*?)\]\]/, '\2')
+ return l
+end
+
purp = ''
if nodeinfo.has_key?('nameinfo')
purp += wrap(nodeinfo['nameinfo']) + "\n\n"
end
purp += 'Welcome to ' + fqdn
-if (nodeinfo['ldap'].at(0)) and (nodeinfo['ldap'][0].has_key?('purpose'))
- if nodeinfo['ldap'][0]['purpose'].include?('buildd')
+if (nodeinfo['ldap'].has_key?('purpose'))
+ p = nodeinfo['ldap']['purpose'].clone()
+ extra = ''
+
+ if p.delete('buildd')
purp += ", the Debian "
- if nodeinfo['ldap'][0].has_key?('architecture')
- purp += nodeinfo['ldap'][0]['architecture'][0]
+ if nodeinfo['ldap'].has_key?('architecture')
+ purp += nodeinfo['ldap']['architecture'][0]
end
purp += " build daemon\n"
- elsif nodeinfo['ldap'][0]['purpose'].include?('porterbox')
+ end
+
+ if p.delete('porterbox')
purp += ", the Debian "
- if nodeinfo['ldap'][0].has_key?('architecture')
- purp += nodeinfo['ldap'][0]['architecture'][0]
+ if nodeinfo['ldap'].has_key?('architecture')
+ purp += nodeinfo['ldap']['architecture'][0]
end
purp += " porterbox\n"
- else
+ extra += "\n"
+ extra += "See 'dchroot -l' or 'schroot -l' for a list of available chroots.\n"
+ if nodeinfo['ldap'].has_key?('admin')
+ extra += "Please contact #{nodeinfo['ldap']['admin'][0]} for install requests,\n"
+ extra += "following the recommendations in <URL:http://dsa.debian.org/doc/install-req/>.\n"
+ end
+ end
+
+ if p.size() > 0
purp += ", used for the following services:\n"
- nodeinfo['ldap'][0]['purpose'].sort.each do |l|
- if l =~ /\[\[(\*|-)?(.*?)\]\]/
- l = $2
- end
- if l =~ /\[\[(.*?)\|(.*?)\]\]/
- l = $2
- end
+ nodeinfo['ldap']['purpose'].sort.each do |l|
+ l = markup(l)
purp += "\t" + l + "\n"
end
+ else
+ purp += ".\n"
end
+
+ purp += extra
else
- purp += "\n"
+ purp += ".\n"
end
+purp += "\n"
+
+if (nodeinfo['ldap'].has_key?('physicalHost'))
+ purp += wrap("This virtual server runs on the physical host #{nodeinfo['ldap']['physicalHost'][0]}, " +
+ "which is hosted at #{nodeinfo['hoster']['longname']}."
+ )
+elsif nodeinfo['hoster']['name']
+ purp += wrap("This server is hosted at #{nodeinfo['hoster']['longname']}.")
+end
+
+
+vms = []
+allnodeinfo.keys.sort.each do |node|
+ if allnodeinfo[node]['physicalHost'] and allnodeinfo[node]['physicalHost'].include?(fqdn)
+ vms << node
+ end
+end
+unless vms.empty?
+ purp += "\nThe following virtual machines run on this system:\n"
+ vms.each do |node|
+ purp += "\t- #{node}"
+ if allnodeinfo[node]['purpose']
+ purp += ":\n"
+ allnodeinfo[node]['purpose'].sort.each do |l|
+ l = markup(l)
+ purp += "\t " + l + "\n"
+ end
+ else
+ purp += "\n"
+ end
+ end
+end
+
+
if nodeinfo.has_key?('footer')
- purp += "\n" + nodeinfo['footer'] + "\n"
+ purp += "\n" + wrap(nodeinfo['footer']) + "\n"
end
purp
-%>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+<%
+# vim:set et:
+# vim:set sts=2 ts=2:
+# vim:set shiftwidth=2:
+-%>