lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGr1F2FDpTa=JZeseByRwshUj652M+U_vj+O52k_XEaJxaK+Nw@mail.gmail.com>
Date:	Tue, 10 Jan 2012 13:50:06 -0800
From:	Aditya Kali <adityakali@...gle.com>
To:	Jan Kara <jack@...e.cz>
Cc:	Ted Tso <tytso@....edu>, linux-ext4@...r.kernel.org
Subject: Re: [PATCH] libquota: Do not build libquota when disabled

Libquota is supposed to be internal library of e2fsprogs. Initially I
added the code thinking that it would be an independent library, but
it depends too much on libext2fs and should be part of libext2fs
itself. The quota header files should not be installed.

Also, e2fsck should compile even without quota support. This needs to be fixed.

Thanks,
Aditya

On Tue, Jan 10, 2012 at 11:38 AM, Jan Kara <jack@...e.cz> wrote:
> On Tue 10-01-12 17:46:36, Jan Kara wrote:
>> Due to missing QUOTA_CMT definition in configure.in, libquota was built
>> (and e.g. include file was installed) even when quota support was disabled.
>> Fix it. Also fix help text of the configure option when we are at it.
>  Hum, but after this e2fsck does not compile because of missing
> libquota.a. So should it be possible to disable quota support (and thus
> e2fsck should be fixed) or not (and then config option should be removed)?
>
> Also I've also noticed that libquota is generated as a static library even
> if --enable-elf-shlibs is specified. Bug? Or is libquota supposed to be
> internal library of e2fsprogs and never used outside of e2fsprogs? But then
> why is it and its header files installed?
>
> BTW, since the library is tied to ext4 anyway, won't it be more logical for
> external developpers to make it part of libext2fs?
>
>                                                                Honza
>>
>> Signed-off-by: Jan Kara <jack@...e.cz>
>> ---
>>  configure    |   11 ++++++-----
>>  configure.in |    4 +++-
>>  2 files changed, 9 insertions(+), 6 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 9f5eeb5..965f7cf 100755
>> --- a/configure
>> +++ b/configure
>> @@ -1462,7 +1462,7 @@ Optional Features:
>>    --disable-testio-debug  disable the use of the test I/O manager for debugging
>>    --disable-libuuid    do not build private uuid library
>>    --disable-libblkid   do not build private blkid library
>> -  --enable-libquota    enable quota support
>> +  --enable-quota       enable quota support
>>    --disable-debugfs            disable support of debugfs program
>>    --disable-imager             disable support of e2image program
>>    --disable-resizer            disable support of e2resize program
>> @@ -5209,11 +5209,13 @@ fi
>>  if test "${enable_quota+set}" = set; then :
>>    enableval=$enable_quota; if test "$enableval" = "no"
>>  then
>> +     QUOTA_CMT="#"
>>       { $as_echo "$as_me:${as_lineno-$LINENO}: result: Disabling quota support" >&5
>>  $as_echo "Disabling quota support" >&6; }
>>  else
>>       $as_echo "#define CONFIG_QUOTA 1" >>confdefs.h
>>
>> +     QUOTA_CMT=""
>>       { $as_echo "$as_me:${as_lineno-$LINENO}: result: Enabling quota support" >&5
>>  $as_echo "Enabling quota support" >&6; }
>>  fi
>> @@ -7127,7 +7129,6 @@ int
>>  main ()
>>  {
>>    char *data, *data2, *data3;
>> -  const char *cdata2;
>>    int i, pagesize;
>>    int fd, fd2;
>>
>> @@ -7152,10 +7153,10 @@ main ()
>>    fd2 = open ("conftest.txt", O_RDWR | O_CREAT | O_TRUNC, 0600);
>>    if (fd2 < 0)
>>      return 4;
>> -  cdata2 = "";
>> -  if (write (fd2, cdata2, 1) != 1)
>> +  data2 = "";
>> +  if (write (fd2, data2, 1) != 1)
>>      return 5;
>> -  data2 = (char *) mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
>> +  data2 = mmap (0, pagesize, PROT_READ | PROT_WRITE, MAP_SHARED, fd2, 0L);
>>    if (data2 == MAP_FAILED)
>>      return 6;
>>    for (i = 0; i < pagesize; ++i)
>> diff --git a/configure.in b/configure.in
>> index c304a8d..94e7c21 100644
>> --- a/configure.in
>> +++ b/configure.in
>> @@ -531,12 +531,14 @@ dnl
>>  PKG_PROG_PKG_CONFIG
>>  AH_TEMPLATE([CONFIG_QUOTA], [Define to 1 to enable quota support])
>>  AC_ARG_ENABLE([quota],
>> -[  --enable-libquota   enable quota support],
>> +[  --enable-quota      enable quota support],
>>  if test "$enableval" = "no"
>>  then
>> +     QUOTA_CMT="#"
>>       AC_MSG_RESULT([Disabling quota support])
>>  else
>>       AC_DEFINE(CONFIG_QUOTA, 1)
>> +     QUOTA_CMT=""
>>       AC_MSG_RESULT([Enabling quota support])
>>  fi
>>  ,
>> --
>> 1.7.1
>>
> --
> Jan Kara <jack@...e.cz>
> SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ