diff --git a/component/postfix/buildout.cfg b/component/postfix/buildout.cfg
index 1fe44a0779452b808d3cd9551e9d3eb483530c9a..3c7a12a4b02cb50138de8f904913df2015977999 100644
--- a/component/postfix/buildout.cfg
+++ b/component/postfix/buildout.cfg
@@ -12,19 +12,19 @@ recipe = hexagonit.recipe.download
 url =${:_profile_base_location_}/${:filename}
 filename = ${:_buildout_section_name_}
 download-only = true
-md5sum = a476856bb1a4ee2ab03963acac03cd1d
+md5sum = fbc07aeab024b86adf3b073fc7e00888
 
 [skip-libdb-check.patch]
 recipe = hexagonit.recipe.download
 url =${:_profile_base_location_}/${:filename}
 filename = ${:_buildout_section_name_}
 download-only = true
-md5sum = 55751726c33d75ab31827bf5e4f4be5d
+md5sum = f7fdbd8787874b535fee548b0139c0d8
 
 [postfix]
 recipe = slapos.recipe.cmmi
-url = ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.10.0.tar.gz
-md5sum = b2a563b2d5c53462952886e6fc4e4b7b
+url = ftp://ftp.porcupine.org/mirrors/postfix-release/official/postfix-2.11.1.tar.gz
+md5sum = 56ac1f1a79737c4ac1e24535a122a4a6
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 patch-options = -p1
 patches =
diff --git a/component/postfix/noroot.patch b/component/postfix/noroot.patch
index afbd6ba8fec3c010568b9aab0e2f914fa9c56df1..e8851c51d5f206d349381c0f6a55c1e47586bc12 100644
--- a/component/postfix/noroot.patch
+++ b/component/postfix/noroot.patch
@@ -1,40 +1,8 @@
---- a/src/util/set_ugid.c
-+++ b/src/util/set_ugid.c
-@@ -44,7 +44,7 @@
-
- void    set_ugid(uid_t uid, gid_t gid)
- {
--    int     saved_errno = errno;
-+/*    int     saved_errno = errno;
-
-     if (geteuid() != 0)
-        if (seteuid(0) < 0)
-@@ -58,4 +58,4 @@ void    set_ugid(uid_t uid, gid_t gid)
-     if (msg_verbose > 1)
-        msg_info("setugid: uid %ld gid %ld", (long) uid, (long) gid);
-     errno = saved_errno;
--}
-+*/}
---- a/src/postfix/postfix.c
-+++ b/src/postfix/postfix.c
-@@ -448,12 +448,12 @@ int     main(int argc, char **argv)
-      * privileges for selected operations. That's right - it takes privileges
-      * to toss privileges.
-      */
--    if (getuid() != 0) {
-+    /*if (getuid() != 0) {
- 	msg_error("to submit mail, use the Postfix sendmail command");
- 	msg_fatal("the postfix command is reserved for the superuser");
-     }
-     if (unsafe() != 0)
--	msg_fatal("the postfix command must not run as a set-uid process");
-+	msg_fatal("the postfix command must not run as a set-uid process");*/
- 
-     /*
-      * Parse switches.
+diff --git a/src/global/mail_params.c b/src/global/mail_params.c
+index 2d91977..0f06298 100644
 --- a/src/global/mail_params.c
 +++ b/src/global/mail_params.c
-@@ -709,7 +709,9 @@ void    mail_params_init()
+@@ -721,7 +721,9 @@ void    mail_params_init()
      check_default_privs();
      check_mail_owner();
      check_sgid_group();
@@ -44,6 +12,8 @@
  #ifdef HAS_DB
      dict_db_cache_size = var_db_read_buf;
  #endif
+diff --git a/src/master/master.c b/src/master/master.c
+index a9d5d1b..6afce2e 100644
 --- a/src/master/master.c
 +++ b/src/master/master.c
 @@ -315,10 +315,10 @@ int     main(int argc, char **argv)
@@ -52,13 +22,34 @@
       */
 -    if (getuid() != 0)
 +    /*if (getuid() != 0)
-        msg_fatal("the master command is reserved for the superuser");
+ 	msg_fatal("the master command is reserved for the superuser");
      if (unsafe() != 0)
--       msg_fatal("the master command must not run as a set-uid process");
-+       msg_fatal("the master command must not run as a set-uid process");*/
+-	msg_fatal("the master command must not run as a set-uid process");
++	msg_fatal("the master command must not run as a set-uid process");*/
  
      /*
       * Process JCL.
+diff --git a/src/postfix/postfix.c b/src/postfix/postfix.c
+index 183c825..007c805 100644
+--- a/src/postfix/postfix.c
++++ b/src/postfix/postfix.c
+@@ -450,12 +450,12 @@ int     main(int argc, char **argv)
+      * privileges for selected operations. That's right - it takes privileges
+      * to toss privileges.
+      */
+-    if (getuid() != 0) {
++    /*if (getuid() != 0) {
+ 	msg_error("to submit mail, use the Postfix sendmail command");
+ 	msg_fatal("the postfix command is reserved for the superuser");
+     }
+     if (unsafe() != 0)
+-	msg_fatal("the postfix command must not run as a set-uid process");
++	msg_fatal("the postfix command must not run as a set-uid process");*/
+ 
+     /*
+      * Parse switches.
+diff --git a/src/postsuper/postsuper.c b/src/postsuper/postsuper.c
+index 9dabb5d..e678565 100644
 --- a/src/postsuper/postsuper.c
 +++ b/src/postsuper/postsuper.c
 @@ -1150,10 +1150,10 @@ int     main(int argc, char **argv)
@@ -67,10 +58,29 @@
       */
 -    if (unsafe() != 0)
 +    /*if (unsafe() != 0)
-        msg_fatal("this postfix command must not run as a set-uid process");
+ 	msg_fatal("this postfix command must not run as a set-uid process");
      if (getuid())
--       msg_fatal("use of this command is reserved for the superuser");
-+       msg_fatal("use of this command is reserved for the superuser");*/
+-	msg_fatal("use of this command is reserved for the superuser");
++	msg_fatal("use of this command is reserved for the superuser");*/
  
      /*
       * Parse JCL.
+diff --git a/src/util/set_ugid.c b/src/util/set_ugid.c
+index bbcb901..5a7a48b 100644
+--- a/src/util/set_ugid.c
++++ b/src/util/set_ugid.c
+@@ -44,7 +44,7 @@
+ 
+ void    set_ugid(uid_t uid, gid_t gid)
+ {
+-    int     saved_errno = errno;
++/*    int     saved_errno = errno;
+ 
+     if (geteuid() != 0)
+ 	if (seteuid(0) < 0)
+@@ -58,4 +58,4 @@ void    set_ugid(uid_t uid, gid_t gid)
+     if (msg_verbose > 1)
+ 	msg_info("setugid: uid %ld gid %ld", (long) uid, (long) gid);
+     errno = saved_errno;
+-}
++*/}
diff --git a/component/postfix/skip-libdb-check.patch b/component/postfix/skip-libdb-check.patch
index 7f87d8dd13164fce00965c4515418c667078d0df..339ed4dfc799641947329edffc636f79341b9b34 100644
--- a/component/postfix/skip-libdb-check.patch
+++ b/component/postfix/skip-libdb-check.patch
@@ -1,16 +1,13 @@
- makedefs | 24 ++++++++++++------------
- 1 file changed, 12 insertions(+), 12 deletions(-)
-
 diff --git a/makedefs b/makedefs
-index 93b5949..c1377d5 100644
+index dd5f256..e90880e 100644
 --- a/makedefs
 +++ b/makedefs
-@@ -284,13 +284,13 @@ case "$SYSTEM.$RELEASE" in
+@@ -299,13 +299,13 @@ case "$SYSTEM.$RELEASE" in
  		    elif [ -f /usr/include/db/db.h ]
  		    then
  			CCARGS="$CCARGS -I/usr/include/db"
 -		    else
-+		  #  else
++		    #else
  			# No, we're not going to try db1 db2 db3 etc.
  			# On a properly installed system, Postfix builds
  			# by including <db.h> and by linking with -ldb
@@ -23,12 +20,12 @@ index 93b5949..c1377d5 100644
  		    fi
  		    SYSLIBS="-ldb"
  		    ;;
-@@ -356,12 +356,12 @@ EOF
+@@ -372,12 +372,12 @@ EOF
  		    elif [ -f /usr/include/db/db.h ]
  		    then
  			CCARGS="$CCARGS -I/usr/include/db"
 -		    else
-+		  #  else
++		    #else
  			# On a properly installed system, Postfix builds
  			# by including <db.h> and by linking with -ldb
 -			echo "No <db.h> include file found." 1>&2
@@ -40,12 +37,12 @@ index 93b5949..c1377d5 100644
  		    fi
  		    SYSLIBS="-ldb"
  		    ;;
-@@ -387,12 +387,12 @@ EOF
+@@ -403,12 +403,12 @@ EOF
  		    elif [ -f /usr/include/db/db.h ]
  		    then
  			CCARGS="$CCARGS -I/usr/include/db"
 -		    else
-+		  #  else
++		    #else
  			# On a properly installed system, Postfix builds
  			# by including <db.h> and by linking with -ldb
 -			echo "No <db.h> include file found." 1>&2
@@ -57,7 +54,3 @@ index 93b5949..c1377d5 100644
  		    fi
  		    SYSLIBS="-ldb"
  		    ;;
--- 
-1.7.11.3
-
-
diff --git a/software/postfix/development.cfg b/software/postfix/development.cfg
index 64590e5a6f8bbcbad357daf7f911fd6029bbb132..ac1d0712c9ec21c012841be8478bd7902cff1629 100644
--- a/software/postfix/development.cfg
+++ b/software/postfix/development.cfg
@@ -21,7 +21,7 @@ develop =
 [slapos.cookbook-repository]
 recipe = slapos.recipe.build:gitclone
 repository = http://git.erp5.org/repos/slapos.git
-branch = postfix
+branch = erp5-postfix
 git-executable = ${git:location}/bin/git
 
 [check-recipe]
diff --git a/software/postfix/instance.cfg b/software/postfix/instance.cfg
index 3ed665203bf6835bad014956973ae1989a0fd379..6b7baf711613c4d73fc01824d2ea29ecdafb13ca 100644
--- a/software/postfix/instance.cfg
+++ b/software/postfix/instance.cfg
@@ -2,7 +2,7 @@
 parts =
   directory
 
-  publish-connection-parameter
+#  publish-connection-parameter
 
 eggs-directory = ${buildout:eggs-directory}
 develop-eggs-directory = ${buildout:develop-eggs-directory}
@@ -50,6 +50,6 @@ command-line = $${:postfix-executable}
 wrapper-path = $${directory:service}/pickup
 
 
-[publish-connection-parameter]
-recipe = slapos.cookbook:publish
-name = Hello $${instance-parameter:configuration.name}!
+#[publish-connection-parameter]
+#recipe = slapos.cookbook:publish
+#name = Hello $${instance-parameter:configuration.name}!
diff --git a/software/postfix/software.cfg b/software/postfix/software.cfg
index 72910a2029ccc09f3c964efc085f4152a0025e5e..1fdbd0c3f4b3c63ca80aa5ceb4bfe7366b50a200 100644
--- a/software/postfix/software.cfg
+++ b/software/postfix/software.cfg
@@ -10,6 +10,7 @@ extends = common.cfg
 [networkcache]
 # signature certificates of the following uploaders.
 #   Cedric de Saint Martin
+#   Marco Mariani
 #   Test Agent
 signature-certificate-list =
   -----BEGIN CERTIFICATE-----
@@ -26,6 +27,19 @@ signature-certificate-list =
   If1a2ZoqHRxoNo2yTmm7TSYRORWVS+vvfjY=
   -----END CERTIFICATE-----
   -----BEGIN CERTIFICATE-----
+  MIIB9jCCAV+gAwIBAgIJAL9FOtBJZBqAMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
+  BAMMCENPTVAtOTIyMCAXDTEyMDkyNjE2MDkwM1oYDzIxMTIwOTAyMTYwOTAzWjAT
+  MREwDwYDVQQDDAhDT01QLTkyMjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
+  wlGVd6qOsc2xrtAQ5/rpflzS14/84SE/joaujMw2GGk6EFVSOcqKLq1TnHxkcCkv
+  nv1NYRPK/hpQOIKcGC1f+DvXXpMJI29R/rt2b2/y1oolxXonSVigBtCQlSyDoOFN
+  6LBX84CI5aYMvy3mqJCvfGEFBaPqze/PVugq9IpgZg0CAwEAAaNQME4wHQYDVR0O
+  BBYEFJ7HWyzVKkeSYnSK4FIwcdyng/tRMB8GA1UdIwQYMBaAFJ7HWyzVKkeSYnSK
+  4FIwcdyng/tRMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAZQWob2ki
+  ie6h90FgSctozXrotb8NIis2MtLIj+WonE0wSqYefxwBmAGjB9cfWz/sNamhM4rn
+  BP1A2ojVhF6hOE1qvTP5YxcGXOoYTrEQSuDF1hn12WlA4vqIAz1f+4CiMJNlXPwh
+  7N+X2kvRpHdXAHkBOxX3j34AeCZrSpu/yDQ=
+  -----END CERTIFICATE-----
+  -----BEGIN CERTIFICATE-----
   MIIB9jCCAV+gAwIBAgIJAKRvzcy7OH0UMA0GCSqGSIb3DQEBBQUAMBMxETAPBgNV
   BAMMCENPTVAtNzcyMCAXDTEyMDgxMDE1NDI1MVoYDzIxMTIwNzE3MTU0MjUxWjAT
   MREwDwYDVQQDDAhDT01QLTc3MjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
@@ -40,88 +54,3 @@ signature-certificate-list =
   -----END CERTIFICATE-----
 
 [versions]
-Flask-Auth = 0.85
-Jinja2 = 2.6
-Werkzeug = 0.8.3
-apache-libcloud = 0.11.4
-async = 0.6.1
-buildout-versions = 1.7
-cns.recipe.symlink = 0.2.3
-gitdb = 0.5.4
-hexagonit.recipe.cmmi = 1.6
-inotifyx = 0.2.0
-lxml = 3.0.1
-meld3 = 0.6.10
-netaddr = 0.7.10
-plone.recipe.command = 1.1
-pycrypto = 2.6
-pytz = 2012j
-slapos.cookbook = 0.71.1
-slapos.core = 0.34
-slapos.libnetworkcache = 0.13.3
-slapos.recipe.build = 0.11.5
-slapos.recipe.template = 2.4.2
-slapos.toolbox = 0.34.0
-smmap = 0.8.2
-xml-marshaller = 0.9.7
-z3c.recipe.scripts = 1.0.1
-
-# Required by:
-# slapos.core==0.34
-# slapos.toolbox==0.34.0
-Flask = 0.9
-
-# Required by:
-# slapos.toolbox==0.34.0
-GitPython = 0.3.2.RC1
-
-# Required by:
-# slapos.toolbox==0.34.0
-atomize = 0.1.1
-
-# Required by:
-# slapos.toolbox==0.34.0
-feedparser = 5.1.3
-
-# Required by:
-# hexagonit.recipe.cmmi==1.6
-hexagonit.recipe.download = 1.6nxd002
-
-# Required by:
-# slapos.core==0.34
-netifaces = 0.8
-
-# Required by:
-# slapos.toolbox==0.34.0
-paramiko = 1.9.0
-
-# Required by:
-# slapos.toolbox==0.34.0
-psutil = 0.6.1
-
-# Required by:
-# slapos.core==0.34
-pyflakes = 0.5.0
-
-# Required by:
-# cns.recipe.symlink==0.2.3
-# slapos.cookbook==0.71.1
-# slapos.core==0.34
-# slapos.libnetworkcache==0.13.3
-# slapos.toolbox==0.34.0
-# supervisor==3.0b1
-# zc.buildout==1.6.0-dev-SlapOS-010
-# zope.interface==4.0.3
-setuptools = 0.6c12dev-r88846
-
-# Required by:
-# slapos.core==0.34
-supervisor = 3.0b1
-
-# Required by:
-# slapos.core==0.34
-unittest2 = 0.5.1
-
-# Required by:
-# slapos.core==0.34
-zope.interface = 4.0.3