summaryrefslogtreecommitdiffstats
path: root/core/modules/vmware-common/data/opt
diff options
context:
space:
mode:
Diffstat (limited to 'core/modules/vmware-common/data/opt')
-rw-r--r--core/modules/vmware-common/data/opt/openslx/pam/hooks/session-open.d/vmware-tmpfs-dir17
-rw-r--r--core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/write_final_vmx.inc3
2 files changed, 20 insertions, 0 deletions
diff --git a/core/modules/vmware-common/data/opt/openslx/pam/hooks/session-open.d/vmware-tmpfs-dir b/core/modules/vmware-common/data/opt/openslx/pam/hooks/session-open.d/vmware-tmpfs-dir
new file mode 100644
index 00000000..ed5633ed
--- /dev/null
+++ b/core/modules/vmware-common/data/opt/openslx/pam/hooks/session-open.d/vmware-tmpfs-dir
@@ -0,0 +1,17 @@
+create_vmware_tmpdir() {
+ local tmpdir="/tmp/vmware-${PAM_USER}"
+ [ -d "$tmpdir" ] || mkdir -p "$tmpdir"
+ grep -qE '^tmpfs\s+'"$tmpdir" /proc/mounts && return 0
+
+ local mount_opts="-o mode=0700,size=100%"
+ local user_uid="$(id -u $PAM_USER)"
+ [ -n "$user_uid" ] && mount_opts="${mount_opts},uid=${user_uid}"
+ local user_gid="$(id -g $PAM_USER)"
+ [ -n "$user_gid" ] && mount_opts="${mount_opts},gid=${user_gid}"
+ # NO QUOTES!!!1
+ mount -t tmpfs tmpfs ${mount_opts} "$tmpdir"
+}
+if [ "x$PAM_SERVICE" != "xsu" -a "x$PAM_SERVICE" != "xsudo" ]; then
+ create_vmware_tmpdir
+fi
+true
diff --git a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/write_final_vmx.inc b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/write_final_vmx.inc
index 41f5840e..4c62bb38 100644
--- a/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/write_final_vmx.inc
+++ b/core/modules/vmware-common/data/opt/openslx/vmchooser/plugins/vmware/includes/write_final_vmx.inc
@@ -158,6 +158,9 @@ setup_vcpu_ram() {
MemAllowAutoScaleDown = "FALSE"
MemTrimRate = "-1"
HEREEND
+
+ # temporary solution: RAM backing file on a tmpfs
+ echo 'mainmem.backing = "unnamed"' >> "$TMPCONFIG"
}
setup_usb() {