Re: [Bro-Dev] consistency checking for attributes

2018-10-31 Thread Michał Purzyński
Yeah, error out and let there be no surprises. On Wed, Oct 31, 2018 at 11:17 AM Vern Paxson wrote: > > To be honest I'm not even sure if the behavior > > is defined right now, i.e. if the later value will overwrite the first > one. > > I don't think it's defined. Looking at the code, the later

Re: [Bro-Dev] consistency checking for attributes

2018-10-31 Thread Vern Paxson
> To be honest I'm not even sure if the behavior > is defined right now, i.e. if the later value will overwrite the first one. I don't think it's defined. Looking at the code, the later one will indeed overwrite the first one. > Do you want to error out when two are found or overwrite the >

Re: [Bro-Dev] consistency checking for attributes

2018-10-31 Thread Michał Purzyński
Sounds good and I like it. To be honest I'm not even sure if the behavior is defined right now, i.e. if the later value will overwrite the first one. Do you want to error out when two are found or overwrite the first with the second one? On Mon, Oct 29, 2018 at 11:56 AM Vern Paxson wrote: >

Re: [Bro-Dev] consistency checking for attributes

2018-10-31 Thread Robin Sommer
On Mon, Oct 29, 2018 at 11:49 -0700, Vern Paxson wrote: > I'm planning to add basic consistency checking, which will look for > (1) attributes that are repeated (which doesn't appear to be meaningful for > any of them) and (2) attributes that don't make sense in a given context, > like the ones

Re: [Bro-Dev] consistency checking for attributes

2018-10-29 Thread Vern Paxson
> I'm thinking of implementing this as an internal table of meta-attributes, > i.e., each attribute type, like ATTR_OPTIONAL, will have its own attributes > ... Looking into this further, it appears that the basic issue is that while Attributes::CheckAttr already tries to make sure that a given

[Bro-Dev] consistency checking for attributes

2018-10-29 Thread Vern Paxson
Attributes currently receive essentially no consistency checking. For example, executing this script: global a: count = 10 = 9 _func = function(d: double, t: time): count { return 3; }; print a;