From 48de1f540d9fce8ad29e667bb998732ab193d516 Mon Sep 17 00:00:00 2001 From: sheldonh Date: Thu, 20 Dec 2001 16:16:25 +0000 Subject: Import smbfs-1.4.2. --- contrib/smbfs/smbutil/common.h | 3 +++ contrib/smbfs/smbutil/dumptree.c | 8 ++++++++ contrib/smbfs/smbutil/login.c | 11 ++++++++++- contrib/smbfs/smbutil/smbutil.1 | 3 ++- contrib/smbfs/smbutil/smbutil.c | 8 ++++++-- contrib/smbfs/smbutil/view.c | 6 +++++- 6 files changed, 34 insertions(+), 5 deletions(-) (limited to 'contrib/smbfs/smbutil') diff --git a/contrib/smbfs/smbutil/common.h b/contrib/smbfs/smbutil/common.h index 8cca846..ceee9fe 100644 --- a/contrib/smbfs/smbutil/common.h +++ b/contrib/smbfs/smbutil/common.h @@ -15,3 +15,6 @@ void logout_usage(void); void lookup_usage(void); void print_usage(void); void view_usage(void); +#ifdef APPLE +extern int loadsmbvfs(); +#endif diff --git a/contrib/smbfs/smbutil/dumptree.c b/contrib/smbfs/smbutil/dumptree.c index 3bf86ff..7d06142 100644 --- a/contrib/smbfs/smbutil/dumptree.c +++ b/contrib/smbfs/smbutil/dumptree.c @@ -4,6 +4,10 @@ #include #include #include +#ifdef APPLE +#include +#include +#endif #include #include @@ -102,6 +106,10 @@ cmd_dumptree(int argc, char *argv[]) int *itype; printf("SMB connections:\n"); +#ifdef APPLE + if (loadsmbvfs()) + errx(EX_OSERR, "SMB filesystem is not available"); +#endif p = smb_dumptree(); if (p == NULL) { printf("None\n"); diff --git a/contrib/smbfs/smbutil/login.c b/contrib/smbfs/smbutil/login.c index 2b3a452..e1c856f 100644 --- a/contrib/smbfs/smbutil/login.c +++ b/contrib/smbfs/smbutil/login.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: login.c,v 1.5 2001/01/28 07:35:00 bp Exp $ + * $Id: login.c,v 1.6 2001/08/22 03:33:38 bp Exp $ */ #include #include @@ -78,6 +78,10 @@ cmd_login(int argc, char *argv[]) /*NOTREACHED*/ } } +#ifdef APPLE + if (loadsmbvfs()) + errx(EX_OSERR, "SMB filesystem is not available"); +#endif if (smb_ctx_resolve(ctx) != 0) exit(1); level = ctx->ct_parsedlevel; @@ -139,6 +143,11 @@ cmd_logout(int argc, char *argv[]) /*NOTREACHED*/ } } +#ifdef APPLE + error = loadsmbvfs(); + if (error) + errx(EX_OSERR, "SMB filesystem is not available"); +#endif ctx->ct_ssn.ioc_opt &= ~SMBVOPT_CREATE; ctx->ct_sh.ioc_opt &= ~SMBSOPT_CREATE; if (smb_ctx_resolve(ctx) != 0) diff --git a/contrib/smbfs/smbutil/smbutil.1 b/contrib/smbfs/smbutil/smbutil.1 index 11ee0f0..529e4cf 100644 --- a/contrib/smbfs/smbutil/smbutil.1 +++ b/contrib/smbfs/smbutil/smbutil.1 @@ -1,4 +1,4 @@ -.\" $Id: smbutil.1,v 1.3 2000/07/17 01:49:27 bp Exp $ +.\" $Id: smbutil.1,v 1.4 2001/12/20 15:11:34 bp Exp $ .Dd Feb 14, 2000 .Dt SMBUTIL 1 .Os @@ -117,6 +117,7 @@ keeps description for each connection. See .Pa ./examples/dot.nsmbrc for details. +.El .Sh AUTHORS .An Boris Popov Aq bp@butya.kz , .Aq bp@freebsd.org diff --git a/contrib/smbfs/smbutil/smbutil.c b/contrib/smbfs/smbutil/smbutil.c index d66003f..4d14f9e 100644 --- a/contrib/smbfs/smbutil/smbutil.c +++ b/contrib/smbfs/smbutil/smbutil.c @@ -64,10 +64,9 @@ cmd_crypt(int argc, char *argv[]) psw = getpass("Password:"); else psw = argv[1]; - cp = malloc(strlen(psw + 4)); + cp = smb_simplecrypt(NULL, psw); if (cp == NULL) errx(EX_DATAERR, "out of memory"); - smb_simplecrypt(cp, psw); printf("%s\n", cp); free(cp); exit(0); @@ -97,6 +96,11 @@ main(int argc, char *argv[]) struct commands *cmd; char *cp; int opt; +#ifdef APPLE + extern void dropsuid(); + + dropsuid(); +#endif /* APPLE */ if (argc < 2) help(); diff --git a/contrib/smbfs/smbutil/view.c b/contrib/smbfs/smbutil/view.c index d69928a..e3e600f 100644 --- a/contrib/smbfs/smbutil/view.c +++ b/contrib/smbfs/smbutil/view.c @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: view.c,v 1.7 2001/01/28 07:35:01 bp Exp $ + * $Id: view.c,v 1.8 2001/08/22 03:33:38 bp Exp $ */ #include #include @@ -86,6 +86,10 @@ cmd_view(int argc, char *argv[]) /*NOTREACHED*/ } } +#ifdef APPLE + if (loadsmbvfs()) + errx(EX_OSERR, "SMB filesystem is not available"); +#endif smb_ctx_setshare(ctx, "IPC$", SMB_ST_ANY); if (smb_ctx_resolve(ctx) != 0) exit(1); -- cgit v1.1