オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.8.x/ccs-patch/security/ccsecurity/domain.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3706 by kumaneko, Fri May 28 12:44:01 2010 UTC revision 3707 by kumaneko, Tue Jun 1 05:21:48 2010 UTC
# Line 236  static int ccs_update_domain_initializer Line 236  static int ccs_update_domain_initializer
236  {  {
237          struct ccs_domain_initializer e = { .is_not = is_not };          struct ccs_domain_initializer e = { .is_not = is_not };
238          int error = is_delete ? -ENOENT : -ENOMEM;          int error = is_delete ? -ENOENT : -ENOMEM;
239          if (!ccs_correct_path(program, 1, -1, -1))          if (!ccs_correct_path(program))
240                  return -EINVAL; /* No patterns allowed. */                  return -EINVAL;
241          if (domainname) {          if (domainname) {
242                  if (!ccs_domain_def(domainname) &&                  if (!ccs_domain_def(domainname) &&
243                      ccs_correct_path(domainname, 1, -1, -1))                      ccs_correct_path(domainname))
244                          e.is_last_name = true;                          e.is_last_name = true;
245                  else if (!ccs_correct_domain(domainname))                  else if (!ccs_correct_domain(domainname))
246                          return -EINVAL;                          return -EINVAL;
# Line 350  static int ccs_update_domain_keeper_entr Line 350  static int ccs_update_domain_keeper_entr
350  {  {
351          struct ccs_domain_keeper e = { .is_not = is_not };          struct ccs_domain_keeper e = { .is_not = is_not };
352          int error = is_delete ? -ENOENT : -ENOMEM;          int error = is_delete ? -ENOENT : -ENOMEM;
353          if (!ccs_domain_def(domainname) &&          if (!ccs_domain_def(domainname) && ccs_correct_path(domainname))
             ccs_correct_path(domainname, 1, -1, -1))  
354                  e.is_last_name = true;                  e.is_last_name = true;
355          else if (!ccs_correct_domain(domainname))          else if (!ccs_correct_domain(domainname))
356                  return -EINVAL;                  return -EINVAL;
357          if (program) {          if (program) {
358                  if (!ccs_correct_path(program, 1, -1, -1))                  if (!ccs_correct_path(program))
359                          return -EINVAL;                          return -EINVAL;
360                  e.program = ccs_get_name(program);                  e.program = ccs_get_name(program);
361                  if (!e.program)                  if (!e.program)
# Line 460  static int ccs_update_aggregator_entry(c Line 459  static int ccs_update_aggregator_entry(c
459  {  {
460          struct ccs_aggregator e = { };          struct ccs_aggregator e = { };
461          int error = is_delete ? -ENOENT : -ENOMEM;          int error = is_delete ? -ENOENT : -ENOMEM;
462          if (!ccs_correct_path(original_name, 1, 0, -1) ||          if (!ccs_correct_path(original_name) ||
463              !ccs_correct_path(aggregated_name, 1, -1, -1))              !ccs_correct_path(aggregated_name))
464                  return -EINVAL;                  return -EINVAL;
465          e.original_name = ccs_get_name(original_name);          e.original_name = ccs_get_name(original_name);
466          e.aggregated_name = ccs_get_name(aggregated_name);          e.aggregated_name = ccs_get_name(aggregated_name);
# Line 646  static int ccs_find_next_domain(struct c Line 645  static int ccs_find_next_domain(struct c
645          /* Calculate domain to transit to. */          /* Calculate domain to transit to. */
646          if (ccs_domain_initializer(old_domain->domainname, &rn, &ln)) {          if (ccs_domain_initializer(old_domain->domainname, &rn, &ln)) {
647                  /* Transit to the child of ccs_kernel_domain domain. */                  /* Transit to the child of ccs_kernel_domain domain. */
648                  snprintf(ee->tmp, CCS_EXEC_TMPSIZE - 1, ROOT_NAME " " "%s",                  snprintf(ee->tmp, CCS_EXEC_TMPSIZE - 1, CCS_ROOT_NAME " " "%s",
649                           rn.name);                           rn.name);
650          } else if (old_domain == &ccs_kernel_domain && !ccs_policy_loaded) {          } else if (old_domain == &ccs_kernel_domain && !ccs_policy_loaded) {
651                  /*                  /*

Legend:
Removed from v.3706  
changed lines
  Added in v.3707

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26