Please follow 
http://wiki.meego.com/Release_Engineering/Submission_Checklist#Step_4:_Submit_from_correct_place_to_correct_place
 and avoid common mistakes in 
http://wiki.meego.com/Release_Engineering/Submission_Checklist#Common_Mistakes_and_FAQs

using "osc branch" to do your work. 

Now this time it's even worse your package was not there

Server returned an error: HTTP Error 404: Not Found
Diff not possible
Unknown package 'coreutils-smack-v2' in project 'home:caseys'

Peter

> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Casey Schaufler
> Sent: Tuesday, January 25, 2011 1:09 AM
> To: [email protected]
> Subject: [meego-commits] 12648: Changes to Trunk:Testing/coreutils
> 
> Hi,
> I have made the following changes to coreutils in project Trunk:Testing. 
> Please
> review and accept ASAP.
> 
> Thank You,
> Casey Schaufler
> 
> [This message was auto-generated]
> 
> ---
> 
> Request #12648:
> 
>   submit:   home:caseys/coreutils-smack-v2(r5)(update) ->
> Trunk:Testing/coreutils
> 
> 
> Message:
>     Add basic support for Smack labels. Carefully check Smack support in the
> kernel before attempting to preserve the "security context" and only do so on
> explicit request.
> 
> State:   new          2011-01-24T09:08:40 caseys
> Comment: None
> 
> 
> 
> changes files:
> --------------
> --- coreutils.changes
> +++ coreutils.changes
> @@ -0,0 +1,9 @@
> +* Mon Jan 24 2011 Casey Schaufler <[email protected]>
> +- Include basic support for Smack labels.
> +  Display with -Z in ls and id.
> +  Maintain on explicit request in cp, mv, install
> +  but only if the kernel is Smack emabled.
> +  New patch:
> +  coreutils-6.9-smack.patch
> +
> +
> 
> new:
> ----
>   coreutils-6.9-smack.patch
> 
> spec files:
> -----------
> --- coreutils.spec
> +++ coreutils.spec
> @@ -45,6 +45,7 @@
>  Patch912: coreutils-overflow.patch
>  Patch915: coreutils-split-pam.patch
>  Patch916: coreutils-getfacl-exit-code.patch
> +Patch960: coreutils-6.9-smack.patch
> 
>  Patch1001: mktemp-1.5-build.patch
> 
> @@ -113,6 +114,7 @@
>  %patch912 -p1 -b .overflow
>  %patch915 -p1 -b .splitl
>  %patch916 -p1 -b .getfacl-exit-code
> +%patch960 -p1 -b .smack
> 
>  #SELinux
>  #%patch950 -p1 -b .selinux
> 
> other changes:
> --------------
> 
> ++++++ coreutils-6.9-smack.patch (new)
> --- coreutils-6.9-smack.patch
> +++ coreutils-6.9-smack.patch
> +diff -uprN coreutils-6.9-patched/src/copy.c coreutils-6.9-smack/src/copy.c
> +--- coreutils-6.9-patched/src/copy.c 2011-01-18 16:09:35.326350631 -0800
> ++++ coreutils-6.9-smack/src/copy.c   2011-01-18 17:10:55.686799495 -0800
> +@@ -53,6 +53,7 @@
> + #include "utimens.h"
> + #include "xreadlink.h"
> + #include "yesno.h"
> ++#include "smack.h"
> +
> + #ifndef HAVE_FCHOWN
> + # define HAVE_FCHOWN false
> +@@ -570,6 +571,28 @@ copy_reg (char const *src_name, char con
> +     }
> +     }
> +
> ++  if (x->preserve_context)
> ++    {
> ++      char src_context[SMACK_LABELLEN];
> ++      char dst_context[SMACK_LABELLEN];
> ++
> ++      if (smack_of_fd (source_desc, src_context, SMACK_LABELLEN) < 0)
> ++        {
> ++          if (x->require_preserve)
> ++            return_val = false;
> ++        }
> ++      else if (smack_of_fd (dest_desc, dst_context, SMACK_LABELLEN) < 0)
> ++        {
> ++          if (x->require_preserve)
> ++            return_val = false;
> ++        }
> ++      else if (strcmp(src_context, dst_context))
> ++        {
> ++          if (smack_to_fd(dest_desc, src_context) < 0 &&
> x->require_preserve)
> ++            return_val = false;
> ++        }
> ++    }
> ++
> + close_src_and_dst_desc:
> +   if (close (dest_desc) < 0)
> +     {
> +diff -uprN coreutils-6.9-patched/src/copy.h coreutils-6.9-smack/src/copy.h
> +--- coreutils-6.9-patched/src/copy.h 2011-01-18 16:00:55.976352118 -0800
> ++++ coreutils-6.9-smack/src/copy.h   2011-01-18 17:10:55.686799495 -0800
> +@@ -128,6 +128,10 @@ struct cp_options
> +   bool preserve_mode;
> +   bool preserve_timestamps;
> +
> ++  /* If true, attempt to give the copies the original files'
> ++     security context. */
> ++  bool preserve_context;
> ++
> +   /* Enabled for mv, and for cp by the --preserve=links option.
> +      If true, attempt to preserve in the destination files any
> +      logical hard links between the source files.  If used with cp's
> +diff -uprN coreutils-6.9-patched/src/cp.c coreutils-6.9-smack/src/cp.c
> +--- coreutils-6.9-patched/src/cp.c   2011-01-18 16:00:55.976352118 -0800
> ++++ coreutils-6.9-smack/src/cp.c     2011-01-24 08:06:57.424498990 -0800
> +@@ -35,6 +35,7 @@
> + #include "stat-time.h"
> + #include "utimens.h"
> + #include "acl.h"
> ++#include "smack.h"
> +
> + #define ASSIGN_BASENAME_STRDUPA(Dest, File_name)    \
> +   do                                                        \
> +@@ -191,7 +192,7 @@ Mandatory arguments to long options are
> +   -p                           same as
> --preserve=mode,ownership,timestamps\n\
> +       --preserve[=ATTR_LIST]   preserve the specified attributes
> (default:\n\
> +                                  mode,ownership,timestamps), if
> possible\n\
> +-                                 additional attributes: links, all\n\
> ++                                 additional attributes: links, context,
> all\n\
> + "), stdout);
> +       fputs (_("\
> +       --no-preserve=ATTR_LIST  don't preserve the specified attributes\n\
> +@@ -317,6 +318,27 @@ re_protect (char const *const_dst_name,
> +         }
> +     }
> +
> ++      if (x->preserve_context)
> ++        {
> ++          char src_context[SMACK_LABELLEN];
> ++          char dst_context[SMACK_LABELLEN];
> ++
> ++          if (smack_of_file (src_name, src_context, SMACK_LABELLEN) < 0
> ||
> ++              smack_of_file (dst_name, dst_context, SMACK_LABELLEN)
> < 0)
> ++            {
> ++          error (0, errno, _("failed to preserve context for %s"),
> ++                 quote (dst_name));
> ++          return false;
> ++            }
> ++          if (strcmp (src_context, dst_context) &&
> ++              smack_to_file (dst_name, src_context) < 0)
> ++            {
> ++          error (0, errno, _("failed to preserve context for %s"),
> ++                 quote (dst_name));
> ++          return false;
> ++            }
> ++        }
> ++
> +       if (x->preserve_ownership)
> +     {
> +       if (chown (dst_name, src_sb.st_uid, src_sb.st_gid) != 0
> +@@ -749,6 +771,7 @@ cp_option_init (struct cp_options *x)
> +   x->preserve_links = false;
> +   x->preserve_mode = false;
> +   x->preserve_timestamps = false;
> ++  x->preserve_context = false;
> +
> +   x->require_preserve = false;
> +   x->recursive = false;
> +@@ -777,18 +800,19 @@ decode_preserve_arg (char const *arg, st
> +       PRESERVE_TIMESTAMPS,
> +       PRESERVE_OWNERSHIP,
> +       PRESERVE_LINK,
> ++      PRESERVE_CONTEXT,
> +       PRESERVE_ALL
> +     };
> +   static enum File_attribute const preserve_vals[] =
> +     {
> +       PRESERVE_MODE, PRESERVE_TIMESTAMPS,
> +-      PRESERVE_OWNERSHIP, PRESERVE_LINK, PRESERVE_ALL
> ++      PRESERVE_OWNERSHIP, PRESERVE_LINK, PRESERVE_CONTEXT,
> PRESERVE_ALL
> +     };
> +   /* Valid arguments to the `--preserve' option. */
> +   static char const* const preserve_args[] =
> +     {
> +       "mode", "timestamps",
> +-      "ownership", "links", "all", NULL
> ++      "ownership", "links", "context", "all", NULL
> +     };
> +   ARGMATCH_VERIFY (preserve_args, preserve_vals);
> +
> +@@ -824,11 +848,17 @@ decode_preserve_arg (char const *arg, st
> +       x->preserve_links = on_off;
> +       break;
> +
> ++    case PRESERVE_CONTEXT:
> ++          if (smack_enabled())
> ++            x->preserve_context = on_off;
> ++      break;
> ++
> +     case PRESERVE_ALL:
> +       x->preserve_mode = on_off;
> +       x->preserve_timestamps = on_off;
> +       x->preserve_ownership = on_off;
> +       x->preserve_links = on_off;
> ++          /* Do not include context. It is unexpected. */
> +       break;
> +
> +     default:
> +@@ -887,6 +917,7 @@ main (int argc, char **argv)
> +       x.preserve_timestamps = true;
> +       x.require_preserve = true;
> +       x.recursive = true;
> ++          /* Do not include context. It is unexpected. */
> +       break;
> +
> +     case 'b':
> +diff -uprN coreutils-6.9-patched/src/id.c coreutils-6.9-smack/src/id.c
> +--- coreutils-6.9-patched/src/id.c   2011-01-18 16:47:35.547600371 -0800
> ++++ coreutils-6.9-smack/src/id.c     2011-01-24 07:06:59.424125215 -0800
> +@@ -29,6 +29,7 @@
> + #include "system.h"
> + #include "error.h"
> + #include "quote.h"
> ++#include "smack.h"
> +
> + /* The official name of this program (e.g., no `g' prefix).  */
> + #define PROGRAM_NAME "id"
> +@@ -40,6 +41,7 @@ int getugroups ();
> + static void print_user (uid_t uid);
> + static void print_group (gid_t gid);
> + static void print_group_list (const char *username);
> ++static void print_context (void);
> + static void print_full_info (const char *username);
> +
> + /* The name this program was run with. */
> +@@ -52,11 +54,15 @@ static bool use_name = false;
> + static uid_t ruid, euid;
> + static gid_t rgid, egid;
> +
> ++/* The security "context" to print. */
> ++static char context[SMACK_LABELLEN];
> ++
> + /* True unless errors have been encountered.  */
> + static bool ok = true;
> +
> + static struct option const longopts[] =
> + {
> ++  {"context", no_argument, NULL, 'Z'},
> +   {"group", no_argument, NULL, 'g'},
> +   {"groups", no_argument, NULL, 'G'},
> +   {"name", no_argument, NULL, 'n'},
> +@@ -80,6 +86,7 @@ usage (int status)
> + Print information for USERNAME, or the current user.\n\
> + \n\
> +   -a              ignore, for compatibility with other versions\n\
> ++  -Z, --context   print only the security context\n\
> (732 more lines skipped)
> 
> _______________________________________________
> MeeGo-commits mailing list
> [email protected]
> http://lists.meego.com/listinfo/meego-commits
_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to