#include #include #include "attack_repertoire.h" #ifndef ACTIVE_ATTACK_H #define ACTIVE_ATTACK_H enum ACTIVE_ATTACK_STEP_STATE {AAS_WAIT = 0 , AAS_RUN, AAS_DONE}; //Looks like this doesn't need a lock. Well maybe it does, recheck after implementing reporting struct active_attack { char *target; struct attack_pattern *attack; size_t cur_step; enum ACTIVE_ATTACK_STEP_STATE cur_step_state; bool cur_res; }; void active_attack_init(struct active_attack *a_a, struct attack_pattern *a_p, char *target); void active_attack_cleanup(struct active_attack *a_a); void active_attack_next_step(struct active_attack *a_a); bool active_attack_done(struct active_attack *a_a); #define PENTEST_STATE_INIT_NUM_PAST_ATTACKS 8 struct past_attack { char *a_p; char *target; }; void past_attack_init(struct past_attack *p_a, char *a_p, char *target); void past_attack_cleanup(struct past_attack *p_a); #endif