Index: Makefile
===================================================================
RCS file: /cvs/ports/www/p5-CGI-Application/Makefile,v
retrieving revision 1.10
diff -u -p -u -p -r1.10 Makefile
--- Makefile	11 Mar 2013 11:44:44 -0000	1.10
+++ Makefile	6 Jun 2014 05:23:58 -0000
@@ -4,9 +4,9 @@ COMMENT = 		MVC web framework for perl
 
 MODULES =		cpan
 DISTNAME =		CGI-Application-4.50
+REVISION =		0
 CATEGORIES =		www
 HOMEPAGE =		http://www.cgi-app.org/
-USE_GROFF =		Yes
 
 MAINTAINER =		Ian McWilliam <kaosagnt@tpg.com.au>
 
@@ -14,6 +14,9 @@ MAINTAINER =		Ian McWilliam <kaosagnt@tp
 PERMIT_PACKAGE_CDROM =	Yes
 
 CONFIGURE_STYLE =	modbuild
-RUN_DEPENDS =		www/p5-HTML-Template
+
+RUN_DEPENDS =		devel/p5-Class-ISA \
+			www/p5-CGI-PSGI \
+			www/p5-HTML-Template
 
 .include <bsd.port.mk>
Index: patches/patch-lib_CGI_Application_pm
===================================================================
RCS file: patches/patch-lib_CGI_Application_pm
diff -N patches/patch-lib_CGI_Application_pm
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-lib_CGI_Application_pm	6 Jun 2014 05:23:58 -0000
@@ -0,0 +1,52 @@
+$OpenBSD$
+# CVE-2013-7329
+# https://github.com/markstos/CGI--Application/pull/15
+--- lib/CGI/Application.pm.orig	Fri Jun 17 03:05:14 2011
++++ lib/CGI/Application.pm	Thu Jun  5 12:29:53 2014
+@@ -359,6 +359,27 @@ sub dump_html {
+ }
+ 
+ 
++sub no_runmodes {
++
++       my $self   = shift;
++       my $query  = $self->query();
++       
++       # If no runmodes specified by app return error message 
++       my $current_runmode = $self->get_current_runmode();
++       my $query_params = $query->Dump;
++       
++       my $output = qq{
++               <h2>Error - No runmodes specified.</h2>
++               <p>Runmode called: $current_runmode"</p>
++               <p>Query paramaters:</p> $query_params
++               <p>Your application has not specified any runmodes.</p>
++               <p>Please read the <a href="http://search.cpan.org/~markstos/CGI-Appli
++               cation/">CGI::Application</a> documentation.</p>
++       };
++       return $output;
++}
++
++
+ sub header_add {
+ 	my $self = shift;
+ 	return $self->_header_props_update(\@_,add=>1);
+@@ -513,7 +534,7 @@ sub run_modes {
+ 	my (@data) = (@_);
+ 
+ 	# First use?  Create new __RUN_MODES!
+-    $self->{__RUN_MODES} = { 'start' => 'dump_html' } unless (exists($self->{__RUN_MODES}));
++    $self->{__RUN_MODES} = { 'start' => 'no_runmodes' } unless (exists($self->{__RUN_MODES}));
+ 
+ 	my $rr_m = $self->{__RUN_MODES};
+ 
+@@ -1653,7 +1674,8 @@ Useful for outputting to STDERR.
+ The dump_html() method is a debugging function which will return
+ a chunk of text which contains all the environment and web form
+ data of the request, formatted nicely for human readability via
+-a web browser.  Useful for outputting to a browser.
++a web browser.  Useful for outputting to a browser. Please consider
++the security implications of using this in production code.
+ 
+ =head3 error_mode()
+ 
Index: patches/patch-t_basic_t
===================================================================
RCS file: patches/patch-t_basic_t
diff -N patches/patch-t_basic_t
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-t_basic_t	6 Jun 2014 05:23:58 -0000
@@ -0,0 +1,51 @@
+$OpenBSD$
+# CVE-2013-7329
+# https://github.com/markstos/CGI--Application/pull/15
+--- t/basic.t.orig	Fri Jun 17 03:05:14 2011
++++ t/basic.t	Thu Jun  5 12:35:32 2014
+@@ -1,6 +1,6 @@
+ 
+ use strict;
+-use Test::More tests => 110;
++use Test::More tests => 112;
+ 
+ BEGIN{use_ok('CGI::Application');}
+ 
+@@ -28,7 +28,7 @@ sub response_like {
+ }
+ 
+ # Instantiate CGI::Application
+-# run() CGI::Application object.	Expect header + output dump_html()
++# run() CGI::Application object.	Expect header + output no_runmodes()
+ {
+ 	my $app = CGI::Application->new();
+ 	isa_ok($app, 'CGI::Application');
+@@ -39,9 +39,27 @@ sub response_like {
+ 	response_like(
+ 		$app,
+ 		qr{^Content-Type: text/html},
+-		qr/Query Environment:/,
++		qr/Error - No runmodes specified./,
+ 		'base class response',
+ 	);
++}
++
++# Instantiate CGI::Application
++# run() CGI::Application sub-class.
++# Expect header + output dump_html()
++{
++
++	my $app = TestApp->new();
++	$app->query(CGI->new({'test_rm' => 'dump_htm'}));
++       
++	response_like(
++		$app,
++		qr{^Content-Type: text/html},
++		qr/Query Environment:/,
++		'dump_html class response'
++
++	);
++
+ }
+ 
+ # Instantiate CGI::Application sub-class.
Index: patches/patch-t_lib_TestApp_pm
===================================================================
RCS file: patches/patch-t_lib_TestApp_pm
diff -N patches/patch-t_lib_TestApp_pm
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-t_lib_TestApp_pm	6 Jun 2014 05:23:58 -0000
@@ -0,0 +1,13 @@
+$OpenBSD$
+# CVE-2013-7329
+# https://github.com/markstos/CGI--Application/pull/15
+--- t/lib/TestApp.pm.orig	Fri Jun 17 03:05:14 2011
++++ t/lib/TestApp.pm	Thu Jun  5 12:26:56 2014
+@@ -27,6 +27,7 @@ sub setup {
+  		'header_props_before_header_add'		=> \&header_props_before_header_add,
+  		'header_add_after_header_props'		=> \&header_add_after_header_props,
+ 
++    'dump_htm'    => 'dump_html',
+     'dump_txt'    => 'dump',
+ 		'eval_test'		=> 'eval_test',
+ 	);
Index: patches/patch-t_load_tmpl_hook_t
===================================================================
RCS file: patches/patch-t_load_tmpl_hook_t
diff -N patches/patch-t_load_tmpl_hook_t
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-t_load_tmpl_hook_t	6 Jun 2014 05:23:58 -0000
@@ -0,0 +1,14 @@
+$OpenBSD$
+# CVE-2013-7329
+# https://github.com/markstos/CGI--Application/pull/15
+--- t/load_tmpl_hook.t.orig	Fri Jun 17 03:05:14 2011
++++ t/load_tmpl_hook.t	Thu Jun  5 12:26:56 2014
+@@ -8,7 +8,7 @@ $ENV{CGI_APP_RETURN_ONLY} = 1;
+ my $app = CGI::Application->new();
+ my $out = $app->run;
+ 
+-like($out, qr/start/, "normal app output contains start");
++like($out, qr/Error - No runmodes specified/, "normal app output contains start");
+ unlike($out, qr/load_tmpl_hook/, "normal app output doesn't contain load_tmpl_hook");
+ 
+  {
