import policy
This commit is contained in:
30
src/main.rs
30
src/main.rs
@@ -1,7 +1,7 @@
|
||||
use clap::{Args,Parser,Subcommand};
|
||||
use futures::{StreamExt,TryStreamExt};
|
||||
use rand::seq::SliceRandom;
|
||||
use submissions_api::types::{ScriptResponse,ScriptPolicyResponse};
|
||||
use submissions_api::types::{Policy,ScriptResponse,ScriptPolicyResponse};
|
||||
use std::io::Write;
|
||||
use std::path::PathBuf;
|
||||
|
||||
@@ -134,7 +134,7 @@ async fn review(config:ReviewConfig)->Result<(),ReviewError>{
|
||||
Limit:100,
|
||||
FromScriptHash:None,
|
||||
ToScriptID:None,
|
||||
Policy:Some(submissions_api::types::Policy::None),
|
||||
Policy:Some(Policy::None),
|
||||
}).await.map_err(ReviewError::GetPolicies)?;
|
||||
|
||||
let unreviewed_policy_count=unreviewed_policies.len();
|
||||
@@ -186,7 +186,7 @@ async fn review(config:ReviewConfig)->Result<(),ReviewError>{
|
||||
//if current.lua was updated, create an allowed and replace file and set script_action to replace(new_id)
|
||||
let modified_source=tokio::fs::read_to_string("current.lua").await.map_err(ReviewError::ReadCurrent)?;
|
||||
if modified_source==source{
|
||||
submissions_api::types::Policy::Allowed
|
||||
Policy::Allowed
|
||||
}else{
|
||||
// compute hash
|
||||
let hash=hash_source(modified_source.as_str());
|
||||
@@ -213,7 +213,7 @@ async fn review(config:ReviewConfig)->Result<(),ReviewError>{
|
||||
api.create_script_policy(submissions_api::types::CreateScriptPolicyRequest{
|
||||
FromScriptID:new_script.ScriptID,
|
||||
ToScriptID:new_script.ScriptID,
|
||||
Policy:submissions_api::types::Policy::Allowed,
|
||||
Policy:Policy::Allowed,
|
||||
}).await.map_err(ReviewError::UploadModifiedPolicy)?;
|
||||
|
||||
new_script.ScriptID
|
||||
@@ -221,12 +221,12 @@ async fn review(config:ReviewConfig)->Result<(),ReviewError>{
|
||||
});
|
||||
|
||||
// use replace policy
|
||||
submissions_api::types::Policy::Replace
|
||||
Policy::Replace
|
||||
}
|
||||
},
|
||||
ScriptActionParseResult::Block=>submissions_api::types::Policy::Blocked,
|
||||
ScriptActionParseResult::Block=>Policy::Blocked,
|
||||
ScriptActionParseResult::Exit=>break,
|
||||
ScriptActionParseResult::Delete=>submissions_api::types::Policy::Delete,
|
||||
ScriptActionParseResult::Delete=>Policy::Delete,
|
||||
ScriptActionParseResult::Skip=>continue,
|
||||
};
|
||||
|
||||
@@ -437,7 +437,7 @@ async fn upload_scripts(config:UploadConfig)->Result<(),ScriptUploadError>{
|
||||
submissions_api::types::CreateScriptPolicyRequest{
|
||||
FromScriptID:script_ids[source.as_str()],
|
||||
ToScriptID:script_ids[allowed_map[id].as_str()],
|
||||
Policy:submissions_api::types::Policy::Replace,
|
||||
Policy:Policy::Replace,
|
||||
}
|
||||
).await.map_err(ScriptUploadError::GetOrCreatePolicyReplace)
|
||||
});
|
||||
@@ -451,7 +451,7 @@ async fn upload_scripts(config:UploadConfig)->Result<(),ScriptUploadError>{
|
||||
submissions_api::types::CreateScriptPolicyRequest{
|
||||
FromScriptID:script_ids[source.as_str()],
|
||||
ToScriptID:script_ids[source.as_str()],
|
||||
Policy:submissions_api::types::Policy::Allowed,
|
||||
Policy:Policy::Allowed,
|
||||
}
|
||||
).await.map_err(ScriptUploadError::GetOrCreatePolicyAllowed)
|
||||
});
|
||||
@@ -465,7 +465,7 @@ async fn upload_scripts(config:UploadConfig)->Result<(),ScriptUploadError>{
|
||||
submissions_api::types::CreateScriptPolicyRequest{
|
||||
FromScriptID:script_ids[source.as_str()],
|
||||
ToScriptID:script_ids[source.as_str()],
|
||||
Policy:submissions_api::types::Policy::Blocked,
|
||||
Policy:Policy::Blocked,
|
||||
}
|
||||
).await.map_err(ScriptUploadError::GetOrCreatePolicyBlocked)
|
||||
});
|
||||
@@ -533,7 +533,7 @@ async fn download_policies(api:&submissions_api::external::Context)->Result<Vec<
|
||||
Limit:LIMIT,
|
||||
FromScriptHash:None,
|
||||
ToScriptID:None,
|
||||
Policy:Some(submissions_api::types::Policy::Replace),
|
||||
Policy:Some(Policy::Replace),
|
||||
}).await.map_err(RepairError::GetPolicies)?;
|
||||
|
||||
let done=new_policies.len()<LIMIT as usize;
|
||||
@@ -616,7 +616,7 @@ async fn repair(config:RepairConfig)->Result<(),RepairError>{
|
||||
ID:policy.ID,
|
||||
FromScriptID:None,
|
||||
ToScriptID:None,
|
||||
Policy:Some(submissions_api::types::Policy::None),
|
||||
Policy:Some(Policy::None),
|
||||
});
|
||||
}else{
|
||||
// if not unique
|
||||
@@ -646,16 +646,16 @@ async fn repair(config:RepairConfig)->Result<(),RepairError>{
|
||||
let mut create_allow_policy=Vec::new();
|
||||
for (policy,to_script) in check_policy_exists{
|
||||
if let Some(&allow_policy)=policy_from_hash.get(to_script.Hash.as_str()){
|
||||
if allow_policy.Policy!=submissions_api::types::Policy::Allowed{
|
||||
if allow_policy.Policy!=Policy::Allowed{
|
||||
println!("Policy {:?} ToScript {:?} Policy {:?} was expected to be Allowed, but was {:?}!",policy.ID,to_script.ID,allow_policy.ID,allow_policy.Policy);
|
||||
}
|
||||
}else{
|
||||
if policy.Policy==submissions_api::types::Policy::Replace{
|
||||
if policy.Policy==Policy::Replace{
|
||||
println!("Policy {:?} ToScript {:?} has no Allowed policy!",policy.ID,to_script.ID);
|
||||
create_allow_policy.push(submissions_api::types::CreateScriptPolicyRequest{
|
||||
FromScriptID:to_script.ID,
|
||||
ToScriptID:to_script.ID,
|
||||
Policy:submissions_api::types::Policy::Allowed,
|
||||
Policy:Policy::Allowed,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user