diff --git a/pisi-index.xml b/pisi-index.xml index f52bad8552..39df91d04d 100644 --- a/pisi-index.xml +++ b/pisi-index.xml @@ -18683,6 +18683,147 @@ + + + postfix + http://www.postfix.com/ + + PisiLinux Community + admins@pisilinux.org + + IPL-1 + service + server + A fast and secure drop-in replacement for sendmail + Hızlı ve güvenli bir e-posta sunucusu + Postfix is Wietse Venema's mailer that started life as an alternative to the widely-used Sendmail program. + Postfix, Wietse Venema tarafından yazılmış, sendmail a alternatif güçlü bir e-posta sunucusudur. + http://de.postfix.org/ftpmirror/official/postfix-3.1.0.tar.gz + + db-devel + libpcre-devel + openssl-devel + mariadb-lib + cyrus-sasl-devel + openldap-client + postgresql-lib + mit-kerberos + + + postfix-large-fs.patch + + server/postfix/pspec.xml + + + postfix + + db + pam + zlib + libpcre + openssl + mariadb-lib + cyrus-sasl + bind-libs + openldap-client + postgresql-lib + mit-kerberos + comar-api + + + /etc + /usr/bin + /usr/sbin + /usr/lib + /var + /usr/share/man + /usr/share/doc/postfix/AAAREADME + /usr/share/doc/postfix/COMPATIBILITY + /usr/share/doc/postfix/HISTORY + /usr/share/doc/postfix/LICENSE + /usr/share/doc/postfix/RELEASE_NOTES + /usr/share/doc/postfix/defaults + + + System.Package + System.Service + + + smtpd.conf + saslpass + main.cf + mkcert.sh + aliases + mailcap + smtp.pam + common.pam + common.pam + bounce.cf.tr + + + + postfix-docs + Help files for postfix package + Postfix paketine ait yardım dosyaları + + postfix + + + /usr/share/doc + + + + + 2016-02-27 + 3.1.0 + Version bump. + Kamil Atlı + suvari@pisilinux.org + + + 2015-01-31 + 2.11.3 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-06-14 + 2.9.5 + Rebuild for gcc. + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-02-20 + 2.9.5 + Rebuild for Mariadb. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-01-11 + 2.9.5 + rebuild for cyrus-sasl + Kamil Atlı + suvarice@gmail.com + + + 2013-08-17 + 2.9.5 + Dep Fixed + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-01-05 + 2.9.5 + First release + Erdinç Gültekin + admins@pisilinux.org + + + libvncserver diff --git a/pisi-index.xml.sha1sum b/pisi-index.xml.sha1sum index a51cede753..bb7f83dc5b 100644 --- a/pisi-index.xml.sha1sum +++ b/pisi-index.xml.sha1sum @@ -1 +1 @@ -70cb0c90163b7c2b062667037a98ee89e627c591 \ No newline at end of file +01179d53615207bdc5a3a169f4609765171454fc \ No newline at end of file diff --git a/pisi-index.xml.xz b/pisi-index.xml.xz index d5eabc33cb..5df89aff78 100644 Binary files a/pisi-index.xml.xz and b/pisi-index.xml.xz differ diff --git a/pisi-index.xml.xz.sha1sum b/pisi-index.xml.xz.sha1sum index 71957f6e89..13bcba9e44 100644 --- a/pisi-index.xml.xz.sha1sum +++ b/pisi-index.xml.xz.sha1sum @@ -1 +1 @@ -28bbe5f6ca03a3cf2a51223ea56b8d4f21e1f73f \ No newline at end of file +6b514aec897825bcc9aa32b4ba346a4a19694578 \ No newline at end of file diff --git a/server/postfix/actions.py b/server/postfix/actions.py new file mode 100644 index 0000000000..3e8744250f --- /dev/null +++ b/server/postfix/actions.py @@ -0,0 +1,86 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def setup(): + pisitools.dosed("src/util/sys_defs.h", "hash:\/etc\/aliases", "hash:/etc/mail/aliases") + +def build(): + cc_args = "-DHAS_PCRE -DHAS_MYSQL -I/usr/include/mysql -DHAS_PGSQL -I/usr/include/postgresql \ + -DUSE_TLS -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl -DHAS_LDAP -fPIC" + cc_libs = "-pie -Wl,-z,relro -Wl,-z,now -L/usr/lib -lpcre -lcrypt -lpthread -lpam -lssl -lcrypto -lsasl2 -lmysqlclient -lpq -lm -lz -lldap -llber" + + # Default paths + pisitools.dosed("src/global/mail_params.h", \ + "#define DEF_README_DIR\s+\"no\"", \ + "#define DEF_README_DIR \"/usr/share/doc/%s/readme\"" % get.srcNAME()) + + pisitools.dosed("src/global/mail_params.h", \ + "#define DEF_HTML_DIR\s+\"no\"", \ + "#define DEF_HTML_DIR \"/usr/share/doc/%s/html\"" % get.srcNAME()) + + pisitools.dosed("src/global/mail_params.h", \ + "#define DEF_MANPAGE_DIR\s+\"/usr/local/man\"", \ + "#define DEF_MANPAGE_DIR \"/usr/share/man\"") + + pisitools.dosed("src/util/sys_defs.h", \ + "#define NATIVE_DAEMON_DIR \"/usr/libexec/postfix\"", \ + "#define NATIVE_DAEMON_DIR \"/usr/lib/postfix\"") + + autotools.make('CC=%s \ + OPT="%s" \ + CCARGS="%s" \ + AUXLIBS="%s" makefiles' % (get.CC(), get.CFLAGS(), cc_args, cc_libs)) + + autotools.make() + +def install(): + shelltools.system('/bin/sh postfix-install \ + -non-interactive \ + install_root="%(installDIR)s" \ + config_directory="/usr/share/doc/%(srcNAME)s/defaults" \ + readme_directory="/usr/share/doc/%(srcNAME)s/readme" \ + ' % {'installDIR': get.installDIR(), 'srcNAME': get.srcNAME()}) + + pisitools.removeDir("/var/") + + # lets make dirs + pisitools.dodir("/var/spool/postfix/") + pisitools.dodir("/etc/mail/") + pisitools.dodir("/etc/postfix/") + pisitools.dodir("/var/spool/mail/") + pisitools.dodir("/var/lib/postfix") + pisitools.dosym("/var/spool/mail", "/var/mail") + + # qshape comes + pisitools.dosbin("auxiliary/qshape/qshape.pl") + pisitools.rename("/usr/sbin/qshape.pl", "qshape") + + # legacy FSH + pisitools.dosym("/usr/sbin/sendmail", "/usr/lib/sendmail") + + # performance tuning tools. + pisitools.dosbin("bin/smtp-source") + pisitools.dosbin("bin/smtp-sink") + pisitools.dosbin("bin/qmqp-source") + pisitools.dosbin("bin/qmqp-sink") + pisitools.doman("man/man1/smtp-source.1") + pisitools.doman("man/man1/smtp-sink.1") + pisitools.doman("man/man1/qmqp-source.1") + pisitools.doman("man/man1/qmqp-sink.1") + + # Move some files + pisitools.domove("/usr/share/doc/%s/defaults/master.cf" % get.srcNAME(), "/etc/postfix/") + + # Docs + pisitools.insinto("/usr/share/doc/%s/" % get.srcNAME(), "html/") + pisitools.insinto("/usr/share/doc/%s/" % get.srcNAME(), "examples/") + for s in ["*README", "COMPATIBILITY", "HISTORY", "LICENSE", "RELEASE_NOTES"]: + pisitools.insinto("/usr/share/doc/%s/" % get.srcNAME(), s) diff --git a/server/postfix/comar/package.py b/server/postfix/comar/package.py new file mode 100644 index 0000000000..675bc79bf8 --- /dev/null +++ b/server/postfix/comar/package.py @@ -0,0 +1,17 @@ +#!/usr/bin/python + +import os + +def postInstall(fromVersion, fromRelease, toVersion, toRelease): + if not os.path.exists("/etc/mail/aliases.db"): + os.system("/usr/bin/newaliases") + + os.system("/bin/chown root:postdrop /usr/sbin/postdrop") + os.system("/bin/chown root:postdrop /usr/sbin/postqueue") + os.system("/bin/chown root:mail /var/spool/mail") + os.system("/bin/chown postfix:postfix /var/lib/postfix") + os.system("/bin/chmod 02711 /usr/sbin/postdrop") + os.system("/bin/chmod 02711 /usr/sbin/postqueue") + os.system("/bin/chmod 0755 /var/spool/mail") + os.system("/bin/chmod 0600 /etc/postfix/saslpass") + os.system("/usr/sbin/postfix check") diff --git a/server/postfix/comar/service.py b/server/postfix/comar/service.py new file mode 100644 index 0000000000..ed3683b072 --- /dev/null +++ b/server/postfix/comar/service.py @@ -0,0 +1,24 @@ +from comar.service import * + +serviceType = "server" +serviceDesc = _({"en": "Postfix Mail Server", + "tr": "Postfix E-Posta Sunucusu"}) + +@synchronized +def start(): + startService(command="/usr/sbin/postfix", + args="start", + donotify=True) + +@synchronized +def stop(): + stopService(command="/usr/sbin/postfix", + args="stop", + donotify=True) + +def reload(): + stopService(command="/usr/sbin/postfix", + args="reload") + +def status(): + return isServiceRunning(command="/usr/lib/postfix/master") diff --git a/server/postfix/files/aliases b/server/postfix/files/aliases new file mode 100644 index 0000000000..df6aa1f9dc --- /dev/null +++ b/server/postfix/files/aliases @@ -0,0 +1,32 @@ +# Basic system aliases -- these MUST be present. +MAILER-DAEMON: postmaster +postmaster: root + +# General redirections for pseudo accounts. +adm: root +bin: root +daemon: root +exim: root +lp: root +mail: root +named: root +nobody: root +postfix: root + +# Well-known aliases -- these should be filled in! +# root: +# operator: + +# Standard RFC2142 aliases +abuse: postmaster +ftp: root +hostmaster: root +news: usenet +noc: root +security: root +usenet: root +webmaster: root +www: webmaster + +# trap decode to catch security attacks +# decode: /dev/null diff --git a/server/postfix/files/bounce.cf.tr b/server/postfix/files/bounce.cf.tr new file mode 100644 index 0000000000..33fa60b64f --- /dev/null +++ b/server/postfix/files/bounce.cf.tr @@ -0,0 +1,113 @@ +# +# Do not edit this file. This file shows the default delivery status +# notification (DSN) messages that are built into Postfix. +# +# To change Postfix DSN messages, perhaps to add non-English text, +# follow instructions in the bounce(5) manual page. +# + +# +# The failure template is used when mail is returned to the sender; +# either the destination rejected the message, or the destination +# could not be reached before the message expired in the queue. +# + +failure_template = <Firstname.Lastname mapping. + +# ADDRESS REDIRECTION (VIRTUAL DOMAIN) +# +# The VIRTUAL_README document gives information about the many forms +# of domain hosting that Postfix supports. + +# "USER HAS MOVED" BOUNCE MESSAGES +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# TRANSPORT MAP +# +# See the discussion in the ADDRESS_REWRITING_README document. + +# ALIAS DATABASE +# +# The alias_maps parameter specifies the list of alias databases used +# by the local delivery agent. The default list is system dependent. +# +# On systems with NIS, the default is to search the local alias +# database, then the NIS alias database. See aliases(5) for syntax +# details. +# +# If you change the alias database, run "postalias /etc/aliases" (or +# wherever your system stores the mail alias file), or simply run +# "newaliases" to build the necessary DBM or DB file. +# +# It will take a minute or so before changes become visible. Use +# "postfix reload" to eliminate the delay. +# +#alias_maps = dbm:/etc/aliases +alias_maps = hash:/etc/mail/aliases +#alias_maps = hash:/etc/aliases, nis:mail.aliases +#alias_maps = netinfo:/aliases + +# The alias_database parameter specifies the alias database(s) that +# are built with "newaliases" or "sendmail -bi". This is a separate +# configuration parameter, because alias_maps (see above) may specify +# tables that are not necessarily all under control by Postfix. +# +#alias_database = dbm:/etc/aliases +#alias_database = dbm:/etc/mail/aliases +alias_database = hash:/etc/mail/aliases +#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases + +# ADDRESS EXTENSIONS (e.g., user+foo) +# +# The recipient_delimiter parameter specifies the separator between +# user names and address extensions (user+foo). See canonical(5), +# local(8), relocated(5) and virtual(5) for the effects this has on +# aliases, canonical, virtual, relocated and .forward file lookups. +# Basically, the software tries user+foo and .forward+foo before +# trying user and .forward. +# +#recipient_delimiter = + + +# DELIVERY TO MAILBOX +# +# The home_mailbox parameter specifies the optional pathname of a +# mailbox file relative to a user's home directory. The default +# mailbox file is /var/spool/mail/user or /var/mail/user. Specify +# "Maildir/" for qmail-style delivery (the / is required). +# +#home_mailbox = Mailbox +home_mailbox = Maildir/ + +# The mail_spool_directory parameter specifies the directory where +# UNIX-style mailboxes are kept. The default setting depends on the +# system type. +# +#mail_spool_directory = /var/mail +#mail_spool_directory = /var/spool/mail + +# The mailbox_command parameter specifies the optional external +# command to use instead of mailbox delivery. The command is run as +# the recipient with proper HOME, SHELL and LOGNAME environment settings. +# Exception: delivery for root is done as $default_user. +# +# Other environment variables of interest: USER (recipient username), +# EXTENSION (address extension), DOMAIN (domain part of address), +# and LOCAL (the address localpart). +# +# Unlike other Postfix configuration parameters, the mailbox_command +# parameter is not subjected to $parameter substitutions. This is to +# make it easier to specify shell syntax (see example below). +# +# Avoid shell meta characters because they will force Postfix to run +# an expensive shell process. Procmail alone is expensive enough. +# +# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN +# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER. +# + +#If Using Dovecot for delivery: +#mailbox_command = /usr/libexec/dovecot/deliver + +#mailbox_command = /some/where/procmail +#mailbox_command = /some/where/procmail -a "$EXTENSION" + +# The mailbox_transport specifies the optional transport in master.cf +# to use after processing aliases and .forward files. This parameter +# has precedence over the mailbox_command, fallback_transport and +# luser_relay parameters. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#mailbox_transport = lmtp:unix:/file/name +#mailbox_transport = cyrus + +# The fallback_transport specifies the optional transport in master.cf +# to use for recipients that are not found in the UNIX passwd database. +# This parameter has precedence over the luser_relay parameter. +# +# Specify a string of the form transport:nexthop, where transport is +# the name of a mail delivery transport defined in master.cf. The +# :nexthop part is optional. For more details see the sample transport +# configuration file. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must update the "local_recipient_maps" setting in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#fallback_transport = lmtp:unix:/file/name +#fallback_transport = cyrus +#fallback_transport = + +# The luser_relay parameter specifies an optional destination address +# for unknown recipients. By default, mail for unknown@$mydestination, +# unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned +# as undeliverable. +# +# The following expansions are done on luser_relay: $user (recipient +# username), $shell (recipient shell), $home (recipient home directory), +# $recipient (full recipient address), $extension (recipient address +# extension), $domain (recipient domain), $local (entire recipient +# localpart), $recipient_delimiter. Specify ${name?value} or +# ${name:value} to expand value only when $name does (does not) exist. +# +# luser_relay works only for the default Postfix local delivery agent. +# +# NOTE: if you use this feature for accounts not in the UNIX password +# file, then you must specify "local_recipient_maps =" (i.e. empty) in +# the main.cf file, otherwise the SMTP server will reject mail for +# non-UNIX accounts with "User unknown in local recipient table". +# +#luser_relay = $user@other.host +#luser_relay = $local@other.host +#luser_relay = admin+$local + +# JUNK MAIL CONTROLS +# +# The controls listed here are only a very small subset. The file +# SMTPD_ACCESS_README provides an overview. + +# The header_checks parameter specifies an optional table with patterns +# that each logical message header is matched against, including +# headers that span multiple physical lines. +# +# By default, these patterns also apply to MIME headers and to the +# headers of attached messages. With older Postfix versions, MIME and +# attached message headers were treated as body text. +# +# For details, see "man header_checks". +# +#header_checks = regexp:/etc/postfix/header_checks + +# FAST ETRN SERVICE +# +# Postfix maintains per-destination logfiles with information about +# deferred mail, so that mail can be flushed quickly with the SMTP +# "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld". +# See the ETRN_README document for a detailed description. +# +# The fast_flush_domains parameter controls what destinations are +# eligible for this service. By default, they are all domains that +# this server is willing to relay mail to. +# +#fast_flush_domains = $relay_domains + +# SHOW SOFTWARE VERSION OR NOT +# +# The smtpd_banner parameter specifies the text that follows the 220 +# code in the SMTP server's greeting banner. Some people like to see +# the mail version advertised. By default, Postfix shows no version. +# +# You MUST specify $myhostname at the start of the text. That is an +# RFC requirement. Postfix itself does not care. +# +smtpd_banner = $myhostname ESMTP $mail_name +#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version) + +#SSL/TLS Options (You can use mkselfsigncert.sh script in /etc/postfix/ssl) +#smtpd_use_tls = yes +#smtpd_tls_key_file = /etc/postfix/ssl/smtpd.key +#smtpd_tls_cert_file = /etc/postfix/ssl/smtpd.cert +#smtpd_tls_CAfile = /etc/postfix/ssl/smtpd.pem + +# Enabling SASL authentication in the Postfix SMTP server +smtpd_sasl_auth_enable = yes +broken_sasl_auth_clients = yes +smtpd_sasl_security_options = noanonymous +smtpd_recipient_restrictions = permit_sasl_authenticated + permit_mynetworks + reject_unauth_destination + reject_rbl_client sbl.spamhaus.org + reject_rbl_client opm.blitzed.org + reject_rbl_client dnsbl.njabl.org + reject_rbl_client blackholes.wirehub.net + +# PARALLEL DELIVERY TO THE SAME DESTINATION +# +# How many parallel deliveries to the same user or domain? With local +# delivery, it does not make sense to do massively parallel delivery +# to the same user, because mailbox updates must happen sequentially, +# and expensive pipelines in .forward files can cause disasters when +# too many are run at the same time. With SMTP deliveries, 10 +# simultaneous connections to the same domain could be sufficient to +# raise eyebrows. +# +# Each message delivery transport has its XXX_destination_concurrency_limit +# parameter. The default is $default_destination_concurrency_limit for +# most delivery transports. For the local delivery agent the default is 2. + +#local_destination_concurrency_limit = 2 +#default_destination_concurrency_limit = 20 + +# DEBUGGING CONTROL +# +# The debug_peer_level parameter specifies the increment in verbose +# logging level when an SMTP client or server host name or address +# matches a pattern in the debug_peer_list parameter. +# +debug_peer_level = 2 + +# The debug_peer_list parameter specifies an optional list of domain +# or network patterns, /file/name patterns or type:name tables. When +# an SMTP client or server host name or address matches a pattern, +# increase the verbose logging level by the amount specified in the +# debug_peer_level parameter. +# +#debug_peer_list = 127.0.0.1 +#debug_peer_list = some.domain + +# The debugger_command specifies the external command that is executed +# when a Postfix daemon program is run with the -D option. +# +# Use "command .. & sleep 5" so that the debugger can attach before +# the process marches on. If you use an X-based debugger, be sure to +# set up your XAUTHORITY environment variable before starting Postfix. +# +debugger_command = + PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin + xxgdb $daemon_directory/$process_name $process_id & sleep 5 + +# If you can't use X, use this to capture the call stack when a +# daemon crashes. The result is in a file in the configuration +# directory, and is named after the process name and the process ID. +# +# debugger_command = +# PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; +# echo where) | gdb $daemon_directory/$process_name $process_id 2>&1 +# >$config_directory/$process_name.$process_id.log & sleep 5 +# +# Another possibility is to run gdb under a detached screen session. +# To attach to the screen sesssion, su root and run "screen -r +# " where uniquely matches one of the detached +# sessions (from "screen -list"). +# +# debugger_command = +# PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen +# -dmS $process_name gdb $daemon_directory/$process_name +# $process_id & sleep 1 + +# INSTALL-TIME CONFIGURATION INFORMATION +# +# The following parameters are used when installing a new Postfix version. +# +# sendmail_path: The full pathname of the Postfix sendmail command. +# This is the Sendmail-compatible mail posting interface. +# +sendmail_path = /usr/sbin/sendmail + +# newaliases_path: The full pathname of the Postfix newaliases command. +# This is the Sendmail-compatible command to build alias databases. +# +newaliases_path = /usr/bin/newaliases + +# mailq_path: The full pathname of the Postfix mailq command. This +# is the Sendmail-compatible mail queue listing command. +# +mailq_path = /usr/bin/mailq + +# setgid_group: The group for mail submission and queue management +# commands. This must be a group name with a numerical group ID that +# is not shared with other accounts, not even with the Postfix account. +# +setgid_group = postdrop + +# html_directory: The location of the Postfix HTML documentation. +# + +html_directory = /usr/share/doc/postfix/html + +# manpage_directory: The location of the Postfix on-line manual pages. +# +manpage_directory = /usr/share/man + +# sample_directory: The location of the Postfix sample configuration files. +# This parameter is obsolete as of Postfix 2.1. +# +sample_directory = /etc/postfix + +# readme_directory: The location of the Postfix README files. +# +readme_directory = /usr/share/doc/postfix/readme diff --git a/server/postfix/files/mkcert.sh b/server/postfix/files/mkcert.sh new file mode 100644 index 0000000000..df4cf8f819 --- /dev/null +++ b/server/postfix/files/mkcert.sh @@ -0,0 +1,89 @@ +#!/bin/sh + +# Accept one parameter as output file names +# Generates a self-signed certificate. +# Edit EOF section before running + +if [ $# -ne 1 ] +then + echo -e "\nUse with a single name paramater for output files will be generated into current folder.\nAnd don't forget to edit [ req_dn ] section in script.\n" + echo -e "Example:\n\n./mkcert.sh foo\n\n" + exit 1 +fi + +OPENSSL=openssl +DIR=`pwd` +CONFIG=$1-ssl.config + +CERTDIR=$SSLDIR +KEYDIR=$SSLDIR + +CERTFILE=$DIR/$1.cert +KEYFILE=$DIR/$1.key +REQFILE=$DIR/$1.req + +KEYBITS=1024 +DAYS=3650 + +if [ ! -f $CONFIG ]; then + cat > $CONFIG << EOF +[ req ] +default_bits = 1024 +encrypt_key = yes +distinguished_name = req_dn +x509_extensions = cert_type +prompt = no + +[ req_dn ] +# country (2 letter code) +C=XY + +# State or Province Name (full name) +ST=SomeState + +# Locality Name (eg. city) +L=SomeCity + +# Organization (eg. company) +O=SomeCompany + +# Organizational Unit Name (eg. section) +OU=PisiLinux + +# Common Name (*.example.com is also possible) +CN=mail.example.com + +# E-mail contact +#emailAddress=admin@example.com + +[ cert_type ] +nsCertType = server +EOF +fi + +if [ -f $CERTFILE ]; then + echo "$CERTFILE already exists, won't overwrite" + exit 1 +fi + +if [ -f $KEYFILE ]; then + echo "$KEYFILE already exists, won't overwrite" + exit 1 +fi + +#Generate key. Use -des3 for password protected key. +$OPENSSL genrsa -out $KEYFILE $KEYBITS +chmod 0600 $KEYFILE + +#Unmask password protected key +#mv $KEYFILE $KEYFILE.orig +#$OPENSSL rsa -in $KEYFILE.orig -out $KEYFILE + +#Generate request file +$OPENSSL req -new -key $KEYFILE -out $REQFILE -config $CONFIG + +#Generate self signed certificate +$OPENSSL x509 -req -days $DAYS -in $REQFILE -signkey $KEYFILE -out $CERTFILE + +#Verify +$OPENSSL x509 -subject -fingerprint -noout -in $CERTFILE || exit 2 diff --git a/server/postfix/files/postfix-alternatives.patch b/server/postfix/files/postfix-alternatives.patch new file mode 100644 index 0000000000..5de525c15a --- /dev/null +++ b/server/postfix/files/postfix-alternatives.patch @@ -0,0 +1,22 @@ +Changing the postfix-files config file won't work right on upgrades because +it's a noreplace configuration (the new version with the right paths in it is +installed as postfix-files.rpmnew), so we just munge the post-install script. +--- postfix-1.1.3/conf/post-install Thu Feb 28 16:15:08 2002 ++++ postfix-1.1.3/conf/post-install Thu Feb 28 16:14:54 2002 +@@ -429,6 +429,16 @@ + case $path in + no|no/*) continue;; + esac ++ # Munge paths for alternatives. ++ case $path in ++ /usr/bin/mailq) path=$path.postfix ;; ++ /usr/bin/newaliases) path=$path.postfix ;; ++ /usr/bin/rmail) path=$path.postfix ;; ++ /usr/sbin/sendmail) path=$path.postfix ;; ++ /usr/share/man/man1/mailq.1.gz) path=/usr/share/man/man1/mailq.postfix.1.gz ;; ++ /usr/share/man/man1/newaliases.1.gz) path=/usr/share/man/man1/newaliases.postfix.1.gz ;; ++ /usr/share/man/man5/aliases.5.gz) path=/usr/share/man/man5/aliases.postfix.5.gz ;; ++ esac + # Pick up the flags. + case $flags in *u*) upgrade_flag=1;; *) upgrade_flag=;; esac + case $flags in *c*) create_flag=1;; *) create_flag=;; esac diff --git a/server/postfix/files/postfix-large-fs.patch b/server/postfix/files/postfix-large-fs.patch new file mode 100644 index 0000000000..0721c02c18 --- /dev/null +++ b/server/postfix/files/postfix-large-fs.patch @@ -0,0 +1,35 @@ +diff -up postfix-2.5.5/src/util/sys_defs.h.large-fs postfix-2.5.5/src/util/sys_defs.h +--- postfix-2.5.5/src/util/sys_defs.h.large-fs 2008-01-15 01:51:44.000000000 +0100 ++++ postfix-2.5.5/src/util/sys_defs.h 2008-10-21 17:55:29.000000000 +0200 +@@ -709,8 +709,8 @@ extern int initgroups(const char *, int) + #define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0) + #define ROOT_PATH "/bin:/usr/bin:/sbin:/usr/sbin" + #define FIONREAD_IN_TERMIOS_H +-#define USE_STATFS +-#define STATFS_IN_SYS_VFS_H ++#define USE_STATVFS ++#define STATVFS_IN_SYS_STATVFS_H + #define PREPEND_PLUS_TO_OPTSTRING + #define HAS_POSIX_REGEXP + #define NATIVE_SENDMAIL_PATH "/usr/sbin/sendmail" +diff -up postfix-2.5.5/src/util/fsspace.c.large-fs postfix-2.5.5/src/util/fsspace.c +--- postfix-2.5.5/src/util/fsspace.c.large-fs 2006-06-15 20:07:16.000000000 +0200 ++++ postfix-2.5.5/src/util/fsspace.c 2008-10-21 17:56:29.000000000 +0200 +@@ -91,8 +91,15 @@ void fsspace(const char *path, struct + + if (statvfs(path, &fsbuf) < 0) + msg_fatal("statvfs %s: %m", path); +- sp->block_size = fsbuf.f_frsize; +- sp->block_free = fsbuf.f_bavail; ++ if (fsbuf.f_frsize > 0) ++ sp->block_size = fsbuf.f_frsize; ++ else ++ sp->block_size = fsbuf.f_bsize; ++ /* 4G of FS blocks is surely enough space to put a mail in */ ++ sp->block_free = 0; ++ sp->block_free = ~sp->block_free; ++ if (fsbuf.f_bavail < sp->block_free) ++ sp->block_free = fsbuf.f_bavail; + #endif + if (msg_verbose) + msg_info("%s: %s: block size %lu, blocks free %lu", diff --git a/server/postfix/files/saslpass b/server/postfix/files/saslpass new file mode 100644 index 0000000000..ed77b5af00 --- /dev/null +++ b/server/postfix/files/saslpass @@ -0,0 +1 @@ +# remotehost user:password diff --git a/server/postfix/files/smtp.pam b/server/postfix/files/smtp.pam new file mode 100644 index 0000000000..819e1ccfc7 --- /dev/null +++ b/server/postfix/files/smtp.pam @@ -0,0 +1,4 @@ +#%PAM-1.0 + +auth include system-auth +account include system-auth diff --git a/server/postfix/files/smtpd.conf b/server/postfix/files/smtpd.conf new file mode 100644 index 0000000000..33c1f23fe4 --- /dev/null +++ b/server/postfix/files/smtpd.conf @@ -0,0 +1,2 @@ +pwcheck_method: saslauthd +mech_list: PLAIN LOGIN diff --git a/server/postfix/pspec.xml b/server/postfix/pspec.xml new file mode 100644 index 0000000000..37d8c97de5 --- /dev/null +++ b/server/postfix/pspec.xml @@ -0,0 +1,142 @@ + + + + + postfix + http://www.postfix.com/ + + PisiLinux Community + admins@pisilinux.org + + IPL-1 + service + A fast and secure drop-in replacement for sendmail + Postfix is Wietse Venema's mailer that started life as an alternative to the widely-used Sendmail program. + http://de.postfix.org/ftpmirror/official/postfix-3.1.0.tar.gz + + db-devel + libpcre-devel + openssl-devel + mariadb-lib + cyrus-sasl-devel + openldap-client + postgresql-lib + mit-kerberos + + + + postfix-large-fs.patch + + + + + postfix + + db + pam + zlib + libpcre + openssl + mariadb-lib + cyrus-sasl + bind-libs + openldap-client + postgresql-lib + mit-kerberos + comar-api + + + /etc + /usr/bin + /usr/sbin + /usr/lib + /var + /usr/share/man + /usr/share/doc/postfix/AAAREADME + /usr/share/doc/postfix/COMPATIBILITY + /usr/share/doc/postfix/HISTORY + /usr/share/doc/postfix/LICENSE + /usr/share/doc/postfix/RELEASE_NOTES + /usr/share/doc/postfix/defaults + + + smtpd.conf + saslpass + main.cf + mkcert.sh + aliases + mailcap + smtp.pam + common.pam + common.pam + bounce.cf.tr + + + System.Package + System.Service + + + + + postfix-docs + Help files for postfix package + + postfix + + + /usr/share/doc + + + + + + 2016-02-27 + 3.1.0 + Version bump. + Kamil Atlı + suvari@pisilinux.org + + + 2015-01-31 + 2.11.3 + Version bump. + Hakan Yıldız + hknyldz93@gmail.com + + + 2014-06-14 + 2.9.5 + Rebuild for gcc. + Osman Erkan + osman.erkan@pisilinux.org + + + 2014-02-20 + 2.9.5 + Rebuild for Mariadb. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-01-11 + 2.9.5 + rebuild for cyrus-sasl + Kamil Atlı + suvarice@gmail.com + + + 2013-08-17 + 2.9.5 + Dep Fixed + Osman Erkan + osman.erkan@pisilinux.org + + + 2013-01-05 + 2.9.5 + First release + Erdinç Gültekin + admins@pisilinux.org + + + diff --git a/server/postfix/translations.xml b/server/postfix/translations.xml new file mode 100644 index 0000000000..bfe78762e5 --- /dev/null +++ b/server/postfix/translations.xml @@ -0,0 +1,13 @@ + + + + postfix + Hızlı ve güvenli bir e-posta sunucusu + Postfix, Wietse Venema tarafından yazılmış, sendmail a alternatif güçlü bir e-posta sunucusudur. + + + + postfix-docs + Postfix paketine ait yardım dosyaları + +