Comments (5)
IChecker and friends follow EnoChecker and form a new project, e.g. EnoChecker.Core.
Are you sure you want another package for Enochecker? I would just publish EnoChecker as it is in the new Repository. I think we both mean the same: Publishing EnoChecker as a new package.
from enoengine.
yep would be cool to have it in a enochecker-dotnet repository and renaming the other checkers accordingly, e.g. enochecker (which is python) to enochecker-python
from enoengine.
I agree that a refactoring is necessary. Our requirements are:
- Code must be shared between EnoChecker, EnoEngine, EnoLauncher and EnoFlagSink
- Class definitions must be shared between EnoLandingPage Frontend, EnoEngine and EnoLauncher (scoreboard, attackinfo)
- Class definitions (
IChecker
and friends) must be shared between EnoChecker runtime and EnoChecker implementations - The class definitions package must be as small as possible
Therefore we could split our packages in the following way:
- EnoCore.Models contains all basic class definitions that are shared between projects. It does not have any dependencies.
- EnoCore depends on EnoCore.Models.
- EnoDatabase remains like it is and depends on EnoCore.
- All logging-related functions and methods remain in EnoCore. Engine, Launcher, FlagSink and Checker depend on it (either directly or through EnoDatabase).
- EnoChecker is moved out of this repository.
IChecker
and friends follow EnoChecker and form a new project, e.g. EnoChecker.Core.
from enoengine.
might it be useful to have PRs for refactoring this stuff?
I think you have a typo in here:
9c7139f#diff-9bc0aa9f51ff6aedff652c211fa7771aff85093ba5c42432e263d0565c8b9e34R1
And in my last PR we talked about that everything should be LF, but now we are checking for CRLF?
9c7139f#diff-0947e2727d6bad8cd0ac4122f5314bb5b04e337393075bc4b5ef143b17fcbd5bR8
Whats about the dummy checker should we retain it somewhere for performance tests?
from enoengine.
I think you have a typo in here:
9c7139f#diff-9bc0aa9f51ff6aedff652c211fa7771aff85093ba5c42432e263d0565c8b9e34R1
oh thanks, I guess we'll tend to that after enowars 5 is over though
And in my last PR we talked about that everything should be LF, but now we are checking for CRLF?
9c7139f#diff-0947e2727d6bad8cd0ac4122f5314bb5b04e337393075bc4b5ef143b17fcbd5bR8
No, you just commited a handful of CR files into an otherwise completely CRLF repo
Whats about the dummy checker should we retain it somewhere for performance tests?
yeah we should keep it with enochecker and provide prebuilt docker images, but that shouldn't be much work
from enoengine.
Related Issues (20)
- Spec change wishlist HOT 17
- Document the naming scheme of scoreboardInfo.json and scoreboard*.json files
- Documentation HOT 7
- Throw error instead of exiting silently HOT 12
- Compare service name from ctf.json with the one the checker declares (and abort gracefully) HOT 5
- Maybe add a safe mode that is enabled by default
- Migration issue HOT 1
- document \0 filter in checker results? HOT 5
- Warn/abort in prod if team ips or service names are duplicate
- Switch to compile-time source generation based json (de)serialization
- Add Rolling logs HOT 3
- Fix flagsPerRoundModifier > 1 creating additional flagstores in scoreboard
- Constrain log length (otherwise ELK dies) HOT 8
- flagsub prints stacktraces
- adhere to https://github.com/enowars/specification/blob/main/checker_protocol.md#message or change spec
- Notify user on Service-Name mismatch
- Adding teams and removing services causes CalculateTeamServicePoints to print exceptions
- readme section flagsubendpoint is outdated
- stats output for flagsink
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from enoengine.