"printdrivers", /* DBGC_PRINTDRIVERS */
"lanman", /* DBGC_LANMAN */
"smb", /* DBGC_SMB */
- "rpc", /* DBGC_RPC */
- "rpc_hdr", /* DBGC_RPC_HDR */
+ "rpc_parse", /* DBGC_RPC_PARSE */
+ "rpc_srv", /* DBGC_RPC_SRV */
+ "rpc_cli", /* DBGC_RPC_CLI */
"passdb", /* DBGC_PASSDB */
"auth", /* DBGC_AUTH */
- "bdc", /* DBGC_BDC */
+ "winbind", /* DBGC_WINBIND */
NULL
};
#define MAX_CLASS_NAME_SIZE 1024
-char *debug_list_class_names_and_levels(void)
+static char *debug_list_class_names_and_levels(void)
{
int i, dim;
char **list;
{
char **params;
+ /* Just in case */
+ debug_init();
+
if (AllowDebugChange == False)
- return True;
+ return True;
- params = lp_list_make(params_str);
+ params = str_list_make(params_str);
if (debug_parse_params(params, DEBUGLEVEL_CLASS,
DEBUGLEVEL_CLASS_ISSET))
{
debug_dump_status(5);
- lp_list_free(¶ms);
+ str_list_free(¶ms);
return True;
} else {
- lp_list_free(¶ms);
+ str_list_free(¶ms);
return False;
}
}
}
+/****************************************************************************
+ Return current debug level.
+****************************************************************************/
+
+static void debuglevel_message(int msg_type, pid_t src, void *buf, size_t len)
+{
+ char *debug_level_classes;
+ DEBUG(1,("INFO: Received REQ_DEBUGLEVEL message from PID %u\n",(unsigned int)src));
+
+ if ((debug_level_classes = debug_list_class_names_and_levels())) {
+ /*{ debug_level_classes = "test:1000";*/
+ message_send_pid(src, MSG_DEBUGLEVEL, debug_level_classes, strlen(debug_level_classes) + 1, True);
+ SAFE_FREE(debug_level_classes);
+ } else {
+ DEBUG(0, ("debuglevel_message: error retrieving class levels!\n"));
+ }
+}
+
/****************************************************************************
Init debugging (one time stuff)
****************************************************************************/
initialised = True;
message_register(MSG_DEBUG, debug_message);
+ message_register(MSG_REQ_DEBUGLEVEL, debuglevel_message);
for(p = default_classname_table; *p; p++)
{
* get ready for syslog stuff
* ************************************************************************** **
*/
-void setup_logging(char *pname, BOOL interactive)
+void setup_logging(const char *pname, BOOL interactive)
{
debug_init();
}
#ifdef WITH_SYSLOG
else {
- char *p = strrchr_m( pname,'/' );
+ const char *p = strrchr_m( pname,'/' );
if (p)
pname = p + 1;
#ifdef LOG_DAEMON