iface-modem: the Command() method is only allowed when running in debug mode
This commit is contained in:
@@ -148,11 +148,14 @@
|
||||
|
||||
<!--
|
||||
Command
|
||||
@cmd The command string, e.g. "AT+GCAP" or "+GCAP" (leading AT is inserted if necessary)
|
||||
@timeout The number of seconds to wait for a response
|
||||
@response The modem's response
|
||||
@cmd The command string, e.g. "AT+GCAP" or "+GCAP" (leading AT is inserted if necessary).
|
||||
@timeout The number of seconds to wait for a response.
|
||||
@response The modem's response.
|
||||
|
||||
Send an arbitrary AT command to a modem and get the response.
|
||||
|
||||
Note that using this interface call is only allowed when running
|
||||
ModemManager in debug mode.
|
||||
-->
|
||||
<method name="Command">
|
||||
<arg name="cmd" type="s" direction="in" />
|
||||
|
@@ -24,6 +24,7 @@
|
||||
#include "mm-sim.h"
|
||||
#include "mm-bearer-list.h"
|
||||
#include "mm-log.h"
|
||||
#include "mm-context.h"
|
||||
|
||||
#define SIGNAL_QUALITY_RECENT_TIMEOUT_SEC 60
|
||||
#define SIGNAL_QUALITY_CHECK_TIMEOUT_SEC 30
|
||||
@@ -367,6 +368,17 @@ handle_command_auth_ready (MMBaseModem *self,
|
||||
return;
|
||||
}
|
||||
|
||||
/* If we are not in Debug mode, report an error */
|
||||
if (!mm_context_get_debug ()) {
|
||||
g_dbus_method_invocation_return_error (ctx->invocation,
|
||||
MM_CORE_ERROR,
|
||||
MM_CORE_ERROR_UNAUTHORIZED,
|
||||
"Cannot send AT command to modem: "
|
||||
"operation only allowed in debug mode");
|
||||
handle_command_context_free (ctx);
|
||||
return;
|
||||
}
|
||||
|
||||
/* If command is not implemented, report an error */
|
||||
if (!MM_IFACE_MODEM_GET_INTERFACE (self)->command ||
|
||||
!MM_IFACE_MODEM_GET_INTERFACE (self)->command_finish) {
|
||||
|
Reference in New Issue
Block a user