michael@684: Index: build/config_vars.sh.in michael@684: --- build/config_vars.sh.in.orig 2008-02-05 00:00:07.000000000 +0100 michael@684: +++ build/config_vars.sh.in 2011-05-11 20:35:42.000000000 +0200 michael@684: @@ -35,7 +35,7 @@ michael@684: APU_CONFIG=@APU_CONFIG@ michael@684: fi michael@684: michael@684: -APR_LIBTOOL="`${APR_CONFIG} --apr-libtool`" michael@684: +APR_LIBTOOL="@prefix@/share/apache/build/libtool" michael@684: APR_INCLUDEDIR="`${APR_CONFIG} --includedir`" michael@684: APU_INCLUDEDIR="`${APU_CONFIG} --includedir`" michael@684: michael@684: Index: config.layout michael@684: --- config.layout.orig 2004-11-21 19:50:36.000000000 +0100 michael@684: +++ config.layout 2011-05-11 20:35:42.000000000 +0200 michael@684: @@ -50,7 +50,7 @@ michael@684: iconsdir: ${datadir}/icons michael@684: htdocsdir: ${datadir}/htdocs michael@684: manualdir: ${datadir}/manual michael@684: - cgidir: ${datadir}/cgi-bin michael@684: + cgidir: ${exec_prefix}/cgi michael@684: includedir: ${prefix}/include+ michael@684: localstatedir: ${prefix}/var+ michael@684: runtimedir: ${localstatedir}/run michael@684: Index: configure michael@684: --- configure.orig 2011-05-08 08:52:50.000000000 +0200 michael@684: +++ configure 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -3605,6 +3605,11 @@ michael@684: { (exit 1); exit 1; }; } michael@684: fi michael@684: michael@684: +if test "x${USE_BUNDLED_APR}" != "x" ; then michael@684: + apr_found=reconfig michael@684: + apr_config=srclib/apr/apr-1-config michael@684: +fi michael@684: + michael@684: if test "$apr_found" = "reconfig"; then michael@684: michael@684: # save our work to this point; this allows the sub-package to use it michael@684: @@ -3965,6 +3970,11 @@ michael@684: { (exit 1); exit 1; }; } michael@684: fi michael@684: michael@684: +if test "x${USE_BUNDLED_APR}" != "x" ; then michael@684: + apu_found=reconfig michael@684: + apu_config=srclib/apr-util/apu-1-config michael@684: +fi michael@684: + michael@684: # Catch some misconfigurations: michael@684: case ${apr_found}.${apu_found} in michael@684: reconfig.yes) michael@684: Index: docs/conf/mime.types michael@684: --- docs/conf/mime.types.orig 2011-05-03 22:13:58.000000000 +0200 michael@684: +++ docs/conf/mime.types 2011-05-11 20:37:13.000000000 +0200 michael@684: @@ -119,6 +119,7 @@ michael@684: # application/media_control+xml michael@684: application/mediaservercontrol+xml mscml michael@684: application/metalink4+xml meta4 michael@684: +application/metalink+xml metalink michael@684: application/mets+xml mets michael@684: # application/mikey michael@684: application/mods+xml mods michael@684: Index: docs/docroot/index.html michael@684: --- docs/docroot/index.html.orig 2004-11-20 21:16:24.000000000 +0100 michael@684: +++ docs/docroot/index.html 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -1 +1,7 @@ michael@684: -

It works!

michael@684: \ No newline at end of file michael@684: + michael@684: + michael@684: +

It works!

michael@684: + It works! Your OpenPKG based Apache HTTP server was successfully installed and started.
michael@684: + You now have to read the documentation and configure it according to your local demands. michael@684: + michael@684: + michael@684: Index: modules/generators/mod_autoindex.c michael@684: --- modules/generators/mod_autoindex.c.orig 2011-02-10 16:24:20.000000000 +0100 michael@684: +++ modules/generators/mod_autoindex.c 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -1574,17 +1574,17 @@ michael@684: michael@684: ++cols; michael@684: } michael@684: - ap_rputs("", r); michael@684: + ap_rputs("", r); michael@684: emit_link(r, "Name", K_NAME, keyid, direction, michael@684: colargs, static_columns); michael@684: if (!(autoindex_opts & SUPPRESS_LAST_MOD)) { michael@684: - ap_rputs("", r); michael@684: + ap_rputs("", r); michael@684: emit_link(r, "Last modified", K_LAST_MOD, keyid, direction, michael@684: colargs, static_columns); michael@684: ++cols; michael@684: } michael@684: if (!(autoindex_opts & SUPPRESS_SIZE)) { michael@684: - ap_rputs("", r); michael@684: + ap_rputs("", r); michael@684: emit_link(r, "Size", K_SIZE, keyid, direction, michael@684: colargs, static_columns); michael@684: ++cols; michael@684: @@ -1678,7 +1678,14 @@ michael@684: } michael@684: michael@684: if (autoindex_opts & TABLE_INDEXING) { michael@684: - ap_rputs("", r); michael@684: + char *class; michael@684: + if (strcmp(t2, "Parent Directory") == 0) michael@684: + class = "updir"; michael@684: + else if (ar[x]->isdir) michael@684: + class = "dir"; michael@684: + else michael@684: + class = "file"; michael@684: + ap_rvputs(r, "", NULL); michael@684: if (!(autoindex_opts & SUPPRESS_ICON)) { michael@684: ap_rputs("", r); michael@684: if (autoindex_opts & ICONS_ARE_LINKS) { michael@684: @@ -1763,9 +1770,6 @@ michael@684: desc_width), NULL); michael@684: } michael@684: } michael@684: - else { michael@684: - ap_rputs(" ", r); michael@684: - } michael@684: } michael@684: ap_rputs("\n", r); michael@684: } michael@684: Index: server/Makefile.in michael@684: --- server/Makefile.in.orig 2011-04-14 18:37:58.000000000 +0200 michael@684: +++ server/Makefile.in 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -56,7 +56,8 @@ michael@684: tmp=export_files_unsorted.txt; \ michael@684: rm -f $$tmp && touch $$tmp; \ michael@684: for dir in $(EXPORT_DIRS); do \ michael@684: - ls $$dir/*.h >> $$tmp; \ michael@684: + abs_dir=`cd $$dir && exec pwd`; \ michael@684: + ls $$abs_dir/*.h >> $$tmp; \ michael@684: done; \ michael@684: for dir in $(EXPORT_DIRS_APR); do \ michael@684: (ls $$dir/ap[ru].h $$dir/ap[ru]_*.h >> $$tmp 2>/dev/null); \ michael@684: Index: support/Makefile.in michael@684: --- support/Makefile.in.orig 2011-04-16 21:09:47.000000000 +0200 michael@684: +++ support/Makefile.in 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -22,12 +22,6 @@ michael@684: chmod 755 $(DESTDIR)$(sbindir)/$$i; \ michael@684: fi ; \ michael@684: done michael@684: - @if test -f "$(builddir)/envvars-std"; then \ michael@684: - cp -p envvars-std $(DESTDIR)$(sbindir); \ michael@684: - if test ! -f $(DESTDIR)$(sbindir)/envvars; then \ michael@684: - cp -p envvars-std $(DESTDIR)$(sbindir)/envvars ; \ michael@684: - fi ; \ michael@684: - fi michael@684: michael@684: htpasswd_OBJECTS = htpasswd.lo michael@684: htpasswd: $(htpasswd_OBJECTS) michael@684: Index: support/apachectl.in michael@684: --- support/apachectl.in.orig 2006-07-12 05:38:44.000000000 +0200 michael@684: +++ support/apachectl.in 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -43,11 +43,6 @@ michael@684: # the path to your httpd binary, including options if necessary michael@684: HTTPD='@exp_sbindir@/@progname@' michael@684: # michael@684: -# pick up any necessary environment variables michael@684: -if test -f @exp_sbindir@/envvars; then michael@684: - . @exp_sbindir@/envvars michael@684: -fi michael@684: -# michael@684: # a command that outputs a formatted text version of the HTML at the michael@684: # url given on the command line. Designed for lynx, however other michael@684: # programs may work. michael@684: Index: support/apxs.in michael@684: --- support/apxs.in.orig 2010-05-10 22:02:56.000000000 +0200 michael@684: +++ support/apxs.in 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -80,6 +80,7 @@ michael@684: # the "+" metacharacter at the format string to allow a list to be built by michael@684: # subsequent occurrences of the same option. michael@684: sub Getopts { michael@684: + no warnings 'deprecated'; michael@684: my ($argumentative, @ARGV) = @_; michael@684: my $errs = 0; michael@684: local $_; michael@684: @@ -189,9 +190,6 @@ michael@684: my $httpd = get_vars("sbindir") . "/" . get_vars("progname"); michael@684: $httpd = eval qq("$httpd"); michael@684: $httpd = eval qq("$httpd"); michael@684: -my $envvars = get_vars("sbindir") . "/envvars"; michael@684: -$envvars = eval qq("$envvars"); michael@684: -$envvars = eval qq("$envvars"); michael@684: michael@684: #allow apxs to be run from the source tree, before installation michael@684: if ($0 =~ m:support/apxs$:) { michael@684: @@ -203,7 +201,7 @@ michael@684: exit 1; michael@684: } michael@684: michael@684: -unless (grep /mod_so/, `. $envvars && $httpd -l`) { michael@684: +unless (grep /mod_so/, `$httpd -l`) { michael@684: error("Sorry, no shared object support for Apache"); michael@684: error("available under your platform. Make sure"); michael@684: error("the Apache module mod_so is compiled into"); michael@684: @@ -337,8 +335,7 @@ michael@684: exit(1); michael@684: } michael@684: michael@684: -my $libtool = `$apr_config --apr-libtool`; michael@684: -chomp($libtool); michael@684: +my $libtool = "$prefix/share/apache/build/libtool"; michael@684: michael@684: my $apr_includedir = `$apr_config --includes`; michael@684: chomp($apr_includedir); michael@684: Index: support/htdigest.c michael@684: --- support/htdigest.c.orig 2010-09-22 03:35:42.000000000 +0200 michael@684: +++ support/htdigest.c 2011-05-11 20:35:43.000000000 +0200 michael@684: @@ -119,7 +119,7 @@ michael@684: } michael@684: michael@684: michael@684: -static void add_password(const char *user, const char *realm, apr_file_t *f) michael@684: +static void add_password(const char *user, const char *realm, const char *pw0, apr_file_t *f) michael@684: { michael@684: char *pw; michael@684: apr_md5_ctx_t context; michael@684: @@ -130,6 +130,9 @@ michael@684: unsigned int i; michael@684: apr_size_t len = sizeof(pwin); michael@684: michael@684: + if (pw0 != NULL) michael@684: + pw = pw0; michael@684: + else { michael@684: if (apr_password_get("New password: ", pwin, &len) != APR_SUCCESS) { michael@684: apr_file_printf(errfile, "password too long"); michael@684: cleanup_tempfile_and_exit(5); michael@684: @@ -141,6 +144,7 @@ michael@684: cleanup_tempfile_and_exit(1); michael@684: } michael@684: pw = pwin; michael@684: + } michael@684: apr_file_printf(f, "%s:%s:", user, realm); michael@684: michael@684: /* Do MD5 stuff */ michael@684: @@ -161,7 +165,7 @@ michael@684: michael@684: static void usage(void) michael@684: { michael@684: - apr_file_printf(errfile, "Usage: htdigest [-c] passwordfile realm username\n"); michael@684: + apr_file_printf(errfile, "Usage: htdigest [-c] passwordfile realm username [password]\n"); michael@684: apr_file_printf(errfile, "The -c flag creates a new file.\n"); michael@684: exit(1); michael@684: } michael@684: @@ -188,6 +192,8 @@ michael@684: char *dirname; michael@684: char user[MAX_STRING_LEN]; michael@684: char realm[MAX_STRING_LEN]; michael@684: + char *password = NULL; michael@684: + char passwordb[MAX_STRING_LEN]; michael@684: char line[3 * MAX_STRING_LEN]; michael@684: char l[3 * MAX_STRING_LEN]; michael@684: char w[MAX_STRING_LEN]; michael@684: @@ -209,9 +215,7 @@ michael@684: #endif michael@684: michael@684: apr_signal(SIGINT, (void (*)(int)) interrupted); michael@684: - if (argc == 5) { michael@684: - if (strcmp(argv[1], "-c")) michael@684: - usage(); michael@684: + if ((argc == 5 || argc == 6) && strcmp(argv[1], "-c") == 0) { michael@684: rv = apr_file_open(&f, argv[2], APR_WRITE | APR_CREATE, michael@684: APR_OS_DEFAULT, cntxt); michael@684: if (rv != APR_SUCCESS) { michael@684: @@ -222,15 +226,19 @@ michael@684: apr_strerror(rv, errmsg, sizeof errmsg)); michael@684: exit(1); michael@684: } michael@684: + if (argc == 6) { michael@684: + apr_cpystrn(passwordb, argv[5], sizeof(passwordb)); michael@684: + password = passwordb; michael@684: + } michael@684: apr_cpystrn(user, argv[4], sizeof(user)); michael@684: apr_cpystrn(realm, argv[3], sizeof(realm)); michael@684: apr_file_printf(errfile, "Adding password for %s in realm %s.\n", michael@684: user, realm); michael@684: - add_password(user, realm, f); michael@684: + add_password(user, realm, password, f); michael@684: apr_file_close(f); michael@684: exit(0); michael@684: } michael@684: - else if (argc != 4) michael@684: + else if (argc != 4 && argc != 5) michael@684: usage(); michael@684: michael@684: if (apr_temp_dir_get((const char**)&dirname, cntxt) != APR_SUCCESS) { michael@684: @@ -253,6 +261,10 @@ michael@684: } michael@684: apr_cpystrn(user, argv[3], sizeof(user)); michael@684: apr_cpystrn(realm, argv[2], sizeof(realm)); michael@684: + if (argc == 5) { michael@684: + apr_cpystrn(passwordb, argv[4], sizeof(passwordb)); michael@684: + password = passwordb; michael@684: + } michael@684: michael@684: found = 0; michael@684: while (!(get_line(line, sizeof(line), f))) { michael@684: @@ -270,13 +282,13 @@ michael@684: else { michael@684: apr_file_printf(errfile, "Changing password for user %s in realm %s\n", michael@684: user, realm); michael@684: - add_password(user, realm, tfp); michael@684: + add_password(user, realm, password, tfp); michael@684: found = 1; michael@684: } michael@684: } michael@684: if (!found) { michael@684: apr_file_printf(errfile, "Adding user %s in realm %s\n", user, realm); michael@684: - add_password(user, realm, tfp); michael@684: + add_password(user, realm, password, tfp); michael@684: } michael@684: apr_file_close(f); michael@684: michael@684: Index: server/util_pcre.c michael@684: --- server/util_pcre.c.orig 2005-11-10 16:20:05.000000000 +0100 michael@684: +++ server/util_pcre.c 2012-02-05 21:25:24.000000000 +0100 michael@684: @@ -128,6 +128,7 @@ michael@684: const char *errorptr; michael@684: int erroffset; michael@684: int options = 0; michael@684: +int nsub = 0; michael@684: michael@684: if ((cflags & AP_REG_ICASE) != 0) options |= PCRE_CASELESS; michael@684: if ((cflags & AP_REG_NEWLINE) != 0) options |= PCRE_MULTILINE; michael@684: @@ -137,7 +138,8 @@ michael@684: michael@684: if (preg->re_pcre == NULL) return AP_REG_INVARG; michael@684: michael@684: -preg->re_nsub = pcre_info((const pcre *)preg->re_pcre, NULL, NULL); michael@684: +pcre_fullinfo((const pcre *)preg->re_pcre, NULL, PCRE_INFO_CAPTURECOUNT, &nsub); michael@684: +preg->re_nsub = (apr_size_t)nsub; michael@684: return 0; michael@684: } michael@684: