diff --git a/CHANGES.txt b/CHANGES.txt
index e14b6b6b64ada0cc688a98c310364d379b767eb8..45b89e98c643837146ad8f46a27f37000bc8c705 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,21 @@
 Changes
 =======
 
+
+0.71.3 (2013-01-31)
+-------------------
+
+ * Add mysql_ip and mysql_port parameters in apachephp recipe [Cedric de Saint
+   Martin]
+ * Random password for postgres in standalone SR and lapp stack; accept
+   connections from the world. [Marco Mariani]
+
+0.71.2 (2013-01-29)
+-------------------
+
+ * revised postgres/lapp recipe. [Marco Mariani]
+
+
 0.71.1 (2013-01-04)
 -------------------
 
diff --git a/component/apache/buildout.cfg b/component/apache/buildout.cfg
index 6ba1f5989e78249a3de1ce30432a5d0c2c6141ed..1b26ed827ca5ad9213ebc2011b48dea3251c52d7 100644
--- a/component/apache/buildout.cfg
+++ b/component/apache/buildout.cfg
@@ -31,7 +31,7 @@ recipe = hexagonit.recipe.cmmi
 depends =
   ${gdbm:version}
 version = 2.4.3
-revision = 1
+revision = 2
 url = http://mir2.ovh.net/ftp.apache.org/dist/httpd/httpd-${:version}.tar.bz2
 md5sum = 87aaf7bc7e8715f0455997bb8c6791aa
 configure-command = cp -ar ${apr:location}/apr-${apr:version} srclib/apr/; cp -ar ${apr-util:location}/apr-util-${apr-util:version} srclib/apr-util; ./configure
diff --git a/component/cloud9/buildout.cfg b/component/cloud9/buildout.cfg
index 252459127354781fdcf2d1dff637c61b55422c4c..98e884399fa4838f39a2d3bc562ac7ee4645e6ba 100644
--- a/component/cloud9/buildout.cfg
+++ b/component/cloud9/buildout.cfg
@@ -51,7 +51,7 @@ md5sum = 5dc8cc28447ed3747b8a53c768d872aa
 # NODE_PATH=${:destination}/node_modules ${nodejs:node_location} ${:cloud9_js_location}
 recipe = plone.recipe.command
 stop-on-error = true
-commit = 6b0112363dd0f9523430808394a162d3cc699550
+commit = 9158bbf9e886e3b96e91239249aca66e420aa8d1
 repository = https://github.com/ajaxorg/cloud9.git
 location = ${buildout:parts-directory}/${:_buildout_section_name_}
 environment = export GIT_SSL_NO_VERIFY=true; export PATH=${git:location}/bin:${nodejs:location}/bin:${node-sm:location}/node_modules/sm/bin:$PATH; export CPPFLAGS="-I${libxml2:location}/include -I${nodejs:location}/include"; export LDFLAGS="-L${libxml2:location}/lib -Wl,-rpath=${libxml2:location}/lib"; export HOME=${:location};
diff --git a/component/libreoffice-bin/buildout.cfg b/component/libreoffice-bin/buildout.cfg
index 7b2fc1661b430adf53636f1feebc720e6822a3fb..7811b77048789d19e69684f44befd27f75489dbf 100644
--- a/component/libreoffice-bin/buildout.cfg
+++ b/component/libreoffice-bin/buildout.cfg
@@ -46,4 +46,4 @@ script =
 
 # helper binaries
 cpio = ${cpio:location}/bin/cpio
-rpm2cpio = ${rpm2cpio:destination}
+rpm2cpio = ${rpm2cpio:target}
diff --git a/component/rpm2cpio/buildout.cfg b/component/rpm2cpio/buildout.cfg
index f63c9146871e6cab385355b97f8bb57bc75a2cb7..d1e094759c133a2272d43bf1007b9eb76930a7b4 100644
--- a/component/rpm2cpio/buildout.cfg
+++ b/component/rpm2cpio/buildout.cfg
@@ -3,7 +3,6 @@ parts =
   rpm2cpio
 
 [rpm2cpio]
-recipe = hexagonit.recipe.download
-download-only = true
+recipe = slapos.recipe.build:download
 url = https://raw.github.com/ruda/rpm2cpio/e196173f1f6b746463b7398e381b94a42edfa345/rpm2cpio.py
 md5sum = c5bb6227d99e1ff5df880f997cbed2e3
diff --git a/setup.py b/setup.py
index e64961a069d0cd0fff747e8e212fb7be081fad84..d27d5ef2bed2028c8854108076517634971b77be 100755
--- a/setup.py
+++ b/setup.py
@@ -28,7 +28,7 @@ from setuptools import setup, find_packages
 import glob
 import os
 
-version = '0.71.2-dev'
+version = '0.71.4-dev'
 name = 'slapos.cookbook'
 long_description = open("README.txt").read() + "\n" + \
     open("CHANGES.txt").read() + "\n"
diff --git a/slapos/recipe/apachephp/__init__.py b/slapos/recipe/apachephp/__init__.py
index 97e939e84e7939dc326b9ff5bf996a33298e4d50..b2ccf7bff5b00d139527f62f7247e48fec39559a 100644
--- a/slapos/recipe/apachephp/__init__.py
+++ b/slapos/recipe/apachephp/__init__.py
@@ -98,6 +98,8 @@ class Recipe(GenericBaseRecipe):
                               mysql_password=self.options['mysql-password'],
                               mysql_host='%s:%s' % (self.options['mysql-host'],
                                                     self.options['mysql-port']),
+                              mysql_ip=self.options['mysql-host'],
+                              mysql_port=self.options['mysql-port'],
                               secret_key=secret_key,
                              )
 
diff --git a/slapos/recipe/generatepassword.py b/slapos/recipe/generatepassword.py
index c84259364044007127503984cd6142b4b5e62fdd..c4260516fa0032f6e070b790f108febf8590954a 100644
--- a/slapos/recipe/generatepassword.py
+++ b/slapos/recipe/generatepassword.py
@@ -1,3 +1,4 @@
+# vim: set et sts=2:
 ##############################################################################
 #
 # Copyright (c) 2012 Vifib SARL and Contributors. All Rights Reserved.
@@ -24,12 +25,13 @@
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #
 ##############################################################################
-import random
-import os
+
 import binascii
+import os
 
 from slapos.recipe.librecipe import GenericBaseRecipe
 
+
 class Recipe(GenericBaseRecipe):
 
   def __init__(self, buildout, name, options):
@@ -44,7 +46,7 @@ class Recipe(GenericBaseRecipe):
     return GenericBaseRecipe.__init__(self, buildout, name, options)
 
   def install(self):
-    open_file = open(self.options['storage-path'], 'w')
-    open_file.write(self.options['passwd'])
-    open_file.close()
+    with open(self.options['storage-path'], 'w') as fout:
+      fout.write(self.options['passwd'])
     return [self.options['storage-path']]
+
diff --git a/slapos/recipe/postgres/__init__.py b/slapos/recipe/postgres/__init__.py
index 2d88bc8e09e2d35c60142d4dac3ae820bf634262..231ff04c629ac5bd2efaccd7d3c5bca0046c8087 100644
--- a/slapos/recipe/postgres/__init__.py
+++ b/slapos/recipe/postgres/__init__.py
@@ -70,7 +70,6 @@ class Recipe(GenericBaseRecipe):
     """
 
     def _options(self, options):
-        options['password'] = self.generatePassword()
         options['url'] = 'postgresql://%(superuser)s:%(password)s@[%(ipv6_random)s]:%(port)s/%(dbname)s' % options
 
 
@@ -160,11 +159,13 @@ class Recipe(GenericBaseRecipe):
                 'host    all             all             ::1/128                 md5',
             ]
 
+            ipv4_netmask_bits = self.options.get('ipv4_netmask_bits', '32')
             for ip in ipv4:
-                cfg_lines.append('host    all             all             %s/32                   md5' % ip)
+                cfg_lines.append('host    all             all             %s/%s                   md5' % (ip, ipv4_netmask_bits))
 
+            ipv6_netmask_bits = self.options.get('ipv6_netmask_bits', '128')
             for ip in ipv6:
-                cfg_lines.append('host    all             all             %s/128                   md5' % ip)
+                cfg_lines.append('host    all             all             %s/%s                   md5' % (ip, ipv6_netmask_bits))
 
             cfg.write('\n'.join(cfg_lines))
 
diff --git a/software/lamp-template/template/phpmyadmin.inc.php.in b/software/lamp-template/template/phpmyadmin.inc.php.in
index 0b2354f35848271892530fc34a88e1ffdae9c09d..57fddfd0e0b048a6b72abb1d68db81d2a70c4129 100644
--- a/software/lamp-template/template/phpmyadmin.inc.php.in
+++ b/software/lamp-template/template/phpmyadmin.inc.php.in
@@ -5,13 +5,11 @@ $i = 1;
 /* Server parameters */
 $cfg['Servers'][$i]['host'] = 'Put here mysql host template key';
 $cfg['Servers'][$i]['port'] = 'Put here mysql port template key';
+$cfg['Servers'][$i]['only_db'] = 'Put here mysql database template key';
+
 /* Authentication type */
 $cfg['Servers'][$i]['auth_type'] = 'cookie';
-$cfg['Servers'][$i]['user'] = '';
-$cfg['Servers'][$i]['connect_type'] = 'tcp';
-$cfg['Servers'][$i]['compress'] = false;
-/* Select mysqli if your server has it */
-$cfg['Servers'][$i]['extension'] = 'mysql';
+$cfg['Servers'][$i]['extension'] = 'mysqli';
 $cfg['Servers'][$i]['AllowNoPassword'] = false;
 
 /* rajk - for blobstreaming */
diff --git a/software/postgres/instance.cfg.in b/software/postgres/instance.cfg.in
index 383da8765cf76bee43d4183c6f2919f275173cc5..74bc42dd7c11f53397489003334947dbcd1b4323 100644
--- a/software/postgres/instance.cfg.in
+++ b/software/postgres/instance.cfg.in
@@ -16,6 +16,7 @@ offline = true
 recipe = slapos.cookbook:mkdirectory
 bin = $${buildout:directory}/bin
 etc = $${buildout:directory}/etc
+srv = $${buildout:directory}/srv
 services = $${directories:etc}/service
 promises = $${directories:etc}/promise
 var = $${buildout:directory}/var
@@ -30,9 +31,14 @@ recipe = slapos.cookbook:postgres
 
 # Options
 ipv6 = $${instance-parameters:ipv6}
+# listen to connections from anywhere
+ipv6_netmask_bits = 0
 ipv4 = $${instance-parameters:ipv4}
+# listen to connections from anywhere
+ipv4_netmask_bits = 0
 ipv6_random = $${instance-parameters:ipv6_random}
 superuser = postgres
+password = $${gen-passwd:passwd}
 port = 5432
 dbname = db
 # pgdata_directory is created by initdb, and should not exist beforehand.
@@ -41,6 +47,16 @@ bin = ${postgresql:location}/bin
 services = $${directories:services}
 
 
+#----------------
+#--
+#-- Generates a random password and stores it in the filesystem
+
+[gen-passwd]
+recipe = slapos.cookbook:generate.password
+storage-path = $${directories:srv}/postgres_passwd
+bytes = 16
+
+
 #----------------
 #--
 #-- Deploy promise scripts.
diff --git a/software/postgres/software.cfg b/software/postgres/software.cfg
index 77d8562cb7c60a088e3ed702fb851852f0714e7d..5f0f5314fb00daff213e9c7d8d849a9f3da7e5e3 100644
--- a/software/postgres/software.cfg
+++ b/software/postgres/software.cfg
@@ -17,7 +17,7 @@ parts =
 recipe = slapos.recipe.template
 url = ${:_profile_base_location_}/instance.cfg.in
 output = ${buildout:directory}/instance.cfg
-md5sum = dfba09a7cccefc5d92d455aaed2c1835
+md5sum = 2c54a291ed61910f69a35a6db414c051
 mode = 0644
 
 
@@ -25,18 +25,19 @@ mode = 0644
 Jinja2 = 2.6
 Werkzeug = 0.8.3
 buildout-versions = 1.7
-cns.recipe.symlink = 0.2.3
 hexagonit.recipe.cmmi = 1.6
 inotifyx = 0.2.0
 lxml = 3.1beta1
 meld3 = 0.6.10
 netaddr = 0.7.10
 pytz = 2012j
+slapos.cookbook = 0.71.2
+slapos.core = 0.34
 slapos.recipe.template = 2.4.2
 xml-marshaller = 0.9.7
 
 # Required by:
-# slapos.core==0.33.1
+# slapos.core==0.34
 Flask = 0.9
 
 # Required by:
@@ -44,21 +45,30 @@ Flask = 0.9
 hexagonit.recipe.download = 1.6
 
 # Required by:
-# slapos.core==0.33.1
+# slapos.core==0.34
 netifaces = 0.8
 
 # Required by:
-# cns.recipe.symlink==0.2.3
+# slapos.core==0.34
+pyflakes = 0.6.0
+
+# Required by:
+# slapos.cookbook==0.71.2
+# slapos.core==0.34
 # 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.33.1
+# slapos.core==0.34
 supervisor = 3.0b1
 
 # Required by:
-# slapos.core==0.33.1
+# slapos.core==0.34
+unittest2 = 0.5.1
+
+# Required by:
+# slapos.core==0.34
 zope.interface = 4.0.3
 
diff --git a/software/slaprunner/software.cfg b/software/slaprunner/software.cfg
index 552a4b04bb30e3a992e5bb7026cd9f959365c97b..e432ea11899af5a2a45dfc002b2b1dbd1c8b5d79 100644
--- a/software/slaprunner/software.cfg
+++ b/software/slaprunner/software.cfg
@@ -55,32 +55,32 @@ meld3 = 0.6.10
 netaddr = 0.7.10
 plone.recipe.command = 1.1
 pycrypto = 2.6
-pytz = 2012h
-slapos.cookbook = 0.70
-slapos.core = 0.33.1
+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.32
+slapos.toolbox = 0.33
 smmap = 0.8.2
 xml-marshaller = 0.9.7
 z3c.recipe.scripts = 1.0.1
 
 # Required by:
-# slapos.core==0.33.1
-# slapos.toolbox==0.32
+# slapos.core==0.34
+# slapos.toolbox==0.33
 Flask = 0.9
 
 # Required by:
-# slapos.toolbox==0.32
+# slapos.toolbox==0.33
 GitPython = 0.3.2.RC1
 
 # Required by:
-# slapos.toolbox==0.32
+# slapos.toolbox==0.33
 atomize = 0.1.1
 
 # Required by:
-# slapos.toolbox==0.32
+# slapos.toolbox==0.33
 feedparser = 5.1.3
 
 # Required by:
@@ -88,32 +88,40 @@ feedparser = 5.1.3
 hexagonit.recipe.download = 1.6
 
 # Required by:
-# slapos.core==0.33.1
+# slapos.core==0.34
 netifaces = 0.8
 
 # Required by:
-# slapos.toolbox==0.32
+# slapos.toolbox==0.33
 paramiko = 1.9.0
 
 # Required by:
-# slapos.toolbox==0.32
+# slapos.toolbox==0.33
 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.70
-# slapos.core==0.33.1
+# slapos.cookbook==0.71.1
+# slapos.core==0.34
 # slapos.libnetworkcache==0.13.3
-# slapos.toolbox==0.32
+# slapos.toolbox==0.33
 # supervisor==3.0b1
 # zc.buildout==1.6.0-dev-SlapOS-010
-# zope.interface==4.0.2
+# zope.interface==4.0.3
 setuptools = 0.6c12dev-r88846
 
 # Required by:
-# slapos.core==0.33.1
+# slapos.core==0.34
 supervisor = 3.0b1
 
 # Required by:
-# slapos.core==0.33.1
-zope.interface = 4.0.2
+# slapos.core==0.34
+unittest2 = 0.5.1
+
+# Required by:
+# slapos.core==0.34
+zope.interface = 4.0.3
diff --git a/stack/lapp/buildout.cfg b/stack/lapp/buildout.cfg
index 980e20f7bd580b4946a14b5613398f65893902db..ca60769796215a46047466b1ef73b62b9b2e86d2 100644
--- a/stack/lapp/buildout.cfg
+++ b/stack/lapp/buildout.cfg
@@ -87,7 +87,7 @@ mode = 0644
 recipe = slapos.recipe.template
 url = ${:_profile_base_location_}/postgres/instance-postgres.cfg.in
 output = ${buildout:directory}/instance-postgres.cfg
-md5sum = 6e9e587ddb52fb9a3817fda7d77e4cab
+md5sum = 67c7772b80f82642f0f7d12793698374
 mode = 0644
 
 [instance-postgres-import]
diff --git a/stack/lapp/postgres/instance-postgres.cfg.in b/stack/lapp/postgres/instance-postgres.cfg.in
index a15e72659470f68d82cf631568661120537d3ebd..da9a8674f371c08065e95e51828b7adb2d025c50 100644
--- a/stack/lapp/postgres/instance-postgres.cfg.in
+++ b/stack/lapp/postgres/instance-postgres.cfg.in
@@ -173,9 +173,14 @@ crl = $${directory:ca-dir}/crl/
 [postgres-instance]
 recipe = slapos.cookbook:postgres
 ipv6 = $${instance-parameters:ipv6}
+# listen to connections from anywhere
+ipv6_netmask_bits = 0
 ipv4 = $${instance-parameters:ipv4}
+# listen to connections from anywhere
+ipv4_netmask_bits = 0
 ipv6_random = $${instance-parameters:ipv6_random}
 superuser = postgres
+password = $${postgres-passwd:passwd}
 port = 5432
 dbname = db
 # pgdata_directory is created by initdb, and should not exist beforehand.
@@ -193,6 +198,16 @@ key-file = $${stunnel:key-file}
 cert-file = $${stunnel:cert-file}
 
 
+#----------------
+#--
+#-- Generates a random password and stores it in the filesystem
+
+[postgres-passwd]
+recipe = slapos.cookbook:generate.password
+storage-path = $${rootdirectory:srv}/postgres_passwd
+bytes = 16
+
+
 #----------------
 #--
 #-- Deploy slapmonitor.