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

Subversion リポジトリの参照

Diff of /trunk/1.5.x/ccs-patch/fs/sakura_mount.c

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

revision 357 by kumaneko, Thu Aug 16 08:16:36 2007 UTC revision 588 by kumaneko, Thu Oct 18 11:45:21 2007 UTC
# Line 5  Line 5 
5   *   *
6   * Copyright (C) 2005-2007  NTT DATA CORPORATION   * Copyright (C) 2005-2007  NTT DATA CORPORATION
7   *   *
8   * Version: 1.5.0-pre   2007/08/16   * Version: 1.5.2-pre   2007/10/19
9   *   *
10   * This file is applicable to both 2.4.30 and 2.6.11 and later.   * This file is applicable to both 2.4.30 and 2.6.11 and later.
11   * See README.ccs for ChangeLog.   * See README.ccs for ChangeLog.
# Line 56  struct mount_entry { Line 56  struct mount_entry {
56          const struct path_info *dir_name;          const struct path_info *dir_name;
57          const struct path_info *fs_type;          const struct path_info *fs_type;
58          unsigned long flags;          unsigned long flags;
59          int is_deleted;          u8 is_deleted;
60  };  };
61    
62  /*************************  MOUNT RESTRICTION HANDLER  *************************/  /*************************  MOUNT RESTRICTION HANDLER  *************************/
# Line 68  static void put_filesystem(struct file_s Line 68  static void put_filesystem(struct file_s
68    
69  static struct mount_entry *mount_list = NULL;  static struct mount_entry *mount_list = NULL;
70    
71  static int AddMountACL(const char *dev_name, const char *dir_name, const char *fs_type, const unsigned long flags, const int is_delete)  static int AddMountACL(const char *dev_name, const char *dir_name, const char *fs_type, const unsigned long flags, const u8 is_delete)
72  {  {
73          struct mount_entry *new_entry, *ptr;          struct mount_entry *new_entry, *ptr;
74          const struct path_info *fs, *dev, *dir;          const struct path_info *fs, *dev, *dir;
# Line 141  static int AddMountACL(const char *dev_n Line 141  static int AddMountACL(const char *dev_n
141    
142  static int CheckMountPermission2(char *dev_name, char *dir_name, char *type, unsigned long flags)  static int CheckMountPermission2(char *dev_name, char *dir_name, char *type, unsigned long flags)
143  {  {
144          const int is_enforce = CheckCCSEnforce(CCS_SAKURA_RESTRICT_MOUNT);          const u8 is_enforce = CheckCCSEnforce(CCS_SAKURA_RESTRICT_MOUNT);
145          int error = -EPERM;          int error = -EPERM;
146          if (!CheckCCSFlags(CCS_SAKURA_RESTRICT_MOUNT)) return 0;          if (!CheckCCSFlags(CCS_SAKURA_RESTRICT_MOUNT)) return 0;
147          if (!type) type = "<NULL>";          if (!type) type = "<NULL>";
# Line 289  static int CheckMountPermission2(char *d Line 289  static int CheckMountPermission2(char *d
289                          ccs_free(realname2);                          ccs_free(realname2);
290                          ccs_free(realname1);                          ccs_free(realname1);
291                  }                  }
292                  if (error && !is_enforce && CheckCCSAccept(CCS_SAKURA_RESTRICT_MOUNT)) {                  if (error && !is_enforce && CheckCCSAccept(CCS_SAKURA_RESTRICT_MOUNT, NULL)) {
293                          AddMountACL(need_dev ? requested_dev_name : dev_name, requested_dir_name, type, flags, 0);                          AddMountACL(need_dev ? requested_dev_name : dev_name, requested_dir_name, type, flags, 0);
294                          UpdateCounter(CCS_UPDATES_COUNTER_SYSTEM_POLICY);                          UpdateCounter(CCS_UPDATES_COUNTER_SYSTEM_POLICY);
295                  }                  }
# Line 302  static int CheckMountPermission2(char *d Line 302  static int CheckMountPermission2(char *d
302          return error;          return error;
303  }  }
304    
305  int CheckMountPermission(char *dev_name, char *dir_name, char *type, unsigned long *flags)  /* This is a wrapper to allow use of 1.4.x patch for 1.5.x . */
306    int CheckMountPermission(char *dev_name, char *dir_name, char *type, const unsigned long *flags)
307  {  {
308          return CheckMountPermission2(dev_name, dir_name, type, *flags);          return CheckMountPermission2(dev_name, dir_name, type, *flags);
309  }  }
   
310  EXPORT_SYMBOL(CheckMountPermission);  EXPORT_SYMBOL(CheckMountPermission);
311    
312  int AddMountPolicy(char *data, const int is_delete)  int AddMountPolicy(char *data, const u8 is_delete)
313  {  {
314          char *cp, *cp2;          char *cp, *cp2;
315          const char *fs, *dev, *dir;          const char *fs, *dev, *dir;

Legend:
Removed from v.357  
changed lines
  Added in v.588

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