1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
diff -ruN freenx-server.orig/nxnode freenx-server/nxnode
--- freenx-server.orig/nxnode 2009-03-29 14:07:27.000000000 +0200
+++ freenx-server/nxnode 2009-05-12 19:19:28.090537066 +0200
@@ -85,6 +85,45 @@
echo $sessionid
}
+setup_samba()
+{
+ smbport=""
+
+ # We know from protocol traces that client=linux,winnt,macosx are valid values.
+ # I hope with smbclientproto=smb on default and smbclientproto=cifs on all valid
+ # values we get support for all those systems.
+
+ smbproto="$SAMBA_MOUNT_SHARE_PROTOCOL"
+
+ if [ "$smbproto" = "both" ]
+ then
+ smbproto="smbfs"
+
+ [ "$client" = "linux" ] && smbproto="cifs"
+ [ "$client" = "winnt" ] && smbproto="cifs"
+ [ "$client" = "macosx" ] && smbproto="cifs"
+
+ # FIXME: This is a rather wild guess
+ [ "$client" = "win9x" ] && smbproto="smbfs"
+ fi
+
+ if [ "$smbproto" = "cifs" ]
+ then
+ smbport=445
+ COMMAND_SMBMOUNT=$COMMAND_SMBMOUNT_CIFS
+ COMMAND_SMBUMOUNT=$COMMAND_SMBUMOUNT_CIFS
+ elif [ "$smbproto" = "none" ] # none
+ then
+ # we set this to true so that the
+ # SMB mount does not give an error message.
+
+ COMMAND_SMBMOUNT=/bin/true
+ COMMAND_SMBUMOUNT=/bin/true
+ else # smbfs
+ smbport=139
+ fi
+}
+
#
# -----------------------------------------------------------------------------
# Node functions module
@@ -735,6 +774,7 @@
node_umount_smb()
{
+ setup_samba
[ -e "$USER_FAKE_HOME/.nx/C-$sess_id/scripts/mpoint" ] || return
cat "$USER_FAKE_HOME/.nx/C-$sess_id/scripts/mpoint" | while read mpoint
do
@@ -1136,39 +1176,7 @@
if [ "$samba" = "1" ]
then
- # We know from protocol traces that client=linux,winnt,macosx are valid values.
- # I hope with smbclientproto=smb on default and smbclientproto=cifs on all valid
- # values we get support for all those systems.
-
- smbproto="$SAMBA_MOUNT_SHARE_PROTOCOL"
-
- if [ "$smbproto" = "both" ]
- then
- smbproto="smbfs"
-
- [ "$client" = "linux" ] && smbproto="cifs"
- [ "$client" = "winnt" ] && smbproto="cifs"
- [ "$client" = "macosx" ] && smbproto="cifs"
-
- # FIXME: This is a rather wild guess
- [ "$client" = "win9x" ] && smbproto="smbfs"
- fi
-
- if [ "$smbproto" = "cifs" ]
- then
- smbport=445
- COMMAND_SMBMOUNT=$COMMAND_SMBMOUNT_CIFS
- COMMAND_SMBUMOUNT=$COMMAND_SMBUMOUNT_CIFS
- elif [ "$smbproto" = "none" ] # none
- then
- # we set this to true so that the
- # SMB mount does not give an error message.
-
- COMMAND_SMBMOUNT=/bin/true
- COMMAND_SMBUMOUNT=/bin/true
- else # smbfs
- smbport=139
- fi
+ setup_samba
fi
# FreeNX specific variables
@@ -1430,6 +1438,7 @@
cmd_node_smbmount()
{
+ setup_samba
sessionid=$(getparam_sessionid)
port=$(getparam port)
username=$(getparam username)
|