summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsmbfs/smb/subr.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libsmbfs/smb/subr.c')
-rw-r--r--usr/src/lib/libsmbfs/smb/subr.c83
1 files changed, 5 insertions, 78 deletions
diff --git a/usr/src/lib/libsmbfs/smb/subr.c b/usr/src/lib/libsmbfs/smb/subr.c
index 46842d730f..36a3c30ed9 100644
--- a/usr/src/lib/libsmbfs/smb/subr.c
+++ b/usr/src/lib/libsmbfs/smb/subr.c
@@ -32,14 +32,9 @@
* $Id: subr.c,v 1.19 2005/02/09 00:23:45 lindak Exp $
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <sys/param.h>
#include <sys/types.h>
#include <sys/errno.h>
-#include <sys/syscall.h>
-#include <sys/wait.h>
-#include <sys/debug.h>
+#include <sys/time.h>
#include <unistd.h>
#include <ctype.h>
@@ -224,7 +219,8 @@ smb_open_rcfile(struct smb_ctx *ctx)
fprintf(stderr, dgettext(TEXT_DOMAIN,
"Can't open %s: %s\n"), fn, smb_strerror(errno));
#ifdef DEBUG
- dump_props("after reading global repository");
+ if (smb_debug)
+ dump_props("after reading global repository");
#endif
home = getenv("HOME");
@@ -244,7 +240,8 @@ smb_open_rcfile(struct smb_ctx *ctx)
}
home_nsmbrc = 0;
#ifdef DEBUG
- dump_props("after reading user settings");
+ if (smb_debug)
+ dump_props("after reading user settings");
#endif
if (smb_rc == NULL) {
return (ENOENT);
@@ -306,76 +303,6 @@ smb_simpledecrypt(char *dst, const char *src)
return (0);
}
-
-static int
-safe_execv(char *args[])
-{
- int pid;
- int status;
-
- pid = fork();
- if (pid == 0) {
- (void) execv(args[0], args);
- /* Changed from errx() to fprintf(stderr) -Pavan */
- fprintf(stderr, dgettext(TEXT_DOMAIN,
- "%s: execv %s failed, %s\n"), __progname,
- args[0], smb_strerror(errno));
- }
- if (pid == -1) {
- fprintf(stderr, dgettext(TEXT_DOMAIN, "%s: fork failed, %s\n"),
- __progname, smb_strerror(errno));
- return (1);
- }
- if (wait4(pid, &status, 0, NULL) != pid) {
- fprintf(stderr, dgettext(TEXT_DOMAIN,
- "%s: BUG executing %s command\n"), __progname, args[0]);
- return (1);
- } else if (!WIFEXITED(status)) {
- fprintf(stderr, dgettext(TEXT_DOMAIN,
- "%s: %s command aborted by signal %d\n"),
- __progname, args[0], WTERMSIG(status));
- return (1);
- } else if (WEXITSTATUS(status)) {
- fprintf(stderr, dgettext(TEXT_DOMAIN,
- "%s: %s command failed, exit status %d: %s\n"),
- __progname, args[0], WEXITSTATUS(status),
- smb_strerror(WEXITSTATUS(status)));
- return (1);
- }
- return (0);
-}
-
-
-void
-dropsuid()
-{
- /* drop setuid root privs asap */
- eff_uid = geteuid();
- real_uid = getuid();
- seteuid(real_uid);
-}
-
-
-#define KEXTLOAD_COMMAND "/sbin/kextload"
-#define FS_KEXT_DIR "/System/Library/Extensions/smbfs.kext"
-#define FULL_KEXTNAME "com.apple.filesystems.smbfs"
-
-
-int
-loadsmbvfs()
-{
- char *kextargs[] = {KEXTLOAD_COMMAND, FS_KEXT_DIR, NULL};
- int error = 0;
-
- /*
- * temporarily revert to root (required for kextload)
- */
- seteuid(eff_uid);
- error = safe_execv(kextargs);
- seteuid(real_uid); /* and back to real user */
- return (error);
-}
-
#undef __progname
char *__progname = NULL;