add suport env variable

This commit is contained in:
2020-06-02 15:22:47 +02:00
parent c85cb24277
commit 8a50e7c476
3 changed files with 16 additions and 23 deletions

View File

@@ -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;