summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Angelacos <nangel@alpinelinux.org>2009-07-31 01:38:54 +0000
committerNathan Angelacos <nangel@alpinelinux.org>2009-07-31 01:38:54 +0000
commit7ab23666ab2ac9cdd2b776e1b6e3708abf1c2a0f (patch)
tree258dbc457eff9477e67379c95c338deb3bdc83b1
parent46e27454485e4fdfe9379179d07e45999b022112 (diff)
downloadhaserl-7ab23666ab2ac9cdd2b776e1b6e3708abf1c2a0f.tar.bz2
haserl-7ab23666ab2ac9cdd2b776e1b6e3708abf1c2a0f.tar.xz
0.9.26 Release
-rw-r--r--ChangeLog9
-rw-r--r--THANKS2
-rw-r--r--aclocal.m437
-rw-r--r--configure.ac2
-rw-r--r--src/common.c4
-rw-r--r--src/common.h2
-rw-r--r--src/config.h.in3
-rw-r--r--src/h_script.c2
-rw-r--r--src/haserl.c6
-rw-r--r--src/rfc2388.c6
10 files changed, 47 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog
index 3cfdc26..39be221 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2009-07-30
+ 0.9.26
+ * Peter Korsgaard found a buffer overflow error in handling
+ array variables from the client.
+ * Changed buffer_init function to haserl_buffer_init to
+ work around a nasty problem when using luasocket.
+ http://lua-users.org/lists/lua-l/2008-08/msg00446.html
+ text data bss dec hex filename
+ 18873 820 172 19865 4d99 src/haserl
2008-12-16
0.9.25
* Somehow version control failed, and the -d debug short
diff --git a/THANKS b/THANKS
index da1ecdc..47de286 100644
--- a/THANKS
+++ b/THANKS
@@ -31,4 +31,4 @@ Mark Blythe identified differences between BSD/OSX and Linux shell
handling of #! scripts, and how argv[1] looks. Then he supplied the
fix.
-
+Peter Korsgaard found a buffer overflow error in http array handling.
diff --git a/aclocal.m4 b/aclocal.m4
index eb3b99a..3a5bd16 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,4 +1,4 @@
-# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
+# generated automatically by aclocal 1.10.2 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
@@ -13,13 +13,13 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-m4_if(AC_AUTOCONF_VERSION, [2.61],,
-[m4_warning([this file was generated for autoconf 2.61.
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],,
+[m4_warning([this file was generated for autoconf 2.64.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
-# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
-m4_if([$1], [1.10.1], [],
+m4_if([$1], [1.10.2], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -48,12 +48,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# AM_SET_CURRENT_AUTOMAKE_VERSION
# -------------------------------
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
-# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.10.1])dnl
+[AM_AUTOMAKE_VERSION([1.10.2])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
-_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -303,19 +303,28 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
# Generate code to set up dependency tracking. -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
# Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-#serial 3
+#serial 4
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[for mf in $CONFIG_FILES; do
+[# Autoconf 2.62 quotes --file arguments for eval, but not when files
+# are listed without --file. Let's play safe and only enable the eval
+# if we detect the quoting.
+case $CONFIG_FILES in
+*\'*) eval set x "$CONFIG_FILES" ;;
+*) set x $CONFIG_FILES ;;
+esac
+shift
+for mf
+do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
@@ -647,13 +656,13 @@ esac
# Helper functions for option handling. -*- Autoconf -*-
-# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -670,7 +679,7 @@ AC_DEFUN([_AM_SET_OPTION],
# ----------------------------------
# OPTIONS is a space-separated list of Automake options.
AC_DEFUN([_AM_SET_OPTIONS],
-[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
# -------------------------------------------
diff --git a/configure.ac b/configure.ac
index 1bcdadd..66d9564 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
# Process this file with autoconf to produce a configure script.
-AC_INIT([haserl],[0.9.25],[Nathan Angelacos <nangel@users.sourceforge.net>],[haserl])
+AC_INIT([haserl],[0.9.26],[Nathan Angelacos <nangel@users.sourceforge.net>],[haserl])
AM_INIT_AUTOMAKE([haserl],[$PACKAGE_VERSION])
# Checks for programs.
diff --git a/src/common.c b/src/common.c
index 2ee4afb..8362171 100644
--- a/src/common.c
+++ b/src/common.c
@@ -208,7 +208,7 @@ argc_argv (char *instr, argv_t ** argv, char *commentstr)
originally by Per Bother */
void
-buffer_init (buffer_t * buf)
+haserl_buffer_init (buffer_t * buf)
{
buf->data = NULL;
buf->ptr = NULL;
@@ -222,7 +222,7 @@ buffer_destroy (buffer_t * buf)
{
free (buf->data);
}
- buffer_init (buf);
+ haserl_buffer_init (buf);
}
/* don't reallocate - just forget about the current contents */
diff --git a/src/common.h b/src/common.h
index dbf33aa..b9ee5f3 100644
--- a/src/common.h
+++ b/src/common.h
@@ -44,7 +44,7 @@ typedef struct
/* common.c */
int argc_argv (char *instr, argv_t ** argv, char *commentstr);
-void buffer_init (buffer_t * buf);
+void haserl_buffer_init (buffer_t * buf);
void buffer_reset (buffer_t * buf);
void buffer_destroy (buffer_t * buf);
void buffer_add (buffer_t * buf, const void *data, unsigned long size);
diff --git a/src/config.h.in b/src/config.h.in
index 215b591..f9135a1 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -78,6 +78,9 @@
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
/* Define to the version of this package. */
#undef PACKAGE_VERSION
diff --git a/src/h_script.c b/src/h_script.c
index 029fc41..646be6e 100644
--- a/src/h_script.c
+++ b/src/h_script.c
@@ -522,7 +522,7 @@ process_token_list (buffer_t * buf, token_t * token)
{
char *c;
- buffer_init (buf);
+ haserl_buffer_init (buf);
shell_exec (buf, "\n"); /* try to get the error reporting match the line number */
while (token)
diff --git a/src/haserl.c b/src/haserl.c
index fa6059a..049e7f9 100644
--- a/src/haserl.c
+++ b/src/haserl.c
@@ -269,7 +269,7 @@ myputenv (list_t * cur, char *str, char *prefix)
/* if an array, create a new string with this
* value added to the end of the old value(s)
*/
- temp = xmalloc (strlen (cur->buf) + len + 1);
+ temp = xmalloc (strlen (cur->buf) + strlen(entry) - len + 1);
memmove (temp, cur->buf, strlen (cur->buf) + 1);
strcat (temp, "\n");
strcat (temp, str + keylen + 3);
@@ -491,7 +491,7 @@ ReadCGIPOSTValues (list_t * env)
{
sbuf.maxread = strtoul (getenv (CONTENT_LENGTH), NULL, 10);
}
- buffer_init (&token);
+ haserl_buffer_init (&token);
/* Allow 2MB content, unless they have a global upload set */
@@ -695,7 +695,7 @@ main (int argc, char *argv[])
assignGlobalStartupValues ();
#ifndef JUST_LUACSHELL
- buffer_init (&script_text);
+ haserl_buffer_init (&script_text);
#endif
/* if more than argv[1] and argv[1] is not a file */
diff --git a/src/rfc2388.c b/src/rfc2388.c
index 8aa5d19..b9e8daf 100644
--- a/src/rfc2388.c
+++ b/src/rfc2388.c
@@ -62,7 +62,7 @@ mime_var_init (mime_var_t * obj)
obj->filename = NULL;
obj->type = NULL;
obj->tempname = NULL;
- buffer_init (&(obj->value));
+ haserl_buffer_init (&(obj->value));
obj->fh = 0;
}
@@ -157,7 +157,7 @@ void
mime_var_putenv (list_t * env, mime_var_t * obj)
{
buffer_t buf;
- buffer_init (&buf);
+ haserl_buffer_init (&buf);
if (obj->name)
{
buffer_add (&(obj->value), "", 1);
@@ -401,7 +401,7 @@ rfc2388_handler (list_t * env)
}
/* initialize the buffer, and make sure it doesn't point to null */
- buffer_init (&buf);
+ haserl_buffer_init (&buf);
buffer_add (&buf, "", 1);
buffer_reset (&buf);