-#! /bin/sh
+#!/bin/bash
### BEGIN INIT INFO
# Provides: sipb-xen-console
# Required-Start: $local_fs $remote_fs
gen_config()
{
- perl -pe 's|^|#include /etc/conserver/conf.d/|' \
- </etc/invirt/hosts >/etc/conserver/invirt-hosts.cf
- INVIRT_REALM="$(cat /etc/invirt/realm)"
- perl -pe "s|^|host/|; s|\$|\@$INVIRT_REALM|" \
- </etc/invirt/hosts >/etc/remctl/acl/invirt-console
+ {
+ for i in $(invirt-getconf --ls hosts); do
+ local hostname=$(invirt-getconf hosts.$i.hostname)
+ echo "#include /etc/conserver/conf.d/$hostname"
+ done
+ } > /etc/conserver/invirt-hosts.cf
+ local realm=$(invirt-getconf authn.0.realm)
+ {
+ for i in $(invirt-getconf --ls hosts); do
+ local hostname=$(invirt-getconf hosts.$i.hostname)
+ echo "host/$hostname@$realm"
+ done
+ } > /etc/remctl/acl/invirt-console
+
+ cat > /etc/nss-pgsql.conf << EOF
+host = $(invirt-getconf db.host)
+port = $(invirt-getconf db.port)
+database = $(invirt-getconf db.dbname)
+login = $(invirt-getconf db.user)
+
+querypasswd = SELECT name, NULL, machine_id + 1000 as uid, machine_id + 1000 as gid, '', '/consolefs/'|| name, '/usr/bin/sipb-xen-consolesh' FROM machines
+querygroup = SELECT name, NULL, machine_id + 1000 as gid FROM machines
+querymembers = SELECT name FROM machines WHERE 1000 + machine_id = %d
+queryids = SELECT 1000 + machine_id AS gid FROM machines LIMIT 0
+
+passwd_name = name
+passwd_uid = 1000 + machine_id
+
+group_name = name
+group_gid = 1000 + machine_id
+EOF
}
#