Using barebox-state as library

Ahmad Fatoum a.fatoum at
Wed Feb 10 03:53:34 EST 2021

Hello Marcel,

On 10.02.21 09:37, barebox+mailing at wrote:
> Hey everyone, 
> I would like to set and read barebox-states during runtime. Unfortunately only a binary is available to be used. 
> But because the variable names and values are from an untrusted environment, I don't like them to be passed to a shell directly. 

I can't follow here. Why can't you run barebox-state with the required arguments? That's what e.g.
RAUC is doing. It can listen on DBus for e.g. a mark-good and then calls barebox-state with the correct
arguments. You can use standard Linux access control mechanisms, so only your daemon's group may use

> Therefore I would like to use a barebox-state library, which offers some functions, e.g. read_var, set_var, ...

dt-utils and barebox-sate is GPL2-licensed, so if that's acceptable for your daemon, you could
take dt-utils:src/barebox-state.c and replace the argument parsing with whatever. I am not
aware whether someone did that before though.

> An other approach would be some kind of IPC, e.g. dbus or similar, but I'm not sure if that would fit into the simplicity of the current binary. 
> Do you see any other possibilities so fetch and set variables from the barebox-state? 
> Greetings, 
> Marcel


> _______________________________________________
> barebox mailing list
> barebox at

Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       |  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

More information about the barebox mailing list