Hi Ryan, > -----Original Message----- > From: Ryan Ware [mailto:[email protected]] > Sent: Tuesday, January 25, 2011 12:15 PM > To: Zhu, Peter J > Cc: [email protected]; [email protected] > Subject: Re: [meego-packaging] [meego-commits] 12648: Changes to > Trunk:Testing/coreutils > > Hey Peter, > > The "Not Found" error is likely due to OBS being down earlier today. Ok >However, > I agree Casey should submit to devel:base. > Yes, I agree as well fully. That's why I ask Casey to use "osc branch". If using branch, it would automatically branch from right devel project, here it's devel:base.
BTW, again, for all packages submitted, developer should do some basic testing. Peter > Ryan > > On Jan 24, 2011, at 7:02 PM, Zhu, Peter J wrote: > > > Please follow > http://wiki.meego.com/Release_Engineering/Submission_Checklist#Step_4:_S > ubmit_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 _______________________________________________ MeeGo-packaging mailing list [email protected] http://lists.meego.com/listinfo/meego-packaging
