apache/apache.patch

Mon, 28 Jan 2013 17:37:18 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 28 Jan 2013 17:37:18 +0100
changeset 758
a2c6460cfb16
permissions
-rw-r--r--

Correct socket error reporting improvement with IPv6 portable code,
after helpful recommendation by Saúl Ibarra Corretgé on OSips devlist.

michael@684 1 Index: build/config_vars.sh.in
michael@684 2 --- build/config_vars.sh.in.orig 2008-02-05 00:00:07.000000000 +0100
michael@684 3 +++ build/config_vars.sh.in 2011-05-11 20:35:42.000000000 +0200
michael@684 4 @@ -35,7 +35,7 @@
michael@684 5 APU_CONFIG=@APU_CONFIG@
michael@684 6 fi
michael@684 7
michael@684 8 -APR_LIBTOOL="`${APR_CONFIG} --apr-libtool`"
michael@684 9 +APR_LIBTOOL="@prefix@/share/apache/build/libtool"
michael@684 10 APR_INCLUDEDIR="`${APR_CONFIG} --includedir`"
michael@684 11 APU_INCLUDEDIR="`${APU_CONFIG} --includedir`"
michael@684 12
michael@684 13 Index: config.layout
michael@684 14 --- config.layout.orig 2004-11-21 19:50:36.000000000 +0100
michael@684 15 +++ config.layout 2011-05-11 20:35:42.000000000 +0200
michael@684 16 @@ -50,7 +50,7 @@
michael@684 17 iconsdir: ${datadir}/icons
michael@684 18 htdocsdir: ${datadir}/htdocs
michael@684 19 manualdir: ${datadir}/manual
michael@684 20 - cgidir: ${datadir}/cgi-bin
michael@684 21 + cgidir: ${exec_prefix}/cgi
michael@684 22 includedir: ${prefix}/include+
michael@684 23 localstatedir: ${prefix}/var+
michael@684 24 runtimedir: ${localstatedir}/run
michael@684 25 Index: configure
michael@684 26 --- configure.orig 2011-05-08 08:52:50.000000000 +0200
michael@684 27 +++ configure 2011-05-11 20:35:43.000000000 +0200
michael@684 28 @@ -3605,6 +3605,11 @@
michael@684 29 { (exit 1); exit 1; }; }
michael@684 30 fi
michael@684 31
michael@684 32 +if test "x${USE_BUNDLED_APR}" != "x" ; then
michael@684 33 + apr_found=reconfig
michael@684 34 + apr_config=srclib/apr/apr-1-config
michael@684 35 +fi
michael@684 36 +
michael@684 37 if test "$apr_found" = "reconfig"; then
michael@684 38
michael@684 39 # save our work to this point; this allows the sub-package to use it
michael@684 40 @@ -3965,6 +3970,11 @@
michael@684 41 { (exit 1); exit 1; }; }
michael@684 42 fi
michael@684 43
michael@684 44 +if test "x${USE_BUNDLED_APR}" != "x" ; then
michael@684 45 + apu_found=reconfig
michael@684 46 + apu_config=srclib/apr-util/apu-1-config
michael@684 47 +fi
michael@684 48 +
michael@684 49 # Catch some misconfigurations:
michael@684 50 case ${apr_found}.${apu_found} in
michael@684 51 reconfig.yes)
michael@684 52 Index: docs/conf/mime.types
michael@684 53 --- docs/conf/mime.types.orig 2011-05-03 22:13:58.000000000 +0200
michael@684 54 +++ docs/conf/mime.types 2011-05-11 20:37:13.000000000 +0200
michael@684 55 @@ -119,6 +119,7 @@
michael@684 56 # application/media_control+xml
michael@684 57 application/mediaservercontrol+xml mscml
michael@684 58 application/metalink4+xml meta4
michael@684 59 +application/metalink+xml metalink
michael@684 60 application/mets+xml mets
michael@684 61 # application/mikey
michael@684 62 application/mods+xml mods
michael@684 63 Index: docs/docroot/index.html
michael@684 64 --- docs/docroot/index.html.orig 2004-11-20 21:16:24.000000000 +0100
michael@684 65 +++ docs/docroot/index.html 2011-05-11 20:35:43.000000000 +0200
michael@684 66 @@ -1 +1,7 @@
michael@684 67 -<html><body><h1>It works!</h1></body></html>
michael@684 68 \ No newline at end of file
michael@684 69 +<html>
michael@684 70 + <body>
michael@684 71 + <h1>It works!</h1>
michael@684 72 + It works! Your <a href="http://openpkg.org/">OpenPKG</a> based <a href="http://httpd.apache.org/">Apache</a> HTTP server was successfully installed and started.<br/>
michael@684 73 + You now have to read the <a href="/apache-manual/">documentation</a> and configure it according to your local demands.
michael@684 74 + </body>
michael@684 75 +</html>
michael@684 76 Index: modules/generators/mod_autoindex.c
michael@684 77 --- modules/generators/mod_autoindex.c.orig 2011-02-10 16:24:20.000000000 +0100
michael@684 78 +++ modules/generators/mod_autoindex.c 2011-05-11 20:35:43.000000000 +0200
michael@684 79 @@ -1574,17 +1574,17 @@
michael@684 80
michael@684 81 ++cols;
michael@684 82 }
michael@684 83 - ap_rputs("<th>", r);
michael@684 84 + ap_rputs("<th align=\"left\">", r);
michael@684 85 emit_link(r, "Name", K_NAME, keyid, direction,
michael@684 86 colargs, static_columns);
michael@684 87 if (!(autoindex_opts & SUPPRESS_LAST_MOD)) {
michael@684 88 - ap_rputs("</th><th>", r);
michael@684 89 + ap_rputs("</th><th align=\"right\">", r);
michael@684 90 emit_link(r, "Last modified", K_LAST_MOD, keyid, direction,
michael@684 91 colargs, static_columns);
michael@684 92 ++cols;
michael@684 93 }
michael@684 94 if (!(autoindex_opts & SUPPRESS_SIZE)) {
michael@684 95 - ap_rputs("</th><th>", r);
michael@684 96 + ap_rputs("</th><th align=\"right\">", r);
michael@684 97 emit_link(r, "Size", K_SIZE, keyid, direction,
michael@684 98 colargs, static_columns);
michael@684 99 ++cols;
michael@684 100 @@ -1678,7 +1678,14 @@
michael@684 101 }
michael@684 102
michael@684 103 if (autoindex_opts & TABLE_INDEXING) {
michael@684 104 - ap_rputs("<tr>", r);
michael@684 105 + char *class;
michael@684 106 + if (strcmp(t2, "Parent Directory") == 0)
michael@684 107 + class = "updir";
michael@684 108 + else if (ar[x]->isdir)
michael@684 109 + class = "dir";
michael@684 110 + else
michael@684 111 + class = "file";
michael@684 112 + ap_rvputs(r, "<tr class=\"", class, "\">", NULL);
michael@684 113 if (!(autoindex_opts & SUPPRESS_ICON)) {
michael@684 114 ap_rputs("<td valign=\"top\">", r);
michael@684 115 if (autoindex_opts & ICONS_ARE_LINKS) {
michael@684 116 @@ -1763,9 +1770,6 @@
michael@684 117 desc_width), NULL);
michael@684 118 }
michael@684 119 }
michael@684 120 - else {
michael@684 121 - ap_rputs("</td><td>&nbsp;", r);
michael@684 122 - }
michael@684 123 }
michael@684 124 ap_rputs("</td></tr>\n", r);
michael@684 125 }
michael@684 126 Index: server/Makefile.in
michael@684 127 --- server/Makefile.in.orig 2011-04-14 18:37:58.000000000 +0200
michael@684 128 +++ server/Makefile.in 2011-05-11 20:35:43.000000000 +0200
michael@684 129 @@ -56,7 +56,8 @@
michael@684 130 tmp=export_files_unsorted.txt; \
michael@684 131 rm -f $$tmp && touch $$tmp; \
michael@684 132 for dir in $(EXPORT_DIRS); do \
michael@684 133 - ls $$dir/*.h >> $$tmp; \
michael@684 134 + abs_dir=`cd $$dir && exec pwd`; \
michael@684 135 + ls $$abs_dir/*.h >> $$tmp; \
michael@684 136 done; \
michael@684 137 for dir in $(EXPORT_DIRS_APR); do \
michael@684 138 (ls $$dir/ap[ru].h $$dir/ap[ru]_*.h >> $$tmp 2>/dev/null); \
michael@684 139 Index: support/Makefile.in
michael@684 140 --- support/Makefile.in.orig 2011-04-16 21:09:47.000000000 +0200
michael@684 141 +++ support/Makefile.in 2011-05-11 20:35:43.000000000 +0200
michael@684 142 @@ -22,12 +22,6 @@
michael@684 143 chmod 755 $(DESTDIR)$(sbindir)/$$i; \
michael@684 144 fi ; \
michael@684 145 done
michael@684 146 - @if test -f "$(builddir)/envvars-std"; then \
michael@684 147 - cp -p envvars-std $(DESTDIR)$(sbindir); \
michael@684 148 - if test ! -f $(DESTDIR)$(sbindir)/envvars; then \
michael@684 149 - cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \
michael@684 150 - fi ; \
michael@684 151 - fi
michael@684 152
michael@684 153 htpasswd_OBJECTS = htpasswd.lo
michael@684 154 htpasswd: $(htpasswd_OBJECTS)
michael@684 155 Index: support/apachectl.in
michael@684 156 --- support/apachectl.in.orig 2006-07-12 05:38:44.000000000 +0200
michael@684 157 +++ support/apachectl.in 2011-05-11 20:35:43.000000000 +0200
michael@684 158 @@ -43,11 +43,6 @@
michael@684 159 # the path to your httpd binary, including options if necessary
michael@684 160 HTTPD='@exp_sbindir@/@progname@'
michael@684 161 #
michael@684 162 -# pick up any necessary environment variables
michael@684 163 -if test -f @exp_sbindir@/envvars; then
michael@684 164 - . @exp_sbindir@/envvars
michael@684 165 -fi
michael@684 166 -#
michael@684 167 # a command that outputs a formatted text version of the HTML at the
michael@684 168 # url given on the command line. Designed for lynx, however other
michael@684 169 # programs may work.
michael@684 170 Index: support/apxs.in
michael@684 171 --- support/apxs.in.orig 2010-05-10 22:02:56.000000000 +0200
michael@684 172 +++ support/apxs.in 2011-05-11 20:35:43.000000000 +0200
michael@684 173 @@ -80,6 +80,7 @@
michael@684 174 # the "+" metacharacter at the format string to allow a list to be built by
michael@684 175 # subsequent occurrences of the same option.
michael@684 176 sub Getopts {
michael@684 177 + no warnings 'deprecated';
michael@684 178 my ($argumentative, @ARGV) = @_;
michael@684 179 my $errs = 0;
michael@684 180 local $_;
michael@684 181 @@ -189,9 +190,6 @@
michael@684 182 my $httpd = get_vars("sbindir") . "/" . get_vars("progname");
michael@684 183 $httpd = eval qq("$httpd");
michael@684 184 $httpd = eval qq("$httpd");
michael@684 185 -my $envvars = get_vars("sbindir") . "/envvars";
michael@684 186 -$envvars = eval qq("$envvars");
michael@684 187 -$envvars = eval qq("$envvars");
michael@684 188
michael@684 189 #allow apxs to be run from the source tree, before installation
michael@684 190 if ($0 =~ m:support/apxs$:) {
michael@684 191 @@ -203,7 +201,7 @@
michael@684 192 exit 1;
michael@684 193 }
michael@684 194
michael@684 195 -unless (grep /mod_so/, `. $envvars && $httpd -l`) {
michael@684 196 +unless (grep /mod_so/, `$httpd -l`) {
michael@684 197 error("Sorry, no shared object support for Apache");
michael@684 198 error("available under your platform. Make sure");
michael@684 199 error("the Apache module mod_so is compiled into");
michael@684 200 @@ -337,8 +335,7 @@
michael@684 201 exit(1);
michael@684 202 }
michael@684 203
michael@684 204 -my $libtool = `$apr_config --apr-libtool`;
michael@684 205 -chomp($libtool);
michael@684 206 +my $libtool = "$prefix/share/apache/build/libtool";
michael@684 207
michael@684 208 my $apr_includedir = `$apr_config --includes`;
michael@684 209 chomp($apr_includedir);
michael@684 210 Index: support/htdigest.c
michael@684 211 --- support/htdigest.c.orig 2010-09-22 03:35:42.000000000 +0200
michael@684 212 +++ support/htdigest.c 2011-05-11 20:35:43.000000000 +0200
michael@684 213 @@ -119,7 +119,7 @@
michael@684 214 }
michael@684 215
michael@684 216
michael@684 217 -static void add_password(const char *user, const char *realm, apr_file_t *f)
michael@684 218 +static void add_password(const char *user, const char *realm, const char *pw0, apr_file_t *f)
michael@684 219 {
michael@684 220 char *pw;
michael@684 221 apr_md5_ctx_t context;
michael@684 222 @@ -130,6 +130,9 @@
michael@684 223 unsigned int i;
michael@684 224 apr_size_t len = sizeof(pwin);
michael@684 225
michael@684 226 + if (pw0 != NULL)
michael@684 227 + pw = pw0;
michael@684 228 + else {
michael@684 229 if (apr_password_get("New password: ", pwin, &len) != APR_SUCCESS) {
michael@684 230 apr_file_printf(errfile, "password too long");
michael@684 231 cleanup_tempfile_and_exit(5);
michael@684 232 @@ -141,6 +144,7 @@
michael@684 233 cleanup_tempfile_and_exit(1);
michael@684 234 }
michael@684 235 pw = pwin;
michael@684 236 + }
michael@684 237 apr_file_printf(f, "%s:%s:", user, realm);
michael@684 238
michael@684 239 /* Do MD5 stuff */
michael@684 240 @@ -161,7 +165,7 @@
michael@684 241
michael@684 242 static void usage(void)
michael@684 243 {
michael@684 244 - apr_file_printf(errfile, "Usage: htdigest [-c] passwordfile realm username\n");
michael@684 245 + apr_file_printf(errfile, "Usage: htdigest [-c] passwordfile realm username [password]\n");
michael@684 246 apr_file_printf(errfile, "The -c flag creates a new file.\n");
michael@684 247 exit(1);
michael@684 248 }
michael@684 249 @@ -188,6 +192,8 @@
michael@684 250 char *dirname;
michael@684 251 char user[MAX_STRING_LEN];
michael@684 252 char realm[MAX_STRING_LEN];
michael@684 253 + char *password = NULL;
michael@684 254 + char passwordb[MAX_STRING_LEN];
michael@684 255 char line[3 * MAX_STRING_LEN];
michael@684 256 char l[3 * MAX_STRING_LEN];
michael@684 257 char w[MAX_STRING_LEN];
michael@684 258 @@ -209,9 +215,7 @@
michael@684 259 #endif
michael@684 260
michael@684 261 apr_signal(SIGINT, (void (*)(int)) interrupted);
michael@684 262 - if (argc == 5) {
michael@684 263 - if (strcmp(argv[1], "-c"))
michael@684 264 - usage();
michael@684 265 + if ((argc == 5 || argc == 6) && strcmp(argv[1], "-c") == 0) {
michael@684 266 rv = apr_file_open(&f, argv[2], APR_WRITE | APR_CREATE,
michael@684 267 APR_OS_DEFAULT, cntxt);
michael@684 268 if (rv != APR_SUCCESS) {
michael@684 269 @@ -222,15 +226,19 @@
michael@684 270 apr_strerror(rv, errmsg, sizeof errmsg));
michael@684 271 exit(1);
michael@684 272 }
michael@684 273 + if (argc == 6) {
michael@684 274 + apr_cpystrn(passwordb, argv[5], sizeof(passwordb));
michael@684 275 + password = passwordb;
michael@684 276 + }
michael@684 277 apr_cpystrn(user, argv[4], sizeof(user));
michael@684 278 apr_cpystrn(realm, argv[3], sizeof(realm));
michael@684 279 apr_file_printf(errfile, "Adding password for %s in realm %s.\n",
michael@684 280 user, realm);
michael@684 281 - add_password(user, realm, f);
michael@684 282 + add_password(user, realm, password, f);
michael@684 283 apr_file_close(f);
michael@684 284 exit(0);
michael@684 285 }
michael@684 286 - else if (argc != 4)
michael@684 287 + else if (argc != 4 && argc != 5)
michael@684 288 usage();
michael@684 289
michael@684 290 if (apr_temp_dir_get((const char**)&dirname, cntxt) != APR_SUCCESS) {
michael@684 291 @@ -253,6 +261,10 @@
michael@684 292 }
michael@684 293 apr_cpystrn(user, argv[3], sizeof(user));
michael@684 294 apr_cpystrn(realm, argv[2], sizeof(realm));
michael@684 295 + if (argc == 5) {
michael@684 296 + apr_cpystrn(passwordb, argv[4], sizeof(passwordb));
michael@684 297 + password = passwordb;
michael@684 298 + }
michael@684 299
michael@684 300 found = 0;
michael@684 301 while (!(get_line(line, sizeof(line), f))) {
michael@684 302 @@ -270,13 +282,13 @@
michael@684 303 else {
michael@684 304 apr_file_printf(errfile, "Changing password for user %s in realm %s\n",
michael@684 305 user, realm);
michael@684 306 - add_password(user, realm, tfp);
michael@684 307 + add_password(user, realm, password, tfp);
michael@684 308 found = 1;
michael@684 309 }
michael@684 310 }
michael@684 311 if (!found) {
michael@684 312 apr_file_printf(errfile, "Adding user %s in realm %s\n", user, realm);
michael@684 313 - add_password(user, realm, tfp);
michael@684 314 + add_password(user, realm, password, tfp);
michael@684 315 }
michael@684 316 apr_file_close(f);
michael@684 317
michael@684 318 Index: server/util_pcre.c
michael@684 319 --- server/util_pcre.c.orig 2005-11-10 16:20:05.000000000 +0100
michael@684 320 +++ server/util_pcre.c 2012-02-05 21:25:24.000000000 +0100
michael@684 321 @@ -128,6 +128,7 @@
michael@684 322 const char *errorptr;
michael@684 323 int erroffset;
michael@684 324 int options = 0;
michael@684 325 +int nsub = 0;
michael@684 326
michael@684 327 if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS;
michael@684 328 if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE;
michael@684 329 @@ -137,7 +138,8 @@
michael@684 330
michael@684 331 if (preg->re_pcre == NULL) return AP_REG_INVARG;
michael@684 332
michael@684 333 -preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL);
michael@684 334 +pcre_fullinfo((const pcre *)preg->re_pcre, NULL, PCRE_INFO_CAPTURECOUNT, &nsub);
michael@684 335 +preg->re_nsub = (apr_size_t)nsub;
michael@684 336 return 0;
michael@684 337 }
michael@684 338

mercurial