991
1097
/* ************************************************* */
993
int processNtopConfigData (char *buf, int savePref)
995
char *strtokState, *mainState;
996
int startCap = FALSE, action;
998
char *devices = NULL, *foundDevices = NULL, *token;
1000
/* traceEvent(CONST_TRACE_INFO, "RRD: buf='%s'", buf); */
1002
token = strtok_r(buf, "&", &mainState);
1003
tmpPrefs = myGlobals.savedPref;
1005
/* however, switch off all chkbox fields. If they've been set, they'll get
1006
* processed. If they stay turned off, it is a sign that they've been
1007
* unchecked and we need to handle this.
1009
tmpPrefs.enableSessionHandling = tmpPrefs.enablePacketDecoding = 0;
1010
tmpPrefs.stickyHosts = tmpPrefs.trackOnlyLocalHosts = 0;
1011
tmpPrefs.disablePromiscuousMode = tmpPrefs.disableMutexExtraInfo = 0;
1012
tmpPrefs.disableInstantSessionPurge = tmpPrefs.disableStopcap = 0;
1013
tmpPrefs.debugMode = tmpPrefs.daemonMode = tmpPrefs.w3c = 0;
1014
tmpPrefs.numericFlag = tmpPrefs.mergeInterfaces = 0;
1015
#if !defined(WIN32) && defined(HAVE_PCAP_SETNONBLOCK)
1016
tmpPrefs.setNonBlocking = 0;
1018
tmpPrefs.dontTrustMACaddr = 0;
1019
tmpPrefs.enableOtherPacketDump = tmpPrefs.enableSuspiciousPacketDump = 0;
1020
tmpPrefs.enableSessionHandling = 0;
1021
#ifdef MAKE_WITH_SSLWATCHDOG_RUNTIME
1022
tmpPrefs.useSSLwatchdog = 0;
1025
#ifdef MAKE_WITH_SCHED_YIELD
1026
tmpPrefs.disableSchedYield = 0;
1029
devices = tmpPrefs.devices;
1030
tmpPrefs.devices = NULL;
1032
while(token != NULL) {
1035
key = strtok_r(token, "=", &strtokState);
1036
if(key != NULL) value = strtok_r(NULL, "=", &strtokState); else value = NULL;
1038
/* traceEvent(CONST_TRACE_INFO, "RRD: key(%s)=%s", key, value); */
1041
action = processNtopPref (key, value, savePref, &tmpPrefs);
1047
if(!strcmp(key, NTOP_PREF_DEVICES))
1048
foundDevices = value;
1050
token = strtok_r(NULL, "&", &mainState);
1054
delPrefsValue(NTOP_PREF_DEVICES);
1055
if(tmpPrefs.devices) free(tmpPrefs.devices);
1056
tmpPrefs.devices = NULL;
1063
/* Now we need to delete all the preferences that were unchecked.
1064
* Radio box & checkbox preferences that were set in a previous instance
1065
* but cleared in this instance will not appear in the POST data. So, if
1066
* the value has changed from what existed before, we need to remove them
1067
* from the saved preferences file.
1069
if (myGlobals.savedPref.enableSessionHandling &&
1070
!tmpPrefs.enableSessionHandling) {
1071
/* default for enableSessionHandling is TRUE */
1072
processNtopPref (NTOP_PREF_EN_SESSION, FALSE, savePref, &tmpPrefs);
1076
if (myGlobals.savedPref.enablePacketDecoding &&
1077
!tmpPrefs.enablePacketDecoding) {
1078
processNtopPref (NTOP_PREF_EN_PROTO_DECODE, FALSE, savePref, &tmpPrefs);
1081
if (myGlobals.savedPref.stickyHosts && !tmpPrefs.stickyHosts) {
1082
processNtopPref (NTOP_PREF_STICKY_HOSTS, FALSE, savePref, &tmpPrefs);
1085
if (myGlobals.savedPref.trackOnlyLocalHosts &&
1086
!tmpPrefs.trackOnlyLocalHosts) {
1087
processNtopPref (NTOP_PREF_TRACK_LOCAL, FALSE, savePref, &tmpPrefs);
1090
if (myGlobals.savedPref.disablePromiscuousMode &&
1091
!tmpPrefs.disablePromiscuousMode) {
1092
processNtopPref (NTOP_PREF_NO_PROMISC, FALSE, savePref, &tmpPrefs);
1095
if (myGlobals.savedPref.daemonMode && !tmpPrefs.daemonMode) {
1096
processNtopPref (NTOP_PREF_DAEMON, FALSE, savePref, &tmpPrefs);
1099
if (myGlobals.savedPref.noInvalidLunDisplay &&
1100
!tmpPrefs.noInvalidLunDisplay) {
1101
processNtopPref (NTOP_PREF_NO_INVLUN, FALSE, savePref, &tmpPrefs);
1104
if (myGlobals.savedPref.w3c && !tmpPrefs.w3c) {
1105
processNtopPref (NTOP_PREF_W3C, FALSE, savePref, &tmpPrefs);
1108
if (myGlobals.savedPref.numericFlag && !tmpPrefs.numericFlag) {
1109
processNtopPref (NTOP_PREF_NUMERIC_IP, FALSE, savePref, &tmpPrefs);
1112
if (myGlobals.savedPref.mergeInterfaces && !tmpPrefs.mergeInterfaces) {
1113
processNtopPref (NTOP_PREF_MERGEIF, FALSE, savePref, &tmpPrefs);
1116
if (myGlobals.savedPref.disableInstantSessionPurge &&
1117
!tmpPrefs.disableInstantSessionPurge) {
1118
processNtopPref (NTOP_PREF_NO_ISESS_PURGE, FALSE, savePref, &tmpPrefs);
1121
#if !defined(WIN32) && defined(HAVE_PCAP_SETNONBLOCK)
1122
if (myGlobals.savedPref.setNonBlocking && !tmpPrefs.setNonBlocking) {
1123
processNtopPref (NTOP_PREF_NOBLOCK, FALSE, savePref, &tmpPrefs);
1127
if (myGlobals.savedPref.disableStopcap && !tmpPrefs.disableStopcap) {
1128
processNtopPref (NTOP_PREF_NO_STOPCAP, FALSE, savePref, &tmpPrefs);
1131
if (myGlobals.savedPref.dontTrustMACaddr && !tmpPrefs.dontTrustMACaddr) {
1132
processNtopPref (NTOP_PREF_NO_TRUST_MAC, FALSE, savePref, &tmpPrefs);
1135
#ifdef MAKE_WITH_SSLWATCHDOG_RUNTIME
1136
if (myGlobals.savedPref.useSSLwatchdog && !tmpPrefs.useSSLwatchdog) {
1137
processNtopPref (NTOP_PREF_USE_SSLWATCH, FALSE, savePref, &tmpPrefs);
1141
#ifdef MAKE_WITH_SCHED_YIELD
1142
if (myGlobals.savedPref.disableSchedYield && !tmpPrefs.disableSchedYield) {
1143
processNtopPref (NTOP_PREF_NO_SCHEDYLD, FALSE, savePref, &tmpPrefs);
1147
if (myGlobals.savedPref.debugMode && !tmpPrefs.debugMode) {
1148
processNtopPref (NTOP_PREF_DBG_MODE, FALSE, savePref, &tmpPrefs);
1151
if (myGlobals.savedPref.enableOtherPacketDump &&
1152
!tmpPrefs.enableOtherPacketDump) {
1153
processNtopPref (NTOP_PREF_DUMP_OTHER, FALSE, savePref, &tmpPrefs);
1156
if (myGlobals.savedPref.enableSuspiciousPacketDump &&
1157
!tmpPrefs.enableSuspiciousPacketDump) {
1158
processNtopPref (NTOP_PREF_DUMP_SUSP, FALSE, savePref, &tmpPrefs);
1161
if (myGlobals.savedPref.disableMutexExtraInfo &&
1162
!tmpPrefs.disableMutexExtraInfo) {
1163
processNtopPref (NTOP_PREF_NO_MUTEX_EXTRA, FALSE, savePref, &tmpPrefs);
1166
/* Copy over the preferences now */
1167
myGlobals.savedPref = tmpPrefs;
1099
int processNtopConfigData (char *buf, int savePref) {
1100
char *strtokState, *mainState;
1101
int startCap = FALSE, action;
1103
char *devices = NULL, *foundDevices = NULL, *token;
1104
char basic_prefs = 0, display_prefs = 0, ip_prefs = 0, advanced_prefs = 0, debug_prefs = 0, db_prefs = 0;
1106
/* traceEvent(CONST_TRACE_INFO, "RRD: buf='%s'", buf); */
1108
token = strtok_r(buf, "&", &mainState);
1109
tmpPrefs = myGlobals.savedPref;
1111
/* however, switch off all chkbox fields. If they've been set, they'll get
1112
* processed. If they stay turned off, it is a sign that they've been
1113
* unchecked and we need to handle this.
1115
tmpPrefs.enableSessionHandling = tmpPrefs.enablePacketDecoding = 0;
1116
tmpPrefs.stickyHosts = tmpPrefs.trackOnlyLocalHosts = 0;
1117
tmpPrefs.disablePromiscuousMode = tmpPrefs.disableMutexExtraInfo = 0;
1118
tmpPrefs.disableInstantSessionPurge = tmpPrefs.disableStopcap = 0;
1119
tmpPrefs.debugMode = tmpPrefs.daemonMode = tmpPrefs.w3c = 0;
1120
tmpPrefs.numericFlag = tmpPrefs.mergeInterfaces = tmpPrefs.enableL7 = 0;
1121
tmpPrefs.dontTrustMACaddr = 0;
1122
tmpPrefs.enableOtherPacketDump = tmpPrefs.enableSuspiciousPacketDump = 0;
1123
tmpPrefs.enableSessionHandling = 0;
1124
#ifdef MAKE_WITH_SSLWATCHDOG_RUNTIME
1125
tmpPrefs.useSSLwatchdog = 0;
1128
#ifdef MAKE_WITH_SCHED_YIELD
1129
tmpPrefs.disableSchedYield = 0;
1132
devices = tmpPrefs.devices;
1133
tmpPrefs.devices = NULL;
1135
while(token != NULL) {
1138
key = strtok_r(token, "=", &strtokState);
1139
if(key != NULL) value = strtok_r(NULL, "=", &strtokState); else value = NULL;
1141
/* traceEvent(CONST_TRACE_INFO, "RRD: key(%s)=%s", key, value); */
1144
action = processNtopPref(key, value, savePref, &tmpPrefs);
1150
if(!strcmp(key, "BASIC_PREFS")) basic_prefs = 1;
1151
else if(!strcmp(key, "DISPLAY_PREFS")) display_prefs = 1;
1152
else if(!strcmp(key, "IP_PREFS")) ip_prefs = 1;
1153
else if(!strcmp(key, "ADVANCED_PREFS")) advanced_prefs = 1;
1154
else if(!strcmp(key, "DEBUG_PREFS")) debug_prefs = 1;
1155
else if(!strcmp(key, "DB_PREFS")) db_prefs = 1;
1157
if(!strcmp(key, NTOP_PREF_DEVICES))
1158
foundDevices = value;
1161
token = strtok_r(NULL, "&", &mainState);
1164
if((!foundDevices) && basic_prefs) {
1165
delPrefsValue(NTOP_PREF_DEVICES);
1166
if(tmpPrefs.devices) free(tmpPrefs.devices);
1167
tmpPrefs.devices = NULL;
1174
/* Now we need to delete all the preferences that were unchecked.
1175
* Radio box & checkbox preferences that were set in a previous instance
1176
* but cleared in this instance will not appear in the POST data. So, if
1177
* the value has changed from what existed before, we need to remove them
1178
* from the saved preferences file.
1181
if (basic_prefs && myGlobals.savedPref.enableSessionHandling &&
1182
!tmpPrefs.enableSessionHandling) {
1183
/* default for enableSessionHandling is TRUE */
1184
processNtopPref(NTOP_PREF_EN_SESSION, FALSE, savePref, &tmpPrefs);
1187
if (basic_prefs && myGlobals.savedPref.enablePacketDecoding &&
1188
!tmpPrefs.enablePacketDecoding) {
1189
processNtopPref(NTOP_PREF_EN_PROTO_DECODE, FALSE, savePref, &tmpPrefs);
1192
if (basic_prefs && myGlobals.savedPref.stickyHosts && !tmpPrefs.stickyHosts) {
1193
processNtopPref(NTOP_PREF_STICKY_HOSTS, FALSE, savePref, &tmpPrefs);
1196
if (basic_prefs && myGlobals.savedPref.trackOnlyLocalHosts &&
1197
!tmpPrefs.trackOnlyLocalHosts) {
1198
processNtopPref(NTOP_PREF_TRACK_LOCAL, FALSE, savePref, &tmpPrefs);
1201
if (basic_prefs && myGlobals.savedPref.disablePromiscuousMode &&
1202
!tmpPrefs.disablePromiscuousMode) {
1203
processNtopPref(NTOP_PREF_NO_PROMISC, FALSE, savePref, &tmpPrefs);
1206
if (basic_prefs && myGlobals.savedPref.daemonMode && !tmpPrefs.daemonMode) {
1207
processNtopPref(NTOP_PREF_DAEMON, FALSE, savePref, &tmpPrefs);
1210
if (display_prefs && myGlobals.savedPref.noInvalidLunDisplay &&
1211
!tmpPrefs.noInvalidLunDisplay) {
1212
processNtopPref(NTOP_PREF_NO_INVLUN, FALSE, savePref, &tmpPrefs);
1215
if (display_prefs && myGlobals.savedPref.w3c && !tmpPrefs.w3c) {
1216
processNtopPref(NTOP_PREF_W3C, FALSE, savePref, &tmpPrefs);
1219
if (ip_prefs && myGlobals.savedPref.numericFlag && !tmpPrefs.numericFlag) {
1220
processNtopPref(NTOP_PREF_NUMERIC_IP, FALSE, savePref, &tmpPrefs);
1223
if (advanced_prefs && myGlobals.savedPref.mergeInterfaces && !tmpPrefs.mergeInterfaces) {
1224
processNtopPref(NTOP_PREF_MERGEIF, FALSE, savePref, &tmpPrefs);
1227
if (advanced_prefs && myGlobals.savedPref.enableL7 && !tmpPrefs.enableL7) {
1228
processNtopPref(NTOP_PREF_ENABLE_L7PROTO, FALSE, savePref, &tmpPrefs);
1231
if (advanced_prefs && myGlobals.savedPref.disableInstantSessionPurge &&
1232
!tmpPrefs.disableInstantSessionPurge) {
1233
processNtopPref(NTOP_PREF_NO_ISESS_PURGE, FALSE, savePref, &tmpPrefs);
1236
if (advanced_prefs && myGlobals.savedPref.dontTrustMACaddr && !tmpPrefs.dontTrustMACaddr) {
1237
processNtopPref(NTOP_PREF_NO_TRUST_MAC, FALSE, savePref, &tmpPrefs);
1240
#ifdef MAKE_WITH_SSLWATCHDOG_RUNTIME
1241
if (advanced_prefs && myGlobals.savedPref.useSSLwatchdog && !tmpPrefs.useSSLwatchdog) {
1242
processNtopPref(NTOP_PREF_USE_SSLWATCH, FALSE, savePref, &tmpPrefs);
1246
#ifdef MAKE_WITH_SCHED_YIELD
1247
if (advanced_prefs && myGlobals.savedPref.disableSchedYield && !tmpPrefs.disableSchedYield) {
1248
processNtopPref(NTOP_PREF_NO_SCHEDYLD, FALSE, savePref, &tmpPrefs);
1252
if (debug_prefs && myGlobals.savedPref.debugMode && !tmpPrefs.debugMode) {
1253
processNtopPref(NTOP_PREF_DBG_MODE, FALSE, savePref, &tmpPrefs);
1256
if (debug_prefs && myGlobals.savedPref.enableOtherPacketDump &&
1257
!tmpPrefs.enableOtherPacketDump) {
1258
processNtopPref(NTOP_PREF_DUMP_OTHER, FALSE, savePref, &tmpPrefs);
1261
if (debug_prefs && myGlobals.savedPref.enableSuspiciousPacketDump &&
1262
!tmpPrefs.enableSuspiciousPacketDump) {
1263
processNtopPref(NTOP_PREF_DUMP_SUSP, FALSE, savePref, &tmpPrefs);
1266
if (debug_prefs && myGlobals.savedPref.disableMutexExtraInfo &&
1267
!tmpPrefs.disableMutexExtraInfo) {
1268
processNtopPref(NTOP_PREF_NO_MUTEX_EXTRA, FALSE, savePref, &tmpPrefs);
1271
if (db_prefs && myGlobals.savedPref.saveRecordsIntoDb && !tmpPrefs.saveRecordsIntoDb) {
1272
processNtopPref(NTOP_PREF_SAVE_REC_INTO_DB, FALSE, savePref, &tmpPrefs);
1275
if (db_prefs && myGlobals.savedPref.saveSessionsIntoDb && !tmpPrefs.saveSessionsIntoDb) {
1276
processNtopPref(NTOP_PREF_SAVE_SESSIONS_INTO_DB, FALSE, savePref, &tmpPrefs);
1279
/* Copy over the preferences now */
1280
myGlobals.savedPref = tmpPrefs;
1282
/* Handle immediates */
1283
myGlobals.runningPref.traceLevel = myGlobals.savedPref.traceLevel;
1172
1288
/* ************************************************* */
1174
1290
void printNtopConfigHeader (char *url, UserPrefDisplayPage configScr)
1179
safe_snprintf (__FILE__, __LINE__, theLink, sizeof(theLink),
1180
"/configNtop.html?&showD=");
1182
switch (configScr) {
1183
case showPrefBasicPref:
1184
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1185
"[ <B>Basic Preferences</B> ] "
1186
"[ <A HREF=%s2>Display Preferences</A> ] "
1187
"[ <A HREF=%s3>IP Preferences</A> ] "
1188
"[ <A HREF=%s4>FC Preferences</A> ] "
1189
"[ <A HREF=%s5>Advanced Preferences</A> ] "
1190
"[ <A HREF=%s6>Debugging Preferences</A> ] </p>",
1191
theLink, theLink, theLink, theLink, theLink, theLink);
1194
case showPrefDisplayPref:
1195
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1196
"[ <A HREF=%s1>Basic Preferences</A> ] "
1197
"[ <B>Display Preferences</B> ] "
1198
"[ <A HREF=%s3>IP Preferences</A> ] "
1199
"[ <A HREF=%s4>FC Preferences</A> ] "
1200
"[ <A HREF=%s5>Advanced Preferences</A> ] "
1201
"[ <A HREF=%s6>Debugging Preferences</A> ] </p>",
1202
theLink, theLink, theLink, theLink, theLink, theLink);
1204
case showPrefIPPref:
1205
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1206
"[ <A HREF=%s1>Basic Preferences</A> ] "
1207
"[ <A HREF=%s2>Display Preferences</A> ] "
1208
"[ <B>IP Preferences</B> ] "
1209
"[ <A HREF=%s4>FC Preferences</A> ] "
1210
"[ <A HREF=%s5>Advanced Preferences</A> ] "
1211
"[ <A HREF=%s6>Debugging Preferences</A> ] </p>",
1212
theLink, theLink, theLink, theLink, theLink, theLink);
1214
case showPrefFCPref:
1215
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1216
"[ <A HREF=%s1>Basic Preferences</A> ] "
1217
"[ <A HREF=%s2>Display Preferences</A> ] "
1218
"[ <A HREF=%s3>IP Preferences</A> ] "
1219
"[ <B>FC Preferences</B> ] "
1220
"[ <A HREF=%s5>Advanced Preferences</A> ] "
1221
"[ <A HREF=%s6>Debugging Preferences</A> ] </p>",
1222
theLink, theLink, theLink, theLink, theLink, theLink);
1224
case showPrefAdvPref:
1225
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1226
"[ <A HREF=%s1>Basic Preferences</A> ] "
1227
"[ <A HREF=%s2>Display Preferences</A> ] "
1228
"[ <A HREF=%s3>IP Preferences</A> ] "
1229
"[ <A HREF=%s4>FC Preferences</A> ] "
1230
"[ <B>Advanced Preferences</B> ] "
1231
"[ <A HREF=%s6>Debugging Preferences</A> ] </p>",
1232
theLink, theLink, theLink, theLink, theLink, theLink);
1234
case showPrefDbgPref:
1235
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1236
"[ <A HREF=%s1>Basic Preferences</A> ] "
1237
"[ <A HREF=%s2>Display Preferences</A> ] "
1238
"[ <A HREF=%s3>IP Preferences</A> ] "
1239
"[ <A HREF=%s4>FC Preferences</A> ] "
1240
"[ <A HREF=%s5>Advanced Preferences</A> ] "
1241
"[ <B>Debugging Preferences</B> ] </p>",
1242
theLink, theLink, theLink, theLink, theLink, theLink);
1244
case showPrefPluginPref:
1245
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1246
"[ <A HREF=%s1>Basic Preferences</A> ] "
1247
"[ <A HREF=%s2>Display Preferences</A> ] "
1248
"[ <A HREF=%s3>IP Preferences</A> ] "
1249
"[ <A HREF=%s4>FC Preferences</A> ] "
1250
"[ <A HREF=%s5>Advanced Preferences</A> ] "
1251
"[ <A HREF=%s6>Debugging Preferences</A> ] </p>"
1252
"[ <B>Plugin Preferences</B> ] </p>",
1253
theLink, theLink, theLink, theLink, theLink, theLink);
1259
safe_snprintf (__FILE__, __LINE__, buf, sizeof (buf),
1260
"<FORM ACTION=%s%d method=POST>"
1261
" <TABLE BORDER=1 "TABLE_DEFAULTS">\n"
1262
"<TR><TH ALIGN=CENTER "DARK_BG">Preference</TH>"
1263
"<TH ALIGN=CENTER "DARK_BG">Configured Value</TH></TR>\n",
1264
theLink, configScr);
1295
safe_snprintf (__FILE__, __LINE__, theLink, sizeof(theLink),
1296
"/configNtop.html?&showD=");
1298
switch (configScr) {
1299
case showPrefBasicPref:
1300
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1301
"[ <B>Basic Prefs</B> ] "
1302
"[ <A HREF=%s2>Display Prefs</A> ] "
1303
"[ <A HREF=%s3>IP Prefs</A> ] "
1304
"[ <A HREF=%s4>FC Prefs</A> ] "
1305
"[ <A HREF=%s5>Advanced Prefs</A> ] "
1306
"[ <A HREF=%s6>Debugging Prefs</A> ] "
1307
"[ <A HREF=%s7>DB Prefs</A> ] </p>",
1308
theLink, theLink, theLink, theLink, theLink, theLink, theLink);
1311
case showPrefDisplayPref:
1312
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1313
"[ <A HREF=%s1>Basic Prefs</A> ] "
1314
"[ <B>Display Prefs</B> ] "
1315
"[ <A HREF=%s3>IP Prefs</A> ] "
1316
"[ <A HREF=%s4>FC Prefs</A> ] "
1317
"[ <A HREF=%s5>Advanced Prefs</A> ] "
1318
"[ <A HREF=%s6>Debugging Prefs</A> ] "
1319
"[ <A HREF=%s7>DB Prefs</A> ] </p>",
1320
theLink, theLink, theLink, theLink, theLink, theLink, theLink);
1323
case showPrefIPPref:
1324
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1325
"[ <A HREF=%s1>Basic Prefs</A> ] "
1326
"[ <A HREF=%s2>Display Prefs</A> ] "
1327
"[ <B>IP Prefs</B> ] "
1328
"[ <A HREF=%s4>FC Prefs</A> ] "
1329
"[ <A HREF=%s5>Advanced Prefs</A> ] "
1330
"[ <A HREF=%s6>Debugging Prefs</A> ] "
1331
"[ <A HREF=%s7>DB Prefs</A> ] </p>",
1332
theLink, theLink, theLink, theLink, theLink, theLink, theLink);
1335
case showPrefFCPref:
1336
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1337
"[ <A HREF=%s1>Basic Prefs</A> ] "
1338
"[ <A HREF=%s2>Display Prefs</A> ] "
1339
"[ <A HREF=%s3>IP Prefs</A> ] "
1340
"[ <B>FC Prefs</B> ] "
1341
"[ <A HREF=%s5>Advanced Prefs</A> ] "
1342
"[ <A HREF=%s6>Debugging Prefs</A> ] "
1343
"[ <A HREF=%s7>DB Prefs</A> ] </p>",
1344
theLink, theLink, theLink, theLink, theLink, theLink, theLink);
1347
case showPrefAdvPref:
1348
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1349
"[ <A HREF=%s1>Basic Prefs</A> ] "
1350
"[ <A HREF=%s2>Display Prefs</A> ] "
1351
"[ <A HREF=%s3>IP Prefs</A> ] "
1352
"[ <A HREF=%s4>FC Prefs</A> ] "
1353
"[ <B>Advanced Prefs</B> ] "
1354
"[ <A HREF=%s6>Debugging Prefs</A> ] "
1355
"[ <A HREF=%s7>DB Prefs</A> ] </p>",
1356
theLink, theLink, theLink, theLink, theLink, theLink, theLink);
1359
case showPrefDbgPref:
1360
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1361
"[ <A HREF=%s1>Basic Prefs</A> ] "
1362
"[ <A HREF=%s2>Display Prefs</A> ] "
1363
"[ <A HREF=%s3>IP Prefs</A> ] "
1364
"[ <A HREF=%s4>FC Prefs</A> ] "
1365
"[ <A HREF=%s5>Advanced Prefs</A> ] "
1366
"[ <B>Debugging Prefs</B> ] "
1367
"[ <A HREF=%s7>DB Prefs</A> ] </p>",
1368
theLink, theLink, theLink, theLink, theLink, theLink, theLink);
1371
case showPrefDBPref:
1372
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf), "<P ALIGN=CENTER>"
1373
"[ <A HREF=%s1>Basic Prefs</A> ] "
1374
"[ <A HREF=%s2>Display Prefs</A> ] "
1375
"[ <A HREF=%s3>IP Prefs</A> ] "
1376
"[ <A HREF=%s4>FC Prefs</A> ] "
1377
"[ <A HREF=%s5>Advanced Prefs</A> ] "
1378
"[ <A HREF=%s6>Debugging Prefs</A> ] "
1379
"[ <B>DB Prefs</B> ] </p>",
1380
theLink, theLink, theLink, theLink, theLink, theLink, theLink);
1386
safe_snprintf (__FILE__, __LINE__, buf, sizeof (buf),
1387
"<FORM ACTION=%s%d method=POST>"
1388
" <TABLE BORDER=1 "TABLE_DEFAULTS">\n"
1389
"<TR><TH ALIGN=CENTER "DARK_BG">Preference</TH>"
1390
"<TH ALIGN=CENTER "DARK_BG">Configured Value</TH></TR>\n",
1391
theLink, configScr);
1268
1395
/* ***************************************************** */
1392
1516
pcap_freealldevs(devpointer);
1396
traceEvent(CONST_TRACE_INFO, "pcap_findalldevs failed [rc=%d][%s]\n",
1519
sendString("<INPUT TYPE=hidden name=\""NTOP_PREF_DEVICES"\" value=\"\">");
1521
if(myGlobals.userId == 0)
1522
traceEvent(CONST_TRACE_INFO, "pcap_findalldevs failed [rc=%d][%s]\n", rc, ebuf);
1524
sendString("<font color=red>You cannot set the capture interface: missing privileges.</font><br>"
1525
"You need to start ntop with super-user privileges [-u]");
1400
sendString("</TD></TR>");
1528
sendString("</TD></TR>\n");
1404
CONFIG_STR_ENTRY (DARK_BG, "Capture File Path (-f)", NTOP_PREF_CAPFILE, 50,
1406
"Capture file to read from (takes precedence over "
1407
"interface specification)");
1409
CONFIG_STR_ENTRY (DARK_BG, "Capture Filter Expression (-B)",
1411
50, pref->currentFilterExpression,
1412
"Restrict the traffic seen by ntop. BPF syntax.");
1414
CONFIG_INT_ENTRY (DARK_BG, "Packet sampling rate (-C)", NTOP_PREF_SAMPLING,
1415
50, pref->samplingRate, "Sampling rate [1 = no sampling]");
1532
CONFIG_STR_ENTRY(DARK_BG, "Capture File Path (-f)", NTOP_PREF_CAPFILE, 50,
1534
"Capture file to read from (takes precedence over "
1535
"interface specification)");
1537
CONFIG_STR_ENTRY(DARK_BG, "Capture Filter Expression (-B)",
1539
50, pref->currentFilterExpression,
1540
"Restrict the traffic seen by ntop. BPF syntax.");
1542
CONFIG_INT_ENTRY(DARK_BG, "Packet sampling rate (-C)", NTOP_PREF_SAMPLING,
1543
50, pref->samplingRate, "Sampling rate [1 = no sampling]");
1417
1545
if (pref->webAddr == NULL) {
1418
1546
safe_snprintf (__FILE__, __LINE__, hostStr, sizeof (hostStr),
1419
1547
"%d", pref->webPort);
1422
1549
safe_snprintf (__FILE__, __LINE__, hostStr, sizeof (hostStr),
1423
1550
"%s:%d", pref->webAddr, pref->webPort);
1425
CONFIG_STR_ENTRY (DARK_BG, "HTTP Server (-w)", NTOP_PREF_WEBPORT,
1427
"HTTP Server [Address:]Port of ntop's web interface");
1552
CONFIG_STR_ENTRY(DARK_BG, "HTTP Server (-w)", NTOP_PREF_WEBPORT,
1554
"HTTP Server [Address:]Port of ntop's web interface");
1429
1556
#ifdef HAVE_OPENSSL
1430
1557
if (pref->sslAddr == NULL) {
1431
1558
safe_snprintf (__FILE__, __LINE__, hostStr, sizeof (hostStr),
1432
1559
"%d", pref->sslPort);
1435
1561
safe_snprintf (__FILE__, __LINE__, hostStr, sizeof (hostStr),
1436
1562
"%s:%d", pref->sslAddr, pref->sslPort);
1438
CONFIG_STR_ENTRY (DARK_BG, "HTTPS Server (-W)", NTOP_PREF_SSLPORT, 50,
1439
hostStr, "HTTPS Server [Address:]Port of ntop's web "
1564
CONFIG_STR_ENTRY(DARK_BG, "HTTPS Server (-W)", NTOP_PREF_SSLPORT, 50,
1565
hostStr, "HTTPS Server [Address:]Port of ntop's web "
1443
CONFIG_RADIO_ENTRY (DARK_BG, "Enable Session Handling (-z)",
1444
NTOP_PREF_EN_SESSION,
1445
pref->enableSessionHandling, "");
1447
CONFIG_RADIO_ENTRY (DARK_BG, "Enable Protocol Decoders (-b)",
1448
NTOP_PREF_EN_PROTO_DECODE,
1449
pref->enablePacketDecoding, "");
1451
CONFIG_STR_ENTRY (DARK_BG, "Flow Spec (-F)", NTOP_PREF_FLOWSPECS, 50,
1453
"Flow is a stream of captured packets that match a specified rule");
1455
CONFIG_STR_ENTRY (DARK_BG, "Local Subnet Address (-m)",
1456
NTOP_PREF_LOCALADDR, 50,
1457
pref->localAddresses,
1458
"Local subnets in ntop reports (use , to separate them). Mandatory for packet capture files");
1460
CONFIG_RADIO_ENTRY (DARK_BG, "Sticky Hosts (-c)",
1461
NTOP_PREF_STICKY_HOSTS, pref->stickyHosts,
1462
"Don't purge idle hosts from memory");
1464
CONFIG_RADIO_ENTRY (DARK_BG, "Track Local Hosts (-g)",
1465
NTOP_PREF_TRACK_LOCAL,
1466
pref->trackOnlyLocalHosts,
1467
"Capture data only about local hosts");
1469
CONFIG_RADIO_ENTRY (DARK_BG, "Disable Promiscuous Mode (-s)",
1470
NTOP_PREF_NO_PROMISC,
1471
pref->disablePromiscuousMode,
1472
"Don't set the interface(s) into promiscuous mode");
1474
CONFIG_RADIO_ENTRY (DARK_BG, "Run as daemon (-d)", NTOP_PREF_DAEMON,
1475
pref->daemonMode, "Run Ntop as a daemon");
1569
CONFIG_RADIO_ENTRY(DARK_BG, "Enable Session Handling (-z)",
1570
NTOP_PREF_EN_SESSION,
1571
pref->enableSessionHandling, "");
1573
CONFIG_RADIO_ENTRY(DARK_BG, "Enable Protocol Decoders (-b)",
1574
NTOP_PREF_EN_PROTO_DECODE,
1575
pref->enablePacketDecoding, "");
1577
CONFIG_STR_ENTRY(DARK_BG, "Flow Spec (-F)", NTOP_PREF_FLOWSPECS, 50,
1579
"Flow is a stream of captured packets that match a specified rule");
1581
CONFIG_STR_ENTRY(DARK_BG, "Local Subnet Address (-m)",
1582
NTOP_PREF_LOCALADDR, 50,
1583
pref->localAddresses,
1584
"Local subnets in ntop reports (use , to separate them). Mandatory for packet capture files");
1586
CONFIG_RADIO_ENTRY(DARK_BG, "Sticky Hosts (-c)",
1587
NTOP_PREF_STICKY_HOSTS, pref->stickyHosts,
1588
"Don't purge idle hosts from memory");
1590
CONFIG_RADIO_ENTRY(DARK_BG, "Track Local Hosts (-g)",
1591
NTOP_PREF_TRACK_LOCAL,
1592
pref->trackOnlyLocalHosts,
1593
"Capture data only about local hosts");
1595
CONFIG_RADIO_ENTRY(DARK_BG, "Disable Promiscuous Mode (-s)",
1596
NTOP_PREF_NO_PROMISC,
1597
pref->disablePromiscuousMode,
1598
"Don't set the interface(s) into promiscuous mode");
1600
CONFIG_RADIO_ENTRY(DARK_BG, "Run as daemon (-d)", NTOP_PREF_DAEMON,
1601
pref->daemonMode, "Run Ntop as a daemon");
1478
1604
case showPrefDisplayPref:
1479
CONFIG_INT_ENTRY (DARK_BG, "Refresh Time (-r)", NTOP_PREF_REFRESH_RATE,
1480
5, pref->refreshRate,
1481
"Delay (in secs) between automatic screen updates for "
1482
"supported HTML pages");
1484
CONFIG_INT_ENTRY (DARK_BG, "Max Table Rows (-e)", NTOP_PREF_MAXLINES, 5,
1486
"Max number of lines that ntop will display on each "
1487
" generated HTML page");
1605
sendString("<INPUT TYPE=HIDDEN NAME=DISPLAY_PREFS VALUE=1>");
1607
CONFIG_INT_ENTRY(DARK_BG, "Refresh Time (-r)", NTOP_PREF_REFRESH_RATE,
1608
5, pref->refreshRate,
1609
"Delay (in secs) between automatic screen updates for "
1610
"supported HTML pages");
1612
CONFIG_INT_ENTRY(DARK_BG, "Max Table Rows (-e)", NTOP_PREF_MAXLINES, 5,
1614
"Max number of lines that ntop will display on each "
1615
" generated HTML page");
1489
1617
sendString("<TR><TD ALIGN=LEFT "DARK_BG">Show Menus For</TD><TD ALIGN=LEFT>");
1490
1618
safe_snprintf(__FILE__, __LINE__, buf, sizeof(buf),
1537
1667
(pref->ipv4or6 == AF_UNSPEC) ? "CHECKED" : "");
1538
1668
sendString(buf);
1540
CONFIG_STR_ENTRY (DARK_BG, "Local Domain Name (-D)",
1541
NTOP_PREF_DOMAINNAME, 10, pref->domainName,
1542
"Only if ntop is having difficulty determining it "
1543
"from the interface or in case of capture files");
1545
CONFIG_RADIO_ENTRY (DARK_BG, "No DNS (-n)", NTOP_PREF_NUMERIC_IP,
1546
pref->numericFlag, "Skip DNS resolution, showing "
1547
"only numeric IP addresses");
1549
CONFIG_STR_ENTRY (DARK_BG, "TCP/UDP Protocols To Monitor (-p)",
1550
NTOP_PREF_PROTOSPECS, 50, pref->protoSpecs,
1551
"format is <label>=<protocol list> [, <"
1552
"label>=<protocol list>] OR a filename"
1553
"of a file containing such a format");
1554
CONFIG_STR_ENTRY (DARK_BG, "P3P-CP", NTOP_PREF_P3PCP, 50,
1556
"Return value for p3p compact policy header");
1558
CONFIG_STR_ENTRY (DARK_BG, "P3P-URI", NTOP_PREF_P3PURI, 50,
1560
"Return value for p3p policyref header");
1562
CONFIG_STR_ENTRY (DARK_BG, "Host Mapper URL (-U)", NTOP_PREF_MAPPERURL,
1563
50, pref->mapperURL,
1564
"URL of the mapper.pl utility, for looking up geographical "
1565
"location of the host");
1670
CONFIG_STR_ENTRY(DARK_BG, "Local Domain Name (-D)",
1671
NTOP_PREF_DOMAINNAME, 10, pref->domainName,
1672
"Only if ntop is having difficulty determining it "
1673
"from the interface or in case of capture files");
1675
CONFIG_RADIO_ENTRY(DARK_BG, "No DNS (-n)", NTOP_PREF_NUMERIC_IP,
1676
pref->numericFlag, "Skip DNS resolution, showing "
1677
"only numeric IP addresses");
1679
CONFIG_STR_ENTRY(DARK_BG, "TCP/UDP Protocols To Monitor (-p)",
1680
NTOP_PREF_PROTOSPECS, 50, pref->protoSpecs,
1681
"format is <label>=<protocol list> [, <"
1682
"label>=<protocol list>] OR a filename"
1683
"of a file containing such a format");
1684
CONFIG_STR_ENTRY(DARK_BG, "P3P-CP", NTOP_PREF_P3PCP, 50,
1686
"Return value for p3p compact policy header");
1688
CONFIG_STR_ENTRY(DARK_BG, "P3P-URI", NTOP_PREF_P3PURI, 50,
1690
"Return value for p3p policyref header");
1568
1694
case showPrefFCPref:
1569
CONFIG_STR_ENTRY (DARK_BG, "WWN Mapper File (-N)", NTOP_PREF_WWN_MAP,
1570
50, pref->fcNSCacheFile,
1571
"Location of file mapping VSAN/FC_ID to WWN/Alias");
1695
sendString("<INPUT TYPE=HIDDEN NAME=FC_PREFS VALUE=1>");
1697
CONFIG_STR_ENTRY(DARK_BG, "WWN Mapper File (-N)", NTOP_PREF_WWN_MAP,
1698
50, pref->fcNSCacheFile,
1699
"Location of file mapping VSAN/FC_ID to WWN/Alias");
1574
1702
case showPrefAdvPref:
1575
CONFIG_INT_ENTRY (DARK_BG, "Max Hashes (-x)", NTOP_PREF_MAXHASH, 5,
1576
pref->maxNumHashEntries,
1577
"Limit number of host hash entries created in order"
1578
" to limit memory used by ntop");
1580
CONFIG_INT_ENTRY (DARK_BG, "Max Sessions (-X)", NTOP_PREF_MAXSESSIONS, 5,
1581
pref->maxNumSessions,
1582
"Limit number of IP sessions entries created in order"
1583
" to limit memory used by ntop");
1585
CONFIG_RADIO_ENTRY (DARK_BG, "Don't Merge Interfaces (-M)",
1586
NTOP_PREF_MERGEIF, pref->mergeInterfaces,
1587
"Yes = merge data from all interfaces (if possible), No = do not merge data from all interfaces");
1589
CONFIG_RADIO_ENTRY (DARK_BG, "No Instant Session Purge",
1590
NTOP_PREF_NO_ISESS_PURGE,
1591
pref->disableInstantSessionPurge,
1592
"Makes ntop respect the timeouts for completed "
1595
#if !defined(WIN32) && defined(HAVE_PCAP_SETNONBLOCK)
1596
CONFIG_RADIO_ENTRY (DARK_BG, "Set Pcap to Nonblocking",
1597
NTOP_PREF_NOBLOCK, pref->setNonBlocking,
1598
"On platforms without independent select().<br>"
1599
"<B>WARNING</B>: Selecting this option will increase "
1600
"CPU usage significantly - see the man page and FAQ.");
1703
sendString("<INPUT TYPE=HIDDEN NAME=ADVANCED_PREFS VALUE=1>");
1705
CONFIG_INT_ENTRY(DARK_BG, "Max Hashes (-x)", NTOP_PREF_MAXHASH, 5,
1706
pref->maxNumHashEntries,
1707
"Limit number of host hash entries created in order"
1708
" to limit memory used by ntop");
1710
CONFIG_INT_ENTRY(DARK_BG, "Max Sessions (-X)", NTOP_PREF_MAXSESSIONS, 5,
1711
pref->maxNumSessions,
1712
"Limit number of IP sessions entries created in order"
1713
" to limit memory used by ntop");
1715
CONFIG_RADIO_ENTRY(DARK_BG, "Don't Merge Interfaces (-M)",
1716
NTOP_PREF_MERGEIF, pref->mergeInterfaces,
1717
"Yes = merge data from all interfaces (if possible), No = do not merge data from all interfaces");
1720
CONFIG_RADIO_ENTRY(DARK_BG, "Enable Protocol Guessing",
1721
NTOP_PREF_ENABLE_L7PROTO, pref->enableL7,
1722
"Enabling patterm matching, ntop will be able to guess the protocol being used. "
1723
"Neverthelss this practice has a little performance penalty.");
1602
CONFIG_RADIO_ENTRY (DARK_BG, "No web on memory error",
1603
NTOP_PREF_NO_STOPCAP, pref->disableStopcap,
1604
"Change default of having the web interface available "
1605
"albeit with static content until ntop is shutdown");
1607
CONFIG_RADIO_ENTRY (DARK_BG, "Don't Trust MAC Address (-o)",
1608
NTOP_PREF_NO_TRUST_MAC, pref->dontTrustMACaddr,
1609
"Situations which may require this option include "
1610
"port/VLAN mirror");
1612
CONFIG_STR_ENTRY (DARK_BG, "Pcap Log Base Path (-O)",
1613
NTOP_PREF_PCAP_LOGBASE, 50, pref->pcapLogBasePath,
1614
"Directory where packet dump files are created");
1726
CONFIG_RADIO_ENTRY(DARK_BG, "No Instant Session Purge",
1727
NTOP_PREF_NO_ISESS_PURGE,
1728
pref->disableInstantSessionPurge,
1729
"Makes ntop respect the timeouts for completed "
1732
CONFIG_RADIO_ENTRY(DARK_BG, "Don't Trust MAC Address (-o)",
1733
NTOP_PREF_NO_TRUST_MAC, pref->dontTrustMACaddr,
1734
"Situations which may require this option include "
1735
"port/VLAN mirror");
1737
CONFIG_STR_ENTRY(DARK_BG, "Pcap Log Base Path (-O)",
1738
NTOP_PREF_PCAP_LOGBASE, 50, pref->pcapLogBasePath,
1739
"Directory where packet dump files are created");
1616
1741
#ifdef MAKE_WITH_SSLWATCHDOG_RUNTIME
1617
CONFIG_RADIO_ENTRY (DARK_BG, "Use SSL Watchdog",
1618
NTOP_PREF_USE_SSLWATCH, pref->useSSLwatchdog,
1742
CONFIG_RADIO_ENTRY(DARK_BG, "Use SSL Watchdog",
1743
NTOP_PREF_USE_SSLWATCH, pref->useSSLwatchdog,
1622
1747
#ifdef MAKE_WITH_SCHED_YIELD
1623
CONFIG_RADIO_ENTRY (DARK_BG, "Disable SchedYield",
1624
NTOP_PREF_NO_SCHEDYLD, pref->disableSchedYield,
1748
CONFIG_RADIO_ENTRY(DARK_BG, "Disable SchedYield",
1749
NTOP_PREF_NO_SCHEDYLD, pref->disableSchedYield,
1629
1754
case showPrefDbgPref:
1630
CONFIG_RADIO_ENTRY (DARK_BG, "Run in debug mode (-K)",
1631
NTOP_PREF_DBG_MODE, pref->debugMode,
1632
"Simplifies debugging Ntop");
1634
CONFIG_INT_ENTRY (DARK_BG, "Trace Level (-t)", NTOP_PREF_TRACE_LVL, 5,
1636
"Level of detailed messages ntop will display");
1638
CONFIG_RADIO_ENTRY (DARK_BG, "Save Other Packets (-j)",
1639
NTOP_PREF_DUMP_OTHER, pref->enableOtherPacketDump,
1640
"Useful for understanding packets unclassified by "
1643
CONFIG_RADIO_ENTRY (DARK_BG, "Save Suspicious Packets (-q)",
1644
NTOP_PREF_DUMP_SUSP,
1645
pref->enableSuspiciousPacketDump,
1646
"Create a dump file (pcap) of suspicious packets");
1648
CONFIG_STR_ENTRY (DARK_BG, "Log HTTP Requests (-a)",
1649
NTOP_PREF_ACCESS_LOG, 50, pref->accessLogFile,
1650
"Request HTTP logging and specify the location of the "
1755
sendString("<INPUT TYPE=HIDDEN NAME=DEBUG_PREFS VALUE=1>");
1757
CONFIG_RADIO_ENTRY(DARK_BG, "Run in debug mode (-K)",
1758
NTOP_PREF_DBG_MODE, pref->debugMode,
1759
"Simplifies debugging Ntop");
1761
CONFIG_INT_ENTRY(DARK_BG, "Trace Level (-t)<br><i> (takes effect immediately)</i>", NTOP_PREF_TRACE_LVL, 5,
1763
"Level of detailed messages ntop will display");
1765
CONFIG_RADIO_ENTRY(DARK_BG, "Save Other Packets (-j)",
1766
NTOP_PREF_DUMP_OTHER, pref->enableOtherPacketDump,
1767
"Useful for understanding packets unclassified by "
1770
CONFIG_RADIO_ENTRY(DARK_BG, "Save Suspicious Packets (-q)",
1771
NTOP_PREF_DUMP_SUSP,
1772
pref->enableSuspiciousPacketDump,
1773
"Create a dump file (pcap) of suspicious packets");
1775
CONFIG_STR_ENTRY(DARK_BG, "Log HTTP Requests (-a)",
1776
NTOP_PREF_ACCESS_LOG, 50, pref->accessLogFile,
1777
"Request HTTP logging and specify the location of the "
1654
CONFIG_INT_ENTRY (DARK_BG, "Use Syslog (-L)", NTOP_PREF_USE_SYSLOG, 5,
1656
"Send log messages to the system log instead of stdout");
1781
CONFIG_INT_ENTRY(DARK_BG, "Use Syslog (-L)", NTOP_PREF_USE_SYSLOG, 5,
1783
"Send log messages to the system log instead of stdout");
1659
CONFIG_STR_ENTRY (DARK_BG, "Write captured frames to (-l)",
1660
NTOP_PREF_PCAP_LOG, 50, pref->pcapLog,
1661
"Causes a dump file to be created of the captured by "
1662
"ntop in libpcap format");
1664
CONFIG_RADIO_ENTRY (DARK_BG, "Disable Extra Mutex Info",
1665
NTOP_PREF_NO_MUTEX_EXTRA,
1666
pref->disableMutexExtraInfo,
1667
"Disables storing of extra information about the locks"
1668
" and unlocks of the protective mutexes Ntop uses");
1786
CONFIG_STR_ENTRY(DARK_BG, "Write captured frames to (-l)",
1787
NTOP_PREF_PCAP_LOG, 50, pref->pcapLog,
1788
"Causes a dump file to be created of the captured by "
1789
"ntop in libpcap format");
1791
CONFIG_RADIO_ENTRY(DARK_BG, "Disable Extra Mutex Info",
1792
NTOP_PREF_NO_MUTEX_EXTRA,
1793
pref->disableMutexExtraInfo,
1794
"Disables storing of extra information about the locks"
1795
" and unlocks of the protective mutexes Ntop uses");
1798
case showPrefDBPref:
1799
sendString("<INPUT TYPE=HIDDEN NAME=DB_PREFS VALUE=1>");
1801
CONFIG_RADIO_ENTRY(DARK_BG, "Save Data into DB",
1802
NTOP_PREF_SAVE_REC_INTO_DB,
1803
pref->saveRecordsIntoDb,
1804
"Enable/disable ntop to save data (sessions and NetFlow flows) into the SQL (MySQL) database.");
1806
if(pref->saveRecordsIntoDb) {
1807
CONFIG_RADIO_ENTRY(DARK_BG, "Save Sessions into DB",
1808
NTOP_PREF_SAVE_SESSIONS_INTO_DB,
1809
pref->saveSessionsIntoDb,
1810
"Enable/disable ntop to save TCP/UDP sessiond into the SQL (MySQL) database.");
1812
pref->saveSessionsIntoDb = 0;
1814
CONFIG_STR_ENTRY(DARK_BG, "DB Configuration",
1815
NTOP_PREF_SQL_DB_CONFIG, 20, pref->sqlDbConfig,
1816
"Database (MySQL) database configuration: format <Db host>:<DB user>:<DB User Pw>.<br>"
1817
"Note that the credentials must allow this user to create tables,<br>"
1818
" hence make sure that the user privileges are properly specified.<p>"
1819
"<b>Note</b>: changes will have effect at the next ntop restart");
1821
CONFIG_INT_ENTRY(DARK_BG, "DB Max record lifetime",
1822
NTOP_PREF_SQL_REC_LIFETIME, 5,
1823
pref->sqlRecDaysLifetime,
1824
"Maximum database (MySQL) records (flows and netflows) persistence [days] in the database after which <br>"
1825
"will be automatically removed. Set this parameter to 0 (zero) to disable record purge.");
1672
1829
sendString ("</TABLE>");
1673
/* Save Preferences */
1674
1831
if (configScr == showPrefDisplayPref) {
1675
1832
sendString("<tr><td colspan=\"2\" align=\"center\"> <p>"
1676
"<input type=submit name=SP value=\"Save Preferences\"> "
1677
"<input type=submit name=AP value=\"Apply Preferences\"> "
1678
"<input type=submit name=RD value=\"Restore Defaults\">"
1833
"<input type=submit name=" NTOP_SAVE_PREFS " value=\"Save Prefs\"> "
1834
"<input type=submit name=AP value=\"Apply Prefs\"> "
1835
"<input type=submit name=" NTOP_RESTORE_DEF " value=\"Restore Defaults\">"
1679
1836
"</td></tr></table>\n"
1680
1837
"</form>\n<p></center>\n");
1683
1839
sendString("<tr><td colspan=\"2\" align=\"center\"> <p>"
1684
"<input type=submit name=SP value=\"Save Preferences\"> "
1685
"<input type=submit name=RD value=\"Restore Defaults\">"
1840
"<input type=submit name=" NTOP_SAVE_PREFS " value=\"Save Prefs\"> "
1841
"<input type=submit name=" NTOP_RESTORE_DEF " value=\"Restore Defaults\">"
1686
1842
"</td></tr></table>\n"
1687
1843
"</form>\n<p></center>\n");
1690
sendString ("<P Align=CENTER><FONT COLOR = \"FF00FF\">Settings take effect at next startup</FONT></CENTER><P>");
1846
sendString ("<P Align=CENTER><FONT COLOR = \"FF00FF\">Except as indicated, settings take effect at next startup</FONT></CENTER><P>");
1691
1847
sendString ("<P Align=CENTER><FONT COLOR = \"FF00FF\">See <a href = \"info.html\">Show Configuration</A>"
1692
1848
" for runtime values</FONT></CENTER><P>");