Structure updates, TODO updates
This commit is contained in:
parent
8f1f76998c
commit
2415c735c7
4
TODO
4
TODO
@ -52,8 +52,6 @@ mbfido:
|
|||||||
N: Remove memory leak during toss. (It's ok for less 5000 messages for
|
N: Remove memory leak during toss. (It's ok for less 5000 messages for
|
||||||
each run).
|
each run).
|
||||||
|
|
||||||
N: Make a workaround for the fileecho name in the filesdatabase.
|
|
||||||
|
|
||||||
N: Implement long filename support from .tic files.
|
N: Implement long filename support from .tic files.
|
||||||
|
|
||||||
N: When a news article is received from a mailinglist there is a valid
|
N: When a news article is received from a mailinglist there is a valid
|
||||||
@ -82,8 +80,6 @@ mbcico:
|
|||||||
mbfile:
|
mbfile:
|
||||||
N: Add a check to see if the magic filenames are valid.
|
N: Add a check to see if the magic filenames are valid.
|
||||||
|
|
||||||
N: Export to files.bbs
|
|
||||||
|
|
||||||
N: Update <filespec> <area> <-touch>
|
N: Update <filespec> <area> <-touch>
|
||||||
|
|
||||||
N: Rearc <area>
|
N: Rearc <area>
|
||||||
|
@ -208,15 +208,6 @@ typedef struct _dual {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Downloaded FTP files (~/var/download.ftp)
|
|
||||||
*/
|
|
||||||
typedef struct _downftp {
|
|
||||||
unsigned long Areanr;
|
|
||||||
char Name[13];
|
|
||||||
} downftp;
|
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
*
|
*
|
||||||
* Datafile records structure in $MBSE_ROOT/etc
|
* Datafile records structure in $MBSE_ROOT/etc
|
||||||
@ -304,7 +295,7 @@ struct userhdr {
|
|||||||
struct userrec {
|
struct userrec {
|
||||||
char sUserName[36]; /* User First and Last Name */
|
char sUserName[36]; /* User First and Last Name */
|
||||||
char Name[9]; /* Unix name */
|
char Name[9]; /* Unix name */
|
||||||
unsigned long iPassword; /* Users Password (CRC) */
|
unsigned long xPassword; /* Users Password (CRC) */
|
||||||
char sVoicePhone[20]; /* Voice Number */
|
char sVoicePhone[20]; /* Voice Number */
|
||||||
char sDataPhone[20]; /* Data/Business Number */
|
char sDataPhone[20]; /* Data/Business Number */
|
||||||
char sLocation[28]; /* Users Location */
|
char sLocation[28]; /* Users Location */
|
||||||
@ -372,7 +363,7 @@ struct userrec {
|
|||||||
unsigned ieFILE : 1; /* Check for new files */
|
unsigned ieFILE : 1; /* Check for new files */
|
||||||
unsigned Email : 1; /* Has private email box */
|
unsigned Email : 1; /* Has private email box */
|
||||||
unsigned FSemacs : 1; /* FSedit uses emacs keys */
|
unsigned FSemacs : 1; /* FSedit uses emacs keys */
|
||||||
char Password[15]; /* Plain password */
|
char Password[Max_passlen+1];/* Plain password */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -386,7 +377,7 @@ struct sysrec {
|
|||||||
unsigned long ISDN; /* ISDN calls */
|
unsigned long ISDN; /* ISDN calls */
|
||||||
unsigned long Network; /* Network (internet) calls*/
|
unsigned long Network; /* Network (internet) calls*/
|
||||||
unsigned long Local; /* Local calls */
|
unsigned long Local; /* Local calls */
|
||||||
unsigned long ADSL; /* ADSL calls */
|
unsigned long xADSL; /* */
|
||||||
time_t StartDate; /* Start Date of BBS */
|
time_t StartDate; /* Start Date of BBS */
|
||||||
char LastCaller[37]; /* Last Caller to BBS */
|
char LastCaller[37]; /* Last Caller to BBS */
|
||||||
time_t LastTime; /* Time of last caller */
|
time_t LastTime; /* Time of last caller */
|
||||||
@ -431,7 +422,7 @@ struct oneline {
|
|||||||
char Oneline[81]; /* Oneliner text */
|
char Oneline[81]; /* Oneliner text */
|
||||||
char UserName[36]; /* User who wrote oneliner */
|
char UserName[36]; /* User who wrote oneliner */
|
||||||
char DateOfEntry[12]; /* Date of oneliner entry */
|
char DateOfEntry[12]; /* Date of oneliner entry */
|
||||||
unsigned Available : 1; /* Deleted Status */
|
unsigned Available : 1; /* Available Status */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -902,6 +893,7 @@ struct menufile {
|
|||||||
unsigned Y2Kdoorsys : 1; /* Write Y2K style door.sys */
|
unsigned Y2Kdoorsys : 1; /* Write Y2K style door.sys */
|
||||||
unsigned Comport : 1; /* Vmodem compart mode */
|
unsigned Comport : 1; /* Vmodem compart mode */
|
||||||
unsigned NoSuid : 1; /* Execute door nosuid */
|
unsigned NoSuid : 1; /* Execute door nosuid */
|
||||||
|
unsigned NoPrompt : 1; /* No prompt after door */
|
||||||
long Credit; /* Credit needed */
|
long Credit; /* Credit needed */
|
||||||
int HiForeGnd; /* High ForeGround color */
|
int HiForeGnd; /* High ForeGround color */
|
||||||
int HiBackGnd; /* High ForeGround color */
|
int HiBackGnd; /* High ForeGround color */
|
||||||
@ -938,7 +930,8 @@ struct msgareas {
|
|||||||
char Base[65]; /* JAM base */
|
char Base[65]; /* JAM base */
|
||||||
char QWKname[21]; /* QWK area name */
|
char QWKname[21]; /* QWK area name */
|
||||||
int Type; /* Msg Area Types */
|
int Type; /* Msg Area Types */
|
||||||
/* Local, Net, Echo, New, E */
|
/* Local, Net, Echo, News, */
|
||||||
|
/* Listserv */
|
||||||
int MsgKinds; /* Type of Messages */
|
int MsgKinds; /* Type of Messages */
|
||||||
/* Public,Private,ReadOnly */
|
/* Public,Private,ReadOnly */
|
||||||
int DaysOld; /* Days to keep messages */
|
int DaysOld; /* Days to keep messages */
|
||||||
@ -972,9 +965,9 @@ struct msgareas {
|
|||||||
statcnt Posted; /* Posted messages */
|
statcnt Posted; /* Posted messages */
|
||||||
time_t LastRcvd; /* Last time msg received */
|
time_t LastRcvd; /* Last time msg received */
|
||||||
time_t LastPosted; /* Last time msg posted */
|
time_t LastPosted; /* Last time msg posted */
|
||||||
char Newsgroup[81]; /* Newsgroup name */
|
char Newsgroup[81]; /* Newsgroup/Mailinglist */
|
||||||
char Distribution[17]; /* Ng distribution */
|
char Distribution[17]; /* Ng distribution */
|
||||||
char Moderator[65]; /* Moderator */
|
char Moderator[65]; /* Moderator/Email-address */
|
||||||
int Rfccode; /* RFC characterset */
|
int Rfccode; /* RFC characterset */
|
||||||
int Ftncode; /* FTN characterset */
|
int Ftncode; /* FTN characterset */
|
||||||
};
|
};
|
||||||
@ -1275,7 +1268,7 @@ struct _nodes {
|
|||||||
unsigned PackNetmail : 1; /* Pack netmail */
|
unsigned PackNetmail : 1; /* Pack netmail */
|
||||||
unsigned ARCmailCompat : 1; /* ARCmail Compatibility */
|
unsigned ARCmailCompat : 1; /* ARCmail Compatibility */
|
||||||
unsigned ARCmailAlpha : 1; /* Allow a..z ARCmail name */
|
unsigned ARCmailAlpha : 1; /* Allow a..z ARCmail name */
|
||||||
unsigned FNC : 1; /* FileName Conversion */
|
unsigned xFNC : 1; /* FileName Conversion */
|
||||||
|
|
||||||
char xExtra[94];
|
char xExtra[94];
|
||||||
time_t StartDate; /* Node start date */
|
time_t StartDate; /* Node start date */
|
||||||
@ -1524,7 +1517,7 @@ struct _filerecord {
|
|||||||
/*
|
/*
|
||||||
* Mailer history file (mailhist.data)
|
* Mailer history file (mailhist.data)
|
||||||
* The first record conatains only the date (online) from which date this
|
* The first record conatains only the date (online) from which date this
|
||||||
* file is valid. The offline date is teh date this file is created or
|
* file is valid. The offline date is the date this file is created or
|
||||||
* packed. From the second record and on the records are valid data records.
|
* packed. From the second record and on the records are valid data records.
|
||||||
*/
|
*/
|
||||||
struct _history {
|
struct _history {
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
*
|
*
|
||||||
* File ....................: mbcico/binkp.c
|
* $Id$
|
||||||
* Purpose .................: Fidonet binkd protocol
|
* Purpose .................: Fidonet binkd protocol
|
||||||
* Last modification date ..: 17-Oct-2001
|
|
||||||
* Binkp protocol copyright : Dima Maloff.
|
* Binkp protocol copyright : Dima Maloff.
|
||||||
*
|
*
|
||||||
*****************************************************************************
|
*****************************************************************************
|
||||||
@ -126,15 +125,7 @@ int binkp(int role)
|
|||||||
}
|
}
|
||||||
|
|
||||||
eff_remote = remote;
|
eff_remote = remote;
|
||||||
|
|
||||||
/*
|
|
||||||
* Some systems hang on sending lowercase filenames, setting
|
|
||||||
* FNC forces old 8.3 uppercase filenames.
|
|
||||||
*/
|
|
||||||
if (!nodes.FNC)
|
|
||||||
remote_flags &= ~SESSION_FNC;
|
|
||||||
tosend = create_filelist(eff_remote, nonhold_mail, 0);
|
tosend = create_filelist(eff_remote, nonhold_mail, 0);
|
||||||
|
|
||||||
request = create_freqlist(remote);
|
request = create_freqlist(remote);
|
||||||
|
|
||||||
if (request != NULL) {
|
if (request != NULL) {
|
||||||
|
@ -67,7 +67,7 @@ int Add_BBS()
|
|||||||
name_mangle(temp1);
|
name_mangle(temp1);
|
||||||
strcpy(frec.Name, temp1);
|
strcpy(frec.Name, temp1);
|
||||||
strcpy(frec.LName, TIC.NewName);
|
strcpy(frec.LName, TIC.NewName);
|
||||||
// strcpy(frec.TicArea, TIC.TicIn.Area); /* TIJDELIJK IVM VELDLENGTE */
|
frec.TicAreaCRC = StringCRC32(TIC.TicIn.Area);
|
||||||
frec.Size = TIC.FileSize;
|
frec.Size = TIC.FileSize;
|
||||||
frec.Crc32 = TIC.Crc_Int;
|
frec.Crc32 = TIC.Crc_Int;
|
||||||
frec.Announced = TRUE;
|
frec.Announced = TRUE;
|
||||||
|
@ -144,7 +144,6 @@ int Chg_Language(int NewMode)
|
|||||||
|
|
||||||
void Chg_Password()
|
void Chg_Password()
|
||||||
{
|
{
|
||||||
unsigned long crc, crctmp;
|
|
||||||
char *temp1, *temp2;
|
char *temp1, *temp2;
|
||||||
|
|
||||||
temp1 = calloc(PATH_MAX, sizeof(char));
|
temp1 = calloc(PATH_MAX, sizeof(char));
|
||||||
@ -159,9 +158,8 @@ void Chg_Password()
|
|||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
colour(CFG.InputColourF, CFG.InputColourB);
|
colour(CFG.InputColourF, CFG.InputColourB);
|
||||||
Getpass(temp1);
|
Getpass(temp1);
|
||||||
crctmp = StringCRC32(tu(temp1));
|
|
||||||
|
|
||||||
if (exitinfo.iPassword == crctmp) {
|
if (!strcmp(exitinfo.Password, temp1)) {
|
||||||
while (TRUE) {
|
while (TRUE) {
|
||||||
Enter(1);
|
Enter(1);
|
||||||
/* New password: */
|
/* New password: */
|
||||||
@ -184,7 +182,6 @@ void Chg_Password()
|
|||||||
} else {
|
} else {
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
fflush(stdin);
|
fflush(stdin);
|
||||||
crc = StringCRC32(tu(temp1));
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -199,9 +196,8 @@ void Chg_Password()
|
|||||||
if (system(temp1) != 0) {
|
if (system(temp1) != 0) {
|
||||||
WriteError("Failed to set new Unix password");
|
WriteError("Failed to set new Unix password");
|
||||||
} else {
|
} else {
|
||||||
exitinfo.iPassword = crc;
|
|
||||||
memset(&exitinfo.Password, 0, sizeof(exitinfo.Password));
|
memset(&exitinfo.Password, 0, sizeof(exitinfo.Password));
|
||||||
sprintf(exitinfo.Password, "%s", temp2);
|
strcpy(exitinfo.Password, temp2);
|
||||||
exitinfo.tLastPwdChange = time(NULL);
|
exitinfo.tLastPwdChange = time(NULL);
|
||||||
Enter(1);
|
Enter(1);
|
||||||
/* Password Change Successful */
|
/* Password Change Successful */
|
||||||
|
@ -183,7 +183,6 @@ int newuser()
|
|||||||
|
|
||||||
memset(&usrconfig.Password, 0, sizeof(usrconfig.Password));
|
memset(&usrconfig.Password, 0, sizeof(usrconfig.Password));
|
||||||
sprintf(usrconfig.Password, "%s", temp2);
|
sprintf(usrconfig.Password, "%s", temp2);
|
||||||
usrconfig.iPassword = crc;
|
|
||||||
alarm_on();
|
alarm_on();
|
||||||
sprintf(UnixName, "%s", (char *) NameCreate(NameGen(FullName), FullName, temp2));
|
sprintf(UnixName, "%s", (char *) NameCreate(NameGen(FullName), FullName, temp2));
|
||||||
|
|
||||||
|
@ -626,16 +626,15 @@ void NScreen(void)
|
|||||||
mvprintw(18,31, "18. Statistics");
|
mvprintw(18,31, "18. Statistics");
|
||||||
mvprintw(19,31, "19. No EMSI");
|
mvprintw(19,31, "19. No EMSI");
|
||||||
|
|
||||||
mvprintw(10,51, "20. No YooHoo/2U2");
|
mvprintw(11,51, "20. No YooHoo/2U2");
|
||||||
mvprintw(11,51, "21. No Filerequest");
|
mvprintw(12,51, "21. No Filerequest");
|
||||||
mvprintw(12,51, "22. Don't call");
|
mvprintw(13,51, "22. Don't call");
|
||||||
mvprintw(13,51, "23. No Hold mail");
|
mvprintw(14,51, "23. No Hold mail");
|
||||||
mvprintw(14,51, "24. Pickup primary");
|
mvprintw(15,51, "24. Pickup primary");
|
||||||
mvprintw(15,51, "25. No Zmodem");
|
mvprintw(16,51, "25. No Zmodem");
|
||||||
mvprintw(16,51, "26. No Zedzap");
|
mvprintw(17,51, "26. No Zedzap");
|
||||||
mvprintw(17,51, "27. No Hydra");
|
mvprintw(18,51, "27. No Hydra");
|
||||||
mvprintw(18,51, "28. No TCP/IP");
|
mvprintw(19,51, "28. No TCP/IP");
|
||||||
mvprintw(19,51, "29. Force FNC");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -756,18 +755,17 @@ int EditNodeRec(int Area)
|
|||||||
show_str(18,21,1, temp1);
|
show_str(18,21,1, temp1);
|
||||||
show_bool(19,21, nodes.Deleted);
|
show_bool(19,21, nodes.Deleted);
|
||||||
show_bool(19,47, nodes.NoEMSI);
|
show_bool(19,47, nodes.NoEMSI);
|
||||||
show_bool(10,70, nodes.NoWaZOO);
|
show_bool(11,70, nodes.NoWaZOO);
|
||||||
show_bool(11,70, nodes.NoFreqs);
|
show_bool(12,70, nodes.NoFreqs);
|
||||||
show_bool(12,70, nodes.NoCall);
|
show_bool(13,70, nodes.NoCall);
|
||||||
show_bool(13,70, nodes.NoHold);
|
show_bool(14,70, nodes.NoHold);
|
||||||
show_bool(14,70, nodes.NoPUA);
|
show_bool(15,70, nodes.NoPUA);
|
||||||
show_bool(15,70, nodes.NoZmodem);
|
show_bool(16,70, nodes.NoZmodem);
|
||||||
show_bool(16,70, nodes.NoZedzap);
|
show_bool(17,70, nodes.NoZedzap);
|
||||||
show_bool(17,70, nodes.NoHydra);
|
show_bool(18,70, nodes.NoHydra);
|
||||||
show_bool(18,70, nodes.NoTCP);
|
show_bool(19,70, nodes.NoTCP);
|
||||||
show_bool(19,70, nodes.FNC);
|
|
||||||
|
|
||||||
switch(select_menu(29)) {
|
switch(select_menu(28)) {
|
||||||
case 0: crc1 = 0xffffffff;
|
case 0: crc1 = 0xffffffff;
|
||||||
crc1 = upd_crc32((char *)&nodes, crc1, nodeshdr.recsize);
|
crc1 = upd_crc32((char *)&nodes, crc1, nodeshdr.recsize);
|
||||||
if ((crc != crc1) || GrpChanged) {
|
if ((crc != crc1) || GrpChanged) {
|
||||||
@ -867,16 +865,15 @@ int EditNodeRec(int Area)
|
|||||||
NScreen(); break;
|
NScreen(); break;
|
||||||
case 18:S_Stat(); NScreen(); break;
|
case 18:S_Stat(); NScreen(); break;
|
||||||
case 19:E_BOOL(19,47, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node")
|
case 19:E_BOOL(19,47, nodes.NoEMSI, "Disable ^EMSI handshake^ with this node")
|
||||||
case 20:E_BOOL(10,70, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node")
|
case 20:E_BOOL(11,70, nodes.NoWaZOO, "Disable ^YooHoo/2U2 handshake^ (FTSC-0006) with this node")
|
||||||
case 21:E_BOOL(11,70, nodes.NoFreqs, "Disallow ^file requests^ from this node")
|
case 21:E_BOOL(12,70, nodes.NoFreqs, "Disallow ^file requests^ from this node")
|
||||||
case 22:E_BOOL(12,70, nodes.NoCall, "Don't ^call^ this node")
|
case 22:E_BOOL(13,70, nodes.NoCall, "Don't ^call^ this node")
|
||||||
case 23:E_BOOL(13,70, nodes.NoHold, "Don't ^hold hold-mail^ when we call (no = only pickup)")
|
case 23:E_BOOL(14,70, nodes.NoHold, "Don't ^hold hold-mail^ when we call (no = only pickup)")
|
||||||
case 24:E_BOOL(14,70, nodes.NoPUA, "Only pickup mail from the ^primary^ address")
|
case 24:E_BOOL(15,70, nodes.NoPUA, "Only pickup mail from the ^primary^ address")
|
||||||
case 25:E_BOOL(15,70, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node")
|
case 25:E_BOOL(16,70, nodes.NoZmodem, "Disable ^Zmodem^ protocol with this node")
|
||||||
case 26:E_BOOL(16,70, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
|
case 26:E_BOOL(17,70, nodes.NoZedzap, "Disable ^Zedzap^ protocol with this node")
|
||||||
case 27:E_BOOL(17,70, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
|
case 27:E_BOOL(18,70, nodes.NoHydra, "Disable ^Hydra^ protocol with this node")
|
||||||
case 28:E_BOOL(18,70, nodes.NoTCP, "Disable ^TCP/IP^ protocol whith this node")
|
case 28:E_BOOL(19,70, nodes.NoTCP, "Disable ^TCP/IP^ protocol whith this node")
|
||||||
case 29:E_BOOL(19,70, nodes.FNC, "Force ^FileName Conversion^ during binkp sessions");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1178,8 +1175,7 @@ int node_doc(FILE *fp, FILE *toc, int page)
|
|||||||
fprintf(fp, " No Zedzap %s\n", getboolean(nodes.NoZedzap));
|
fprintf(fp, " No Zedzap %s\n", getboolean(nodes.NoZedzap));
|
||||||
fprintf(fp, " No Hydra %s", getboolean(nodes.NoHydra));
|
fprintf(fp, " No Hydra %s", getboolean(nodes.NoHydra));
|
||||||
fprintf(fp, " No TCP/IP %s", getboolean(nodes.NoTCP));
|
fprintf(fp, " No TCP/IP %s", getboolean(nodes.NoTCP));
|
||||||
fprintf(fp, " Force FNC %s\n", getboolean(nodes.FNC));
|
fprintf(fp, " Pack Netmail %s\n", getboolean(nodes.PackNetmail));
|
||||||
fprintf(fp, " Pack Netmail %s", getboolean(nodes.PackNetmail));
|
|
||||||
fprintf(fp, " ARCmail comp. %s", getboolean(nodes.ARCmailCompat));
|
fprintf(fp, " ARCmail comp. %s", getboolean(nodes.ARCmailCompat));
|
||||||
fprintf(fp, " ACRmail a..z %s\n\n", getboolean(nodes.ARCmailAlpha));
|
fprintf(fp, " ACRmail a..z %s\n\n", getboolean(nodes.ARCmailAlpha));
|
||||||
|
|
||||||
|
@ -311,10 +311,6 @@ void Fields2(void)
|
|||||||
show_str(11,17,19, usrconfig.sVoicePhone);
|
show_str(11,17,19, usrconfig.sVoicePhone);
|
||||||
show_str(12,17,19, usrconfig.sDataPhone);
|
show_str(12,17,19, usrconfig.sDataPhone);
|
||||||
show_str(13,17,10, usrconfig.sDateOfBirth);
|
show_str(13,17,10, usrconfig.sDateOfBirth);
|
||||||
|
|
||||||
if (usrconfig.iPassword == 0)
|
|
||||||
show_str(14,17,12, (char *)"Invalid");
|
|
||||||
else
|
|
||||||
show_str(14,17,12, (char *)"********");
|
show_str(14,17,12, (char *)"********");
|
||||||
show_str( 15,17, 7,usrconfig.sSex);
|
show_str( 15,17, 7,usrconfig.sSex);
|
||||||
show_str( 16,17,12,usrconfig.sProtocol);
|
show_str( 16,17,12,usrconfig.sProtocol);
|
||||||
@ -366,7 +362,6 @@ int EditUsrRec2(void)
|
|||||||
working(1,0,0);
|
working(1,0,0);
|
||||||
memset(&usrconfig.Password, 0, sizeof(usrconfig.Password));
|
memset(&usrconfig.Password, 0, sizeof(usrconfig.Password));
|
||||||
strcpy(usrconfig.Password, temp);
|
strcpy(usrconfig.Password, temp);
|
||||||
usrconfig.iPassword = StringCRC32(tu(temp));
|
|
||||||
usrconfig.tLastPwdChange = time(NULL);
|
usrconfig.tLastPwdChange = time(NULL);
|
||||||
Syslog('+', "%s/bin/mbpasswd -n %s ******", getenv("MBSE_ROOT"), usrconfig.Name);
|
Syslog('+', "%s/bin/mbpasswd -n %s ******", getenv("MBSE_ROOT"), usrconfig.Name);
|
||||||
sprintf(temp, "%s/bin/mbpasswd -n %s %s", getenv("MBSE_ROOT"), usrconfig.Name, usrconfig.Password);
|
sprintf(temp, "%s/bin/mbpasswd -n %s %s", getenv("MBSE_ROOT"), usrconfig.Name, usrconfig.Password);
|
||||||
|
Reference in New Issue
Block a user