Commit Graph

468 Commits

Author SHA1 Message Date
Timothy Stack
ef5347b0eb [build] even more 2017-04-24 07:50:24 -07:00
Timothy Stack
4fb6e24be9 [build] one more time 2017-04-24 07:34:29 -07:00
Timothy Stack
c3688e87f7 [build] fix some tests
Defect Number:
    Reviewed By:
   Testing Done:
2017-04-24 07:29:55 -07:00
Timothy Stack
36e46fc67b [log] do a full sort if there is a year rollover
Fixes #437
2017-04-24 07:03:46 -07:00
Timothy Stack
7f5916d480 [crash] call endwin() after a crash
Fixes #438
2017-04-24 06:36:17 -07:00
Timothy Stack
9764cb1a93 [loader] add line numbers for parse errors
Fixes #442
2017-04-24 06:18:04 -07:00
Timothy Stack
f0c884ddc3 [build] another bro log test fix 2017-04-23 16:05:26 -07:00
Timothy Stack
867504b2b5 [build] try to fix some tests
Defect Number:
    Reviewed By:
   Testing Done:
2017-04-23 15:57:24 -07:00
Timothy Stack
8ea51a6fd8 [formats] support for CSV/TSV log formats
Defect Number:
    Reviewed By:
   Testing Done:
2017-04-23 07:11:21 -07:00
Timothy Stack
16fd7ec785 [help] remove old command help and add some more filesystem extensions 2017-04-16 15:07:41 -07:00
Timothy Stack
5e8d6aa3a8 [session] add hidden fields to the session
Fixes #433
2017-04-15 21:11:11 -07:00
Timothy Stack
5016ea9e71 [help] fix a help text issue 2017-04-15 06:56:25 -07:00
Timothy Stack
4cedde9a43 [help] add builtin help to the main help text as a reference
Defect Number:
    Reviewed By:
   Testing Done:
2017-04-14 22:49:36 -07:00
Timothy Stack
a973f7f934 [misc] some more miscellaneous bugs
Defect Number:
    Reviewed By:
   Testing Done:
2017-04-12 15:54:54 -07:00
Timothy Stack
aa21234164 [hist] need to rebuild hist to reflect marks
Defect Number:
    Reviewed By:
   Testing Done:
2017-04-11 07:25:54 -07:00
Timothy Stack
035460eb61 update expected output 2017-04-10 23:04:50 -07:00
Timothy Stack
407c5c67b1 [build] missed some new files 2017-04-06 23:20:02 -07:00
Timothy Stack
df399a36a4 [docs] some more docs, command-help, and tests for #428 2017-04-06 23:05:20 -07:00
Timothy Stack
04e60fd79d [build] sign warnings 2017-04-06 07:40:07 -07:00
Timothy Stack
78119dc9f1 fixing some minor issues
Fixes #255
2017-04-05 07:05:19 -07:00
Timothy Stack
411ea1fbee [help] show help text for SQL functions
Defect Number:
    Reviewed By:
   Testing Done:
2017-03-31 07:01:11 -07:00
Timothy Stack
cd76eae5b8 [build] convert some C files to C++
Defect Number:
    Reviewed By:
   Testing Done:
2017-03-26 21:01:49 -07:00
Timothy Stack
6fcfd35395 [sql] add "search" column to the lnav_views table
Fixes #388
2017-03-26 07:28:08 -07:00
Timothy Stack
8776f6a703 [sql] do some minimal parsing/annotation of SQL statements
Defect Number:
    Reviewed By:
   Testing Done:
2017-03-26 06:02:53 -07:00
Timothy Stack
0b157ff867 [sql] add function adapter template
Defect Number:
    Reviewed By:
   Testing Done:
2017-03-19 07:50:01 -07:00
Timothy Stack
c0684a97cc [sql] add a regexp_capture tablue-valued function
Fixup the release makefile a bit.
2017-03-15 17:01:58 -07:00
Timothy Stack
f6138662ae [test] update test for vtab change 2017-03-14 07:31:31 -07:00
Timothy Stack
fa296fca1b [listview] get a batch of rows from the source instead of a single one at a time
Also: bump to c++14 and added a helper template for creating sqlite virtual tables
2017-03-14 06:05:46 -07:00
Timothy Stack
32c9dacd0a [files_vtab] add a vtable for opened files
Defect Number:
    Reviewed By:
   Testing Done:
2017-03-08 13:51:07 -08:00
Timothy Stack
c180c44e49 [vtab] add an lnav_view_stack table to get programmatic access to the view stack
More progress towards #377
2017-03-04 15:22:19 -08:00
Timothy Stack
1a87184c82 [log] allow parts of log messages to be hidden
Fixes #412
2017-02-23 06:15:44 -08:00
Timothy Stack
89f8ef9c2b [hotkeys] hotkey configuration
First steps to implementing #350
2017-01-21 07:41:28 -08:00
Timothy Stack
04eda90244 [db] missed checking for a null progress callback
Fixes #404
2017-01-18 06:17:55 -08:00
Timothy Stack
0138d13297 [cmds] execute scripts from stdin/fds
Issues mentioned in #397
2016-12-23 11:37:23 -08:00
Timothy Stack
d799cc227e some tweaks to these changes 2016-12-17 21:13:38 -08:00
Timothy Stack
f567aafe3b [c++11] migration #1
Just a start
2016-12-10 07:21:24 -08:00
Timothy Stack
5e2d8842f2 forgot the actual file, sigh 2016-12-06 08:20:16 -08:00
Timothy Stack
93848faae7 add new file to dist 2016-12-06 07:14:54 -08:00
Timothy Stack
44d93dddc3 [pretty-print] allow formats to do transforms before pretty-printing
Also started upgrading to C++11.

Fixes #353
2016-12-05 16:34:30 -08:00
Timothy Stack
642a94e7b7 [open] check for FIFOs
Fixes #380
2016-11-23 06:41:22 -08:00
Timothy Stack
fb4e66e0b5 [build] package logfile_epoch.1 2016-11-22 10:02:38 -08:00
Timothy Stack
1b8b773184 [tests] print logfile::error exception 2016-11-22 09:56:08 -08:00
Timothy Stack
6618fe1947 [build] test 2016-11-22 09:48:05 -08:00
Timothy Stack
26cd9f5930 [ptime] make sure the full time stamp is matched
Fixes #389
Fixes #390
2016-11-22 08:38:45 -08:00
Timothy Stack
592ee60693 [log] fix rewriting machine-oriented timestamps
Fixes #371
2016-11-21 11:34:12 -08:00
Timothy Stack
4712bb6f76 update test for json logs with objects/arrays 2016-11-11 20:45:56 -08:00
Timothy Stack
a59e0b290e [format] allow json log fields to be hidden
Fixes #303
2016-10-29 06:52:12 -07:00
Timothy Stack
b392886f0c [highlight] choose highlight color based on the regex
Defect Number:
    Reviewed By:
   Testing Done:
2016-10-25 06:42:05 -07:00
Timothy Stack
9f79dcc31a [format] point out the location of a pcre-compile error
Defect Number:
    Reviewed By:
   Testing Done:
2016-10-21 08:57:51 -07:00
Timothy Stack
41a2eed239 [pretty-print] fix printing of quoted strings that have escaped characters
Fixes #354
2016-10-14 11:18:00 -07:00
Timothy Stack
2e68f48a18 [hist] check for zoom with no logs
Fixes #346
2016-08-25 21:20:48 -07:00
Timothy Stack
b216993760 [tests] missed a format file in the makefile 2016-08-23 06:50:01 -07:00
Timothy Stack
5539e21c05 [log-format] fix line-format where a variable can span lines
Fixes #337
2016-08-23 06:34:18 -07:00
Timothy Stack
c05dfafae8 [log-format] abbreviate long fields when formatting JSON logs
Fixes #340
2016-08-22 06:45:27 -07:00
Timothy Stack
9ee18c26d3 [log-format] add min-width and align options to line-format
Also some fixes for validating the format definitions.

Fixes #338
2016-08-21 21:34:52 -07:00
Timothy Stack
41854cf637 [json-log] custom date formats
Fixes #341
2016-08-18 22:15:35 -07:00
Timothy Stack
8dbf018814 [loader] the loader was not converting the level name to the enum value correctly
Closes #329
2016-06-30 21:59:51 -07:00
Eli Young
5602af33f8 [fmt] Fix glog_log format
The log format used by glog uses spaces to left-pad the thread to 7
digits, per the code:

https://github.com/golang/glog/blob/65d6746/glog.go#L577

This fixes the regular expression to correctly match the extra
whitespace.
2016-06-30 18:36:45 -07:00
Tim Stack
91633d089f Merge pull request #320 from sureshsundriyal/db-attach
[secure-mode] Disallow ATTACH statements completely.
2016-05-04 21:18:33 -07:00
Suresh Sundriyal
6663740c5e [secure-mode] Disallow ATTACH statements completely.
The code to handle in-memory db exceptions is hideous and unreliable,
given the fact that SQLite does not expose much in terms of getting the
current value and the methods to check the compile time options can
themselves be disabled by a compile=time option in SQLite.

There really isn't much use for in-memory databases and if someone
really needs it, they can always choose to run in normal mode, so just
remove the extra code.
2016-05-04 20:21:01 -07:00
Tim Stack
1850c4f678 Merge pull request #318 from sureshsundriyal/db-attach
[secure-mode] Prevent users from attaching db files.
2016-05-03 10:37:03 -07:00
Timothy Stack
5ea5504aec [time] fix time rollover for days
Fixes #304
2016-05-03 06:43:00 -07:00
Timothy Stack
a4deaa1e8b [spectro] log_time must be in ascending order 2016-05-02 22:59:04 -07:00
Suresh Sundriyal
1e6878164f [secure-mode] Refactoring and check for sqlite version.
'mode=memory' query parameter is only supported from sqlite3 version
3.8.0 onwards. Make sure to check for the version before continuing with
the 'ATTACH' statement.

Turning off some of the tests, since they fail on the Travis CI setup
which uses sqlite version 3.6.0.
2016-05-02 21:43:11 -07:00
Suresh Sundriyal
e6c87678e9 [secure-mode] Prevent users from attaching db files.
Prevent the users from attaching an external db file which they may not
have ownership of.

The current authorizer method is hooked in only when the LNAVSECURE
variable is set. This is done deliberately, since the method will be
called on every sqlite query and I did not want to incur a performance
hit.

If the scope of this authorizer increases, we should consider passing in
the lnav_data as pUserData and do the checks inside the authorizer
itself.
2016-05-02 20:58:20 -07:00
Timothy Stack
82f970c09e [config] add a config option to control A_DIM for text
Fixes #298
2016-05-01 20:35:37 -07:00
Timothy Stack
3167302722 [data-parser] fix some issues with parsing hierarchical data and improve the debugger 2016-04-28 23:34:13 -07:00
Suresh Sundriyal
88833c8035 [commands] Read and honor the 'LNAVSECURE' environment variable.
Read the value of the 'LNAVSECURE' environment variable upfront and
store it in the lnav_data structure. When this variable is set prior to
the binary execution, the following commands are disabled:

* 'open'
* 'pipe-to'
* 'pipe-line-to'
* 'write-*-to'

This is a proposed fix for tstack/lnav#305.
2016-04-23 10:34:17 -07:00
Timothy Stack
54b9c5ebf5 [parser] handle empty groups 2016-04-12 06:18:26 -07:00
Timothy Stack
2b76181fd6 [parser] try to handle apostrophes better 2016-04-11 08:39:16 -07:00
Timothy Stack
a8cd28097b [spectro] add some better error messages for the spectrogram command and fix some vtable glitches 2016-04-08 06:21:58 -07:00
Timothy Stack
23020e8a89 [test] missed setting TZ 2016-04-02 21:18:28 -07:00
Timothy Stack
4f05af6408 [time] add support for TAI64N timestamps
Fixes #300
2016-04-02 20:58:20 -07:00
Timothy Stack
a384e240f9 missed updating the makefile 2016-03-27 15:28:47 -07:00
Timothy Stack
afc8cc44b6 [json-format] support integer values for log levels in json formats 2016-03-27 15:14:52 -07:00
Timothy Stack
7a6429519f [summary-line] change error count to error rate and do some cleanup on message levels 2016-03-24 23:58:25 -07:00
Timothy Stack
13c90726a2 [tests] some more testing and stats for logfiles 2016-03-23 22:14:59 -07:00
Timothy Stack
e8f400abfa [logfile] truncation detection was not taking into account compressed files 2016-03-21 21:10:52 -07:00
Timothy Stack
fdc2748e3e [spectro] add a spectrogram view that works with known message fields 2016-03-20 15:15:50 -07:00
Timothy Stack
8de5d3b749 [logfile] add more options when opening files 2016-03-12 14:12:23 -08:00
Timothy Stack
4b318e45e0 [parser] some more parser tweaking and fix a jget() issue 2016-03-10 22:11:53 -08:00
Timothy Stack
2d04d047e4 [sql] change extract() to regexp_match() and make extract() an interface to the data_parser 2016-03-10 06:03:32 -08:00
Timothy Stack
d4a69cbf22 no joy
Revert "[sql] change extract() to regexp_match() and make extract() an interface to the data_parser"

This reverts commit 85eee6514b.
2016-03-09 23:30:34 -08:00
Timothy Stack
85eee6514b [sql] change extract() to regexp_match() and make extract() an interface to the data_parser 2016-03-09 23:14:54 -08:00
Timothy Stack
9feb53f02a [sql] add extract() function to extract values from a string using a regex
This function should be preferred over creating log search tables
for scripts.
2016-03-08 06:48:43 -08:00
Timothy Stack
cdd43549ab [cmds] automatically capture echo/write output from scripts so they can generate reports
Add another example script, dhclient-summary.

Add a 'search-table' section to formats so you can automatically
define a search-based table.
2016-03-06 23:58:37 -08:00
Timothy Stack
53e2d92eef [ui] highlight out-of-time-order messages in yellow with an underline 2016-03-03 06:05:26 -08:00
Timothy Stack
d12fe9e0a9 [json] add some schema validation code 2016-03-02 05:54:42 -08:00
Timothy Stack
89be76ef42 [filters] clear the state for filters that have been deleted
Fixes #292
2016-02-24 23:42:02 -08:00
Timothy Stack
68070678b5 try to fix test error 2016-01-05 06:41:33 -08:00
Timothy Stack
a2b381ca19 [config] initial impl with clock-format as the only option at the moment 2016-01-05 06:18:58 -08:00
Timothy Stack
e5f786bc2c [script] add metadata to script files 2015-12-28 20:30:04 -08:00
Timothy Stack
ab62d27757 [cmd] replace wordexp with shlex 2015-12-25 12:03:44 -08:00
Timothy Stack
16e988d132 [shlex] add a readline highlighter for shlex 2015-12-24 03:35:02 -08:00
Timothy Stack
6e196bff79 [line_buffer] clear cached data when doing a read 2015-12-22 22:44:42 -08:00
Timothy Stack
87b07a0087 [sql] allow log_part to be updated 2015-12-22 05:27:36 -08:00
Timothy Stack
2a10fa7d37 [build] some more build warnings 2015-12-20 13:40:25 -08:00
Timothy Stack
150590cfd6 [build] missing files from dist 2015-12-19 06:18:47 -08:00
Timothy Stack
6821bae882 fix one part of the build break 2015-12-18 22:54:32 -08:00
Timothy Stack
e07b4e448f [exec] add a prompt to execute lnav scripts 2015-12-18 22:39:27 -08:00
Timothy Stack
27f300b677 [sql] some more json-related updates/fixes 2015-12-09 21:20:49 -08:00
Timothy Stack
187d62334f [json] record the type of json data in json_ptr_walk 2015-12-08 23:10:48 -08:00
Timothy Stack
e987a5164f [hist] rewrite the histogram code 2015-12-08 22:46:10 -08:00
Timothy Stack
c874d95042 build fix 2015-12-05 22:17:27 -08:00
Timothy Stack
ba25c77b07 build stuff 2015-12-05 20:47:39 -08:00
Timothy Stack
224a7196e4 [cmd] hide lines commands 2015-12-05 20:38:21 -08:00
Timothy Stack
f3ca72f42d [jget] fix the jget function 2015-11-30 21:07:18 -08:00
Timothy Stack
5a718bc0ec [sql] missed checking for null in graphable columns 2015-11-29 20:10:40 -08:00
Timothy Stack
62075fb340 [sql] add json_group_object aggregate function 2015-11-29 19:56:10 -08:00
Timothy Stack
8964232374 [json] fixes for json log parsing
I was careless with the initial json log impl since it did not deal
with incomplete log lines very well.  This seems to fix some cases.
But, I was still able to replicate a lockup at one point, so it
might not be complete.
2015-11-27 12:47:42 -08:00
Timothy Stack
64cbab1281 [sql] exec .sql files in format dirs 2015-11-26 22:19:53 -08:00
Timothy Stack
65a4803955 [tests] some more test fixes 2015-11-15 06:25:08 -08:00
Timothy Stack
c0fc73d4ea [tests] fix test_sql.sh 2015-11-15 06:16:59 -08:00
Timothy Stack
3996eef593 use an empty file 2015-11-14 22:47:04 -08:00
Timothy Stack
3c9ba126a9 [glob] ignore files picked up by a glob that are not readable 2015-11-14 22:17:59 -08:00
Timothy Stack
6cb42fc690 the log_search table regex should be case-insensitive 2015-11-03 22:17:11 -08:00
Timothy Stack
7a476ca42d use a more reliable ip address for test 2015-10-21 07:12:50 -07:00
Timothy Stack
f11cca2366 [sql] add a timeslice() function 2015-10-03 14:58:01 -07:00
Timothy Stack
99d103cd58 [logline] add a log_msg_instance column to the table 2015-10-02 21:24:52 -07:00
Timothy Stack
4f32bddd93 [pt] allow relative times for papertrail time bounds 2015-09-14 23:32:05 -07:00
Timothy Stack
ec473edc85 [cmd] add support for times in goto 2015-09-14 08:56:42 -07:00
Timothy Stack
399c78d86d [pretty] pretty-print the contents of strings
Fixes #250
2015-08-26 21:28:30 -07:00
Timothy Stack
443053da62 [all_logs] add log_msg_schema hidden column to the all_logs table and refine the msg format 2015-08-26 09:41:45 -07:00
Timothy Stack
e95bd90dfc [filter] check for too many filters being created 2015-08-24 22:09:33 -07:00
Timothy Stack
feaff13b13 [data_parser] some fixes for the debugger and some parsing improvements 2015-08-21 06:48:05 -07:00
Timothy Stack
a3b417c2d5 fix timestamps in test 2015-08-19 21:15:34 -07:00
Timothy Stack
25a375f08d [misc] fix various bugs 2015-08-19 21:02:26 -07:00
Timothy Stack
0d37a8c142 [text] pretty-printing should work in the text view 2015-08-18 20:58:20 -07:00
Timothy Stack
1ad3966a95 [tests] add a couple more tests for the loader 2015-08-12 22:34:41 -07:00
Timothy Stack
bedae8c8c2 [fmt] install/update formats from git repos
Fixes #244
2015-08-09 21:03:23 -07:00
Timothy Stack
84c5db2e70 sigh, just remove the test sample to satisfy travis 2015-08-07 20:33:58 -07:00
Timothy Stack
c60b2c2ed6 try to fix the pcrepp test 2015-08-07 20:12:52 -07:00
Timothy Stack
9139e6de5b [search-table] guess the column types based on the regex 2015-08-07 20:04:28 -07:00
Timothy Stack
2b5447f59c [sql] add a log_search table 2015-08-05 23:18:19 -07:00
Timothy Stack
6f26aa7f3e [sql] multiline text was not returned correctly 2015-08-04 21:49:13 -07:00
Timothy Stack
f286950854 [curl] add a curl looper to handle url requests 2015-08-02 06:43:57 -07:00
Timothy Stack
b7d7fe70c7 [pretty] remove extraneous newline 2015-07-23 23:35:56 -07:00
Timothy Stack
d2d8c75135 [sql] add an lnav_views table 2015-07-22 07:09:51 -07:00
Timothy Stack
9496a960f6 [check] print the partial match of non-matching lines when checking a log file 2015-07-20 06:33:52 -07:00
Timothy Stack
27bb9bb2ee [fmt] highlight identifiers in module formats 2015-07-19 02:40:02 -07:00
Timothy Stack
7ef92dab79 [format] try to validate formats against a given file 2015-07-11 16:32:48 -07:00
Timothy Stack
054e8d489b [data-scanner] convert to using re2c 2015-06-08 06:27:45 -07:00
Timothy Stack
504b5747fe [sql] add an all_logs table that exposes the message format with values, like numbers, replaced with hashes 2015-06-03 06:36:58 -07:00
Timothy Stack
cec3d0cb72 [generic_log] add time format that includes zone 2015-05-17 05:15:41 -07:00
Timothy Stack
94459f2cb1 [generic_log] fix log levels for generic_log 2015-05-01 20:52:00 -07:00
Timothy Stack
b01b962ea7 [build] forgot to add some new data files 2015-04-26 07:12:30 -07:00
Timothy Stack
021b7cb3aa [test] add a test for nested json log formats 2015-04-26 04:57:36 -07:00
Timothy Stack
5a7c5a2139 [piper] the piper was not exiting if the stream it was reading did not terminate with a line feed 2015-04-21 22:25:54 -07:00
Suresh Sundriyal
5cd1da8e1a [pretty] More restrictive IPv4 regex.
The regular expression seems to match arbitrary version strings in
pretty-print view. Adding a more restrictive regular expression,
that should be able to distinguish between valid IPv4 addresses and
arbitrary version strings.
2015-04-19 00:00:43 -07:00
Suresh Sundriyal
ace51f0848 [build] Get rid of the sqlite3 dependency. 2015-04-16 00:28:31 -07:00