From ede26d9d62406d265c7d54120bd78ec1d6b00144 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 8 Apr 2019 15:21:58 +0200 Subject: [run-virt/pam-slx-plug] Honor SHARE_NO_HOME_WARN --- .../data/opt/openslx/pam/mount.d/99-fallback | 3 ++- .../data/opt/openslx/vmchooser/data/openslx.exe | Bin 58368 -> 58368 bytes .../vmchooser/run-virt.d/setup_virtual_floppy.inc | 7 +++++++ core/modules/run-virt/winres/src/winres.c | 5 ++++- 4 files changed, 13 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/modules/pam-slx-plug/data/opt/openslx/pam/mount.d/99-fallback b/core/modules/pam-slx-plug/data/opt/openslx/pam/mount.d/99-fallback index c1e966f6..695dccaa 100644 --- a/core/modules/pam-slx-plug/data/opt/openslx/pam/mount.d/99-fallback +++ b/core/modules/pam-slx-plug/data/opt/openslx/pam/mount.d/99-fallback @@ -88,7 +88,8 @@ if [ -n "$PIDS" ]; then kill -9 $PIDS # Kill any leftovers; No quotes fi -if ! isHomeMounted; then +# Only if SHARE_NO_HOME_WARN is empty or 0 +if [ -z "${SHARE_NO_HOME_WARN%0}" ] && ! isHomeMounted; then LOG_COMBINED=$(mktemp) [ -n "$LOGFILES" ] && cat ${LOGFILES} > "$LOG_COMBINED" # No quotes slxlog --delete "pam-ad-mount" "Mount of '${NETWORK_HOME}' to '${PERSISTENT_HOME_DIR}' failed." "${LOG_COMBINED}" diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe b/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe index 76703d53..54cedabb 100755 Binary files a/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe and b/core/modules/run-virt/data/opt/openslx/vmchooser/data/openslx.exe differ diff --git a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc index d2685c15..e302bdd7 100644 --- a/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc +++ b/core/modules/run-virt/data/opt/openslx/vmchooser/run-virt.d/setup_virtual_floppy.inc @@ -107,6 +107,12 @@ setup_virtual_floppy() { local UNAME= [ -s "${HOME}/.openslx/account" ] && UNAME=$(cat "${HOME}/.openslx/account") notempty UNAME || UNAME=$(whoami) + + # Only warn for non-demo + if [ "$SHARE_NO_HOME_WARN" = "2" ] && [ "$UNAME" != "demo" ]; then + SHARE_NO_HOME_WARN=0 + fi + cat > "${TMPDIR}/openslx.ini" <<-EOF [openslx] username=${UNAME} @@ -119,6 +125,7 @@ setup_virtual_floppy() { passCreds=${SHARE_CREDENTIAL_PASSTHROUGH} bootIp=${SLX_PXE_CLIENT_IP} muteSound=${MUTED} + noHomeWarn=${SHARE_NO_HOME_WARN} [remap] documents=${SHARE_DOCUMENTS} diff --git a/core/modules/run-virt/winres/src/winres.c b/core/modules/run-virt/winres/src/winres.c index fe38996b..a9e6024a 100644 --- a/core/modules/run-virt/winres/src/winres.c +++ b/core/modules/run-virt/winres/src/winres.c @@ -69,6 +69,7 @@ static int _folderStatus = FS_UNKNOWN; // -1 = Not handled yet, 0 = patching fai static int _remapMode = RM_NONE; static const char* _remapHomeDrive = NULL; static BOOL _passCreds = FALSE; +static BOOL _noHomeWarn = FALSE; static BOOL _deletedCredentials = FALSE; static BOOL _scriptDone = TRUE, _mountDone = TRUE; // Will be set to false if we actually wait for something... static char *shost = NULL, *sport = NULL, *suser = NULL, *spass = NULL; @@ -199,7 +200,7 @@ static void CALLBACK setupNetworkDrives(HWND hWnd, UINT uMsg, UINT_PTR idEvent, } _mountDone = TRUE; KillTimer(hWnd, idEvent); - if (_remapMode != RM_NONE) { + if (!_noHomeWarn) { // Warn if mapping failed and error is not muted if (_folderStatus != FS_OK && shost != NULL && shost[0] == '-' && sport != NULL && sport[0] == '-') { MessageBoxA(NULL, "Kein Home-Verzeichnis konfiguriert. Bitte nichts Wichtiges in der VM speichern, sondern z.B. einen USB-Stick verwenden, bzw. evtl. vorhandene Netzlaufwerke verwenden.", "Warnung", MB_ICONERROR); } else if (_folderStatus == FS_ERROR) { @@ -402,6 +403,8 @@ static void loadPaths() } // Pass creds to normal runscript? _passCreds = GetPrivateProfileIntA("openslx", "passCreds", 0, SETTINGS_FILE) != 0; + // No warning if no home directory could be mounted + _noHomeWarn = GetPrivateProfileIntA("openslx", "noHomeWarn", 0, SETTINGS_FILE) != 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd) -- cgit v1.2.3-55-g7522