Re: [PATCH] Possible fix for some encryption related bugs during the Custom Layout editation (#495848)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

right, but now I'm thinking just about:

+        elif device.format.type == "luks":
+            try:
+                luksdev = self.devicetree.getChildren(device)[0]
+            except IndexError:
+                pass
+            else:
+                return "There is %s on top of this encrypted device." % luksdev.format.name

Because I do not care if the devices on top of LUKS are mutable. I just want to disallow modifying the LUKS when there any devices on top of it.

Martin

----- "David Lehman" <dlehman@xxxxxxxxxx> wrote:

> I think you're on the right track, but you probably want something
> more
> like this:
> 
> diff --git a/storage/__init__.py b/storage/__init__.py
> index f12c6c3..744d608 100644
> --- a/storage/__init__.py
> +++ b/storage/__init__.py
> @@ -520,6 +520,13 @@ class Storage(object):
>                      else:
>                          return _("This device is part of a LVM volume
> "
>                                   "group.")
> +        elif device.format.type == "luks":
> +            try:
> +                luksdev = self.devicetree.getChildren(device)[0]
> +            except IndexError:
> +                pass
> +            else:
> +                return self.deviceImmutable(luksdev)
>          elif isinstance(device, PartitionDevice) and
> device.isExtended:
>              reasons = {}
>              for dep in self.deviceDeps(device):
> 
> 
> Dave
> 
> On Thu, 2009-04-16 at 13:47 +0200, Martin Sivak wrote:
> > ---
> >  storage/__init__.py |   19 +++++++++++++++++++
> >  1 files changed, 19 insertions(+), 0 deletions(-)
> > 
> > diff --git a/storage/__init__.py b/storage/__init__.py
> > index 8678b6e..af24af6 100644
> > --- a/storage/__init__.py
> > +++ b/storage/__init__.py
> > @@ -327,6 +327,18 @@ class Storage(object):
> >          return partitions
> >  
> >      @property
> > +    def lukses(self):
> > +        """ A list of the LUKS devices in the device tree.
> > +
> > +            This is based on the current state of the device tree
> and
> > +            does not necessarily reflect the actual on-disk state
> of the
> > +            system's disks.
> > +        """
> > +        lukses = self.devicetree.getDevicesByType("luks")
> > +        lukses.sort(key=lambda d: d.name)
> > +        return lukses
> > +
> > +    @property
> >      def vgs(self):
> >          """ A list of the LVM Volume Groups in the device tree.
> >  
> > @@ -519,6 +531,13 @@ class Storage(object):
> >                      else:
> >                          return _("This device is part of a LVM
> volume "
> >                                   "group.")
> > +        elif device.format.type == "luks":
> > +            for luksdev in self.lukses:
> > +                #If we are checking LUKS, check also devices which
> are on top of it
> > +                msg = self.deviceImmutable(luksdev)
> > +                if msg:
> > +                    #remove the tailing dot to construct the
> message
> > +                    return " ".join(msg[:-1], "on top of LUKS
> device %s." % (luksdev.name,))
> >          elif isinstance(device, PartitionDevice) and
> device.isExtended:
> >              reasons = {}
> >              for dep in self.deviceDeps(device):
> 
> _______________________________________________
> Anaconda-devel-list mailing list
> Anaconda-devel-list@xxxxxxxxxx
> https://www.redhat.com/mailman/listinfo/anaconda-devel-list

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list

[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux