added command argument to mbsetup and added user check
This commit is contained in:
parent
b74cf42949
commit
9a2f46c324
@ -4149,6 +4149,12 @@ v0.33.18 27-Jul-2001
|
|||||||
When changing the number of newfiles groups, the newfiles
|
When changing the number of newfiles groups, the newfiles
|
||||||
reports database is converted on the fly.
|
reports database is converted on the fly.
|
||||||
All path variables now have a length of PATH_MAX.
|
All path variables now have a length of PATH_MAX.
|
||||||
|
When mbsetup is started, all databases not present are created
|
||||||
|
and when needed filled with default records.
|
||||||
|
There is now one possible commandline parameter: init. This
|
||||||
|
should be used only once (but doesn't hurt if run more then
|
||||||
|
once) on a new installation.
|
||||||
|
A check is build in that mbsetup is started by user mbse.
|
||||||
|
|
||||||
mbcico:
|
mbcico:
|
||||||
Renamed sendfile function in zmsend.c to sendzfile to prevent a
|
Renamed sendfile function in zmsend.c to sendzfile to prevent a
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
*
|
*
|
||||||
* File ..................: mbsetup.c
|
* File ..................: mbsetup.c
|
||||||
* Purpose ...............: Setup Program
|
* Purpose ...............: Setup Program
|
||||||
* Last modification date : 19-Oct-2001
|
* Last modification date : 25-Oct-2001
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2001
|
* Copyright (C) 1997-2001
|
||||||
*
|
*
|
||||||
* Michiel Broek FIDO: 2:280/2801
|
* Michiel Broek FIDO: 2:280/2802
|
||||||
* Beekmansbos 10
|
* Beekmansbos 10
|
||||||
* 1971 BV IJmuiden
|
* 1971 BV IJmuiden
|
||||||
* the Netherlands
|
* the Netherlands
|
||||||
@ -71,6 +71,7 @@
|
|||||||
mode_t oldmask; /* Old umask value */
|
mode_t oldmask; /* Old umask value */
|
||||||
extern int do_quiet; /* Suppress log to screen */
|
extern int do_quiet; /* Suppress log to screen */
|
||||||
int exp_golded = FALSE; /* Export GoldED config */
|
int exp_golded = FALSE; /* Export GoldED config */
|
||||||
|
int init = FALSE; /* Run init only */
|
||||||
|
|
||||||
|
|
||||||
static void die(int onsig)
|
static void die(int onsig)
|
||||||
@ -80,6 +81,7 @@ static void die(int onsig)
|
|||||||
int i;
|
int i;
|
||||||
|
|
||||||
signal(onsig, SIG_IGN);
|
signal(onsig, SIG_IGN);
|
||||||
|
if (!init)
|
||||||
screen_stop();
|
screen_stop();
|
||||||
|
|
||||||
exp_golded = TRUE;
|
exp_golded = TRUE;
|
||||||
@ -326,11 +328,14 @@ void site_docs(void)
|
|||||||
|
|
||||||
void initdatabases(void)
|
void initdatabases(void)
|
||||||
{
|
{
|
||||||
|
if (!init) {
|
||||||
clr_index();
|
clr_index();
|
||||||
working(1, 0, 0);
|
working(1, 0, 0);
|
||||||
set_color(WHITE, BLACK);
|
set_color(WHITE, BLACK);
|
||||||
mvprintw( 5, 6, " INIT DATABASES");
|
mvprintw( 5, 6, " INIT DATABASES");
|
||||||
IsDoing("Init Databases");
|
IsDoing("Init Databases");
|
||||||
|
}
|
||||||
|
|
||||||
config_read();
|
config_read();
|
||||||
|
|
||||||
InitArchive();
|
InitArchive();
|
||||||
@ -357,9 +362,11 @@ void initdatabases(void)
|
|||||||
InitUsers();
|
InitUsers();
|
||||||
InitVirus();
|
InitVirus();
|
||||||
|
|
||||||
|
if (!init) {
|
||||||
working(0, 0, 0);
|
working(0, 0, 0);
|
||||||
clr_index();
|
clr_index();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -375,7 +382,15 @@ int main(int argc, char *argv[])
|
|||||||
/*
|
/*
|
||||||
* Find out who is on the keyboard or automated the keyboard.
|
* Find out who is on the keyboard or automated the keyboard.
|
||||||
*/
|
*/
|
||||||
pw = getpwuid(getuid());
|
pw = getpwuid(geteuid());
|
||||||
|
if (strcmp(pw->pw_name, (char *)"mbse")) {
|
||||||
|
printf("ERROR: only user \"mbse\" may use this program\n");
|
||||||
|
#ifdef MEMWATCH
|
||||||
|
mwExit();
|
||||||
|
#endif
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
InitClient(pw->pw_name, (char *)"mbsetup", (char *)"nowhere", (char *)"mbsetup.log", 0x1f, (char *)"error.log");
|
InitClient(pw->pw_name, (char *)"mbsetup", (char *)"nowhere", (char *)"mbsetup.log", 0x1f, (char *)"error.log");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -395,12 +410,19 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
oldmask = umask(002);
|
oldmask = umask(002);
|
||||||
|
|
||||||
|
if ((argc == 2) && (strncmp(tl(argv[1]), "i", 1) == 0))
|
||||||
|
init = TRUE;
|
||||||
|
else
|
||||||
screen_start((char *)"MBsetup");
|
screen_start((char *)"MBsetup");
|
||||||
|
|
||||||
do_quiet = TRUE;
|
do_quiet = TRUE;
|
||||||
Syslog(' ', " ");
|
Syslog(' ', " ");
|
||||||
Syslog(' ', "MBSETUP v%s started by %s", VERSION, pw->pw_name);
|
Syslog(' ', "MBSETUP v%s started by %s", VERSION, pw->pw_name);
|
||||||
|
if (init)
|
||||||
|
Syslog('+', "Cmd: mbsetup init");
|
||||||
initdatabases();
|
initdatabases();
|
||||||
|
|
||||||
|
if (!init) {
|
||||||
do {
|
do {
|
||||||
IsDoing("Browsing Menu");
|
IsDoing("Browsing Menu");
|
||||||
clr_index();
|
clr_index();
|
||||||
@ -494,6 +516,7 @@ int main(int argc, char *argv[])
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} while (loop == 1);
|
} while (loop == 1);
|
||||||
|
}
|
||||||
|
|
||||||
die(0);
|
die(0);
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
*
|
*
|
||||||
* File ..................: screen.c
|
* File ..................: screen.c
|
||||||
* Purpose ...............: Screen functions for setup.
|
* Purpose ...............: Screen functions for setup.
|
||||||
* Last modification date : 08-Oct-2000
|
* Last modification date : 25-Oct-2000
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
* Copyright (C) 1997-2000
|
* Copyright (C) 1997-2000
|
||||||
@ -36,6 +36,8 @@
|
|||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
|
|
||||||
|
|
||||||
|
extern int init;
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
*
|
*
|
||||||
@ -173,6 +175,9 @@ void working(int txno, int y, int x)
|
|||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (init)
|
||||||
|
return;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If txno not 0 there will be something written. The
|
* If txno not 0 there will be something written. The
|
||||||
* reversed attributes for mono, or white on red for
|
* reversed attributes for mono, or white on red for
|
||||||
|
Reference in New Issue
Block a user