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
Adam Osuchowski
Kea
Commits
8b2212d2
Commit
8b2212d2
authored
Aug 09, 2012
by
Kazunori Fujiwara
Browse files
More fix not to change commands' output to config channel.
parent
a580674f
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/bin/auth/command.cc
View file @
8b2212d2
...
...
@@ -101,13 +101,13 @@ public:
/// \param server The \c AuthSrv object on which the command is executed.
/// \param args Command specific argument.
/// \return command result data in JSON format.
virtual
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
args
)
=
0
;
virtual
Const
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
args
)
=
0
;
};
// Handle the "shutdown" command.
class
ShutdownCommand
:
public
AuthCommand
{
public:
virtual
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
args
)
{
virtual
Const
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
args
)
{
// Is the pid argument provided?
if
(
args
&&
args
->
contains
(
"pid"
))
{
// If it is, we check it is the same as our PID
...
...
@@ -123,44 +123,44 @@ public:
// there are multiple instances of the server running and
// another instance is being shut down, we get the message
// too, due to the multicast nature of our message bus.
return
(
Element
::
createList
());
return
(
createAnswer
());
}
}
LOG_DEBUG
(
auth_logger
,
DBG_AUTH_SHUT
,
AUTH_SHUTDOWN
);
server
.
stop
();
return
(
Element
::
createList
());
return
(
createAnswer
());
}
};
// Handle the "getstats" command. The argument is a list.
class
GetStatsCommand
:
public
AuthCommand
{
public:
virtual
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
)
{
virtual
Const
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
)
{
LOG_DEBUG
(
auth_logger
,
DBG_AUTH_OPS
,
AUTH_RECEIVED_SENDSTATS
);
return
(
server
.
getStatistics
());
return
(
createAnswer
(
0
,
server
.
getStatistics
())
)
;
}
};
class
StartDDNSForwarderCommand
:
public
AuthCommand
{
public:
virtual
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
)
{
virtual
Const
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
)
{
server
.
createDDNSForwarder
();
return
(
Element
::
fromJSON
(
"{}"
));
return
(
createAnswer
(
));
}
};
class
StopDDNSForwarderCommand
:
public
AuthCommand
{
public:
virtual
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
)
{
virtual
Const
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
)
{
server
.
destroyDDNSForwarder
();
return
(
Element
::
fromJSON
(
"{}"
));
return
(
createAnswer
(
));
}
};
// Handle the "loadzone" command.
class
LoadZoneCommand
:
public
AuthCommand
{
public:
virtual
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
args
)
{
virtual
Const
ElementPtr
exec
(
AuthSrv
&
server
,
isc
::
data
::
ConstElementPtr
args
)
{
if
(
args
==
NULL
)
{
isc_throw
(
AuthCommandError
,
"Null argument"
);
}
...
...
@@ -188,7 +188,7 @@ public:
// Everything worked fine.
LOG_DEBUG
(
auth_logger
,
DBG_AUTH_OPS
,
AUTH_LOAD_ZONE
)
.
arg
(
zone_class
).
arg
(
origin
);
return
(
Element
::
createList
());
return
(
createAnswer
());
case
ConfigurableClientList
::
ZONE_NOT_FOUND
:
isc_throw
(
AuthCommandError
,
"Zone "
<<
origin
<<
"/"
<<
zone_class
<<
" was not found in any configured "
...
...
@@ -205,7 +205,7 @@ public:
isc_throw
(
isc
::
Unexpected
,
"Cache disabled in client list of "
"class "
<<
zone_class
);
}
return
(
Element
::
createList
());
return
(
createAnswer
());
}
};
...
...
@@ -240,7 +240,7 @@ ConstElementPtr
execAuthServerCommand
(
AuthSrv
&
server
,
const
string
&
command_id
,
ConstElementPtr
args
)
{
ElementPtr
value
;
Const
ElementPtr
value
;
LOG_DEBUG
(
auth_logger
,
DBG_AUTH_OPS
,
AUTH_RECEIVED_COMMAND
).
arg
(
command_id
);
try
{
...
...
@@ -252,5 +252,5 @@ execAuthServerCommand(AuthSrv& server, const string& command_id,
return
(
createAnswer
(
1
,
ex
.
what
()));
}
return
(
createAnswer
(
0
,
value
)
)
;
return
(
value
);
}
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