]> ruin.nu Git - ndwebbie.git/blobdiff - lib/NDWeb.pm
Allow non member attackers to post own coords
[ndwebbie.git] / lib / NDWeb.pm
index 952f87272c3bc666a297d3947f90647def3b8a1e..a63eeaabf24d981f86f1b8d37dbc01cd14d35ccc 100644 (file)
@@ -1,7 +1,6 @@
 package NDWeb;
-
-use strict;
-use warnings;
+use Moose;
+use namespace::autoclean;
 
 use Catalyst::Runtime 5.80;
 
@@ -14,11 +13,11 @@ use Catalyst::Runtime 5.80;
 #                 directory
 
 use parent qw/Catalyst/;
+
 use Catalyst qw/
        -Debug
        ConfigLoader
        Static::Simple
-       Unicode
 
        Authentication
        Authentication::Store::NDWeb
@@ -32,29 +31,35 @@ use Catalyst qw/
        Session::Store::File
        Session::State::Cookie
 
-       Compress::Gzip
-       Compress::Deflate
-
        Cache
        PageCache
 /;
 
+extends 'Catalyst';
+
 our $VERSION = '0.01';
+$VERSION = eval $VERSION;
 
 sub signal_bots {
        system 'killall','-USR1', 'ndbot.pl';
 }
 
+#$SIG{__WARN__} = sub { NDWeb->log->warn(@_); };
+
 # Configure the application.
 #
-# Note that settings in ndweb.yml (or other external
+# Note that settings in ndweb.conf (or other external
 # configuration file that you set up manually) take precedence
 # over this when using ConfigLoader. Thus configuration
 # details given here can function as a default configuration,
 # with an external configuration file acting as an override for
 # local deployment.
 
-__PACKAGE__->config( name => 'NDWeb' );
+__PACKAGE__->config(
+       name => 'NDWeb',
+       # Disable deprecated behavior needed by old applications
+       disable_component_resolution_regex_fallback => 1,
+);
 __PACKAGE__->config->{'Plugin::Authentication'}{'use_session'} = 1;
 __PACKAGE__->config(session => {
        storage => "/tmp/ndweb-$>/session",
@@ -62,7 +67,7 @@ __PACKAGE__->config(session => {
        expires => 300,
        verify_address => 1,
 });
-__PACKAGE__->config( cache => {
+__PACKAGE__->config( "Plugin::Cache" => {
        backend => {
                class => "Cache::FileCache",
                cache_root => "/tmp/ndweb-$>",
@@ -78,15 +83,19 @@ __PACKAGE__->config( page_cache => {
 });
 
 __PACKAGE__->config( default_model => 'Model');
+__PACKAGE__->config( encoding => 'UTF-8');
 # Start the application
 __PACKAGE__->setup();
 
 __PACKAGE__->deny_access_unless('/users',[qw/admin_users/]);
+__PACKAGE__->allow_access_if('/users/sms',[qw/users_sms/]);
+__PACKAGE__->allow_access_if('/users/postsms',[qw/users_sms/]);
 __PACKAGE__->deny_access_unless('/alliances',[qw/alliances/]);
 __PACKAGE__->deny_access_unless('/alliances/resources',[qw/alliances_resources/]);
 __PACKAGE__->deny_access_unless('/graphs/alliancevsintel',[qw/graphs_intel/]);
 __PACKAGE__->deny_access_unless('/graphs/avgalliancevsintel',[qw/graphs_intel/]);
 __PACKAGE__->deny_access_unless('/members',[qw/members/]);
+__PACKAGE__->allow_access_if('/members/postowncoords',[qw/attack_menu/]);
 __PACKAGE__->deny_access_unless('/members/defenders',[qw/members_defenders/]);
 __PACKAGE__->deny_access_unless('/covop',[qw/covop/]);
 __PACKAGE__->deny_access_unless('/calls',[qw/calls_edit/]);