Small modifications to apache templates to support SOGo CAS auth

tags/smeserver-lemonldap-ng-0.2.19-1
Daniel Berteaud 11 years ago
parent 998c12fd30
commit e8d7e4849a
  1. 14
      root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/LemonLDAPPortal/80LemonLDAPPortal
  2. 1
      root/etc/e-smith/templates/var/lib/lemonldap-ng/conf/lmConf/000open

@ -20,6 +20,7 @@ else{
# SSL Authentication # SSL Authentication
my $SSLAuth = $lemonldap{'SSLAuth'} || 'disabled'; my $SSLAuth = $lemonldap{'SSLAuth'} || 'disabled';
my $sslDirectives = ' # SSL Auth is disabled'; my $sslDirectives = ' # SSL Auth is disabled';
my $sogoWorkArround = '';
if ((-e '/etc/pki/tls/certs/cacert.pem') && if ((-e '/etc/pki/tls/certs/cacert.pem') &&
($SSLAuth =~ m/^(require)|(optional)$/)) { ($SSLAuth =~ m/^(require)|(optional)$/)) {
$sslDirectives =<<"HERE"; $sslDirectives =<<"HERE";
@ -31,6 +32,18 @@ else{
</LocationMatch> </LocationMatch>
HERE HERE
} }
if (-e '/usr/lib/perl5/site_perl/Apache/FilterChangeLength.pm'){
# Looks like iPasserelle groupware is installed
# SOPE doesn't supports chunked encoding
# the following makes it happy
# see http://sogo.nu/bugs/view.php?id=2408
$sogoWorkArround =<<"HERE";
<Location /cas>
BrowserMatch "SOPE/" downgrade-1.0
PerlOutputFilterHandler Apache::FilterChangeLength
</Location>
HERE
}
$OUT .=<<"EOF"; $OUT .=<<"EOF";
@ -59,6 +72,7 @@ HERE
Options +ExecCGI +FollowSymlinks Options +ExecCGI +FollowSymlinks
</Directory> </Directory>
$sslDirectives $sslDirectives
$sogoWorkArround
# Perl script # Perl script
<Files *.pl> <Files *.pl>

@ -9,6 +9,7 @@ $c = esmith::ConfigDB->open_ro or die "Error opening ConfigDB\n";
$d = esmith::DomainsDB->open_ro or die "Error opening DomainsDB\n"; $d = esmith::DomainsDB->open_ro or die "Error opening DomainsDB\n";
$n = esmith::NetworksDB->open_ro or die "Error opening NetworksDB\n"; $n = esmith::NetworksDB->open_ro or die "Error opening NetworksDB\n";
$domain = $c->get('DomainName')->value; $domain = $c->get('DomainName')->value;
$host = $c->get('SystemName')->value;
$base = esmith::util::ldapBase ($domain); $base = esmith::util::ldapBase ($domain);
$ldap = $c->get('ldap') || die "Error reading ldap service entry\n"; $ldap = $c->get('ldap') || die "Error reading ldap service entry\n";
$port = $ldap->prop('TCPPort') || '389'; $port = $ldap->prop('TCPPort') || '389';

Loading…
Cancel
Save