[U-Boot] [PATCH 0/12] Add environment type checking and access control
Joe Hershberger
joe.hershberger at ni.com
Fri Aug 17 22:49:34 CEST 2012
Enable validation of the values given to enviroment variables when
calling env set. Variables can be restricted to only decimal,
hexadecimal, or boolean. If CONFIG_CMD_NET is also defined,
the variables can also be restricted to IP address or MAC address.
The format of the list is:
type_attribute = [s|d|x|b|i|m]
access_atribute = [a|r|o]
attributes = type_attribute[access_atribute]
entry = variable_name[:attributes]
list = entry[,list]
The type attributes are:
s - String (default)
d - Decimal
x - Hexadecimal
b - Boolean
i - IP address
m - MAC address
The access attributes are:
a - Any (default)
r - Read-only
o - Write-once (change default)
- CONFIG_ENV_ACL_DEFAULT
Define this to a list (string) to define the "acl" envirnoment
variable in the default or embedded environment.
- CONFIG_ENV_ACL_STATIC
Define this to a list (string) to define validation that
should be done if an entry is not found in the "acl"
environment variable. To override a setting in the static
list, simply add an entry for the same variable name to the
"acl" variable.
Joe Hershberger (12):
tools/env: Use a board-specific default env
tools/env: Remove unneeded complexity
tools/env: Don't call env_init() in fw_getenv()
tools/env: Reduce the impact on real-time processes
tools/env: Serialize calls to fw_*env
env: Make the "silent" env var take effect immediately
env: Update serial baudrate in env_relocate()
env: Check for NULL pointer in envmatch()
env: Clarify the cases for env set
env: acl: Add environment variable access control list
env: acl: Add support for access control to env ACL
env: cosmetic: Consilidate the default env definition
README | 42 +++++++
common/Makefile | 1 +
common/cmd_nvedit.c | 171 ++++++++++++++++++++-------
common/env_acl.c | 308 ++++++++++++++++++++++++++++++++++++++++++++++++
common/env_common.c | 123 +++++--------------
common/env_embedded.c | 111 +----------------
doc/README.silent | 14 ++-
include/env_acl.h | 63 ++++++++++
include/env_default.h | 142 ++++++++++++++++++++++
tools/env/Makefile | 7 +-
tools/env/fw_env.c | 305 ++++++++++++++++++++++++-----------------------
tools/env/fw_env.h | 25 ++++
tools/env/fw_env_main.c | 59 ++++++----
13 files changed, 943 insertions(+), 428 deletions(-)
create mode 100644 common/env_acl.c
create mode 100644 include/env_acl.h
create mode 100644 include/env_default.h
--
1.7.11.5
More information about the U-Boot
mailing list