[sems] Disallow usage of Glibc private functions
Peter Lemenkov
peter at fedoraproject.org
Tue Jan 4 20:35:24 UTC 2011
commit 1a9e966e4e823d6912b611eb6d2cd17ba4b27c7d
Author: Peter Lemenkov <lemenkov at gmail.com>
Date: Tue Jan 4 23:34:49 2011 +0300
Disallow usage of Glibc private functions
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
...001-Force-to-use-system-wide-GSM-includes.patch | 2 +-
...llow-rewrite-of-custom-makefiles-by-CMake.patch | 2 +-
...Set-CFG_PREFIX-to-empty-string-by-default.patch | 2 +-
...ql-in-conference-and-early_announce-modul.patch | 2 +-
...aid_sip-plugin-to-default-exclude-list-du.patch | 2 +-
sems-0006-last-minute-fix-proper-version.patch | 2 +-
...gateway-module-s-version-passing-in-CMake.patch | 2 +-
sems-0008-Install-email-template.patch | 2 +-
sems-0009-Don-t-start-py_sems-by-default.patch | 2 +-
sems-0010-Move-CMake-defines.patch | 2 +-
...-0011-Avoid-using-private-Glibc-functions.patch | 67 ++++++++++++++++++++
sems.spec | 8 ++-
12 files changed, 84 insertions(+), 11 deletions(-)
---
diff --git a/sems-0001-Force-to-use-system-wide-GSM-includes.patch b/sems-0001-Force-to-use-system-wide-GSM-includes.patch
index 280d7bd..d09b793 100644
--- a/sems-0001-Force-to-use-system-wide-GSM-includes.patch
+++ b/sems-0001-Force-to-use-system-wide-GSM-includes.patch
@@ -1,7 +1,7 @@
From de3c54f85f893e4ee985b1da93cc014b00456fa8 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Wed, 31 Mar 2010 11:52:52 +0400
-Subject: [PATCH 01/10] Force to use system-wide GSM includes
+Subject: [PATCH 01/11] Force to use system-wide GSM includes
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch b/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
index ae99289..0cfeab8 100644
--- a/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
+++ b/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
@@ -1,7 +1,7 @@
From 26929b6a7a62299b71bf7c99f17f75670a2040e2 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Wed, 31 Mar 2010 11:53:48 +0400
-Subject: [PATCH 02/10] Allow rewrite of custom makefiles by CMake
+Subject: [PATCH 02/11] Allow rewrite of custom makefiles by CMake
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch b/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
index 9809b67..df0a5ad 100644
--- a/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
+++ b/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
@@ -1,7 +1,7 @@
From e322f2e00e48b639b5d87ed06738aa24d99396bf Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Wed, 31 Mar 2010 18:56:39 +0400
-Subject: [PATCH 03/10] Set CFG_PREFIX to empty string by default
+Subject: [PATCH 03/11] Set CFG_PREFIX to empty string by default
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch b/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch
index 71dfa53..8cb0ce1 100644
--- a/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch
+++ b/sems-0004-Disable-mysql-in-conference-and-early_announce-modul.patch
@@ -1,7 +1,7 @@
From 4a2b5ca2644db000dbace63c8bdd278109f6d356 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Fri, 25 Jun 2010 12:16:45 +0400
-Subject: [PATCH 04/10] Disable mysql++ in conference and early_announce modules
+Subject: [PATCH 04/11] Disable mysql++ in conference and early_announce modules
Unfortunately, this breaks existing configurations, which is a
no-go situation for EPEL repository. We'll enable it later.
diff --git a/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch b/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch
index 177b81c..38807cb 100644
--- a/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch
+++ b/sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch
@@ -1,7 +1,7 @@
From 2f0556c126f2cae0edec32b0fd269d496dd068f6 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Mon, 27 Sep 2010 14:13:00 +0400
-Subject: [PATCH 05/10] Add sw_prepaid_sip plugin to default exclude list (due to missing cc_acc)
+Subject: [PATCH 05/11] Add sw_prepaid_sip plugin to default exclude list (due to missing cc_acc)
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0006-last-minute-fix-proper-version.patch b/sems-0006-last-minute-fix-proper-version.patch
index e4a508b..8d04ed8 100644
--- a/sems-0006-last-minute-fix-proper-version.patch
+++ b/sems-0006-last-minute-fix-proper-version.patch
@@ -1,7 +1,7 @@
From 708b02d96f4a4acb7c4ede0387a84d2f5948e0db Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Mon, 27 Dec 2010 17:18:46 +0300
-Subject: [PATCH 06/10] last-minute fix - proper version
+Subject: [PATCH 06/11] last-minute fix - proper version
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch b/sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch
index 114e13d..a36628f 100644
--- a/sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch
+++ b/sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch
@@ -1,7 +1,7 @@
From 7f2c45fc1e9c2c1900244709abfa125c9b7e5755 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Wed, 29 Dec 2010 16:02:44 +0300
-Subject: [PATCH 07/10] Fix gateway module's version passing in CMake
+Subject: [PATCH 07/11] Fix gateway module's version passing in CMake
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0008-Install-email-template.patch b/sems-0008-Install-email-template.patch
index fb3a6ea..3eaf049 100644
--- a/sems-0008-Install-email-template.patch
+++ b/sems-0008-Install-email-template.patch
@@ -1,7 +1,7 @@
From 57e8f6ccdf5335207f7017414487db6bf81a64f3 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Wed, 29 Dec 2010 16:55:50 +0300
-Subject: [PATCH 08/10] Install email template
+Subject: [PATCH 08/11] Install email template
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0009-Don-t-start-py_sems-by-default.patch b/sems-0009-Don-t-start-py_sems-by-default.patch
index d69fe6c..ef3b946 100644
--- a/sems-0009-Don-t-start-py_sems-by-default.patch
+++ b/sems-0009-Don-t-start-py_sems-by-default.patch
@@ -1,7 +1,7 @@
From 8712daf57f4ec10caadd215dc969b1f261a949b5 Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Wed, 29 Dec 2010 17:02:49 +0300
-Subject: [PATCH 09/10] Don't start py_sems by default
+Subject: [PATCH 09/11] Don't start py_sems by default
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0010-Move-CMake-defines.patch b/sems-0010-Move-CMake-defines.patch
index 3fc8636..be1b8be 100644
--- a/sems-0010-Move-CMake-defines.patch
+++ b/sems-0010-Move-CMake-defines.patch
@@ -1,7 +1,7 @@
From c6fe28de4a05e33c317019261711f2babe98b95d Mon Sep 17 00:00:00 2001
From: Peter Lemenkov <lemenkov at gmail.com>
Date: Mon, 3 Jan 2011 22:16:24 +0300
-Subject: [PATCH 10/10] Move CMake defines
+Subject: [PATCH 10/11] Move CMake defines
Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
---
diff --git a/sems-0011-Avoid-using-private-Glibc-functions.patch b/sems-0011-Avoid-using-private-Glibc-functions.patch
new file mode 100644
index 0000000..048a0a9
--- /dev/null
+++ b/sems-0011-Avoid-using-private-Glibc-functions.patch
@@ -0,0 +1,67 @@
+From fb437ef493d6023e936bd55088df7e6d99452cfb Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Tue, 4 Jan 2011 22:34:03 +0300
+Subject: [PATCH 11/11] Avoid using private Glibc functions
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ core/sip/resolver.cpp | 33 +++++++++++++++++++++++++++------
+ 1 files changed, 27 insertions(+), 6 deletions(-)
+
+diff --git a/core/sip/resolver.cpp b/core/sip/resolver.cpp
+index e3443c7..3b3e4a6 100644
+--- a/core/sip/resolver.cpp
++++ b/core/sip/resolver.cpp
+@@ -54,6 +54,27 @@ using std::list;
+ // (the limit is the # bits in dns_handle::srv_used)
+ #define MAX_SRV_RR (sizeof(unsigned int)*8)
+
++/* The SEMS_GET16 macro and the sems_get16 function were copied from glibc 2.7
++ * (include/arpa/nameser.h (NS_GET16) and resolv/ns_netint.c (ns_get16)) to
++ * avoid using private glibc functions.
++ */
++
++# define SEMS_GET16(s, cp) \
++ do { \
++ uint16_t *t_cp = (uint16_t *) (cp); \
++ (s) = ntohs (*t_cp); \
++ (cp) += NS_INT16SZ; \
++} while (0)
++
++u_int
++sems_get16(const u_char *src)
++{
++ u_int dst;
++
++ SEMS_GET16(dst, src);
++ return (dst);
++}
++
+ struct ip_entry
+ : public dns_base_entry
+ {
+@@ -399,15 +420,15 @@ dns_base_entry* dns_srv_entry::get_rr(dns_record* rr, u_char* begin, u_char* end
+ DBG("SRV:\tTTL=%i\t%s\tP=<%i> W=<%i> P=<%i> T=<%s>\n",
+ ns_rr_ttl(*rr),
+ ns_rr_name(*rr),
+- ns_get16(rdata),
+- ns_get16(rdata+2),
+- ns_get16(rdata+4),
++ sems_get16(rdata),
++ sems_get16(rdata+2),
++ sems_get16(rdata+4),
+ name_buf);
+
+ srv_entry* srv_r = new srv_entry();
+- srv_r->p = ns_get16(rdata);
+- srv_r->w = ns_get16(rdata+2);
+- srv_r->port = ns_get16(rdata+4);
++ srv_r->p = sems_get16(rdata);
++ srv_r->w = sems_get16(rdata+2);
++ srv_r->port = sems_get16(rdata+4);
+ srv_r->target = (const char*)name_buf;
+
+ return srv_r;
+--
+1.7.3.4
+
diff --git a/sems.spec b/sems.spec
index 275924f..2011424 100644
--- a/sems.spec
+++ b/sems.spec
@@ -1,7 +1,7 @@
Summary: SIP Express Media Server, an extensible SIP media server
Name: sems
Version: 1.3.1
-Release: 3%{?dist}
+Release: 4%{?dist}
URL: http://www.iptel.org/sems
## wget http://ftp.iptel.org/pub/sems/sems-1.3.1.tar.gz
## tar zx --exclude iLBC_rfc3951 -f sems-1.3.1.tar.gz
@@ -30,6 +30,8 @@ Patch8: sems-0008-Install-email-template.patch
Patch9: sems-0009-Don-t-start-py_sems-by-default.patch
# Backported
Patch10: sems-0010-Move-CMake-defines.patch
+# Will be proposed for inclusion into upstream
+Patch11: sems-0011-Avoid-using-private-Glibc-functions.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: python >= 2.3
@@ -205,6 +207,7 @@ rm -rf core/plug-in/gsm/gsm-1.0-pl10/
%patch8 -p1 -b .install_email_template
%patch9 -p1 -b .dont_start_py_sems
%patch10 -p1 -b .correct_defines
+%patch11 -p1 -b .private_functions
iconv -f iso8859-1 -t UTF-8 doc/Readme.diameter_client.txt > doc/Readme.diameter_client.utf8 && mv doc/Readme.diameter_client.{utf8,txt}
@@ -604,6 +607,9 @@ fi
%{_libdir}/%{name}/plug-in/xmlrpc2di.so
%changelog
+* Tue Jan 4 2011 Peter Lemenkov <lemenkov at gmail.com> 1.3.1-4
+- Disallow usage of Glibc private functions
+
* Mon Jan 3 2011 Peter Lemenkov <lemenkov at gmail.com> 1.3.1-3
- Fixed linking issues
More information about the scm-commits
mailing list