X-Git-Url: https://git.wh0rd.org/?p=dump.git;a=blobdiff_plain;f=common%2Fdumprmt.c;h=4c1bedf23e8a11b298a9b39535ddb931b7af411b;hp=072b0f50d1c4fbab6733a6f6bb465d4a17d665a7;hb=11856e771fadee7ddb9b5a613c91f562bf363da7;hpb=8d957ae7f665fbb4ce5d3ed0978fa968dc607af5 diff --git a/common/dumprmt.c b/common/dumprmt.c index 072b0f5..4c1bedf 100644 --- a/common/dumprmt.c +++ b/common/dumprmt.c @@ -2,7 +2,8 @@ * Ported to Linux's Second Extended File System as part of the * dump and restore backup suit * Remy Card , 1994-1997 - * Stelian Pop , 1999 + * Stelian Pop , 1999-2000 + * Stelian Pop - AlcĂ´ve , 2000-2002 */ /*- @@ -40,30 +41,30 @@ #ifndef lint static const char rcsid[] = - "$Id: dumprmt.c,v 1.10 2000/01/17 16:32:44 stelian Exp $"; + "$Id: dumprmt.c,v 1.19 2002/01/16 09:32:14 stelian Exp $"; #endif /* not lint */ -#ifdef __linux__ -#include -#include -#endif +#include #include #include #include #include #ifdef __linux__ +#include +#ifdef HAVE_EXT2FS_EXT2_FS_H +#include +#else #include +#endif #include #include -#else -#ifdef sunos +#elif defined sunos #include #include #else #include #endif -#endif #include #include @@ -88,8 +89,8 @@ static const char rcsid[] = #include #endif -#include "pathnames.h" -#include "dump.h" +#include +#include "dump.h" /* for X_STARTUP, X_ABORT etc */ #define TS_CLOSED 0 #define TS_OPEN 1 @@ -205,6 +206,12 @@ rmtgetconn(void) rshcmd[4] = rmt; rshcmd[5] = NULL; + /* Restore the uid and gid. We really don't want + * to execute whatever is put into RSH variable with + * more priviledges than needed... */ + setuid(getuid()); + setgid(getgid()); + if ((rshpid = piped_child(rshcmd)) < 0) { msg("cannot open connection\n"); return 0; @@ -310,7 +317,7 @@ rmtwrite(const char *buf, size_t count) { char line[30]; - (void)snprintf(line, sizeof (line), "W%d\n", count); + (void)snprintf(line, sizeof (line), "W%ld\n", (long)count); write(tormtape, line, strlen(line)); write(tormtape, buf, count); return (rmtreply("write"));