Hello community,
here is the log from the commit of package libapr-util1 for openSUSE:Factory
checked in at Fri Aug 21 16:44:50 CEST 2009.
--------
--- libapr-util1/libapr-util1.changes 2009-07-08 12:26:01.000000000 +0200
+++ libapr-util1/libapr-util1.changes 2009-08-10 03:18:52.000000000 +0200
@@ -1,0 +2,14 @@
+Mon Aug 10 03:17:14 CEST 2009 - poeml@suse.de
+
+- update to 1.3.9:
+ *) SECURITY: CVE-2009-2412 (cve.mitre.org)
+ Fix overflow in rmm, where size alignment was taking place.
+ *) Make sure that "make check" is used in the RPM spec file, so that
+ the crypto, dbd and dbm tests pass.
+ *) Make sure the mysql version of dbd_mysql_get_entry() respects the
+ rule that if the column number exceeds the number of columns, we
+ return NULL.
+ *) Ensure the dbm module is packaged up correctly in the RPM.
+ *) Clarify the error messages within the dbd tests.
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
apr-util-1.3.8.tar.bz2
New:
----
apr-util-1.3.9.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libapr-util1.spec ++++++
--- /var/tmp/diff_new_pack.ePuA0J/_old 2009-08-21 16:44:16.000000000 +0200
+++ /var/tmp/diff_new_pack.ePuA0J/_new 2009-08-21 16:44:16.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package libapr-util1 (Version 1.3.8)
+# spec file for package libapr-util1 (Version 1.3.9)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -86,7 +86,7 @@
License: Other uncritical OpenSource License ; Apache Software License ..
Group: Development/Libraries/Other
AutoReqProv: on
-Version: 1.3.8
+Version: 1.3.9
Release: 1
Summary: Apache Portable Runtime (APR) Library
Source: http://www.apache.org/dist/apr/apr-util-%{version}.tar.bz2
++++++ apr-util-1.3.8.tar.bz2 -> apr-util-1.3.9.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/CHANGES new/apr-util-1.3.9/CHANGES
--- old/apr-util-1.3.8/CHANGES 2009-06-30 23:41:48.000000000 +0200
+++ new/apr-util-1.3.9/CHANGES 2009-08-04 14:29:21.000000000 +0200
@@ -1,4 +1,22 @@
-*- coding: utf-8 -*-
+Changes with APR-util 1.3.9
+
+ *) SECURITY: CVE-2009-2412 (cve.mitre.org)
+ Fix overflow in rmm, where size alignment was taking place.
+ [Matt Lewis , Sander Striker]
+
+ *) Make sure that "make check" is used in the RPM spec file, so that
+ the crypto, dbd and dbm tests pass. [Graham Leggett]
+
+ *) Make sure the mysql version of dbd_mysql_get_entry() respects the
+ rule that if the column number exceeds the number of columns, we
+ return NULL. [Graham Leggett]
+
+ *) Ensure the dbm module is packaged up correctly in the RPM.
+ [Graham Leggett]
+
+ *) Clarify the error messages within the dbd tests. [Graham Leggett]
+
Changes with APR-util 1.3.8
*) Use locally scoped variables in PostgreSQL driver to avoid stomping
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/README new/apr-util-1.3.9/README
--- old/apr-util-1.3.8/README 2008-05-28 21:38:22.000000000 +0200
+++ new/apr-util-1.3.9/README 2009-08-03 22:32:25.000000000 +0200
@@ -1,3 +1,79 @@
+Apache Portable Runtime Utility Library README
+----------------------------------------------
+
+ The Apache Portable Runtime Utility Library provides a predictable
+ and consistent interface to underlying client library interfaces.
+ This API assures predictable if not identical behavior regardless
+ of which libraries are available on a given platform.
+
+ APR and its companion libraries are implemented entirely in C
+ and provide a common programming interface across a wide variety
+ of operating system platforms without sacrificing performance.
+ Currently supported platforms include:
+
+ UNIX variants
+ Windows
+ Netware
+ Mac OS X
+ OS/2
+
+ To give a brief overview, the primary core
+ subsystems of APR-util 1.3 include the following:
+
+ Hashing and UUID services
+ Multiple SQL DBD client interfaces
+ Multiple flat-database DBM client interfaces
+ Typesafe function Hooks abstraction
+ LDAP SSL connections for a variety of LDAP toolkits
+ MemCache interface
+ Date parsing rourtines
+ Resource Lists
+ Thread Pools
+ Queues
+ Relocatable Memory Management functions
+ String filename-style pattern matching
+ URI Parsing
+ Charset translation (iconv based)
+ XML parsing (expat based)
+
+ For a more complete list, please refer to the following URLs:
+
+ http://apr.apache.org/docs/apr-util/modules.html
+
+ Users of APR 0.9 should be aware that migrating to the APR 1.x
+ programming interfaces may require some adjustments; APR 1.x is
+ neither source nor binary compatible with earlier APR 0.9 releases.
+ Users of APR 1.x can expect consistent interfaces and binary backwards
+ compatibility throughout the entire APR 1.x release cycle, as defined
+ in our versioning rules:
+
+ http://apr.apache.org/versioning.html
+
+ APR is already used extensively by the Apache HTTP Server
+ version 2 and the Subversion revision control system, to
+ name but a few. We list all known projects using APR at
+ http://apr.apache.org/projects.html -- so please let us know
+ if you find our libraries useful in your own projects!
+
+
+Database Providers
+------------------
+As of apr-util version 1.2.11, MySQL DBD driver is shipped as part of the
+distribution. However, to avoid licensing incompatibilities, it is not
+built by default. To enable MySQL support, use the --with-mysql option,
+but be aware that the MySQL license may introduce licensing implications
+for your compiled code. Similarly, the bindings for propritary drivers
+such as Oracle (--with-oracle option) must also be explicitly enabled.
+
+On windows, selection of supported drivers is via the environment values
+DBD_LIST (for freetds, mysql, oracle, pgsql, sqlite2 and/or sqlite3)
+and DBM_LIST (db and/or gdbm). DBD odbc and DBM sdbm are unconditionally
+compiled and installed, do not include these in the list.
+
+Whenever distributing apr-util in combination with database client
+drivers, always review the license requirements of all components.
+
+
Cryptographic Software Notice
-----------------------------
This distribution includes cryptographic software. The country in
@@ -23,7 +99,7 @@
software:
APR-Util provides an abstract interface for SSL encrypted LDAP (ldaps
- and STARTTLS style) connections, which can be powered by OpenLDAP,
+ and STARTTLS style) connections, which can be powered by OpenLDAP,
Netscape LDAP SDK, Mozilla LDAP SDK, or other platform specific ldap
interfaces.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/README.MySQL new/apr-util-1.3.9/README.MySQL
--- old/apr-util-1.3.8/README.MySQL 2008-05-28 00:20:25.000000000 +0200
+++ new/apr-util-1.3.9/README.MySQL 1970-01-01 01:00:00.000000000 +0100
@@ -1,5 +0,0 @@
-As of apr-util version 1.2.11, MySQL DBD driver is shipped as part of the
-distribution. However, to avoid licensing incompatibilities, it is not
-built by default. To enable MySQL support, use the --with-mysql option,
-but be aware that the MySQL license may introduce licensing implications
-for your compiled code.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/apr-util.spec new/apr-util-1.3.9/apr-util.spec
--- old/apr-util-1.3.8/apr-util.spec 2009-07-02 05:12:13.000000000 +0200
+++ new/apr-util-1.3.9/apr-util.spec 2009-08-04 23:07:27.000000000 +0200
@@ -3,7 +3,7 @@
Summary: Apache Portable Runtime Utility library
Name: apr-util
-Version: 1.3.8
+Version: 1.3.9
Release: 1
License: Apache Software License
Group: System Environment/Libraries
@@ -11,7 +11,7 @@
Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildPrereq: autoconf, libtool, doxygen, apr-devel >= 1.3.0
-BuildPrereq: db4-devel, expat-devel
+BuildPrereq: expat-devel
%description
The mission of the Apache Portable Runtime (APR) is to provide a
@@ -90,6 +90,15 @@
%description ldap
This package provides the LDAP support for the apr-util.
+%package dbm
+Group: Development/Libraries
+Summary: APR utility library DBM support
+BuildRequires: db4-devel
+Requires: apr-util = %{version}-%{release}
+
+%description dbm
+This package provides the dbm support for the apr-util.
+
%prep
%setup -q
@@ -106,7 +115,7 @@
# Run non-interactive tests
pushd test
make %{?_smp_mflags} all CFLAGS=-fno-strict-aliasing
-./testall -v || exit 1
+make check || exit 1
popd
%install
@@ -156,6 +165,10 @@
%defattr(-,root,root,-)
%{_libdir}/apr-util-%{apuver}/apr_ldap*
+%files dbm
+%defattr(-,root,root,-)
+%{_libdir}/apr-util-%{apuver}/apr_dbm_db*
+
%files devel
%defattr(-,root,root,-)
%{_bindir}/apu-%{apuver}-config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/build/rpm/apr-util.spec.in new/apr-util-1.3.9/build/rpm/apr-util.spec.in
--- old/apr-util-1.3.8/build/rpm/apr-util.spec.in 2008-08-30 21:00:06.000000000 +0200
+++ new/apr-util-1.3.9/build/rpm/apr-util.spec.in 2009-07-29 00:11:01.000000000 +0200
@@ -11,7 +11,7 @@
Source0: http://www.apache.org/dist/apr/%{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildPrereq: autoconf, libtool, doxygen, apr-devel >= 1.3.0
-BuildPrereq: db4-devel, expat-devel
+BuildPrereq: expat-devel
%description
The mission of the Apache Portable Runtime (APR) is to provide a
@@ -90,6 +90,15 @@
%description ldap
This package provides the LDAP support for the apr-util.
+%package dbm
+Group: Development/Libraries
+Summary: APR utility library DBM support
+BuildRequires: db4-devel
+Requires: apr-util = %{version}-%{release}
+
+%description dbm
+This package provides the dbm support for the apr-util.
+
%prep
%setup -q
@@ -106,7 +115,7 @@
# Run non-interactive tests
pushd test
make %{?_smp_mflags} all CFLAGS=-fno-strict-aliasing
-./testall -v || exit 1
+make check || exit 1
popd
%install
@@ -156,6 +165,10 @@
%defattr(-,root,root,-)
%{_libdir}/apr-util-%{apuver}/apr_ldap*
+%files dbm
+%defattr(-,root,root,-)
+%{_libdir}/apr-util-%{apuver}/apr_dbm_db*
+
%files devel
%defattr(-,root,root,-)
%{_bindir}/apu-%{apuver}-config
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/dbd/NWGNUdbdmysql new/apr-util-1.3.9/dbd/NWGNUdbdmysql
--- old/apr-util-1.3.8/dbd/NWGNUdbdmysql 2008-11-21 07:19:07.000000000 +0100
+++ new/apr-util-1.3.9/dbd/NWGNUdbdmysql 2009-07-15 20:24:18.000000000 +0200
@@ -30,6 +30,9 @@
MYSQL_IMP = $(MYSQLSDK)/lib/libmysql.imp
MYSQL_LIB = $(MYSQLSDK)/lib/libmysqlclient_r.lib $(MYSQLSDK)/lib/libz.lib
MYSQL_NLM = libmysql
+ifneq "$(wildcard $(MYSQL_INC)/mysql.h)" "$(MYSQL_INC)/mysql.h"
+$(error MYSQLSDK does not point to a valid MySQL SDK)
+endif
#
# These directories will be at the beginning of the include list, followed by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/dbd/apr_dbd_mysql.c new/apr-util-1.3.9/dbd/apr_dbd_mysql.c
--- old/apr-util-1.3.8/dbd/apr_dbd_mysql.c 2009-02-25 01:28:55.000000000 +0100
+++ new/apr-util-1.3.9/dbd/apr_dbd_mysql.c 2009-08-03 17:46:24.000000000 +0200
@@ -15,7 +15,6 @@
*/
#include "apu.h"
-#define HAVE_MYSQL_MYSQL_H
#if APU_HAVE_MYSQL
@@ -25,22 +24,24 @@
#include
#include
-#ifdef HAVE_MY_GLOBAL_H
-#include
-#elif defined(HAVE_MYSQL_MY_GLOBAL_H)
+#if defined(HAVE_MYSQL_MYSQL_H)
+#if defined(HAVE_MYSQL_MY_GLOBAL_H)
#include
+#if defined(HAVE_MYSQL_MY_SYS_H)
+#include
#endif
-#ifdef HAVE_MY_SYS_H
+#endif
+#include
+#include
+#else /* !defined(HAVE_MYSQL_MYSQL_H) */
+#if defined(HAVE_MY_GLOBAL_H)
+#include
+#if defined(HAVE_MY_SYS_H)
#include
-#elif defined(HAVE_MYSQL_MY_SYS_H)
-#include
#endif
-#ifdef HAVE_MYSQL_H
+#endif
#include
#include
-#elif defined(HAVE_MYSQL_MYSQL_H)
-#include
-#include
#endif
#include "apr_strings.h"
@@ -112,6 +113,7 @@
apr_off_t offset,
apr_size_t len, apr_pool_t *p,
apr_bucket_alloc_t *list);
+static int dbd_mysql_num_cols(apr_dbd_results_t *res);
static const apr_bucket_type_t apr_bucket_type_lob = {
"LOB", 5, APR_BUCKET_DATA,
@@ -256,7 +258,7 @@
} else {
ret = mysql_errno(sql->conn);
}
-
+
if (TXN_NOTICE_ERRORS(sql->trans)) {
sql->trans->errnum = ret;
}
@@ -333,6 +335,9 @@
apr_dbd_datum_t *val)
{
MYSQL_BIND *bind;
+ if (dbd_mysql_num_cols(row->res) <= n) {
+ return NULL;
+ }
if (row->res->statement) {
bind = &row->res->bind[n];
if (mysql_stmt_fetch_column(row->res->statement, bind, n, 0) != 0) {
@@ -359,6 +364,9 @@
static const char *dbd_mysql_get_entry(const apr_dbd_row_t *row, int n)
{
MYSQL_BIND *bind;
+ if (dbd_mysql_num_cols(row->res) <= n) {
+ return NULL;
+ }
if (row->res->statement) {
bind = &row->res->bind[n];
if (mysql_stmt_fetch_column(row->res->statement, bind, n, 0) != 0) {
@@ -1100,7 +1108,7 @@
#endif
MYSQL *real_conn;
unsigned long flags = 0;
-
+
struct {
const char *field;
const char *value;
@@ -1176,7 +1184,7 @@
/* the MySQL manual says this should be BEFORE mysql_real_connect */
mysql_options(sql->conn, MYSQL_OPT_RECONNECT, &do_reconnect);
#endif
-
+
real_conn = mysql_real_connect(sql->conn, fields[0].value,
fields[1].value, fields[2].value,
fields[3].value, port,
@@ -1256,8 +1264,8 @@
{
my_init();
mysql_thread_init();
-
- /* FIXME: this is a guess; find out what it really does */
+
+ /* FIXME: this is a guess; find out what it really does */
apr_pool_cleanup_register(pool, NULL, thread_end, apr_pool_cleanup_null);
}
APU_MODULE_DECLARE_DATA const apr_dbd_driver_t apr_dbd_mysql_driver = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/include/apr_memcache.h new/apr-util-1.3.9/include/apr_memcache.h
--- old/apr-util-1.3.8/include/apr_memcache.h 2009-06-30 21:34:01.000000000 +0200
+++ new/apr-util-1.3.9/include/apr_memcache.h 2009-07-16 06:07:58.000000000 +0200
@@ -209,7 +209,7 @@
* @param min minimum number of client sockets to open
* @param smax soft maximum number of client connections to open
* @param max hard maximum number of client connections
- * @param ttl time to live in seconds of a client connection
+ * @param ttl time to live in microseconds of a client connection
* @param ns location of the new server object
* @see apr_reslist_create
* @remark min, smax, and max are only used when APR_HAS_THREADS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/include/apr_reslist.h new/apr-util-1.3.9/include/apr_reslist.h
--- old/apr-util-1.3.8/include/apr_reslist.h 2009-06-14 23:48:03.000000000 +0200
+++ new/apr-util-1.3.9/include/apr_reslist.h 2009-07-16 06:07:58.000000000 +0200
@@ -73,8 +73,8 @@
* @param smax Resources will be destroyed to meet this maximum
* restriction as they expire.
* @param hmax Absolute maximum limit on the number of total resources.
- * @param ttl If non-zero, sets the maximum amount of time a resource
- * may be available while exceeding the soft limit.
+ * @param ttl If non-zero, sets the maximum amount of time in microseconds a
+ * resource may be available while exceeding the soft limit.
* @param con Constructor routine that is called to create a new resource.
* @param de Destructor routine that is called to destroy an expired resource.
* @param params Passed to constructor and deconstructor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/include/apu_version.h new/apr-util-1.3.9/include/apu_version.h
--- old/apr-util-1.3.8/include/apu_version.h 2009-07-02 04:59:27.000000000 +0200
+++ new/apr-util-1.3.9/include/apu_version.h 2009-08-04 22:47:16.000000000 +0200
@@ -59,7 +59,7 @@
* The Patch Level never includes API changes, simply bug fixes.
* Reset to 0 when upgrading APR_MINOR_VERSION
*/
-#define APU_PATCH_VERSION 8
+#define APU_PATCH_VERSION 9
/**
* The symbol APU_IS_DEV_VERSION is only defined for internal,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/include/private/apu_config.hw new/apr-util-1.3.9/include/private/apu_config.hw
--- old/apr-util-1.3.8/include/private/apu_config.hw 2008-05-30 01:31:56.000000000 +0200
+++ new/apr-util-1.3.9/include/private/apu_config.hw 2009-08-03 17:46:24.000000000 +0200
@@ -31,6 +31,12 @@
#define APU_DSO_BUILD 1
#endif
+/* Presume a standard, modern (5.x) mysql sdk/
+#define HAVE_MY_GLOBAL_H 1
+
+/* my_sys.h is broken on VC/Win32, and apparently not required */
+/* #undef HAVE_MY_SYS_H 0 */
+
/*
* Windows does not have GDBM, and we always use the bundled (new) Expat
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/misc/apr_rmm.c new/apr-util-1.3.9/misc/apr_rmm.c
--- old/apr-util-1.3.8/misc/apr_rmm.c 2007-01-15 20:00:58.000000000 +0100
+++ new/apr-util-1.3.9/misc/apr_rmm.c 2009-08-04 13:34:47.000000000 +0200
@@ -306,13 +306,17 @@
APU_DECLARE(apr_rmm_off_t) apr_rmm_malloc(apr_rmm_t *rmm, apr_size_t reqsize)
{
+ apr_size_t size;
apr_rmm_off_t this;
- reqsize = APR_ALIGN_DEFAULT(reqsize) + RMM_BLOCK_SIZE;
+ size = APR_ALIGN_DEFAULT(reqsize) + RMM_BLOCK_SIZE;
+ if (size < reqsize) {
+ return 0;
+ }
APR_ANYLOCK_LOCK(&rmm->lock);
- this = find_block_of_size(rmm, reqsize);
+ this = find_block_of_size(rmm, size);
if (this) {
move_block(rmm, this, 0);
@@ -325,18 +329,22 @@
APU_DECLARE(apr_rmm_off_t) apr_rmm_calloc(apr_rmm_t *rmm, apr_size_t reqsize)
{
+ apr_size_t size;
apr_rmm_off_t this;
- reqsize = APR_ALIGN_DEFAULT(reqsize) + RMM_BLOCK_SIZE;
+ size = APR_ALIGN_DEFAULT(reqsize) + RMM_BLOCK_SIZE;
+ if (size < reqsize) {
+ return 0;
+ }
APR_ANYLOCK_LOCK(&rmm->lock);
- this = find_block_of_size(rmm, reqsize);
+ this = find_block_of_size(rmm, size);
if (this) {
move_block(rmm, this, 0);
this += RMM_BLOCK_SIZE;
- memset((char*)rmm->base + this, 0, reqsize - RMM_BLOCK_SIZE);
+ memset((char*)rmm->base + this, 0, size - RMM_BLOCK_SIZE);
}
APR_ANYLOCK_UNLOCK(&rmm->lock);
@@ -349,16 +357,19 @@
apr_rmm_off_t this;
apr_rmm_off_t old;
struct rmm_block_t *blk;
- apr_size_t oldsize;
+ apr_size_t size, oldsize;
if (!entity) {
return apr_rmm_malloc(rmm, reqsize);
}
- reqsize = APR_ALIGN_DEFAULT(reqsize);
+ size = APR_ALIGN_DEFAULT(reqsize);
+ if (size < reqsize) {
+ return 0;
+ }
old = apr_rmm_offset_get(rmm, entity);
- if ((this = apr_rmm_malloc(rmm, reqsize)) == 0) {
+ if ((this = apr_rmm_malloc(rmm, size)) == 0) {
return 0;
}
@@ -366,7 +377,7 @@
oldsize = blk->size;
memcpy(apr_rmm_addr_get(rmm, this),
- apr_rmm_addr_get(rmm, old), oldsize < reqsize ? oldsize : reqsize);
+ apr_rmm_addr_get(rmm, old), oldsize < size ? oldsize : size);
apr_rmm_free(rmm, old);
return this;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/test/NWGNUaputest new/apr-util-1.3.9/test/NWGNUaputest
--- old/apr-util-1.3.8/test/NWGNUaputest 1970-01-01 01:00:00.000000000 +0100
+++ new/apr-util-1.3.9/test/NWGNUaputest 2009-07-06 03:22:38.000000000 +0200
@@ -0,0 +1,281 @@
+#
+# Make sure all needed macro's are defined
+#
+
+#
+# Get the 'head' of the build environment if necessary. This includes default
+# targets and paths to tools
+#
+
+ifndef EnvironmentDefined
+include $(APR_WORK)\build\NWGNUhead.inc
+endif
+
+#
+# These directories will be at the beginning of the include list, followed by
+# INCDIRS
+#
+XINCDIRS += \
+ $(APR)/include \
+ $(APR)/include/arch/NetWare \
+ $(APRUTIL)/include \
+ $(LDAPSDK)/inc \
+ $(EOLIST)
+
+#
+# These flags will come after CFLAGS
+#
+XCFLAGS += \
+ $(EOLIST)
+
+#
+# These defines will come after DEFINES
+#
+XDEFINES += \
+ $(EOLIST)
+
+#
+# These flags will be added to the link.opt file
+#
+XLFLAGS += \
+ $(EOLIST)
+
+#
+# These values will be appended to the correct variables based on the value of
+# RELEASE
+#
+ifeq "$(RELEASE)" "debug"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "noopt"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+ifeq "$(RELEASE)" "release"
+XINCDIRS += \
+ $(EOLIST)
+
+XCFLAGS += \
+ $(EOLIST)
+
+XDEFINES += \
+ $(EOLIST)
+
+XLFLAGS += \
+ $(EOLIST)
+endif
+
+#
+# These are used by the link target if an NLM is being generated
+# This is used by the link 'name' directive to name the nlm. If left blank
+# TARGET_nlm (see below) will be used.
+#
+NLM_NAME = aputest
+#
+# This is used by the link '-desc ' directive.
+# If left blank, NLM_NAME will be used.
+#
+NLM_DESCRIPTION = NLM is to test the apu layer
+
+#
+# This is used by the '-threadname' directive. If left blank,
+# NLM_NAME Thread will be used.
+#
+NLM_THREAD_NAME = aputest
+
+#
+# This is used by the '-screenname' directive. If left blank,
+# 'Apache for NetWare' Thread will be used.
+#
+NLM_SCREEN_NAME = aputest
+
+#
+# If this is specified, it will override VERSION value in
+# $(APR_WORK)\build\NWGNUenvironment.inc
+#
+NLM_VERSION =
+
+#
+# If this is specified, it will override the default of 64K
+#
+NLM_STACK_SIZE = 524288
+
+#
+# If this is specified it will be used by the link '-entry' directive
+#
+NLM_ENTRY_SYM = _LibCPrelude
+
+#
+# If this is specified it will be used by the link '-exit' directive
+#
+NLM_EXIT_SYM = _LibCPostlude
+
+#
+# If this is specified it will be used by the link '-check' directive
+#
+NLM_CHECK_SYM =
+
+#
+# If this is specified it will be used by the link '-flags' directive
+#
+NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
+
+#
+# If this is specified it will be linked in with the XDCData option in the def
+# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
+# be disabled by setting APACHE_UNIPROC in the environment
+#
+XDCDATA =
+
+#
+# Declare all target files (you must add your files here)
+#
+
+#
+# If there is an NLM target, put it here
+#
+TARGET_nlm = \
+ $(OBJDIR)/aputest.nlm \
+ $(EOLIST)
+
+#
+# If there is an LIB target, put it here
+#
+TARGET_lib = \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the NLM target above.
+# Paths must all use the '/' character
+#
+
+FILES_nlm_objs = \
+ $(OBJDIR)/abts.o \
+ $(OBJDIR)/testbuckets.o \
+ $(OBJDIR)/testdate.o \
+ $(OBJDIR)/testdbd.o \
+ $(OBJDIR)/testdbm.o \
+ $(OBJDIR)/testldap.o \
+ $(OBJDIR)/testmemcache.o \
+ $(OBJDIR)/testmd4.o \
+ $(OBJDIR)/testmd5.o \
+ $(OBJDIR)/testpass.o \
+ $(OBJDIR)/testqueue.o \
+ $(OBJDIR)/testreslist.o \
+ $(OBJDIR)/testrmm.o \
+ $(OBJDIR)/teststrmatch.o \
+ $(OBJDIR)/testuri.o \
+ $(OBJDIR)/testuuid.o \
+ $(OBJDIR)/testutil.o \
+ $(OBJDIR)/testxlate.o \
+ $(OBJDIR)/testxml.o \
+ $(OBJDIR)/nw_misc.o \
+ $(EOLIST)
+
+# Pending tests
+
+#
+# These are the LIB files needed to create the NLM target above.
+# These will be added as a library command in the link.opt file.
+#
+FILES_nlm_libs = \
+ libcpre.o \
+ $(EOLIST)
+
+#
+# These are the modules that the above NLM target depends on to load.
+# These will be added as a module command in the link.opt file.
+#
+FILES_nlm_modules = \
+ Libc \
+ APRLIB \
+ lldapsdk \
+ lldapssl \
+ lldapx \
+ $(EOLIST)
+
+#
+# If the nlm has a msg file, put it's path here
+#
+FILE_nlm_msg =
+
+#
+# If the nlm has a hlp file put it's path here
+#
+FILE_nlm_hlp =
+
+#
+# If this is specified, it will override the default copyright.
+#
+FILE_nlm_copyright =
+
+#
+# Any additional imports go here
+#
+FILES_nlm_Ximports = \
+ @libc.imp \
+ @$(APR)/aprlib.imp \
+ @$(LDAPSDK)/imports/lldapsdk.imp \
+ @$(LDAPSDK)/imports/lldapssl.imp \
+ $(EOLIST)
+
+#
+# Any symbols exported to here
+#
+FILES_nlm_exports = \
+ $(EOLIST)
+
+#
+# These are the OBJ files needed to create the LIB target above.
+# Paths must all use the '/' character
+#
+FILES_lib_objs = \
+ $(EOLIST)
+
+#
+# implement targets and dependancies (leave this section alone)
+#
+
+libs :: $(OBJDIR) $(TARGET_lib)
+
+nlms :: libs $(TARGET_nlm)
+
+#
+# Updated this target to create necessary directories and copy files to the
+# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
+#
+install :: nlms FORCE
+
+#
+# Any specialized rules here
+#
+
+
+#
+# Include the 'tail' makefile that has targets that depend on variables defined
+# in this makefile
+#
+
+include $(APR_WORK)\build\NWGNUtail.inc
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/test/nw_misc.c new/apr-util-1.3.9/test/nw_misc.c
--- old/apr-util-1.3.8/test/nw_misc.c 2005-01-15 16:42:50.000000000 +0100
+++ new/apr-util-1.3.9/test/nw_misc.c 2009-07-15 20:54:11.000000000 +0200
@@ -1,10 +1,21 @@
+#include
#include
#include
+/*
#include "testutil.h"
+*/
+/* function to keep the screen open if not launched from bash */
void _NonAppStop( void )
{
- pressanykey();
+ if (getenv("_IN_NETWARE_BASH_") == NULL) {
+ uint16_t row, col;
+
+ GetScreenSize(&row, &col);
+ gotorowcol(row-1, 0);
+ printf("<Press any key to close screen> ");
+ getcharacter();
+ }
}
/*
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/test/nwgnuaputest new/apr-util-1.3.9/test/nwgnuaputest
--- old/apr-util-1.3.8/test/nwgnuaputest 2009-07-01 19:39:27.000000000 +0200
+++ new/apr-util-1.3.9/test/nwgnuaputest 1970-01-01 01:00:00.000000000 +0100
@@ -1,281 +0,0 @@
-#
-# Make sure all needed macro's are defined
-#
-
-#
-# Get the 'head' of the build environment if necessary. This includes default
-# targets and paths to tools
-#
-
-ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
-endif
-
-#
-# These directories will be at the beginning of the include list, followed by
-# INCDIRS
-#
-XINCDIRS += \
- $(APR)/include \
- $(APR)/include/arch/NetWare \
- $(APRUTIL)/include \
- $(LDAPSDK)/inc \
- $(EOLIST)
-
-#
-# These flags will come after CFLAGS
-#
-XCFLAGS += \
- $(EOLIST)
-
-#
-# These defines will come after DEFINES
-#
-XDEFINES += \
- $(EOLIST)
-
-#
-# These flags will be added to the link.opt file
-#
-XLFLAGS += \
- $(EOLIST)
-
-#
-# These values will be appended to the correct variables based on the value of
-# RELEASE
-#
-ifeq "$(RELEASE)" "debug"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "noopt"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "release"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-#
-# These are used by the link target if an NLM is being generated
-# This is used by the link 'name' directive to name the nlm. If left blank
-# TARGET_nlm (see below) will be used.
-#
-NLM_NAME = aputest
-#
-# This is used by the link '-desc ' directive.
-# If left blank, NLM_NAME will be used.
-#
-NLM_DESCRIPTION = NLM is to test the apu layer
-
-#
-# This is used by the '-threadname' directive. If left blank,
-# NLM_NAME Thread will be used.
-#
-NLM_THREAD_NAME = aputest
-
-#
-# This is used by the '-screenname' directive. If left blank,
-# 'Apache for NetWare' Thread will be used.
-#
-NLM_SCREEN_NAME = aputest
-
-#
-# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
-#
-NLM_VERSION =
-
-#
-# If this is specified, it will override the default of 64K
-#
-NLM_STACK_SIZE = 524288
-
-#
-# If this is specified it will be used by the link '-entry' directive
-#
-NLM_ENTRY_SYM = _LibCPrelude
-
-#
-# If this is specified it will be used by the link '-exit' directive
-#
-NLM_EXIT_SYM = _LibCPostlude
-
-#
-# If this is specified it will be used by the link '-check' directive
-#
-NLM_CHECK_SYM =
-
-#
-# If this is specified it will be used by the link '-flags' directive
-#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
-
-#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
-# be disabled by setting APACHE_UNIPROC in the environment
-#
-XDCDATA =
-
-#
-# Declare all target files (you must add your files here)
-#
-
-#
-# If there is an NLM target, put it here
-#
-TARGET_nlm = \
- $(OBJDIR)/aputest.nlm \
- $(EOLIST)
-
-#
-# If there is an LIB target, put it here
-#
-TARGET_lib = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the NLM target above.
-# Paths must all use the '/' character
-#
-
-FILES_nlm_objs = \
- $(OBJDIR)/abts.o \
- $(OBJDIR)/testbuckets.o \
- $(OBJDIR)/testdate.o \
- $(OBJDIR)/testdbd.o \
- $(OBJDIR)/testdbm.o \
- $(OBJDIR)/testldap.o \
- $(OBJDIR)/testmemcache.o \
- $(OBJDIR)/testmd4.o \
- $(OBJDIR)/testmd5.o \
- $(OBJDIR)/testpass.o \
- $(OBJDIR)/testqueue.o \
- $(OBJDIR)/testreslist.o \
- $(OBJDIR)/testrmm.o \
- $(OBJDIR)/teststrmatch.o \
- $(OBJDIR)/testuri.o \
- $(OBJDIR)/testuuid.o \
- $(OBJDIR)/testutil.o \
- $(OBJDIR)/testxlate.o \
- $(OBJDIR)/testxml.o \
- $(OBJDIR)/nw_misc.o \
- $(EOLIST)
-
-# Pending tests
-
-#
-# These are the LIB files needed to create the NLM target above.
-# These will be added as a library command in the link.opt file.
-#
-FILES_nlm_libs = \
- libcpre.o \
- $(EOLIST)
-
-#
-# These are the modules that the above NLM target depends on to load.
-# These will be added as a module command in the link.opt file.
-#
-FILES_nlm_modules = \
- Libc \
- APRLIB \
- lldapsdk \
- lldapssl \
- lldapx \
- $(EOLIST)
-
-#
-# If the nlm has a msg file, put it's path here
-#
-FILE_nlm_msg =
-
-#
-# If the nlm has a hlp file put it's path here
-#
-FILE_nlm_hlp =
-
-#
-# If this is specified, it will override the default copyright.
-#
-FILE_nlm_copyright =
-
-#
-# Any additional imports go here
-#
-FILES_nlm_Ximports = \
- @libc.imp \
- @$(APR)/aprlib.imp \
- @$(LDAPSDK)/imports/lldapsdk.imp \
- @$(LDAPSDK)/imports/lldapssl.imp \
- $(EOLIST)
-
-#
-# Any symbols exported to here
-#
-FILES_nlm_exports = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the LIB target above.
-# Paths must all use the '/' character
-#
-FILES_lib_objs = \
- $(EOLIST)
-
-#
-# implement targets and dependancies (leave this section alone)
-#
-
-libs :: $(OBJDIR) $(TARGET_lib)
-
-nlms :: libs $(TARGET_nlm)
-
-#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
-#
-install :: nlms FORCE
-
-#
-# Any specialized rules here
-#
-
-
-#
-# Include the 'tail' makefile that has targets that depend on variables defined
-# in this makefile
-#
-
-include $(APR_WORK)\build\NWGNUtail.inc
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/test/testdbd.c new/apr-util-1.3.9/test/testdbd.c
--- old/apr-util-1.3.8/test/testdbd.c 2008-09-07 00:36:40.000000000 +0200
+++ new/apr-util-1.3.9/test/testdbd.c 2009-07-27 23:33:32.000000000 +0200
@@ -180,7 +180,7 @@
apr_dbd_t* handle = NULL;
rv = apr_dbd_get_driver(pool, "sqlite2", &driver);
- ABTS_ASSERT(tc, "failed to fetch driver", rv == APR_SUCCESS);
+ ABTS_ASSERT(tc, "failed to fetch sqlite2 driver", rv == APR_SUCCESS);
ABTS_PTR_NOTNULL(tc, driver);
if (!driver) {
return;
@@ -189,7 +189,7 @@
ABTS_STR_EQUAL(tc, "sqlite2", apr_dbd_name(driver));
rv = apr_dbd_open(driver, pool, "data/sqlite2.db:600", &handle);
- ABTS_ASSERT(tc, "failed to open database", rv == APR_SUCCESS);
+ ABTS_ASSERT(tc, "failed to open sqlite2 atabase", rv == APR_SUCCESS);
ABTS_PTR_NOTNULL(tc, handle);
if (!handle) {
return;
@@ -208,7 +208,7 @@
apr_dbd_t* handle = NULL;
rv = apr_dbd_get_driver(pool, "sqlite3", &driver);
- ABTS_ASSERT(tc, "failed to fetch driver", rv == APR_SUCCESS);
+ ABTS_ASSERT(tc, "failed to fetch sqlite3 driver", rv == APR_SUCCESS);
ABTS_PTR_NOTNULL(tc, driver);
if (!driver) {
return;
@@ -217,7 +217,7 @@
ABTS_STR_EQUAL(tc, "sqlite3", apr_dbd_name(driver));
rv = apr_dbd_open(driver, pool, "data/sqlite3.db", &handle);
- ABTS_ASSERT(tc, "failed to open database", rv == APR_SUCCESS);
+ ABTS_ASSERT(tc, "failed to open sqlite3 database", rv == APR_SUCCESS);
ABTS_PTR_NOTNULL(tc, handle);
if (!handle) {
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apr-util-1.3.8/test/testxlate.c new/apr-util-1.3.9/test/testxlate.c
--- old/apr-util-1.3.8/test/testxlate.c 2008-05-23 18:45:31.000000000 +0200
+++ new/apr-util-1.3.9/test/testxlate.c 2009-07-08 20:02:51.000000000 +0200
@@ -71,6 +71,33 @@
ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
}
+#if APU_HAVE_APR_ICONV
+/* it is a bug if iconv_open() fails */
+static int is_transform_supported(abts_case *tc, const char *cs1,
+ const char *cs2, apr_pool_t *pool) {
+ return 1;
+}
+#else
+/* some iconv implementations don't support all tested transforms;
+ * example: 8859-1 <-> 8859-2 using native Solaris iconv
+ */
+static int is_transform_supported(abts_case *tc, const char *cs1,
+ const char *cs2, apr_pool_t *pool) {
+ apr_status_t rv;
+ apr_xlate_t *convset;
+
+ rv = apr_xlate_open(&convset, cs2, cs1, pool);
+ if (rv != APR_SUCCESS) {
+ return 0;
+ }
+
+ rv = apr_xlate_close(convset);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ return 1;
+}
+#endif
+
static void test_transformation(abts_case *tc, void *data)
{
/* 1. Identity transformation: UTF-8 -> UTF-8 */
@@ -81,8 +108,12 @@
one_test(tc, "ISO-8859-1", "UTF-8", test_latin1, test_utf8, p);
/* 3. ISO-8859-1 <-> ISO-8859-2, identity */
- one_test(tc, "ISO-8859-1", "ISO-8859-2", test_latin1, test_latin2, p);
- one_test(tc, "ISO-8859-2", "ISO-8859-1", test_latin2, test_latin1, p);
+ if (is_transform_supported(tc, "ISO-8859-1", "ISO-8859-2", p)) {
+ one_test(tc, "ISO-8859-1", "ISO-8859-2", test_latin1, test_latin2, p);
+ }
+ if (is_transform_supported(tc, "ISO-8859-2", "ISO-8859-1", p)) {
+ one_test(tc, "ISO-8859-2", "ISO-8859-1", test_latin2, test_latin1, p);
+ }
/* 4. Transformation using charset aliases */
one_test(tc, "UTF-8", "UTF-7", test_utf8, test_utf7, p);
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org