]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
eve/schema: check that each array has at least one element
authorPhilippe Antoine <pantoine@oisf.net>
Fri, 23 Sep 2022 12:25:39 +0000 (14:25 +0200)
committerVictor Julien <vjulien@oisf.net>
Sat, 3 Dec 2022 05:32:52 +0000 (06:32 +0100)
Ticket: #5167

etc/schema.json

index 69a24b0b19ae73832ea96a9656022956dcbc4b93..36da6a56a1f66970ab72fd89e4e7badd2ae54b20 100644 (file)
         },
         "files": {
             "type": "array",
+            "minItems": 1,
             "items": {
                 "type": "object",
                 "optional": true,
                     },
                     "sid": {
                         "type": "array",
+                        "minItems": 1,
                         "items": {
                             "type": "integer"
                         }
         },
         "vlan": {
             "type": "array",
+            "minItems": 1,
             "items": {
                 "type": "number"
             }
                     "properties": {
                         "affected_product": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "attack_target": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "created_at": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "deployment": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "former_category": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "malware_family": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "policy": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "signature_severity": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "tag": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "updated_at": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                 },
                 "interfaces": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                 },
                 "dns_servers": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "params": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "routers": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                         },
                         "objects": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "object",
                                 "properties": {
                                     },
                                     "points": {
                                         "type": "array",
+                                        "minItems": 1,
                                         "items": {
                                             "type": "object",
                                             "additionalProperties": true
                     "properties": {
                         "indicators": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                                 },
                                 "objects": {
                                     "type": "array",
+                                    "minItems": 1,
                                     "items": {
                                         "type": "object",
                                         "properties": {
                                             },
                                             "points": {
                                                 "type": "array",
+                                                "minItems": 1,
                                                 "items": {
                                                     "type": "object",
                                                     "additionalProperties": true
                                 },
                                 "objects": {
                                     "type": "array",
+                                    "minItems": 1,
                                     "items": {
                                         "type": "object",
                                         "properties": {
                                             },
                                             "points": {
                                                 "type": "array",
+                                                "minItems": 1,
                                                 "items": {
                                                     "type": "object",
                                                     "additionalProperties": true
                             "properties": {
                                 "indicators": {
                                     "type": "array",
+                                    "minItems": 1,
                                     "items": {
                                         "type": "string"
                                     }
                 },
                 "answers": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "optional": true,
                 },
                 "authorities": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "optional": true,
                 },
                 "query": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "optional": true,
                     "properties": {
                         "A": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "AAAA": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "CNAME": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "MX": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "NULL": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "PTR": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                         },
                         "SRV": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "object",
                                 "optional": true,
                         },
                         "TXT": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                 },
                 "url": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "attachment": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "to": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "dest_macs": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "src_macs": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "sid": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "integer"
                     }
                 },
                 "completion_code": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "reply": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "request_headers": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                 },
                 "response_headers": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                                 },
                                 "settings": {
                                     "type": "array",
+                                    "minItems": 1,
                                     "items": {
                                         "type": "object",
                                         "properties": {
                                 },
                                 "settings": {
                                     "type": "array",
+                                    "minItems": 1,
                                     "items": {
                                         "type": "object",
                                         "properties": {
                 },
                 "request_headers": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                 },
                 "response_headers": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                 },
                 "payload": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                         },
                         "vendor_ids": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                                 },
                                 "proposals": {
                                     "type": "array",
+                                    "minItems": 1,
                                     "items": {
                                         "type": "object",
                                         "properties": {
             "properties": {
                 "flowbits": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "flowvars": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                 },
                 "pktvars": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                         },
                         "qos_granted": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "integer"
                             }
                         },
                         "topics": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "object",
                                 "properties": {
                         },
                         "reason_codes": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "integer"
                             }
                         },
                         "topics": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                             "properties": {
                                 "optional_parameters": {
                                     "type": "array",
+                                    "minItems": 1,
                                     "items": {
                                         "type": "object",
                                         "properties": {
                         },
                         "parameter_status": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "object",
                                 "properties": {
             "properties": {
                 "cyu": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                 },
                 "extensions": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "object",
                         "properties": {
                             },
                             "values": {
                                 "type": "array",
+                                "minItems": 1,
                                 "items": {
                                     "type": "string"
                                 }
                 },
                 "channels": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                         },
                         "capabilities": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                 },
                 "client_dialects": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                         },
                         "interfaces": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "object",
                                 "optional": true,
                         },
                         "snames": {
                             "type": "array",
+                            "minItems": 1,
                             "items": {
                                 "type": "string"
                             }
                 },
                 "rcpt_to": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "vars": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                         },
                         "engines": {
                             "type": "array",
+                            "minItems": 1,
                             "items": [
                                 {
                                     "type": "object",
             "properties": {
                 "id": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }
                 },
                 "label": {
                     "type": "array",
+                    "minItems": 1,
                     "items": {
                         "type": "string"
                     }