initial commit of file from CVS for smeserver-autodiscover on Sat Sep 7 20:08:09 AEST 2024
This commit is contained in:
parent
9379997240
commit
d6803694bc
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
*.rpm
|
||||
*.log
|
||||
*spec-20*
|
||||
*.tar.gz
|
21
Makefile
Normal file
21
Makefile
Normal file
@ -0,0 +1,21 @@
|
||||
# Makefile for source rpm: smeserver-autodiscover
|
||||
# $Id: Makefile,v 1.1 2022/07/13 21:19:56 jpp Exp $
|
||||
NAME := smeserver-autodiscover
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attept a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
14
README.md
14
README.md
@ -1,3 +1,15 @@
|
||||
# smeserver-autodiscover
|
||||
# <img src="https://www.koozali.org/images/koozali/Logo/Png/Koozali_logo_2016.png" width="25%" vertical="auto" style="vertical-align:bottom"> smeserver-autodiscover
|
||||
|
||||
SMEServer Koozali developed git repo for smeserver-autodiscover smecontribs
|
||||
|
||||
## Wiki
|
||||
<br />https://wiki.koozali.org/Autodiscover
|
||||
|
||||
## Bugzilla
|
||||
Show list of outstanding bugs: [here](https://bugs.koozali.org/buglist.cgi?component=smeserver-autodiscover&product=SME%20Contribs&query_format=advanced&limit=0&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=CONFIRMED)
|
||||
|
||||
## Description
|
||||
|
||||
<br />*This description has been generated by an LLM AI system and cannot be relied on to be fully correct.*
|
||||
*Once it has been checked, then this comment will be deleted*
|
||||
<br />
|
||||
|
1
contriborbase
Normal file
1
contriborbase
Normal file
@ -0,0 +1 @@
|
||||
contribs10
|
49
createlinks
Normal file
49
createlinks
Normal file
@ -0,0 +1,49 @@
|
||||
#!/usr/bin/perl
|
||||
use strict;
|
||||
use esmith::Build::CreateLinks qw(:all);
|
||||
|
||||
my $pkg= "smeserver-autodiscover";
|
||||
my $event = "${pkg}-update";
|
||||
|
||||
#event_actions($event, qw(
|
||||
# systemd-default 88
|
||||
# systemd-reload 89
|
||||
#));
|
||||
|
||||
event_templates($event, qw(
|
||||
/var/www/Autodiscover/Mozilla.php
|
||||
/var/www/Autodiscover/Autodiscover.php
|
||||
/etc/httpd/conf/httpd.conf
|
||||
));
|
||||
|
||||
event_services($event, qw(
|
||||
httpd-e-smith reload-or-restart
|
||||
));
|
||||
|
||||
#email-update
|
||||
$event ="email-update";
|
||||
event_templates($event, qw(
|
||||
/var/www/Autodiscover/Mozilla.php
|
||||
/var/www/Autodiscover/Autodiscover.php
|
||||
));
|
||||
|
||||
|
||||
#webapps-update
|
||||
$event ="webapps-update";
|
||||
event_templates($event, qw(
|
||||
/var/www/Autodiscover/Mozilla.php
|
||||
/var/www/Autodiscover/Autodiscover.php
|
||||
));
|
||||
|
||||
#remoteaccess-update
|
||||
$event ="remoteaccess-update";
|
||||
event_templates($event, qw(
|
||||
/var/www/Autodiscover/Mozilla.php
|
||||
/var/www/Autodiscover/Autodiscover.php
|
||||
));
|
||||
|
||||
|
||||
|
||||
#use esmith::Build::Backup qw(:all);
|
||||
#backup_includes($pkg, qw( ));
|
||||
|
@ -0,0 +1 @@
|
||||
public
|
@ -0,0 +1 @@
|
||||
enabled
|
@ -0,0 +1 @@
|
||||
configuration
|
@ -0,0 +1,3 @@
|
||||
PERMS=0640
|
||||
UID="www"
|
||||
GID="www"
|
@ -0,0 +1,3 @@
|
||||
PERMS=0640
|
||||
UID="www"
|
||||
GID="www"
|
@ -0,0 +1,10 @@
|
||||
<Directory /var/www/Autodiscover/>
|
||||
{
|
||||
$OUT = ( ($autodiscover || "public") eq "public" ) ? " Require all granted\n Allow from all\n" : " Require ip $localAccess $externalSSLAccess\n Allow from all $localAccess $externalSSLAccess\n ";
|
||||
}
|
||||
<FilesMatch \.php$>
|
||||
<If "-f %\{SCRIPT_FILENAME\}">
|
||||
SetHandler "proxy:unix:/var/run/php-fpm/php80.sock|fcgi://localhost"
|
||||
</If>
|
||||
</FilesMatch>
|
||||
</Directory>
|
@ -0,0 +1,18 @@
|
||||
{
|
||||
return "# autodiscover disabled\n" unless $autodiscover{'status'} eq "enabled";
|
||||
|
||||
if ($port eq $httpsPort)
|
||||
{
|
||||
$OUT .= 'Alias /autodiscover/autodiscover.xml "/var/www/Autodiscover/Autodiscover.php"'."\n";
|
||||
$OUT .= 'Alias /Autodiscover/Autodiscover.xml "/var/www/Autodiscover/Autodiscover.php"'."\n";
|
||||
$OUT .= 'Alias /AutoDiscover/AutoDiscover.xml "/var/www/Autodiscover/Autodiscover.php"'."\n";
|
||||
$OUT .= 'Alias /.well-known/autoconfig/mail/config-v1.1.xml "/var/www/Autodiscover/Mozilla.php"'."\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$OUT .= 'RedirectMatch 302 ^/\.well-known/autoconfig/mail/config-v1\.1\.xml(.*|$) https://%{HTTP_HOST}/.well-known/autoconfig/mail/config-v1.1.xml$1 '."\n";
|
||||
$OUT .= 'RedirectMatch 302 ^/(a|A)utodiscover(/.*|$) https://%{HTTP_HOST}/autodiscover$2 '."\n";
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,4 @@
|
||||
<User>
|
||||
<DisplayName><?php echo $_SERVER['SERVER_NAME'] . " Emails"; ?></DisplayName>
|
||||
</User>
|
||||
|
@ -0,0 +1,3 @@
|
||||
<Account>
|
||||
<AccountType>email</AccountType>
|
||||
<Action>settings</Action>
|
@ -0,0 +1,16 @@
|
||||
{
|
||||
return "" unless $imaps{'status'} eq "enabled";
|
||||
$OUT=<<'string_ending_delimiter';
|
||||
|
||||
<Protocol>
|
||||
<Type>IMAP</Type>
|
||||
<Server><?php echo $_SERVER['SERVER_NAME']; ?></Server>
|
||||
<Port>993</Port>
|
||||
<SPA>off</SPA>
|
||||
<SSL>on</SSL>
|
||||
<AuthRequired>on</AuthRequired>
|
||||
<?php echo $LoginName; ?>
|
||||
|
||||
</Protocol>
|
||||
string_ending_delimiter
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
{
|
||||
return "" if $imaps{'status'} eq "enabled";
|
||||
return "" unless $pop3s{'status'} eq "enabled";
|
||||
$OUT=<<'string_ending_delimiter';
|
||||
<Protocol>
|
||||
<Type>POP3</Type>
|
||||
<Server><?php echo $_SERVER['SERVER_NAME']; ?></Server>
|
||||
<Port>995</Port>
|
||||
<SPA>off</SPA>
|
||||
<SSL>on</SSL>
|
||||
<AuthRequired>on</AuthRequired>
|
||||
<?php echo $LoginName; ?>
|
||||
|
||||
</Protocol>
|
||||
string_ending_delimiter
|
||||
}
|
@ -0,0 +1,30 @@
|
||||
{
|
||||
$OUT=<<'string_ending_delimiter';
|
||||
<Protocol>
|
||||
<Type>SMTP</Type>
|
||||
<Server><?php echo $_SERVER['SERVER_NAME']; ?></Server>
|
||||
<Port>25</Port>
|
||||
<SPA>off</SPA>
|
||||
<Encryption>TLS</Encryption>
|
||||
<SSL>on</SSL>
|
||||
<AuthRequired>on</AuthRequired>
|
||||
<?php echo $LoginName; ?>
|
||||
|
||||
</Protocol>
|
||||
string_ending_delimiter
|
||||
|
||||
#if we start support for port 587 submisison we would need to alter this
|
||||
return $OUT unless $sqpsmtpd{'status'} eq "enabled";
|
||||
$OUT=<<'string_ending_delimiter';
|
||||
<Protocol>
|
||||
<Type>SMTP</Type>
|
||||
<Server><?php echo $_SERVER['SERVER_NAME']; ?></Server>
|
||||
<Port>465</Port>
|
||||
<SPA>off</SPA>
|
||||
<SSL>on</SSL>
|
||||
<AuthRequired>on</AuthRequired>
|
||||
<?php echo $LoginName; ?>
|
||||
|
||||
</Protocol>
|
||||
string_ending_delimiter
|
||||
}
|
@ -0,0 +1 @@
|
||||
</Account>
|
@ -0,0 +1,19 @@
|
||||
<?php
|
||||
$LoginName = "";
|
||||
$raw = file_get_contents('php://input');
|
||||
$matches = array();
|
||||
preg_match('/<EMailAddress>(.*)<\/EMailAddress>/', $raw, $matches);
|
||||
if (isset($matches[1])) \{
|
||||
$LoginName = "<LoginName>".$matches[1]."</LoginName>";
|
||||
\}
|
||||
$email = array_key_exists('email', $_GET) ? $_GET['email'] : null;
|
||||
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
|
||||
if (array_key_exists('email', $_GET)) \{
|
||||
$LoginName = "<LoginName>".$email."</LoginName>";
|
||||
\}
|
||||
header('Content-Type: application/xml');
|
||||
?>
|
||||
<?php echo "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"; ?>
|
||||
|
||||
<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
|
||||
<Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
|
@ -0,0 +1,2 @@
|
||||
</Response>
|
||||
</Autodiscover>
|
@ -0,0 +1,7 @@
|
||||
<emailProvider id="<?php echo $_SERVER['SERVER_NAME']; ?>">
|
||||
<domain><?php echo $_SERVER['SERVER_NAME']; ?></domain>
|
||||
<domain><?php echo "www.".$_SERVER['SERVER_NAME']; ?></domain>
|
||||
|
||||
<displayName><?php echo $_SERVER['SERVER_NAME'] . " Emails"; ?></displayName>
|
||||
<displayShortName><?php echo $_SERVER['SERVER_NAME']; ?></displayShortName>
|
||||
|
@ -0,0 +1,20 @@
|
||||
{
|
||||
return " <!-- no IMAP server available-->\n" if $imaps{'status'} eq "disabled" && $imap{'access'} eq "localhost";
|
||||
$port=$imaps{'TCPPort'} || '993';
|
||||
$socket="SSL";
|
||||
|
||||
if ($imaps{'status'} eq "disabled") {
|
||||
$port=$qpsmtpd{'TCPPort'} || '143';
|
||||
$socket="STARTTLS";
|
||||
}
|
||||
|
||||
$OUT=<<"string_ending_delimiter";
|
||||
<incomingServer type="imap">
|
||||
<hostname><?php echo \$_SERVER['SERVER_NAME']; ?></hostname>
|
||||
<port>$port</port>
|
||||
<socketType>$socket</socketType>
|
||||
<username>\%EMAILLOCALPART\%</username>
|
||||
<authentication>password-cleartext</authentication>
|
||||
</incomingServer>
|
||||
string_ending_delimiter
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
{
|
||||
return " <!-- no POP3 server available-->\n" if $pop3s{'status'} eq "disabled" && $pop3s{'status'} eq "disabled";
|
||||
$port=$pop3s{'TCPPort'} || '995';
|
||||
$socket="SSL";
|
||||
|
||||
if ($pop3s{'status'} eq "disabled" && $pop3{'status'} eq "enabled") {
|
||||
$port=$pop3{'TCPPort'} || '25';
|
||||
$socket="STARTTLS";
|
||||
}
|
||||
|
||||
$OUT=<<"string_ending_delimiter";
|
||||
<incomingServer type="pop3">
|
||||
<hostname><?php echo \$_SERVER['SERVER_NAME']; ?></hostname>
|
||||
<port>$port</port>
|
||||
<socketType>$socket</socketType>
|
||||
<username>\%EMAILLOCALPART\%</username>
|
||||
<authentication>password-cleartext</authentication>
|
||||
<pop3>
|
||||
<leaveMessagesOnServer>true</leaveMessagesOnServer>
|
||||
<downloadOnBiff>true</downloadOnBiff>
|
||||
<daysToLeaveMessagesOnServer>14</daysToLeaveMessagesOnServer>
|
||||
</pop3>
|
||||
<!-- <password>optional: the user's password</password>-->
|
||||
</incomingServer>
|
||||
string_ending_delimiter
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
{
|
||||
return " <!-- no SMTP server available-->" if $sqpsmtpd{'status'} eq "disabled" && $qpsmtpd{'status'} eq "disabled";
|
||||
$port=$sqpsmtpd{'TCPPort'} || '465';
|
||||
$socket="SSL";
|
||||
|
||||
if ($sqpsmtpd{'status'} eq "disabled") {
|
||||
$port=$qpsmtpd{'TCPPort'} || '25';
|
||||
$socket="STARTTLS";
|
||||
}
|
||||
|
||||
$OUT=<<"string_ending_delimiter";
|
||||
<outgoingServer type="smtp">
|
||||
<hostname><?php echo \$_SERVER['SERVER_NAME']; ?></hostname>
|
||||
<port>$port</port>
|
||||
<socketType>$socket</socketType>
|
||||
<username>\%EMAILLOCALPART\%</username>
|
||||
<authentication>password-cleartext</authentication>
|
||||
<!-- <restriction>client-IP-address</restriction> -->
|
||||
<addThisServer>true</addThisServer>
|
||||
<useGlobalPreferredServer>true</useGlobalPreferredServer>
|
||||
</outgoingServer>
|
||||
string_ending_delimiter
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
# <identity>
|
||||
# <!-- needed? -->
|
||||
# <!-- We don't want Verizon setting "Organization: Verizon"
|
||||
# for its customers -->
|
||||
# </identity>
|
||||
$OUT = "";
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
{
|
||||
# <!-- A page where the ISP describes the configuration.
|
||||
# This is purely informational and currently mainly for
|
||||
# maintenance of the files and not used by the client at all.
|
||||
# Note that we do not necessarily use exactly the config suggested
|
||||
# by the ISP, e.g. when they don't recommend SSL, but it's available,
|
||||
# we will configure SSL.
|
||||
# The text content should contains a description in the native
|
||||
# language of the ISP (customers), and a short English description,
|
||||
# mostly for us.
|
||||
# -->
|
||||
$docpath=$autodiscover{'DocURL'} || "undef";
|
||||
return "" if $docpath eq "undef";
|
||||
$OUT=<<"string_ending_delimiter";
|
||||
<documentation url="http://<?php echo \$_SERVER['SERVER_NAME']; ?>/$docpath">
|
||||
<descr lang="en">Configure Thunderbird 2.0 for IMAP</descr>
|
||||
<descr lang="de">Thunderbird 2.0 mit IMAP konfigurieren</descr>
|
||||
<descr lang="fr">Configuration de Thunderbird 2.0 avec IMAP</descr>
|
||||
</documentation>
|
||||
string_ending_delimiter
|
||||
|
||||
}
|
@ -0,0 +1,2 @@
|
||||
</emailProvider>
|
||||
|
@ -0,0 +1,18 @@
|
||||
{
|
||||
# <!-- This allows to access the webmail service of the provider.
|
||||
# The URLs are loaded into a standard webbrowser for the user.
|
||||
# Specifying this is optional. -->
|
||||
return " <!-- no webmail available-->" if $horde{'status'} eq "disabled";
|
||||
|
||||
$OUT=<<'string_ending_delimiter';
|
||||
<webMail>
|
||||
<loginPage url="https://<?php echo $_SERVER['SERVER_NAME']; ?>/webmail" />
|
||||
<loginPageInfo url="https://<?php echo $_SERVER['SERVER_NAME']; ?>/webmail">
|
||||
<username>%EMAILLOCALPART%</username>
|
||||
<usernameField id="horde_user" name="horde_user" />
|
||||
<passwordField id="horde_pass" name="horde_pass" />
|
||||
<loginButton id="login_button" name="login_button"/>
|
||||
</loginPageInfo>
|
||||
</webMail>
|
||||
string_ending_delimiter
|
||||
}
|
@ -0,0 +1 @@
|
||||
<clientConfigUpdate url="https://<?php echo $_SERVER['SERVER_NAME']; ?>/.well-known/autoconfig/mail/config-v1.1.xml" />
|
@ -0,0 +1,3 @@
|
||||
<?php header("Content-Type: application/xml"); ?>
|
||||
<?php echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; ?>
|
||||
<clientConfig version="1.1">
|
@ -0,0 +1 @@
|
||||
</clientConfig>
|
@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Office\16.0\Outlook\setup]
|
||||
"DisableOffice365SimplifiedAccountCreation"=dword:00000001
|
@ -0,0 +1,4 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Office\19.0\Outlook\setup]
|
||||
"DisableOffice365SimplifiedAccountCreation"=dword:00000001
|
0
root/var/www/Autodiscover/.gitignore
vendored
Normal file
0
root/var/www/Autodiscover/.gitignore
vendored
Normal file
47
smeserver-autodiscover.spec
Normal file
47
smeserver-autodiscover.spec
Normal file
@ -0,0 +1,47 @@
|
||||
Name: smeserver-autodiscover
|
||||
Version: 1.0.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Koozali SME Server autodiscovery
|
||||
License: GPL
|
||||
URL: https://wiki.koozali.org/Autodiscover
|
||||
Source: %{name}-%{version}.tar.xz
|
||||
BuildArch: noarch
|
||||
BuildRequires: e-smith-devtools
|
||||
|
||||
%description
|
||||
Koozali SME Server autodiscovery
|
||||
configure your mail client with ease.
|
||||
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
%build
|
||||
perl createlinks
|
||||
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
(cd root ; find . -depth -print | cpio -dump %{buildroot})
|
||||
/sbin/e-smith/genfilelist %{buildroot} \
|
||||
--dir '/var/www/Autodiscover/' 'attr(0750,root,www)' \
|
||||
> %{name}-%{version}-%{release}-filelist
|
||||
|
||||
|
||||
|
||||
%files -f %{name}-%{version}-%{release}-filelist
|
||||
%defattr(-,root,root)
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Sep 07 2024 cvs2git.sh aka Brian Read <brianr@koozali.org> 1.0.0-1.sme
|
||||
- Roll up patches and move to git repo [SME: 12338]
|
||||
|
||||
* Sat Sep 07 2024 BogusDateBot
|
||||
- Eliminated rpmbuild "bogus date" warnings due to inconsistent weekday,
|
||||
by assuming the date is correct and changing the weekday.
|
||||
|
||||
* Wed Jul 13 2022 Jean-Philippe Pialasse <tests@pialasse.com> 1.0.0-1.sme
|
||||
- initial release [SME: 10842]
|
||||
|
Loading…
Reference in New Issue
Block a user