Compare commits
60 Commits
0.2.26_el5
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
3a72fe43dc | ||
|
62c72063a3 | ||
|
f3886a8d31 | ||
|
71a13a0f32 | ||
|
d4b8c580c8 | ||
|
a92c967750 | ||
|
1bf49af229 | ||
|
895af6c23d | ||
|
78dd537c35 | ||
|
3367ad69ac | ||
|
2dc55fdd13 | ||
|
1ed7ed509a | ||
|
d3d85fae71 | ||
|
90d3c32e99 | ||
|
0e49554d1d | ||
|
2079b392f8 | ||
|
fcc5bf15a3 | ||
|
987e0e06b4 | ||
|
3cb2b15e1c | ||
|
342ecc8603 | ||
|
d2a1a9ea7c | ||
|
6a16066b0e | ||
|
87f6353679 | ||
|
bea4d69eda | ||
|
562f3c5482 | ||
|
2a929928ab | ||
|
1178bfe145 | ||
|
4572b13456 | ||
|
c732cb5a8f | ||
|
ca95ee7843 | ||
|
da46b8c31b | ||
|
07e7af8352 | ||
|
6d2bab5610 | ||
|
01d9b52f02 | ||
|
b32d9f4097 | ||
|
9f2ae4f142 | ||
|
3f0586bf75 | ||
|
085c1ac457 | ||
|
5b34ddb128 | ||
|
f172776341 | ||
|
cab360890e | ||
|
4210f96b85 | ||
|
04a8d8c25e | ||
|
552a4c952f | ||
|
4dfed29ff7 | ||
|
69c67f0d41 | ||
|
046099ae15 | ||
|
851a6b7aca | ||
|
68a1c2bb80 | ||
|
c217527459 | ||
|
3c98ec9f9d | ||
|
91189e6845 | ||
|
44326eb43a | ||
|
5067338ba9 | ||
|
167c68b571 | ||
|
7ec03654f4 | ||
|
fd56f72c98 | ||
|
f34b69c279 | ||
|
f2b45b51c3 | ||
|
da9c39e410 |
3
.tito/packages/.readme
Normal file
3
.tito/packages/.readme
Normal file
|
@ -0,0 +1,3 @@
|
|||
the .tito/packages directory contains metadata files
|
||||
named after their packages. Each file has the latest tagged
|
||||
version and the project's relative directory.
|
1
.tito/packages/ipasserelle-groupware
Normal file
1
.tito/packages/ipasserelle-groupware
Normal file
|
@ -0,0 +1 @@
|
|||
0.2.37-1 ./
|
1
.tito/releasers.conf
Symbolic link
1
.tito/releasers.conf
Symbolic link
|
@ -0,0 +1 @@
|
|||
../../tito_libs/releasers.conf
|
6
.tito/tito.props
Normal file
6
.tito/tito.props
Normal file
|
@ -0,0 +1,6 @@
|
|||
[buildconfig]
|
||||
builder = tito.builder.Builder
|
||||
tagger = tito.tagger.VersionTagger
|
||||
changelog_do_not_remove_cherrypick = 0
|
||||
changelog_format = %s (%ae)
|
||||
lib_dir = ../tito_libs
|
|
@ -6,11 +6,13 @@ service_link_enhanced("memcached-sogo", "S55", "7");
|
|||
service_link_enhanced("sogod", "S85", "7");
|
||||
|
||||
templates2events("/etc/e-smith/sql/init/sogo", qw(email-update bootstrap-console-save));
|
||||
templates2events("/etc/cron.d/sogo-alarm", qw(email-update bootstrap-console-save));
|
||||
templates2events("/var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults", qw(email-update bootstrap-console-save pre-backup));
|
||||
templates2events("/etc/sogo/sogo.conf", qw(email-update bootstrap-console-save pre-backup));
|
||||
templates2events("/etc/sysconfig/sogo", qw(email-update bootstrap-console-save));
|
||||
templates2events("/etc/logrotate.d/sogo", qw(email-update bootstrap-console-save));
|
||||
templates2events("/etc/pam.d/dovecot", qw(email-update bootstrap-console-save));
|
||||
templates2events("/etc/sogo/sieve.creds", qw(email-update bootstrap-console-save));
|
||||
templates2events("/etc/cron.d/sogo", qw(email-update bootstrap-console-save));
|
||||
templates2events("/etc/dovecot/master.sieve.127.0.0.1", qw(email-update bootstrap-console-save));
|
||||
|
||||
safe_symlink("restart", "root/etc/e-smith/events/email-update/services2adjust/sogod");
|
||||
safe_symlink("restart", "root/etc/e-smith/events/email-update/services2adjust/memcached-sogo");
|
||||
|
|
|
@ -1,26 +1,24 @@
|
|||
%define version 0.2.13
|
||||
%define release 1
|
||||
%define name ipasserelle-groupware
|
||||
%define debug_package %{nil}
|
||||
|
||||
Name: %{name}
|
||||
Version: %{version}
|
||||
Release: %{release}%{?dist}
|
||||
Name: ipasserelle-groupware
|
||||
Version: 0.2.37
|
||||
Release: 1%{?dist}
|
||||
Epoch: 9
|
||||
Summary: iPasserelle Groupware module
|
||||
Group: Networking/Daemons
|
||||
License: GPLv3+
|
||||
URL: http://www.ipasserelle.com
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
|
||||
BuildArch: noarch
|
||||
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
|
||||
BuildRoot: BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
||||
|
||||
BuildRequires: e-smith-devtools
|
||||
BuildRequires: gcc
|
||||
Requires: smeserver-release >= 8
|
||||
Requires: e-smith-ldap >= 5.2.0-19
|
||||
Requires: sogo >= 2.0.4b
|
||||
Requires: sogo >= 2.3.0
|
||||
Requires: sogo-tool
|
||||
Requires: sogo-activesync
|
||||
Requires: sope49-gdl1-mysql
|
||||
Requires: sogo-ealarms-notify
|
||||
Requires: ipasserelle-base
|
||||
|
@ -37,8 +35,88 @@ Provides: smeserver-sogo
|
|||
iPasserelle module for the groupware application.
|
||||
Based on smeserver-sogo from nethesis
|
||||
|
||||
|
||||
%changelog
|
||||
* Tue Mar 27 2018 Daniel Berteaud <daniel@firewall-services.com> 0.2.37-1
|
||||
- new package built with tito
|
||||
- Use / separator when using only PublicMailbox
|
||||
* Mon Jul 3 2017 Daniel Berteaud <daniel@firewall-services.com> - 0.2.36-1
|
||||
- Add Debug prop to turn on all the debug directives in sogo.conf
|
||||
|
||||
* Tue Jun 20 2017 Daniel Berteaud <daniel@firewall-services.com> - 0.2.35-1
|
||||
- Allow setting the number of workers, or the number of users per worker
|
||||
|
||||
* Thu Mar 23 2017 Daniel Berteaud <daniel@firewall-services.com> - 0.2.34-1
|
||||
- Use expire-autoreply for SOGo v2 instead of update-autoreply
|
||||
|
||||
* Thu Feb 16 2017 Daniel Berteaud <daniel@firewall-services.com> - 0.2.33-1
|
||||
- Set a shorter cache TTL when not using CAS authentication
|
||||
|
||||
* Mon Jan 9 2017 Daniel Berteaud <daniel@firewall-services.com> - 0.2.32-1
|
||||
- Support vacation schedule using a sieve master user
|
||||
- Set junk folder to junkmail
|
||||
- Remove custom login page template
|
||||
|
||||
* Fri Jun 24 2016 Daniel Berteaud <daniel@firewall-services.com> - 0.2.31-1
|
||||
- Use / as mailbox separator when shared mailbox is enabled
|
||||
|
||||
* Wed Jun 8 2016 Daniel Berteaud <daniel@firewall-services.com> - 0.2.30-1
|
||||
- Possibility to set sogo per worker memory limit
|
||||
|
||||
* Mon Jun 6 2016 Daniel Berteaud <daniel@firewall-services.com> - 0.2.29-1
|
||||
- Set . as mailbox separator
|
||||
|
||||
* Wed Jun 3 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.28-1
|
||||
- Upgrade DB schema for 2.3.0
|
||||
|
||||
* Wed Mar 25 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.27-1
|
||||
- Allow cross site requests on dav resources
|
||||
|
||||
* Thu Mar 5 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.26-1
|
||||
- Add a Authentication prop to choose between CAS or internal auth
|
||||
- Update login page wox template
|
||||
- Put logo_ipasserelle.png in the right directory on x86_64
|
||||
|
||||
* Wed Feb 18 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.25-1
|
||||
- Allow EAS push
|
||||
|
||||
* Tue Feb 17 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.24-1
|
||||
- Increase memcached duration to 2 hours
|
||||
- Completly disable dovecot's negative cache
|
||||
|
||||
* Tue Feb 17 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.23-1
|
||||
- Fix slow access when logged in from different browsers at the same time
|
||||
|
||||
* Wed Jan 21 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.22-1
|
||||
- Dovecot ttls are in seconds
|
||||
|
||||
* Wed Jan 21 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.21-1
|
||||
- Make dovecot's auth_cache last as long as sogo's memcached
|
||||
|
||||
* Wed Jan 7 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.20-1
|
||||
- Enable dovecot auth_cache
|
||||
- Enable IMAP pooling to reduce auth against dovecot
|
||||
|
||||
* Thu Sep 11 2014 Daniel Berteaud <daniel@firewall-services.com> - 0.2.19-1
|
||||
- Update refresh parameter for SOGo 2.2.8
|
||||
|
||||
* Wed Jun 25 2014 Daniel Berteaud <daniel@firewall-services.com> - 0.2.18-1
|
||||
- Use sogo-tool to expire sessions
|
||||
|
||||
* Tue Feb 25 2014 Daniel Berteaud <daniel@firewall-services.com> - 0.2.17-1
|
||||
- Add optional support for ActiveSync (default is disabled)
|
||||
- Add a default reminder 15 minutes before appointments
|
||||
- Fix an AliasMatch directive in httpd.conf template
|
||||
|
||||
* Fri Dec 20 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.16-1
|
||||
- Remove EMailAlarm option
|
||||
|
||||
* Thu Dec 12 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.15-1
|
||||
- Template /etc/sogo/sogo.conf instead of
|
||||
/var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults
|
||||
|
||||
* Tue Nov 12 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.14-1
|
||||
- New branch for SME9
|
||||
|
||||
* Mon Sep 30 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.13-1
|
||||
- Increase Cache Cleanup interval
|
||||
|
||||
|
@ -169,7 +247,6 @@ Based on smeserver-sogo from nethesis
|
|||
%{__mkdir_p} root/usr/share/SOGo/cgi-bin
|
||||
perl ./createlinks
|
||||
gcc -o cas-proxy-validate ./cas-proxy-validate.c $RPM_OPT_FLAGS
|
||||
find .
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
@ -178,6 +255,8 @@ rm -f %{name}-%{version}-filelist
|
|||
(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)
|
||||
|
||||
install -p cas-proxy-validate $RPM_BUILD_ROOT/usr/share/SOGo/cgi-bin/
|
||||
%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/GNUstep/SOGo/WebServerResources/
|
||||
install -p logo_ipasserelle.png $RPM_BUILD_ROOT%{_libdir}/GNUstep/SOGo/WebServerResources/logo_ipasserelle.png
|
||||
%{__mkdir_p} $RPM_BUILD_ROOT/home/e-smith/db/sogo
|
||||
|
||||
/sbin/e-smith/genfilelist \
|
||||
|
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
TIME=$(/sbin/e-smith/db configuration getprop sogod SessionDuration || echo 1440)
|
||||
TIME=$(($TIME*60))
|
||||
|
||||
# Remove old SOGo sessions entries
|
||||
/usr/bin/mysql sogo -e "delete from sogo_sessions_folder where unix_timestamp(now())-c_lastseen > $TIME;"
|
|
@ -0,0 +1 @@
|
|||
cache_key=%n%r%l%w
|
|
@ -1 +0,0 @@
|
|||
no
|
|
@ -0,0 +1 @@
|
|||
junkmail
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
# Add the plaintext password to the cache key so concurrent sessions
|
||||
# from SOGo, using different CAS PT can work
|
||||
my $args = $DB->get_prop('dovecot', 'PassDBArgs');
|
||||
if ($args && $args eq 'cache_key=%n%r%l'){
|
||||
$DB->set_prop('dovecot', 'PassDBArgs', 'cache_key=%n%r%l%w');
|
||||
}
|
||||
}
|
32
root/etc/e-smith/db/configuration/migrate/SOGoSievePassword
Normal file
32
root/etc/e-smith/db/configuration/migrate/SOGoSievePassword
Normal file
|
@ -0,0 +1,32 @@
|
|||
{
|
||||
my $sogodrec = $DB->get('sogod')
|
||||
|| $DB->new_record('sogod', {type => 'service'});
|
||||
my $sogod_sieve_pw = $sogodrec->prop('SieveMasterPassword');
|
||||
if (not $sogod_sieve_pw or length($sogod_sieve_pw) < 57)
|
||||
{
|
||||
use MIME::Base64 qw(encode_base64);
|
||||
|
||||
$sogod_sieve_pw = "not set due to error";
|
||||
if ( open( RANDOM, "/dev/urandom" ) )
|
||||
{
|
||||
my $buf;
|
||||
# 57 bytes is a full line of Base64 coding, and contains
|
||||
# 456 bits of randomness - given a perfectly random /dev/random
|
||||
if ( read( RANDOM, $buf, 57 ) != 57 )
|
||||
{
|
||||
warn("Short read from /dev/random: $!");
|
||||
}
|
||||
else
|
||||
{
|
||||
$sogod_sieve_pw = encode_base64($buf);
|
||||
chomp $sogod_sieve_pw;
|
||||
}
|
||||
close RANDOM;
|
||||
}
|
||||
else
|
||||
{
|
||||
warn "Could not open /dev/urandom: $!";
|
||||
}
|
||||
$sogodrec->set_prop('SieveMasterPassword', $sogod_sieve_pw);
|
||||
}
|
||||
}
|
|
@ -4,3 +4,7 @@
|
|||
if [ $? -eq 0 ]; then
|
||||
/usr/sbin/usermod -d /var/lib/sogo -m -s /sbin/nologin -c "SOGo daemon" sogo 2>/dev/null
|
||||
fi
|
||||
|
||||
rm -f /var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults
|
||||
|
||||
rm -f /etc/cron.d/sogo-alarm
|
||||
|
|
|
@ -23,14 +23,6 @@
|
|||
<base>SEND_ACL_MAIL</base>
|
||||
<trans>Notification des changements de droit d'accès</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>MAIL_ALARM_DESC</base>
|
||||
<trans>Par défaut, SOGo affiche un pop-up pour vous rappeler vos rendez-vous. Si vous activez cette fonction, les utilisateurs pourront également recevoir un mail de rappel</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>MAIL_ALARM</base>
|
||||
<trans>Rappel par mail</trans>
|
||||
</entry>
|
||||
<entry>
|
||||
<base>AUX_ACCOUNTS_DESC</base>
|
||||
<trans>Si cette fonction est activée, les utilisateurs pourront s'abonner à des comptes IMAP externes. Ils pourront ainsi gérer tous leurs comptes emails depuis l'interface web. Souhaitez-vous activer cette fonction ?</trans>
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
PERMS=0640
|
||||
GID="dovecot"
|
3
root/etc/e-smith/templates.metadata/etc/sogo/sieve.creds
Normal file
3
root/etc/e-smith/templates.metadata/etc/sogo/sieve.creds
Normal file
|
@ -0,0 +1,3 @@
|
|||
PERMS=0640
|
||||
UID="root"
|
||||
GID="sogo"
|
|
@ -1,7 +0,0 @@
|
|||
# SOGo Email Alarms
|
||||
{
|
||||
if (($sogod{'EMailAlarms'} || 'no') =~ m/^no$/i){
|
||||
$OUT .= "# Email alarms are disabled\n# ";
|
||||
}
|
||||
$OUT .= "* * * * * sogo /usr/sbin/sogo-ealarms-notify\n";
|
||||
}
|
5
root/etc/e-smith/templates/etc/cron.d/sogo/autoreply
Normal file
5
root/etc/e-smith/templates/etc/cron.d/sogo/autoreply
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
my $version = qx(/bin/rpm -q --qf "%{version}" sogo-tool);
|
||||
my $cmd = ($version =~ m/^2/) ? 'expire-autoreply' : 'update-autoreply';
|
||||
$OUT = "0 0 * * * sogo /usr/sbin/sogo-tool $cmd -p /etc/sogo/sieve.creds";
|
||||
}
|
1
root/etc/e-smith/templates/etc/cron.d/sogo/sessions
Normal file
1
root/etc/e-smith/templates/etc/cron.d/sogo/sessions
Normal file
|
@ -0,0 +1 @@
|
|||
* * * * * sogo /usr/sbin/sogo-tool expire-sessions { $sogod{SessionDuration} || '60' }
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
# Only enable auth cache if SOGo is using CAS
|
||||
my $sogo_auth = $sogod{'Authentication'} || 'cas';
|
||||
if (lc $sogo_auth eq 'cas'){
|
||||
my $size = $dovecot{'AuthCacheSize'} || '5242880';
|
||||
my $ttl = $dovecot{'AuthCacheTTL'} || '7200';
|
||||
my $neg_ttl = $dovecot{'AuthCacheNegativeTTL'} || '0';
|
||||
$OUT .=<<"EOF";
|
||||
auth_cache_size = $size
|
||||
auth_cache_ttl = $ttl
|
||||
auth_cache_negative_ttl = $neg_ttl
|
||||
EOF
|
||||
}
|
||||
else{
|
||||
$OUT .= "# No auth cache as SOGo doesn't use CAS";
|
||||
}
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
passdb \{
|
||||
driver = passwd-file
|
||||
master = yes
|
||||
args = username_format=%u /etc/dovecot/master.%s.%r
|
||||
\}
|
||||
userdb \{
|
||||
driver = passwd-file
|
||||
args = username_format=%u /etc/dovecot/master.%s.%r
|
||||
\}
|
|
@ -0,0 +1 @@
|
|||
sogo-sieve:\{plain\}{ $sogod{SieveMasterPassword} }:101:101::/home/e-smith::allow_nets=127.0.0.1/8
|
|
@ -36,5 +36,22 @@ REPLACE INTO db (
|
|||
|
||||
FLUSH PRIVILEGES;
|
||||
EOF
|
||||
|
||||
# Upgrade DB for 2.3.0
|
||||
for TABLE in \$(/usr/bin/mysql $db -s -e "select SUBSTRING_INDEX(c_quick_location, '/', -1) from sogo_folder_info where c_path3 = 'Calendar';"); do
|
||||
/usr/bin/mysql $db -e "ALTER TABLE \$TABLE MODIFY c_partstates mediumtext;"
|
||||
/usr/bin/mysql $db <<EOF
|
||||
DELIMITER ;;
|
||||
CREATE PROCEDURE upgrade_230()
|
||||
BEGIN
|
||||
DECLARE CONTINUE HANDLER FOR 1060 BEGIN END;
|
||||
ALTER TABLE \$TABLE ADD COLUMN c_description mediumtext;
|
||||
END;;
|
||||
CALL upgrade_230();;
|
||||
DROP PROCEDURE upgrade_230;
|
||||
EOF
|
||||
|
||||
done
|
||||
|
||||
END
|
||||
}
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
{
|
||||
$sogoStatus = $sogod{'status'} || "disabled";
|
||||
$webmailStatus = $imp{'status'} || "disabled";
|
||||
my $lib = ( -d '/usr/lib64/GNUstep/SOGo/WebServerResources' ) ? 'lib64':'lib';
|
||||
$activeSync = $sogod{'ActiveSync'} || 'disabled';
|
||||
$lib = ( -d '/usr/lib64/GNUstep/SOGo/WebServerResources' ) ? 'lib64':'lib';
|
||||
$style = $sogod{'WebServerResources'} || '/usr/' . $lib . '/GNUstep/SOGo/WebServerResources/';
|
||||
$style = '/usr/' . $lib . '/GNUstep/SOGo/WebServerResources/' unless ( -d $style);
|
||||
$style =~ s#$#/# unless ( $style =~ m#/$# );
|
||||
|
@ -20,6 +21,17 @@ ScriptAlias /sogo-cgi-bin /usr/share/SOGo/cgi-bin
|
|||
|
||||
ProxyPass /SOGo/casProxy http://localhost/sogo-cgi-bin/cas-proxy-validate
|
||||
|
||||
{
|
||||
if ($activeSync =~ m/^enabled|on|1|yes$/i){
|
||||
$OUT .=<<"HERE";
|
||||
ProxyPass /Microsoft-Server-ActiveSync http://127.0.0.1:$sogod{'TCPPort'}/SOGo/Microsoft-Server-ActiveSync retry=60 connectiontimeout=5 timeout=3600
|
||||
HERE
|
||||
}
|
||||
else {
|
||||
$OUT .= "# ActiveSync is disabled\n";
|
||||
}
|
||||
}
|
||||
|
||||
ProxyPass /SOGo http://127.0.0.1:{$sogod{'TCPPort'}}/SOGo
|
||||
ProxyPassReverse /SOGo http://127.0.0.1:{$sogod{'TCPPort'}}/SOGo
|
||||
SetEnvIf Host (.*) REQUEST_HOST=$1
|
||||
|
@ -37,6 +49,9 @@ RedirectMatch ^/.well-known/(caldav|carddav)$ /SOGo/dav/
|
|||
AddDefaultCharset UTF-8
|
||||
RequestHeader set "x-webobjects-server-url" "https://%\{REQUEST_HOST\}e/SOGo"
|
||||
</Location>
|
||||
<Location /SOGo/dav>
|
||||
Header set Access-Control-Allow-Origin "*"
|
||||
</Location>
|
||||
|
||||
<Location /SOGo/casProxy>
|
||||
Order deny,allow
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
if (-d '/var/service/dovecot'){
|
||||
my $auth = $sogod{'Authentication'} || 'cas';
|
||||
if (lc $auth eq 'cas'){
|
||||
$OUT .=<<"HERE";
|
||||
auth sufficient pam_cas.so -simap://localhost -f/etc/pam_cas.conf
|
||||
HERE
|
||||
|
|
1
root/etc/e-smith/templates/etc/sogo/sieve.creds/sogo
Normal file
1
root/etc/e-smith/templates/etc/sogo/sieve.creds/sogo
Normal file
|
@ -0,0 +1 @@
|
|||
sogo-sieve:{ $sogod{SieveMasterPassword} }
|
2
root/etc/e-smith/templates/etc/sogo/sogo.conf/10start
Normal file
2
root/etc/e-smith/templates/etc/sogo/sogo.conf/10start
Normal file
|
@ -0,0 +1,2 @@
|
|||
\{
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
SOGoMemcachedHost = "/var/run/sogo/memcached.sock";
|
||||
SOGoCacheCleanupInterval = { $sogod{CacheCleanupInterval} || ($sogod{Authentication} || 'cas') ne 'internal' ? '7200' : '300' };
|
5
root/etc/e-smith/templates/etc/sogo/sogo.conf/18Memory
Normal file
5
root/etc/e-smith/templates/etc/sogo/sogo.conf/18Memory
Normal file
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
my $mem = $sogod{MemoryLimit};
|
||||
return unless $mem;
|
||||
$OUT .= " SxVMemLimit = $mem;\n";
|
||||
}
|
|
@ -3,9 +3,12 @@
|
|||
SOGoMailingMechanism = smtp;
|
||||
SOGoSMTPServer = localhost;
|
||||
SOGoIMAPServer = "imap://localhost:{$imap{'TCPPort'} || '143'}";
|
||||
NGImap4DisableIMAP4Pooling = NO;
|
||||
NGImap4ConnectionStringSeparator = "{ ((($dovecot{SharedMailbox} || 'disabled') eq 'enabled') || (($dovecot{PublicMailbox} || 'disabled') eq 'enabled')) ? '/' : '.' }";
|
||||
SOGoDraftsFolderName = {($sogod{'DraftsFolder'} || "Drafts")};
|
||||
SOGoSentFolderName = {($sogod{'SentFolder'} || "Sent")};
|
||||
SOGoTrashFolderName = {($sogod{'TrashFolder'} || "Trash")};
|
||||
SOGoJunkFolderName = {($sogod{'JunkFolder'} || "Junk")};
|
||||
SOGoMailListViewColumnsOrder = (
|
||||
Flagged, Attachment, Subject, From, Unread, Date, Size
|
||||
);
|
|
@ -1,4 +1,4 @@
|
|||
SOGoEnableEMailAlarms = {uc($sogod{'EMailAlarms'} || "no")};
|
||||
SOGoEnableEMailAlarms = NO;
|
||||
SOGoACLsSendEMailNotifications = {uc($sogod{'ACLsSendEMailNotifications'} || "no")};
|
||||
SOGoAppointmentSendEMailNotifications = YES;
|
||||
SOGoAppointmentSendEMailReceipts = YES;
|
|
@ -0,0 +1,4 @@
|
|||
SOGoRefreshViewCheck = "every_10_minutes";
|
||||
SOGoFirstDayOfWeek = "1";
|
||||
SOGoFirstWeekOfYear = "First4DayWeek";
|
||||
SOGoCalendarDefaultReminder = "-PT15M";
|
|
@ -56,8 +56,8 @@
|
|||
\}
|
||||
);
|
||||
{
|
||||
# is smeserver-dovecot installed ?
|
||||
if (-d '/var/service/dovecot'){
|
||||
my $auth = $sogod{'Authentication'} || 'cas';
|
||||
if (lc $auth eq 'cas'){
|
||||
$OUT .=<<"HERE";
|
||||
SOGoAuthenticationType = cas;
|
||||
SOGoCASServiceURL = "https://auth.$DomainName/cas/";
|
12
root/etc/e-smith/templates/etc/sogo/sogo.conf/65ActiveSync
Normal file
12
root/etc/e-smith/templates/etc/sogo/sogo.conf/65ActiveSync
Normal file
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
|
||||
if (($sogod{'ActiveSync'} || 'disabled') eq 'enabled'){
|
||||
$OUT .=<<'_EOF';
|
||||
SOGoMaximumPingInterval = 3540;
|
||||
SOGoMaximumSyncInterval = 3540;
|
||||
SOGoInternalSyncInterval = 60;
|
||||
WOWatchDogRequestTimeout = 3600;
|
||||
_EOF
|
||||
}
|
||||
|
||||
}
|
11
root/etc/e-smith/templates/etc/sogo/sogo.conf/70Verbose
Normal file
11
root/etc/e-smith/templates/etc/sogo/sogo.conf/70Verbose
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
if (($sogod{Debug} || 'disabled') =~ m/^yes|on|enabled|1$/){
|
||||
$OUT .=<<'_EOF';
|
||||
SOGoDebugRequests = YES;
|
||||
SOGoEASDebugEnabled = YES;
|
||||
ImapDebugEnabled = YES;
|
||||
LDAPDebugEnabled = YES;
|
||||
MySQL4DebugEnabled = YES;
|
||||
_EOF
|
||||
}
|
||||
}
|
1
root/etc/e-smith/templates/etc/sogo/sogo.conf/99end
Normal file
1
root/etc/e-smith/templates/etc/sogo/sogo.conf/99end
Normal file
|
@ -0,0 +1 @@
|
|||
\}
|
|
@ -1,10 +1,18 @@
|
|||
{
|
||||
|
||||
use esmith::AccountsDB;
|
||||
my $a = esmith::AccountsDB->open_ro || die "Couldn't open AccountsDB\n";
|
||||
my $users = scalar($a->users());
|
||||
my $fork = int($users/8);
|
||||
$fork = 3 if ($fork < 3);
|
||||
use esmith::ConfigDB;
|
||||
my $fork;
|
||||
if ($sogod{Workers}){
|
||||
$fork = $sogod{Workers};
|
||||
}
|
||||
else{
|
||||
my $users_per_worker = (defined $sogod{UsersPerWorker}) ? $sogod{UsersPerWorker} : (($sogod{'ActiveSync'} || 'disabled') =~ m/^enabled|on|1|yes$/i) ? 4 : 7;
|
||||
my $a = esmith::AccountsDB->open_ro || die "Couldn't open AccountsDB\n";
|
||||
my $users = scalar($a->users());
|
||||
$fork = int($users/$users_per_worker);
|
||||
$fork = 3 if ($fork < 3);
|
||||
}
|
||||
|
||||
$OUT .= "PREFORK=$fork";
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
\{
|
||||
NSGlobalDomain = \{
|
||||
\};
|
||||
sogod = \{
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
SOGoMemcachedHost = "/var/run/sogo/memcached.sock";
|
||||
SOGoCacheCleanupInterval = 1800;
|
|
@ -1,3 +0,0 @@
|
|||
SOGoMailMessageCheck = "every_10_minutes";
|
||||
SOGoFirstDayOfWeek = "1";
|
||||
SOGoFirstWeekOfYear = "First4DayWeek";
|
|
@ -1,2 +0,0 @@
|
|||
\};
|
||||
\}
|
|
@ -47,12 +47,6 @@ __DATA__
|
|||
<description>SEND_ACL_MAIL_DESC</description>
|
||||
<label>SEND_ACL_MAIL</label>
|
||||
</field>
|
||||
<field type="select" id="mailAlarm" options="'yes' =>
|
||||
'YES', 'no' => 'NO'"
|
||||
value="get_prop('EMailAlarms')">
|
||||
<description>MAIL_ALARM_DESC</description>
|
||||
<label>MAIL_ALARM</label>
|
||||
</field>
|
||||
<field type="select" id="auxAccounts" options="'yes' =>
|
||||
'YES', 'no' => 'NO'"
|
||||
value="get_prop('AuxiliaryUserAccounts')">
|
||||
|
|
|
@ -107,7 +107,6 @@ sub apply {
|
|||
|
||||
$configdb->set_prop('sogod', 'status', $q->param("status"));
|
||||
$configdb->set_prop('sogod', 'ACLsSendEMailNotifications', $q->param("aclSendMail"));
|
||||
$configdb->set_prop('sogod', 'EMailAlarms', $q->param("mailAlarm"));
|
||||
$configdb->set_prop('sogod', 'AuxiliaryUserAccounts', $q->param("auxAccounts"));
|
||||
$configdb->set_prop('sogod', 'PublicAccess', $q->param("publicAccess"));
|
||||
$configdb->set_prop('sogod', 'AllowedGroups', join(',', $q->param("allowedGroups")));
|
|
@ -1,78 +0,0 @@
|
|||
<?xml version="1.0" standalone="yes"?>
|
||||
<!DOCTYPE var:component>
|
||||
<var:component
|
||||
className="UIxPageFrame"
|
||||
xmlns="http://www.w3.org/1999/xhtml"
|
||||
xmlns:var="http://www.skyrix.com/od/binding"
|
||||
xmlns:const="http://www.skyrix.com/od/constant"
|
||||
xmlns:rsrc="OGo:url"
|
||||
xmlns:label="OGo:label"
|
||||
const:jsFiles="PasswordPolicy.js"
|
||||
const:popup="YES"
|
||||
><var:string var:value="doctype" const:escapeHTML="NO"/>
|
||||
<div id="aboutBox" style="display:none;">
|
||||
<div>
|
||||
<p class="logo"><img const:alt="SOGo" rsrc:src="sogo-logo.png"/></p>
|
||||
<p>Version <var:string value="version"/> <span class="buildDate">(<var:string value="buildDate" />)</span></p>
|
||||
<p class="scroll"><var:string label:value="AboutBox" const:escapeHTML="NO"/></p>
|
||||
<img const:alt="Inverse" rsrc:src="inverse.png"/>
|
||||
<p class="links"><a href="http://www.sogo.nu/" target="_new">www.sogo.nu</a> /
|
||||
<a href="http://www.inverse.ca/" target="_new">www.inverse.ca</a></p>
|
||||
<p><a id="aboutClose" href="#" class="button">
|
||||
<span><var:string label:value="OK" /></span></a></p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="linkBanner" class="linkbanner">
|
||||
<a id="about" href="#"><var:string label:value="About" /></a>
|
||||
</div>
|
||||
<form id="connectForm" var:href="connectURL">
|
||||
<div id="loginScreen">
|
||||
<var:if condition="hasLoginSuffix"><script
|
||||
type="text/javascript">var loginSuffix = '<var:string value="loginSuffix"/>';</script
|
||||
></var:if>
|
||||
<table width="560">
|
||||
<tr>
|
||||
<td>
|
||||
<img const:alt="*" id="splash" rsrc:src="/logo_ipasserelle.png"/>
|
||||
</td>
|
||||
<td id="loginCell" width="230">
|
||||
<label><var:string label:value="Username:"/><br/>
|
||||
<input class="textField" id="userName" name="userName"
|
||||
type="text" var:value="cookieUsername" /></label>
|
||||
<label><var:string label:value="Password:"/><br/>
|
||||
<input class="textField" id="password"
|
||||
name="password" type="password" var:value="password" /></label>
|
||||
<label><var:string label:value="Language:"/><br/>
|
||||
<var:popup const:id="language" const:name="language"
|
||||
list="languages"
|
||||
item="item"
|
||||
var:selection="item"
|
||||
var:value="item"
|
||||
string="languageText"
|
||||
label:noSelectionString="choose"
|
||||
/></label>
|
||||
<var:if condition="hasLoginDomains">
|
||||
<label><var:string label:value="Domain:"/><br/>
|
||||
<var:popup const:id="domain" const:name="domain"
|
||||
list="loginDomains"
|
||||
item="item"
|
||||
var:selection="item"
|
||||
var:value="item"
|
||||
string="item"
|
||||
/></label>
|
||||
</var:if>
|
||||
<label><input id="rememberLogin" type="checkbox" class="checkBox" var:checked="rememberLogin"/> <var:string label:value="Remember username"/></label>
|
||||
<label>
|
||||
<a href="#" class="button" id="submit" name="submit">
|
||||
<span><var:string label:value="Connect" /></span></a>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2"><label id="animation"><!-- busy.gif! --></label></td></tr>
|
||||
</table>
|
||||
<p id="errorMessage"><!-- space --></p>
|
||||
</div>
|
||||
</form
|
||||
><img const:alt="*" id="preparedAnimation" rsrc:src="busy.gif"/>
|
||||
</var:component>
|
||||
|
Loading…
Reference in New Issue
Block a user