add suport env variable
This commit is contained in:
parent
c85cb24277
commit
8a50e7c476
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE QtCreatorProject>
|
||||
<!-- Written by QtCreator 4.8.2, 2020-06-01T12:35:56. -->
|
||||
<!-- Written by QtCreator 4.8.2, 2020-06-02T15:21:19. -->
|
||||
<qtcreator>
|
||||
<data>
|
||||
<variable>EnvironmentId</variable>
|
||||
|
@ -20,7 +20,6 @@ bool session_manager::validate_pass(){
|
||||
std::string user=buffer;
|
||||
this->read_data(buffer, 256);
|
||||
std::string pass=std::string(data_acces::get_hash(buffer));
|
||||
delete[] (buffer);
|
||||
if(this->data->get_passwd(user)==pass){
|
||||
this->write_data("pass");
|
||||
if(this->data->get_admin(user)){
|
||||
@ -30,7 +29,15 @@ bool session_manager::validate_pass(){
|
||||
this->write_data("norma");
|
||||
this->admin=false;
|
||||
}
|
||||
this->read_data(buffer, 256);
|
||||
std::string env=std::string(buffer);
|
||||
if(env=="no"){
|
||||
this->env="";
|
||||
}else{
|
||||
this->env=env+"-";
|
||||
}
|
||||
this->user=user;
|
||||
delete[] (buffer);
|
||||
return true;
|
||||
}else{
|
||||
this->write_data("fail");
|
||||
@ -103,12 +110,13 @@ int session_manager::remove(){
|
||||
}
|
||||
|
||||
std::string session_manager::appli_command(char comand[], char* n_package){
|
||||
char** args=new char*[5];
|
||||
char** args=new char*[6];
|
||||
args[0]="sudo";
|
||||
args[1]="emerge";
|
||||
args[2]=comand;
|
||||
args[3]=n_package;
|
||||
args[4]=nullptr;
|
||||
args[1]=strcat(&this->env[0],"emerge");
|
||||
args[2]="--buildpkg";
|
||||
args[3]=comand;
|
||||
args[4]=n_package;
|
||||
args[5]=nullptr;
|
||||
int pid = fork();
|
||||
int status=-2;
|
||||
std::string ret;
|
||||
|
@ -79,26 +79,11 @@ public:
|
||||
* @return Number of bytes writed
|
||||
*/
|
||||
virtual int write_data(std::string output);
|
||||
/**
|
||||
* @brief fd
|
||||
* Socket file desccriptor
|
||||
*/
|
||||
int fd;
|
||||
/**
|
||||
* @brief data
|
||||
* Object that contain media used to store and read information
|
||||
*/
|
||||
data_acces* data;
|
||||
/**
|
||||
* @brief user
|
||||
* Name of the session owner
|
||||
*/
|
||||
std::string user;
|
||||
/**
|
||||
* @brief admin
|
||||
* Privileges abut the user
|
||||
*/
|
||||
bool admin;
|
||||
std::string env;
|
||||
};
|
||||
|
||||
#endif // LAUNCHER_H
|
||||
|
Loading…
Reference in New Issue
Block a user