Re: Looking for volunteers to test and review ecryptfs integration with Android

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

 



The only exception, that I know of, to the "no GPL code is available
on production image" is the kernel.

On Fri, Dec 6, 2013 at 5:15 PM, Catalin Ionita <io.catalin@xxxxxxxxx> wrote:
>> No they didn't... External/check policy is GPL...the kernel..etc
>
> external/checkpolicy is getting build only for host system and is used
> with the Android build system. No GPL code is available on a
> production image. Busybox and other GPL tools available in the Androd
> tree are built only for debugging images, not production ones. This is
> one of the main reason why Google has reimplemented GPL projects like
> libc (bionic).
>
> --Catalin
>
> On Fri, Dec 6, 2013 at 4:28 PM, William Roberts
> <bill.c.roberts@xxxxxxxxx> wrote:
>>
>> On Dec 6, 2013 12:02 AM, "Catalin Ionita" <io.catalin@xxxxxxxxx> wrote:
>>>
>>> Hi Tyler,
>>>
>>> > efs-tools, like ecryptfs-utils, is building against the LGPL-ed
>>> > ibkeyutils.
>>>
>>> I'm using a minimal API from libkeyutils to add, search and remove a
>>> key from kernel keyring. If the LGPL of keyutils will become a problem
>>> I can switch to calling the syscalls directly inside efs-tools.
>>>
>>> > It would obviously take some more thought, but it is possible for
>>> > ecryptfs-utils to provide an LGPL'ed library that all eCryptfs user
>>> > space utilities could use.
>>> > libecryptfs was supposed to be exactly that, but it was unfortunately
>>> > licensed as GPL long ago...
>>>
>>> As far as I know, you have to rewrite the GPL branded components from
>>> scratch. If there is a way to provide an LGPL ecryptfs-utils I will be
>>> more than happy to integrate it with Android. I don't like
>>> fragmentation, and, at this point, ecryptfs-utils is a mature product.
>>
>> No they didn't... External/check policy is GPL...the kernel..etc.
>>
>>>
>>> >>
>>> >> On the code side, are their dependencies to other libraries that the
>>> >> userspace tools
>>> >> require that perhaps Android does not  have or has incompatible
>>> >> versions?
>>> >
>>> > Possibly, but that could be worked around at build time.
>>>
>>> Google striped all GPL components from Android. You can't find easily
>>> code that you can reuse, so I had to rewrite some features from
>>> scratch:
>>>    - Android keystore implementation is different from any Linux
>>> distro. libnss is not present on Android distributions. I've made a
>>> minimal software keystore integration in efs-tools. The ultimate goal
>>> is to have ecryptfs keys backed with hardware (on my todo list for
>>> Intel mobile platforms).
>>>    - File utils like cp, mv, rm are scarce (only some BSD code) and I
>>> had to rewrite those as well
>>>    - Android does things differently at boot than other Linux distros.
>>> I had to write a small library that I can statically link with
>>> initramfs components.
>>>
>>> Overall, the only thing that Android has in common with other Linux
>>> distros is the Linux kernel. We can store efs-tools and ecryptfs-utils
>>> in the same package and compile according to the OS, but other than
>>> that, the two libraries can't share code or functionality.
>>>
>>>
>>> --Catalin
>>>
>>> On Thu, Dec 5, 2013 at 9:11 PM, Tyler Hicks <tyhicks@xxxxxxxxxxxxx> wrote:
>>> > On 2013-12-05 10:57:27, William Roberts wrote:
>>> >> On Thu, Dec 5, 2013 at 10:38 AM, Tyler Hicks <tyhicks@xxxxxxxxxxxxx>
>>> >> wrote:
>>> >> > On 2013-12-05 19:32:11, Catalin Ionita wrote:
>>> >> >> Hi,
>>> >> >
>>> >> > Hello!
>>> >> >
>>> >> >>
>>> >> >> I've been working for some time on a solution to integrate ecryptfs
>>> >> >> in Android. Due to some Android specifics and license problems I had
>>> >> >> to rewrite the userspace tools.
>>> >> >
>>> >> > I really wish these problems would have been brought up on this list.
>>> >> > Fragmentation of the utilities is a bad thing. There's already enough
>>> >> > of
>>> >> > it in ecryptfs-utils (mount.ecryptfs vs mount.ecryptfs_private) but
>>> >> > now
>>> >> > there's an entirely new package, too.
>>> >> >
>>> >> >> Also, for a nice finish touch, I have
>>> >> >> implemented Android user data encryption from top (including a
>>> >> >> minimal
>>> >> >> GUI) to bottom on a Nexus 4 running latest AOSP kitkat.
>>> >> >
>>> >> > Very cool. Looking forward to checking it out.
>>> >> >
>>> >> >>
>>> >> >> I'm looking for volunteers to test, review or contribute to Android
>>> >> >> userspace tools that I've built. The project is stored at
>>> >> >> https://github.com/catalinionita/Ecryptfs-Tools-for-Android
>>> >> >
>>> >> > First, I'd like to explore merging the two code bases. Can you lay
>>> >> > out
>>> >> > the reasons for writing from scratch?
>>> >>
>>> >> If he is looking to upstream it, Google prefers things under Apache
>>> >> 2.0. However,
>>> >> this doesn't mean that other licenses are instantly a no either. For
>>> >> example, checkpolicy.
>>> >
>>> > efs-tools, like ecryptfs-utils, is building against the LGPL-ed
>>> > libkeyutils.
>>> >
>>> > It would obviously take some more thought, but it is possible for
>>> > ecryptfs-utils to provide an LGPL'ed library that all eCryptfs user
>>> > space utilities could use.
>>> >
>>> > libecryptfs was supposed to be exactly that, but it was unfortunately
>>> > licensed as GPL long ago...
>>> >
>>> >>
>>> >> On the code side, are their dependencies to other libraries that the
>>> >> userspace tools
>>> >> require that perhaps Android does not  have or has incompatible
>>> >> versions?
>>> >
>>> > Possibly, but that could be worked around at build time.
>>> >
>>> >>
>>> >> Another reason would perhaps be size, lets see what the author says.
>>> >> Also, I could swear
>>> >> I remember reading something about him asking about Android ecryptfs
>>> >> before.
>>> >
>>> > There have been a couple people ask about building ecryptfs-utils on
>>> > Android. I think the libnss dependency is the problem. We've discussed
>>> > how to solve that problem with at least one of those people, but I'm
>>> > pretty sure that it wasn't Catalin.
>>> >
>>> > Tyler
--
To unsubscribe from this list: send the line "unsubscribe ecryptfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Crypto]     [Device Mapper Crypto]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux