Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
BIND
Commits
41873982
Commit
41873982
authored
Aug 31, 2000
by
Andreas Gustafsson
Browse files
416. [bug] Slave zones with no master file tried to use a
NULL pointer for a journal file name when they received an IXFR.
parent
c5926943
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
41873982
416. [bug] Slave zones with no master file tried to use a
NULL pointer for a journal file name when they
received an IXFR.
415. [bug] The logging code leaked file descriptors.
414. [bug] Server did not shut down until all incoming zone
...
...
lib/dns/xfrin.c
View file @
41873982
...
...
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: xfrin.c,v 1.9
5
2000/08/31
17:48:47
gson Exp $ */
/* $Id: xfrin.c,v 1.9
6
2000/08/31
23:56:00
gson Exp $ */
#include <config.h>
...
...
@@ -311,6 +311,7 @@ axfr_commit(dns_xfrin_ctx_t *xfr) {
static
isc_result_t
ixfr_init
(
dns_xfrin_ctx_t
*
xfr
)
{
isc_result_t
result
;
char
*
journalfile
;
if
(
xfr
->
reqtype
!=
dns_rdatatype_ixfr
)
{
xfrin_log
(
xfr
,
ISC_LOG_ERROR
,
...
...
@@ -321,8 +322,12 @@ ixfr_init(dns_xfrin_ctx_t *xfr) {
xfr
->
is_ixfr
=
ISC_TRUE
;
INSIST
(
xfr
->
db
!=
NULL
);
xfr
->
difflen
=
0
;
CHECK
(
dns_journal_open
(
xfr
->
mctx
,
dns_zone_getjournal
(
xfr
->
zone
),
ISC_TRUE
,
&
xfr
->
ixfr
.
journal
));
journalfile
=
dns_zone_getjournal
(
xfr
->
zone
);
if
(
journalfile
!=
NULL
)
CHECK
(
dns_journal_open
(
xfr
->
mctx
,
journalfile
,
ISC_TRUE
,
&
xfr
->
ixfr
.
journal
));
result
=
ISC_R_SUCCESS
;
failure:
return
(
result
);
...
...
@@ -354,10 +359,12 @@ ixfr_apply(dns_xfrin_ctx_t *xfr) {
if
(
xfr
->
ver
==
NULL
)
{
CHECK
(
dns_db_newversion
(
xfr
->
db
,
&
xfr
->
ver
));
CHECK
(
dns_journal_begin_transaction
(
xfr
->
ixfr
.
journal
));
if
(
xfr
->
ixfr
.
journal
!=
NULL
)
CHECK
(
dns_journal_begin_transaction
(
xfr
->
ixfr
.
journal
));
}
CHECK
(
dns_diff_apply
(
&
xfr
->
diff
,
xfr
->
db
,
xfr
->
ver
));
dns_journal_writediff
(
xfr
->
ixfr
.
journal
,
&
xfr
->
diff
);
if
(
xfr
->
ixfr
.
journal
!=
NULL
)
dns_journal_writediff
(
xfr
->
ixfr
.
journal
,
&
xfr
->
diff
);
dns_diff_clear
(
&
xfr
->
diff
);
xfr
->
difflen
=
0
;
result
=
ISC_R_SUCCESS
;
...
...
@@ -372,7 +379,8 @@ ixfr_commit(dns_xfrin_ctx_t *xfr) {
ixfr_apply
(
xfr
);
if
(
xfr
->
ver
!=
NULL
)
{
/* XXX enter ready-to-commit state here */
CHECK
(
dns_journal_commit
(
xfr
->
ixfr
.
journal
));
if
(
xfr
->
ixfr
.
journal
!=
NULL
)
CHECK
(
dns_journal_commit
(
xfr
->
ixfr
.
journal
));
dns_db_closeversion
(
xfr
->
db
,
&
xfr
->
ver
,
ISC_TRUE
);
}
result
=
ISC_R_SUCCESS
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment