mirror of
https://github.com/openappsec/attachment.git
synced 2026-01-17 16:00:26 +03:00
Jan 06 2026 dev (#56)
* sync code * sync code * sync code * sync code * sync code * sync code --------- Co-authored-by: Daniel Eisenberg <danielei@checkpoint.com> Co-authored-by: Ned Wright <nedwright@proton.me>
This commit is contained in:
@@ -21,6 +21,9 @@ import (
|
||||
)
|
||||
|
||||
/*
|
||||
#ifndef _GNU_SOURCE
|
||||
#define _GNU_SOURCE
|
||||
#endif
|
||||
#include <pthread.h>
|
||||
|
||||
unsigned long get_thread_id() {
|
||||
@@ -89,9 +92,9 @@ func getEnvoyConcurrency() int {
|
||||
}
|
||||
|
||||
func configurationServer() {
|
||||
r := chi.NewRouter()
|
||||
r := chi.NewRouter()
|
||||
|
||||
r.Get("/load-config", func(w http.ResponseWriter, r *http.Request) {
|
||||
r.Get("/load-config", func(w http.ResponseWriter, r *http.Request) {
|
||||
mutex.Lock()
|
||||
defer mutex.Unlock()
|
||||
worker_ids := make([]int, 0)
|
||||
@@ -135,7 +138,7 @@ func configurationServer() {
|
||||
workers_reload_status[strconv.Itoa(worker_id)] = "Reload Configuraiton Succeded"
|
||||
}
|
||||
|
||||
response, err := json.Marshal(workers_reload_status)
|
||||
response, err := json.Marshal(workers_reload_status)
|
||||
if err != nil {
|
||||
api.LogWarnf("Error while sending reponse about reload configuration. Err: %s", err.Error())
|
||||
response = []byte(`{"error": "Internal Error"}`)
|
||||
@@ -145,11 +148,11 @@ func configurationServer() {
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
}
|
||||
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.Write(response)
|
||||
})
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
w.Write(response)
|
||||
})
|
||||
|
||||
http.ListenAndServe(":8119", r)
|
||||
http.ListenAndServe(":8119", r)
|
||||
}
|
||||
|
||||
func init() {
|
||||
@@ -158,9 +161,9 @@ func init() {
|
||||
go configurationServer()
|
||||
}
|
||||
|
||||
type config struct {}
|
||||
type config struct{}
|
||||
|
||||
type parser struct {}
|
||||
type parser struct{}
|
||||
|
||||
func sendKeepAlive() {
|
||||
for {
|
||||
@@ -175,14 +178,14 @@ func sendKeepAlive() {
|
||||
}
|
||||
|
||||
func (p *parser) initFilterStructs() *filterRequestStructs {
|
||||
return &filterRequestStructs {
|
||||
http_start_data: (*C.HttpRequestFilterData)(C.malloc(C.sizeof_HttpRequestFilterData)),
|
||||
http_meta_data: (*C.HttpMetaData)(C.malloc(C.sizeof_HttpMetaData)),
|
||||
http_headers: (*C.HttpHeaders)(C.malloc(C.sizeof_HttpHeaders)),
|
||||
http_headers_data: (*C.HttpHeaderData)(C.malloc(10000 * C.sizeof_HttpHeaderData)),
|
||||
http_res_headers: (*C.ResHttpHeaders)(C.malloc(C.sizeof_ResHttpHeaders)),
|
||||
http_body_data: (*C.nano_str_t)(C.malloc(10000 * C.sizeof_nano_str_t)),
|
||||
attachment_data: (*C.AttachmentData)(C.malloc(C.sizeof_AttachmentData)),
|
||||
return &filterRequestStructs{
|
||||
http_start_data: (*C.HttpRequestFilterData)(C.malloc(C.sizeof_HttpRequestFilterData)),
|
||||
http_meta_data: (*C.HttpMetaData)(C.malloc(C.sizeof_HttpMetaData)),
|
||||
http_headers: (*C.HttpHeaders)(C.malloc(C.sizeof_HttpHeaders)),
|
||||
http_headers_data: (*C.HttpHeaderData)(C.malloc(10000 * C.sizeof_HttpHeaderData)),
|
||||
http_res_headers: (*C.ResHttpHeaders)(C.malloc(C.sizeof_ResHttpHeaders)),
|
||||
http_body_data: (*C.nano_str_t)(C.malloc(10000 * C.sizeof_nano_str_t)),
|
||||
attachment_data: (*C.AttachmentData)(C.malloc(C.sizeof_AttachmentData)),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -223,7 +226,7 @@ func (p *parser) Parse(any *anypb.Any, callbacks api.ConfigCallbackHandler) (int
|
||||
//mutex.Unlock()
|
||||
}
|
||||
|
||||
go func (){
|
||||
go func() {
|
||||
sendKeepAlive()
|
||||
}()
|
||||
|
||||
@@ -270,13 +273,13 @@ func ConfigFactory(c interface{}, callbacks api.FilterCallbackHandler) api.Strea
|
||||
session_data := C.InitSessionData((*C.NanoAttachment)(attachment_ptr), C.SessionID(session_id))
|
||||
|
||||
return &filter{
|
||||
callbacks: callbacks,
|
||||
config: conf,
|
||||
session_id: session_id,
|
||||
cp_attachment: attachment_ptr,
|
||||
session_data: session_data,
|
||||
callbacks: callbacks,
|
||||
config: conf,
|
||||
session_id: session_id,
|
||||
cp_attachment: attachment_ptr,
|
||||
session_data: session_data,
|
||||
request_structs: attachment_to_filter_request_structs[worker_id],
|
||||
}
|
||||
}
|
||||
|
||||
func main() {}
|
||||
func main() {}
|
||||
|
||||
Reference in New Issue
Block a user