--- /dev/null
+diff -urp mod_frontpage_mirfak-1.6.2.orig/fpstatic.c mod_frontpage_mirfak-1.6.2/fpstatic.c
+--- mod_frontpage_mirfak-1.6.2.orig/fpstatic.c 2002-03-12 17:07:07.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/fpstatic.c 2002-11-08 02:00:49.000000000 -0400
+@@ -434,16 +434,42 @@ int translate (const char * uri) {
+ pos = strrchr((char *)uri, '/');
+ snprintf((char *)fnbuf, sizeof(fnbuf), "%s%s%s%s%s",
+ FPBASE, _EXES, _VTI_ADM, _IMAGES, pos);
++ /*
++ * Check to see if the user is changing the password,
++ * which has a URL like _vti_bin/_vti_aut/passwd.htm.
++ * It's different from other ".htm" files because it
++ * goes through _VTI_AUT instead of _VTI_ADM and it
++ * may not have the Lcid in the URL. If it's missing
++ * the Lcid, hard-code it to 1033 like the rtr patches.
++ */
++ } else if (((pos = strstr(uri, _FPPASSWD)) != NULL)) {
++ pos = strstr(uri, _VTI_AUT);
++ pos = pos + 19;
++ Lcid = (int)strtol(pos, &pos, 10);
++ if (Lcid == 0) {
++ Lcid = 1033;
++ }
++ pos = strrchr((char *)uri, '/');
++ snprintf((char *)fnbuf, sizeof(fnbuf), "%s%s%c%04d%s",
++ FPBASE, _ADMIN, '/', Lcid, pos);
++
+ /*
+ * If we still have .htm or .css, we end up
+ * with the admin dir. If we match, we calculate
+ * the Lcid from the string.
+ */
+- } else if (((pos = strstr(uri, ".htm")) != NULL)
+- || ((pos = strstr(uri, ".css")) != NULL)) {
++ } else if (((pos = strstr(uri, ".css")) != NULL)) {
++ if (((pos = strstr(uri, _VTI_ADM)) != NULL)) {
+ pos = strstr(uri, _VTI_ADM);
++ } else {
++ pos = strstr(uri, _VTI_AUT);
++ }
+ pos = pos + 19;
+ Lcid = (int)strtol(pos, &pos, 10);
++ if (Lcid == 0) {
++ Lcid = 1033;
++ }
++ pos = strrchr((char *)uri, '/');
+ snprintf((char *)fnbuf, sizeof(fnbuf), "%s%s%c%04d%s",
+ FPBASE, _ADMIN, '/', Lcid, pos);
+ }
+diff -urp mod_frontpage_mirfak-1.6.2.orig/Makefile.in mod_frontpage_mirfak-1.6.2/Makefile.in
+--- mod_frontpage_mirfak-1.6.2.orig/Makefile.in 2002-03-12 17:07:06.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/Makefile.in 2002-11-08 01:46:36.000000000 -0400
+@@ -37,7 +37,7 @@ all: mod_frontpage.so fpexec fpstatic
+
+ # compile the DSO file
+ mod_frontpage.so: mod_frontpage.c
+- $(APXS) -Wall -c $(DEF) $(INC) $(LIB) mod_frontpage.c
++ $(APXS) -Wall -c $(DEF) $(DEF2) $(INC) $(LIB) mod_frontpage.c
+
+ fpexec: fpexec.c
+ $(cc) $(CFLAGS) $(DEF2) $(INC) $(LIB) -o fpexec fpexec.c
+diff -urp mod_frontpage_mirfak-1.6.2.orig/Makefile.PL mod_frontpage_mirfak-1.6.2/Makefile.PL
+--- mod_frontpage_mirfak-1.6.2.orig/Makefile.PL 2002-03-12 17:07:07.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/Makefile.PL 2002-11-08 02:01:41.000000000 -0400
+@@ -11,9 +11,11 @@
+
+ $flavor=`uname`;
+ if (-e "/etc/mandrake-release") {$flavor="Mandrake";}
++if (-e "/etc/debian_version") {$flavor="Debian";}
+
+ if ($flavor eq "FreeBSD") { $thechoice="/usr/local/sbin/httpd";
+ } elsif ($flavor eq "Mandrake") { $thechoice="/usr/sbin/httpd";
++} elsif ($flavor eq "Debian") { $thechoice="/usr/sbin/apache";
+ } else {
+ print "Enter the path of your httpd binary.\n";
+ print "It should be something like /usr/local/apache/bin).\n";
+@@ -43,7 +45,10 @@ if (/Server version:/) { print " YES!\n"
+ } else { die "\n\nSorry, can't find Apache version!\n"; }
+
+ $httpd=$thechoice;
+-$thechoice=~s|/httpd||;
++
++if ($flavor eq "Debian") { $thechoice=~s|sbin/apache|bin/|;
++} else {
++$thechoice=~s|/httpd||; }
+
+ print "sbindir is $thechoice, trying to find apxs...";
+
+@@ -74,10 +79,10 @@ $tmpfile="/tmp/frontpage.$$";
+ open(FILE,"$tmpfile") or die "Can't find $tmpfile!\n";
+ print "Reading httpd.conf...\n";
+ while(<FILE>) {
+- if (!$user && /^\s*User (\w*)/i) {
++ if (!$user && /^\s*User ([\w-]*)/i) {
+ $user=$1;
+ }
+- if (!$group && /^\s*Group (\w*)/i) {
++ if (!$group && /^\s*Group ([\w-]*)/i) {
+ $group=$1;
+ }
+ if (!$userdir && /^\s*UserDir (\w*)/i) {
+@@ -123,6 +128,7 @@ if (/^(\d*)(\s*)(\d*)/) {
+
+ if ($flavor eq "FreeBSD") { $defaultid=80;
+ } elsif ($flavor eq "Mandrake") { $defaultid=48;
++} elsif ($flavor eq "Debian") { $defaultid=33;
+ } else { $defaultid=99; }
+
+ if ($uid < $defaultid) {
+diff -urp mod_frontpage_mirfak-1.6.2.orig/path.h mod_frontpage_mirfak-1.6.2/path.h
+--- mod_frontpage_mirfak-1.6.2.orig/path.h 2002-03-12 17:07:07.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/path.h 2002-11-08 01:52:01.000000000 -0400
+@@ -67,6 +67,7 @@
+ #define _HELP "/help"
+ #define _EXES "/exes"
+ #define _ADMIN "/admin"
++#define _FPPASSWD "/passwd.htm"
+
+ #define VTIHELP _VTI_BIN "/_vti_adm/help"
+ #define SHTMLDLL _VTI_BIN "/shtml.dll"
--- /dev/null
+#!/usr/bin/perl
+
+$sbindir="/usr/sbin";
+$apxs="$sbindir/apxs";
+$confdir=`$apxs -q SYSCONFDIR`;
+$confdir =~ s|\n||;
+$cc=`$apxs -q CC`;
+$cc =~ s|\n||;
+$cflags=`$apxs -q CFLAGS`;
+$cflags =~ s|\n||;
+$includedir=`$apxs -q INCLUDEDIR`;
+$includedir =~ s|\n||;
+$libexecdir=`$apxs -q LIBEXECDIR`;
+$libexecdir =~ s|\n||;
+
+### Create Makefile
+$install=`which install`;
+chop $install;
+open(MTMP,"Makefile.in") or die "Can't find Makefile.tmpl\n";
+open(MAKF,"> Makefile") or die "Can't create Makefile\n";
+print "Creating Makefile\n";
+while(<MTMP>) {
+$_=~ s|\$\(apxs\)|$apxs|;
+$_=~ s|\$\(apachectl\)|/usr/sbin/apachectl|;
+$_=~ s|\$\(cc\)|$cc|;
+$_=~ s|\$\(includedir\)|$includedir|;
+$_=~ s|\$\(cflags\)|$cflags|;
+$_=~ s|\$\(sbindir\)|/usr/sbin|;
+$_=~ s|\$\(install\)|$install|;
+$_=~ s|\$\(fpexec_uidcaller\)|http|;
+$_=~ s|\$\(fpexec_gidcaller\)|http|;
+$_=~ s|\$\(fpexec_uidmin\)|1000|;
+$_=~ s|\$\(fpexec_gidmin\)|1000|;
+$_=~ s|\$\(fpexec_logexec\)|/var/log/httpd/fpexec_log|;
+$_=~ s|\$\(fpexec_userdir\)|public_html|;
+$_=~ s|\$\(fpexec_docroot\)|/home/services/httpd/html|;
+$_=~ s|"\$\(fpexec_bin\)|\\\\\"$sbindir\/fpexec\\\\|;
+$_=~ s|"\$\(fpstatic_bin\)|\\\\\"$sbindir\/fpstatic\\\\|;
+print MAKF $_;
+}
--- /dev/null
+diff -urp mod_frontpage_mirfak-1.6.2.orig/fpstatic.c mod_frontpage_mirfak-1.6.2/fpstatic.c
+--- mod_frontpage_mirfak-1.6.2.orig/fpstatic.c 2002-03-12 17:07:07.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/fpstatic.c 2002-11-08 02:00:49.000000000 -0400
+@@ -434,16 +434,42 @@ int translate (const char * uri) {
+ pos = strrchr((char *)uri, '/');
+ snprintf((char *)fnbuf, sizeof(fnbuf), "%s%s%s%s%s",
+ FPBASE, _EXES, _VTI_ADM, _IMAGES, pos);
++ /*
++ * Check to see if the user is changing the password,
++ * which has a URL like _vti_bin/_vti_aut/passwd.htm.
++ * It's different from other ".htm" files because it
++ * goes through _VTI_AUT instead of _VTI_ADM and it
++ * may not have the Lcid in the URL. If it's missing
++ * the Lcid, hard-code it to 1033 like the rtr patches.
++ */
++ } else if (((pos = strstr(uri, _FPPASSWD)) != NULL)) {
++ pos = strstr(uri, _VTI_AUT);
++ pos = pos + 19;
++ Lcid = (int)strtol(pos, &pos, 10);
++ if (Lcid == 0) {
++ Lcid = 1033;
++ }
++ pos = strrchr((char *)uri, '/');
++ snprintf((char *)fnbuf, sizeof(fnbuf), "%s%s%c%04d%s",
++ FPBASE, _ADMIN, '/', Lcid, pos);
++
+ /*
+ * If we still have .htm or .css, we end up
+ * with the admin dir. If we match, we calculate
+ * the Lcid from the string.
+ */
+- } else if (((pos = strstr(uri, ".htm")) != NULL)
+- || ((pos = strstr(uri, ".css")) != NULL)) {
++ } else if (((pos = strstr(uri, ".css")) != NULL)) {
++ if (((pos = strstr(uri, _VTI_ADM)) != NULL)) {
+ pos = strstr(uri, _VTI_ADM);
++ } else {
++ pos = strstr(uri, _VTI_AUT);
++ }
+ pos = pos + 19;
+ Lcid = (int)strtol(pos, &pos, 10);
++ if (Lcid == 0) {
++ Lcid = 1033;
++ }
++ pos = strrchr((char *)uri, '/');
+ snprintf((char *)fnbuf, sizeof(fnbuf), "%s%s%c%04d%s",
+ FPBASE, _ADMIN, '/', Lcid, pos);
+ }
+diff -urp mod_frontpage_mirfak-1.6.2.orig/Makefile.in mod_frontpage_mirfak-1.6.2/Makefile.in
+--- mod_frontpage_mirfak-1.6.2.orig/Makefile.in 2002-03-12 17:07:06.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/Makefile.in 2002-11-08 01:46:36.000000000 -0400
+@@ -37,7 +37,7 @@ all: mod_frontpage.so fpexec fpstatic
+
+ # compile the DSO file
+ mod_frontpage.so: mod_frontpage.c
+- $(APXS) -Wall -c $(DEF) $(INC) $(LIB) mod_frontpage.c
++ $(APXS) -Wall -c $(DEF) $(DEF2) $(INC) $(LIB) mod_frontpage.c
+
+ fpexec: fpexec.c
+ $(cc) $(CFLAGS) $(DEF2) $(INC) $(LIB) -o fpexec fpexec.c
+diff -urp mod_frontpage_mirfak-1.6.2.orig/Makefile.PL mod_frontpage_mirfak-1.6.2/Makefile.PL
+--- mod_frontpage_mirfak-1.6.2.orig/Makefile.PL 2002-03-12 17:07:07.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/Makefile.PL 2002-11-08 02:01:41.000000000 -0400
+@@ -11,9 +11,11 @@
+
+ $flavor=`uname`;
+ if (-e "/etc/mandrake-release") {$flavor="Mandrake";}
++if (-e "/etc/debian_version") {$flavor="Debian";}
+
+ if ($flavor eq "FreeBSD") { $thechoice="/usr/local/sbin/httpd";
+ } elsif ($flavor eq "Mandrake") { $thechoice="/usr/sbin/httpd";
++} elsif ($flavor eq "Debian") { $thechoice="/usr/sbin/apache";
+ } else {
+ print "Enter the path of your httpd binary.\n";
+ print "It should be something like /usr/local/apache/bin).\n";
+@@ -43,7 +45,10 @@ if (/Server version:/) { print " YES!\n"
+ } else { die "\n\nSorry, can't find Apache version!\n"; }
+
+ $httpd=$thechoice;
+-$thechoice=~s|/httpd||;
++
++if ($flavor eq "Debian") { $thechoice=~s|sbin/apache|bin/|;
++} else {
++$thechoice=~s|/httpd||; }
+
+ print "sbindir is $thechoice, trying to find apxs...";
+
+@@ -74,10 +79,10 @@ $tmpfile="/tmp/frontpage.$$";
+ open(FILE,"$tmpfile") or die "Can't find $tmpfile!\n";
+ print "Reading httpd.conf...\n";
+ while(<FILE>) {
+- if (!$user && /^\s*User (\w*)/i) {
++ if (!$user && /^\s*User ([\w-]*)/i) {
+ $user=$1;
+ }
+- if (!$group && /^\s*Group (\w*)/i) {
++ if (!$group && /^\s*Group ([\w-]*)/i) {
+ $group=$1;
+ }
+ if (!$userdir && /^\s*UserDir (\w*)/i) {
+@@ -123,6 +128,7 @@ if (/^(\d*)(\s*)(\d*)/) {
+
+ if ($flavor eq "FreeBSD") { $defaultid=80;
+ } elsif ($flavor eq "Mandrake") { $defaultid=48;
++} elsif ($flavor eq "Debian") { $defaultid=33;
+ } else { $defaultid=99; }
+
+ if ($uid < $defaultid) {
+diff -urp mod_frontpage_mirfak-1.6.2.orig/path.h mod_frontpage_mirfak-1.6.2/path.h
+--- mod_frontpage_mirfak-1.6.2.orig/path.h 2002-03-12 17:07:07.000000000 -0400
++++ mod_frontpage_mirfak-1.6.2/path.h 2002-11-08 01:52:01.000000000 -0400
+@@ -67,6 +67,7 @@
+ #define _HELP "/help"
+ #define _EXES "/exes"
+ #define _ADMIN "/admin"
++#define _FPPASSWD "/passwd.htm"
+
+ #define VTIHELP _VTI_BIN "/_vti_adm/help"
+ #define SHTMLDLL _VTI_BIN "/shtml.dll"
--- /dev/null
+#!/usr/bin/perl
+
+$sbindir="/usr/sbin";
+$apxs="$sbindir/apxs";
+$confdir=`$apxs -q SYSCONFDIR`;
+$confdir =~ s|\n||;
+$cc=`$apxs -q CC`;
+$cc =~ s|\n||;
+$cflags=`$apxs -q CFLAGS`;
+$cflags =~ s|\n||;
+$includedir=`$apxs -q INCLUDEDIR`;
+$includedir =~ s|\n||;
+$libexecdir=`$apxs -q LIBEXECDIR`;
+$libexecdir =~ s|\n||;
+
+### Create Makefile
+$install=`which install`;
+chop $install;
+open(MTMP,"Makefile.in") or die "Can't find Makefile.tmpl\n";
+open(MAKF,"> Makefile") or die "Can't create Makefile\n";
+print "Creating Makefile\n";
+while(<MTMP>) {
+$_=~ s|\$\(apxs\)|$apxs|;
+$_=~ s|\$\(apachectl\)|/usr/sbin/apachectl|;
+$_=~ s|\$\(cc\)|$cc|;
+$_=~ s|\$\(includedir\)|$includedir|;
+$_=~ s|\$\(cflags\)|$cflags|;
+$_=~ s|\$\(sbindir\)|/usr/sbin|;
+$_=~ s|\$\(install\)|$install|;
+$_=~ s|\$\(fpexec_uidcaller\)|http|;
+$_=~ s|\$\(fpexec_gidcaller\)|http|;
+$_=~ s|\$\(fpexec_uidmin\)|1000|;
+$_=~ s|\$\(fpexec_gidmin\)|1000|;
+$_=~ s|\$\(fpexec_logexec\)|/var/log/httpd/fpexec_log|;
+$_=~ s|\$\(fpexec_userdir\)|public_html|;
+$_=~ s|\$\(fpexec_docroot\)|/home/services/httpd/html|;
+$_=~ s|"\$\(fpexec_bin\)|\\\\\"$sbindir\/fpexec\\\\|;
+$_=~ s|"\$\(fpstatic_bin\)|\\\\\"$sbindir\/fpstatic\\\\|;
+print MAKF $_;
+}