Compare commits
30 Commits
master
...
0.2.26_el5
Author | SHA1 | Date | |
---|---|---|---|
|
6a1c1918c8 | ||
|
fdb0e674eb | ||
|
e3dcad4d3f | ||
|
ac2c7a77d8 | ||
|
3e0d7357b7 | ||
|
76b0386706 | ||
|
b876834c3a | ||
|
491a2d89b3 | ||
|
241c7d308b | ||
|
e0e9b06fbb | ||
|
114e1faa7e | ||
|
854b7c8369 | ||
|
507b51ee6c | ||
|
1c71b9f397 | ||
|
9f6d6025c8 | ||
|
49cd48d351 | ||
|
b244230ee7 | ||
|
b91ebb31c4 | ||
|
1cde28991c | ||
|
a498a1472a | ||
|
de0b407a0a | ||
|
112a8de6d5 | ||
|
ab50b12913 | ||
|
42e6d8108c | ||
|
98bef056f1 | ||
|
ef44d66c98 | ||
|
c8237a1b31 | ||
|
a541bc2d1b | ||
|
6c20664e56 | ||
|
60dd598d15 |
|
@ -1,3 +0,0 @@
|
||||||
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 +0,0 @@
|
||||||
0.2.37-1 ./
|
|
|
@ -1 +0,0 @@
|
||||||
../../tito_libs/releasers.conf
|
|
|
@ -1,6 +0,0 @@
|
||||||
[buildconfig]
|
|
||||||
builder = tito.builder.Builder
|
|
||||||
tagger = tito.tagger.VersionTagger
|
|
||||||
changelog_do_not_remove_cherrypick = 0
|
|
||||||
changelog_format = %s (%ae)
|
|
||||||
lib_dir = ../tito_libs
|
|
|
@ -10,9 +10,6 @@ templates2events("/etc/sogo/sogo.conf", qw(email-update bootstrap-console-save p
|
||||||
templates2events("/etc/sysconfig/sogo", qw(email-update bootstrap-console-save));
|
templates2events("/etc/sysconfig/sogo", qw(email-update bootstrap-console-save));
|
||||||
templates2events("/etc/logrotate.d/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/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/sogod");
|
||||||
safe_symlink("restart", "root/etc/e-smith/events/email-update/services2adjust/memcached-sogo");
|
safe_symlink("restart", "root/etc/e-smith/events/email-update/services2adjust/memcached-sogo");
|
||||||
|
|
|
@ -1,22 +1,24 @@
|
||||||
|
%define version 0.2.25
|
||||||
|
%define release 1
|
||||||
|
%define name ipasserelle-groupware
|
||||||
%define debug_package %{nil}
|
%define debug_package %{nil}
|
||||||
|
|
||||||
Name: ipasserelle-groupware
|
Name: %{name}
|
||||||
Version: 0.2.37
|
Version: %{version}
|
||||||
Release: 1%{?dist}
|
Release: %{release}%{?dist}
|
||||||
Epoch: 9
|
|
||||||
Summary: iPasserelle Groupware module
|
Summary: iPasserelle Groupware module
|
||||||
Group: Networking/Daemons
|
Group: Networking/Daemons
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
URL: http://www.ipasserelle.com
|
URL: http://www.ipasserelle.com
|
||||||
Source0: %{name}-%{version}.tar.gz
|
Source0: %{name}-%{version}.tar.gz
|
||||||
|
|
||||||
BuildRoot: BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
BuildRoot: /var/tmp/%{name}-%{version}-%{release}-buildroot
|
||||||
|
|
||||||
BuildRequires: e-smith-devtools
|
BuildRequires: e-smith-devtools
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
Requires: smeserver-release >= 8
|
Requires: smeserver-release >= 8
|
||||||
Requires: e-smith-ldap >= 5.2.0-19
|
Requires: e-smith-ldap >= 5.2.0-19
|
||||||
Requires: sogo >= 2.3.0
|
Requires: sogo >= 2.2.0
|
||||||
Requires: sogo-tool
|
Requires: sogo-tool
|
||||||
Requires: sogo-activesync
|
Requires: sogo-activesync
|
||||||
Requires: sope49-gdl1-mysql
|
Requires: sope49-gdl1-mysql
|
||||||
|
@ -36,46 +38,6 @@ iPasserelle module for the groupware application.
|
||||||
Based on smeserver-sogo from nethesis
|
Based on smeserver-sogo from nethesis
|
||||||
|
|
||||||
%changelog
|
%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
|
* Wed Feb 18 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.25-1
|
||||||
- Allow EAS push
|
- Allow EAS push
|
||||||
|
|
||||||
|
@ -87,7 +49,7 @@ Based on smeserver-sogo from nethesis
|
||||||
- Fix slow access when logged in from different browsers at the same time
|
- 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
|
* Wed Jan 21 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.22-1
|
||||||
- Dovecot ttls are in seconds
|
- Dovecot ttl are in seconds
|
||||||
|
|
||||||
* Wed Jan 21 2015 Daniel Berteaud <daniel@firewall-services.com> - 0.2.21-1
|
* 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
|
- Make dovecot's auth_cache last as long as sogo's memcached
|
||||||
|
@ -97,7 +59,7 @@ Based on smeserver-sogo from nethesis
|
||||||
- Enable IMAP pooling to reduce auth against dovecot
|
- Enable IMAP pooling to reduce auth against dovecot
|
||||||
|
|
||||||
* Thu Sep 11 2014 Daniel Berteaud <daniel@firewall-services.com> - 0.2.19-1
|
* Thu Sep 11 2014 Daniel Berteaud <daniel@firewall-services.com> - 0.2.19-1
|
||||||
- Update refresh parameter for SOGo 2.2.8
|
- Update refresh param for SOGo 2.2.8
|
||||||
|
|
||||||
* Wed Jun 25 2014 Daniel Berteaud <daniel@firewall-services.com> - 0.2.18-1
|
* Wed Jun 25 2014 Daniel Berteaud <daniel@firewall-services.com> - 0.2.18-1
|
||||||
- Use sogo-tool to expire sessions
|
- Use sogo-tool to expire sessions
|
||||||
|
@ -111,11 +73,10 @@ Based on smeserver-sogo from nethesis
|
||||||
- Remove EMailAlarm option
|
- Remove EMailAlarm option
|
||||||
|
|
||||||
* Thu Dec 12 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.15-1
|
* Thu Dec 12 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.15-1
|
||||||
- Template /etc/sogo/sogo.conf instead of
|
- Template /etc/sogo/sogo.conf instead of /var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults
|
||||||
/var/lib/sogo/GNUstep/Defaults/.GNUstepDefaults
|
|
||||||
|
|
||||||
* Tue Nov 12 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.14-1
|
* Tue Nov 12 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.14-1
|
||||||
- New branch for SME9
|
- Do not compile for noarch as we now have C code to compile
|
||||||
|
|
||||||
* Mon Sep 30 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.13-1
|
* Mon Sep 30 2013 Daniel Berteaud <daniel@firewall-services.com> - 0.2.13-1
|
||||||
- Increase Cache Cleanup interval
|
- Increase Cache Cleanup interval
|
||||||
|
@ -247,6 +208,7 @@ Based on smeserver-sogo from nethesis
|
||||||
%{__mkdir_p} root/usr/share/SOGo/cgi-bin
|
%{__mkdir_p} root/usr/share/SOGo/cgi-bin
|
||||||
perl ./createlinks
|
perl ./createlinks
|
||||||
gcc -o cas-proxy-validate ./cas-proxy-validate.c $RPM_OPT_FLAGS
|
gcc -o cas-proxy-validate ./cas-proxy-validate.c $RPM_OPT_FLAGS
|
||||||
|
find .
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
@ -255,8 +217,6 @@ rm -f %{name}-%{version}-filelist
|
||||||
(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT)
|
(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/
|
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
|
%{__mkdir_p} $RPM_BUILD_ROOT/home/e-smith/db/sogo
|
||||||
|
|
||||||
/sbin/e-smith/genfilelist \
|
/sbin/e-smith/genfilelist \
|
||||||
|
|
6
root/etc/cron.hourly/sogo-sessions
Normal file
6
root/etc/cron.hourly/sogo-sessions
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
TIME=$(/sbin/e-smith/db configuration getprop sogod SessionDuration || echo 1440)
|
||||||
|
|
||||||
|
# Remove old SOGo sessions entries
|
||||||
|
su -l -s /bin/bash sogo -c "/usr/sbin/sogo-tool expire-sessions $TIME"
|
|
@ -1 +0,0 @@
|
||||||
junkmail
|
|
|
@ -1,32 +0,0 @@
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
PERMS=0640
|
|
||||||
GID="dovecot"
|
|
|
@ -1,3 +0,0 @@
|
||||||
PERMS=0640
|
|
||||||
UID="root"
|
|
||||||
GID="sogo"
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
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 +0,0 @@
|
||||||
* * * * * sogo /usr/sbin/sogo-tool expire-sessions { $sogod{SessionDuration} || '60' }
|
|
|
@ -1,9 +0,0 @@
|
||||||
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
|
|
||||||
\}
|
|
|
@ -1 +0,0 @@
|
||||||
sogo-sieve:\{plain\}{ $sogod{SieveMasterPassword} }:101:101::/home/e-smith::allow_nets=127.0.0.1/8
|
|
|
@ -36,22 +36,5 @@ REPLACE INTO db (
|
||||||
|
|
||||||
FLUSH PRIVILEGES;
|
FLUSH PRIVILEGES;
|
||||||
EOF
|
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
|
END
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,9 +49,6 @@ RedirectMatch ^/.well-known/(caldav|carddav)$ /SOGo/dav/
|
||||||
AddDefaultCharset UTF-8
|
AddDefaultCharset UTF-8
|
||||||
RequestHeader set "x-webobjects-server-url" "https://%\{REQUEST_HOST\}e/SOGo"
|
RequestHeader set "x-webobjects-server-url" "https://%\{REQUEST_HOST\}e/SOGo"
|
||||||
</Location>
|
</Location>
|
||||||
<Location /SOGo/dav>
|
|
||||||
Header set Access-Control-Allow-Origin "*"
|
|
||||||
</Location>
|
|
||||||
|
|
||||||
<Location /SOGo/casProxy>
|
<Location /SOGo/casProxy>
|
||||||
Order deny,allow
|
Order deny,allow
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
my $auth = $sogod{'Authentication'} || 'cas';
|
my $auth = $sogod{'Authentication'} || 'cas';
|
||||||
if (lc $auth eq 'cas'){
|
if (lc $auth eq 'cas' && -d '/var/service/dovecot'){
|
||||||
$OUT .=<<"HERE";
|
$OUT .=<<"HERE";
|
||||||
auth sufficient pam_cas.so -simap://localhost -f/etc/pam_cas.conf
|
auth sufficient pam_cas.so -simap://localhost -f/etc/pam_cas.conf
|
||||||
HERE
|
HERE
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
sogo-sieve:{ $sogod{SieveMasterPassword} }
|
|
|
@ -1,2 +1,2 @@
|
||||||
SOGoMemcachedHost = "/var/run/sogo/memcached.sock";
|
SOGoMemcachedHost = "/var/run/sogo/memcached.sock";
|
||||||
SOGoCacheCleanupInterval = { $sogod{CacheCleanupInterval} || ($sogod{Authentication} || 'cas') ne 'internal' ? '7200' : '300' };
|
SOGoCacheCleanupInterval = 7200;
|
||||||
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
my $mem = $sogod{MemoryLimit};
|
|
||||||
return unless $mem;
|
|
||||||
$OUT .= " SxVMemLimit = $mem;\n";
|
|
||||||
}
|
|
|
@ -4,11 +4,9 @@
|
||||||
SOGoSMTPServer = localhost;
|
SOGoSMTPServer = localhost;
|
||||||
SOGoIMAPServer = "imap://localhost:{$imap{'TCPPort'} || '143'}";
|
SOGoIMAPServer = "imap://localhost:{$imap{'TCPPort'} || '143'}";
|
||||||
NGImap4DisableIMAP4Pooling = NO;
|
NGImap4DisableIMAP4Pooling = NO;
|
||||||
NGImap4ConnectionStringSeparator = "{ ((($dovecot{SharedMailbox} || 'disabled') eq 'enabled') || (($dovecot{PublicMailbox} || 'disabled') eq 'enabled')) ? '/' : '.' }";
|
|
||||||
SOGoDraftsFolderName = {($sogod{'DraftsFolder'} || "Drafts")};
|
SOGoDraftsFolderName = {($sogod{'DraftsFolder'} || "Drafts")};
|
||||||
SOGoSentFolderName = {($sogod{'SentFolder'} || "Sent")};
|
SOGoSentFolderName = {($sogod{'SentFolder'} || "Sent")};
|
||||||
SOGoTrashFolderName = {($sogod{'TrashFolder'} || "Trash")};
|
SOGoTrashFolderName = {($sogod{'TrashFolder'} || "Trash")};
|
||||||
SOGoJunkFolderName = {($sogod{'JunkFolder'} || "Junk")};
|
|
||||||
SOGoMailListViewColumnsOrder = (
|
SOGoMailListViewColumnsOrder = (
|
||||||
Flagged, Attachment, Subject, From, Unread, Date, Size
|
Flagged, Attachment, Subject, From, Unread, Date, Size
|
||||||
);
|
);
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
);
|
);
|
||||||
{
|
{
|
||||||
my $auth = $sogod{'Authentication'} || 'cas';
|
my $auth = $sogod{'Authentication'} || 'cas';
|
||||||
if (lc $auth eq 'cas'){
|
if (lc $auth eq 'cas' && -d '/var/service/dovecot'){
|
||||||
$OUT .=<<"HERE";
|
$OUT .=<<"HERE";
|
||||||
SOGoAuthenticationType = cas;
|
SOGoAuthenticationType = cas;
|
||||||
SOGoCASServiceURL = "https://auth.$DomainName/cas/";
|
SOGoCASServiceURL = "https://auth.$DomainName/cas/";
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
{
|
|
||||||
if (($sogod{Debug} || 'disabled') =~ m/^yes|on|enabled|1$/){
|
|
||||||
$OUT .=<<'_EOF';
|
|
||||||
SOGoDebugRequests = YES;
|
|
||||||
SOGoEASDebugEnabled = YES;
|
|
||||||
ImapDebugEnabled = YES;
|
|
||||||
LDAPDebugEnabled = YES;
|
|
||||||
MySQL4DebugEnabled = YES;
|
|
||||||
_EOF
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +1,12 @@
|
||||||
{
|
{
|
||||||
|
|
||||||
use esmith::AccountsDB;
|
use esmith::AccountsDB;
|
||||||
use esmith::ConfigDB;
|
my $a = esmith::AccountsDB->open_ro || die "Couldn't open AccountsDB\n";
|
||||||
my $fork;
|
my $users = scalar($a->users());
|
||||||
if ($sogod{Workers}){
|
my $fork = int($users/8);
|
||||||
$fork = $sogod{Workers};
|
$fork = 3 if ($fork < 3);
|
||||||
}
|
my $activeSync = $sogod{'ActiveSync'} || 'disabled';
|
||||||
else{
|
$fork = $fork*2 if ($activeSync =~ m/^enabled|on|1|yes$/i);
|
||||||
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";
|
$OUT .= "PREFORK=$fork";
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
<?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: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