opt/linneighborhood/linneighborhood-0.6.5.patch
2006-02-23 15:26:10 +00:00

75 lines
3.2 KiB
Diff

diff -Nru LinNeighborhood-0.6.5.orig/src/smbmount.c LinNeighborhood-0.6.5/src/smbmount.c
--- LinNeighborhood-0.6.5.orig/src/smbmount.c 2004-08-26 17:56:00.689639647 +0200
+++ LinNeighborhood-0.6.5/src/smbmount.c 2004-08-26 17:56:16.869431443 +0200
@@ -390,10 +390,16 @@
escape_str(smbuser,&strlist),escape_str(smbpasswd,&strlist));
break;
case SMBMOUNT_206:
- sprintf(commandstr,"%s %s %s -o username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,ip=%s,debug=0%s",
+ sprintf(commandstr,"%s %s %s -o username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,debug=0%s",
escape_str(pref_get_smbmount_exe(),&strlist),escape_str(servicename,&strlist),escape_str(mount_point,&strlist),
escape_str(smbuser,&strlist),escape_str(smbpasswd,&strlist),
- filemode,dirmode,uid,gid,ipaddr,opt_group);
+ filemode,dirmode,uid,gid,opt_group);
+
+ if (ipaddr && *ipaddr) {
+ string_ncat(commandstr, ",ip=", MAXMNTCOMMANDL);
+ string_ncat(commandstr, ipaddr, MAXMNTCOMMANDL);
+ }
+
if ( (port >= 0) && (port < 65536) )
{
sprintf(commandstr, "%s,port=%d", commandstr, port);
@@ -485,8 +491,14 @@
{
argv[++argnr]="-o";
argv[++argnr]=commandstr;
- sprintf(commandstr,"username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,ip=%s,debug=0",
- smbuser,smbpasswd,filemode,dirmode,uid,gid,ipaddr);
+ sprintf(commandstr,"username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,debug=0",
+ smbuser,smbpasswd,filemode,dirmode,uid,gid);
+
+ if (ipaddr && *ipaddr) {
+ string_ncat(commandstr, ",ip=", MAXMNTCOMMANDL);
+ string_ncat(commandstr, ipaddr, MAXMNTCOMMANDL);
+ }
+
if (*group_name)
{
strcat(commandstr,",workgroup=");
@@ -573,9 +585,15 @@
pref_get_smbmount_exe(),servicename,mount_point,ipaddr,opt_group,smbuser,dummysmbpasswd);
break;
case SMBMOUNT_206:
- sprintf(commandstr,"%s %s %s -o username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,ip=%s,debug=0%s",
+ sprintf(commandstr,"%s %s %s -o username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,debug=0%s",
pref_get_smbmount_exe(),servicename,mount_point,smbuser,dummysmbpasswd,
- filemode,dirmode,uid,gid,ipaddr,opt_group);
+ filemode,dirmode,uid,gid,opt_group);
+
+ if (ipaddr && *ipaddr) {
+ string_ncat(commandstr, ",ip=", MAXMNTCOMMANDL);
+ string_ncat(commandstr, ipaddr, MAXMNTCOMMANDL);
+ }
+
if ( (port >= 0) && (port < 65536) )
{
string_ncat(commandstr, ",port=", MAXMNTCOMMANDL);
@@ -621,8 +639,14 @@
sprintf(userpasswd,"-U%s%%%s",smbuser,dummysmbpasswd);
else
{
- sprintf(commandstr,"username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,ip=%s,debug=0",
- smbuser,dummysmbpasswd,filemode,dirmode,uid,gid,ipaddr);
+ sprintf(commandstr,"username=%s%%%s,fmask=%d,dmask=%d,uid=%d,gid=%d,debug=0",
+ smbuser,dummysmbpasswd,filemode,dirmode,uid,gid);
+
+ if (ipaddr && *ipaddr) {
+ string_ncat(commandstr, ",ip=", MAXMNTCOMMANDL);
+ string_ncat(commandstr, ipaddr, MAXMNTCOMMANDL);
+ }
+
if (*group_name){
strcat(commandstr,",workgroup=");
strcat(commandstr,group_name);