mirror of
https://github.com/kubeshark/kubeshark.git
synced 2025-06-24 07:14:15 +00:00
* modified Dockerfile to work for both amd64 (Intel) and arm64 (M1) * added changelog * Update `Dockerfile` to have `ARCH` build argument * Remove `docs/CHANGES.md` * Upgrade the Basenine version from `v0.3.0` to `v0.4.6` * Update `publish.yml` to have `ARCH` build argument * Switch `BasenineImageRepo` to Docker Hub * Have separate build arguments for `ARCH` and `GOARCH` * Upgrade the Basenine version from `v0.4.6` to `v0.4.10` * Oops forgot to update the 10th duplicated shell script * Fix the oopsie and reduce duplications * Fix `Dockerfile` * Fix the incompatibility issue between Go plugins and gold linker in Alpine inside `Dockerfile` * Fix `asm: xxhash_amd64.s:120: when dynamic linking, R15 is clobbered by a global variable access` error * Update `Dockerfile` to have cross-compilation on an AMD64 machine Also revert changes in the shell scripts * Delete `debug.Dockerfile` * Create a custom base (`debian:buster-slim` based) image for the shipped image * Replace `mertyildiran/debian-pcap` with `up9inc/debian-pcap` * Upgrade Basenine version to `v0.4.12` * Use `debian:stable-slim` as the base * Fix the indentation in the `Dockerfile` * Update `publish.yml` * Enable `publish.yml` for `feature/multiarch_build` branch * Tag correctly and set `ARCH` Docker argument * Remove the lines that are forgotten to be removed from the shell scripts * Add `MizuAgentImageRepo` constant and use it as default `AgentImage` value * Bring back `Set up Cloud SDK` step to `Build the CLI and publish` job * Build ARM64 CLI for Linux as well * Revert "Enable `publish.yml` for `feature/multiarch_build` branch" This reverts commitd30be4c1f0
. * Revert Go 1.17 upgrade * Remove `build_extensions_debug.sh` as well * Make the `Dockerfile` to compile the agent statically * Statically link the protocol extensions * Fix `Dockerfile` * Bring back `-s -w` flags * Verify the signatures of the downloads in `dockcross/linux-arm64-musl` * Revert modifications in some shell scripts * Make the `BUILDARCH` and `TARGETARCH` separation in the `Dockerfile` * Separate cross-compilation builder image into a separate repo named `up9inc/linux-arm64-musl-go-libpcap` * Fill the shell script and specify the tag for `dockcross/linux-arm64-musl` * Remove the unnecessary dependencies from `builder-native-base` * Improve the comments in the `Dockerfile` * Upgrade Basenine version to `v0.4.13` * Fix `Dockerfile` * Revert "Revert "Enable `publish.yml` for `feature/multiarch_build` branch"" This reverts commit303e466bdc
. * Revert "Revert "Revert "Enable `publish.yml` for `feature/multiarch_build` branch""" This reverts commit0fe252bbdb
. * Remove `push-docker-debug` from the `Makefile` * Rename `publish.yml` to `release.yml` Co-authored-by: Alex Haiut <alex@up9.com>
291 lines
3.6 KiB
Go
291 lines
3.6 KiB
Go
package redis
|
|
|
|
type RedisType string
|
|
type RedisCommand string
|
|
type RedisKeyword string
|
|
|
|
var types map[rune]RedisType = map[rune]RedisType{
|
|
plusByte: "Simple String",
|
|
dollarByte: "Bulk String",
|
|
asteriskByte: "Array",
|
|
colonByte: "Integer",
|
|
minusByte: "Error",
|
|
notApplicableByte: "N/A",
|
|
}
|
|
|
|
var commands []RedisCommand = []RedisCommand{
|
|
"PING",
|
|
"SET",
|
|
"GET",
|
|
"QUIT",
|
|
"EXISTS",
|
|
"DEL",
|
|
"UNLINK",
|
|
"TYPE",
|
|
"FLUSHDB",
|
|
"KEYS",
|
|
"RANDOMKEY",
|
|
"RENAME",
|
|
"RENAMENX",
|
|
"RENAMEX",
|
|
"DBSIZE",
|
|
"EXPIRE",
|
|
"EXPIREAT",
|
|
"TTL",
|
|
"SELECT",
|
|
"MOVE",
|
|
"FLUSHALL",
|
|
"GETSET",
|
|
"MGET",
|
|
"SETNX",
|
|
"SETEX",
|
|
"MSET",
|
|
"MSETNX",
|
|
"DECRBY",
|
|
"DECR",
|
|
"INCRBY",
|
|
"INCR",
|
|
"APPEND",
|
|
"SUBSTR",
|
|
"HSET",
|
|
"HGET",
|
|
"HSETNX",
|
|
"HMSET",
|
|
"HMGET",
|
|
"HINCRBY",
|
|
"HEXISTS",
|
|
"HDEL",
|
|
"HLEN",
|
|
"HKEYS",
|
|
"HVALS",
|
|
"HGETALL",
|
|
"RPUSH",
|
|
"LPUSH",
|
|
"LLEN",
|
|
"LRANGE",
|
|
"LTRIM",
|
|
"LINDEX",
|
|
"LSET",
|
|
"LREM",
|
|
"LPOP",
|
|
"RPOP",
|
|
"RPOPLPUSH",
|
|
"SADD",
|
|
"SMEMBERS",
|
|
"SREM",
|
|
"SPOP",
|
|
"SMOVE",
|
|
"SCARD",
|
|
"SISMEMBER",
|
|
"SINTER",
|
|
"SINTERSTORE",
|
|
"SUNION",
|
|
"SUNIONSTORE",
|
|
"SDIFF",
|
|
"SDIFFSTORE",
|
|
"SRANDMEMBER",
|
|
"ZADD",
|
|
"ZRANGE",
|
|
"ZREM",
|
|
"ZINCRBY",
|
|
"ZRANK",
|
|
"ZREVRANK",
|
|
"ZREVRANGE",
|
|
"ZCARD",
|
|
"ZSCORE",
|
|
"MULTI",
|
|
"DISCARD",
|
|
"EXEC",
|
|
"WATCH",
|
|
"UNWATCH",
|
|
"SORT",
|
|
"BLPOP",
|
|
"BRPOP",
|
|
"AUTH",
|
|
"SUBSCRIBE",
|
|
"PUBLISH",
|
|
"UNSUBSCRIBE",
|
|
"PSUBSCRIBE",
|
|
"PUNSUBSCRIBE",
|
|
"PUBSUB",
|
|
"ZCOUNT",
|
|
"ZRANGEBYSCORE",
|
|
"ZREVRANGEBYSCORE",
|
|
"ZREMRANGEBYRANK",
|
|
"ZREMRANGEBYSCORE",
|
|
"ZUNIONSTORE",
|
|
"ZINTERSTORE",
|
|
"ZLEXCOUNT",
|
|
"ZRANGEBYLEX",
|
|
"ZREVRANGEBYLEX",
|
|
"ZREMRANGEBYLEX",
|
|
"SAVE",
|
|
"BGSAVE",
|
|
"BGREWRITEAOF",
|
|
"LASTSAVE",
|
|
"SHUTDOWN",
|
|
"INFO",
|
|
"MONITOR",
|
|
"SLAVEOF",
|
|
"CONFIG",
|
|
"STRLEN",
|
|
"SYNC",
|
|
"LPUSHX",
|
|
"PERSIST",
|
|
"RPUSHX",
|
|
"ECHO",
|
|
"LINSERT",
|
|
"DEBUG",
|
|
"BRPOPLPUSH",
|
|
"SETBIT",
|
|
"GETBIT",
|
|
"BITPOS",
|
|
"SETRANGE",
|
|
"GETRANGE",
|
|
"EVAL",
|
|
"EVALSHA",
|
|
"SCRIPT",
|
|
"SLOWLOG",
|
|
"OBJECT",
|
|
"BITCOUNT",
|
|
"BITOP",
|
|
"SENTINEL",
|
|
"DUMP",
|
|
"RESTORE",
|
|
"PEXPIRE",
|
|
"PEXPIREAT",
|
|
"PTTL",
|
|
"INCRBYFLOAT",
|
|
"PSETEX",
|
|
"CLIENT",
|
|
"TIME",
|
|
"MIGRATE",
|
|
"HINCRBYFLOAT",
|
|
"SCAN",
|
|
"HSCAN",
|
|
"SSCAN",
|
|
"ZSCAN",
|
|
"WAIT",
|
|
"CLUSTER",
|
|
"ASKING",
|
|
"PFADD",
|
|
"PFCOUNT",
|
|
"PFMERGE",
|
|
"READONLY",
|
|
"GEOADD",
|
|
"GEODIST",
|
|
"GEOHASH",
|
|
"GEOPOS",
|
|
"GEORADIUS",
|
|
"GEORADIUS_RO",
|
|
"GEORADIUSBYMEMBER",
|
|
"GEORADIUSBYMEMBER_RO",
|
|
"MODULE",
|
|
"BITFIELD",
|
|
"HSTRLEN",
|
|
"TOUCH",
|
|
"SWAPDB",
|
|
"MEMORY",
|
|
"XADD",
|
|
"XLEN",
|
|
"XDEL",
|
|
"XTRIM",
|
|
"XRANGE",
|
|
"XREVRANGE",
|
|
"XREAD",
|
|
"XACK",
|
|
"XGROUP",
|
|
"XREADGROUP",
|
|
"XPENDING",
|
|
"XCLAIM",
|
|
}
|
|
|
|
var keywords []RedisKeyword = []RedisKeyword{
|
|
"AGGREGATE",
|
|
"ALPHA",
|
|
"ASC",
|
|
"BY",
|
|
"DESC",
|
|
"GET",
|
|
"LIMIT",
|
|
"MESSAGE",
|
|
"NO",
|
|
"NOSORT",
|
|
"PMESSAGE",
|
|
"PSUBSCRIBE",
|
|
"PUNSUBSCRIBE",
|
|
"OK",
|
|
"ONE",
|
|
"QUEUED",
|
|
"SET",
|
|
"STORE",
|
|
"SUBSCRIBE",
|
|
"UNSUBSCRIBE",
|
|
"WEIGHTS",
|
|
"WITHSCORES",
|
|
"RESETSTAT",
|
|
"REWRITE",
|
|
"RESET",
|
|
"FLUSH",
|
|
"EXISTS",
|
|
"LOAD",
|
|
"KILL",
|
|
"LEN",
|
|
"REFCOUNT",
|
|
"ENCODING",
|
|
"IDLETIME",
|
|
"GETNAME",
|
|
"SETNAME",
|
|
"LIST",
|
|
"MATCH",
|
|
"COUNT",
|
|
"PING",
|
|
"PONG",
|
|
"UNLOAD",
|
|
"REPLACE",
|
|
"KEYS",
|
|
"PAUSE",
|
|
"DOCTOR",
|
|
"BLOCK",
|
|
"NOACK",
|
|
"STREAMS",
|
|
"KEY",
|
|
"CREATE",
|
|
"MKSTREAM",
|
|
"SETID",
|
|
"DESTROY",
|
|
"DELCONSUMER",
|
|
"MAXLEN",
|
|
"GROUP",
|
|
"IDLE",
|
|
"TIME",
|
|
"RETRYCOUNT",
|
|
"FORCE",
|
|
}
|
|
|
|
type RedisPacket struct {
|
|
Type RedisType `json:"type"`
|
|
Command RedisCommand `json:"command"`
|
|
Key string `json:"key"`
|
|
Value string `json:"value"`
|
|
Keyword RedisKeyword `json:"keyword"`
|
|
}
|
|
|
|
func isValidRedisCommand(s []RedisCommand, c RedisCommand) bool {
|
|
for _, v := range s {
|
|
if v == c {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
|
|
func isValidRedisKeyword(s []RedisKeyword, c RedisKeyword) bool {
|
|
for _, v := range s {
|
|
if v == c {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|