|
|
|
@ -1,7 +1,7 @@
|
|
|
|
|
Index: configure
|
|
|
|
|
--- configure.orig 2005-11-29 09:19:59 +0100
|
|
|
|
|
+++ configure 2006-02-15 20:52:55 +0100
|
|
|
|
|
@@ -2674,6 +2674,11 @@
|
|
|
|
|
--- configure.orig 2006-04-22 05:54:22 +0200
|
|
|
|
|
+++ configure 2006-04-30 09:59:39 +0200
|
|
|
|
|
@@ -2682,6 +2682,11 @@
|
|
|
|
|
{ (exit 1); exit 1; }; }
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
@ -13,7 +13,7 @@ Index: configure
|
|
|
|
|
if test "$apr_found" = "reconfig"; then
|
|
|
|
|
|
|
|
|
|
# save our work to this point; this allows the sub-package to use it
|
|
|
|
|
@@ -3002,6 +3007,11 @@
|
|
|
|
|
@@ -3010,6 +3015,11 @@
|
|
|
|
|
{ (exit 1); exit 1; }; }
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
@ -26,8 +26,8 @@ Index: configure
|
|
|
|
|
case ${apr_found}.${apu_found} in
|
|
|
|
|
reconfig.yes)
|
|
|
|
|
Index: server/Makefile.in
|
|
|
|
|
--- server/Makefile.in.orig 2005-02-11 13:00:41 +0100
|
|
|
|
|
+++ server/Makefile.in 2006-02-15 20:52:55 +0100
|
|
|
|
|
--- server/Makefile.in.orig 2006-03-09 22:29:55 +0100
|
|
|
|
|
+++ server/Makefile.in 2006-04-30 09:59:39 +0200
|
|
|
|
|
@@ -56,7 +56,8 @@
|
|
|
|
|
tmp=export_files_unsorted.txt; \
|
|
|
|
|
rm -f $$tmp && touch $$tmp; \
|
|
|
|
@ -37,10 +37,66 @@ Index: server/Makefile.in
|
|
|
|
|
+ ls $$abs_dir/*.h >> $$tmp; \
|
|
|
|
|
done; \
|
|
|
|
|
for dir in $(EXPORT_DIRS_APR); do \
|
|
|
|
|
ls $$dir/ap[ru].h >> $$tmp; \
|
|
|
|
|
(ls $$dir/ap[ru].h $$dir/ap[ru]_*.h >> $$tmp 2>/dev/null); \
|
|
|
|
|
Index: srclib/apr-util/crypto/getuuid.c
|
|
|
|
|
--- srclib/apr-util/crypto/getuuid.c.orig 2005-02-04 21:45:35 +0100
|
|
|
|
|
+++ srclib/apr-util/crypto/getuuid.c 2006-04-30 09:59:39 +0200
|
|
|
|
|
@@ -131,7 +131,7 @@
|
|
|
|
|
|
|
|
|
|
/* crap. this isn't crypto quality, but it will be Good Enough */
|
|
|
|
|
|
|
|
|
|
- get_system_time(&time_now);
|
|
|
|
|
+ time_now = apr_time_now();
|
|
|
|
|
srand((unsigned int)(((time_now >> 32) ^ time_now) & 0xffffffff));
|
|
|
|
|
|
|
|
|
|
return rand() & 0x0FFFF;
|
|
|
|
|
@@ -151,7 +151,7 @@
|
|
|
|
|
static apr_interval_time_t time_last = 0;
|
|
|
|
|
static apr_interval_time_t fudge = 0;
|
|
|
|
|
|
|
|
|
|
- time_now = apr_time_now();
|
|
|
|
|
+ get_system_time(&time_now);
|
|
|
|
|
|
|
|
|
|
/* if clock reading changed since last UUID generated... */
|
|
|
|
|
if (time_last != time_now) {
|
|
|
|
|
@@ -188,17 +188,26 @@
|
|
|
|
|
|
|
|
|
|
get_current_time(×tamp);
|
|
|
|
|
|
|
|
|
|
- d[0] = (unsigned char)timestamp;
|
|
|
|
|
- d[1] = (unsigned char)(timestamp >> 8);
|
|
|
|
|
- d[2] = (unsigned char)(timestamp >> 16);
|
|
|
|
|
- d[3] = (unsigned char)(timestamp >> 24);
|
|
|
|
|
- d[4] = (unsigned char)(timestamp >> 32);
|
|
|
|
|
- d[5] = (unsigned char)(timestamp >> 40);
|
|
|
|
|
- d[6] = (unsigned char)(timestamp >> 48);
|
|
|
|
|
- d[7] = (unsigned char)(((timestamp >> 56) & 0x0F) | 0x10);
|
|
|
|
|
+ /* UUID field: time_low */
|
|
|
|
|
+ d[0] = (unsigned char)(timestamp >> (8*3));
|
|
|
|
|
+ d[1] = (unsigned char)(timestamp >> (8*2));
|
|
|
|
|
+ d[2] = (unsigned char)(timestamp >> (8*1));
|
|
|
|
|
+ d[3] = (unsigned char)(timestamp);
|
|
|
|
|
+
|
|
|
|
|
+ /* UUID field: time_mid */
|
|
|
|
|
+ d[4] = (unsigned char)(timestamp >> (8*5));
|
|
|
|
|
+ d[5] = (unsigned char)(timestamp >> (8*4));
|
|
|
|
|
+
|
|
|
|
|
+ /* UUID field: time_hi_and_version */
|
|
|
|
|
+ d[6] = (unsigned char)(((timestamp >> (8*7)) & 0x0F) | 0x10);
|
|
|
|
|
+ d[7] = (unsigned char)(timestamp >> (8*6));
|
|
|
|
|
|
|
|
|
|
+ /* UUID field: clk_seq_hi_res */
|
|
|
|
|
d[8] = (unsigned char)(((uuid_state_seqnum >> 8) & 0x3F) | 0x80);
|
|
|
|
|
+
|
|
|
|
|
+ /* UUID field: clk_seq_low */
|
|
|
|
|
d[9] = (unsigned char)uuid_state_seqnum;
|
|
|
|
|
|
|
|
|
|
+ /* UUID field: node */
|
|
|
|
|
memcpy(&d[10], uuid_state_node, NODE_LENGTH);
|
|
|
|
|
}
|
|
|
|
|
Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
--- srclib/apr-util/dbd/apr_dbd_sqlite3.c.orig 2005-08-11 10:51:16 +0200
|
|
|
|
|
+++ srclib/apr-util/dbd/apr_dbd_sqlite3.c 2006-02-16 19:48:25 +0100
|
|
|
|
|
--- srclib/apr-util/dbd/apr_dbd_sqlite3.c.orig 2006-03-15 07:04:54 +0100
|
|
|
|
|
+++ srclib/apr-util/dbd/apr_dbd_sqlite3.c 2006-04-30 10:02:32 +0200
|
|
|
|
|
@@ -39,7 +39,9 @@
|
|
|
|
|
struct apr_dbd_t {
|
|
|
|
|
sqlite3 *conn;
|
|
|
|
@ -51,7 +107,7 @@ Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
apr_pool_t *pool;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
@@ -92,11 +94,15 @@
|
|
|
|
|
@@ -93,11 +95,15 @@
|
|
|
|
|
return sql->trans->errnum;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -67,7 +123,7 @@ Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
return ret;
|
|
|
|
|
} else {
|
|
|
|
|
int column_count;
|
|
|
|
|
@@ -115,7 +121,9 @@
|
|
|
|
|
@@ -118,9 +124,13 @@
|
|
|
|
|
if (retry_count++ > MAX_RETRY_COUNT) {
|
|
|
|
|
ret = SQLITE_ERROR;
|
|
|
|
|
} else {
|
|
|
|
@ -75,9 +131,13 @@ Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
apr_thread_mutex_unlock(sql->mutex);
|
|
|
|
|
+#endif
|
|
|
|
|
apr_sleep(MAX_RETRY_SLEEP);
|
|
|
|
|
+#if APR_HAS_THREADS
|
|
|
|
|
apr_thread_mutex_lock(sql->mutex);
|
|
|
|
|
+#endif
|
|
|
|
|
}
|
|
|
|
|
} else if (ret == SQLITE_ROW) {
|
|
|
|
|
@@ -170,7 +178,9 @@
|
|
|
|
|
int length;
|
|
|
|
|
@@ -179,7 +189,9 @@
|
|
|
|
|
} while (ret == SQLITE_ROW || ret == SQLITE_BUSY);
|
|
|
|
|
}
|
|
|
|
|
ret = sqlite3_finalize(stmt);
|
|
|
|
@ -87,9 +147,9 @@ Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
|
|
|
|
|
if (sql->trans) {
|
|
|
|
|
sql->trans->errnum = ret;
|
|
|
|
|
@@ -240,7 +250,9 @@
|
|
|
|
|
return SQLITE_ERROR;
|
|
|
|
|
@@ -242,7 +254,9 @@
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
length = strlen(query);
|
|
|
|
|
+#if APR_HAS_THREADS
|
|
|
|
|
apr_thread_mutex_lock(sql->mutex);
|
|
|
|
@ -97,17 +157,17 @@ Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
|
|
|
|
|
do {
|
|
|
|
|
ret = sqlite3_prepare(sql->conn, query, length, &stmt, &tail);
|
|
|
|
|
@@ -259,7 +271,9 @@
|
|
|
|
|
@@ -260,7 +274,9 @@
|
|
|
|
|
if (dbd_sqlite3_is_success(ret)) {
|
|
|
|
|
res = 0;
|
|
|
|
|
ret = 0;
|
|
|
|
|
}
|
|
|
|
|
+#if APR_HAS_THREADS
|
|
|
|
|
apr_thread_mutex_unlock(sql->mutex);
|
|
|
|
|
+#endif
|
|
|
|
|
apr_pool_destroy(pool);
|
|
|
|
|
if (sql->trans) {
|
|
|
|
|
sql->trans->errnum = res;
|
|
|
|
|
@@ -367,11 +381,13 @@
|
|
|
|
|
sql->trans->errnum = ret;
|
|
|
|
|
}
|
|
|
|
|
@@ -367,11 +383,13 @@
|
|
|
|
|
sql->pool = pool;
|
|
|
|
|
sql->trans = NULL;
|
|
|
|
|
/* Create a mutex */
|
|
|
|
@ -121,7 +181,7 @@ Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
|
|
|
|
|
return sql;
|
|
|
|
|
}
|
|
|
|
|
@@ -379,7 +395,9 @@
|
|
|
|
|
@@ -379,7 +397,9 @@
|
|
|
|
|
static apr_status_t dbd_sqlite3_close(apr_dbd_t *handle)
|
|
|
|
|
{
|
|
|
|
|
sqlite3_close(handle->conn);
|
|
|
|
@ -131,59 +191,3 @@ Index: srclib/apr-util/dbd/apr_dbd_sqlite3.c
|
|
|
|
|
return APR_SUCCESS;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Index: srclib/apr-util/crypto/getuuid.c
|
|
|
|
|
--- srclib/apr-util/crypto/getuuid.c.orig 2005-02-04 21:45:35 +0100
|
|
|
|
|
+++ srclib/apr-util/crypto/getuuid.c 2006-04-04 21:06:48 +0200
|
|
|
|
|
@@ -131,7 +131,7 @@
|
|
|
|
|
|
|
|
|
|
/* crap. this isn't crypto quality, but it will be Good Enough */
|
|
|
|
|
|
|
|
|
|
- get_system_time(&time_now);
|
|
|
|
|
+ time_now = apr_time_now();
|
|
|
|
|
srand((unsigned int)(((time_now >> 32) ^ time_now) & 0xffffffff));
|
|
|
|
|
|
|
|
|
|
return rand() & 0x0FFFF;
|
|
|
|
|
@@ -151,7 +151,7 @@
|
|
|
|
|
static apr_interval_time_t time_last = 0;
|
|
|
|
|
static apr_interval_time_t fudge = 0;
|
|
|
|
|
|
|
|
|
|
- time_now = apr_time_now();
|
|
|
|
|
+ get_system_time(&time_now);
|
|
|
|
|
|
|
|
|
|
/* if clock reading changed since last UUID generated... */
|
|
|
|
|
if (time_last != time_now) {
|
|
|
|
|
@@ -188,17 +188,26 @@
|
|
|
|
|
|
|
|
|
|
get_current_time(×tamp);
|
|
|
|
|
|
|
|
|
|
- d[0] = (unsigned char)timestamp;
|
|
|
|
|
- d[1] = (unsigned char)(timestamp >> 8);
|
|
|
|
|
- d[2] = (unsigned char)(timestamp >> 16);
|
|
|
|
|
- d[3] = (unsigned char)(timestamp >> 24);
|
|
|
|
|
- d[4] = (unsigned char)(timestamp >> 32);
|
|
|
|
|
- d[5] = (unsigned char)(timestamp >> 40);
|
|
|
|
|
- d[6] = (unsigned char)(timestamp >> 48);
|
|
|
|
|
- d[7] = (unsigned char)(((timestamp >> 56) & 0x0F) | 0x10);
|
|
|
|
|
+ /* UUID field: time_low */
|
|
|
|
|
+ d[0] = (unsigned char)(timestamp >> (8*3));
|
|
|
|
|
+ d[1] = (unsigned char)(timestamp >> (8*2));
|
|
|
|
|
+ d[2] = (unsigned char)(timestamp >> (8*1));
|
|
|
|
|
+ d[3] = (unsigned char)(timestamp);
|
|
|
|
|
+
|
|
|
|
|
+ /* UUID field: time_mid */
|
|
|
|
|
+ d[4] = (unsigned char)(timestamp >> (8*5));
|
|
|
|
|
+ d[5] = (unsigned char)(timestamp >> (8*4));
|
|
|
|
|
+
|
|
|
|
|
+ /* UUID field: time_hi_and_version */
|
|
|
|
|
+ d[6] = (unsigned char)(((timestamp >> (8*7)) & 0x0F) | 0x10);
|
|
|
|
|
+ d[7] = (unsigned char)(timestamp >> (8*6));
|
|
|
|
|
|
|
|
|
|
+ /* UUID field: clk_seq_hi_res */
|
|
|
|
|
d[8] = (unsigned char)(((uuid_state_seqnum >> 8) & 0x3F) | 0x80);
|
|
|
|
|
+
|
|
|
|
|
+ /* UUID field: clk_seq_low */
|
|
|
|
|
d[9] = (unsigned char)uuid_state_seqnum;
|
|
|
|
|
|
|
|
|
|
+ /* UUID field: node */
|
|
|
|
|
memcpy(&d[10], uuid_state_node, NODE_LENGTH);
|
|
|
|
|
}
|
|
|
|
|