diff options
author | sheldonh <sheldonh@FreeBSD.org> | 2001-12-20 16:16:25 +0000 |
---|---|---|
committer | sheldonh <sheldonh@FreeBSD.org> | 2001-12-20 16:16:25 +0000 |
commit | 48de1f540d9fce8ad29e667bb998732ab193d516 (patch) | |
tree | 047ddfc533f4ae21ddcdd454a87abe41ff403b0d /contrib/smbfs/mount_smbfs/mount_smbfs.c | |
parent | 4e260b134ff188548ec2c8a16a37570a4abf1257 (diff) | |
download | FreeBSD-src-48de1f540d9fce8ad29e667bb998732ab193d516.zip FreeBSD-src-48de1f540d9fce8ad29e667bb998732ab193d516.tar.gz |
Import smbfs-1.4.2.
Diffstat (limited to 'contrib/smbfs/mount_smbfs/mount_smbfs.c')
-rw-r--r-- | contrib/smbfs/mount_smbfs/mount_smbfs.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/contrib/smbfs/mount_smbfs/mount_smbfs.c b/contrib/smbfs/mount_smbfs/mount_smbfs.c index 3122bc4..9b90c30 100644 --- a/contrib/smbfs/mount_smbfs/mount_smbfs.c +++ b/contrib/smbfs/mount_smbfs/mount_smbfs.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: mount_smbfs.c,v 1.13 2001/04/16 12:46:46 bp Exp $ + * $Id: mount_smbfs.c,v 1.15 2001/12/20 15:03:41 bp Exp $ */ #include <sys/param.h> #include <sys/stat.h> @@ -71,10 +71,19 @@ main(int argc, char *argv[]) struct smb_ctx sctx, *ctx = &sctx; struct smbfs_args mdata; struct stat st; +#ifdef APPLE + extern void dropsuid(); + extern int loadsmbvfs(); +#else struct vfsconf vfc; +#endif /* APPLE */ char *next; int opt, error, mntflags, caseopt; + +#ifdef APPLE + dropsuid(); +#endif /* APPLE */ if (argc == 2) { if (strcmp(argv[1], "-h") == 0) { usage(); @@ -87,6 +96,9 @@ main(int argc, char *argv[]) if (argc < 3) usage(); +#ifdef APPLE + error = loadsmbvfs(); +#else error = getvfsbyname(SMBFS_VFSNAME, &vfc); if (error && vfsisloadable(SMBFS_VFSNAME)) { if(vfsload(SMBFS_VFSNAME)) @@ -94,6 +106,7 @@ main(int argc, char *argv[]) endvfsent(); error = getvfsbyname(SMBFS_VFSNAME, &vfc); } +#endif /* APPLE */ if (error) errx(EX_OSERR, "SMB filesystem is not available"); @@ -204,9 +217,9 @@ main(int argc, char *argv[]) if (smb_getextattr(mount_point, &einfo) == 0) errx(EX_OSERR, "can't mount on %s twice", mount_point); */ - if (mdata.uid == -1) + if (mdata.uid == (uid_t)-1) mdata.uid = st.st_uid; - if (mdata.gid == -1) + if (mdata.gid == (gid_t)-1) mdata.gid = st.st_gid; if (mdata.file_mode == 0 ) mdata.file_mode = st.st_mode & (S_IRWXU | S_IRWXG | S_IRWXO); |