packages: cgiwrap/cgiwrap-customhtmlerrors.patch (NEW) - allow custom html ...
shadzik
shadzik at pld-linux.org
Thu Apr 8 03:37:11 CEST 2010
Author: shadzik Date: Thu Apr 8 01:37:11 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- allow custom html error pages to be displayed instead of CGIWraps ones which are static compiled in
- enable it with --with-custom-html-errors=PATH
---- Files affected:
packages/cgiwrap:
cgiwrap-customhtmlerrors.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/cgiwrap/cgiwrap-customhtmlerrors.patch
diff -u /dev/null packages/cgiwrap/cgiwrap-customhtmlerrors.patch:1.1
--- /dev/null Thu Apr 8 03:37:11 2010
+++ packages/cgiwrap/cgiwrap-customhtmlerrors.patch Thu Apr 8 03:37:06 2010
@@ -0,0 +1,229 @@
+diff -ur cgiwrap-4.1/config.h.in cgiwrap-4.1-bs/config.h.in
+--- cgiwrap-4.1/config.h.in 2008-06-16 16:34:37.000000000 +0200
++++ cgiwrap-4.1-bs/config.h.in 2010-04-08 03:06:39.605240484 +0200
+@@ -114,6 +114,9 @@
+ /* support a shared multi-user cgi directory */
+ #undef CONF_MULTIUSER_CGI_DIR
+
++/* custom html error pages */
++#undef CONF_CUSTOMHTMLERR
++
+ /* pass script to php interpreter if suffix */
+ #undef CONF_PHP_INTERPRETER
+
+diff -ur cgiwrap-4.1/configure.in cgiwrap-4.1-bs/configure.in
+--- cgiwrap-4.1/configure.in 2008-06-16 16:34:37.000000000 +0200
++++ cgiwrap-4.1-bs/configure.in 2010-04-07 22:56:50.905243224 +0200
+@@ -584,6 +584,25 @@
+ AC_DEFINE_UNQUOTED(CONF_CGIDIR,"public_html/cgi-bin", [cgi dir relative to user home dir])
+ ])
+
++AC_MSG_CHECKING(for path to html error pages)
++AC_ARG_WITH( custom-html-errors,
++ [ --with-custom-html-errors=PATH (disabled)]
++ [ path where you want to store your custom error pages],
++ [
++ if test "x$withval" = xyes; then
++ AC_MSG_RESULT([must specify path, disabled.])
++ elif test "x$withval" = xno; then
++ AC_MSG_RESULT([must specify path, disabled.])
++ elif test "x$withval" = x; then
++ AC_MSG_RESULT([must specify path, disabled.])
++ else
++ AC_MSG_RESULT([$withval])
++ AC_DEFINE_UNQUOTED(CONF_CUSTOMHTMLERR, "$withval", [path to custom html error pages])
++ fi
++ ],
++ [
++ AC_MSG_RESULT([disabled.])
++ ])
+
+ dnl
+ dnl Checking for what server userid cgiwrap will run as
+diff -ur cgiwrap-4.1/msgs.c cgiwrap-4.1-bs/msgs.c
+--- cgiwrap-4.1/msgs.c 2008-06-16 16:34:37.000000000 +0200
++++ cgiwrap-4.1-bs/msgs.c 2010-04-08 03:14:14.343509137 +0200
+@@ -127,6 +127,30 @@
+ exit(1);
+ }
+
++#if defined(CONF_CUSTOMHTMLERR)
++void Show_Custom_Html_Error(char *page)
++{
++ FILE *file;
++ char *read;
++ int ch;
++ //char *path = "/etc/cgiwrap/";
++ char *filename = BuildScriptPath(CONF_CUSTOMHTMLERR,page);
++ //char *filename = BuildScriptPath(path,page);
++ MSG_ContentType("text/html");
++ file = fopen(filename, "r");
++ if(file==NULL) {
++ printf("Error: can't open file.\n");
++ exit(1);
++ } else {
++ while ((ch = getc(file)) != EOF)
++ putc(ch,stdout);
++ //printf("%s", read);
++ fclose(file);
++ }
++ exit(1);
++}
++#endif
++
+ void MSG_Info(void)
+ {
+ char *prefix_html = "<DD><B>";
+@@ -357,6 +381,9 @@
+
+ void MSG_Error_CGIWrapNotSetUID(void)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("CGIWrapNotSetUID.html");
++#else
+ if ( MSG_QuietErrors )
+ {
+ MSG_Error_ServerConfigError();
+@@ -376,11 +403,15 @@
+ MSG_Footer();
+ exit(1);
+ }
++#endif
+ }
+
+
+ void MSG_Error_ServerUserMismatch(void)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("ServerUserMismatch.html");
++#else
+ if ( MSG_QuietErrors )
+ {
+ MSG_Error_ServerConfigError();
+@@ -399,11 +430,15 @@
+ MSG_Footer();
+ exit(1);
+ }
++#endif
+ }
+
+
+ void MSG_Error_ServerUserNotFound(void)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("ServerUserNotFound.html");
++#else
+ if ( MSG_QuietErrors )
+ {
+ MSG_Error_ServerConfigError();
+@@ -452,11 +487,15 @@
+ MSG_Footer();
+ exit(1);
+ }
++#endif
+ }
+
+
+ void MSG_Error_ExecutionNotPermitted(char *path, char *reason)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("ExecutionNotPermitted.html");
++#else
+ MSG_Header("CGIWrap Error", "Execution of this script not permitted");
+
+ if ( MSG_QuietErrors )
+@@ -487,10 +526,14 @@
+
+ MSG_Footer();
+ exit(1);
++#endif
+ }
+
+ void MSG_Error_AccessControl(char *why, char *allowfile, char *denyfile)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("AccessControl.html");
++#else
+
+ if ( MSG_QuietErrors )
+ {
+@@ -526,10 +569,14 @@
+ MSG_Footer();
+ }
+ exit(1);
++#endif
+ }
+
+ void MSG_Error_SystemError(char *when)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("SystemError.html");
++#else
+ MSG_Header("CGIWrap Error", "System Error");
+ printf("CGIWrap encountered a system error.\n");
+
+@@ -561,11 +608,15 @@
+
+ MSG_Footer();
+ exit(1);
++#endif
+ }
+
+
+ void MSG_Error_ExecFailed(void)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("ExecFailed.html");
++#else
+ MSG_Header("CGIWrap Error", "Script Execution Failed");
+
+ printf("CGIWrap encountered an error while attempting to execute\n");
+@@ -621,10 +672,14 @@
+
+ MSG_Footer();
+ exit(1);
++#endif
+ }
+
+ void MSG_Error_NoSuchUser(char *user)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("NoSuchUser.html");
++#else
+ if ( MSG_QuietErrors )
+ {
+ MSG_Error_RequestError();
+@@ -645,10 +700,14 @@
+ MSG_Footer();
+ exit(1);
+ }
++#endif
+ }
+
+ void MSG_Error_NoScriptDir(void)
+ {
++#if defined(CONF_CUSTOMHTMLERR)
++ Show_Custom_Html_Error("NoScriptDir.html");
++#else
+ if ( MSG_QuietErrors )
+ {
+ MSG_Error_RequestError();
+@@ -663,6 +722,7 @@
+ }
+ MSG_Footer();
+ exit(1);
++#endif
+ }
+
+ void MSG_Error_ServerConfigError(void)
+diff -ur cgiwrap-4.1/msgs.h cgiwrap-4.1-bs/msgs.h
+--- cgiwrap-4.1/msgs.h 2008-06-16 16:34:37.000000000 +0200
++++ cgiwrap-4.1-bs/msgs.h 2010-04-07 22:56:50.905243224 +0200
+@@ -28,6 +28,7 @@
+ extern int MSG_QuietErrors;
+ extern int MSG_Need_NPH_Header;
+
++void Show_Custom_Html_Error(char *page);
+ void MSG_ContentType(char *typestring);
+ void MSG_Header(char *title, char *msg);
+ void MSG_Footer(void);
================================================================
More information about the pld-cvs-commit
mailing list