]> git.ipfire.org Git - thirdparty/unbound.git/log
thirdparty/unbound.git
5 years ago- Fix lock dependency cycle in rpz zone config setup.
W.C.A. Wijngaards [Fri, 17 Jul 2020 15:15:55 +0000 (17:15 +0200)] 
- Fix lock dependency cycle in rpz zone config setup.

5 years ago- Fix libnettle compile for session ticket key callback function
W.C.A. Wijngaards [Fri, 17 Jul 2020 14:53:52 +0000 (16:53 +0200)] 
- Fix libnettle compile for session ticket key callback function
  changes.

5 years agoMerge branch 'jcourreges-align-cmsg-buffers'
Ralph Dolmans [Fri, 17 Jul 2020 11:07:49 +0000 (13:07 +0200)] 
Merge branch 'jcourreges-align-cmsg-buffers'

5 years ago- Merge PR #234 - Ensure proper alignment of cmsg buffers by Jérémie
Ralph Dolmans [Fri, 17 Jul 2020 11:07:03 +0000 (13:07 +0200)] 
- Merge PR #234 - Ensure proper alignment of cmsg buffers by Jérémie
  Courrèges-Anglas.
- Fix PR #234 log_assert sizeof to use union buffer.

5 years agoMerge branch 'align-cmsg-buffers' of https://github.com/jcourreges/unbound into jcour...
Ralph Dolmans [Fri, 17 Jul 2020 11:01:44 +0000 (13:01 +0200)] 
Merge branch 'align-cmsg-buffers' of https://github.com/jcourreges/unbound into jcourreges-align-cmsg-buffers

5 years agoMerge branch 'master' into infra-keep-probing
W.C.A. Wijngaards [Thu, 16 Jul 2020 14:00:06 +0000 (16:00 +0200)] 
Merge branch 'master' into infra-keep-probing

5 years agoMerge branch 'master' into stream-reuse
W.C.A. Wijngaards [Thu, 16 Jul 2020 13:58:20 +0000 (15:58 +0200)] 
Merge branch 'master' into stream-reuse

5 years ago- Fix unused variable warning for clang analyzer.
W.C.A. Wijngaards [Thu, 16 Jul 2020 13:41:25 +0000 (15:41 +0200)] 
- Fix unused variable warning for clang analyzer.

5 years ago- Fix check conf test for referencing installation paths.
W.C.A. Wijngaards [Thu, 16 Jul 2020 12:47:15 +0000 (14:47 +0200)] 
- Fix check conf test for referencing installation paths.

5 years agoMerge branch 'master' into stream-reuse
W.C.A. Wijngaards [Thu, 16 Jul 2020 12:13:24 +0000 (14:13 +0200)] 
Merge branch 'master' into stream-reuse

5 years ago- Changelog entry for PR #265; include-toplevel.
George Thessalonikefs [Thu, 16 Jul 2020 11:01:14 +0000 (13:01 +0200)] 
- Changelog entry for PR #265; include-toplevel.

5 years agoMerge pull request #265 from NLnetLabs/include-toplevel
gthess [Thu, 16 Jul 2020 10:57:42 +0000 (12:57 +0200)] 
Merge pull request #265 from NLnetLabs/include-toplevel

Introduce include-toplevel configuration option; closes #161.

5 years agoMerge branch 'master' into include-toplevel 265/head
George Thessalonikefs [Thu, 16 Jul 2020 10:53:29 +0000 (12:53 +0200)] 
Merge branch 'master' into include-toplevel

5 years agoChange unbound-dnstap-socket void cast for unused parameter
Ralph Dolmans [Thu, 16 Jul 2020 10:31:30 +0000 (12:31 +0200)] 
Change unbound-dnstap-socket void cast for unused parameter

5 years ago- Add changelog entry for bidirectional frame streams support.
Ralph Dolmans [Thu, 16 Jul 2020 09:45:10 +0000 (11:45 +0200)] 
- Add changelog entry for bidirectional frame streams support.

5 years agoMerge pull request #264 from NLnetLabs/fstrm-bidi
Ralph Dolmans [Thu, 16 Jul 2020 09:42:29 +0000 (11:42 +0200)] 
Merge pull request #264 from NLnetLabs/fstrm-bidi

Bidirectional frame streams support

5 years agocorrect byte count in comment 264/head
Ralph Dolmans [Thu, 16 Jul 2020 08:54:18 +0000 (10:54 +0200)] 
correct byte count in comment

5 years agoremove unused define
Ralph Dolmans [Wed, 15 Jul 2020 21:01:13 +0000 (23:01 +0200)] 
remove unused define

5 years agoCleaned up adjustment in message encoding, fixes spurious negative TTLs
Ubuntu [Wed, 15 Jul 2020 15:36:06 +0000 (15:36 +0000)] 
Cleaned up adjustment in message encoding, fixes spurious negative TTLs

5 years agodnstap log message typo fix
Ralph Dolmans [Wed, 15 Jul 2020 15:33:48 +0000 (17:33 +0200)] 
dnstap log message typo fix

5 years agoLog dnstap connection close due to unknown content type.
Ralph Dolmans [Wed, 15 Jul 2020 15:31:18 +0000 (17:31 +0200)] 
Log dnstap connection close due to unknown content type.

5 years ago- Ignore unknown frame streams control fields.
Ralph Dolmans [Wed, 15 Jul 2020 15:16:14 +0000 (17:16 +0200)] 
- Ignore unknown frame streams control fields.

5 years agoAdd feature to serve original TTLs rather than decrementing ones
Ubuntu [Wed, 15 Jul 2020 15:15:45 +0000 (15:15 +0000)] 
Add feature to serve original TTLs rather than decrementing ones

5 years ago- Handle SSL_ERROR_WANT_WRITE on SSL_read for negotiation
Ralph Dolmans [Wed, 15 Jul 2020 13:49:42 +0000 (15:49 +0200)] 
- Handle SSL_ERROR_WANT_WRITE on SSL_read for negotiation
- Close connection when receiving overly large frame

5 years agoMerge branch 'master' into include-toplevel
George Thessalonikefs [Wed, 15 Jul 2020 13:17:48 +0000 (15:17 +0200)] 
Merge branch 'master' into include-toplevel

5 years agoAdd maximum to received frame streams frames.
Ralph Dolmans [Tue, 14 Jul 2020 12:29:09 +0000 (14:29 +0200)] 
Add maximum to received frame streams frames.

5 years agoMerge branch 'master' into fstrm-bidi
Ralph Dolmans [Mon, 13 Jul 2020 15:30:36 +0000 (17:30 +0200)] 
Merge branch 'master' into fstrm-bidi

5 years ago- Add option to send DNSTAP messages over bidirectional frame streams
Ralph Dolmans [Mon, 13 Jul 2020 15:28:50 +0000 (17:28 +0200)] 
- Add option to send DNSTAP messages over bidirectional frame streams

5 years agostream reuse, make reuse possible straight away after first query to address.
W.C.A. Wijngaards [Mon, 13 Jul 2020 14:11:52 +0000 (16:11 +0200)] 
stream reuse, make reuse possible straight away after first query to address.

5 years agostream reuse, update lru when reuse elements are used with lru touch routine.
W.C.A. Wijngaards [Mon, 13 Jul 2020 13:59:23 +0000 (15:59 +0200)] 
stream reuse, update lru when reuse elements are used with lru touch routine.

5 years agostream reuse, in callbacks, removed whitespace.
W.C.A. Wijngaards [Mon, 13 Jul 2020 13:45:16 +0000 (15:45 +0200)] 
stream reuse, in callbacks, removed whitespace.

5 years agostream reuse, write and read again if more data can go over the channel,
W.C.A. Wijngaards [Mon, 13 Jul 2020 13:16:59 +0000 (15:16 +0200)] 
stream reuse, write and read again if more data can go over the channel,
this amortizes the event loop mechanism for busy channels, for performance.

5 years agostream reuse, remove debug output
W.C.A. Wijngaards [Fri, 10 Jul 2020 14:06:17 +0000 (16:06 +0200)] 
stream reuse, remove debug output

5 years agofix that ssl_handle_it() uses tcp_is_reading in tcp_write_and_read mode.
W.C.A. Wijngaards [Fri, 10 Jul 2020 13:37:30 +0000 (15:37 +0200)] 
fix that ssl_handle_it() uses tcp_is_reading in tcp_write_and_read mode.
fix that netevent tcp_write_and_read mode does not close due to error from
assert that not both write and read happen at the same time.

5 years agostream reuse, fix bad id in reply errors.
W.C.A. Wijngaards [Fri, 10 Jul 2020 13:13:16 +0000 (15:13 +0200)] 
stream reuse, fix bad id in reply errors.

5 years agostream reuse, neater code for tree by id and use callback routine for timer.
W.C.A. Wijngaards [Thu, 9 Jul 2020 14:50:57 +0000 (16:50 +0200)] 
stream reuse, neater code for tree by id and use callback routine for timer.

5 years agostream reuse, comment improved
W.C.A. Wijngaards [Thu, 9 Jul 2020 14:37:40 +0000 (16:37 +0200)] 
stream reuse, comment improved

5 years agostream reuse, fix decommission to first remove from tree and then do the
W.C.A. Wijngaards [Thu, 9 Jul 2020 14:34:48 +0000 (16:34 +0200)] 
stream reuse, fix decommission to first remove from tree and then do the
callbacks and then delete the element.

5 years agostream reuse, fix double callback and double delete, items are in the tree.
W.C.A. Wijngaards [Thu, 9 Jul 2020 13:47:24 +0000 (15:47 +0200)] 
stream reuse, fix double callback and double delete, items are in the tree.

5 years agostream reuse, fix to put id number in waiting tcp packet.
W.C.A. Wijngaards [Thu, 9 Jul 2020 13:35:32 +0000 (15:35 +0200)] 
stream reuse, fix to put id number in waiting tcp packet.

5 years agostream reuse, fix to not keep stream when it is in error and closed.
W.C.A. Wijngaards [Thu, 9 Jul 2020 12:29:56 +0000 (14:29 +0200)] 
stream reuse, fix to not keep stream when it is in error and closed.
stream reuse, fix to stop listening on the fd before rw mode change.
stream reuse, fix waiting tcp id value stored before tree insert.
stream reuse, fix to not double delete pend.query.

5 years agostream reuse, fix to return key pointer from reuse_tcp_by_id_find.
W.C.A. Wijngaards [Thu, 9 Jul 2020 12:06:21 +0000 (14:06 +0200)] 
stream reuse, fix to return key pointer from reuse_tcp_by_id_find.

5 years agostream reuse, the id for pending stored in waiting_tcp structure, because
W.C.A. Wijngaards [Thu, 9 Jul 2020 11:58:44 +0000 (13:58 +0200)] 
stream reuse, the id for pending stored in waiting_tcp structure, because
there can be multiple messages waiting for reply.

5 years agostream reuse, check incoming messages from rbtree in outnet_tcp_cb when
W.C.A. Wijngaards [Thu, 9 Jul 2020 11:49:36 +0000 (13:49 +0200)] 
stream reuse, check incoming messages from rbtree in outnet_tcp_cb when
read a reply, and call that callback and remove that entry.

5 years agodebug prints in verbose output.
W.C.A. Wijngaards [Thu, 9 Jul 2020 11:41:50 +0000 (13:41 +0200)] 
debug prints in verbose output.

5 years agostream reuse toggle write and read to only read mode when write is done.
W.C.A. Wijngaards [Thu, 9 Jul 2020 11:41:03 +0000 (13:41 +0200)] 
stream reuse toggle write and read to only read mode when write is done.
tcp callback from stream read without entry linked.

5 years agoin outnet_tcptimer: pick up callbacks and clean the struct pending for
W.C.A. Wijngaards [Thu, 9 Jul 2020 08:28:47 +0000 (10:28 +0200)] 
in outnet_tcptimer: pick up callbacks and clean the struct pending for
use again in tcp_free list; then perform the callbacks in a cleaner state
for reentry into the outside network code.  Delete callbacks afterwards.

5 years agoMerge branch 'master' into stream-reuse
W.C.A. Wijngaards [Thu, 9 Jul 2020 06:55:19 +0000 (08:55 +0200)] 
Merge branch 'master' into stream-reuse

5 years agoMerge branch 'master' into infra-keep-probing
W.C.A. Wijngaards [Thu, 9 Jul 2020 06:55:01 +0000 (08:55 +0200)] 
Merge branch 'master' into infra-keep-probing

5 years ago- Fix to use SSL_CTX_set_tlsext_ticket_key_evp_cb in OpenSSL
W.C.A. Wijngaards [Wed, 8 Jul 2020 14:22:39 +0000 (16:22 +0200)] 
- Fix to use SSL_CTX_set_tlsext_ticket_key_evp_cb in OpenSSL
  3.0.0-alpha4.
- Longer keys for the test set, this avoids weak crypto errors.

5 years ago- Fix add missing DSA header, for compilation without deprecated
W.C.A. Wijngaards [Wed, 8 Jul 2020 09:43:50 +0000 (11:43 +0200)] 
- Fix add missing DSA header, for compilation without deprecated
  OpenSSL APIs.

5 years ago- Review fixes for checkconf #259 change.
W.C.A. Wijngaards [Tue, 7 Jul 2020 08:18:56 +0000 (10:18 +0200)] 
- Review fixes for checkconf #259 change.

5 years ago- Fix #259: Fix unbound-checkconf does not check view existence.
W.C.A. Wijngaards [Tue, 7 Jul 2020 07:00:04 +0000 (09:00 +0200)] 
- Fix #259: Fix unbound-checkconf does not check view existence.
  unbound-checkconf checks access-control-view, access-control-tags,
  access-control-tag-actions and access-control-tag-datas.
- Fix offset of error printout for access-control-tag-datas.

5 years ago- run_vm cleanup better and removes trailing slash on single argument.
W.C.A. Wijngaards [Mon, 6 Jul 2020 09:33:07 +0000 (11:33 +0200)] 
- run_vm cleanup better and removes trailing slash on single argument.

5 years ago- Fix tcp req info drop due to size call into mesh accounting
W.C.A. Wijngaards [Tue, 30 Jun 2020 15:22:43 +0000 (17:22 +0200)] 
- Fix tcp req info drop due to size call into mesh accounting
  removal of mesh state during mesh send reply.

5 years ago- Review fix for number of detached states due to use of variable
W.C.A. Wijngaards [Tue, 30 Jun 2020 14:35:48 +0000 (16:35 +0200)] 
- Review fix for number of detached states due to use of variable
  after end of loop.

5 years ago- Fix for mesh accounting when rpz decides to drop a reply with a
W.C.A. Wijngaards [Tue, 30 Jun 2020 14:20:09 +0000 (16:20 +0200)] 
- Fix for mesh accounting when rpz decides to drop a reply with a
  tcp stream waiting for it.

5 years ago- Also move reply list clean for mesh callbacks to the scrip callback
W.C.A. Wijngaards [Tue, 30 Jun 2020 13:48:11 +0000 (15:48 +0200)] 
- Also move reply list clean for mesh callbacks to the scrip callback
  can see the reply_info.
- Fix for mesh accounting if the reply list already empty to begin
  with.

5 years ago- Move reply list clean for serve expired mesh callback to after
W.C.A. Wijngaards [Tue, 30 Jun 2020 11:41:26 +0000 (13:41 +0200)] 
- Move reply list clean for serve expired mesh callback to after
  the reply is sent, so that script callbacks have reply_info.

5 years agotcp read and write handling of write events in netevent for tcp and ssl.
W.C.A. Wijngaards [Fri, 26 Jun 2020 14:05:15 +0000 (16:05 +0200)] 
tcp read and write handling of write events in netevent for tcp and ssl.

5 years agoin tcp write callback routine dont reset read byte count if write and read.
W.C.A. Wijngaards [Fri, 26 Jun 2020 08:54:13 +0000 (10:54 +0200)] 
in tcp write callback routine dont reset read byte count if write and read.
in tcp write callback and write and read and write is done perform callback.
tcp connection is selected to not toggle readwrite and give closed callback.

5 years agotcp callback function refactor, split read and timeout event setup, leave
W.C.A. Wijngaards [Thu, 25 Jun 2020 15:23:46 +0000 (17:23 +0200)] 
tcp callback function refactor, split read and timeout event setup, leave
unused queries that are already sent to track their reply on the query
pipeline, when serviced query is deleted deal with the write wait list,

5 years agooutnet_tcp_cb: add assertion and return when write packets done is handled.
W.C.A. Wijngaards [Thu, 25 Jun 2020 14:29:37 +0000 (16:29 +0200)] 
outnet_tcp_cb: add assertion and return when write packets done is handled.

5 years agopending_tcp_query: cleaner comments.
W.C.A. Wijngaards [Thu, 25 Jun 2020 14:22:43 +0000 (16:22 +0200)] 
pending_tcp_query: cleaner comments.

5 years agofor tcp use_free_buffer write straight away on reuse connection, if possible
W.C.A. Wijngaards [Thu, 25 Jun 2020 14:11:46 +0000 (16:11 +0200)] 
for tcp use_free_buffer write straight away on reuse connection, if possible

5 years agoin outside_network.c: also log messages that end up on the waiting list.
W.C.A. Wijngaards [Thu, 25 Jun 2020 14:05:25 +0000 (16:05 +0200)] 
in outside_network.c: also log messages that end up on the waiting list.
with dnstap.
for tcp use_free_buffer reuse existing entry if second wait entry on the
same addr as the other waiting.

5 years agotcp callback handle timeout event for read and reuse keepalive.
W.C.A. Wijngaards [Thu, 25 Jun 2020 12:26:29 +0000 (14:26 +0200)] 
tcp callback handle timeout event for read and reuse keepalive.

5 years agocomm point write and read structure members.
W.C.A. Wijngaards [Thu, 25 Jun 2020 11:06:21 +0000 (13:06 +0200)] 
comm point write and read structure members.

5 years ago- Add http-response-buffer-size test
Ralph Dolmans [Wed, 24 Jun 2020 14:31:51 +0000 (16:31 +0200)] 
- Add http-response-buffer-size test

5 years agofix testcode for added function whitelist item.
W.C.A. Wijngaards [Wed, 24 Jun 2020 14:31:10 +0000 (16:31 +0200)] 
fix testcode for added function whitelist item.

5 years agoreuse tcp id_cmp function. clear list and tree after delete. clear when
W.C.A. Wijngaards [Wed, 24 Jun 2020 14:28:42 +0000 (16:28 +0200)] 
reuse tcp id_cmp function. clear list and tree after delete. clear when
decommisioned. callbacks when closed for lru space, and when closed because
not kept open.

5 years agoAdd DoH endpoint configuration test
Ralph Dolmans [Wed, 24 Jun 2020 13:34:50 +0000 (15:34 +0200)] 
Add DoH endpoint configuration test

5 years agodohclient memory leak fix
Ralph Dolmans [Wed, 24 Jun 2020 13:09:05 +0000 (15:09 +0200)] 
dohclient memory leak fix

5 years ago- Add dohclient, for use in tests
Ralph Dolmans [Wed, 24 Jun 2020 12:59:56 +0000 (14:59 +0200)] 
- Add dohclient, for use in tests

5 years agoMerge branch 'master' into doh
Ralph Dolmans [Wed, 24 Jun 2020 12:18:47 +0000 (14:18 +0200)] 
Merge branch 'master' into doh

5 years ago- Add DoH tests
Ralph Dolmans [Wed, 24 Jun 2020 12:04:34 +0000 (14:04 +0200)] 
- Add DoH tests

5 years agoMerge branch 'master' into stream-reuse
W.C.A. Wijngaards [Wed, 24 Jun 2020 11:39:13 +0000 (13:39 +0200)] 
Merge branch 'master' into stream-reuse

5 years agoMerge branch 'master' into infra-keep-probing
W.C.A. Wijngaards [Wed, 24 Jun 2020 11:38:56 +0000 (13:38 +0200)] 
Merge branch 'master' into infra-keep-probing

5 years ago- doxygen file comments for dynlibmodule.
W.C.A. Wijngaards [Wed, 24 Jun 2020 11:37:43 +0000 (13:37 +0200)] 
- doxygen file comments for dynlibmodule.

5 years ago- iana portlist updated.
W.C.A. Wijngaards [Wed, 24 Jun 2020 11:33:47 +0000 (13:33 +0200)] 
- iana portlist updated.

5 years agoMerge branch 'master' into infra-keep-probing
W.C.A. Wijngaards [Wed, 24 Jun 2020 11:21:14 +0000 (13:21 +0200)] 
Merge branch 'master' into infra-keep-probing
Remade yacc and lex files.

5 years agoMerge branch 'master' into stream-reuse
W.C.A. Wijngaards [Wed, 24 Jun 2020 10:57:50 +0000 (12:57 +0200)] 
Merge branch 'master' into stream-reuse

5 years agoreuse tcp lookup with correct address as key.
W.C.A. Wijngaards [Wed, 24 Jun 2020 10:57:15 +0000 (12:57 +0200)] 
reuse tcp lookup with correct address as key.

5 years agofix reuse tcp crash, use addr in reuse struct, free leaked tcp entries.
W.C.A. Wijngaards [Wed, 24 Jun 2020 08:09:49 +0000 (10:09 +0200)] 
fix reuse tcp crash, use addr in reuse struct, free leaked tcp entries.

5 years agoFix grammar.
W.C.A. Wijngaards [Tue, 23 Jun 2020 15:32:33 +0000 (17:32 +0200)] 
Fix grammar.

5 years agotcp reuse timeout event cleanup and callbacks.
W.C.A. Wijngaards [Tue, 23 Jun 2020 13:29:40 +0000 (15:29 +0200)] 
tcp reuse timeout event cleanup and callbacks.

5 years agofix crash on cleanup.
W.C.A. Wijngaards [Fri, 19 Jun 2020 16:04:12 +0000 (18:04 +0200)] 
fix crash on cleanup.

5 years agofix uninit after malloc for on_tcp_waiting_list.
W.C.A. Wijngaards [Fri, 19 Jun 2020 15:40:45 +0000 (17:40 +0200)] 
fix uninit after malloc for on_tcp_waiting_list.

5 years agofix documentation for waiting_tcp pkt NULL setting.
W.C.A. Wijngaards [Fri, 19 Jun 2020 15:37:23 +0000 (17:37 +0200)] 
fix documentation for waiting_tcp pkt NULL setting.

5 years agoadd bool if on tcp waiting list, so that pkt can be stored.
W.C.A. Wijngaards [Fri, 19 Jun 2020 15:31:36 +0000 (17:31 +0200)] 
add bool if on tcp waiting list, so that pkt can be stored.
remove pkt args from outnet_tcp_take_into_use, use w.pkt.

5 years ago- Fix display of event loop method with libev.
W.C.A. Wijngaards [Wed, 17 Jun 2020 12:32:57 +0000 (14:32 +0200)] 
- Fix display of event loop method with libev.

5 years ago- Fix default explanation in man page for qname-minimisation-strict.
W.C.A. Wijngaards [Wed, 17 Jun 2020 06:20:52 +0000 (08:20 +0200)] 
- Fix default explanation in man page for qname-minimisation-strict.

5 years agoset timeout to wait for reuse
W.C.A. Wijngaards [Tue, 9 Jun 2020 14:15:03 +0000 (16:15 +0200)] 
set timeout to wait for reuse
add comm_point indicator for write events for reuse stream writes.

5 years agofix to set pending pointer in reuse tcp structure
W.C.A. Wijngaards [Tue, 9 Jun 2020 07:14:01 +0000 (09:14 +0200)] 
fix to set pending pointer in reuse tcp structure
fix debug output of reuse tcp and test leak of process

5 years ago- Mention tls name possible when tls is enabled for stub-addr in the
W.C.A. Wijngaards [Mon, 8 Jun 2020 06:35:10 +0000 (08:35 +0200)] 
- Mention tls name possible when tls is enabled for stub-addr in the
  man page.

5 years agotcp connection is stored and picked up for reuse
W.C.A. Wijngaards [Wed, 3 Jun 2020 15:24:26 +0000 (17:24 +0200)] 
tcp connection is stored and picked up for reuse
fix that comm_point_start_listening does not close the same fd that is started.

5 years agofix spare id random selection.
W.C.A. Wijngaards [Wed, 3 Jun 2020 12:23:06 +0000 (14:23 +0200)] 
fix spare id random selection.

5 years agospare id random selection better.
W.C.A. Wijngaards [Wed, 3 Jun 2020 12:03:34 +0000 (14:03 +0200)] 
spare id random selection better.

5 years agofind reuse find tcp loop code for multiple connections to the same destination
W.C.A. Wijngaards [Wed, 3 Jun 2020 10:10:31 +0000 (12:10 +0200)] 
find reuse find tcp loop code for multiple connections to the same destination
find spare id value in reused connection.

5 years agoadd test for tcp reuse
W.C.A. Wijngaards [Wed, 3 Jun 2020 08:01:51 +0000 (10:01 +0200)] 
add test for tcp reuse