Author: jerry
Date: 2005-08-12 16:08:40 +0000 (Fri, 12 Aug 2005)
New Revision: 9267

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9267

Log:
couple of small patches from Marcin

* add missing piece to loadparm.c from a previous patch
* fix handling of userdata in eventlog entries


Modified:
   trunk/source/param/loadparm.c
   trunk/source/rpc_server/srv_eventlog_nt.c


Changeset:
Modified: trunk/source/param/loadparm.c
===================================================================
--- trunk/source/param/loadparm.c       2005-08-12 16:03:21 UTC (rev 9266)
+++ trunk/source/param/loadparm.c       2005-08-12 16:08:40 UTC (rev 9267)
@@ -1159,6 +1159,7 @@
        {"eventlog num records command", P_STRING, P_GLOBAL, 
&Globals.szEventLogNumRecordsCommand, handle_eventlog, NULL, FLAG_ADVANCED},
        {"eventlog oldest record command", P_STRING, P_GLOBAL, 
&Globals.szEventLogOldestRecordCommand, handle_eventlog, NULL, FLAG_ADVANCED},
        {"eventlog close command", P_STRING, P_GLOBAL, 
&Globals.szEventLogCloseCommand, handle_eventlog, NULL, FLAG_ADVANCED},
+       {"eventlog control command", P_STRING, P_GLOBAL, 
&Globals.szEventLogControlCommand, handle_eventlog, NULL, FLAG_ADVANCED},
        {"eventlog list",  P_LIST, P_GLOBAL, &Globals.szEventLogs, NULL, NULL, 
FLAG_ADVANCED | FLAG_GLOBAL | FLAG_SHARE}, 
        
        {"config file", P_STRING, P_GLOBAL, &Globals.szConfigFile, NULL, NULL, 
FLAG_HIDE}, 

Modified: trunk/source/rpc_server/srv_eventlog_nt.c
===================================================================
--- trunk/source/rpc_server/srv_eventlog_nt.c   2005-08-12 16:03:21 UTC (rev 
9266)
+++ trunk/source/rpc_server/srv_eventlog_nt.c   2005-08-12 16:08:40 UTC (rev 
9267)
@@ -666,12 +666,14 @@
                while(isspace(stop[0])) {
                        stop++;
                }
-               memset(temp, 0, sizeof(temp));
-               temp_len = strlen(stop);
-               strncpy(temp, stop, temp_len);
-               rpcstr_push((void *)(entry->data_record.user_data), temp,
-                           sizeof(entry->data_record.user_data), 
STR_TERMINATE);
-               entry->data_record.user_data_len = (strlen_w((const smb_ucs2_t 
*)entry->data_record.user_data) * 2) + 2;
+               entry->data_record.user_data_len = strlen(stop);
+               memset(entry->data_record.user_data, 0, 
sizeof(entry->data_record.user_data));
+               if(entry->data_record.user_data_len > 0) {
+                       /* copy no more than the first 1024 bytes */
+                       if(entry->data_record.user_data_len > 
sizeof(entry->data_record.user_data))
+                               entry->data_record.user_data_len = 
sizeof(entry->data_record.user_data);
+                       memcpy(entry->data_record.user_data, stop, 
entry->data_record.user_data_len);
+               }
        } else {
                /* some other eventlog entry -- not implemented, so dropping on 
the floor */
                DEBUG(10, ("Unknown entry [%s]. Ignoring.\n", line));

Reply via email to