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
0fc89c4e
Commit
0fc89c4e
authored
Nov 03, 2000
by
Mark Andrews
Browse files
540. [func] Add dialup support.
parent
b209e8ec
Changes
30
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
0fc89c4e
540. [func] Add dialup support.
539. [func] Support the blackhole option.
538. [bug] fix buffer overruns by 1 in lwres_getnameinfo().
...
...
bin/named/include/named/server.h
View file @
0fc89c4e
...
...
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.h,v 1.4
1
2000/11/03 0
2:45:41 bwelling
Exp $ */
/* $Id: server.h,v 1.4
2
2000/11/03 0
7:15:44 marka
Exp $ */
#ifndef NAMED_SERVER_H
#define NAMED_SERVER_H 1
...
...
@@ -61,6 +61,7 @@ struct ns_server {
dns_db_t
*
in_roothints
;
dns_tkeyctx_t
*
tkeyctx
;
isc_timer_t
*
interface_timer
;
isc_timer_t
*
heartbeat_timer
;
isc_mutex_t
reload_event_lock
;
isc_event_t
*
reload_event
;
...
...
bin/named/server.c
View file @
0fc89c4e
...
...
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: server.c,v 1.23
5
2000/11/03 0
2:45:39 bwelling
Exp $ */
/* $Id: server.c,v 1.23
6
2000/11/03 0
7:15:43 marka
Exp $ */
#include <config.h>
...
...
@@ -1264,6 +1264,24 @@ interface_timer_tick(isc_task_t *task, isc_event_t *event) {
RWUNLOCK
(
&
server
->
conflock
,
isc_rwlocktype_write
);
}
static
void
heartbeat_timer_tick
(
isc_task_t
*
task
,
isc_event_t
*
event
)
{
ns_server_t
*
server
=
(
ns_server_t
*
)
event
->
ev_arg
;
dns_view_t
*
view
;
fprintf
(
stderr
,
"
\n\n
HEARTBEAT_TIMER_TICK
\n
"
);
UNUSED
(
task
);
isc_event_free
(
&
event
);
RWLOCK
(
&
server
->
conflock
,
isc_rwlocktype_read
);
view
=
ISC_LIST_HEAD
(
server
->
viewlist
);
while
(
view
!=
NULL
)
{
dns_view_dialup
(
view
);
view
=
ISC_LIST_NEXT
(
view
,
link
);
}
RWUNLOCK
(
&
server
->
conflock
,
isc_rwlocktype_read
);
}
static
isc_result_t
load_configuration
(
const
char
*
filename
,
ns_server_t
*
server
,
isc_boolean_t
first_time
)
...
...
@@ -1280,6 +1298,7 @@ load_configuration(const char *filename, ns_server_t *server,
dns_dispatch_t
*
dispatchv6
=
NULL
;
char
*
pidfilename
;
isc_uint32_t
interface_interval
;
isc_uint32_t
heartbeat_interval
;
in_port_t
listen_port
;
dns_aclconfctx_init
(
&
aclconfctx
);
...
...
@@ -1449,6 +1468,24 @@ load_configuration(const char *filename, ns_server_t *server,
NULL
,
&
interval
,
ISC_FALSE
);
}
/*
* heartbeat timer
*/
heartbeat_interval
=
3600
;
/* Default is 1 hour. */
(
void
)
dns_c_ctx_getheartbeatinterval
(
cctx
,
&
heartbeat_interval
);
fprintf
(
stderr
,
"
\n\n
HEARTBEAT_INTERVAL = %u
\n
"
,
heartbeat_interval
);
if
(
heartbeat_interval
==
0
)
{
isc_timer_reset
(
server
->
heartbeat_timer
,
isc_timertype_inactive
,
NULL
,
NULL
,
ISC_TRUE
);
}
else
{
isc_interval_t
interval
;
isc_interval_set
(
&
interval
,
heartbeat_interval
,
0
);
isc_timer_reset
(
server
->
heartbeat_timer
,
isc_timertype_ticker
,
NULL
,
&
interval
,
ISC_FALSE
);
}
/*
* Configure and freeze all explicit views. Explicit
* views that have zones were already created at parsing
...
...
@@ -1689,6 +1726,12 @@ run_server(isc_task_t *task, isc_event_t *event) {
server
,
&
server
->
interface_timer
),
"creating interface timer"
);
CHECKFATAL
(
isc_timer_create
(
ns_g_timermgr
,
isc_timertype_inactive
,
NULL
,
NULL
,
server
->
task
,
heartbeat_timer_tick
,
server
,
&
server
->
heartbeat_timer
),
"creating heartbeat timer"
);
if
(
ns_g_lwresdonly
)
CHECKFATAL
(
load_configuration
(
lwresd_g_conffile
,
server
,
ISC_TRUE
),
...
...
@@ -1738,6 +1781,7 @@ shutdown_server(isc_task_t *task, isc_event_t *event) {
}
isc_timer_detach
(
&
server
->
interface_timer
);
isc_timer_detach
(
&
server
->
heartbeat_timer
);
ns_interfacemgr_shutdown
(
server
->
interfacemgr
);
ns_interfacemgr_detach
(
&
server
->
interfacemgr
);
...
...
@@ -1827,6 +1871,7 @@ ns_server_create(isc_mem_t *mctx, ns_server_t **serverp) {
"isc_app_onrun"
);
server
->
interface_timer
=
NULL
;
server
->
heartbeat_timer
=
NULL
;
CHECKFATAL
(
dns_zonemgr_create
(
ns_g_mctx
,
ns_g_taskmgr
,
ns_g_timermgr
,
ns_g_socketmgr
,
&
server
->
zonemgr
),
...
...
bin/named/zoneconf.c
View file @
0fc89c4e
...
...
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: zoneconf.c,v 1.6
4
2000/1
0/31 05:34:18
marka Exp $ */
/* $Id: zoneconf.c,v 1.6
5
2000/1
1/03 07:15:52
marka Exp $ */
#include <config.h>
...
...
@@ -174,6 +174,7 @@ dns_zone_configure(dns_c_ctx_t *cctx, dns_c_view_t *cview,
char
**
dbargv
;
static
char
default_dbtype
[]
=
"rbt"
;
isc_mem_t
*
mctx
=
dns_zone_getmctx
(
zone
);
dns_dialuptype_t
dialup
;
isc_sockaddr_any
(
&
sockaddr_any4
);
isc_sockaddr_any6
(
&
sockaddr_any6
);
...
...
@@ -240,12 +241,14 @@ dns_zone_configure(dns_c_ctx_t *cctx, dns_c_view_t *cview,
dns_zone_clearqueryacl
));
if
(
czone
->
ztype
!=
dns_c_zone_hint
)
{
result
=
dns_c_zone_getdialup
(
czone
,
&
boolean
);
result
=
dns_c_zone_getdialup
(
czone
,
&
dialup
);
if
(
result
!=
ISC_R_SUCCESS
&&
cview
!=
NULL
)
result
=
dns_c_view_getdialup
(
cview
,
&
dialup
);
if
(
result
!=
ISC_R_SUCCESS
)
result
=
dns_c_ctx_getdialup
(
cctx
,
&
boolean
);
result
=
dns_c_ctx_getdialup
(
cctx
,
&
dialup
);
if
(
result
!=
ISC_R_SUCCESS
)
boolean
=
ISC_FALSE
;
dns_zone_set
option
(
zone
,
DNS_ZONEOPT_DIALUP
,
boolean
);
dialup
=
dns_dialuptype_no
;
dns_zone_set
dialup
(
zone
,
dialup
);
}
#ifndef NOMINUM_PUBLIC
...
...
bin/tests/system/dialup/ns1/.cvsignore
0 → 100644
View file @
0fc89c4e
named.run
bin/tests/system/dialup/ns1/example.db
0 → 100644
View file @
0fc89c4e
@ 3600 SOA hostmaster.ns1 ns1 (
1 3600 1200 3600000 1200 )
NS ns1.example.
NS ns2.example.
NS ns3.example.
ns1 A 10.53.0.1
ns2 A 10.53.0.2
ns3 A 10.53.0.3
bin/tests/system/dialup/ns1/named.conf
0 → 100644
View file @
0fc89c4e
/*
*
Copyright
(
C
)
2000
Internet
Software
Consortium
.
*
*
Permission
to
use
,
copy
,
modify
,
and
distribute
this
software
for
any
*
purpose
with
or
without
fee
is
hereby
granted
,
provided
that
the
above
*
copyright
notice
and
this
permission
notice
appear
in
all
copies
.
*
*
THE
SOFTWARE
IS
PROVIDED
"AS IS"
AND
INTERNET
SOFTWARE
CONSORTIUM
*
DISCLAIMS
ALL
WARRANTIES
WITH
REGARD
TO
THIS
SOFTWARE
INCLUDING
ALL
*
IMPLIED
WARRANTIES
OF
MERCHANTABILITY
AND
FITNESS
.
IN
NO
EVENT
SHALL
*
INTERNET
SOFTWARE
CONSORTIUM
BE
LIABLE
FOR
ANY
SPECIAL
,
DIRECT
,
*
INDIRECT
,
OR
CONSEQUENTIAL
DAMAGES
OR
ANY
DAMAGES
WHATSOEVER
RESULTING
*
FROM
LOSS
OF
USE
,
DATA
OR
PROFITS
,
WHETHER
IN
AN
ACTION
OF
CONTRACT
,
*
NEGLIGENCE
OR
OTHER
TORTIOUS
ACTION
,
ARISING
OUT
OF
OR
IN
CONNECTION
*
WITH
THE
USE
OR
PERFORMANCE
OF
THIS
SOFTWARE
.
*/
/* $
Id
:
named
.
conf
,
v
1
.
1
2000
/
11
/
03
07
:
15
:
46
marka
Exp
$ */
options
{
query
-
source
address
10
.
53
.
0
.
1
;
transfer
-
source
10
.
53
.
0
.
1
;
port
5300
;
pid
-
file
"named.pid"
;
listen
-
on
{
10
.
53
.
0
.
1
; };
listen
-
on
-
v6
{
none
;};
heartbeat
-
interval
2
;
recursion
no
;
};
zone
"."
{
type
master
;
file
"root.db"
;
};
zone
"example."
{
type
master
;
notify
explicit
;
also
-
notify
{
10
.
53
.
0
.
2
; };
dialup
yes
;
file
"example.db"
;
};
bin/tests/system/dialup/ns1/root.db
0 → 100644
View file @
0fc89c4e
@ 3600 SOA hostmaster.ns1.example ns1.example (
1 3600 1200 3600000 1200 )
NS ns1.example
example NS ns1.example
NS ns2.example
NS ns3.example
ns1.example A 10.53.0.1
ns2.example A 10.53.0.2
ns3.example A 10.53.0.3
bin/tests/system/dialup/ns2/.cvsignore
0 → 100644
View file @
0fc89c4e
named.run
bin/tests/system/dialup/ns2/hint.db
0 → 100644
View file @
0fc89c4e
. 1200 NS ns1.example
ns1.example A 10.53.0.1
bin/tests/system/dialup/ns2/named.conf
0 → 100644
View file @
0fc89c4e
/*
*
Copyright
(
C
)
2000
Internet
Software
Consortium
.
*
*
Permission
to
use
,
copy
,
modify
,
and
distribute
this
software
for
any
*
purpose
with
or
without
fee
is
hereby
granted
,
provided
that
the
above
*
copyright
notice
and
this
permission
notice
appear
in
all
copies
.
*
*
THE
SOFTWARE
IS
PROVIDED
"AS IS"
AND
INTERNET
SOFTWARE
CONSORTIUM
*
DISCLAIMS
ALL
WARRANTIES
WITH
REGARD
TO
THIS
SOFTWARE
INCLUDING
ALL
*
IMPLIED
WARRANTIES
OF
MERCHANTABILITY
AND
FITNESS
.
IN
NO
EVENT
SHALL
*
INTERNET
SOFTWARE
CONSORTIUM
BE
LIABLE
FOR
ANY
SPECIAL
,
DIRECT
,
*
INDIRECT
,
OR
CONSEQUENTIAL
DAMAGES
OR
ANY
DAMAGES
WHATSOEVER
RESULTING
*
FROM
LOSS
OF
USE
,
DATA
OR
PROFITS
,
WHETHER
IN
AN
ACTION
OF
CONTRACT
,
*
NEGLIGENCE
OR
OTHER
TORTIOUS
ACTION
,
ARISING
OUT
OF
OR
IN
CONNECTION
*
WITH
THE
USE
OR
PERFORMANCE
OF
THIS
SOFTWARE
.
*/
/* $
Id
:
named
.
conf
,
v
1
.
1
2000
/
11
/
03
07
:
15
:
46
marka
Exp
$ */
options
{
query
-
source
address
10
.
53
.
0
.
2
;
transfer
-
source
10
.
53
.
0
.
2
;
port
5300
;
pid
-
file
"named.pid"
;
listen
-
on
{
10
.
53
.
0
.
2
; };
listen
-
on
-
v6
{
none
;};
heartbeat
-
interval
2
;
recursion
no
;
};
zone
"."
{
type
hint
;
file
"hint.db"
;
};
zone
"example."
{
type
slave
;
dialup
passive
;
notify
no
;
file
"example.bk"
;
masters
{
10
.
53
.
0
.
1
; };
};
bin/tests/system/dialup/ns3/.cvsignore
0 → 100644
View file @
0fc89c4e
named.run
bin/tests/system/dialup/ns3/hint.db
0 → 100644
View file @
0fc89c4e
. 1200 NS ns1.example
ns1.example A 10.53.0.1
bin/tests/system/dialup/ns3/named.conf
0 → 100644
View file @
0fc89c4e
/*
*
Copyright
(
C
)
2000
Internet
Software
Consortium
.
*
*
Permission
to
use
,
copy
,
modify
,
and
distribute
this
software
for
any
*
purpose
with
or
without
fee
is
hereby
granted
,
provided
that
the
above
*
copyright
notice
and
this
permission
notice
appear
in
all
copies
.
*
*
THE
SOFTWARE
IS
PROVIDED
"AS IS"
AND
INTERNET
SOFTWARE
CONSORTIUM
*
DISCLAIMS
ALL
WARRANTIES
WITH
REGARD
TO
THIS
SOFTWARE
INCLUDING
ALL
*
IMPLIED
WARRANTIES
OF
MERCHANTABILITY
AND
FITNESS
.
IN
NO
EVENT
SHALL
*
INTERNET
SOFTWARE
CONSORTIUM
BE
LIABLE
FOR
ANY
SPECIAL
,
DIRECT
,
*
INDIRECT
,
OR
CONSEQUENTIAL
DAMAGES
OR
ANY
DAMAGES
WHATSOEVER
RESULTING
*
FROM
LOSS
OF
USE
,
DATA
OR
PROFITS
,
WHETHER
IN
AN
ACTION
OF
CONTRACT
,
*
NEGLIGENCE
OR
OTHER
TORTIOUS
ACTION
,
ARISING
OUT
OF
OR
IN
CONNECTION
*
WITH
THE
USE
OR
PERFORMANCE
OF
THIS
SOFTWARE
.
*/
/* $
Id
:
named
.
conf
,
v
1
.
1
2000
/
11
/
03
07
:
15
:
47
marka
Exp
$ */
options
{
query
-
source
address
10
.
53
.
0
.
3
;
transfer
-
source
10
.
53
.
0
.
3
;
port
5300
;
pid
-
file
"named.pid"
;
listen
-
on
{
10
.
53
.
0
.
3
; };
listen
-
on
-
v6
{
none
;};
heartbeat
-
interval
2
;
recursion
no
;
};
zone
"."
{
type
hint
;
file
"hint.db"
;
};
zone
"example."
{
type
slave
;
dialup
refresh
;
notify
no
;
file
"example.bk"
;
masters
{
10
.
53
.
0
.
2
; };
};
bin/tests/system/dialup/setup.sh
0 → 100644
View file @
0fc89c4e
rm
-f
ns2/example.bk
rm
-f
ns3/example.bk
bin/tests/system/dialup/tests.sh
0 → 100644
View file @
0fc89c4e
#!/bin/sh
#
# Copyright (C) 2000 Internet Software Consortium.
#
# Permission to use, copy, modify, and distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM
# DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL
# INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
# FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
# $Id: tests.sh,v 1.1 2000/11/03 07:15:46 marka Exp $
#
# Perform tests
#
SYSTEMTESTTOP
=
..
.
$SYSTEMTESTTOP
/conf.sh
status
=
0
rm
-f
dig.out.
*
DIGOPTS
=
"+norec +tcp +noadd +nosea +nostat +noquest +nocmd -p 5300"
# Check the example. domain
$DIG
$DIGOPTS
example. @10.53.0.1 soa
>
dig.out.ns1.test
||
ret
=
1
echo
"I:checking that first zone transfer worked"
ret
=
0
try
=
0
while
test
$try
-lt
120
do
$DIG
$DIGOPTS
example. @10.53.0.2 soa
>
dig.out.ns2.test
||
ret
=
1
if
grep
SERVFAIL dig.out.ns2.test
>
/dev/null
then
try
=
`
expr
$try
+ 1
`
sleep
1
else
$PERL
../digcomp.pl dig.out.ns1.test dig.out.ns2.test
||
ret
=
1
break
;
fi
done
echo
"I:try
$try
"
if
[
$ret
!=
0
]
;
then
echo
"I:failed"
;
fi
status
=
`
expr
$status
+
$ret
`
echo
"I:checking that second zone transfer worked"
ret
=
0
try
=
0
while
test
$try
-lt
120
do
$DIG
$DIGOPTS
example. @10.53.0.3 soa
>
dig.out.ns3.test
||
ret
=
1
if
grep
SERVFAIL dig.out.ns3.test
>
/dev/null
then
try
=
`
expr
$try
+ 1
`
sleep
1
else
$PERL
../digcomp.pl dig.out.ns1.test dig.out.ns3.test
||
ret
=
1
break
;
fi
done
echo
"I:try
$try
"
if
[
$ret
!=
0
]
;
then
echo
"I:failed"
;
fi
status
=
`
expr
$status
+
$ret
`
echo
"I:exit status:
$status
"
exit
$status
doc/arm/Bv9ARM-book.xml
View file @
0fc89c4e
...
...
@@ -2,7 +2,7 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.0//EN"
"http://www.oasis-open.org/docbook/xml/4.0/docbookx.dtd">
<!-- File: $Id: Bv9ARM-book.xml,v 1.2
1
2000/1
0/31 05:34:14
marka Exp $ -->
<!-- File: $Id: Bv9ARM-book.xml,v 1.2
2
2000/1
1/03 07:15:47
marka Exp $ -->
<book>
...
...
@@ -1732,6 +1732,16 @@ to safely set a really large number.</para></entry>
The words
<userinput>
true
</userinput>
and
<userinput>
false
</userinput>
are
also accepted, as are the numbers
<userinput>
1
</userinput>
and
<userinput>
0
</userinput>
.
</para></entry>
</row>
<row
rowsep =
"0"
>
<entry
colname =
"1"
><para><varname>
dialup_option
</varname></para></entry>
<entry
colname =
"2"
><para>
One of
<userinput>
yes
</userinput>
,
<userinput>
no
</userinput>
,
<userinput>
notify
</userinput>
,
<userinput>
notify-passive
</userinput>
,
<userinput>
refresh
</userinput>
or
<userinput>
passive
</userinput>
.
When used in a zone
<userinput>
notify-passive
</userinput>
,
<userinput>
refresh
</userinput>
and
<userinput>
passive
</userinput>
are restricted to slave and stub zones.
</para></entry>
</row>
</tbody>
</tgroup></informaltable>
<sect2
id=
"address_match_lists"
><title>
Address Match Lists
</title>
...
...
@@ -2358,7 +2368,7 @@ lookups performed on behalf of clients by a caching name server.</para></entry>
<optional>
statistics-file
<replaceable>
path_name
</replaceable>
;
</optional>
<optional>
auth-nxdomain
<replaceable>
yes_or_no
</replaceable>
;
</optional>
<optional>
deallocate-on-exit
<replaceable>
yes_or_no
</replaceable>
;
</optional>
<optional>
dialup
<replaceable>
yes_or_no
</replaceable>
;
</optional>
<optional>
dialup
<replaceable>
dialup_option
</replaceable>
;
</optional>
<optional>
fake-iquery
<replaceable>
yes_or_no
</replaceable>
;
</optional>
<optional>
fetch-glue
<replaceable>
yes_or_no
</replaceable>
;
</optional>
<optional>
has-old-clients
<replaceable>
yes_or_no
</replaceable>
;
</optional>
...
...
@@ -2541,17 +2551,25 @@ to zone type and concentrates the zone maintenance so that it all
happens in a short interval, once every
<command>
heartbeat-interval
</command>
and
hopefully during the one call. It also suppresses some of the normal
zone maintenance traffic. The default is
<userinput>
no
</userinput>
.
</para><para>
The
<command>
dialup
</command>
option
may also be specified in the
<command>
zone
</command>
statement,
may also be specified in the
<command>
view
</command>
and
<command>
zone
</command>
statements,
in which case it overrides the
<command>
options dialup
</command>
statement.
</para><para>
If
the zone is a master then the server will send out a NOTIFY request
to all the slaves. This will trigger the zone serial number check
in the slave (providing it supports NOTIFY) allowing the slave to
verify the zone while the connection is active.
</para><para>
If the
zone is a slave or stub then the server will suppress the regular
"zone up to date" queries and only perform them when the
<command>
heartbeat-interval
</command>
expires.
</para><note>
<simpara>
Not yet implemented
in
<acronym>
BIND
</acronym>
9.
</simpara></note></entry>
"zone up to date" (refresh) queries and only perform them when the
<command>
heartbeat-interval
</command>
expires in addition to sending
NOTIFY requests.
</para><para>
Finer control can be achieved by using
<userinput>
notity
</userinput>
which only sends NOTIFY messages,
<userinput>
notity-passive
</userinput>
which sends NOTIFY messages and
suppresses the normal refresh queries,
<userinput>
refresh
</userinput>
which suppresses normal refresh processing and send refresh queries
when the
<command>
heartbeat-interval
</command>
expires and
<userinput>
passive
</userinput>
which just disables normal refresh
processing.
</para>
</entry>
</row>
<row
rowsep =
"0"
>
<entry
colname =
"1"
><para><command>
fake-iquery
</command></para></entry>
...
...
@@ -3085,11 +3103,9 @@ If set to 0, no periodic cleaning will occur.</para></entry>
<row
rowsep =
"0"
>
<entry
colname =
"1"
><para><command>
heartbeat-interval
</command></para></entry>
<entry
colname =
"2"
><para>
The server will perform zone maintenance tasks
for all zones marked
<command>
dialup
yes
</command>
whenever this
for all zones marked
as
<command>
dialup
</command>
whenever this
interval expires. The default is 60 minutes. Reasonable values are up
to 1 day (1440 minutes). If set to 0, no zone maintenance for these zones will occur.
</para><note>
<simpara>
Not yet
implemented in
<acronym>
BIND
</acronym>
9.
</simpara></note></entry>
to 1 day (1440 minutes). If set to 0, no zone maintenance for these zones will occur.
</para></entry>
</row>
<row
rowsep =
"0"
>
<entry
colname =
"1"
><para><command>
interface-interval
</command></para></entry>
...
...
@@ -3505,7 +3521,7 @@ Statement Grammar</title>
<optional>
allow-update-forwarding {
<replaceable>
address_match_list
</replaceable>
} ;
</optional>
<optional>
also-notify {
<replaceable>
ip_addr
</replaceable>
<optional>
port
<replaceable>
ip_port
</replaceable></optional>
;
<optional>
<replaceable>
ip_addr
</replaceable>
<optional>
port
<replaceable>
ip_port
</replaceable></optional>
; ...
</optional>
};
</optional>
<optional>
check-names (
<constant>
warn
</constant>
|
<constant>
fail
</constant>
|
<constant>
ignore
</constant>
) ;
</optional>
<optional>
dialup
<replaceable>
true_or_false
</replaceable>
;
</optional>
<optional>
dialup
<replaceable>
dialup_option
</replaceable>
;
</optional>
<optional>
file
<replaceable>
string
</replaceable>
;
</optional>
<optional>
forward (
<constant>
only
</constant>
|
<constant>
first
</constant>
) ;
</optional>
<optional>
forwarders {
<optional>
<replaceable>
ip_addr
</replaceable>
;
<optional>
<replaceable>
ip_addr
</replaceable>
;
<optional>
...
</optional></optional></optional>
} ;
</optional>
...
...
@@ -3679,8 +3695,7 @@ The default is the empty list.</para></entry>
<row
rowsep =
"0"
>
<entry
colname =
"1"
><para><command>
dialup
</command></para></entry>
<entry
colname =
"2"
><para>
See the description of
<command>
dialup
</command>
under
<xref
linkend=
"boolean_options"
/>
.
<note><simpara>
Not yet implemented in
<acronym>
BIND
</acronym>
9.
</simpara></note></para></entry>
<command>
dialup
</command>
under
<xref
linkend=
"boolean_options"
/>
.
</para></entry>
</row>
<row
rowsep =
"0"
>
<entry
colname =
"1"
><para><command>
forward
</command></para></entry>
...
...
lib/dns/config/confctx.c
View file @
0fc89c4e
...
...
@@ -15,7 +15,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: confctx.c,v 1.9
5
2000/11/03 0
2:45:51 bwelling
Exp $ */
/* $Id: confctx.c,v 1.9
6
2000/11/03 0
7:15:57 marka
Exp $ */
#include <config.h>
...
...
@@ -382,12 +382,6 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
"option 'deallocate-on-exit' is obsolete"
);
}
if
(
dns_c_ctx_getdialup
(
cfg
,
&
bval
)
!=
ISC_R_NOTFOUND
)
{
isc_log_write
(
dns_lctx
,
DNS_LOGCATEGORY_CONFIG
,
DNS_LOGMODULE_CONFIG
,
ISC_LOG_WARNING
,
"option 'dialup' is not yet implemented"
);
}
if
(
dns_c_ctx_getfakeiquery
(
cfg
,
&
bval
)
!=
ISC_R_NOTFOUND
)
{
isc_log_write
(
dns_lctx
,
DNS_LOGCATEGORY_CONFIG
,
DNS_LOGMODULE_CONFIG
,
ISC_LOG_WARNING
,
...
...
@@ -512,13 +506,6 @@ dns_c_checkconfig(dns_c_ctx_t *cfg)
"implemented"
);
}
if
(
dns_c_ctx_getheartbeatinterval
(
cfg
,
&
uintval
)
!=
ISC_R_NOTFOUND
)
{
isc_log_write
(
dns_lctx
,
DNS_LOGCATEGORY_CONFIG
,
DNS_LOGMODULE_CONFIG
,
ISC_LOG_WARNING
,
"option 'heartbeat-interval' is not yet "
"implemented"
);
}
if
(
dns_c_ctx_getstatsinterval
(
cfg
,
&
uintval
)
!=
ISC_R_NOTFOUND
)
{
isc_log_write
(
dns_lctx
,
DNS_LOGCATEGORY_CONFIG
,
DNS_LOGMODULE_CONFIG
,
ISC_LOG_WARNING
,
...
...
@@ -1074,7 +1061,13 @@ dns_c_ctx_optionsprint(FILE *fp, int indent, dns_c_options_t *options)
PRINT_AS_BOOLEAN
(
auth_nx_domain
,
"auth-nxdomain"
);
PRINT_AS_BOOLEAN
(
multiple_cnames
,
"multiple-cnames"
);
PRINT_AS_BOOLEAN
(
use_id_pool
,
"use-id-pool"
);
PRINT_AS_BOOLEAN
(
dialup
,
"dialup"
);
PRINT_IF_EQUAL
(
dns_dialuptype_no
,
"no"
,
dialup
,
"dialup"
);
PRINT_IF_EQUAL
(
dns_dialuptype_yes
,
"yes"
,
dialup
,
"dialup"
);
PRINT_IF_EQUAL
(
dns_dialuptype_notify
,
"notify"
,
dialup
,
"dialup"
);
PRINT_IF_EQUAL
(
dns_dialuptype_refresh
,
"refresh"
,
dialup
,
"dialup"
);
PRINT_IF_EQUAL
(
dns_dialuptype_passive
,
"passive"
,
dialup
,
"dialup"
);
PRINT_IF_EQUAL
(
dns_dialuptype_notifypassive
,
"notify-passive"
,
dialup
,
"dialup"
);
PRINT_AS_BOOLEAN
(
rfc2308_type1
,
"rfc2308-type1"
);
PRINT_AS_BOOLEAN
(
request_ixfr
,
"request-ixfr"
);
PRINT_AS_BOOLEAN
(
provide_ixfr
,
"provide-ixfr"
);
...
...
lib/dns/config/confparser.y.dirty
View file @
0fc89c4e
...
...
@@ -17,7 +17,7 @@
* WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: confparser.y.dirty,v 1.2
4
2000/1
0/31 01:17:1
8 marka Exp $ */
/* $Id: confparser.y.dirty,v 1.2
5
2000/1
1/03 07:15:5
8 marka Exp $ */
#include <config.h>
...
...
@@ -216,6 +216,7 @@ static isc_boolean_t int_too_big(isc_uint32_t base, isc_uint32_t mult);
dns_c_trans_t transport;
dns_transfer_format_t tformat;
dns_notifytype_t notifytype;
dns_dialuptype_t dialuptype;
dns_c_ipmatchelement_t *ime;
dns_c_ipmatchlist_t *iml;
...
...
@@ -344,6 +345,7 @@ static isc_boolean_t int_too_big(isc_uint32_t base, isc_uint32_t mult);
#ifndef NOMINUM_PUBLIC
%token L_NOTIFY_FORWARD
#endif /* NOMINUM_PUBLIC */
%token L_NOTIFY_PASSIVE
%token L_NULL_OUTPUT
%token L_ONE_ANSWER
%token L_ONLY
...
...
@@ -352,6 +354,7 @@ static isc_boolean_t int_too_big(isc_uint32_t base, isc_uint32_t mult);
%token L_OWNER
%token L_RANDOM_DEVICE
%token L_RANDOM_SEED_FILE
%token L_PASSIVE
%token L_PERM
%token L_PIDFILE
%token L_PORT
...
...
@@ -365,6 +368,7 @@ static isc_boolean_t int_too_big(isc_uint32_t base, isc_uint32_t mult);
%token L_RBRACE
%token L_RECURSION
%token L_RECURSIVE_CLIENTS
%token L_REFRESH
%token L_REQUEST_IXFR
%token L_RESPONSE
%token L_RFC2308_TYPE1
...
...
@@ -424,6 +428,7 @@ static isc_boolean_t int_too_big(isc_uint32_t base, isc_uint32_t mult);
%type <boolean> grantp
%type <boolean> yea_or_nay
%type <notifytype> notify_setting
%type <dialuptype> dialup_setting
%type <forward> forward_opt
%type <forward> zone_forward_opt
%type <ime> address_match_element
...
...
@@ -1586,7 +1591,7 @@ option: /* Empty */
YYABORT;
}
}
| L_DIALUP
yea_or_nay
| L_DIALUP
dialup_setting
{
tmpres = dns_c_ctx_setdialup(currcfg, $2);
if (tmpres == ISC_R_EXISTS) {
...
...
@@ -2136,6 +2141,31 @@ notify_setting: yea_or_nay
}
;
dialup_setting: yea_or_nay
{
if ($1)
$$ = dns_dialuptype_yes;
else
$$ = dns_dialuptype_no;
}
| L_NOTIFY
{
$$ = dns_dialuptype_notify;
}
| L_NOTIFY_PASSIVE
{
$$ = dns_dialuptype_notifypassive;
}
| L_REFRESH
{