aboutsummaryrefslogtreecommitdiff
path: root/dns/powerdns/pkg-install
blob: bbdcebe104814c1e5cb60b0d2821419db873d6b0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#! /bin/sh

# $FreeBSD$

PATH=/bin:/usr/bin:/usr/sbin

securitywarning() {
cat <<EOF

  === IMPORTANT FOR GPGSQL BACKEND USERS! ===
  The following only impacts anyone using the
  gpgsql (PostgreSQL) backend:

  An issue has been found in PowerDNS
  Authoritative Server allowing an authorized
  user to cause the server to exit by
  inserting a crafted record in a MASTER type
  zone under their control. The issue is due
  to the fact that the Authoritative Server
  will exit when it tries to store the
  notified serial in the PostgreSQL database,
  if this serial cannot be represented in 31
  bits.

  To fix the issue, run the following command
  against your PostgreSQL pdns database:

  ALTER TABLE domains ALTER notified_serial
  TYPE bigint USING CASE WHEN notified_serial
  >= 0 THEN notified_serial::bigint END;

  No software changes are required.
  ===========================================
EOF
}

case $2 in
PRE-INSTALL)
        securitywarning
        sleep 5
        ;;
esac