Select Git revision
FreeLook.hpp
-
Nils Petter Skålerud authored
Updated CMakeLists.txt to acommodate new include directories. Updated submodule DTex to newest commit. Updated submdoule DMath to newest commit. Moved plenty of headers that should be global into the include directory. Added mouse functionality to Application system, was removed when switched from SDL2 to GLFW3. Removed some responsibilities of AssetManager now that DTex is used as primary texture loader for the project. Moved all Transform functionality into SceneObject class. Added SceneObject::GetRightVector(), GetForwardVector(), GetUpVector() Updated .cpp files to use new include folder for headers. Signed-off-by:
Nils Petter Skålerud <np_skalerud@hotmail.com>
Nils Petter Skålerud authoredUpdated CMakeLists.txt to acommodate new include directories. Updated submodule DTex to newest commit. Updated submdoule DMath to newest commit. Moved plenty of headers that should be global into the include directory. Added mouse functionality to Application system, was removed when switched from SDL2 to GLFW3. Removed some responsibilities of AssetManager now that DTex is used as primary texture loader for the project. Moved all Transform functionality into SceneObject class. Added SceneObject::GetRightVector(), GetForwardVector(), GetUpVector() Updated .cpp files to use new include folder for headers. Signed-off-by:
Nils Petter Skålerud <np_skalerud@hotmail.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
struct.go 15.17 KiB
package utils
import (
"github.com/coreos/go-oidc/v3/oidc"
"golang.org/x/oauth2"
)
// HybridAnalysisUrl struct for hybrid analysis api url request
type HybridAnalysisUrl struct {
SubmissionType string `json:"submission_type"`
Id string `json:"id"`
Sha256 string `json:"sha256"`
Scanners []Scanners `json:"scanners"`
Whitelist []map[string]interface{} `json:"whitelist"`
Reports []string `json:"reports"`
Finished bool `json:"finished"`
}
// Scanners struct for the scanners in the hybrid analysis api url request
type Scanners struct {
Name string `json:"name"`
Status string `json:"status"`
ErrorMessage string `json:"error_message"`
Progress int `json:"progress"`
Total int `json:"total"`
Positives int `json:"positives"`
Percent int `json:"percent"`
AntiVirusResults []map[string]interface{} `json:"anti_virus_results"`
}
// FrontendResponse struct for the response sent to the frontend to be displayed as cards
type FrontendResponse struct {
ID int `json:"id"`
SourceName string `json:"sourceName"`
Status string `json:"status"`
Content string `json:"content"`
Description string `json:"description"`
Tags []string `json:"tags"`
}
type FrontendResponse2 struct {
ID int `json:"id"`
SourceName string `json:"sourceName"`
EN struct {
Status string `json:"status"`
Content string `json:"content"`
Description string `json:"description"`
Tags string `json:"tags"` //fjerner denne fra å være []string for now.
} `json:"en"`
NO struct {
Status string `json:"status"`
Content string `json:"content"`
Description string `json:"description"`
Tags string `json:"tags"`
} `json:"no"`
}
/*
Lionic struct {
} `json:"Lionic"`
*/
type FrontendResponse4 struct {
Category string `json:"category"`
EngineName string `json:"engine_name"`
EngineVersion string `json:"engine_version"`
Result interface{} `json:"result"`
Method string `json:"method"`
EngineUpdate string `json:"engine_update"`
}
type GoogleSafeBrowsing struct {
Matches []struct {
ThreatType string `json:"threatType"`
PlatformType string `json:"platformType"`
Threat struct {
URL string `json:"url"`
} `json:"threat"`
CacheDuration string `json:"cacheDuration"`
ThreatEntryType string `json:"threatEntryType"`
} `json:"matches"`
}
type HybridAnalysishash []struct {
JobID string `json:"job_id"`
EnvironmentID int `json:"environment_id"`
EnvironmentDescription string `json:"environment_description"`
Size int `json:"size"`
Type string `json:"type"`
TypeShort []string `json:"type_short"`
TargetURL interface{} `json:"target_url"`
State string `json:"state"`
ErrorType interface{} `json:"error_type"`
ErrorOrigin interface{} `json:"error_origin"`
SubmitName string `json:"submit_name"`
Md5 string `json:"md5"`
Sha1 string `json:"sha1"`
Sha256 string `json:"sha256"`
Sha512 string `json:"sha512"`
Ssdeep string `json:"ssdeep"`
Imphash string `json:"imphash"`
AvDetect int `json:"av_detect"`
VxFamily string `json:"vx_family"`
URLAnalysis bool `json:"url_analysis"`
AnalysisStartTime string `json:"analysis_start_time"`
ThreatScore int `json:"threat_score"`
Interesting bool `json:"interesting"`
ThreatLevel int `json:"threat_level"`
Verdict string `json:"verdict"`
Certificates []interface{} `json:"certificates"`
Domains []interface{} `json:"domains"`
ClassificationTags []string `json:"classification_tags"`
CompromisedHosts []interface{} `json:"compromised_hosts"`
Hosts []interface{} `json:"hosts"`
TotalNetworkConnections int `json:"total_network_connections"`
TotalProcesses int `json:"total_processes"`
TotalSignatures int `json:"total_signatures"`
ExtractedFiles []interface{} `json:"extracted_files"`
FileMetadata interface{} `json:"file_metadata"`
Processes []interface{} `json:"processes"`
Tags []string `json:"tags"`
MitreAttcks []struct {
Tactic string `json:"tactic"`
Technique string `json:"technique"`
AttckID string `json:"attck_id"`
AttckIDWiki string `json:"attck_id_wiki"`
MaliciousIdentifiersCount int `json:"malicious_identifiers_count"`
MaliciousIdentifiers []interface{} `json:"malicious_identifiers"`
SuspiciousIdentifiersCount int `json:"suspicious_identifiers_count"`
SuspiciousIdentifiers []interface{} `json:"suspicious_identifiers"`
InformativeIdentifiersCount int `json:"informative_identifiers_count"`
InformativeIdentifiers []interface{} `json:"informative_identifiers"`
Parent struct {
Technique string `json:"technique"`
AttckID string `json:"attck_id"`
AttckIDWiki string `json:"attck_id_wiki"`
} `json:"parent"`
} `json:"mitre_attcks"`
Submissions []struct {
SubmissionID string `json:"submission_id"`
Filename string `json:"filename"`
URL interface{} `json:"url"`
CreatedAt string `json:"created_at"`
} `json:"submissions"`
NetworkMode string `json:"network_mode"`
MachineLearningModels []interface{} `json:"machine_learning_models"`
}
type HybridAnalysisURL struct {
SubmissionType string `json:"submission_type"`
ID string `json:"id"`
Sha256 string `json:"sha256"`
Scanners []struct {
Name string `json:"name"`
Status string `json:"status"`
ErrorMessage interface{} `json:"error_message"`
Progress int `json:"progress"`
Total int `json:"total"`
Positives int `json:"positives"`
Percent int `json:"percent"`
AntiVirusResults []interface{} `json:"anti_virus_results"`
} `json:"scanners"`
Whitelist []interface{} `json:"whitelist"`
Reports []string `json:"reports"`
Finished bool `json:"finished"`
}
type AlienVaultURL struct {
Sections []string `json:"sections"`
Indicator string `json:"indicator"`
Type string `json:"type"`
TypeTitle string `json:"type_title"`
Validation []ValidationAlienVault `json:"validation"`
BaseIndicator struct {
} `json:"base_indicator"`
PulseInfo struct {
Count int `json:"count"`
Pulses []interface{} `json:"pulses"`
References []interface{} `json:"references"`
Related struct {
Alienvault struct {
Adversary []interface{} `json:"adversary"`
MalwareFamilies []interface{} `json:"malware_families"`
Industries []interface{} `json:"industries"`
UniqueIndicators int `json:"unique_indicators"`
} `json:"alienvault"`
Other struct {
Adversary []interface{} `json:"adversary"`
MalwareFamilies []interface{} `json:"malware_families"`
Industries []interface{} `json:"industries"`
UniqueIndicators int `json:"unique_indicators"`
} `json:"other"`
} `json:"related"`
} `json:"pulse_info"`
FalsePositive []interface{} `json:"false_positive"`
Alexa string `json:"alexa"`
Whois string `json:"whois"`
Domain string `json:"domain"`
Hostname string `json:"hostname"`
}
type AlienVaultHash struct {
Sections []string `json:"sections"`
Type string `json:"type"`
TypeTitle string `json:"type_title"`
Indicator string `json:"indicator"`
Validation []interface{} `json:"validation"`
BaseIndicator struct {
ID int64 `json:"id"`
Indicator string `json:"indicator"`
Type string `json:"type"`
Title string `json:"title"`
Description string `json:"description"`
Content string `json:"content"`
AccessType string `json:"access_type"`
AccessReason string `json:"access_reason"`
} `json:"base_indicator"`
PulseInfo struct {
Count int `json:"count"`
Pulses []struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Modified string `json:"modified"`
Created string `json:"created"`
Tags []interface{} `json:"tags"`
References []string `json:"references"`
Public int `json:"public"`
Adversary string `json:"adversary"`
TargetedCountries []interface{} `json:"targeted_countries"`
MalwareFamilies []struct {
ID string `json:"id"`
DisplayName string `json:"display_name"`
Target interface{} `json:"target"`
} `json:"malware_families"`
AttackIds []struct {
ID string `json:"id"`
Name string `json:"name"`
DisplayName string `json:"display_name"`
} `json:"attack_ids"`
Industries []interface{} `json:"industries"`
Tlp string `json:"TLP"`
ClonedFrom interface{} `json:"cloned_from"`
ExportCount int `json:"export_count"`
UpvotesCount int `json:"upvotes_count"`
DownvotesCount int `json:"downvotes_count"`
VotesCount int `json:"votes_count"`
Locked bool `json:"locked"`
PulseSource string `json:"pulse_source"`
ValidatorCount int `json:"validator_count"`
CommentCount int `json:"comment_count"`
FollowerCount int `json:"follower_count"`
Vote int `json:"vote"`
Author struct {
Username string `json:"username"`
ID string `json:"id"`
AvatarURL string `json:"avatar_url"`
IsSubscribed bool `json:"is_subscribed"`
IsFollowing bool `json:"is_following"`
} `json:"author"`
IndicatorTypeCounts struct {
FileHashSHA256 int `json:"FileHash-SHA256"`
} `json:"indicator_type_counts"`
IndicatorCount int `json:"indicator_count"`
IsAuthor bool `json:"is_author"`
IsSubscribing interface{} `json:"is_subscribing"`
SubscriberCount int `json:"subscriber_count"`
ModifiedText string `json:"modified_text"`
IsModified bool `json:"is_modified"`
Groups []interface{} `json:"groups"`
InGroup bool `json:"in_group"`
ThreatHunterScannable bool `json:"threat_hunter_scannable"`
ThreatHunterHasAgents int `json:"threat_hunter_has_agents"`
RelatedIndicatorType string `json:"related_indicator_type"`
RelatedIndicatorIsActive int `json:"related_indicator_is_active"`
} `json:"pulses"`
References []string `json:"references"`
Related struct {
Alienvault struct {
Adversary []interface{} `json:"adversary"`
MalwareFamilies []interface{} `json:"malware_families"`
Industries []interface{} `json:"industries"`
} `json:"alienvault"`
Other struct {
Adversary []interface{} `json:"adversary"`
MalwareFamilies []string `json:"malware_families"`
Industries []interface{} `json:"industries"`
} `json:"other"`
} `json:"related"`
} `json:"pulse_info"`
FalsePositive []interface{} `json:"false_positive"`
}
type ResultFrontendResponse struct {
EN struct {
Result string
}
NO struct {
Result string
}
Screenshot []byte
FrontendResponse []FrontendResponse2
}
type VirusTotalUploadID struct {
Data struct {
Type string `json:"type"`
ID string `json:"id"`
} `json:"data"`
}
type FileUploadData2 struct {
Data struct {
Attributes struct {
TypeDescription string `json:"type_description"`
Tlsh string `json:"tlsh"`
Vhash string `json:"vhash"`
Names []string `json:"names"`
LastModificationDate int `json:"last_modification_date"`
TypeTag string `json:"type_tag"`
TimesSubmitted int `json:"times_submitted"`
TotalVotes struct {
Harmless int `json:"harmless"`
Malicious int `json:"malicious"`
} `json:"total_votes"`
Size int `json:"size"`
TypeExtension string `json:"type_extension"`
LastSubmissionDate int `json:"last_submission_date"`
LastAnalysisResults map[string]FrontendResponse4 `json:"last_analysis_results"`
Sha256 string `json:"sha256"`
Tags []string `json:"tags"`
LastAnalysisDate int `json:"last_analysis_date"`
UniqueSources int `json:"unique_sources"`
FirstSubmissionDate int `json:"first_submission_date"`
Ssdeep string `json:"ssdeep"`
Md5 string `json:"md5"`
Sha1 string `json:"sha1"`
Magic string `json:"magic"`
LastAnalysisStats struct {
Harmless int `json:"harmless"`
TypeUnsupported int `json:"type-unsupported"`
Suspicious int `json:"suspicious"`
ConfirmedTimeout int `json:"confirmed-timeout"`
Timeout int `json:"timeout"`
Failure int `json:"failure"`
Malicious int `json:"malicious"`
Undetected int `json:"undetected"`
} `json:"last_analysis_stats"`
MeaningfulName string `json:"meaningful_name"`
Reputation int `json:"reputation"`
FirstSeenItwDate int `json:"first_seen_itw_date"`
} `json:"attributes"`
Type string `json:"type"`
ID string `json:"id"`
Links struct {
Self string `json:"self"`
} `json:"links"`
} `json:"data"`
}
// Struct for storing the oauth2 token, the jwt and the jwt data
type IdAndJwt struct {
Oauth2Token oauth2.Token `json:"oauth2Token"`
Jwt oidc.IDToken `json:"jwt"`
Claims map[string]interface{} `json:"email"`
}
type ValidationAlienVault struct {
Source string `json:"source"`
Message string `json:"message"`
Name string `json:"name"`
}
type HybridAnalysisBadRequest struct {
Message string `json:"message"`
}