diff --git a/.rsyslog.metadata b/.rsyslog.metadata
index e69762c..2ba55fe 100644
--- a/.rsyslog.metadata
+++ b/.rsyslog.metadata
@@ -1 +1 @@
-b4791ac7be1c27288a394e5701e217bce555bf75 SOURCES/rsyslog-7.4.2.tar.gz
+f4d6c60572bf661c7a7ea6a0f5e221e5a0fbf65a SOURCES/rsyslog-7.4.7.tar.gz
diff --git a/SOURCES/rsyslog-7.3.15-imuxsock-warning.patch b/SOURCES/rsyslog-7.3.15-imuxsock-warning.patch
deleted file mode 100644
index d2eaad8..0000000
--- a/SOURCES/rsyslog-7.3.15-imuxsock-warning.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From ac6c45537391d67beb55b03ccf301bdaa150cd8a Mon Sep 17 00:00:00 2001
-From: Tomas Heinrich
-Date: Mon, 3 Jun 2013 15:09:07 +0200
-Subject: [PATCH] imuxsock: don't report an error message for
- $OmitLocalLogging
-
----
- plugins/imuxsock/imuxsock.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/plugins/imuxsock/imuxsock.c b/plugins/imuxsock/imuxsock.c
-index c503852..dad09ab 100644
---- a/plugins/imuxsock/imuxsock.c
-+++ b/plugins/imuxsock/imuxsock.c
-@@ -1284,6 +1284,8 @@ BEGINactivateCnfPrePrivDrop
- instanceConf_t *inst;
- CODESTARTactivateCnfPrePrivDrop
- runModConf = pModConf;
-+ if(runModConf->bOmitLocalLogging && nfd == 1)
-+ ABORT_FINALIZE(RS_RET_OK);
- for(inst = runModConf->root ; inst != NULL ; inst = inst->next) {
- addListner(inst);
- }
-@@ -1325,6 +1327,8 @@ BEGINrunInput
- #endif
-
- CODESTARTrunInput
-+ if(runModConf->bOmitLocalLogging && nfd == 1)
-+ ABORT_FINALIZE(RS_RET_OK);
- /* this is an endless loop - it is terminated when the thread is
- * signalled to do so. This, however, is handled by the framework,
- * right into the sleep below.
---
-1.7.10.4
-
diff --git a/SOURCES/rsyslog-7.4.2-imuxsock-rfc3339.patch b/SOURCES/rsyslog-7.4.2-imuxsock-rfc3339.patch
deleted file mode 100644
index 3ae46c4..0000000
--- a/SOURCES/rsyslog-7.4.2-imuxsock-rfc3339.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 06a3239f2eaf90eb7c7034b563fa32b1b09beedd Mon Sep 17 00:00:00 2001
-From: Tomas Heinrich
-Date: Wed, 6 Nov 2013 17:57:49 +0100
-Subject: [PATCH] imuxsock: pass along missing legacy config variables
-
-Not doing so caused that the system log socket was unaffected by these
-directives.
-
-bCreatePath is still not passed but currently, there's no placeholder for it.
----
- plugins/imuxsock/imuxsock.c | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/plugins/imuxsock/imuxsock.c b/plugins/imuxsock/imuxsock.c
-index c503852..1c4ba47 100644
---- a/plugins/imuxsock/imuxsock.c
-+++ b/plugins/imuxsock/imuxsock.c
-@@ -159,11 +159,11 @@ static int startIndexUxLocalSockets; /* process fd from that index on (used to
- static int nfd = 1; /* number of Unix sockets open / read-only after startup */
- static int sd_fds = 0; /* number of systemd activated sockets */
-
--/* config vars for legacy config system */
- #define DFLT_bCreatePath 0
- #define DFLT_ratelimitInterval 0
- #define DFLT_ratelimitBurst 200
- #define DFLT_ratelimitSeverity 1 /* do not rate-limit emergency messages */
-+/* config vars for the legacy config system */
- static struct configSettings_s {
- int bOmitLocalLogging;
- uchar *pLogSockName;
-@@ -188,6 +188,7 @@ static struct configSettings_s {
- int bParseTrusted; /* parse trusted properties */
- } cs;
-
-+/* config vars for the v2 config system (rsyslog v6+) */
- struct instanceConf_s {
- uchar *sockName;
- uchar *pLogHostName; /* host name to use with this socket */
-@@ -1256,11 +1257,14 @@ BEGINendCnfLoad
- CODESTARTendCnfLoad
- if(!loadModConf->configSetViaV2Method) {
- /* persist module-specific settings from legacy config system */
-+ /* these are used to initialize the system log socket (listeners[0]) */
- loadModConf->bOmitLocalLogging = cs.bOmitLocalLogging;
- loadModConf->pLogSockName = cs.pLogSockName;
- loadModConf->bIgnoreTimestamp = cs.bIgnoreTimestampSysSock;
-+ loadModConf->bUseSysTimeStamp = cs.bUseSysTimeStampSysSock;
- loadModConf->bUseFlowCtl = cs.bUseFlowCtlSysSock;
- loadModConf->bAnnotateSysSock = cs.bAnnotateSysSock;
-+ loadModConf->bWritePidSysSock = cs.bWritePidSysSock;
- loadModConf->bParseTrusted = cs.bParseTrusted;
- loadModConf->ratelimitIntervalSysSock = cs.ratelimitIntervalSysSock;
- loadModConf->ratelimitBurstSysSock = cs.ratelimitBurstSysSock;
---
-1.7.10.4
-
diff --git a/SOURCES/rsyslog-7.4.7-bz1030044-remove-ads.patch b/SOURCES/rsyslog-7.4.7-bz1030044-remove-ads.patch
new file mode 100644
index 0000000..cdbcf0e
--- /dev/null
+++ b/SOURCES/rsyslog-7.4.7-bz1030044-remove-ads.patch
@@ -0,0 +1,236 @@
+From 79e4e43bcadb0fb520240c655f529874f305f786 Mon Sep 17 00:00:00 2001
+From: Tomas Heinrich
+Date: Thu, 14 Nov 2013 15:14:08 +0100
+Subject: [PATCH] Remove references to Google ads from html documentation
+
+---
+ doc/rsyslog_secure_tls.html | 13 -------------
+ doc/tls_cert_ca.html | 13 -------------
+ doc/tls_cert_client.html | 13 -------------
+ doc/tls_cert_errmsgs.html | 13 -------------
+ doc/tls_cert_machine.html | 13 -------------
+ doc/tls_cert_scenario.html | 13 -------------
+ doc/tls_cert_server.html | 13 -------------
+ doc/tls_cert_summary.html | 13 -------------
+ doc/tls_cert_udp_relay.html | 13 -------------
+ 9 files changed, 117 deletions(-)
+
+diff --git a/doc/rsyslog_secure_tls.html b/doc/rsyslog_secure_tls.html
+index b15e5a4..0bef2b3 100644
+--- a/doc/rsyslog_secure_tls.html
++++ b/doc/rsyslog_secure_tls.html
+@@ -38,19 +38,6 @@ below. Do not blame us if it doesn't provide what you need ;)
+
+ Our secrity goals are achived via public/private key security. As such, it is
+ vital that private keys are well protected and not accessible to third parties.
+-
+-
+-
+-
+ If private keys have become known to third parties, the system does not provide
+ any security at all. Also, our solution bases on X.509 certificates and a (very
+ limited) chain of trust. We have one instance (the CA) that issues all machine
+diff --git a/doc/tls_cert_ca.html b/doc/tls_cert_ca.html
+index 2cae404..f366462 100644
+--- a/doc/tls_cert_ca.html
++++ b/doc/tls_cert_ca.html
+@@ -23,19 +23,6 @@ Gerhards (2008-06-17)
+ maintained by a trustworthy person (or group) and approves the indentities of
+ all machines. It does so by issuing their certificates. In a small setup, the
+ administrator can provide the CA function. What is important is the the CA's
+-
+-
+-
+-
+ private key is well-protocted and machine certificates are only issued if it is
+ know they are valid (in a single-admin case that means the admin should not
+ issue certificates to anyone else except himself).
+diff --git a/doc/tls_cert_client.html b/doc/tls_cert_client.html
+index dbe7961..53596fc 100644
+--- a/doc/tls_cert_client.html
++++ b/doc/tls_cert_client.html
+@@ -25,19 +25,6 @@ example, that meanst turng.example.net). The client check's the server's identit
+ talks to it only if it is the expected server. This is a very important step.
+ Without it, you would not detect man-in-the-middle attacks or simple malicious servers
+ who try to get hold of your valuable log data.
+-
+-
+-
+-
+
+ Steps to do:
+
+diff --git a/doc/tls_cert_errmsgs.html b/doc/tls_cert_errmsgs.html
+index d002174..2943efc 100644
+--- a/doc/tls_cert_errmsgs.html
++++ b/doc/tls_cert_errmsgs.html
+@@ -21,19 +21,6 @@ Gerhards (2008-06-17)
+
+ Error Messages
+ This page covers error message you may see when setting up
+-
+-
+-
+-
+ rsyslog with TLS. Please note that many
+ of the message stem back to the TLS library being used. In those cases, there is
+ not always a good explanation available in rsyslog alone.
+diff --git a/doc/tls_cert_machine.html b/doc/tls_cert_machine.html
+index 095e15c..fe2ee90 100644
+--- a/doc/tls_cert_machine.html
++++ b/doc/tls_cert_machine.html
+@@ -22,19 +22,6 @@ Gerhards (2008-06-18)
+ In this step, we generate certificates for each of the machines. Please note
+ that both clients and servers need certificates. The certificate identifies each
+ machine to the remote peer. The DNSName specified inside the certificate can
+-
+-
+-
+-
+ be specified inside the $<object>PermittedPeer config statements.
+
For now, we assume that a single person (or group) is responsible for the whole
+ rsyslog system and thus it is OK if that single person is in posession of all
+diff --git a/doc/tls_cert_scenario.html b/doc/tls_cert_scenario.html
+index 7973532..88c7657 100644
+--- a/doc/tls_cert_scenario.html
++++ b/doc/tls_cert_scenario.html
+@@ -21,19 +21,6 @@ Gerhards (2008-06-17)
+
+ Sample Scenario
+ We have a quite simple scenario. There is one central syslog server,
+-
+-
+-
+-
+ named central.example.net. These server is being reported to by two Linux
+ machines with name zuse.example.net and turing.example.net. Also, there is a
+ third client - ada.example.net - which send both its own messages to the central
+diff --git a/doc/tls_cert_server.html b/doc/tls_cert_server.html
+index 9c024bc..b784be1 100644
+--- a/doc/tls_cert_server.html
++++ b/doc/tls_cert_server.html
+@@ -23,19 +23,6 @@ Gerhards (2008-06-18)
+ via TLS protected plain tcp based syslog from those peers that are explicitely permitted
+ to send to it. The picture below show our configuration. This step configures
+ the server central.example.net.
+-
+-
+-
+-
+
+ Important: Keep in mind that the order of configuration directives
+ is very important in rsyslog. As such, the samples given below do only work if the given
+diff --git a/doc/tls_cert_summary.html b/doc/tls_cert_summary.html
+index 8e003bc..95844a8 100644
+--- a/doc/tls_cert_summary.html
++++ b/doc/tls_cert_summary.html
+@@ -20,19 +20,6 @@ Gerhards (2008-07-03)
+
+ Summary
+ If you followed the steps outlined in this documentation set, you now have
+-
+-
+-
+-
+ a reasonable (for most needs) secure setup for the following environment:
+
+ You have learned about the security decisions involved and which we
+diff --git a/doc/tls_cert_udp_relay.html b/doc/tls_cert_udp_relay.html
+index f4740ce..d44689c 100644
+--- a/doc/tls_cert_udp_relay.html
++++ b/doc/tls_cert_udp_relay.html
+@@ -26,19 +26,6 @@ directly to it, because we would like to have TLS protection for its sensitve
+ logs. If the router and the syslog relay are on a sufficiently secure private
+ network, this setup can be considered reasonable secure. In any case, it is the
+ best alternative among the possible configuration scenarios.
+-
+-
+-
+-
+
+ Steps to do:
+
+--
+1.8.4.3
+
diff --git a/SOURCES/rsyslog-7.4.7-bz1038136-imjournal-message-loss.patch b/SOURCES/rsyslog-7.4.7-bz1038136-imjournal-message-loss.patch
new file mode 100644
index 0000000..73134f5
--- /dev/null
+++ b/SOURCES/rsyslog-7.4.7-bz1038136-imjournal-message-loss.patch
@@ -0,0 +1,267 @@
+From effa35d1ae33c1ac825317802b6e970e68f98af2 Mon Sep 17 00:00:00 2001
+From: Tomas Heinrich
+Date: Fri, 31 Jan 2014 11:35:55 +0100
+Subject: [PATCH] Improve handling of messages without syslog properties
+
+* Don't drop messages without the MESSAGE field
+* Set default severity for all messages
+ Some messages comming from journald don't have the SYSLOG_PRIORITY
+ field. These are typically the messages logged through journald's
+ native API. Set the default severity for these messages to 'notice'.
+* Set default facility for all messages
+ Some messages comming from journald don't have the SYSLOG_FACILITY
+ field. These are typically the messages logged through journald's
+ native API. Set the default facility for these messages to 'user'.
+* Make default priority configurable
+---
+ doc/imjournal.html | 16 ++++++
+ plugins/imjournal/imjournal.c | 124 +++++++++++++++++++++++++++++++-----------
+ 2 files changed, 109 insertions(+), 31 deletions(-)
+
+diff --git a/doc/imjournal.html b/doc/imjournal.html
+index 8f29169..b4d2105 100644
+--- a/doc/imjournal.html
++++ b/doc/imjournal.html
+@@ -69,6 +69,18 @@ journal and read only new messages. This option is only used when there is
+ no StateFile to avoid message loss.
+
+
++- DefaultSeverity <severity>
++Some messages comming from journald don't have the SYSLOG_PRIORITY
++field. These are typically the messages logged through journald's
++native API. This option specifies the default severity for these
++messages. Defaults to 'notice'.
++
++ - DefaultFacility <facility>
++Some messages comming from journald don't have the SYSLOG_FACILITY
++field. These are typically the messages logged through journald's
++native API. This option specifies the default facility for these
++messages. Defaults to 'user'.
++
+ Caveats/Known Bugs:
+
+
+@@ -105,6 +117,10 @@ Equivalent to: ratelimit.interval
+ Equivalent to: ratelimit.burst
+ - $ImjournalIgnorePreviousMessages
+ Equivalent to: ignorePreviousMessages
++- $ImjournalDefaultSeverity
++Equivalent to: DefaultSeverity
++- $ImjournalDefaultFacility
++Equivalent to: DefaultFacility
+
+
+