]> git.ipfire.org Git - thirdparty/pdns.git/log
thirdparty/pdns.git
5 years agoMerge pull request #7805 from Habbie/circleci-pr
Pieter Lexis [Mon, 13 May 2019 08:07:36 +0000 (10:07 +0200)] 
Merge pull request #7805 from Habbie/circleci-pr

fix PR checkout in circle-ci testing

5 years agofix PR checkout in circle-ci testing 7805/head
Kees Hoekzema [Fri, 10 May 2019 09:18:23 +0000 (11:18 +0200)] 
fix PR checkout in circle-ci testing

5 years agoMerge pull request #7789 from mind04/7785
Pieter Lexis [Thu, 9 May 2019 10:08:04 +0000 (12:08 +0200)] 
Merge pull request #7789 from mind04/7785

Fix for #7785

5 years agoMerge pull request #7786 from pieterlexis/circle-ci-part1
Pieter Lexis [Thu, 9 May 2019 10:03:41 +0000 (12:03 +0200)] 
Merge pull request #7786 from pieterlexis/circle-ci-part1

Part one of Circle-CI integration

5 years agoMerge pull request #7792 from dol/patch-1
Remi Gacogne [Thu, 9 May 2019 09:04:49 +0000 (11:04 +0200)] 
Merge pull request #7792 from dol/patch-1

[dnsdist] Doc fix of carbonServer

5 years agoMerge pull request #7783 from pieterlexis/ship-srpm
Pieter Lexis [Thu, 9 May 2019 07:29:33 +0000 (09:29 +0200)] 
Merge pull request #7783 from pieterlexis/ship-srpm

ship SRPM files as well

5 years agoMerge pull request #7788 from pieterlexis/trusty-no-dep-on-dns-root-data
Pieter Lexis [Thu, 9 May 2019 07:28:27 +0000 (09:28 +0200)] 
Merge pull request #7788 from pieterlexis/trusty-no-dep-on-dns-root-data

pkgs: don't depend on dns-root-data on Trusty

5 years agoRemove LDAP testing from Travis 7786/head
Pieter Lexis [Wed, 8 May 2019 13:18:54 +0000 (15:18 +0200)] 
Remove LDAP testing from Travis

5 years ago[dnsdist] Doc fix of carbonServer 7792/head
Dominic [Tue, 7 May 2019 23:26:24 +0000 (01:26 +0200)] 
[dnsdist] Doc fix of carbonServer

Adds missing parameter documentation

5 years agoauth: update lmdb tests and some cleanup 7789/head
Kees Monshouwer [Tue, 7 May 2019 16:48:04 +0000 (18:48 +0200)] 
auth: update lmdb tests and some cleanup

5 years agoauth: fix, missing insecure zones in authSet #7785
Kees Monshouwer [Mon, 6 May 2019 21:56:13 +0000 (23:56 +0200)] 
auth: fix, missing insecure zones in authSet #7785

5 years agoauth: test for #7785
Peter van Dijk [Tue, 7 May 2019 07:54:52 +0000 (09:54 +0200)] 
auth: test for #7785

5 years agoRemove unused circleci.sh script
Pieter Lexis [Tue, 7 May 2019 10:55:35 +0000 (12:55 +0200)] 
Remove unused circleci.sh script

5 years agopkgs: don't depend on dns-root-data on Trusty 7788/head
Pieter Lexis [Tue, 7 May 2019 10:47:21 +0000 (12:47 +0200)] 
pkgs: don't depend on dns-root-data on Trusty

That package does not exist on Trusty

5 years agoMerge pull request #7782 from aerique/feature/update-changelog-and-secpoll-for-rec...
aerique [Tue, 7 May 2019 09:00:42 +0000 (11:00 +0200)] 
Merge pull request #7782 from aerique/feature/update-changelog-and-secpoll-for-rec-4.2.0-beta1

Update changelog and secpoll for rec-4.2.0-beta1.

5 years agoAdd tinydns testing
Pieter Lexis [Mon, 15 Apr 2019 13:03:21 +0000 (15:03 +0200)] 
Add tinydns testing

5 years agoBuild auth with libsodium in circleci
Pieter Lexis [Thu, 11 Apr 2019 10:13:04 +0000 (12:13 +0200)] 
Build auth with libsodium in circleci

5 years agoBuild and test mydns
Pieter Lexis [Thu, 11 Apr 2019 09:45:10 +0000 (11:45 +0200)] 
Build and test mydns

5 years agoAdd algorithm tests
Pieter Lexis [Thu, 11 Apr 2019 09:43:42 +0000 (11:43 +0200)] 
Add algorithm tests

5 years agoAdd LDAP backend to testing
Pieter Lexis [Wed, 10 Apr 2019 15:58:29 +0000 (17:58 +0200)] 
Add LDAP backend to testing

5 years agoTest postgresql backend
Pieter Lexis [Wed, 10 Apr 2019 10:16:03 +0000 (12:16 +0200)] 
Test postgresql backend

5 years agoskip root tests for godbc sqlite
Pieter Lexis [Wed, 10 Apr 2019 09:49:58 +0000 (11:49 +0200)] 
skip root tests for godbc sqlite

5 years agoAdd auth API tests
Pieter Lexis [Tue, 9 Apr 2019 14:52:44 +0000 (16:52 +0200)] 
Add auth API tests

5 years agoAdd root-zone testing
Pieter Lexis [Tue, 9 Apr 2019 14:34:33 +0000 (16:34 +0200)] 
Add root-zone testing

5 years agoAdd lmdb to circle
Pieter Lexis [Tue, 9 Apr 2019 14:30:54 +0000 (16:30 +0200)] 
Add lmdb to circle

5 years agoInstall perl Net::DNS
Pieter Lexis [Tue, 9 Apr 2019 14:09:05 +0000 (16:09 +0200)] 
Install perl Net::DNS

5 years agoSkip optout tests in travis (ldns is too old)
Pieter Lexis [Tue, 9 Apr 2019 13:45:39 +0000 (15:45 +0200)] 
Skip optout tests in travis (ldns is too old)

5 years agoAdd bind tests
Pieter Lexis [Tue, 9 Apr 2019 13:20:52 +0000 (15:20 +0200)] 
Add bind tests

5 years agoAdd sqlite3 tests
Pieter Lexis [Tue, 9 Apr 2019 13:20:10 +0000 (15:20 +0200)] 
Add sqlite3 tests

5 years agoAdd mysql tests
Pieter Lexis [Tue, 9 Apr 2019 12:26:05 +0000 (14:26 +0200)] 
Add mysql tests

5 years agoAllow missing tools in verify-dnssec-zone
Pieter Lexis [Tue, 9 Apr 2019 12:57:17 +0000 (14:57 +0200)] 
Allow missing tools in verify-dnssec-zone

5 years agoadd command to set up the auth regression env
Pieter Lexis [Tue, 9 Apr 2019 12:40:35 +0000 (14:40 +0200)] 
add command to set up the auth regression env

5 years agoSplit auth tests to workflows, add ccache cache, use shallow clones
Pieter Lexis [Tue, 9 Apr 2019 12:02:10 +0000 (14:02 +0200)] 
Split auth tests to workflows, add ccache cache, use shallow clones

5 years agoAdd recursor API test
Pieter Lexis [Mon, 8 Apr 2019 14:06:02 +0000 (16:06 +0200)] 
Add recursor API test

5 years agoadd ccache cache to recursor builds
Pieter Lexis [Mon, 8 Apr 2019 13:36:30 +0000 (15:36 +0200)] 
add ccache cache to recursor builds

5 years agoAdd parallel recursor tests
Pieter Lexis [Mon, 8 Apr 2019 10:17:08 +0000 (12:17 +0200)] 
Add parallel recursor tests

5 years agoBuild the recursor in circleci
Pieter Lexis [Mon, 8 Apr 2019 09:02:40 +0000 (11:02 +0200)] 
Build the recursor in circleci

5 years agoMove auth build and test to workflow
Pieter Lexis [Mon, 8 Apr 2019 08:27:51 +0000 (10:27 +0200)] 
Move auth build and test to workflow

5 years agoMerge pull request #7773 from hnsk/add-ipv6-example-for-addlocal
Remi Gacogne [Mon, 6 May 2019 09:03:39 +0000 (11:03 +0200)] 
Merge pull request #7773 from hnsk/add-ipv6-example-for-addlocal

dnsdist: Change addLocal example to IPv6 address in quickstart

5 years agoMerge pull request #7764 from omoerbeek/rec-split-syncres-tests
Otto Moerbeek [Mon, 6 May 2019 06:56:50 +0000 (08:56 +0200)] 
Merge pull request #7764 from omoerbeek/rec-split-syncres-tests

Split test-syncres_cc.cc into multiple files to make them more digestible

5 years agoship SRPM files as well 7783/head
Pieter Lexis [Sun, 5 May 2019 12:25:38 +0000 (14:25 +0200)] 
ship SRPM files as well

5 years agodnsdist: Change addLocal example to IPv6 address in quickstart 7773/head
Hannu Ylitalo [Fri, 3 May 2019 09:44:51 +0000 (11:44 +0200)] 
dnsdist: Change addLocal example to IPv6 address in quickstart

5 years agoMerge pull request #7772 from mind04/fix
Pieter Lexis [Thu, 2 May 2019 19:34:57 +0000 (21:34 +0200)] 
Merge pull request #7772 from mind04/fix

auth: always add DS for secure zones, broken since #7523

5 years agoauth: always add DS for secure zones, broken since #7523 7772/head
Kees Monshouwer [Thu, 2 May 2019 18:01:30 +0000 (20:01 +0200)] 
auth: always add DS for secure zones, broken since #7523

5 years agoMerge pull request #7523 from mind04/non-dnssec
Pieter Lexis [Thu, 2 May 2019 11:41:34 +0000 (13:41 +0200)] 
Merge pull request #7523 from mind04/non-dnssec

disable dnssec pre-processing for non dnssec zones and avoid a lot of isSecuredZone() calls

5 years agoMerge pull request #7569 from pieterlexis/pdnsutil-err-on-broken-masters
Pieter Lexis [Thu, 2 May 2019 11:40:28 +0000 (13:40 +0200)] 
Merge pull request #7569 from pieterlexis/pdnsutil-err-on-broken-masters

Improve error reporting with garbage in the 'master' field of the database

5 years agoMerge pull request #7637 from mind04/referral
Pieter Lexis [Thu, 2 May 2019 11:39:52 +0000 (13:39 +0200)] 
Merge pull request #7637 from mind04/referral

auth: fix referral response for DS queries

5 years agoMerge pull request #7736 from franklouwers/pdnsutildocs
Pieter Lexis [Thu, 2 May 2019 11:38:23 +0000 (13:38 +0200)] 
Merge pull request #7736 from franklouwers/pdnsutildocs

Add documentation for pdnsutil delete-rrset and replace-rrset

5 years agoMerge pull request #7753 from jpmens/patch-11
Pieter Lexis [Thu, 2 May 2019 11:38:08 +0000 (13:38 +0200)] 
Merge pull request #7753 from jpmens/patch-11

pdns_control reopens geoip databases on reload

5 years agoMerge pull request #7738 from cvdwel/patch-2
Pieter Lexis [Thu, 2 May 2019 11:37:56 +0000 (13:37 +0200)] 
Merge pull request #7738 from cvdwel/patch-2

Add export-zone-ds to pdnsutil man page

5 years agoMerge pull request #7765 from omoerbeek/dnswasher-abstract-but-non-virtual-dt
Pieter Lexis [Thu, 2 May 2019 11:37:38 +0000 (13:37 +0200)] 
Merge pull request #7765 from omoerbeek/dnswasher-abstract-but-non-virtual-dt

Fix a delete call on abstract class without virtual dt clang warning.

5 years agoMerge pull request #7655 from rgacogne/dumresp-tcp
Pieter Lexis [Thu, 2 May 2019 11:37:07 +0000 (13:37 +0200)] 
Merge pull request #7655 from rgacogne/dumresp-tcp

dumresp: Add TCP support

5 years agoMerge pull request #7662 from omoerbeek/auth-fix-7656-ns-resolve-exception
Pieter Lexis [Thu, 2 May 2019 11:36:48 +0000 (13:36 +0200)] 
Merge pull request #7662 from omoerbeek/auth-fix-7656-ns-resolve-exception

Do not exit on exception resolving addresses to notify

5 years agoMerge pull request #7690 from mnordhoff/ref
Pieter Lexis [Thu, 2 May 2019 11:36:35 +0000 (13:36 +0200)] 
Merge pull request #7690 from mnordhoff/ref

docs: Fix a few reference markup errors

5 years agoMerge pull request #7666 from phonedph1/jsonstat
Pieter Lexis [Thu, 2 May 2019 11:36:11 +0000 (13:36 +0200)] 
Merge pull request #7666 from phonedph1/jsonstat

rec: start to document the jsonstat

5 years agoMerge pull request #7645 from gertvdijk/docs-fix-numerous-things-big-chain
Pieter Lexis [Thu, 2 May 2019 11:35:25 +0000 (13:35 +0200)] 
Merge pull request #7645 from gertvdijk/docs-fix-numerous-things-big-chain

Various fixes/updates/rewording to documentation

5 years agoMerge branch 'master' into docs-fix-numerous-things-big-chain 7645/head
Pieter Lexis [Thu, 2 May 2019 11:35:13 +0000 (13:35 +0200)] 
Merge branch 'master' into docs-fix-numerous-things-big-chain

5 years agoMerge pull request #7723 from Habbie/auth-superslave
Pieter Lexis [Thu, 2 May 2019 11:33:55 +0000 (13:33 +0200)] 
Merge pull request #7723 from Habbie/auth-superslave

rename supermaster to superslave, and mention in upgrade notes

5 years agoMerge pull request #7733 from franklouwers/mysql-docs2
Pieter Lexis [Thu, 2 May 2019 11:33:32 +0000 (13:33 +0200)] 
Merge pull request #7733 from franklouwers/mysql-docs2

Clarify the "easy setup guide": schema listed is for 4.2/master only

5 years agoMerge pull request #7735 from franklouwers/docs
Pieter Lexis [Thu, 2 May 2019 11:33:10 +0000 (13:33 +0200)] 
Merge pull request #7735 from franklouwers/docs

Make guide more clear

5 years agoMerge pull request #7750 from zeha/dedup-ldap-schema
Peter van Dijk [Thu, 2 May 2019 10:28:25 +0000 (12:28 +0200)] 
Merge pull request #7750 from zeha/dedup-ldap-schema

Debian packages: remove duplicated dnsdomain2.schema

5 years agoMerge pull request #7751 from Habbie/pycurl-darwin
Peter van Dijk [Thu, 2 May 2019 10:10:03 +0000 (12:10 +0200)] 
Merge pull request #7751 from Habbie/pycurl-darwin

pycurl settings for darwin/brew

5 years agoMerge pull request #7730 from rgacogne/rec-negcache-replace-back rec-4.2.0-beta1
aerique [Tue, 30 Apr 2019 13:38:59 +0000 (15:38 +0200)] 
Merge pull request #7730 from rgacogne/rec-negcache-replace-back

rec: Move replaced negcache entries to the back of the expunge queue

5 years agoFix a delete call on abstract class without virtual dt clang warning. 7765/head
Otto Moerbeek [Tue, 30 Apr 2019 13:02:43 +0000 (15:02 +0200)] 
Fix a delete call on abstract class without virtual dt clang warning.

5 years agoMerge pull request #7571 from rgacogne/rec-pipe-buffer-size
aerique [Tue, 30 Apr 2019 12:46:30 +0000 (14:46 +0200)] 
Merge pull request #7571 from rgacogne/rec-pipe-buffer-size

rec: Add a distribution-pipe-buffer-size setting

5 years agoSplit test-syncres_cc.cc into multiple files to make them more 7764/head
Otto Moerbeek [Tue, 30 Apr 2019 08:57:10 +0000 (10:57 +0200)] 
Split test-syncres_cc.cc into multiple files to make them more
digestible.  The split is done without looking at groups of tests.
We might want to change that.

5 years agoMerge pull request #7761 from jpmens/patch-12
Peter van Dijk [Mon, 29 Apr 2019 17:26:52 +0000 (19:26 +0200)] 
Merge pull request #7761 from jpmens/patch-12

s/ZSK/CSK

5 years agos/ZSK/CSK 7761/head
JP Mens [Mon, 29 Apr 2019 17:04:04 +0000 (19:04 +0200)] 
s/ZSK/CSK

5 years agorec: Add a distribution-pipe-buffer-size setting 7571/head
Remi Gacogne [Wed, 13 Mar 2019 10:35:42 +0000 (11:35 +0100)] 
rec: Add a distribution-pipe-buffer-size setting

5 years agoMerge pull request #7714 from rgacogne/rec-non-expanded-wildcard
Remi Gacogne [Fri, 26 Apr 2019 13:04:16 +0000 (15:04 +0200)] 
Merge pull request #7714 from rgacogne/rec-non-expanded-wildcard

 rec: Fix DNSSEC validation of non-expanded wildcards

5 years agoMerge pull request #7756 from rgacogne/dnsdist-doc-fixes-2
Pieter Lexis [Fri, 26 Apr 2019 12:43:03 +0000 (14:43 +0200)] 
Merge pull request #7756 from rgacogne/dnsdist-doc-fixes-2

dnsdist: Include dnsnameset.rst in the reference index

5 years agodnsdist: Include dnsnameset.rst in the reference index 7756/head
Remi Gacogne [Fri, 26 Apr 2019 12:36:15 +0000 (14:36 +0200)] 
dnsdist: Include dnsnameset.rst in the reference index

5 years agoMerge pull request #7744 from rgacogne/dnsdist-140-a2
Remi Gacogne [Fri, 26 Apr 2019 12:19:57 +0000 (14:19 +0200)] 
Merge pull request #7744 from rgacogne/dnsdist-140-a2

dnsdist: Prepare secpoll and ChangeLog updates for 1.4.0-alpha2

5 years agoMerge pull request #6341 from pieterlexis/rec-dname-support
aerique [Fri, 26 Apr 2019 11:47:18 +0000 (13:47 +0200)] 
Merge pull request #6341 from pieterlexis/rec-dname-support

recursor: Add DNAME support

5 years agoauth: add comments to explain the DS referall logic 7637/head
Kees Monshouwer [Fri, 26 Apr 2019 10:08:58 +0000 (12:08 +0200)] 
auth: add comments to explain the DS referall logic

5 years agoMerge pull request #7480 from pieterlexis/rec-throttle-fwd-recurse
aerique [Fri, 26 Apr 2019 09:04:23 +0000 (11:04 +0200)] 
Merge pull request #7480 from pieterlexis/rec-throttle-fwd-recurse

rec: implement a way to disallow throtteling of auths

5 years agodnsdist: Update the release date for 1.4.0-alpha2 7744/head
Remi Gacogne [Fri, 26 Apr 2019 07:42:02 +0000 (09:42 +0200)] 
dnsdist: Update the release date for 1.4.0-alpha2

5 years agoadd DoT and DoH requirements to dnsdist testing README 7751/head
Peter van Dijk [Thu, 25 Apr 2019 20:49:15 +0000 (22:49 +0200)] 
add DoT and DoH requirements to dnsdist testing README

5 years agomacos pycurl: require curl-openssl from brew
Peter van Dijk [Thu, 25 Apr 2019 16:15:51 +0000 (18:15 +0200)] 
macos pycurl: require curl-openssl from brew

5 years agopdns_control reopens geoip databases on reload 7753/head
JP Mens [Thu, 25 Apr 2019 18:43:40 +0000 (20:43 +0200)] 
pdns_control reopens geoip databases on reload

closes https://github.com/PowerDNS/pdns/issues/7752

5 years agoDebian packages: remove duplicated dnsdomain2.schema 7750/head
Chris Hofstaedtler [Thu, 25 Apr 2019 13:37:50 +0000 (15:37 +0200)] 
Debian packages: remove duplicated dnsdomain2.schema

5 years agoMerge pull request #7737 from pieterlexis/debian-buster-pkgs dnsdist-1.4.0-alpha2
Remi Gacogne [Thu, 25 Apr 2019 11:15:07 +0000 (13:15 +0200)] 
Merge pull request #7737 from pieterlexis/debian-buster-pkgs

pkgs: build for Debian Buster

5 years agoMerge pull request #7749 from Habbie/dnsdist-configure-libs
Remi Gacogne [Thu, 25 Apr 2019 11:14:24 +0000 (13:14 +0200)] 
Merge pull request #7749 from Habbie/dnsdist-configure-libs

refactor tls/https lib handling to cover all option combinations

5 years agoMerge pull request #7748 from rgacogne/ddist-docs
Remi Gacogne [Thu, 25 Apr 2019 11:08:32 +0000 (13:08 +0200)] 
Merge pull request #7748 from rgacogne/ddist-docs

dnsdist: Fix doc for checkInterval, setECSOverride and the ACL

5 years agorec: Fix DNSSEC validation of wildcards expanded onto themselves 7714/head
Remi Gacogne [Thu, 11 Apr 2019 13:25:10 +0000 (15:25 +0200)] 
rec: Fix DNSSEC validation of wildcards expanded onto themselves

5 years agorec: Add a 'query for a wildcard-like expanded from a wildcard' test
Remi Gacogne [Thu, 25 Apr 2019 08:15:02 +0000 (10:15 +0200)] 
rec: Add a 'query for a wildcard-like expanded from a wildcard' test

5 years agorec: Add a DNSSEC validation unit test for non-expanded wildcards
Remi Gacogne [Thu, 11 Apr 2019 13:24:37 +0000 (15:24 +0200)] 
rec: Add a DNSSEC validation unit test for non-expanded wildcards

5 years agoMerge pull request #7713 from Habbie/auth-rec-ta
Remi Gacogne [Thu, 25 Apr 2019 07:22:47 +0000 (09:22 +0200)] 
Merge pull request #7713 from Habbie/auth-rec-ta

auth: export TAs and forward zones for rec testing with auth zones

5 years agoauth: export TAs and forward zones for rec testing with auth zones 7713/head
Peter van Dijk [Thu, 11 Apr 2019 13:24:32 +0000 (15:24 +0200)] 
auth: export TAs and forward zones for rec testing with auth zones

5 years agorefactor tls/https lib handling to cover all option combinations 7749/head
Peter van Dijk [Wed, 24 Apr 2019 15:17:58 +0000 (17:17 +0200)] 
refactor tls/https lib handling to cover all option combinations

5 years agodnsdist: Document that the ACL also filters DoT and DoH queries 7748/head
Remi Gacogne [Wed, 24 Apr 2019 13:38:26 +0000 (15:38 +0200)] 
dnsdist: Document that the ACL also filters DoT and DoH queries

5 years agodnsdist: Document `setECSOverride()`
Remi Gacogne [Wed, 24 Apr 2019 13:34:43 +0000 (15:34 +0200)] 
dnsdist: Document `setECSOverride()`

5 years agodnsdist: Document that `checkInterval` was only introduced in 1.4.0
Remi Gacogne [Wed, 24 Apr 2019 13:34:02 +0000 (15:34 +0200)] 
dnsdist: Document that `checkInterval` was only introduced in 1.4.0

5 years agoSupport building Ubuntu Disco Dingo packages 7737/head
Pieter Lexis [Wed, 24 Apr 2019 12:41:05 +0000 (14:41 +0200)] 
Support building Ubuntu Disco Dingo packages

5 years agoMerge pull request #7746 from rgacogne/dnsdist-doh-dest-matching
Remi Gacogne [Wed, 24 Apr 2019 12:27:30 +0000 (14:27 +0200)] 
Merge pull request #7746 from rgacogne/dnsdist-doh-dest-matching

dnsdist: Fix destination matching with DoH

5 years agodebian buster: Fix the --with-net-snmp invocation
Pieter Lexis [Wed, 24 Apr 2019 11:02:03 +0000 (13:02 +0200)] 
debian buster: Fix the --with-net-snmp invocation

5 years agodnsdist: Add DoH to buster, bionic and cosmic
Pieter Lexis [Wed, 24 Apr 2019 10:32:09 +0000 (12:32 +0200)] 
dnsdist: Add DoH to buster, bionic and cosmic

5 years agodnsdist: Fix destination matching with DoH 7746/head
Remi Gacogne [Wed, 24 Apr 2019 10:22:10 +0000 (12:22 +0200)] 
dnsdist: Fix destination matching with DoH

5 years agoMerge remote-tracking branch 'origin/master' into dnsdist-pkg-fixes
Pieter Lexis [Wed, 24 Apr 2019 06:41:26 +0000 (08:41 +0200)] 
Merge remote-tracking branch 'origin/master' into dnsdist-pkg-fixes

5 years agodnsdist: Prepare secpoll and ChangeLog updates for 1.4.0-alpha2
Remi Gacogne [Tue, 23 Apr 2019 15:16:06 +0000 (17:16 +0200)] 
dnsdist: Prepare secpoll and ChangeLog updates for 1.4.0-alpha2