net: lwm2m: introduce LWM2M_HAS_PERM macro

Standardize permission checks via the LWM2M_HAS_PERM macro.

Signed-off-by: Michael Scott <michael@opensourcefoundries.com>
This commit is contained in:
Michael Scott 2018-04-30 15:30:12 -07:00 committed by Jukka Rissanen
commit f80c52d668
5 changed files with 6 additions and 6 deletions

View file

@ -2640,8 +2640,7 @@ static int do_read_op(struct lwm2m_engine_obj *obj,
res->res_id); res->res_id);
if (!obj_field) { if (!obj_field) {
ret = -ENOENT; ret = -ENOENT;
} else if ((obj_field->permissions & } else if (!LWM2M_HAS_PERM(obj_field, LWM2M_PERM_R)) {
LWM2M_PERM_R) != LWM2M_PERM_R) {
ret = -EPERM; ret = -EPERM;
} else { } else {
/* formatter startup if needed */ /* formatter startup if needed */

View file

@ -81,6 +81,8 @@
LWM2M_OP_BIT(LWM2M_OP_CREATE) | \ LWM2M_OP_BIT(LWM2M_OP_CREATE) | \
LWM2M_OP_BIT(LWM2M_OP_EXECUTE)) LWM2M_OP_BIT(LWM2M_OP_EXECUTE))
#define LWM2M_HAS_PERM(of, p) ((of->permissions & p) == p)
/* resource types */ /* resource types */
#define LWM2M_RES_TYPE_NONE 0 #define LWM2M_RES_TYPE_NONE 0
#define LWM2M_RES_TYPE_OPAQUE 1 #define LWM2M_RES_TYPE_OPAQUE 1

View file

@ -569,8 +569,7 @@ int do_write_op_json(struct lwm2m_engine_obj *obj,
goto skip_optional; goto skip_optional;
} }
if ((obj_field->permissions & LWM2M_PERM_W) != if (!LWM2M_HAS_PERM(obj_field, LWM2M_PERM_W)) {
LWM2M_PERM_W) {
return -EPERM; return -EPERM;
} }

View file

@ -741,7 +741,7 @@ static int do_write_op_tlv_item(struct lwm2m_engine_context *context)
return -ENOENT; return -ENOENT;
} }
if ((obj_field->permissions & LWM2M_PERM_W) != LWM2M_PERM_W) { if (!LWM2M_HAS_PERM(obj_field, LWM2M_PERM_W)) {
return -EPERM; return -EPERM;
} }

View file

@ -354,7 +354,7 @@ int do_write_op_plain_text(struct lwm2m_engine_obj *obj,
return -ENOENT; return -ENOENT;
} }
if ((obj_field->permissions & LWM2M_PERM_W) != LWM2M_PERM_W) { if (!LWM2M_HAS_PERM(obj_field, LWM2M_PERM_W)) {
return -EPERM; return -EPERM;
} }