Apr-util-1.5.2 released

DirectAdmin Support

Administrator
Staff member
Joined
Feb 27, 2003
Messages
9,158
Hello,

Apr-util-1.5.2 was release on April 4th, with a few fixes to the crypt functions.
http://www.apache.org/dist/apr/Announcement1.x.html
http://www.apache.org/dist/apr/CHANGES-APR-UTIL-1.5



The older version 1.5.1 had issues with the md5 crypt password for directory protection (passwords starting with $1$)
If the changes are correct, then the 1.5.2 version should resolve them.

However, we're going to test it before making the update official.

If you'd like to try 1.5.2 now, use this:
Code:
mv /etc/httpd/lib /etc/httpd/lib.back
cd /usr/local/directadmin/custombuild
./build update
perl -pi -e 's|apr-util:1.4.1:666a5d56098a9debf998510e304c8095|apr-util:1.5.2:|' versions.txt
./build apache

We've tested it on our CentOS 5 box (seems to be working correctly), but we'd like some tests on non-glibc systems to be done before we release it, as it mentions the bug might only affect non-glibc systems.

John
 
Last edited by a moderator:
First, in your code there is missing a new line in this command:
Code:
mv /etc/httpd/lib /etc/httpd/lib.backcd /usr/local/directadmin/custombuild

I just tested now, however you code does not work, it does not upgrade apr-util. I am still on APR-UTIL 1.4.1 after doing the commands you provide. Also I notice that in the custombuild direcotory at /usr/local/directadmin/custombuild, I only has "apr-util-1.4.1.tar.gz", so custombuild has NOT downloaded the new apr-util version.

Please provide instruction on how to upgrade apr-util that works. I did this (wich do not work):

Code:
mv /etc/httpd/lib /etc/httpd/lib.back
cd /usr/local/directadmin/custombuild
./build update
perl -pi -e 's|apr-util:1.4.1:666a5d56098a9debf998510e304c8095|apr-util:1.5.2:|' versions.txt
./build apache

Then I run httpd -V, and get the old version (not 1.5.2):

Code:
[root@server custombuild]# httpd -V
Server version: Apache/2.4.4 (Unix)
Server built:   Apr 30 2013 12:41:46
Server's Module Magic Number: 20120211:11
Server loaded:  APR 1.4.6, APR-UTIL 1.4.1
Compiled using: APR 1.4.6, APR-UTIL 1.4.1
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/var/logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
[root@server custombuild]#

By the way, I am running CentOS 6.4 64bit and custombuild 2.0. Please advice, I want to upgrade to apr-util 1.5.2.

Edit: I also tried one more time, this time I manually deleted apr-util-1.4.1.tar.gz before running your commands, however, when I do ./build apache, it just download the old apr-util-1.4.1.tar.gz, and not the new version. So it is not possible to upgrade.
 
Last edited:
Please check your old_apr_util setting in the options.conf file. It should be set to "no".
 
It is set to no, it's been like that all the time:
Code:
old_apr_util=no

Edit: Also, if it matters, I have this:
Code:
downloadserver=files1.directadmin.com
 
Last edited:
Hello,

1) Check the versions.txt to confirm it got changed to 1.5.2:
Code:
grep apr-util versions.txt

2) Check the httpd binary to see what library it's using. Our looks like this:
Code:
[root@es5 custombuild]# ldd /usr/sbin/httpd | grep aprutil        libaprutil-1.so.0 => /etc/httpd/lib/libaprutil-1.so.0 (0x008f4000)
[root@es5 custombuild]# ll /etc/httpd/lib/libaprutil-1.so.0
lrwxrwxrwx 1 root root 21 Apr 30 03:16 /etc/httpd/lib/libaprutil-1.so.0 -> libaprutil-1.so.0.5.2
[root@es5 custombuild]#
And we'll go from there.

John
 
I have the same issue with ditto but after that I check versions.txt.
There is no line
apr-util:1.5.2
I add it manually after line:
apr-util:1.4.1:666a5d56098a9debf998510e304c8095
Next run ./build apache

The result is bellow:

[root@csrv01 custombuild]# httpd -V
Server version: Apache/2.4.4 (Unix)
Server built: May 1 2013 01:15:00
Server's Module Magic Number: 20120211:11
Server loaded: APR 1.4.6, APR-UTIL 1.5.2
Compiled using: APR 1.4.6, APR-UTIL 1.5.2
Architecture: 64-bit
Server MPM: prefork

The command lines of DirectAdmin Support may have some hidden characters. (I use Mac).
 
Last edited:
Hello,

1) Check the versions.txt to confirm it got changed to 1.5.2:
Code:
grep apr-util versions.txt

Code:
[root@server custombuild]# perl -pi -e 's|apr-util:1.4.1:666a5d56098a9debf998510e304c8095|apr-util:1.5.2:|' versions.txt
[root@server custombuild]# grep apr-util versions.txt
apr-util:1.5.2:
[root@server custombuild]#

As you can see, it looks good. Then I did ./build apache again, but still i only install old apr-util, it does not even download the new apr-util version:

Code:
[root@server custombuild]# httpd -V
Server version: Apache/2.4.4 (Unix)
Server built:   Apr 30 2013 20:23:19
Server's Module Magic Number: 20120211:11
Server loaded:  APR 1.4.6, APR-UTIL 1.4.1
Compiled using: APR 1.4.6, APR-UTIL 1.4.1
Architecture:   64-bit
Server MPM:     prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=256
 -D HTTPD_ROOT="/etc/httpd"
 -D SUEXEC_BIN="/usr/sbin/suexec"
 -D DEFAULT_PIDLOG="/var/logs/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="conf/mime.types"
 -D SERVER_CONFIG_FILE="conf/httpd.conf"
[root@server custombuild]#


2) Check the httpd binary to see what library it's using. Our looks like this:
Code:
[root@es5 custombuild]# ldd /usr/sbin/httpd | grep aprutil        libaprutil-1.so.0 => /etc/httpd/lib/libaprutil-1.so.0 (0x008f4000)
[root@es5 custombuild]# ll /etc/httpd/lib/libaprutil-1.so.0
lrwxrwxrwx 1 root root 21 Apr 30 03:16 /etc/httpd/lib/libaprutil-1.so.0 -> libaprutil-1.so.0.5.2
[root@es5 custombuild]#
And we'll go from there.

John

Code:
[root@server custombuild]# ldd /usr/sbin/httpd | grep aprutil
        libaprutil-1.so.0 => /etc/httpd/lib/libaprutil-1.so.0 (0x00007f872bc3100
[root@server custombuild]# ll /etc/httpd/lib/libaprutil-1.so.0
lrwxrwxrwx 1 root root 21 Apr 30 20:23 /etc/httpd/lib/libaprutil-1.so.0 -> libaprutil-1.so.0.4.1
[root@server custombuild]#
 
@ditto:
Try to change the downloadserver to files.directadmin.com

I changed to files.directadmin.com now and did everything all over again, but still it does not even download the new apr-util version.

@John, could it be a bug in custombuild 2.0? Have you tested in 2.0? I am running custombuild 2.0.
 
When apache is compiling, are you seeing the 1.5.2 version going past? (should be fairly early in the output)

Also check the directory:
Code:
cd /etc/httpd/lib
ls -la
eg: does the file libaprutil-1.so.0.5.2 exist?

Lastly, it might need an ldconfig
Code:
ldconfig
John
 
When apache is compiling, are you seeing the 1.5.2 version going past? (should be fairly early in the output)

Also check the directory:
Code:
cd /etc/httpd/lib
ls -la
eg: does the file libaprutil-1.so.0.5.2 exist?

Lastly, it might need an ldconfig
Code:
ldconfig
John

When compiling apache, I only see 1.4.1. As said, it does not even download apr-util 1.5.2.

Code:
[root@server custombuild]# cd /etc/httpd/lib
[root@dns lib]# ls -la
total 3396
drwxr-xr-x 3 root root    4096 Apr 30 20:36 .
drwxr-xr-x 5 root root    4096 Apr 30 20:39 ..
-rw-r--r-- 1 root root    8351 Apr 30 20:36 apr.exp
-rw-r--r-- 1 root root    5254 Apr 30 20:36 aprutil.exp
-rw-r--r-- 1 root root 1360156 Apr 30 20:36 libapr-1.a
-rwxr-xr-x 1 root root     956 Apr 30 20:36 libapr-1.la
lrwxrwxrwx 1 root root      17 Apr 30 20:36 libapr-1.so -> libapr-1.so.0.4.6
lrwxrwxrwx 1 root root      17 Apr 30 20:36 libapr-1.so.0 -> libapr-1.so.0.4.6
-rwxr-xr-x 1 root root  740841 Apr 30 20:36 libapr-1.so.0.4.6
-rw-r--r-- 1 root root  830138 Apr 30 20:36 libaprutil-1.a
-rwxr-xr-x 1 root root    1046 Apr 30 20:36 libaprutil-1.la
lrwxrwxrwx 1 root root      21 Apr 30 20:36 libaprutil-1.so -> libaprutil-1.so.0.4.1
lrwxrwxrwx 1 root root      21 Apr 30 20:36 libaprutil-1.so.0 -> libaprutil-1.so.0.4.1
-rwxr-xr-x 1 root root  482259 Apr 30 20:36 libaprutil-1.so.0.4.1
drwxr-xr-x 2 root root    4096 Apr 30 20:36 pkgconfig
[root@server lib]#

I did not do ldconfig before, but I did it now. It did not help. Are you sure this is not a bug in custombuild 2.0?

Please let me know if you want me to test something more. Also, let me know if you want root access to look at the server. If so, please reply to the email I sent you today regarding this.
 
Make sure you also have autover=no set in the options.conf file.
 
@smtalk, I have autover=yes, is it really needed to set it to "no" for it to work? I did not run ./build update after changing versions.txt, so it should not be needed?

However, I can't test now. Because I have given John access to the server, so I must wait until he finish.
 
Last edited:
@smtalk, I have autover=yes, is it really needed to set it to "no" for it to work? I did not run ./build update after changing versions.txt, so it should not be needed?

However, I can't test now. Because I have given John access to the server, so I must wait until he finish.

Yes, it is needed. If it is set to "yes", then versions.txt is re-downloaded with every "./build" command.
 
Yes, it is needed. If it is set to "yes", then versions.txt is re-downloaded with every "./build" command.

Thanks! I did not know that. I believed that it only updated versions.txt when doing ./build update, I did not know it updated versions.txt file with every ./build command.

So then that must be the problem. As soon as John confirm he is not working on the server, I will log in and test again.
 
Just a update. Thanks to smtalk, I changed autover=yes to be autover=no in options.conf, and then I was able to upgrade without problems. I am now running apr-util 1.5.2. Directories that was password protected a long time ago, still works. So the bug is fixed in the newest version, at least for CentOS. I am sorry for creating this long thread, when the solution was so simple. Problem solved.
 
@John, It would be nice if you could make apr-util 1.5.2 default in custombuild now, I mean for us that have old_apr_util=no in options.conf - I have been running the new apr-util on all my servers without any trouble. I hope this is enough time for testing, so that you can add the new apr-util as default. I ask this because it would be nice not to have to remember to run the following every time I recompile apache:

Code:
perl -pi -e 's|apr-util:1.4.1:666a5d56098a9debf998510e304c8095|apr-util:1.5.2:|' versions.txt

Thanks in advance! :)
 
Is this installable with CB 1.2? And is it something that is worth the upgrade?
 
Back
Top