Mon, 28 Jan 2013 17:37:18 +0100
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> ", 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 |