Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package sca-patterns-sle12 for 
openSUSE:Factory checked in at 2021-02-07 15:20:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/sca-patterns-sle12 (Old)
 and      /work/SRC/openSUSE:Factory/.sca-patterns-sle12.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "sca-patterns-sle12"

Sun Feb  7 15:20:47 2021 rev:9 rq:869594 version:1.0.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/sca-patterns-sle12/sca-patterns-sle12.changes    
2020-12-16 11:01:48.871648106 +0100
+++ 
/work/SRC/openSUSE:Factory/.sca-patterns-sle12.new.28504/sca-patterns-sle12.changes
 2021-02-07 15:23:41.186176383 +0100
@@ -1,0 +2,5 @@
+Mon Jan 25 17:59:02 UTC 2021 - jason.rec...@suse.com
+
+- Patterns for TID000019786 Security Vulnerability: SADDNS attack 
(CVE-2020-25705)
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ sca-patterns-sle12.spec ++++++
--- /var/tmp/diff_new_pack.hId1Gi/_old  2021-02-07 15:23:41.686176954 +0100
+++ /var/tmp/diff_new_pack.hId1Gi/_new  2021-02-07 15:23:41.690176959 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package sca-patterns-sle12
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed

++++++ sca-patterns-sle12-1.0.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp2/saddns-000019786_122.py 
new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp2/saddns-000019786_122.py
--- old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp2/saddns-000019786_122.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp2/saddns-000019786_122.py  
2021-01-25 19:59:42.891439423 +0100
@@ -0,0 +1,120 @@
+#!/usr/bin/python
+
+# Title:       Side-channel AttackeD DNS
+# Description: Security Vulnerability: SADDNS attack (CVE-2020-25705)
+# Distro:      SLES12 SP2
+# Modified:    2021 Jan 21
+#
+##############################################################################
+# Copyright (C) 2021, SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+##############################################################################
+# Module Definition
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+##############################################################################
+# Overriden (eventually or in part) from SDP::Core Module
+##############################################################################
+
+META_CLASS = "SLE"
+META_CATEGORY = "Security"
+META_COMPONENT = "DNS"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000019786|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1175721|META_LINK_CVE=https://www.suse.com/security/cve/CVE-2020-25705/|META_LINK_SADDNS=https://www.saddns.net/";
+
+KERNEL_VERSION = '4.4.121-92.146'
+DNS_PACKAGE = 'bind'
+DNS_SERVICE = 'named'
+RC_DNS_ENABLED = 1
+RC_DNS_DISABLED = 0
+RC_DNS_ERROR = -1
+
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def workAroundApplied():
+       fileOpen = "network.txt"
+       section = "iptables -t filter"
+       content = {}
+       IN_STATE = False
+       WORK_AROUND = re.compile("DROP.*icmp.*icmptype")
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if IN_STATE:
+                               if "Chain" in content[line]: # we reached the 
end of the output chain
+                                       return False
+                               elif WORK_AROUND.search(content[line]): # we 
find the workaround
+                                       return True
+                       elif "Chain OUTPUT" in content[line]: # the workaround 
only applies in the output chain
+                               IN_STATE = True
+       return False
+
+def namedStatus():
+       fileOpen = "dns.txt"
+       section = "chkconfig named --list"
+       content = {}
+       RC = RC_DNS_ERROR
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if content[line].startswith(DNS_SERVICE):
+                               if ":on" in content[line]:
+                                       RC = RC_DNS_ENABLED
+                               else:
+                                       RC = RC_DNS_DISABLED
+       return RC
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+ACTIVE_VERSION = SUSE.compareKernel(KERNEL_VERSION)
+if( ACTIVE_VERSION < 0 ):
+       if( SUSE.packageInstalled(DNS_PACKAGE) ):
+               SERVICE_INFO = namedStatus()
+               if( SERVICE_INFO == RC_DNS_DISABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.IGNORE, "Service is 
disabled: " + str(DNS_SERVICE))
+               elif( SERVICE_INFO == RC_DNS_ENABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.CRIT, "SAD DNS security 
risk detected, update server for fixes")
+               else:
+                               Core.updateStatus(Core.WARN, "Potential SAD DNS 
security risk if named enabled, update server for fixes")
+       else:
+               Core.updateStatus(Core.ERROR, "The package " + DNS_PACKAGE + " 
is NOT installed")       
+else:
+       Core.updateStatus(Core.IGNORE, "SAD DNS security risk resolved in 
kernel version " + KERNEL_VERSION)
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp3/saddns-000019786_123.py 
new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp3/saddns-000019786_123.py
--- old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp3/saddns-000019786_123.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp3/saddns-000019786_123.py  
2021-01-25 19:59:42.895439331 +0100
@@ -0,0 +1,120 @@
+#!/usr/bin/python
+
+# Title:       Side-channel AttackeD DNS
+# Description: Security Vulnerability: SADDNS attack (CVE-2020-25705)
+# Distro:      SLES12 SP3
+# Modified:    2021 Jan 21
+#
+##############################################################################
+# Copyright (C) 2021, SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+##############################################################################
+# Module Definition
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+##############################################################################
+# Overriden (eventually or in part) from SDP::Core Module
+##############################################################################
+
+META_CLASS = "SLE"
+META_CATEGORY = "Security"
+META_COMPONENT = "DNS"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000019786|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1175721|META_LINK_CVE=https://www.suse.com/security/cve/CVE-2020-25705/|META_LINK_SADDNS=https://www.saddns.net/";
+
+KERNEL_VERSION = '4.4.180-94.135'
+DNS_PACKAGE = 'bind'
+DNS_SERVICE = 'named'
+RC_DNS_ENABLED = 1
+RC_DNS_DISABLED = 0
+RC_DNS_ERROR = -1
+
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def workAroundApplied():
+       fileOpen = "network.txt"
+       section = "iptables -t filter"
+       content = {}
+       IN_STATE = False
+       WORK_AROUND = re.compile("DROP.*icmp.*icmptype")
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if IN_STATE:
+                               if "Chain" in content[line]: # we reached the 
end of the output chain
+                                       return False
+                               elif WORK_AROUND.search(content[line]): # we 
find the workaround
+                                       return True
+                       elif "Chain OUTPUT" in content[line]: # the workaround 
only applies in the output chain
+                               IN_STATE = True
+       return False
+
+def namedStatus():
+       fileOpen = "dns.txt"
+       section = "chkconfig named --list"
+       content = {}
+       RC = RC_DNS_ERROR
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if content[line].startswith(DNS_SERVICE):
+                               if ":on" in content[line]:
+                                       RC = RC_DNS_ENABLED
+                               else:
+                                       RC = RC_DNS_DISABLED
+       return RC
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+ACTIVE_VERSION = SUSE.compareKernel(KERNEL_VERSION)
+if( ACTIVE_VERSION < 0 ):
+       if( SUSE.packageInstalled(DNS_PACKAGE) ):
+               SERVICE_INFO = namedStatus()
+               if( SERVICE_INFO == RC_DNS_DISABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.IGNORE, "Service is 
disabled: " + str(DNS_SERVICE))
+               elif( SERVICE_INFO == RC_DNS_ENABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.CRIT, "SAD DNS security 
risk detected, update server for fixes")
+               else:
+                               Core.updateStatus(Core.WARN, "Potential SAD DNS 
security risk if named enabled, update server for fixes")
+       else:
+               Core.updateStatus(Core.ERROR, "The package " + DNS_PACKAGE + " 
is NOT installed")       
+else:
+       Core.updateStatus(Core.IGNORE, "SAD DNS security risk resolved in 
kernel version " + KERNEL_VERSION)
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp4/saddns-000019786_124.py 
new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp4/saddns-000019786_124.py
--- old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp4/saddns-000019786_124.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp4/saddns-000019786_124.py  
2021-01-25 19:59:42.895439331 +0100
@@ -0,0 +1,120 @@
+#!/usr/bin/python
+
+# Title:       Side-channel AttackeD DNS
+# Description: Security Vulnerability: SADDNS attack (CVE-2020-25705)
+# Distro:      SLES12 SP4
+# Modified:    2021 Jan 21
+#
+##############################################################################
+# Copyright (C) 2021, SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+##############################################################################
+# Module Definition
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+##############################################################################
+# Overriden (eventually or in part) from SDP::Core Module
+##############################################################################
+
+META_CLASS = "SLE"
+META_CATEGORY = "Security"
+META_COMPONENT = "DNS"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000019786|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1175721|META_LINK_CVE=https://www.suse.com/security/cve/CVE-2020-25705/|META_LINK_SADDNS=https://www.saddns.net/";
+
+KERNEL_VERSION = '4.12.14-95.65'
+DNS_PACKAGE = 'bind'
+DNS_SERVICE = 'named'
+RC_DNS_ENABLED = 1
+RC_DNS_DISABLED = 0
+RC_DNS_ERROR = -1
+
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def workAroundApplied():
+       fileOpen = "network.txt"
+       section = "iptables -t filter"
+       content = {}
+       IN_STATE = False
+       WORK_AROUND = re.compile("DROP.*icmp.*icmptype")
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if IN_STATE:
+                               if "Chain" in content[line]: # we reached the 
end of the output chain
+                                       return False
+                               elif WORK_AROUND.search(content[line]): # we 
find the workaround
+                                       return True
+                       elif "Chain OUTPUT" in content[line]: # the workaround 
only applies in the output chain
+                               IN_STATE = True
+       return False
+
+def namedStatus():
+       fileOpen = "dns.txt"
+       section = "chkconfig named --list"
+       content = {}
+       RC = RC_DNS_ERROR
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if content[line].startswith(DNS_SERVICE):
+                               if ":on" in content[line]:
+                                       RC = RC_DNS_ENABLED
+                               else:
+                                       RC = RC_DNS_DISABLED
+       return RC
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+ACTIVE_VERSION = SUSE.compareKernel(KERNEL_VERSION)
+if( ACTIVE_VERSION < 0 ):
+       if( SUSE.packageInstalled(DNS_PACKAGE) ):
+               SERVICE_INFO = namedStatus()
+               if( SERVICE_INFO == RC_DNS_DISABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.IGNORE, "Service is 
disabled: " + str(DNS_SERVICE))
+               elif( SERVICE_INFO == RC_DNS_ENABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.CRIT, "SAD DNS security 
risk detected, update server for fixes")
+               else:
+                               Core.updateStatus(Core.WARN, "Potential SAD DNS 
security risk if named enabled, update server for fixes")
+       else:
+               Core.updateStatus(Core.ERROR, "The package " + DNS_PACKAGE + " 
is NOT installed")       
+else:
+       Core.updateStatus(Core.IGNORE, "SAD DNS security risk resolved in 
kernel version " + KERNEL_VERSION)
+
+Core.printPatternResults()
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp5/saddns-000019786_125.py 
new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp5/saddns-000019786_125.py
--- old/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp5/saddns-000019786_125.py  
1970-01-01 01:00:00.000000000 +0100
+++ new/sca-patterns-sle12-1.0.1/patterns/SLE/sle12sp5/saddns-000019786_125.py  
2021-01-25 19:59:42.895439331 +0100
@@ -0,0 +1,120 @@
+#!/usr/bin/python
+
+# Title:       Side-channel AttackeD DNS
+# Description: Security Vulnerability: SADDNS attack (CVE-2020-25705)
+# Distro:      SLES12 SP5
+# Modified:    2021 Jan 21
+#
+##############################################################################
+# Copyright (C) 2021, SUSE LLC
+##############################################################################
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+#
+#  Authors/Contributors:
+#   Jason Record <jason.rec...@suse.com>
+#
+##############################################################################
+
+##############################################################################
+# Module Definition
+##############################################################################
+
+import re
+import os
+import Core
+import SUSE
+
+##############################################################################
+# Overriden (eventually or in part) from SDP::Core Module
+##############################################################################
+
+META_CLASS = "SLE"
+META_CATEGORY = "Security"
+META_COMPONENT = "DNS"
+PATTERN_ID = os.path.basename(__file__)
+PRIMARY_LINK = "META_LINK_TID"
+OVERALL = Core.TEMP
+OVERALL_INFO = "NOT SET"
+OTHER_LINKS = 
"META_LINK_TID=https://www.suse.com/support/kb/doc/?id=000019786|META_LINK_BUG=https://bugzilla.suse.com/show_bug.cgi?id=1175721|META_LINK_CVE=https://www.suse.com/security/cve/CVE-2020-25705/|META_LINK_SADDNS=https://www.saddns.net/";
+
+KERNEL_VERSION = '4.12.14-122.54'
+DNS_PACKAGE = 'bind'
+DNS_SERVICE = 'named'
+RC_DNS_ENABLED = 1
+RC_DNS_DISABLED = 0
+RC_DNS_ERROR = -1
+
+Core.init(META_CLASS, META_CATEGORY, META_COMPONENT, PATTERN_ID, PRIMARY_LINK, 
OVERALL, OVERALL_INFO, OTHER_LINKS)
+##############################################################################
+# Local Function Definitions
+##############################################################################
+
+def workAroundApplied():
+       fileOpen = "network.txt"
+       section = "iptables -t filter"
+       content = {}
+       IN_STATE = False
+       WORK_AROUND = re.compile("DROP.*icmp.*icmptype")
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if IN_STATE:
+                               if "Chain" in content[line]: # we reached the 
end of the output chain
+                                       return False
+                               elif WORK_AROUND.search(content[line]): # we 
find the workaround
+                                       return True
+                       elif "Chain OUTPUT" in content[line]: # the workaround 
only applies in the output chain
+                               IN_STATE = True
+       return False
+
+def namedStatus():
+       fileOpen = "dns.txt"
+       section = "chkconfig named --list"
+       content = {}
+       RC = RC_DNS_ERROR
+       if Core.getSection(fileOpen, section, content):
+               for line in content:
+                       if content[line].startswith(DNS_SERVICE):
+                               if ":on" in content[line]:
+                                       RC = RC_DNS_ENABLED
+                               else:
+                                       RC = RC_DNS_DISABLED
+       return RC
+
+##############################################################################
+# Main Program Execution
+##############################################################################
+
+ACTIVE_VERSION = SUSE.compareKernel(KERNEL_VERSION)
+if( ACTIVE_VERSION < 0 ):
+       if( SUSE.packageInstalled(DNS_PACKAGE) ):
+               SERVICE_INFO = namedStatus()
+               if( SERVICE_INFO == RC_DNS_DISABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.IGNORE, "Service is 
disabled: " + str(DNS_SERVICE))
+               elif( SERVICE_INFO == RC_DNS_ENABLED ):
+                       if( workAroundApplied() ):
+                               Core.updateStatus(Core.WARN, "SAD DNS security 
risk detected, but workaround applied, update server for fixes")
+                       else:
+                               Core.updateStatus(Core.CRIT, "SAD DNS security 
risk detected, update server for fixes")
+               else:
+                               Core.updateStatus(Core.WARN, "Potential SAD DNS 
security risk if named enabled, update server for fixes")
+       else:
+               Core.updateStatus(Core.ERROR, "The package " + DNS_PACKAGE + " 
is NOT installed")       
+else:
+       Core.updateStatus(Core.IGNORE, "SAD DNS security risk resolved in 
kernel version " + KERNEL_VERSION)
+
+Core.printPatternResults()
+

Reply via email to