summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJonathan Bauer2017-02-03 14:10:52 +0100
committerJonathan Bauer2017-02-03 14:10:52 +0100
commitecb4336adc39c83353d091cdf415e6dc33289e1b (patch)
tree230f6797223b16eb5a3df2f80255183f4b4f252f /core
parent[vmware] assigning readonly variables in a function causes the function (diff)
parent[pam] Remove old ldap libs, add keyutils (diff)
downloadmltk-ecb4336adc39c83353d091cdf415e6dc33289e1b.tar.gz
mltk-ecb4336adc39c83353d091cdf415e6dc33289e1b.tar.xz
mltk-ecb4336adc39c83353d091cdf415e6dc33289e1b.zip
Merge branch 'master' of https://github.com/OpenSLX/mltk
Diffstat (limited to 'core')
-rwxr-xr-xcore/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++2
-rwxr-xr-xcore/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx5
-rw-r--r--core/modules/pam/module.conf5
-rw-r--r--core/modules/pam/module.conf.ubuntu3
-rw-r--r--core/modules/pam/module.conf.ubuntu.1410
-rwxr-xr-xcore/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env16
-rw-r--r--core/modules/run-virt/data/opt/openslx/vmchooser/config/udhcpd-nat1.conf2
7 files changed, 30 insertions, 13 deletions
diff --git a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++ b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++
index 76c4fe95..2f8b878d 100755
--- a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++
+++ b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/systemd-udhcpc++
@@ -8,7 +8,7 @@ UDHCPC_OPTS=""
mkdir -p /run/udhcpc || echo "Could not create '/run/udhcpc'."
-/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -O search -t 8 -s /opt/openslx/scripts/udhcpc-openslx -i "$NET_IF" -p "/run/udhcpc/udhcpc.$NET_IF.pid"
+/opt/openslx/sbin/udhcpc $UDHCPC_OPTS -O domain -O nissrv -O nisdomain -O wpad -O search -O wins -t 8 -s /opt/openslx/scripts/udhcpc-openslx -i "$NET_IF" -p "/run/udhcpc/udhcpc.$NET_IF.pid"
RET=$?
if [ "$RET" != 0 ]; then
diff --git a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
index 776f3f3b..13de9ff4 100755
--- a/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
+++ b/core/modules/dhcpc-busybox/data/opt/openslx/scripts/udhcpc-openslx
@@ -147,6 +147,11 @@ case "$1" in
sed -i "/^SLX_NET_SEARCH=/d" /opt/openslx/config
echo "SLX_NET_SEARCH='$search'" >> /opt/openslx/config
fi
+ # Same for WINS servers
+ if [ -z "$SLX_NET_WINS" ] && [ -n "$wins" ]; then
+ sed -i "/^SLX_NET_WINS=/d" /opt/openslx/config
+ echo "SLX_NET_WINS='$wins'" >> /opt/openslx/config
+ fi
# Only if network is not ready yet
if [ ! -e "/run/network/network-ready" ]; then
diff --git a/core/modules/pam/module.conf b/core/modules/pam/module.conf
index 9d803f3b..ae4789b6 100644
--- a/core/modules/pam/module.conf
+++ b/core/modules/pam/module.conf
@@ -5,11 +5,14 @@ REQUIRED_BINARIES="
sslconnect
unix_chkpwd
cifs.upcall
+ mount.cifs
+ key.dns_resolver
+ keyctl
+ request-key
"
REQUIRED_LIBRARIES="
nsswitch
static
- umich_ldap
libnfsidmap
pam_script
"
diff --git a/core/modules/pam/module.conf.ubuntu b/core/modules/pam/module.conf.ubuntu
index 7b2ceb50..b800cec6 100644
--- a/core/modules/pam/module.conf.ubuntu
+++ b/core/modules/pam/module.conf.ubuntu
@@ -11,6 +11,7 @@ REQUIRED_INSTALLED_PACKAGES="
libpam0g-dev
cifs-utils
libpam-modules-bin
+ keyutils
"
REQUIRED_CONTENT_PACKAGES="
libpam0g
@@ -27,10 +28,10 @@ REQUIRED_CONTENT_PACKAGES="
nfs-common
cifs-utils
libpam-modules-bin
+ keyutils
"
REQUIRED_BINARIES+="
nwmsg
- mount.cifs
"
REQUIRED_DIRECTORIES+="
$SYS_PAM_MODULES_PATH
diff --git a/core/modules/pam/module.conf.ubuntu.14 b/core/modules/pam/module.conf.ubuntu.14
index 455be684..d9f3b68e 100644
--- a/core/modules/pam/module.conf.ubuntu.14
+++ b/core/modules/pam/module.conf.ubuntu.14
@@ -1,6 +1,4 @@
REQUIRED_INSTALLED_PACKAGES="
- libpam-ldap
- libnss-ldapd
krb5-user
krb5-config
libpam-krb5
@@ -11,14 +9,12 @@ REQUIRED_INSTALLED_PACKAGES="
libpam0g-dev
cifs-utils
libpam-modules-bin
+ keyutils
"
REQUIRED_CONTENT_PACKAGES="
libpam0g
libpam-modules
libpam-cap
- libldap-2.4-2
- libpam-ldap
- libnss-ldapd
krb5-user
krb5-config
libpam-krb5
@@ -27,9 +23,7 @@ REQUIRED_CONTENT_PACKAGES="
nfs-common
cifs-utils
libpam-modules-bin
-"
-REQUIRED_BINARIES+="
- mount.cifs
+ keyutils
"
REQUIRED_DIRECTORIES+="
$SYS_PAM_MODULES_PATH
diff --git a/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env
index f53983ec..68afd189 100755
--- a/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env
+++ b/core/modules/run-virt/data/opt/openslx/scripts/systemd-run_virt_env
@@ -172,16 +172,30 @@ for wait in 1 1 2 2 3 end; do
. /opt/openslx/config
done
+getips () {
+ # Output in one line by using echo without quotes
+ echo $(nslookup "$1" 2>/dev/null | grep -A 3 '^Name:' | grep '^Address .*: ' | awk '{print $3}')
+}
+
# read the DNS configuration and configure the udhcpd
[ -z "${SLX_DNS}" ] && SLX_DNS="8.8.8.8 8.8.4.4"
[ -z "${SLX_NET_DOMAIN}" ] && SLX_NET_DOMAIN="virtual.site"
[ -z "${SLX_NET_SEARCH}" ] && SLX_NET_SEARCH="virtual.site"
-sed -i "s#%DNSSERVER%#${SLX_DNS}#;s#%DOMAIN%#${SLX_NET_DOMAIN}#;s#%SEARCH%#${SLX_NET_SEARCH}#" "${DHCP_NAT_CONF}"
+# WINS - if not supplied, try to get it from the search base of our ldap config
+if [ -z "${SLX_NET_WINS}" ]; then
+ DC=$(grep -m1 -i '^BASE\s*DC=' "/etc/ldap.conf" | grep -o -i 'DC=.*' | sed -r 's/\s*,\s*DC=/./gI;s/^\s*DC=//I')
+ [ -z "$DC" ] && DC=$(grep -m1 -i '^ldap_search_base\s*=\s*DC=' "/etc/sssd/sssd.conf" | grep -o -i 'DC=.*' | sed -r 's/\s*,\s*DC=/./gI;s/^\s*DC=//I')
+ [ -n "$DC" ] && SLX_NET_WINS=$(getips "$DC")
+fi
+[ -z "${SLX_NET_WINS}" ] && SLX_NET_WINS=$(getips "$SLX_NET_DOMAIN")
+[ -z "${SLX_NET_WINS}" ] && SLX_NET_WINS="0.0.0.0"
+sed -i "s#%DNSSERVER%#${SLX_DNS}#;s#%DOMAIN%#${SLX_NET_DOMAIN}#;s#%SEARCH%#${SLX_NET_SEARCH}#;s#%WINS%#${SLX_NET_WINS}#" "${DHCP_NAT_CONF}"
# Make sure the primary vm running (we most likely never run more than one at a time anyways) always gets the same ip
echo "static_lease $(echo "$MACADDRPREFIX:$MACADDRSUFFIX" | sed 's/%VMID%/01/') 192.168.101.20" >> "${DHCP_NAT_CONF}"
mkdir -p /var/lib/udhcpd
+# TODO: systemd
udhcpd -S "${DHCP_NAT_CONF}"
# creating and configuring vsw2
diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/config/udhcpd-nat1.conf b/core/modules/run-virt/data/opt/openslx/vmchooser/config/udhcpd-nat1.conf
index 95d8ebc0..27aa63c3 100644
--- a/core/modules/run-virt/data/opt/openslx/vmchooser/config/udhcpd-nat1.conf
+++ b/core/modules/run-virt/data/opt/openslx/vmchooser/config/udhcpd-nat1.conf
@@ -34,7 +34,7 @@ pidfile /var/run/udhcpd-nat1.pid
option dns %DNSSERVER%
option subnet 255.255.255.0
option router 192.168.101.1
-option wins 192.168.101.10
+option wins %WINS%
option domain %DOMAIN%
option search %SEARCH%
option lprsrv 192.168.101.1