PerlSetVar MasonArgsMethod CGI
PerlModule HTML::Mason::ApacheHandler
-PerlChildInitHandler "sub { srand }"
-
PerlRequire "%%%MASON_HANDLER%%%"
+PerlChildInitHandler FS::Mason::child_init
+
#Locale::SubCountry
-#
AddDefaultCharset UTF-8
+PerlModule FS::AuthCookieHandler
+
+#XXX need to also work properly for installs w/o /freeside/ in path
+PerlSetVar FreesideLoginScript /freeside/loginout/login.html
+
+#disables HTTP, so HTTPS only
+#PerlSetVar FreesideSecure 1
+
+#prevents cookie theft via JS
+PerlSetVar FreesideHttpOnly 1
+
<Directory %%%FREESIDE_DOCUMENT_ROOT%%%>
-AuthName Freeside
-AuthType Basic
-AuthUserFile %%%FREESIDE_CONF%%%/htpasswd
-require valid-user
-<Files ~ "(\.cgi|\.html)$">
-SetHandler perl-script
-PerlHandler HTML::Mason
+
+ AuthName Freeside
+ AuthType FS::AuthCookieHandler
+ PerlAuthenHandler FS::AuthCookieHandler->authenticate
+ PerlAuthzHandler FS::AuthCookieHandler->authorize
+ require valid-user
+
+ <Files ~ "(\.cgi|\.html)$">
+ SetHandler perl-script
+ PerlHandler HTML::Mason
+ </Files>
+
+</Directory>
+
+<Files login>
+ AuthName Freeside
+ AuthType FS::AuthCookieHandler
+ SetHandler perl-script
+ PerlHandler FS::AuthCookieHandler->login
</Files>
+
+<Directory %%%FREESIDE_DOCUMENT_ROOT%%%/elements/>
+ <Files "freeside.css">
+ Satisfy any
+ </Files>
+
+ <Files ~ "(\.html)$">
+ Deny from all
+ SetHandler None
+ </Files>
</Directory>
+
<Directory %%%FREESIDE_DOCUMENT_ROOT%%%/rt/Helpers/>
-SetHandler perl-script
-PerlHandler HTML::Mason
+ SetHandler perl-script
+ PerlHandler HTML::Mason
</Directory>
-<Directory %%%FREESIDE_DOCUMENT_ROOT%%%/loginout>
-AuthName Freeside
-AuthType Basic
-AuthUserFile %%%FREESIDE_CONF%%%/htpasswd.logout
-require valid-user
-<Files ~ "(\.cgi|\.html)$">
-SetHandler default-handler
-</Files>
+<Directory %%%FREESIDE_DOCUMENT_ROOT%%%/rt/REST/1.0/NoAuth/>
+ Satisfy any
+</Directory>
+
+<Directory %%%FREESIDE_DOCUMENT_ROOT%%%/REST/1.0/>
+ Satisfy any
+ SetHandler perl-script
+ PerlHandler HTML::Mason
</Directory>