Ken'ichi Ohmichi wrote: > Hi, > > To add the member "procname" to struct cgroup_rule by later patch, this > patch renames the member "name" to "username" for the clarification. > > > Thanks > Ken'ichi Ohmichi > > Signed-off-by: Ken'ichi Ohmichi <[email protected]> > --- > src/api.c | 17 +++++++++-------- > src/libcgroup-internal.h | 2 +- > 2 files changed, 10 insertions(+), 9 deletions(-) > > diff --git a/src/api.c b/src/api.c > index 237d4e6..9da3ebb 100644 > --- a/src/api.c > +++ b/src/api.c > @@ -479,7 +479,7 @@ static int cgroup_parse_rules(bool cache, uid_t muid, > gid_t mgid) > > newrule->uid = uid; > newrule->gid = gid; > - strncpy(newrule->name, user, strlen(user)); > + strncpy(newrule->username, user, strlen(user));
I wonder why there is strncpy(..., strlen(user)) - it actually walks through 'user' twice, once to compute length and then it's actually copied. Simple strcpy does the same, doesn't it? I know it's not your bug, the code was already there and it originally comes from [email protected]. Still, would you mind fixing such nonsense, probably in another, unrelated patch? > strncpy(newrule->destination, destination, strlen(destination)); > newrule->next = NULL; > > @@ -519,7 +519,7 @@ static int cgroup_parse_rules(bool cache, uid_t muid, > gid_t mgid) > } > > cgroup_dbg("Added rule %s (UID: %d, GID: %d) -> %s for" > - " controllers:", lst->tail->name, lst->tail->uid, > + " controllers:", lst->tail->username, lst->tail->uid, > lst->tail->gid, lst->tail->destination); > for (i = 0; lst->tail->controllers[i]; i++) { > cgroup_dbg(" %s", lst->tail->controllers[i]); > @@ -1812,9 +1812,9 @@ static struct cgroup_rule > *cgroup_find_matching_rule_uid_gid(const uid_t uid, > } > > /* If this is a group rule, the UID might be a member. */ > - if (ret->name[0] == '@') { > + if (ret->username[0] == '@') { > /* Get the group data. */ > - sp = &(ret->name[1]); > + sp = &(ret->username[1]); > grp = getgrnam(sp); > if (!grp) { > continue; > @@ -1914,11 +1914,12 @@ int cgroup_change_cgroup_uid_gid_flags(const uid_t > uid, const gid_t gid, > } > } > cgroup_dbg("Found matching rule %s for PID: %d, UID: %d, GID: %d\n", > - tmp->name, pid, uid, gid); > + tmp->username, pid, uid, gid); > > /* If we are here, then we found a matching rule, so execute it. */ > do { > - cgroup_dbg("Executing rule %s for PID %d... ", tmp->name, pid); > + cgroup_dbg("Executing rule %s for PID %d... ", tmp->username, > + pid); > ret = cgroup_change_cgroup_path(tmp->destination, > pid, tmp->controllers); > if (ret) { > @@ -1932,7 +1933,7 @@ int cgroup_change_cgroup_uid_gid_flags(const uid_t uid, > const gid_t gid, > * we just executed. > */ > tmp = tmp->next; > - } while (tmp && (tmp->name[0] == '%')); > + } while (tmp && (tmp->username[0] == '%')); > > finished: > return ret; > @@ -2007,7 +2008,7 @@ void cgroup_print_rules_config(FILE *fp) > > itr = rl.head; > while (itr) { > - fprintf(fp, "Rule: %s\n", itr->name); > + fprintf(fp, "Rule: %s\n", itr->username); > > if (itr->uid == CGRULE_WILD) > fprintf(fp, " UID: any\n"); > diff --git a/src/libcgroup-internal.h b/src/libcgroup-internal.h > index 001da1a..9e69f10 100644 > --- a/src/libcgroup-internal.h > +++ b/src/libcgroup-internal.h > @@ -74,7 +74,7 @@ struct cgroup_rules_data { > struct cgroup_rule { > uid_t uid; > gid_t gid; > - char name[LOGIN_NAME_MAX]; > + char username[LOGIN_NAME_MAX]; > char destination[FILENAME_MAX]; > char *controllers[MAX_MNT_ELEMENTS]; > struct cgroup_rule *next; > > ------------------------------------------------------------------------------ > Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT > is a gathering of tech-side developers & brand creativity professionals. Meet > the minds behind Google Creative Lab, Visual Complexity, Processing, & > iPhoneDevCamp asthey present alongside digital heavyweights like Barbarian > Group, R/GA, & Big Spaceship. http://www.creativitycat.com > _______________________________________________ > Libcg-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/libcg-devel ------------------------------------------------------------------------------ Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT is a gathering of tech-side developers & brand creativity professionals. Meet the minds behind Google Creative Lab, Visual Complexity, Processing, & iPhoneDevCamp as they present alongside digital heavyweights like Barbarian Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com _______________________________________________ Libcg-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libcg-devel
