From deb24f27cb2c4977182bd8d573046de54db196a9 Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Wed, 14 Mar 2012 22:25:52 +0100 Subject: [PATCH] Initial import --- createlinks | 29 +++++ ipasserelle-groupware.spec | 145 +++++++++++++++++++++ root/etc/cron.hourly/sogo-sessions | 7 + .../configuration/defaults/apple-carddav/TCPPort | 1 + .../db/configuration/defaults/apple-carddav/access | 1 + .../db/configuration/defaults/apple-carddav/status | 1 + .../db/configuration/defaults/apple-carddav/type | 1 + .../configuration/defaults/memcached-sogo/status | 1 + .../db/configuration/defaults/memcached-sogo/type | 1 + .../defaults/sogod/ACLsSendEMailNotifications | 1 + .../db/configuration/defaults/sogod/AdminUsers | 1 + .../defaults/sogod/AuxiliaryUserAccounts | 1 + .../db/configuration/defaults/sogod/DraftsFolder | 1 + .../db/configuration/defaults/sogod/EMailAlarms | 1 + .../db/configuration/defaults/sogod/PublicAccess | 1 + .../db/configuration/defaults/sogod/SentFolder | 1 + .../db/configuration/defaults/sogod/TCPPort | 1 + .../e-smith/db/configuration/defaults/sogod/status | 1 + .../e-smith/db/configuration/defaults/sogod/type | 1 + .../e-smith/db/configuration/migrate/SOGoPassword | 33 +++++ root/etc/e-smith/events/actions/sogo-backup | 4 + root/etc/e-smith/events/actions/sogo-delete-backup | 4 + .../locale/fr/etc/e-smith/web/functions/sogo | 62 +++++++++ .../e-smith/sql/init/30sogo_mysql_create_database | 1 + .../sql/init/31sogo_mysql_update_privileges | 1 + .../etc/e-smith/sql/init/31sogo_upgrade | 1 + .../home/sogo/GNUstep/Defaults/.GNUstepDefaults | 3 + .../e-smith/templates/etc/cron.d/sogo-alarm/10All | 7 + .../e-smith/sql/init/30sogo_mysql_create_database | 3 + .../sql/init/31sogo_mysql_update_privileges | 3 + .../templates/etc/e-smith/sql/init/31sogo_upgrade | 3 + .../conf/httpd.conf/35SSL00ListenAppleWorkArround | 15 +++ .../httpd.conf/80NameVirtualHostsAppleWorkArround | 15 +++ .../etc/httpd/conf/httpd.conf/85SOGoAccess | 35 +++++ .../httpd/conf/httpd.conf/85SOGoAppleWorkArround | 40 ++++++ .../httpd/conf/httpd.conf/VirtualHosts/61SogoSSL | 18 +++ .../templates/etc/logrotate.d/sogo/10default | 8 ++ .../e-smith/templates/etc/sysconfig/sogo/Prefork | 11 ++ .../sogo/GNUstep/Defaults/.GNUstepDefaults/10start | 5 + .../sogo/GNUstep/Defaults/.GNUstepDefaults/15mysql | 4 + .../GNUstep/Defaults/.GNUstepDefaults/16memcached | 1 + .../sogo/GNUstep/Defaults/.GNUstepDefaults/20mail | 11 ++ .../Defaults/.GNUstepDefaults/25notifications | 6 + .../Defaults/.GNUstepDefaults/30defaultPrefs | 3 + .../GNUstep/Defaults/.GNUstepDefaults/35external | 2 + .../sogo/GNUstep/Defaults/.GNUstepDefaults/40sieve | 11 ++ .../GNUstep/Defaults/.GNUstepDefaults/45admins | 3 + .../GNUstep/Defaults/.GNUstepDefaults/50timezone | 1 + .../GNUstep/Defaults/.GNUstepDefaults/55authSource | 58 +++++++++ .../GNUstep/Defaults/.GNUstepDefaults/60various | 5 + .../sogo/GNUstep/Defaults/.GNUstepDefaults/99end | 2 + .../Defaults/.GNUstepDefaults/template-begin | 5 + .../smeserver/sogo_mysql_update_privileges.sql | 22 ++++ root/etc/e-smith/web/functions/sogo | 75 +++++++++++ root/home/sogo/GNUstep/Defaults/.GNUstepDefaults | 6 + .../Library/SOGo/Templates/MainUI/SOGoRootPage.wox | 78 +++++++++++ .../sogo/smeserver/sogo_mysql_create_database.sql | 29 +++++ .../smeserver/sogo_mysql_update_privileges.sql | 1 + .../SOGo/WebServerResources/logo_ipasserelle.png | Bin 0 -> 18328 bytes .../site_perl/esmith/FormMagick/Panel/sogo.pm | 122 +++++++++++++++++ root/var/service/memcached-sogo/log/run | 7 + root/var/service/memcached-sogo/run | 5 + 62 files changed, 926 insertions(+) create mode 100755 createlinks create mode 100644 ipasserelle-groupware.spec create mode 100644 root/etc/cron.hourly/sogo-sessions create mode 100644 root/etc/e-smith/db/configuration/defaults/apple-carddav/TCPPort create mode 100644 root/etc/e-smith/db/configuration/defaults/apple-carddav/access create mode 100644 root/etc/e-smith/db/configuration/defaults/apple-carddav/status create mode 100644 root/etc/e-smith/db/configuration/defaults/apple-carddav/type create mode 100644 root/etc/e-smith/db/configuration/defaults/memcached-sogo/status create mode 100644 root/etc/e-smith/db/configuration/defaults/memcached-sogo/type create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/ACLsSendEMailNotifications create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/AdminUsers create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/AuxiliaryUserAccounts create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/DraftsFolder create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/EMailAlarms create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/PublicAccess create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/SentFolder create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/TCPPort create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/status create mode 100644 root/etc/e-smith/db/configuration/defaults/sogod/type create mode 100644 root/etc/e-smith/db/configuration/migrate/SOGoPassword create mode 100644 root/etc/e-smith/events/actions/sogo-backup create mode 100644 root/etc/e-smith/events/actions/sogo-delete-backup create mode 100644 root/etc/e-smith/locale/fr/etc/e-smith/web/functions/sogo create mode 100644 root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/30sogo_mysql_create_database create mode 100644 root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_mysql_update_privileges create mode 100644 root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_upgrade create mode 100644 root/etc/e-smith/templates.metadata/home/sogo/GNUstep/Defaults/.GNUstepDefaults create mode 100644 root/etc/e-smith/templates/etc/cron.d/sogo-alarm/10All create mode 100644 root/etc/e-smith/templates/etc/e-smith/sql/init/30sogo_mysql_create_database create mode 100644 root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_mysql_update_privileges create mode 100644 root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_upgrade create mode 100644 root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00ListenAppleWorkArround create mode 100644 root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80NameVirtualHostsAppleWorkArround create mode 100644 root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAccess create mode 100644 root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAppleWorkArround create mode 100644 root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/61SogoSSL create mode 100644 root/etc/e-smith/templates/etc/logrotate.d/sogo/10default create mode 100644 root/etc/e-smith/templates/etc/sysconfig/sogo/Prefork create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10start create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/15mysql create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/16memcached create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/20mail create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/25notifications create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/30defaultPrefs create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/35external create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/40sieve create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/45admins create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/50timezone create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/55authSource create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/60various create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/99end create mode 100644 root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/template-begin create mode 100644 root/etc/e-smith/templates/home/sogo/smeserver/sogo_mysql_update_privileges.sql create mode 100644 root/etc/e-smith/web/functions/sogo create mode 100644 root/home/sogo/GNUstep/Defaults/.GNUstepDefaults create mode 100644 root/home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox create mode 100644 root/home/sogo/smeserver/sogo_mysql_create_database.sql create mode 100644 root/home/sogo/smeserver/sogo_mysql_update_privileges.sql create mode 100644 root/usr/lib/GNUstep/SOGo/WebServerResources/logo_ipasserelle.png create mode 100644 root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/sogo.pm create mode 100644 root/var/service/memcached-sogo/log/run create mode 100644 root/var/service/memcached-sogo/run diff --git a/createlinks b/createlinks new file mode 100755 index 0000000..a6b6ff1 --- /dev/null +++ b/createlinks @@ -0,0 +1,29 @@ +#!/usr/bin/perl -w + +use esmith::Build::CreateLinks qw(:all); + +service_link_enhanced("memcached-sogo", "S55", "7"); +service_link_enhanced("sogod", "S85", "7"); + +templates2events("/etc/e-smith/sql/init/30sogo_mysql_create_database", qw(email-update bootstrap-console-save)); +templates2events("/etc/e-smith/sql/init/31sogo_mysql_update_privileges", qw(email-update bootstrap-console-save)); +templates2events("/home/sogo/smeserver/sogo_mysql_update_privileges.sql", qw(email-update bootstrap-console-save)); +templates2events("/etc/cron.d/sogo-alarm", qw(email-update bootstrap-console-save)); +templates2events("/home/sogo/GNUstep/Defaults/.GNUstepDefaults", 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)); + +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/mysql.init"); + +event_link("sogo-delete-backup", "pre-backup", "60"); +event_link("sogo-delete-backup", "post-backup", "60"); +event_link("sogo-backup", "pre-backup", "70"); + +panel_link("sogo", "manager"); + +safe_touch("root/var/service/memcached-sogo/down"); +safe_symlink("../daemontools" , 'root/etc/rc.d/init.d/supervise/memcached-sogo'); +safe_symlink("/var/service/memcached-sogo" , 'root/service/memcached-sogo'); + diff --git a/ipasserelle-groupware.spec b/ipasserelle-groupware.spec new file mode 100644 index 0000000..5fe9434 --- /dev/null +++ b/ipasserelle-groupware.spec @@ -0,0 +1,145 @@ + +%define version 0.2.0 +%define release 1.beta3 +%define name ipasserelle-groupware + +Name: %{name} +Version: %{version} +Release: %{release}%{?dist} +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) + +BuildRequires: e-smith-devtools +Requires: smeserver-release >= 8 +Requires: e-smith-ldap >= 5.2.0-19 +Requires: sogo >= 1.3.9 +Requires: sogo-tool +Requires: sope49-gdl1-mysql +Requires: sogo-ealarms-notify +Requires: ipasserelle-base + +Obsoletes: smeserver-sogo +Provides: smeserver-sogo + +%description +iPasserelle module for the groupware application. +Based on smeserver-sogo from nethesis + + +%changelog +* Wed Mar 14 2012 Daniel Berteaud - 0.2.0-1.sme +- Migrate to git + +* Wed Feb 15 2012 Daniel Berteaud - 0.1-16.sme +- Purge old (default to 24h) sessions from database +- Use a unix socket to connect to memcached + +* Tue Feb 14 2012 Daniel Berteaud - 0.1-15.sme +- Fix sogo-ealarm-notify path in cron job + +* Fri Nov 18 2011 Daniel Berteaud - 0.1-14.sme +- Adjust number of prefork (1 for 15 users, 3 workers minimum) +- Enable sieve if available (smeserver-dovecot is needed for this) +- Change display name of LDAP address books +- Reorder configuration directives +- Split templates in separated files +- Requires sogo-tool +- Remove default forward mechanism as attached (go back to inline) +- Backup with sogo-tool +- Don't force access using $SystemName.$DomainName +- Set default charset to UTF8 +- Remove Priority column + +* Tue Nov 01 2011 Daniel Berteaud - 0.1-13.sme +- Compatibility with SOGo 1.3.9 + +* Fri Oct 07 2011 Daniel Berteaud - 0.1-12.sme +- Also apply the filter to group addressbook + +* Thu Sep 01 2011 Daniel Berteaud - 0.1-11.sme +- Change SOGo spool path to /var/spool/sogo + +* Mon Jun 20 2011 Daniel Berteaud - 0.1-10.sme +- FR locale corrections + +* Thu Jun 09 2011 Daniel B. - 0.1-9.sme +- Access restriction based on group membership +- Small panel to configure SOGo +- Replace SOGo logo with iPasserelle one on the login page + +* Thu Apr 07 2011 Daniel B. - 0.1-8.sme +- Templates /etc/sysconfig/sogo and default prefork to 5 + +* Fri Mar 25 2011 Daniel B. - 0.1-7.sme +- Fix RewriteRules for SSL vhosts + +* Fri Mar 25 2011 Daniel B. - 0.1-6.sme +- RewriteRule to $SystemName.$DomainName + +* Wed Mar 23 2011 Daniel B. - 0.1-5.sme +- Allow custom WebServerRessources folder + +* Wed Mar 16 2011 Daniel B. - 0.1-4.sme +- Rewrite /sogo to /SOGo (using a rewriterule) + +* Wed Mar 16 2011 Daniel B. - 0.1-3.sme +- Fix week number (first week of year) + +* Mon Mar 14 2011 Daniel B. - 0.1-2.sme +- Re-add x-webobjects-server-url (needed for images) + +* Fri Feb 4 2011 Daniel B. - 0.1-1.sme +- Fork from smeserver-sogo-0.5.3 +- Add OCSSessionsFolderURL (compatibility with sogo-1.3.5) +- Add support for Apple CardDav +- Remove sogo-modify event (use email-update instead) +- Don't redirect to https://systemname.domainname/SOGo +- Prop to enable email alarms +- Prop to enable public access +- Prop to enable aux accounts +- Default to check messages every 10 min +- First day of week is monday +- Change default fwd mode to attached + + +%prep +%setup -q + +%build +%{__mkdir_p} root/var/log/memcached-sogo +perl ./createlinks + +%install +rm -rf $RPM_BUILD_ROOT +rm -f %{name}-%{version}-filelist + +(cd root ; /usr/bin/find . -depth -print | /bin/cpio -dump $RPM_BUILD_ROOT) + +%{__mkdir_p} $RPM_BUILD_ROOT/home/e-smith/db/sogo + +/sbin/e-smith/genfilelist \ + --dir /home/sogo 'attr(0700,sogo,sogo)' \ + --dir /home/sogo/GNUstep 'attr(0755,sogo,sogo)' \ + --dir /home/sogo/GNUstep/Defaults 'attr(0755,sogo,sogo)' \ + --dir /home/e-smith/db/sogo 'attr(0700, sogo, sogo)' \ + --file /var/service/memcached-sogo/run 'attr(0755, root, root)' \ + --file /var/service/memcached-sogo/log/run 'attr(0755, root, root)' \ + --dir /var/log/memcached-sogo 'attr(0700, sogo, sogo)' \ + --file /etc/cron.hourly/sogo-sessions 'attr(0755, root, root)' \ + $RPM_BUILD_ROOT > %{name}-%{version}-%{release}-filelist + +%files -f %{name}-%{version}-%{release}-filelist + +%clean +rm -rf $RPM_BUILD_ROOT + +%post + +%postun + diff --git a/root/etc/cron.hourly/sogo-sessions b/root/etc/cron.hourly/sogo-sessions new file mode 100644 index 0000000..7c0f46d --- /dev/null +++ b/root/etc/cron.hourly/sogo-sessions @@ -0,0 +1,7 @@ +#!/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;" diff --git a/root/etc/e-smith/db/configuration/defaults/apple-carddav/TCPPort b/root/etc/e-smith/db/configuration/defaults/apple-carddav/TCPPort new file mode 100644 index 0000000..c76f480 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/apple-carddav/TCPPort @@ -0,0 +1 @@ +8843 diff --git a/root/etc/e-smith/db/configuration/defaults/apple-carddav/access b/root/etc/e-smith/db/configuration/defaults/apple-carddav/access new file mode 100644 index 0000000..a48cf0d --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/apple-carddav/access @@ -0,0 +1 @@ +public diff --git a/root/etc/e-smith/db/configuration/defaults/apple-carddav/status b/root/etc/e-smith/db/configuration/defaults/apple-carddav/status new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/apple-carddav/status @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/apple-carddav/type b/root/etc/e-smith/db/configuration/defaults/apple-carddav/type new file mode 100644 index 0000000..24e1098 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/apple-carddav/type @@ -0,0 +1 @@ +service diff --git a/root/etc/e-smith/db/configuration/defaults/memcached-sogo/status b/root/etc/e-smith/db/configuration/defaults/memcached-sogo/status new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/memcached-sogo/status @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/memcached-sogo/type b/root/etc/e-smith/db/configuration/defaults/memcached-sogo/type new file mode 100644 index 0000000..24e1098 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/memcached-sogo/type @@ -0,0 +1 @@ +service diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/ACLsSendEMailNotifications b/root/etc/e-smith/db/configuration/defaults/sogod/ACLsSendEMailNotifications new file mode 100644 index 0000000..7ecb56e --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/ACLsSendEMailNotifications @@ -0,0 +1 @@ +no diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/AdminUsers b/root/etc/e-smith/db/configuration/defaults/sogod/AdminUsers new file mode 100644 index 0000000..7fbe952 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/AdminUsers @@ -0,0 +1 @@ +admin diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/AuxiliaryUserAccounts b/root/etc/e-smith/db/configuration/defaults/sogod/AuxiliaryUserAccounts new file mode 100644 index 0000000..7ecb56e --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/AuxiliaryUserAccounts @@ -0,0 +1 @@ +no diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/DraftsFolder b/root/etc/e-smith/db/configuration/defaults/sogod/DraftsFolder new file mode 100644 index 0000000..2c19063 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/DraftsFolder @@ -0,0 +1 @@ +Drafts diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/EMailAlarms b/root/etc/e-smith/db/configuration/defaults/sogod/EMailAlarms new file mode 100644 index 0000000..7ecb56e --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/EMailAlarms @@ -0,0 +1 @@ +no diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/PublicAccess b/root/etc/e-smith/db/configuration/defaults/sogod/PublicAccess new file mode 100644 index 0000000..7ecb56e --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/PublicAccess @@ -0,0 +1 @@ +no diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/SentFolder b/root/etc/e-smith/db/configuration/defaults/sogod/SentFolder new file mode 100644 index 0000000..52665cf --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/SentFolder @@ -0,0 +1 @@ +Sent diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/TCPPort b/root/etc/e-smith/db/configuration/defaults/sogod/TCPPort new file mode 100644 index 0000000..b92677e --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/TCPPort @@ -0,0 +1 @@ +20000 diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/status b/root/etc/e-smith/db/configuration/defaults/sogod/status new file mode 100644 index 0000000..86981e6 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/status @@ -0,0 +1 @@ +enabled diff --git a/root/etc/e-smith/db/configuration/defaults/sogod/type b/root/etc/e-smith/db/configuration/defaults/sogod/type new file mode 100644 index 0000000..24e1098 --- /dev/null +++ b/root/etc/e-smith/db/configuration/defaults/sogod/type @@ -0,0 +1 @@ +service diff --git a/root/etc/e-smith/db/configuration/migrate/SOGoPassword b/root/etc/e-smith/db/configuration/migrate/SOGoPassword new file mode 100644 index 0000000..7d0b86e --- /dev/null +++ b/root/etc/e-smith/db/configuration/migrate/SOGoPassword @@ -0,0 +1,33 @@ +{ + my $sogodrec = $DB->get('sogod') + || $DB->new_record('sogod', {type => 'service'}); + my $sogod_pw = $sogodrec->prop('DbPassword'); + if (not $sogod_pw or length($sogod_pw) < 57) + { + use MIME::Base64 qw(encode_base64); + + $sogod_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_pw = encode_base64($buf); + chomp $sogod_pw; + $sogod_pw =~ s/\//\./g; # SOGo hates passwords with slashes + } + close RANDOM; + } + else + { + warn "Could not open /dev/urandom: $!"; + } + $sogodrec->set_prop('DbPassword', $sogod_pw); + } +} diff --git a/root/etc/e-smith/events/actions/sogo-backup b/root/etc/e-smith/events/actions/sogo-backup new file mode 100644 index 0000000..aedf906 --- /dev/null +++ b/root/etc/e-smith/events/actions/sogo-backup @@ -0,0 +1,4 @@ +#!/bin/bash + +su - sogo -c "/usr/sbin/sogo-tool backup /home/e-smith/db/sogo ALL" > /dev/null 2>&1 + diff --git a/root/etc/e-smith/events/actions/sogo-delete-backup b/root/etc/e-smith/events/actions/sogo-delete-backup new file mode 100644 index 0000000..718349d --- /dev/null +++ b/root/etc/e-smith/events/actions/sogo-delete-backup @@ -0,0 +1,4 @@ +#!/bin/sh + +exec /bin/rm -f /home/e-smith/db/sogo/* + diff --git a/root/etc/e-smith/locale/fr/etc/e-smith/web/functions/sogo b/root/etc/e-smith/locale/fr/etc/e-smith/web/functions/sogo new file mode 100644 index 0000000..8391aa4 --- /dev/null +++ b/root/etc/e-smith/locale/fr/etc/e-smith/web/functions/sogo @@ -0,0 +1,62 @@ + + + Groupware + Collecticiel + + + FORM_TITLE + Configuration du collecticiel SOGo + + + STATUS_DESC + Vous pouvez choisir de désactiver entièrement le service + + + STATUS + État + + + SEND_ACL_MAIL_DESC + Lorsqu'un utilisateur donne des droits (sur un agenda ou carnet d'adresse), SOGo peut prévenir automatiquement les personnes concernées que de nouvelles données sont accessibles, en leur envoyant un mail. Voulez-vous activer cette fonction ? + + + SEND_ACL_MAIL + Notification des changements de droit d'accès + + + MAIL_ALARM_DESC + 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 + + + MAIL_ALARM + Rappel par mail + + + AUX_ACCOUNTS_DESC + 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 ? + + + AUX_ACCOUNTS + Comptes externes + + + PUBLIC_ACCESS_DESC + Si cette fonction est activée, les utilisateurs pourront partager certaines ressources publiquement (sans aucune authentification). Souhaitez-vous activer cette fonction ? + + + PUBLIC_ACCESS + Accès public + + + ALLOWED_GROUPS_DESC + Vous pouvez restreindre l'accès à SOGo à une liste de groupes. Si au moins un groupe est coché, seuls les membres du/des groupe(s) sélectionnés pourront utiliser SOGo. Si aucun groupe n'est coché, alors tous les utilisateurs pourront l'utiliser + + + ALLOWED_GROUPS + Groupes autorisés + + + ALLOWED_OR_NOT + Autorisé ? + + diff --git a/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/30sogo_mysql_create_database b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/30sogo_mysql_create_database new file mode 100644 index 0000000..6a29f37 --- /dev/null +++ b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/30sogo_mysql_create_database @@ -0,0 +1 @@ +PERMS=0540 diff --git a/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_mysql_update_privileges b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_mysql_update_privileges new file mode 100644 index 0000000..6a29f37 --- /dev/null +++ b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_mysql_update_privileges @@ -0,0 +1 @@ +PERMS=0540 diff --git a/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_upgrade b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_upgrade new file mode 100644 index 0000000..6a29f37 --- /dev/null +++ b/root/etc/e-smith/templates.metadata/etc/e-smith/sql/init/31sogo_upgrade @@ -0,0 +1 @@ +PERMS=0540 diff --git a/root/etc/e-smith/templates.metadata/home/sogo/GNUstep/Defaults/.GNUstepDefaults b/root/etc/e-smith/templates.metadata/home/sogo/GNUstep/Defaults/.GNUstepDefaults new file mode 100644 index 0000000..6655fc6 --- /dev/null +++ b/root/etc/e-smith/templates.metadata/home/sogo/GNUstep/Defaults/.GNUstepDefaults @@ -0,0 +1,3 @@ +UID="sogo" +GID="sogo" +PERMS=0600 diff --git a/root/etc/e-smith/templates/etc/cron.d/sogo-alarm/10All b/root/etc/e-smith/templates/etc/cron.d/sogo-alarm/10All new file mode 100644 index 0000000..9f6b57c --- /dev/null +++ b/root/etc/e-smith/templates/etc/cron.d/sogo-alarm/10All @@ -0,0 +1,7 @@ +# SOGo Email Alarms +{ +if (($sogod{'EMailAlarms'} || 'no') =~ m/^no$/i){ + $OUT .= "# Email alarms are disabled\n# "; +} +$OUT .= "* * * * * sogo /usr/sbin/sogo-ealarms-notify\n"; +} diff --git a/root/etc/e-smith/templates/etc/e-smith/sql/init/30sogo_mysql_create_database b/root/etc/e-smith/templates/etc/e-smith/sql/init/30sogo_mysql_create_database new file mode 100644 index 0000000..f5ef3fb --- /dev/null +++ b/root/etc/e-smith/templates/etc/e-smith/sql/init/30sogo_mysql_create_database @@ -0,0 +1,3 @@ +#! /bin/sh + +exec mysql < /home/sogo/smeserver/sogo_mysql_create_database.sql diff --git a/root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_mysql_update_privileges b/root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_mysql_update_privileges new file mode 100644 index 0000000..e614329 --- /dev/null +++ b/root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_mysql_update_privileges @@ -0,0 +1,3 @@ +#! /bin/sh + +exec mysql < /home/sogo/smeserver/sogo_mysql_update_privileges.sql diff --git a/root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_upgrade b/root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_upgrade new file mode 100644 index 0000000..643584f --- /dev/null +++ b/root/etc/e-smith/templates/etc/e-smith/sql/init/31sogo_upgrade @@ -0,0 +1,3 @@ +#! /bin/sh + +exec /etc/e-smith/events/actions/sogo_upgrade diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00ListenAppleWorkArround b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00ListenAppleWorkArround new file mode 100644 index 0000000..1f74ac9 --- /dev/null +++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/35SSL00ListenAppleWorkArround @@ -0,0 +1,15 @@ +{ + +my $applePort = ${'apple-carddav'}{'TCPPort'} || "8843"; +my $sogoStatus = $sogod{'status'} || "enabled"; +my $appleStatus = ${'apple-carddav'}{'status'} || "enabled"; + +if (($sogoStatus eq 'enabled') && ($appleStatus eq 'enabled')){ + $OUT .=<<"EOF"; + +Listen 0.0.0.0:$applePort + +EOF +} + +} diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80NameVirtualHostsAppleWorkArround b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80NameVirtualHostsAppleWorkArround new file mode 100644 index 0000000..aea9c7a --- /dev/null +++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/80NameVirtualHostsAppleWorkArround @@ -0,0 +1,15 @@ +{ + +my $applePort = ${'apple-carddav'}{'TCPPort'} || "8843"; +my $sogoStatus = $sogod{'status'} || "enabled"; +my $appleStatus = ${'apple-carddav'}{'status'} || "enabled"; + +if (($sogoStatus eq 'enabled') && ($appleStatus eq 'enabled')){ + $OUT .=<<"EOF"; + +NameVirtualHost 0.0.0.0:$applePort + +EOF +} + +} diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAccess b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAccess new file mode 100644 index 0000000..bd1d8d4 --- /dev/null +++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAccess @@ -0,0 +1,35 @@ +# SOGo Groupware +{ + $sogoStatus = $sogod{'status'} || "disabled"; + $webmailStatus = $imp{'status'} || "disabled"; + $style = $sogod{'WebServerResources'} || '/usr/lib/GNUstep/SOGo/WebServerResources/'; + $style = '/usr/lib/GNUstep/SOGo/WebServerResources/' unless ( -d $style); + $style =~ s#$#/# unless ( $style =~ m#/$# ); + + $OUT = ""; +} + +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 + + order deny,allow + deny from all + allow from all + SSLRequireSSL on + AddDefaultCharset UTF-8 + RequestHeader set "x-webobjects-server-url" "https://%\{REQUEST_HOST\}e/SOGo" + + +Alias /.woa/WebServerResources/ {"$style";} +Alias /SOGo.woa/WebServerResources/ {"$style";} +Alias /SOGo/WebServerResources/ {"$style";} +AliasMatch /SOGo/so/ControlPanel/Products/(.*)/Resources/(.*) /usr/lib/GNUstep/SOGo/$1.SOGo/Resources/$2 + + + AllowOverride None + Options +ExecCGI -Includes + Order allow,deny + Allow from all + + diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAppleWorkArround b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAppleWorkArround new file mode 100644 index 0000000..f85f30a --- /dev/null +++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/85SOGoAppleWorkArround @@ -0,0 +1,40 @@ +{ + +my $sogoPort = $sogod{'TCPPort'} || "20000"; +my $applePort = ${'apple-carddav'}{'TCPPort'} || "8843"; +my $sogoStatus = $sogod{'status'} || "enabled"; +my $appleStatus = ${'apple-carddav'}{'status'} || "enabled"; + +if (($sogoStatus eq 'enabled') && ($appleStatus eq 'enabled')){ + $OUT .=<<"EOF"; + + + ServerName $SystemName.$DomainName + SSLEngine On + ProxyRequests Off + SetEnv proxy-nokeepalive 1 + ProxyPreserveHost On + ProxyPassInterpolateEnv On + RewriteEngine On + RewriteRule /principals(.*) /\$1 [L,R] + RewriteRule /SOGo/dav(.*) /\$1 [L,R] + ProxyPass / http://127.0.0.1:$sogoPort/SOGo/dav/ interpolate + + + RequestHeader set "x-webobjects-server-port" "$applePort" + RequestHeader set "x-webobjects-server-name" "$SystemName.$DomainName:$applePort" + RequestHeader set "x-webobjects-server-url" "https://$SystemName.$DomainName:$applePort" + RequestHeader set "x-webobjects-server-protocol" "HTTP/1.0" + RequestHeader set "x-webobjects-remote-host" "127.0.0.1" + AddDefaultCharset UTF-8 + Order allow,deny + Allow from all + + + +EOF +} +else{ + $OUT .= ""; +} +} diff --git a/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/61SogoSSL b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/61SogoSSL new file mode 100644 index 0000000..be90ed3 --- /dev/null +++ b/root/etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/61SogoSSL @@ -0,0 +1,18 @@ +{ +my $sslport = $modSSL{'TCPPort'} || '443'; +my $webmailstatus = $horde{'status'} || 'disabled'; +my $sogostatus = $sogod{'status'} || 'disabled'; + +$OUT .= " RewriteEngine on\n"; +$OUT .= " RewriteRule ^/sogo(/.*|\$) https://%{HTTP_HOST}/SOGo\$1 \[L,R\]\n"; + +if (($webmailstatus eq 'disabled') and ($sogostatus eq 'enabled')) { + $OUT .= " RewriteRule ^/webmail(.*|\$) https://%{HTTP_HOST}/SOGo\$1\n"; +} + +if ($port ne $sslport){ + ## Redirect Web Address to Secure Address + $OUT .= " RewriteRule ^/SOGo(/.*|\$) https://%{HTTP_HOST}/SOGo\$1 \[L,R\]\n"; +} +} + diff --git a/root/etc/e-smith/templates/etc/logrotate.d/sogo/10default b/root/etc/e-smith/templates/etc/logrotate.d/sogo/10default new file mode 100644 index 0000000..7a7d9fb --- /dev/null +++ b/root/etc/e-smith/templates/etc/logrotate.d/sogo/10default @@ -0,0 +1,8 @@ +/var/log/sogo/*.log \{ + missingok + weekly + rotate 24 + compress + notifempty + copytruncate +\} diff --git a/root/etc/e-smith/templates/etc/sysconfig/sogo/Prefork b/root/etc/e-smith/templates/etc/sysconfig/sogo/Prefork new file mode 100644 index 0000000..a510fb2 --- /dev/null +++ b/root/etc/e-smith/templates/etc/sysconfig/sogo/Prefork @@ -0,0 +1,11 @@ +{ + +use esmith::AccountsDB; +my $a = esmith::AccountsDB->open_ro || die "Couldn't open AccountsDB\n"; +my $users = scalar($a->users()); +my $fork = int($users/15); +$fork = 3 if ($fork < 3); + +$OUT .= "PREFORK=$fork"; + +} diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10start b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10start new file mode 100644 index 0000000..2ffdaf2 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/10start @@ -0,0 +1,5 @@ +\{ + NSGlobalDomain = \{ + \}; + sogod = \{ + diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/15mysql b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/15mysql new file mode 100644 index 0000000..1063f56 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/15mysql @@ -0,0 +1,4 @@ + OCSFolderInfoURL = "mysql://sogo:{$sogod{'DbPassword'}}@localhost/sogo/sogo_folder_info"; + OCSSessionsFolderURL = "mysql://sogo:{$sogod{'DbPassword'}}@localhost/sogo/sogo_sessions_folder"; + OCSEMailAlarmsFolderURL = "mysql://sogo:{$sogod{'DbPassword'}}@localhost/sogo/sogo_alarms_folder"; + SOGoProfileURL = "mysql://sogo:{$sogod{'DbPassword'}}@localhost/sogo/sogo_user_profile"; diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/16memcached b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/16memcached new file mode 100644 index 0000000..4d7469a --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/16memcached @@ -0,0 +1 @@ + SOGoMemcachedHost = "/var/run/sogo/memcached.sock"; diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/20mail b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/20mail new file mode 100644 index 0000000..8001989 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/20mail @@ -0,0 +1,11 @@ + SOGoMailSpoolPath = "/var/spool/sogo"; + SOGoMailDomain = {$DomainName}; + SOGoMailingMechanism = smtp; + SOGoSMTPServer = localhost; + SOGoIMAPServer = "imap://localhost:{$imap{'TCPPort'} || '143'}"; + SOGoDraftsFolderName = {($sogod{'DraftsFolder'} || "Drafts")}; + SOGoSentFolderName = {($sogod{'SentFolder'} || "Sent")}; + SOGoTrashFolderName = {($sogod{'TrashFolder'} || "Trash")}; + SOGoMailListViewColumnsOrder = ( + Flagged, Attachment, Subject, From, Unread, Date, Size + ); diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/25notifications b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/25notifications new file mode 100644 index 0000000..6f4c0c0 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/25notifications @@ -0,0 +1,6 @@ + SOGoEnableEMailAlarms = {uc($sogod{'EMailAlarms'} || "no")}; + SOGoACLsSendEMailNotifications = {uc($sogod{'ACLsSendEMailNotifications'} || "no")}; + SOGoAppointmentSendEMailNotifications = YES; + SOGoAppointmentSendEMailReceipts = YES; + SOGoFoldersSendEMailNotifications = NO; + diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/30defaultPrefs b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/30defaultPrefs new file mode 100644 index 0000000..5579acf --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/30defaultPrefs @@ -0,0 +1,3 @@ + SOGoMailMessageCheck = "every_10_minutes"; + SOGoFirstDayOfWeek = "1"; + SOGoFirstWeekOfYear = "FirstFullWeek"; diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/35external b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/35external new file mode 100644 index 0000000..8969d6a --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/35external @@ -0,0 +1,2 @@ + SOGoMailAuxiliaryUserAccountsEnabled = {uc($sogod{'AuxiliaryUserAccounts'} || "no")}; + SOGoEnablePublicAccess = {uc($sogod{'PublicAccess'} || "no")}; diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/40sieve b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/40sieve new file mode 100644 index 0000000..e6d1918 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/40sieve @@ -0,0 +1,11 @@ +{ + if (($sieve{'status'} || 'disabled') eq 'enabled'){ + my $sieveport = $sieve{'TCPPort'} || '4190'; + $OUT .=<<"HERE"; + SOGoSieveServer = "sieve://localhost:$sieveport"; + SOGoVacationEnabled = YES; + SOGoForwardEnabled = YES; + SOGoSieveScriptsEnabled = YES; +HERE + } +} diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/45admins b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/45admins new file mode 100644 index 0000000..9b83a6b --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/45admins @@ -0,0 +1,3 @@ + SOGoSuperUsernames = ( + {($sogod{'AdminUsers'} || 'admin')} + ); diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/50timezone b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/50timezone new file mode 100644 index 0000000..f4457df --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/50timezone @@ -0,0 +1 @@ + SOGoTimeZone = {$TimeZone}; diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/55authSource b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/55authSource new file mode 100644 index 0000000..43e1722 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/55authSource @@ -0,0 +1,58 @@ + SOGoUserSources = ( + \{ +{ + # If AllowedGroups prop is set, build a LDAP filter + # based on the posixMemberOf attribute + # (Only available on iPasserelle) + + my @groups = split(/[;,]/, ($sogod{'AllowedGroups'} || '')); + $filter = ''; + if (scalar(@groups) == 1){ + $filter = "(posixMemberOf=$groups[0])"; + } + elsif (scalar(@groups) gt 1){ + $filter = '('; + my $i = 0; + foreach (@groups){ + $i++; + $filter .= "(posixMemberOf=$_)"; + $filter .= ' OR ' if ($i < scalar(@groups)); + } + $filter .= ')'; + } + $OUT .= ($filter eq '') ? '' : ' filter = "' . $filter . '";'; +} + CNFieldName = cn; + IDFieldName = uid; + UIDFieldName = uid; + baseDN = "ou=Users,{ esmith::util::ldapBase($DomainName); }"; + bindFields = uid; + canAuthenticate = YES; + displayName = "{($sogo{'LDAPUserSourceName'} || 'Utilisateurs')}"; + hostname = localhost; + id = users; + isAddressBook = YES; + port = {$ldap{'TCPPort'}}; + type = ldap; + \}, + \{ +{ + # Use the same filter, against the cn attr + $filter =~ s/posixMemberOf=/cn=/g; + $OUT .= ($filter eq '') ? '' : ' filter = "' . $filter . '";'; +} + CNFieldName = cn; + IDFieldName = cn; + UIDFieldName = cn; + baseDN = "ou=Groups,{ esmith::util::ldapBase($DomainName); }"; + bindFields = cn; + canAuthenticate = YES; + displayName = "{($sogo{'LDAPGroupSourceName'} || 'Groupes')}"; + hostname = localhost; + id = groups; + isAddressBook = YES; + port = {$ldap{'TCPPort'}}; + type = ldap; + \} + ); + diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/60various b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/60various new file mode 100644 index 0000000..baaa089 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/60various @@ -0,0 +1,5 @@ + NGUseUTF8AsURLEncoding = YES; + WOMessageUseUTF8 = YES; + WOParsersUseUTF8 = YES; + WOPort = 127.0.0.1:{$sogod{'TCPPort'}}; + WOUseRelativeURLs = YES; diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/99end b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/99end new file mode 100644 index 0000000..0b195f2 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/99end @@ -0,0 +1,2 @@ + \}; +\} diff --git a/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/template-begin b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/template-begin new file mode 100644 index 0000000..d69b983 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/GNUstep/Defaults/.GNUstepDefaults/template-begin @@ -0,0 +1,5 @@ +/* +{ + $OUT = Text::Template::_load_text("/etc/e-smith/templates-default/template-begin"); + $OUT =~ s/^#/ * /gm +} */ diff --git a/root/etc/e-smith/templates/home/sogo/smeserver/sogo_mysql_update_privileges.sql b/root/etc/e-smith/templates/home/sogo/smeserver/sogo_mysql_update_privileges.sql new file mode 100644 index 0000000..2510a81 --- /dev/null +++ b/root/etc/e-smith/templates/home/sogo/smeserver/sogo_mysql_update_privileges.sql @@ -0,0 +1,22 @@ +CONNECT mysql; + +REPLACE INTO user (host, user, password) + VALUES ( + 'localhost', + 'sogo', + password('{$sogod{DbPassword}}') + ); + +REPLACE INTO db (host, db, user, select_priv, insert_priv, update_priv, + delete_priv, create_priv, drop_priv, alter_priv, index_priv, + references_priv) + VALUES ( + 'localhost', + 'sogo', + 'sogo', + 'Y', 'Y', 'Y', 'Y', + 'Y', 'Y', 'Y', 'Y', + 'Y' + ); + +FLUSH PRIVILEGES; diff --git a/root/etc/e-smith/web/functions/sogo b/root/etc/e-smith/web/functions/sogo new file mode 100644 index 0000000..897a274 --- /dev/null +++ b/root/etc/e-smith/web/functions/sogo @@ -0,0 +1,75 @@ +#!/usr/bin/perl -wT + +# vim: ft=xml ts=4 sw=4 et: +#---------------------------------------------------------------------- +# heading : Collaboration +# description : Groupware +# navigation : 2000 3000 +#---------------------------------------------------------------------- +#---------------------------------------------------------------------- +# copyright (C) 2011 Firewall-Services +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +#---------------------------------------------------------------------- + +use strict; +use esmith::FormMagick::Panel::sogo; + +my $fm = esmith::FormMagick::Panel::sogo->new(); + +$fm->display(); + +__DATA__ +
+ + + STATUS_DESC + + + + SEND_ACL_MAIL_DESC + + + + MAIL_ALARM_DESC + + + + AUX_ACCOUNTS_DESC + + + + PUBLIC_ACCESS_DESC + + + + ALLOWED_GROUPS_DESC + + + + +
diff --git a/root/home/sogo/GNUstep/Defaults/.GNUstepDefaults b/root/home/sogo/GNUstep/Defaults/.GNUstepDefaults new file mode 100644 index 0000000..134567b --- /dev/null +++ b/root/home/sogo/GNUstep/Defaults/.GNUstepDefaults @@ -0,0 +1,6 @@ +{ + NSGlobalDomain = { + }; + sogod = { + }; +} diff --git a/root/home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox b/root/home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox new file mode 100644 index 0000000..7340dd5 --- /dev/null +++ b/root/home/sogo/GNUstep/Library/SOGo/Templates/MainUI/SOGoRootPage.wox @@ -0,0 +1,78 @@ + + + + +
+ +
+
+
+ + + + + + + +
+ + + + + + + + + + +
+

+
+
+
+ diff --git a/root/home/sogo/smeserver/sogo_mysql_create_database.sql b/root/home/sogo/smeserver/sogo_mysql_create_database.sql new file mode 100644 index 0000000..1598846 --- /dev/null +++ b/root/home/sogo/smeserver/sogo_mysql_create_database.sql @@ -0,0 +1,29 @@ +-- SOGo Database Creation + +CREATE DATABASE IF NOT EXISTS `sogo`; + +CONNECT `sogo`; + +CREATE TABLE IF NOT EXISTS `sogo_folder_info` ( + `c_folder_id` bigint(20) unsigned NOT NULL auto_increment, + `c_path` varchar(255) NOT NULL, + `c_path1` varchar(255) NOT NULL, + `c_path2` varchar(255) default NULL, + `c_path3` varchar(255) default NULL, + `c_path4` varchar(255) default NULL, + `c_foldername` varchar(255) NOT NULL, + `c_location` varchar(2048) NOT NULL, + `c_quick_location` varchar(2048) default NULL, + `c_acl_location` varchar(2048) default NULL, + `c_folder_type` varchar(255) NOT NULL, + PRIMARY KEY (`c_path`), + UNIQUE KEY `c_folder_id` (`c_folder_id`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + +CREATE TABLE IF NOT EXISTS `sogo_user_profile` ( + `c_uid` varchar(255) NOT NULL, + `c_defaults` text, + `c_settings` text, + PRIMARY KEY (`c_uid`) +) ENGINE=MyISAM DEFAULT CHARSET=latin1; + diff --git a/root/home/sogo/smeserver/sogo_mysql_update_privileges.sql b/root/home/sogo/smeserver/sogo_mysql_update_privileges.sql new file mode 100644 index 0000000..a62dfad --- /dev/null +++ b/root/home/sogo/smeserver/sogo_mysql_update_privileges.sql @@ -0,0 +1 @@ +-- sogo_mysql_privileges.sql template diff --git a/root/usr/lib/GNUstep/SOGo/WebServerResources/logo_ipasserelle.png b/root/usr/lib/GNUstep/SOGo/WebServerResources/logo_ipasserelle.png new file mode 100644 index 0000000000000000000000000000000000000000..c75be1f61c068ffa6431b0b983978803c2b16ba5 GIT binary patch literal 18328 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 TjUJ6G00000NkvXXu0mjf?t^j> literal 0 HcmV?d00001 diff --git a/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/sogo.pm b/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/sogo.pm new file mode 100644 index 0000000..a8fe0d5 --- /dev/null +++ b/root/usr/lib/perl5/site_perl/esmith/FormMagick/Panel/sogo.pm @@ -0,0 +1,122 @@ +#!/usr/bin/perl -w + +#---------------------------------------------------------------------- +# copyright (C) 2011 Firewall-Services +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +#---------------------------------------------------------------------- +package esmith::FormMagick::Panel::sogo; + +use strict; + +use esmith::FormMagick; +use esmith::AccountsDB; +use esmith::ConfigDB; +use esmith::cgi; +use esmith::util; +use Exporter; +use Carp qw(verbose); + +our @ISA = qw(esmith::FormMagick Exporter); + +our @EXPORT = qw( + get_prop + print_allowed_groups + apply +); + + +our $accountdb = esmith::AccountsDB->open(); +our $configdb = esmith::ConfigDB->open(); + +sub new { + shift; + my $self = esmith::FormMagick->new(); + $self->{calling_package} = (caller)[0]; + bless $self; + return $self; +} + +sub get_prop{ + my ($fm, $prop, $default) = @_; + return $configdb->get_prop("sogod", $prop) || $default; +} + +sub print_allowed_groups { + my ($self) = @_; + my $q = $self->{cgi}; + + my @allowedGroups = split(/[,;]/, (get_prop($self, 'AllowedGroups', ''))); + + if (my @groups = $accountdb->groups()) { + + print "", + $self->localise('ALLOWED_GROUPS'), + "\n"; + + print $q->start_table({-class => "sme-border"}),"\n"; + print $q->Tr( + esmith::cgi::genSmallCell($q, $self->localise('ALLOWED_OR_NOT'),"header"), + esmith::cgi::genSmallCell($q, $self->localise('GROUP'),"header"), + esmith::cgi::genSmallCell($q, $self->localise('DESCRIPTION'),"header") + ); + + foreach my $g (@groups) { + my $groupname = $g->key(); + my $checked; + if (grep { $groupname eq $_ } @allowedGroups) { + $checked = 'checked'; + } else { + $checked = ''; + } + + print $q->Tr( + $q->td( + "" + ), + esmith::cgi::genSmallCell($q, $groupname,"normal"), + esmith::cgi::genSmallCell( $q, $accountdb->get($groupname)->prop("Description"),"normal") + ); + } + + print "\n"; + + } + + return undef; + +} + +sub apply { + my ($self) = @_; + my $q = $self->{cgi}; + + $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"))); + + unless ( system ("/sbin/e-smith/signal-event", "email-update") == 0 ){ + return $self->error('ERROR_OCCURED', 'FIRST');; + } + + return $self->success('SUCCESS','FIRST'); +} + +1; diff --git a/root/var/service/memcached-sogo/log/run b/root/var/service/memcached-sogo/log/run new file mode 100644 index 0000000..feb0a56 --- /dev/null +++ b/root/var/service/memcached-sogo/log/run @@ -0,0 +1,7 @@ +#!/bin/sh + +exec \ + /usr/local/bin/setuidgid sogo \ + /usr/local/bin/multilog t s5000000 \ + /var/log/memcached-sogo + diff --git a/root/var/service/memcached-sogo/run b/root/var/service/memcached-sogo/run new file mode 100644 index 0000000..1cb1e01 --- /dev/null +++ b/root/var/service/memcached-sogo/run @@ -0,0 +1,5 @@ +#!/bin/sh + +exec 2>&1 + +exec memcached -u sogo -v -s /var/run/sogo/memcached.sock -a 600