repochecker/ip-inspector: gofmt + CI

This commit is contained in:
nemunaire 2022-11-10 16:14:02 +01:00
parent f1a2e6c360
commit 83be5595ba
5 changed files with 12 additions and 16 deletions

View File

@ -25,6 +25,7 @@ steps:
- go get -v -d srs.epita.fr/fic-server/repochecker/epita
- go get -v -d srs.epita.fr/fic-server/repochecker/file-inspector
- go get -v -d srs.epita.fr/fic-server/repochecker/grammalecte
- go get -v -d srs.epita.fr/fic-server/repochecker/pcap-inspector
- go get -v -d srs.epita.fr/fic-server/repochecker/videos
- go get -v -d srs.epita.fr/fic-server/qa
- mkdir deploy
@ -55,6 +56,7 @@ steps:
- go vet -v -buildvcs=false srs.epita.fr/fic-server/repochecker/epita
- go vet -v -buildvcs=false srs.epita.fr/fic-server/repochecker/file-inspector
- go vet -v -buildvcs=false srs.epita.fr/fic-server/repochecker/grammalecte
- go vet -v -buildvcs=false srs.epita.fr/fic-server/repochecker/pcap-inspector
- go vet -v -buildvcs=false srs.epita.fr/fic-server/repochecker/videos
- go vet -v -buildvcs=false srs.epita.fr/fic-server/qa
- go vet -v -buildvcs=false srs.epita.fr/fic-server/settings
@ -114,6 +116,7 @@ steps:
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-epita-rules-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.so srs.epita.fr/fic-server/repochecker/epita
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-file-inspector-rules-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.so srs.epita.fr/fic-server/repochecker/file-inspector
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-grammalecte-rules-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.so srs.epita.fr/fic-server/repochecker/grammalecte
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-pcap-inspector-rules-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.so srs.epita.fr/fic-server/repochecker/pcap-inspector
- go build -buildvcs=false -buildmode=plugin -v -o deploy/repochecker-videos-rules-${DRONE_STAGE_OS}-${DRONE_STAGE_ARCH}.so srs.epita.fr/fic-server/repochecker/videos
- grep "const version" repochecker/update.go | sed -r 's/^.*=\s*(\S.*)$/\1/' > deploy/repochecker.version
environment:

View File

@ -17,6 +17,7 @@ RUN go get -d -v ./repochecker && \
go build -v -buildmode=plugin -o repochecker/epita-rules.so ./repochecker/epita && \
go build -v -buildmode=plugin -o repochecker/file-inspector.so ./repochecker/file-inspector && \
go build -v -buildmode=plugin -o repochecker/grammalecte-rules.so ./repochecker/grammalecte && \
go build -v -buildmode=plugin -o repochecker/pcap-inspector.so ./repochecker/pcap-inspector && \
go build -v -buildmode=plugin -o repochecker/videos-rules.so ./repochecker/videos
@ -28,7 +29,7 @@ RUN mkdir /srv/grammalecte && cd /srv/grammalecte && unzip /srv/grammalecte.zip
FROM alpine:3.16
ENTRYPOINT ["/usr/bin/repochecker", "--rules-plugins=/usr/lib/epita-rules.so", "--rules-plugins=/usr/lib/file-inspector.so", "--rules-plugins=/usr/lib/grammalecte-rules.so", "--rules-plugins=/usr/lib/videos-rules.so"]
ENTRYPOINT ["/usr/bin/repochecker", "--rules-plugins=/usr/lib/epita-rules.so", "--rules-plugins=/usr/lib/file-inspector.so", "--rules-plugins=/usr/lib/grammalecte-rules.so", "--rules-plugins=/usr/lib/pcap-inspector.so", "--rules-plugins=/usr/lib/videos-rules.so"]
RUN apk add --no-cache git python3 ffmpeg
@ -37,4 +38,5 @@ COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/repochecker /usr
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/epita-rules.so /usr/lib/epita-rules.so
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/file-inspector.so /usr/lib/file-inspector.so
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/grammalecte-rules.so /usr/lib/grammalecte-rules.so
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/pcap-inspector.so /usr/lib/pcap-inspector.so
COPY --from=gobuild /go/src/srs.epita.fr/fic-server/repochecker/videos-rules.so /usr/lib/videos-rules.so

View File

@ -1,12 +1,12 @@
# IP-INSPECTOR
# PCAP-INSPECTOR
Inspects pcap and pcapng files for packets with ip src and ip dst using private IPs
Set VERBOSE_PCAP_CHECK environment variable to enable verbose mode
Set `VERBOSE_PCAP_CHECK` environment variable to enable verbose mode
## Build library
go build -o ip-inspector -buildmode=plugin main.go files.go
go build -o pcap-inspector -buildmode=plugin .
## Requirement
@ -15,4 +15,4 @@ github.com/google/gopacket
## TODO
Custom rules on packet filtering
Handle log files
Handle log files

View File

@ -31,9 +31,7 @@ type PcapNgReader struct {
*pcapgo.NgReader
}
//
// Impl interface for reading pcap and pcapng data
//
func (pcapReader *PcapReader) ReadPacketData() (data []byte, ci gopacket.CaptureInfo, err error) {
return pcapReader.Reader.ReadPacketData()
}
@ -42,12 +40,9 @@ func (pcapNGReader *PcapNgReader) ReadPacketData() (data []byte, ci gopacket.Cap
return pcapNGReader.NgReader.ReadPacketData()
}
//
// Iterate thought each packet to find potentialy unwanted packets
// TODO: Allow custom rules to specify what is a unwanted packet
//
func CheckPcap(pcapReader PcapPacketDataReader, pcapName string) (errs []error) {
warningFlows := make(map[gopacket.Flow]([]time.Time))
//
@ -63,7 +58,7 @@ func CheckPcap(pcapReader PcapPacketDataReader, pcapName string) (errs []error)
if packetNetworkLayer == nil {
continue
}
flow := packetNetworkLayer.NetworkFlow()
ENDPOINT_SELECTION:
@ -117,7 +112,7 @@ func CheckTextFile(fd *os.File) (errs []error) {
func InspectFileForIPAddr(file *fic.EFile, exceptions *sync.CheckExceptions) (errs []error) {
i, ok := sync.GlobalImporter.(sync.LocalImporter)
if !ok {
log.Printf("Unable to load `ip-inspector.so` as the current Importer is not a LocalImporter (%T).", sync.GlobalImporter)
log.Printf("Unable to load `pcap-inspector.so` as the current Importer is not a LocalImporter (%T).", sync.GlobalImporter)
return
}

View File

@ -4,10 +4,6 @@ import (
"srs.epita.fr/fic-server/admin/sync"
)
var hooks *sync.CheckHooks
func RegisterChecksHooks(h *sync.CheckHooks) {
hooks = h
h.RegisterFileHook(InspectFileForIPAddr)
}