Hello community,

here is the log from the commit of package firebird for openSUSE:Factory 
checked in at 2012-06-10 20:15:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/firebird (Old)
 and      /work/SRC/openSUSE:Factory/.firebird.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "firebird", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/firebird/firebird-classic.changes        
2012-05-29 11:37:24.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.firebird.new/firebird-classic.changes   
2012-06-10 21:50:45.000000000 +0200
@@ -1,0 +2,29 @@
+Wed Jun  6 12:44:04 UTC 2012 - [email protected]
+
+- update to upstream version 2.5.2.25494
+  * Rolled back the ODS level solution for CORE-2709 as it causes
+    cross-version compatibility issues (CORE-3853) as well as
+    functional regressions (CORE-3675). Another solution is likely
+    to be committed instead.
+  * CORE-3769: The message 'Unknown tag (4) in isc_svc_query()
+    results' appears when fbtracemgr is interrupted by Ctrl-C
+
+-------------------------------------------------------------------
+Sun Jun  3 13:49:11 UTC 2012 - [email protected]
+
+- update to upstream version 2.5.2.25492
+  * CORE-3855: Blobs, inserted into GLOBAL TEMPORARY TABLE ON
+    COMMIT DELETE ROWS, could be placed into newly allocated
+    pages even if there is enough free place on some existing
+    data page
+  * isql: fix output if charset is different from locale
+  * Backported fix of timed semaphores in 32-bit build
+- firebird-2.5.2-isqlalign.patch:
+  refresh
+- firebird-2.5.2-isqllocale.patch:
+  backported isql fix of output if locale different from charset
+- firebird-2.5.2-isqlwidth.patch:
+  backported fix for buffer overflow in isql if column width set
+  wider that its natural size
+
+-------------------------------------------------------------------
firebird.changes: same change

Old:
----
  Firebird-2.5.2.26488-0.tar.bz2

New:
----
  Firebird-2.5.2.26494-0.tar.bz2
  firebird-2.5.2-isqllocale.patch
  firebird-2.5.2-isqlwidth.patch

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

Other differences:
------------------
++++++ firebird-classic.spec ++++++
--- /var/tmp/diff_new_pack.Kl8asP/_old  2012-06-10 21:50:47.000000000 +0200
+++ /var/tmp/diff_new_pack.Kl8asP/_new  2012-06-10 21:50:47.000000000 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define upversion 2.5.2.26488
+%define upversion 2.5.2.26494
 %define pkgversion Firebird-%{upversion}-0
 %define bname firebird
 
@@ -49,6 +49,8 @@
 Patch6:         %{bname}-2.5.1-config.patch
 Patch7:         %{bname}-2.5.2-pkgconfig.patch
 Patch11:        %{bname}-2.5.2-isqlalign.patch
+Patch12:        %{bname}-2.5.2-isqllocale.patch
+Patch13:        %{bname}-2.5.2-isqlwidth.patch
 
 %description
 Classic architecture binaries for Firebird SQL server. These can be used
@@ -72,6 +74,8 @@
 %patch6
 %patch7
 %patch11 -p1
+%patch12 -p1
+%patch13 -p1
 
 %build
 ./autogen.sh --prefix=%{_prefix} \

++++++ firebird.spec ++++++
--- /var/tmp/diff_new_pack.Kl8asP/_old  2012-06-10 21:50:47.000000000 +0200
+++ /var/tmp/diff_new_pack.Kl8asP/_new  2012-06-10 21:50:47.000000000 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define upversion 2.5.2.26488
+%define upversion 2.5.2.26494
 %define pkgversion Firebird-%{upversion}-0
 
 %if 0%{?suse_version} < 1130
@@ -47,6 +47,8 @@
 Patch6:         %{name}-2.5.1-config.patch
 Patch7:         %{name}-2.5.2-pkgconfig.patch
 Patch11:        %{name}-2.5.2-isqlalign.patch
+Patch12:        %{name}-2.5.2-isqllocale.patch
+Patch13:        %{name}-2.5.2-isqlwidth.patch
 
 %description
 Firebird is a relational database offering many ANSI SQL standard
@@ -65,6 +67,8 @@
 %patch6
 %patch7
 %patch11 -p1
+%patch12 -p1
+%patch13 -p1
 
 %build
 ./autogen.sh --prefix=%{_prefix} \

++++++ Firebird-2.5.2.26488-0.tar.bz2 -> Firebird-2.5.2.26494-0.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/firebird/Firebird-2.5.2.26488-0.tar.bz2 
/work/SRC/openSUSE:Factory/.firebird.new/Firebird-2.5.2.26494-0.tar.bz2 differ: 
char 11, line 1

++++++ firebird-2.5.2-isqlalign.patch ++++++
--- /var/tmp/diff_new_pack.Kl8asP/_old  2012-06-10 21:50:47.000000000 +0200
+++ /var/tmp/diff_new_pack.Kl8asP/_new  2012-06-10 21:50:47.000000000 +0200
@@ -8,15 +8,15 @@
 
        src/isql/isql.epp
 ---
- src/isql/isql.epp |  153 +++++++++++++++++++++++++++++++++++++++++++++--------
+ src/isql/isql.epp |  159 +++++++++++++++++++++++++++++++++++++++++++---------
  src/isql/isql.h   |    1 +
- 2 files changed, 132 insertions(+), 22 deletions(-)
+ 2 files changed, 132 insertions(+), 28 deletions(-)
 
 diff --git a/src/isql/isql.epp b/src/isql/isql.epp
-index db01282..8cde5d8 100644
+index d764102..dc0936d 100644
 --- a/src/isql/isql.epp
 +++ b/src/isql/isql.epp
-@@ -128,6 +128,8 @@ using MsgFormat::SafeArg;
+@@ -131,6 +131,8 @@ using MsgFormat::SafeArg;
  #include "../isql/InputDevices.h"
  #include "../isql/OptionsBase.h"
  
@@ -25,7 +25,7 @@
  
  DATABASE DB = COMPILETIME "yachts.lnk";
  
-@@ -242,6 +244,98 @@ const switch_info switches[] =
+@@ -245,6 +247,98 @@ const switch_info switches[] =
  };
  
  
@@ -124,7 +124,7 @@
  static inline bool commit_trans(isc_tr_handle* x)
  {
        if (isc_commit_transaction (isc_status, x)) {
-@@ -578,6 +672,7 @@ int ISQL_main(int argc, char* argv[])
+@@ -583,6 +677,7 @@ int ISQL_main(int argc, char* argv[])
        TEXT tabname[WORDLENGTH];
        tabname[0] = '\0';
        isqlGlob.db_SQL_dialect = 0;
@@ -132,7 +132,7 @@
  
        // Output goes to stdout by default
        isqlGlob.Out = stdout;
-@@ -5857,6 +5952,7 @@ void ISQL_get_version(bool call_by_create_db)
+@@ -5862,6 +5957,7 @@ void ISQL_get_version(bool call_by_create_db)
                isc_info_ods_version,
                isc_info_ods_minor_version,
                isc_info_db_sql_dialect,
@@ -140,7 +140,7 @@
                Version_info ? isc_info_firebird_version: isc_info_end,
                isc_info_end
        };
-@@ -6013,6 +6109,10 @@ void ISQL_get_version(bool call_by_create_db)
+@@ -6018,6 +6114,10 @@ void ISQL_get_version(bool call_by_create_db)
                        }
                        break;
  
@@ -151,7 +151,26 @@
                default:
                        isqlGlob.printf("Internal error: Unexpected 
isc_info_value %d%s",
                                                        item, NEWLINE);
-@@ -7640,15 +7740,12 @@ static SSHORT print_item(TEXT** s, XSQLVAR* var, const 
int length)
+@@ -7358,18 +7458,6 @@ static bool checkSpecial(TEXT* const p, const int 
length, const double value)
+ }
+ 
+ 
+-static void align_string(char* out, unsigned clen, unsigned slen, const char* 
s)
+-{
+-      if (slen > clen)
+-              slen = clen;
+-      memcpy(out, s, slen);
+-      if (clen > slen)
+-              memset(out + slen, ' ', clen - slen);
+-      out[clen] = ' ';
+-      out[clen + 1] = '\0';
+-}
+-
+-
+ static SSHORT print_item(TEXT** s, XSQLVAR* var, const int length)
+ {
+ /**************************************
+@@ -7657,12 +7745,12 @@ static SSHORT print_item(TEXT** s, XSQLVAR* var, const 
int length)
                                        sprintf(p, "%-*s ", length, buff2);
                                ISQL_FREE(buff2);
                        }
@@ -161,16 +180,13 @@
 -                      }
                        else
                        {
--                              // Truncate if necessary
--                              if (length < var->sqllen)
--                                      string[length] = '\0';
--                              sprintf(p, "%-*s ", length, var->sqldata);
+-                              align_string(p, length, var->sqllen, 
var->sqldata);
 +                              IcuUtil::pad(p, var->sqlsubtype, 
strlen(var->sqldata), var->sqldata, length, false);
 +                              strcat(p, " ");
                        }
                        break;
  
-@@ -7736,15 +7833,12 @@ static SSHORT print_item(TEXT** s, XSQLVAR* var, const 
int length)
+@@ -7750,12 +7838,12 @@ static SSHORT print_item(TEXT** s, XSQLVAR* var, const 
int length)
                                        }
                                        ISQL_FREE(buff2);
                                }
@@ -180,16 +196,13 @@
 -                              }
                                else
                                {
--                                      // Truncate if necessary
--                                      if (length < avary->vary_length)
--                                              avary->vary_length = length;
--                                      sprintf(p, "%-*.*s ", length, (int) 
avary->vary_length, avary->vary_string);
+-                                      align_string(p, length, 
avary->vary_length, avary->vary_string);
 +                                      IcuUtil::pad(p, var->sqlsubtype, 
avary->vary_length, avary->vary_string, length, false);
 +                                      strcat(p, " ");
                                }
                                break;
                        }
-@@ -8182,16 +8276,20 @@ static void process_header(const XSQLDA* sqlda, const 
int pad[], TEXT header[],
+@@ -8193,16 +8281,20 @@ static void process_header(const XSQLDA* sqlda, const 
int pad[], TEXT header[],
        for (const XSQLVAR* const end = var + sqlda->sqld; var < end; var++, 
i++)
        {
                const SSHORT type = var->sqltype & ~1;
@@ -217,7 +230,7 @@
        }
        *p2 = '\0';
  }
-@@ -8430,7 +8528,7 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
+@@ -8441,7 +8533,7 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
  
                USHORT data_length, disp_length, alignment;
                data_length = disp_length = alignment = var->sqllen;
@@ -226,7 +239,7 @@
  
                // Minimum display length should not be less than that needed
                // for displaying null
-@@ -8472,6 +8570,8 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
+@@ -8483,6 +8575,8 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
                        // OCTETS data is displayed in hex
                        if (var->sqlsubtype == 1)
                                disp_length = 2 * var->sqllen;
@@ -235,7 +248,7 @@
                        break;
                case SQL_VARYING:
                        data_length += sizeof(USHORT) + 1;
-@@ -8479,6 +8579,8 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
+@@ -8490,6 +8584,8 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
                        // OCTETS data is displayed in hex
                        if (var->sqlsubtype == 1)
                                disp_length = 2 * var->sqllen;
@@ -244,7 +257,7 @@
                        break;
                case SQL_SHORT:
                        disp_length = SHORT_LEN;
-@@ -8509,7 +8611,10 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
+@@ -8520,7 +8616,10 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
  
                // This is the print width of each column
  
@@ -256,7 +269,7 @@
  
                // Is there a collist entry, then use that width, but only for 
text
                if (type == SQL_TEXT || type == SQL_VARYING)
-@@ -8518,8 +8623,11 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
+@@ -8529,8 +8628,11 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
                                pad[i] = global_Col_default;
                }
  
@@ -269,7 +282,7 @@
  
                // Allocate space in buffer for data
  
-@@ -8527,6 +8635,7 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
+@@ -8538,6 +8640,7 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
                var->sqldata = (SCHAR*) buffer + offset;
                offset += data_length;
        }

++++++ firebird-2.5.2-isqllocale.patch ++++++
From: mkubecek <mkubecek@de594faa-8d1b-4a0c-9a6a-a7de5f8bf859>
Date: Tue, 29 May 2012 20:14:54 +0000
Subject: isql: fix output if charset is different from locale

git-svn-id: 
https://firebird.svn.sourceforge.net/svnroot/firebird/firebird/trunk@54565 
de594faa-8d1b-4a0c-9a6a-a7de5f8bf859
---
 src/isql/isql.epp |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/src/isql/isql.epp b/src/isql/isql.epp
index dc0936d..4930ccf 100644
--- a/src/isql/isql.epp
+++ b/src/isql/isql.epp
@@ -306,7 +306,18 @@ namespace IcuUtil
                        if (len > width)
                                len = width;
 
-                       sprintf(buffer, (right ? "%*.*s" : "%-*.*s"), width, 
len, str);
+                       if (right) {
+                               memcpy(buffer + width - len, str, len);
+                               if (width > len)
+                                       memset(buffer, ' ', width - len);
+                       }
+                       else
+                       {
+                               memcpy(buffer, str, len);
+                               if (width > len)
+                                       memset(buffer + len, ' ', width - len);
+                       }
+                       buffer[width] = '\0';
                        return;
                }
 
-- 
1.7.7

++++++ firebird-2.5.2-isqlwidth.patch ++++++
From: mkubecek <mkubecek@de594faa-8d1b-4a0c-9a6a-a7de5f8bf859>
Date: Tue, 29 May 2012 20:19:58 +0000
Subject: isql: fix buffer overflow when 'set width' sets bigger width than 
column's natural size

git-svn-id: 
https://firebird.svn.sourceforge.net/svnroot/firebird/firebird/trunk@54566 
de594faa-8d1b-4a0c-9a6a-a7de5f8bf859
---
 src/isql/isql.epp |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/src/isql/isql.epp b/src/isql/isql.epp
index 4930ccf..8e071d8 100644
--- a/src/isql/isql.epp
+++ b/src/isql/isql.epp
@@ -8637,6 +8637,7 @@ static SLONG process_sqlda_display(XSQLDA* const sqlda, 
SLONG buffer[], int pad[
                {
                        if (!global_Cols.find(var->aliasname, &pad[i]) && 
global_Col_default)
                                pad[i] = global_Col_default;
+                       disp_length = pad[i];
                }
 
                if ((type == SQL_TEXT || type == SQL_VARYING) && 
var->sqlsubtype == 4)
-- 
1.7.7

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to