Git-Url: http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=8e6897b4b67d95b8ae0ab7530fe034f7f37b4a4a
commit 8e6897b4b67d95b8ae0ab7530fe034f7f37b4a4a Author: DeX77 <[email protected]> Date: Tue Feb 2 10:16:41 2016 +0100 firebird-2.5.5.26952.0-1-x86_64 * version bump / fix user creation diff --git a/source/apps-extra/firebird/CVE-2014-9323.patch b/source/apps-extra/firebird/CVE-2014-9323.patch deleted file mode 100644 index 5deb365..0000000 --- a/source/apps-extra/firebird/CVE-2014-9323.patch +++ /dev/null @@ -1,46 +0,0 @@ -Description: Fix unauthenticated remote crash (CVE-2014-9323) - Taken from upstream revision 60322 -Origin: upstream; http://sourceforge.net/p/firebird/code/60322/ - ---- a/src/remote/protocol.cpp -+++ b/src/remote/protocol.cpp -@@ -398,6 +398,8 @@ bool_t xdr_protocol(XDR* xdrs, PACKET* p - MAP(xdr_short, reinterpret_cast<SSHORT&>(response->p_resp_object)); - MAP(xdr_quad, response->p_resp_blob_id); - MAP(xdr_cstring, response->p_resp_data); -+ if (!response->p_resp_status_vector) // incorrectly called - packet not prepared -+ return P_FALSE(xdrs, p); - return xdr_status_vector(xdrs, response->p_resp_status_vector) ? - P_TRUE(xdrs, p) : P_FALSE(xdrs, p); - -@@ -1652,9 +1654,12 @@ static bool_t xdr_status_vector(XDR* xdr - - SLONG vec; - SCHAR* sp = NULL; -+ ISC_STATUS* const end = &vector[ISC_STATUS_LENGTH]; - - while (true) - { -+ if (vector >= end) -+ return FALSE; - if (xdrs->x_op == XDR_ENCODE) - vec = (SLONG) * vector++; - if (!xdr_long(xdrs, &vec)) -@@ -1670,6 +1675,8 @@ static bool_t xdr_status_vector(XDR* xdr - case isc_arg_interpreted: - case isc_arg_string: - case isc_arg_sql_state: -+ if (vector >= end) -+ return FALSE; - if (xdrs->x_op == XDR_ENCODE) - { - if (!xdr_wrapstring(xdrs, reinterpret_cast<SCHAR**>(vector++))) -@@ -1700,6 +1707,8 @@ static bool_t xdr_status_vector(XDR* xdr - - case isc_arg_number: - default: -+ if (vector >= end) -+ return FALSE; - if (xdrs->x_op == XDR_ENCODE) - vec = (SLONG) * vector++; - if (!xdr_long(xdrs, &vec)) diff --git a/source/apps-extra/firebird/FrugalBuild b/source/apps-extra/firebird/FrugalBuild index f8b7d5a..72bac16 100644 --- a/source/apps-extra/firebird/FrugalBuild +++ b/source/apps-extra/firebird/FrugalBuild @@ -1,17 +1,16 @@ # Compiling Time: 19.80 SBU # Maintainer: Miklos Vajna <[email protected]> -options+=('asneeded') - pkgname=firebird -pkgver=2.5.2.26540.0 -srcver=2.5.2.26540-0 -majorver=2.5.2 -pkgrel=6 +pkgver=2.5.5.26952.0 +srcver=2.5.5.26952-0 +majorver=2.5.5 +pkgrel=1 pkgdesc="SQL relational database management system" _F_sourceforge_name="Firebird" _F_sourceforge_ext=".tar.bz2" _F_sourceforge_rss_limit="200" +_F_archive_grepv="ReleaseCandidate\|Beta" Finclude sourceforge url="http://www.firebirdsql.org/" rodepends=("libfbembed=$pkgver-$pkgrel" "libfbclient=$pkgver-$pkgrel") @@ -25,16 +24,14 @@ source=(http://downloads.sourceforge.net/firebird/Firebird-$srcver.tar.bz2 \ firebird-classic.socket \ firebird-superclassic.service \ firebird-superserver.service \ - firebird-2.5.2-svn-CORE-3946.patch \ - firebird-btyacc-fpie.patch) -sha1sums=('1b91d3b01d27ea420d21daa025ded3dffa9b297a' \ + firebird-btyacc-fpie.patch ) +sha1sums=('1b04e30bc5092a6e8d2121ba627f24f6aa40de7d' \ 'ca23a67741ebb8cb6c222c4422ab3eb1b4c7f52a' \ '5ca4921375cdca2bbe3c553905a3e9c14a151af3' \ 'cd60465a2d87247f367209bf4da1ce2ed9130156' \ '3dc22b6b8979321406d6769356cef4341bb1ca15' \ 'c0aa0e3a5fc13738493977cac1055da5f314d7a6' \ '0f0565ba21bc815cfe03bbfe584683568722c8ff' \ - '2ab9120dbe705bc3d1adbf75e1b040eb9bd02a18' \ '836a7999b7df814ece053ec52a0259ca7665a575') subpkgs=('libfbembed') @@ -50,11 +47,6 @@ subgroups=("${subgroups[@]}" 'lib-extra') subarchs=("${subarchs[@]}" 'i686 x86_64') -# FSA fix *** -source=(${source[@]} CVE-2014-9323.patch) -sha1sums=(${sha1sums[@]} '220371bacb6a91c541bc0872aab59ab6cfeabcc2') -# *********** - build() { set -e diff --git a/source/apps-extra/firebird/firebird-2.5.2-svn-CORE-3946.patch b/source/apps-extra/firebird/firebird-2.5.2-svn-CORE-3946.patch deleted file mode 100644 index 5fb9f304..0000000 --- a/source/apps-extra/firebird/firebird-2.5.2-svn-CORE-3946.patch +++ /dev/null @@ -1,151 +0,0 @@ ---- src/jrd/unicode_util.cpp 2012/10/12 09:56:14 57235 -+++ src/jrd/unicode_util.cpp 2012/10/12 21:20:30 57236 -@@ -42,6 +42,9 @@ - #include "unicode/ucnv.h" - #include "unicode/ucol.h" - -+// The next major ICU version after 4.8 is 49. -+#define ICU_NEW_VERSION_MEANING 49 -+ - - using namespace Firebird; - -@@ -49,8 +52,16 @@ - namespace Jrd { - - -+#if U_ICU_VERSION_MAJOR_NUM >= ICU_NEW_VERSION_MEANING -+const char* const UnicodeUtil::DEFAULT_ICU_VERSION = STRINGIZE(U_ICU_VERSION_MAJOR_NUM); -+#else - const char* const UnicodeUtil::DEFAULT_ICU_VERSION = - STRINGIZE(U_ICU_VERSION_MAJOR_NUM)"."STRINGIZE(U_ICU_VERSION_MINOR_NUM); -+#endif -+ -+ -+static void formatFilename(PathName& filename, const char* templateName, -+ int majorVersion, int minorVersion); - - - // encapsulate ICU collations libraries -@@ -79,6 +90,11 @@ - { - string symbol; - -+ symbol.printf("%s_%d", name, majorVersion); -+ module->findSymbol(symbol, ptr); -+ if (ptr) -+ return; -+ - symbol.printf("%s_%d_%d", name, majorVersion, minorVersion); - module->findSymbol(symbol, ptr); - if (ptr) -@@ -157,14 +173,25 @@ - RWLock lock; - }; - --namespace { -- GlobalPtr<UnicodeUtil::ICUModules> icuModules; --} -+static GlobalPtr<UnicodeUtil::ICUModules> icuModules; - - - static const char* const COLL_30_VERSION = "41.128.4.4"; // ICU 3.0 collator version - - -+static void formatFilename(PathName& filename, const char* templateName, -+ int majorVersion, int minorVersion) -+{ -+ string s; -+ if (majorVersion >= ICU_NEW_VERSION_MEANING) -+ s.printf("%d", majorVersion); -+ else -+ s.printf("%d%d", majorVersion, minorVersion); -+ -+ filename.printf(templateName, s.c_str()); -+} -+ -+ - static void getVersions(const string& configInfo, ObjectsArray<string>& versions) - { - charset cs; -@@ -758,17 +785,17 @@ - const Firebird::string& configInfo) - { - #if defined(WIN_NT) -- const char* const inTemplate = "icuin%d%d.dll"; -- const char* const ucTemplate = "icuuc%d%d.dll"; -+ const char* const inTemplate = "icuin%s.dll"; -+ const char* const ucTemplate = "icuuc%s.dll"; - #elif defined(DARWIN) - const char* const inTemplate = "/Library/Frameworks/Firebird.framework/Versions/A/Libraries/libicui18n.dylib"; - const char* const ucTemplate = "/Library/Frameworks/Firebird.framework/versions/A/Libraries/libicuuc.dylib"; - #elif defined(HPUX) -- const char* const inTemplate = "libicui18n.sl.%d%d"; -- const char* const ucTemplate = "libicuuc.sl.%d%d"; -+ const char* const inTemplate = "libicui18n.sl.%s"; -+ const char* const ucTemplate = "libicuuc.sl.%s"; - #else -- const char* const inTemplate = "libicui18n.so.%d%d"; -- const char* const ucTemplate = "libicuuc.so.%d%d"; -+ const char* const inTemplate = "libicui18n.so.%s"; -+ const char* const ucTemplate = "libicuuc.so.%s"; - #endif - - ObjectsArray<string> versions; -@@ -776,24 +803,28 @@ - - string version = icuVersion.isEmpty() ? versions[0] : icuVersion; - if (version == "default") -- { -- version.printf("%d.%d", U_ICU_VERSION_MAJOR_NUM, U_ICU_VERSION_MINOR_NUM); -- } -+ version = DEFAULT_ICU_VERSION; - - for (ObjectsArray<string>::const_iterator i(versions.begin()); i != versions.end(); ++i) - { - int majorVersion, minorVersion; -+ int n = sscanf((*i == "default" ? version : *i).c_str(), "%d.%d", -+ &majorVersion, &minorVersion); - -- if (*i == "default") -- { -- majorVersion = U_ICU_VERSION_MAJOR_NUM; -- minorVersion = U_ICU_VERSION_MINOR_NUM; -- } -- else if (sscanf(i->c_str(), "%d.%d", &majorVersion, &minorVersion) != 2) -+ if (n == 1) -+ minorVersion = 0; -+ else if (n != 2) - continue; - - string configVersion; -- configVersion.printf("%d.%d", majorVersion, minorVersion); -+ -+ if (majorVersion >= ICU_NEW_VERSION_MEANING) -+ { -+ minorVersion = 0; -+ configVersion.printf("%d", majorVersion); -+ } -+ else -+ configVersion.printf("%d.%d", majorVersion, minorVersion); - - if (version != configVersion) - continue; -@@ -805,7 +836,7 @@ - return icu; - - PathName filename; -- filename.printf(ucTemplate, majorVersion, minorVersion); -+ formatFilename(filename, ucTemplate, majorVersion, minorVersion); - - icu = FB_NEW(*getDefaultMemoryPool()) ICU(majorVersion, minorVersion); - -@@ -822,7 +853,7 @@ - continue; - } - -- filename.printf(inTemplate, majorVersion, minorVersion); -+ formatFilename(filename, inTemplate, majorVersion, minorVersion); - - icu->inModule = ModuleLoader::loadModule(filename); - if (!icu->inModule) diff --git a/source/apps-extra/firebird/firebird.install b/source/apps-extra/firebird/firebird.install index ff4dede..a917b20 100644 --- a/source/apps-extra/firebird/firebird.install +++ b/source/apps-extra/firebird/firebird.install @@ -1,20 +1,25 @@ post_install() { if ! grep -q '^firebird:' /etc/group ; then - groupadd -g 115 firebird + /usr/sbin/groupadd -g 115 firebird fi if ! grep -q '^firebird:' /etc/passwd ; then - useradd -u 115 -g 115 -s /bin/false -c "Firebird" -d /var/lib/firebird firebird + /usr/sbin/useradd -u 115 -g 115 -s /bin/false -c "Firebird" -d /var/lib/firebird firebird fi } pre_remove() { - userdel -r firebird >/dev/null 2>&1 - groupdel firebird >/dev/null 2>&1 + /usr/sbin/userdel -r firebird >/dev/null 2>&1 + /usr/sbin/groupdel firebird >/dev/null 2>&1 rm -fr /var/lib/firebird 2>&1 } +post_upgrade() +{ + post_install +} + op=$1 shift _______________________________________________ Frugalware-git mailing list [email protected] http://frugalware.org/mailman/listinfo/frugalware-git
