1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-15 05:57:49 +03:00
Simo Sorce fa75e8c1d4 r11395: Update the Debian packaging.
Move form stable to stable distribution names based hives.
(This used to be commit bb13b3482047b6ab6d84ba9e2839cf8a0fac71aa)
2007-10-10 11:05:15 -05:00

161 lines
4.3 KiB
Diff

diff -uNr samba-3.0alpha22.orig/source/client/smbmnt.c samba-3.0alpha22/source/client/smbmnt.c
--- samba-3.0alpha22.orig/source/client/smbmnt.c 2003-03-15 12:11:39.000000000 -0600
+++ samba-3.0alpha22/source/client/smbmnt.c 2003-03-15 12:11:49.000000000 -0600
@@ -28,6 +28,7 @@
static uid_t mount_uid;
static gid_t mount_gid;
static int mount_ro;
+static int no_mtab;
static unsigned mount_fmask;
static unsigned mount_dmask;
static int user_mount;
@@ -40,6 +41,7 @@
printf("Usage: smbmnt mount-point [options]\n");
printf("Version %s\n\n",VERSION);
printf("-s share share name on server\n"
+ "-n don't update /etc/mtab\n"
"-r mount read-only\n"
"-u uid mount as uid\n"
"-g gid mount as gid\n"
@@ -54,7 +56,7 @@
{
int opt;
- while ((opt = getopt (argc, argv, "s:u:g:rf:d:o:")) != EOF)
+ while ((opt = getopt (argc, argv, "s:u:g:nrf:d:o:")) != EOF)
{
switch (opt)
{
@@ -71,6 +73,9 @@
mount_gid = strtol(optarg, NULL, 0);
}
break;
+ case 'n':
+ no_mtab = 1;
+ break;
case 'r':
mount_ro = 1;
break;
@@ -274,36 +279,38 @@
return -1;
}
- if ((fd = open(MOUNTED"~", O_RDWR|O_CREAT|O_EXCL, 0600)) == -1)
- {
- fprintf(stderr, "Can't get "MOUNTED"~ lock file");
- return 1;
- }
- close(fd);
+ if (!no_mtab) {
+ if ((fd = open(MOUNTED"~", O_RDWR|O_CREAT|O_EXCL, 0600)) == -1)
+ {
+ fprintf(stderr, "Can't get "MOUNTED"~ lock file");
+ return 1;
+ }
+ close(fd);
- if ((mtab = setmntent(MOUNTED, "a+")) == NULL)
- {
- fprintf(stderr, "Can't open " MOUNTED);
- return 1;
- }
+ if ((mtab = setmntent(MOUNTED, "a+")) == NULL)
+ {
+ fprintf(stderr, "Can't open " MOUNTED);
+ return 1;
+ }
- if (addmntent(mtab, &ment) == 1)
- {
- fprintf(stderr, "Can't write mount entry");
- return 1;
- }
- if (fchmod(fileno(mtab), 0644) == -1)
- {
- fprintf(stderr, "Can't set perms on "MOUNTED);
- return 1;
- }
- endmntent(mtab);
+ if (addmntent(mtab, &ment) == 1)
+ {
+ fprintf(stderr, "Can't write mount entry");
+ return 1;
+ }
+ if (fchmod(fileno(mtab), 0644) == -1)
+ {
+ fprintf(stderr, "Can't set perms on "MOUNTED);
+ return 1;
+ }
+ endmntent(mtab);
- if (unlink(MOUNTED"~") == -1)
- {
- fprintf(stderr, "Can't remove "MOUNTED"~");
- return 1;
- }
+ if (unlink(MOUNTED"~") == -1)
+ {
+ fprintf(stderr, "Can't remove "MOUNTED"~");
+ return 1;
+ }
+ }
return 0;
}
diff -uNr samba-3.0alpha22.orig/source/client/smbmount.c samba-3.0alpha22/source/client/smbmount.c
--- samba-3.0alpha22.orig/source/client/smbmount.c 2003-03-15 12:04:29.000000000 -0600
+++ samba-3.0alpha22/source/client/smbmount.c 2003-03-15 12:15:10.000000000 -0600
@@ -48,6 +48,7 @@
static int mount_ro;
static unsigned mount_fmask;
static unsigned mount_dmask;
+static BOOL no_mtab = False;
static BOOL use_kerberos;
/* TODO: Add code to detect smbfs version in kernel */
static BOOL status32_smbfs = False;
@@ -273,6 +274,9 @@
return;
}
+ if (no_mtab)
+ return;
+
if ((fd = open(MOUNTED"~", O_RDWR|O_CREAT|O_EXCL, 0600)) == -1) {
DEBUG(0,("%d: Can't get "MOUNTED"~ lock file", sys_getpid()));
return;
@@ -466,6 +470,9 @@
args[i++] = "-s";
args[i++] = svc2;
+ if (no_mtab) {
+ args[i++] = "-n";
+ }
if (mount_ro) {
args[i++] = "-r";
}
@@ -661,7 +668,7 @@
****************************************************************************/
static void usage(void)
{
- printf("Usage: mount.smbfs service mountpoint [-o options,...]\n");
+ printf("Usage: mount.smbfs service mountpoint [-n] [-o options,...]\n");
printf("Version %s\n\n",VERSION);
@@ -739,8 +746,13 @@
argc -= 2;
argv += 2;
- opt = getopt(argc, argv, "o:");
- if(opt != 'o') {
+ opt = getopt(argc, argv, "no:");
+ if (opt == 'n') {
+ DEBUG(3,("No mtab!\n"));
+ no_mtab = True;
+ opt = getopt(argc, argv, "o:");
+ }
+ if (opt != 'o') {
return;
}