mattsm has quit [Ping timeout: 480 seconds]
goliath has quit [Quit: SIGSEGV]
SlimeyX has quit [Remote host closed the connection]
kenny has quit [Quit: WeeChat 4.2.1]
Daanct12 has joined #openwrt-devel
Daaanct12 has joined #openwrt-devel
Daanct12 has quit [Ping timeout: 480 seconds]
gch981213 has joined #openwrt-devel
minimal has quit [Quit: Leaving]
tSYS has quit [Quit: *squeak*]
tSYS has joined #openwrt-devel
Daaanct12 has quit [Quit: WeeChat 4.2.1]
Daanct12 has joined #openwrt-devel
shoragan has quit [Quit: quit]
shoragan has joined #openwrt-devel
Daaanct12 has joined #openwrt-devel
Daanct12 has quit [Ping timeout: 480 seconds]
dev1ce has joined #openwrt-devel
ynezz has quit [Remote host closed the connection]
Piraty has quit [Remote host closed the connection]
rua has quit [Ping timeout: 480 seconds]
<KGB-2> https://tests.reproducible-builds.org/openwrt/openwrt_mpc85xx.html has been updated. (100.0% images and 100.0% packages reproducible in our current test framework.)
rua has joined #openwrt-devel
Mangix has quit [Read error: Connection reset by peer]
Piraty has joined #openwrt-devel
robimarko has joined #openwrt-devel
robimarko has quit [Ping timeout: 480 seconds]
robimarko has joined #openwrt-devel
robimarko has quit []
<stintel> Slimey: haha :D
robimarko has joined #openwrt-devel
* enyc meeps
<enyc> 23.05.3 setups working well :O AIUI 22.03.7 final not too long now
c512l has joined #openwrt-devel
bbezak has quit [Quit: Ping timeout (120 seconds)]
bbezak has joined #openwrt-devel
SlimeyX has joined #openwrt-devel
<wigyori> will there be a 22.03.7 ?
Danct12 has quit [Quit: ZNC 1.9.0 - https://znc.in]
Danct12 has joined #openwrt-devel
<KGB-2> https://tests.reproducible-builds.org/openwrt/openwrt_bcm47xx.html has been updated. (100.0% images and 100.0% packages reproducible in our current test framework.)
torv has quit [Ping timeout: 480 seconds]
goliath has joined #openwrt-devel
* f00b4r0 realises config/network breaks UCI syntax with 'bridge-vlan' config identifier
<f00b4r0> and wireless also with 'wifi-device'
* f00b4r0 assumes it's safe to ignore the "rule" that '-' is not allowed in identifier
torv has joined #openwrt-devel
<Slimey> schmars[m] actually yeah :P
<Slimey> stintel electricians and low voltage wiring plus crimping and doing punch downs is hit and miss, mostly miss
<Slimey> out of six drops none of the ends where even close or the same
<Slimey> not even where they matched on both ends lol
Daaanct12 has quit [Quit: WeeChat 4.2.1]
<jow> f00b4r0: dashes are allowed in section types but not in indentifiers
<jow> f00b4r0: this is not a syntax breakage
<f00b4r0> jow: i'm confused. aren't section types identifiers?
<jow> no
<jow> config $type[ $identifier]
<f00b4r0> err
<jow> {option|list} $identifier [$bareword|$single_quoted_string|$double_quoted_string]
<jow> yes, it says that hyphens are not allowed in identifiers
<jow> but it does not say that section types are identifiers
<f00b4r0> it doesn't say that section names are identifiers either :)
<f00b4r0> which is what you're saying, if I read you right
<jow> "There can also be so called anonymous sections with only a type, but no name identifier. "
<jow> it is implied there
<f00b4r0> hmm
<f00b4r0> ok, I just have to adjust my parser a bit then
<f00b4r0> would be easier if we had a clear BNF definition :)
<f00b4r0> are there restrictions on "types" then? (which are only used for config section, correct?)
<jow> for types, uci_validate_str() is invoked with name=false and package=false
<jow> is we allow a-z, A-Z, 0-9, _
<jow> and if not package and not name, additionally the entire character range between ascii 33 and ascii 126
<jow> in practice however, only [a-zA-Z0-9_-] is used for types
<jow> even if stuff like `$`, `!`, `~` is thoretically possible
<jow> root@fb7530:~# echo 'config $foo!bar' > /etc/config/test
<jow> root@fb7530:~# uci show test
<jow> test.@$foo!bar[0]=$foo!bar
<jow> root@fb7530:~#
<jow> however for names this is disallowed:
<jow> root@fb7530:~# echo 'config $foo!bar $bar!baz' > /etc/config/test
<jow> root@fb7530:~#
<jow> uci: Parse error (invalid character in name field) at line 1, byte 25
<jow> root@fb7530:~# uci show test
<f00b4r0> so basically type has the same restriction as an option value, correct?
<jow> values additionally allow white space and control characters
<jow> types may not contain spaces for example
<jow> root@fb7530:~# echo 'config " $foo!bar"' > /etc/config/test
<jow> root@fb7530:~# uci show test
<jow> uci: Parse error (invalid character in type field) at line 1, byte 19
<jow> root@fb7530:~#
<f00b4r0> control characters? In escape sequences then, since <33 is disallowed?
<jow> no, raw
<f00b4r0> o_O
<f00b4r0> i don't even understand how the result is valid uci
<f00b4r0> how is the part after the closing quote interpreted?
<jow> it's just the terminal rendering an embedded carriage return
<f00b4r0> sure, ignoring the cr, we have: option test 'foo'ar123
<f00b4r0> how is that valid?
<jow> it actually is option test 'foo\nbar\t123\r'
<f00b4r0> oh
<f00b4r0> gee
<jow> (transliterated, the parser does not understand the '\r' escape sequence
<f00b4r0> i'm not sure why we allow something like this but I guess there's a very good reason :)
<jow> single quotes strings are parsed naively
<jow> they may contain anything expect another single quote (which terminates it) and null bytes
<jow> anything includes the entire ascii byte range (sans \0 and <'>)
<jow> uci also supports implicit concatenation of literals like the shell does
<jow> so option test 'foo'"'"'bar' is <foo'bar>
<jow> or 'foo'\''bar'
<jow> and option test 'foo'"bar" would result in <foobar>
<jow> etc.
<f00b4r0> ok
<f00b4r0> my parser needs a bit more work then
<jow> there must be no (unescaped) space between consecutive literals though
<jow> so option test 'foo' 'bar' is a syntax error
<f00b4r0> makes sense
<jow> while option test 'foo'\ 'bar' results in <foo bar>
<jow> and
<jow> option test 'foo'\
<jow> 'bar'
<jow> in <foo\nbar>
<f00b4r0> why did you have to make it so hard ;P
<jow> oh, invariant
<jow> 'foo'\
<jow> 'bar'
<jow> is not <foo\nbar> but <foobar>
<f00b4r0> what?!
<jow> this looks like an undefined implementation details of the parser logic though
<jow> *detail
<jow> one that does not really make sense imho
<jow> likely a bug
<f00b4r0> hmm. I think I'll start with the basic line-by-line stuff that covers 99.9% of the cases
<jow> it's important to know that the uci parser does not work line by line (at least not in the sense that it reads an entire line into a bugger and then tries to split it)
<jow> *buffer
<f00b4r0> since you completely shattered my dream of having something nice and simple :)
<jow> it rather treats the file like a token stream, asstering newline in various contexts
<jow> *asserting
<jow> damn, bad typing today
<jow> you should probably model your parser in a similar way
minimal has joined #openwrt-devel
<f00b4r0> that's roughly what I've done so far
<f00b4r0> i was under the impression that newline terminated a statement (outside of a quoted string then)
rz has quit [Ping timeout: 480 seconds]
<f00b4r0> I think I'm not very far from what you described, save for the "implementation detail" which I think I'll just ignore
<f00b4r0> have to run for an errand, bbiab. Thanks for the help!
<jow> the general logic is simple, for barewords and double quoted strings, the backslash escapes the next character
<jow> regardless of what it is
<jow> but some characters (character sequences) following a backslash are silently discarded (along with the backslash itself)
<f00b4r0> that's fine, I'm not processing the actual content. I'm merely checking the syntax is valid, so I don't need to bother too much with escape sequences (except when they escape what would otherwise terminate the token)
rz has joined #openwrt-devel
<jow> then it's indeed trivial
<f00b4r0> *nod*
<f00b4r0> have to run, ttyl. thanks
cmonroe has quit [Quit: Textual IRC Client: www.textualapp.com]
cmonroe has joined #openwrt-devel
<mrkiko> jow: wow! you're using an fb7530 !! :) :)
mrkiko has quit [Quit: leaving]
mrkiko has joined #openwrt-devel
<mrkiko> uh! new siflower risc-V target
danitool has joined #openwrt-devel
<Slimey> HMM I WONDER IF ITS GETTING POWER https://i.imgur.com/MKhpcim.jpeg
<Habbie> are those optics? you can just align the other server in the next rack and skip the fiber
<Slimey> no leds on the psu
<Slimey> im still seeing spots
<dwfreed> jesus christ
<Habbie> i just looked at the photo and -i'm- still seeing spots
<f00b4r0> there are leds on the PSUs :)
<f00b4r0> these look very similar to what I have on my HPE servers, only much brighter
<Slimey> i can turn off the overhead lights and see fine
<dwfreed> rofl
<Habbie> f00b4r0, i realised :)
<f00b4r0> jow: one thing I'm not clear: wiki says that config file names may not contain hyphens, however the code seems to disagree: https://github.com/openwrt/uci/blob/5781664d5087ccc4b5ab58505883231212dbedbc/util.c#L82
minimal has quit [Quit: Leaving]
danitool has quit [Remote host closed the connection]
<Slimey> hmmm replace HP 2530-24G-PoEP Switch (J9773A) with WS-C2960X-24PD-L or nah? (nothing is wrong with the HP switch)
<Slimey> just cant use my awesome crisco tools on it
mattsm has joined #openwrt-devel
mattsm has quit [Quit: The Lounge - https://thelounge.chat]
mattsm has joined #openwrt-devel
skynet2 has joined #openwrt-devel
Misanthropos has quit [Quit: ZNC 1.8.2+deb2+b1 - https://znc.in]
gladiac is now known as Guest4208
gladiac has joined #openwrt-devel
Guest4208 has quit [Ping timeout: 480 seconds]
* f00b4r0 finds that uci can silently ignore parts of a broken config
Misanthropos has joined #openwrt-devel
<owrt-images-builds> Build [#132](https://buildbot.openwrt.org/images/#/builders/61/builds/132) of `master_ramips/mt7621` failed.
<f00b4r0> allowing \n in quoted strings really make catching unterminated strings quite less straightforward
cmonroe has quit [Read error: Connection reset by peer]
cmonroe has joined #openwrt-devel
robimarko has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
philipp64 has quit [Ping timeout: 480 seconds]
philipp64 has joined #openwrt-devel
philipp64 has quit []
Mangix has joined #openwrt-devel
gch981213 has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<Piraty> what is the process / policy of commits to be cherry-picked onto a releaes branch? for example 80b2288ea3234958e78761cc4720c03d4072d830 or 79e9ce354efc03859fea288d4131b8fa0cca1b3a
<Piraty> did nobody care yet? are those commits not fit to be backported/cherry-picked ?
philipp64 has joined #openwrt-devel