Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: pu

Dear Release Team,

pdns-server in stable has shipped with old SQL schema files, having
both records.content and supermasters.ip too short.

records.content being too short makes DNSSEC basically not work, as
RRSIGs tend to be longer (#698911).
supermasters.ip being too short causes issues with IPv6 master/slave
operation (#707761).

Both of these issues have been fixed in unstable by the upload of a
new upstream version. Upstream has indicated that it'd be a good idea
to fix these bugs in stable too (as both issues are likely to hit more
and more users as DNSSEC and/or IPv6 is deployed more widely).

I'm attaching a diff of the proposed upload.
Note that only MySQL and PostgreSQL backends get upgrade files
added, as sqlite ignores column length restrictions.

Thanks,
Christian

-- 
 ,''`.  Christian Hofstaedtler <z...@debian.org>
: :' :  Debian Developer
`. `'   7D1A CFFA D9E0 806C 9C4C  D392 5C13 D6DB 9305 2E03
  `-
diff -Nru pdns-3.1/debian/changelog pdns-3.1/debian/changelog
--- pdns-3.1/debian/changelog	2012-06-28 23:00:49.000000000 +0200
+++ pdns-3.1/debian/changelog	2014-01-22 00:41:25.000000000 +0100
@@ -1,3 +1,13 @@
+pdns (3.1-4.1) stable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix lengths of the records.content and supermasters.ip column.
+    Upgrades are only done for mysql and pgsql, as sqlite does not
+    care about column length limits anyway.
+    (Closes: #698911, #707761)
+
+ -- Christian Hofstaedtler <z...@debian.org>  Tue, 21 Jan 2014 23:45:34 +0100
+
 pdns (3.1-4) unstable; urgency=low
 
   * put /etc/default/pdns back under ucf control.
diff -Nru pdns-3.1/debian/pdns-backend-mysql.install pdns-3.1/debian/pdns-backend-mysql.install
--- pdns-3.1/debian/pdns-backend-mysql.install	2012-06-28 23:00:49.000000000 +0200
+++ pdns-3.1/debian/pdns-backend-mysql.install	2014-01-22 00:17:11.000000000 +0100
@@ -2,3 +2,4 @@
 debian/tmp/usr/lib/powerdns/libgmysqlbackend.a usr/lib/powerdns/
 debian/sql/mysql/mysql usr/share/dbconfig-common/data/pdns-backend-mysql/install/
 debian/sql/mysql/3.0-1 usr/share/dbconfig-common/data/pdns-backend-mysql/upgrade/mysql/
+debian/sql/mysql/3.1-4.1 usr/share/dbconfig-common/data/pdns-backend-mysql/upgrade/mysql/
diff -Nru pdns-3.1/debian/pdns-backend-pgsql.install pdns-3.1/debian/pdns-backend-pgsql.install
--- pdns-3.1/debian/pdns-backend-pgsql.install	2012-06-28 23:00:49.000000000 +0200
+++ pdns-3.1/debian/pdns-backend-pgsql.install	2014-01-22 00:17:22.000000000 +0100
@@ -2,3 +2,4 @@
 debian/tmp/usr/lib/powerdns/libgpgsqlbackend.a usr/lib/powerdns/
 debian/sql/pgsql/pgsql usr/share/dbconfig-common/data/pdns-backend-pgsql/install/
 debian/sql/pgsql/3.0-1 usr/share/dbconfig-common/data/pdns-backend-pgsql/upgrade/pgsql/
+debian/sql/pgsql/3.1-4.1 usr/share/dbconfig-common/data/pdns-backend-pgsql/upgrade/pgsql/
diff -Nru pdns-3.1/debian/sql/mysql/3.1-4.1 pdns-3.1/debian/sql/mysql/3.1-4.1
--- pdns-3.1/debian/sql/mysql/3.1-4.1	1970-01-01 01:00:00.000000000 +0100
+++ pdns-3.1/debian/sql/mysql/3.1-4.1	2014-01-22 00:04:07.000000000 +0100
@@ -0,0 +1,3 @@
+-- Field extensions to fix schema distributed in 3.1-4
+ALTER TABLE records MODIFY content VARCHAR(64000);
+ALTER TABLE supermasters MODIFY ip VARCHAR(64);
diff -Nru pdns-3.1/debian/sql/mysql/mysql pdns-3.1/debian/sql/mysql/mysql
--- pdns-3.1/debian/sql/mysql/mysql	2012-06-28 23:00:49.000000000 +0200
+++ pdns-3.1/debian/sql/mysql/mysql	2014-01-22 00:06:38.000000000 +0100
@@ -16,7 +16,7 @@
   domain_id       INT DEFAULT NULL,
   name            VARCHAR(255) DEFAULT NULL,
   type            VARCHAR(6) DEFAULT NULL,
-  content         VARCHAR(255) DEFAULT NULL,
+  content         VARCHAR(64000) DEFAULT NULL,
   ttl             INT DEFAULT NULL,
   prio            INT DEFAULT NULL,
   change_date     INT DEFAULT NULL,
@@ -28,7 +28,7 @@
 CREATE INDEX domain_id ON records(domain_id);
 
 create table supermasters (
-  ip VARCHAR(25) NOT NULL, 
+  ip VARCHAR(64) NOT NULL,
   nameserver VARCHAR(255) NOT NULL, 
   account VARCHAR(40) DEFAULT NULL
 );
diff -Nru pdns-3.1/debian/sql/pgsql/3.1-4.1 pdns-3.1/debian/sql/pgsql/3.1-4.1
--- pdns-3.1/debian/sql/pgsql/3.1-4.1	1970-01-01 01:00:00.000000000 +0100
+++ pdns-3.1/debian/sql/pgsql/3.1-4.1	2014-01-22 00:02:23.000000000 +0100
@@ -0,0 +1,3 @@
+-- Field extensions to fix schema distributed in 3.1-4
+ALTER TABLE records ALTER COLUMN content TYPE VARCHAR(65535);
+ALTER TABLE supermasters ALTER COLUMN ip TYPE VARCHAR(64);
diff -Nru pdns-3.1/debian/sql/pgsql/pgsql pdns-3.1/debian/sql/pgsql/pgsql
--- pdns-3.1/debian/sql/pgsql/pgsql	2012-06-28 23:00:49.000000000 +0200
+++ pdns-3.1/debian/sql/pgsql/pgsql	2014-01-22 00:06:45.000000000 +0100
@@ -14,7 +14,7 @@
         domain_id       INT DEFAULT NULL,
         name            VARCHAR(255) DEFAULT NULL,
         type            VARCHAR(6) DEFAULT NULL,
-        content         VARCHAR(255) DEFAULT NULL,
+        content         VARCHAR(65535) DEFAULT NULL,
         ttl             INT DEFAULT NULL,
         prio            INT DEFAULT NULL,
         change_date     INT DEFAULT NULL, 
@@ -28,7 +28,7 @@
 CREATE INDEX domain_id ON records(domain_id);
 
 create table supermasters (
-    ip VARCHAR(25) NOT NULL, 
+    ip VARCHAR(64) NOT NULL,
     nameserver VARCHAR(255) NOT NULL, 
     account VARCHAR(40) DEFAULT NULL
 );
diff -Nru pdns-3.1/debian/sql/sqlite3/sqlite3 pdns-3.1/debian/sql/sqlite3/sqlite3
--- pdns-3.1/debian/sql/sqlite3/sqlite3	2012-06-28 23:00:49.000000000 +0200
+++ pdns-3.1/debian/sql/sqlite3/sqlite3	2014-01-22 00:06:55.000000000 +0100
@@ -15,7 +15,7 @@
 	domain_id       INTEGER DEFAULT NULL,
 	name            VARCHAR(255) DEFAULT NULL, 
 	type            VARCHAR(10) DEFAULT NULL,
-	content         VARCHAR(255) DEFAULT NULL,
+	content         VARCHAR(65535) DEFAULT NULL,
 	ttl             INTEGER DEFAULT NULL,
 	prio            INTEGER DEFAULT NULL,
 	change_date     INTEGER DEFAULT NULL
@@ -26,7 +26,7 @@
 CREATE INDEX domain_id ON records(domain_id);
 
 create table supermasters (
-	ip          VARCHAR(25) NOT NULL, 
+	ip          VARCHAR(64) NOT NULL,
 	nameserver  VARCHAR(255) NOT NULL COLLATE NOCASE, 
 	account     VARCHAR(40) DEFAULT NULL
 );

Reply via email to