This device is for authorized users only. All traffic on this device
is monitored and will be used as evidence for prosecutions. By using
this machine you agree to abide by the Debian Machines Usage Policies
-(http://www.debian.org/devel/dmup)
+<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"
purp += 'Welcome to ' + fqdn
if (nodeinfo['ldap'].has_key?('purpose'))
- if nodeinfo['ldap']['purpose'].include?('buildd')
+ p = nodeinfo['ldap']['purpose'].clone()
+ extra = ''
+
+ if p.delete('buildd')
purp += ", the Debian "
if nodeinfo['ldap'].has_key?('architecture')
purp += nodeinfo['ldap']['architecture'][0]
end
purp += " build daemon\n"
- elsif nodeinfo['ldap']['purpose'].include?('porterbox')
+ end
+
+ if p.delete('porterbox')
purp += ", the Debian "
if nodeinfo['ldap'].has_key?('architecture')
purp += nodeinfo['ldap']['architecture'][0]
end
purp += " porterbox\n"
- purp += "\n"
- purp += "See 'dchroot -l' for a list of available chroots.\n"
+ extra += "\n"
+ extra += "See 'dchroot -l' or 'schroot -l' for a list of available chroots.\n"
if nodeinfo['ldap'].has_key?('admin')
- purp += "Please contact #{nodeinfo['ldap']['admin'][0]} for install requests,\n"
- purp += "following the recommendations in <URL:http://dsa.debian.org/doc/install-req/>.\n"
+ 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
- else
+ end
+
+ if p.size() > 0
purp += ", used for the following services:\n"
nodeinfo['ldap']['purpose'].sort.each do |l|
- if l =~ /\[\[(\*|-)?(.*?)\]\]/
- l = $2
- end
- if l =~ /\[\[(.*?)\|(.*?)\]\]/
- l = $2
- end
+ l = markup(l)
purp += "\t" + l + "\n"
end
+ else
+ purp += ".\n"
end
+
+ purp += extra
else
- purp += "\n"
+ purp += ".\n"
end
if (nodeinfo['ldap'].has_key?('physicalHost'))
- purp += "\nThis virtual server runs on the physical host #{nodeinfo['ldap']['physicalHost'][0]}.\n"
+ purp += wrap("This virtual server runs on the physical host #{nodeinfo['ldap']['physicalHost'][0]}." +
+ "It 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" + wrap(nodeinfo['footer']) + "\n"