Debian packaging updates from Eloy
[Samba.git] / packaging / Debian / debian / patches / smbmount-nomtab.patch
blob1cc45b68187acb9b8f73e2d2f376889bc5960ddf
1 --- samba-2.2.3a/source/client/smbmnt.c.orig Tue Apr 2 09:58:18 2002
2 +++ samba-2.2.3a/source/client/smbmnt.c Tue Apr 2 09:58:24 2002
3 @@ -28,6 +28,7 @@
4 static uid_t mount_uid;
5 static gid_t mount_gid;
6 static int mount_ro;
7 +static int no_mtab;
8 static unsigned mount_fmask;
9 static unsigned mount_dmask;
10 static int user_mount;
11 @@ -40,6 +41,7 @@
12 printf("Usage: smbmnt mount-point [options]\n");
13 printf("Version %s\n\n",VERSION);
14 printf("-s share share name on server\n"
15 + "-n don't update /etc/mtab\n"
16 "-r mount read-only\n"
17 "-u uid mount as uid\n"
18 "-g gid mount as gid\n"
19 @@ -54,7 +56,7 @@
21 int opt;
23 - while ((opt = getopt (argc, argv, "s:u:g:rf:d:o:")) != EOF)
24 + while ((opt = getopt (argc, argv, "s:u:g:nrf:d:o:")) != EOF)
26 switch (opt)
28 @@ -71,6 +73,9 @@
29 mount_gid = strtol(optarg, NULL, 0);
31 break;
32 + case 'n':
33 + no_mtab = 1;
34 + break;
35 case 'r':
36 mount_ro = 1;
37 break;
38 @@ -271,36 +276,38 @@
39 return -1;
42 - if ((fd = open(MOUNTED"~", O_RDWR|O_CREAT|O_EXCL, 0600)) == -1)
43 - {
44 - fprintf(stderr, "Can't get "MOUNTED"~ lock file");
45 - return 1;
46 - }
47 - close(fd);
48 + if (!no_mtab) {
49 + if ((fd = open(MOUNTED"~", O_RDWR|O_CREAT|O_EXCL, 0600)) == -1)
50 + {
51 + fprintf(stderr, "Can't get "MOUNTED"~ lock file");
52 + return 1;
53 + }
54 + close(fd);
56 - if ((mtab = setmntent(MOUNTED, "a+")) == NULL)
57 - {
58 - fprintf(stderr, "Can't open " MOUNTED);
59 - return 1;
60 - }
61 + if ((mtab = setmntent(MOUNTED, "a+")) == NULL)
62 + {
63 + fprintf(stderr, "Can't open " MOUNTED);
64 + return 1;
65 + }
67 - if (addmntent(mtab, &ment) == 1)
68 - {
69 - fprintf(stderr, "Can't write mount entry");
70 - return 1;
71 - }
72 - if (fchmod(fileno(mtab), 0644) == -1)
73 - {
74 - fprintf(stderr, "Can't set perms on "MOUNTED);
75 - return 1;
76 - }
77 - endmntent(mtab);
78 + if (addmntent(mtab, &ment) == 1)
79 + {
80 + fprintf(stderr, "Can't write mount entry");
81 + return 1;
82 + }
83 + if (fchmod(fileno(mtab), 0644) == -1)
84 + {
85 + fprintf(stderr, "Can't set perms on "MOUNTED);
86 + return 1;
87 + }
88 + endmntent(mtab);
90 - if (unlink(MOUNTED"~") == -1)
91 - {
92 - fprintf(stderr, "Can't remove "MOUNTED"~");
93 - return 1;
94 - }
95 + if (unlink(MOUNTED"~") == -1)
96 + {
97 + fprintf(stderr, "Can't remove "MOUNTED"~");
98 + return 1;
99 + }
102 return 0;
104 --- samba/source/client/smbmount.c.orig 2002-10-13 01:34:58.000000000 -0400
105 +++ samba/source/client/smbmount.c 2002-10-13 01:34:59.000000000 -0400
106 @@ -50,6 +50,7 @@
107 static int mount_ro;
108 static unsigned mount_fmask;
109 static unsigned mount_dmask;
110 +static BOOL no_mtab = False;
112 static void usage(void);
114 @@ -250,6 +251,9 @@
115 return;
118 + if (no_mtab)
119 + return;
121 if ((fd = open(MOUNTED"~", O_RDWR|O_CREAT|O_EXCL, 0600)) == -1) {
122 DEBUG(0,("%d: Can't get "MOUNTED"~ lock file", getpid()));
123 return;
124 @@ -444,6 +448,9 @@
125 args[i++] = "-s";
126 args[i++] = svc2;
128 + if (no_mtab) {
129 + args[i++] = "-n";
131 if (mount_ro) {
132 args[i++] = "-r";
134 @@ -626,7 +633,7 @@
135 ****************************************************************************/
136 static void usage(void)
138 - printf("Usage: mount.smbfs service mountpoint [-o options,...]\n");
139 + printf("Usage: mount.smbfs service mountpoint [-n] [-o options,...]\n");
141 printf("Version %s\n\n",VERSION);
143 @@ -691,8 +698,13 @@
144 argc -= 2;
145 argv += 2;
147 - opt = getopt(argc, argv, "o:");
148 - if(opt != 'o') {
149 + opt = getopt(argc, argv, "no:");
150 + if (opt == 'n') {
151 + DEBUG(3,("No mtab!\n"));
152 + no_mtab = True;
153 + opt = getopt(argc, argv, "o:");
155 + if (opt != 'o') {
156 return;