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ı
+
+