Sat, 06 Oct 2012 16:24:01 +0200
Update to new vendor software version and adjust patch code accordingly.
Unfortunately the vendor has apparently failed to properly test this
release which depends on missing object symbols in libsasl2.a(common.o):
undefined reference to `sasl_randcreate'
undefined reference to `sasl_mkchal'
undefined reference to `sasl_utf8verify'
undefined reference to `sasl_rand'
undefined reference to `sasl_churn'
undefined reference to `sasl_encode64'
undefined reference to `sasl_decode64'
undefined reference to `sasl_erasebuffer'
undefined reference to `sasl_randfree'
undefined reference to `sasl_strlower'
undefined reference to `get_fqhostname'
...yet to be patched.
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 |