Fast Web log analyzer using probabilistic data structures
Log | Files | Refs | README | LICENSE

DateCommit messageAuthorFiles+-
2023-02-10 13:22Point the OpenBSD package link to openports.pl.Frederic Cambus1+1-1
2022-07-28 12:45Logswan 2.1.13 release.Frederic Cambus13+14-14
2022-07-28 12:43Update ChangeLog.Frederic Cambus1+11-0
2022-05-06 14:12Regenerate the JSON example output.Frederic Cambus1+32-33
2022-05-06 14:07Regenerate the example MMDB database.Frederic Cambus1+0-0
2022-05-06 14:06Also generate data for IPv6 addresses in the MMDB test database.Frederic Cambus1+8-0
2022-05-06 14:04Add a few more test cases in CMakeLists.txt.Frederic Cambus1+4-1
2022-05-06 13:39Bump copyright year to 2022.Frederic Cambus15+16-16
2022-05-06 12:56Add an invalid.log log file with invalid lines, for testing purposes.Frederic Cambus1+0-0
2022-05-06 11:37Add entries with IPv6 remote hosts to exercise the IPv6 code paths.Frederic Cambus2+68-0
2022-02-26 13:24Remove useless backslashes in usage().Frederic Cambus1+6-6
2021-12-02 09:55Logswan 2.1.12 release.Frederic Cambus13+14-14
2021-12-02 09:54Update ChangeLog.Frederic Cambus1+13-0
2021-12-02 08:53Fix a use-after-free (read) triggered by strcmp(3) calls.Frederic Cambus1+3-1
2021-11-16 11:48Logswan 2.1.11 release.Frederic Cambus13+14-14
2021-11-16 11:45Update ChangeLog.Frederic Cambus1+10-0
2021-11-16 11:28Call hll_init() after doing getopt() processing.Frederic Cambus1+3-3
2021-11-16 11:23Switch to using getline(3) instead of fgets(3).Frederic Cambus2+6-5
2021-10-18 19:26Remove Travis CI configuration, travis-ci.org has been shutdown.Frederic Cambus1+0-43
2021-10-18 17:25Use CMAKE_C_STANDARD instead of hardcoding compiler flags.Frederic Cambus1+7-3
2021-09-20 10:31Add missing final dot for license information lines.Frederic Cambus1+2-2
2021-09-20 09:02Add SPDX short license identifier in source files.Frederic Cambus13+26-0
2021-04-04 09:57Formatting fixes in CMakeLists.txt.Frederic Cambus1+4-5
2021-04-04 09:45Bump CMake minimum required version to 2.8.12.Frederic Cambus1+2-2
2021-02-28 14:17Fix a typo in the ChangeLog.Frederic Cambus1+1-1
2021-02-15 13:03Logswan 2.1.10 release.Frederic Cambus14+15-15
2021-02-15 13:02Update ChangeLog.Frederic Cambus1+8-0
2021-02-15 12:59Only call MMDB_close if the GeoIP option was enabled.Frederic Cambus1+2-1
2021-02-15 12:34Preemptively remove Travis-CI bages, as service will be shutdown.Frederic Cambus1+18-22
2021-02-15 11:57Logswan 2.1.9 release.Frederic Cambus14+15-15
2021-02-15 11:51Update ChangeLog.Frederic Cambus1+15-0
2021-02-15 11:41Add missing periods when displaying options in usage().Frederic Cambus1+4-4
2021-02-15 11:06Use type int instead of int8_t for opt.Frederic Cambus1+1-1
2021-02-15 11:06Reorder and reformat variables declaration.Frederic Cambus1+11-15
2021-02-15 11:02Get rid of global variables, move all declarations to main().Frederic Cambus1+32-31
2021-02-15 10:37Rename all the parse*() functions to use snake_case.Frederic Cambus3+9-9
2021-02-15 10:35Rename the displayUsage() function to usage().Frederic Cambus1+3-3
2021-02-15 10:34Try to harmonize usage information everywhere.Frederic Cambus3+8-8
2021-02-15 10:03Remove the measuring Logswan memory usage section from the README.Frederic Cambus1+0-7
2021-02-14 22:39Rename variables to get rid of all camelCase occurences.Frederic Cambus11+134-134
2021-02-14 21:52Remove dead increments for argc and argv.Frederic Cambus1+1-4
2021-02-14 10:45Stop forcing FORTIFY_SOURCE=2, it should be package builders decision.Frederic Cambus1+1-2
2021-02-13 18:27Bump copyright year to 2021.Frederic Cambus15+16-16
2021-02-14 11:13Remove unused countryId variable.Frederic Cambus1+0-1
2021-01-09 09:38Add link to Homebrew package in the README.Frederic Cambus1+7-5
2021-01-08 08:49Replace all "Mac OS X" occurrences with "macOS" in README.Frederic Cambus1+2-2
2020-11-16 21:46Do not override CMAKE_C_FLAGS_RELEASE when enabling FORTIFY_SOURCE.Frederic Cambus1+1-1
2020-11-16 15:17Add the ppc64le architecture to the build matrix (Travis CI).Frederic Cambus1+3-0
2020-10-24 10:10Only enable FORTIFY_SOURCE level 2 for release builds.Frederic Cambus1+2-1
2020-10-24 10:06Do not hardcode CMAKE_BUILD_TYPE to "Release" in CMakeLists.txt.Frederic Cambus1+1-2
2020-10-20 09:44Logswan 2.1.8 release.Frederic Cambus14+15-15
2020-10-20 08:36Update ChangeLog.Frederic Cambus1+11-0
2020-10-19 14:44Call memset() to set all entry_data struct fields to zero.Frederic Cambus1+1-0
2020-10-10 18:03Enable FORTIFY_SOURCE level 2.Frederic Cambus1+1-1
2020-10-09 19:17Constify countries and continents names and ID arrays.Frederic Cambus2+4-4
2020-10-09 19:15Constify methods and protocols names array.Frederic Cambus1+2-2
2020-10-09 17:45Removing some leading whitespace characters.Frederic Cambus1+2-2
2020-10-08 16:55Make displayUsage() static.Frederic Cambus1+1-1
2020-09-17 08:11Logswan 2.1.7 release.Frederic Cambus14+16-16
2020-09-17 08:07Update ChangeLog.Frederic Cambus1+9-0
2020-09-17 08:02Mention experimental seccomp support in the README.Frederic Cambus1+4-1
2020-09-17 07:55Add missing test for __NR_mmap, the mmap syscall doesn't exist on arm.Frederic Cambus1+2-0
2020-09-17 07:54Update error message to use seccomp architecture names.Frederic Cambus1+1-1
2020-09-17 07:53Add support for seccomp on ARM.Frederic Cambus1+2-0
2020-09-17 07:52Switch to dnf for Fedora's dependencies installation instructions.Frederic Cambus1+1-1
2020-09-17 07:48Stop listing HTTP protocol versions in the README.Frederic Cambus1+1-1
2020-08-28 15:38Regenerate the example MMDB database.Frederic Cambus1+0-0
2020-08-28 15:37Remove useless 'names' map from the continent map.Frederic Cambus1+4-4
2020-08-28 15:33Rename 'iso_code' field to 'code' in the continent map.Frederic Cambus1+5-4
2020-08-28 14:06Add a new test case to exercise the IP geolocation codepaths.Frederic Cambus3+38-2
2020-08-28 14:05Add a Perl program to generate an example MMDB database for testing.Frederic Cambus1+54-0
2020-08-06 06:41Remove useless parentheses.Frederic Cambus1+3-3
2020-07-03 14:34Logswan 2.1.6 release.Frederic Cambus14+15-15
2020-07-03 14:32Update ChangeLog.Frederic Cambus1+13-0
2020-07-02 08:28Rename Aland to Aland Islands to be consistent with GeoNames naming.Frederic Cambus1+1-1
2020-07-02 08:18Rename Vatican City to Vatican to be consistent with GeoNames naming.Frederic Cambus1+1-1
2020-07-02 08:09Macedonia was officially renamed to North Macedonia in February 2019.Frederic Cambus1+1-1
2020-07-02 08:06Swaziland was officially renamed to Eswatini in 2018.Frederic Cambus1+1-1
2020-07-02 07:32Remove entry for "Netherlands Antilles" in country table.Frederic Cambus2+3-5
2020-06-24 18:23Add seccomp support on i386, tested on glibc and musl.Frederic Cambus1+18-3
2020-06-23 20:09Minor code shuffling, for consistency with other codebases.Frederic Cambus1+5-5
2020-06-23 17:39Validate architectures for seccomp.Frederic Cambus1+14-0
2020-06-12 07:49Logswan 2.1.5 release.Frederic Cambus14+15-15
2020-06-12 07:47Update ChangeLog.Frederic Cambus1+14-0
2020-06-11 19:46Remove some unneeded seccomp related includes.Frederic Cambus1+0-3
2020-06-11 19:31Add link to FreeBSD package in the README.Frederic Cambus1+12-10
2020-06-11 19:28Switch link to pkgsrc.se to HTTPS.Frederic Cambus1+1-1
2020-06-09 20:22No need to set HAVE_SECCOMP to 1, defining it is enough.Frederic Cambus1+2-2
2020-06-09 13:57Define _GNU_SOURCE in CMakeLists.txt to avoid cluttering source files.Frederic Cambus2+1-3
2020-06-09 12:27Remove useless _POSIX_C_SOURCE 199309L define.Frederic Cambus1+0-1
2020-06-09 10:30Remove useless _POSIX_SOURCE define.Frederic Cambus1+1-2
2020-05-25 15:25Add missing <stddef.h> include.Frederic Cambus1+1-0
2020-05-25 15:25Remove unneeded <sys/select.h> and <sys/types.h> includes.Frederic Cambus1+0-2
2020-05-23 09:25Use CLOCK_REALTIME if CLOCK_MONOTONIC is not available.Frederic Cambus1+5-0
2020-03-31 09:05Switch the GEOIP2DIR example to point to '/var/db/dbip'.Frederic Cambus1+1-1
2020-03-27 16:35Logswan 2.1.4 release.Frederic Cambus14+15-15
2020-03-27 16:33Update ChangeLog.Frederic Cambus1+13-0
2020-03-27 15:44Change GEOIP2DIR default value to "${CMAKE_INSTALL_PREFIX}/share/dbip".Frederic Cambus2+3-3
2020-03-27 15:32Mention that DB-IP IP to Country Lite database is now the recommended option.Frederic Cambus1+7-2
2020-03-27 15:17Change GEOIP2DB default value to "dbip-country-lite.mmdb".Frederic Cambus1+2-2
2020-03-17 19:47Add dependencies installation instruction for Fedora.Frederic Cambus1+1-0
2020-03-16 10:53Remove direct link to GeoLite2 databases.Frederic Cambus1+1-3
2020-03-16 10:40Display database path name in error message.Frederic Cambus1+3-5
2020-03-16 10:37Move GEOIP2DB definition to CMakeLists.txt, allowing build time customization.Frederic Cambus2+4-4
2020-02-12 08:50Switch to more generic links to Debian and Ubuntu packages.Frederic Cambus1+2-2
2020-01-17 17:30Logswan 2.1.3 release.Frederic Cambus14+15-15
2020-01-17 17:28Update ChangeLog.Frederic Cambus1+9-0
2020-01-17 17:26Remove empty line.Frederic Cambus1+1-2
2020-01-16 22:43Bump copyright year to 2020.Frederic Cambus15+16-16
2020-01-16 21:52Remove seccomp mention in README as it is currently disabled by default.Frederic Cambus1+1-2
2019-12-26 14:34Use OpenBSD style(9) for function prototypes and declarations.Frederic Cambus4+14-7
2019-12-22 11:50Move printed statistics after the actual output.Frederic Cambus1+1-1
2019-12-22 11:49Add a new test target, to test log processing.Frederic Cambus1+1-0
2019-11-19 08:22Logswan 2.1.2 release.Frederic Cambus14+15-15
2019-11-19 08:14Update ChangeLog.Frederic Cambus1+9-0
2019-11-19 08:10Use ${CMAKE_INSTALL_BINDIR} instead of hardcoding 'bin'.Frederic Cambus1+1-1
2019-11-19 08:04Disable seccomp by default, it needs more testing on non !amd64 platforms.Frederic Cambus1+2-2
2019-11-14 13:33Add ENABLE_SECCOMP build option, to allow building seccomp support conditionally.Frederic Cambus1+16-10
2019-10-30 08:15Logswan 2.1.1 release.Frederic Cambus14+15-15
2019-10-30 08:10Update ChangeLog.Frederic Cambus1+14-0
2019-10-28 14:53Add error checking for both prctl() calls.Frederic Cambus1+10-3
2019-10-26 17:54Rename LOGSWAN_ALLOW_SYSCALL macro to LOGSWAN_SYSCALL_ALLOW.Frederic Cambus1+16-16
2019-10-26 16:35Fix the build on aarch64 Linux, where the open() syscall does not exist.Frederic Cambus1+2-0
2019-10-26 16:29Use __NR_ instead of SYS_ prefix in LOGSWAN_ALLOW_SYSCALL.Frederic Cambus1+1-1
2019-10-26 16:26Switch 'branch_pattern' to 'coverity_scan' to avoid triggering analysis for each commit (Travis CI).Frederic Cambus1+2-2
2019-10-26 16:24Wrap lines longer than 80 columns, and use lowercase for set command.Frederic Cambus1+5-3
2019-10-26 16:18Add arm64 arch and a build matrix (Travis CI).Frederic Cambus1+12-2
2019-10-26 16:06Add a note in the README about sandboxing and fuzzing.Frederic Cambus1+4-0
2019-10-26 16:03Add dummy test target in CMakeLists.txt.Frederic Cambus1+3-0
2019-10-26 15:56Adding missing #include guard in seccomp.h header file.Frederic Cambus1+5-0
2019-10-26 15:53Define and use the LOGSWAN_ALLOW_SYSCALL macro to make code more readable.Frederic Cambus1+20-31
2019-10-25 17:28Use lighter file header in CMakeLists.txt.Frederic Cambus1+11-13
2019-10-25 16:10Document the new -d flag, and remove entry in TODO.Frederic Cambus3+10-7
2019-10-25 15:54Add a switch (-d) to allow specifying path to a GeoIP2 database file.Frederic Cambus1+11-3
2019-10-25 13:44Define and use a GEOIP2DB macro to specify GeoLite2 database name.Frederic Cambus2+3-1
2019-10-25 13:09Use the HAVE_SECCOMP macro to check whether or not to enable seccomp.Frederic Cambus1+3-3
2019-10-25 13:07Check if system has seccomp in CMakeLists.txt.Frederic Cambus1+11-1
2019-10-23 20:33Logswan 2.1.0 release.Frederic Cambus13+16-16
2019-10-23 20:28Update ChangeLog.Frederic Cambus1+8-0
2019-10-23 20:16Allow the dup syscall, it is used on glibc systems when GeoIP lookups are enabled.Frederic Cambus1+2-0
2019-10-23 19:37Merge branch 'seccomp'.Frederic Cambus2+74-1
2019-10-23 19:31Allow the lseek, openat, and write syscalls, they are used on glibc systems.Frederic Cambus1+7-1
2019-10-17 20:37Add support for parsing HTTP/3 requests.Frederic Cambus2+3-2
2019-09-30 21:33Update build environment, there is no need to use MaxMind's PPA anymore (TravisCI).Frederic Cambus1+2-1
2019-09-27 18:46Add initial seccomp support to Logswan.Frederic Cambus2+68-1
2019-09-27 18:43Add FALLTHROUGH comments where appropriate.Frederic Cambus1+2-2
2019-08-16 08:43Logswan 2.0.4 release.Frederic Cambus13+15-15
2019-08-16 08:23Update ChangeLog.Frederic Cambus1+12-0
2019-08-16 08:21Add a trailing newline when printing JSON output.Frederic Cambus1+1-1
2019-05-26 07:11Fix some typos.Frederic Cambus3+3-3
2019-05-09 13:05Use EXIT_SUCCESS and EXIT_FAILURE macros for return values.Frederic Cambus1+10-9
2019-04-11 13:21Add final dot when printing results summary.Frederic Cambus1+1-1
2019-03-26 09:01Add a comment showing how to generate the token for Coverity (Travis CI).Frederic Cambus1+1-0
2019-03-25 11:29Add link to Void Linux package in the README.Frederic Cambus1+4-2
2019-03-25 07:54Add Coverity Scan back to the pipeline, it's back up (Travis CI).Frederic Cambus1+16-0
2019-01-20 08:31Simply link to available operating system packages for logswan.Frederic Cambus1+12-19
2019-01-19 13:35Use lighter file headers everywhere.Frederic Cambus11+121-143
2019-01-18 21:12Add final dots for options descriptions.Frederic Cambus1+3-3
2019-01-18 21:12Bump copyright year to 2019.Frederic Cambus13+14-14
2019-01-16 14:51Remove Coverity Scan from the pipeline, it's down (Travis CI).Frederic Cambus1+0-16
2019-01-12 14:17Remove Coverity badge, it's down again.Frederic Cambus1+5-5
2019-01-12 14:05Add dependencies installation instructions for NetBSD and FreeBSD.Frederic Cambus1+5-3
2019-01-12 09:04Various tweaks and improvments in README.Frederic Cambus2+6-4
2018-12-10 11:02Add an example log file and run logswan -g logswan.logFrederic Cambus2+70-1212
2018-12-09 22:55Adding #include guard in compat header fileFrederic Cambus1+5-0
2018-12-09 11:36Merge pull request #15 from alexmyczko/patch-1Frederic Cambus1+8-0
2018-12-08 15:40Update README.mdAlex Myczko1+8-0
2018-10-15 11:18Logswan 2.0.3 releaseFrederic Cambus13+18-18
2018-10-15 11:13Update ChangeLogFrederic Cambus1+11-0
2018-10-15 09:35Update documentation (mention HTTP/2.0 support) and TODOFrederic Cambus2+1-2
2018-10-15 09:34Move maps of countries and continents to separate filesFrederic Cambus9+606-537
2018-10-14 19:29Revert back to using INT64_MAX for strtonum() maxval, as maxval is long longFrederic Cambus1+1-1
2018-10-14 18:34Enable support for parsing HTTP/2.0 requests, for real this timeFrederic Cambus1+1-1
2018-09-12 08:17Update TODOFrederic Cambus1+1-0
2018-08-14 08:18Use -std=c11, Logswan requires a C11 compiler for libmaxminddbFrederic Cambus1+2-2
2018-08-04 22:05Logswan 2.0.2 releaseFrederic Cambus9+18-18
2018-08-04 22:04Update ChangeLogFrederic Cambus1+8-0
2018-08-04 21:32Remove TODO items, tests weren't convincingFrederic Cambus1+0-3
2018-08-03 20:06Add support for HTTP/2.0Frederic Cambus1+2-1
2018-08-03 19:46Reorder includesFrederic Cambus2+9-9
2018-08-03 19:39Add missing headersFrederic Cambus2+4-2
2018-07-29 20:14Use UINT64_MAX for strtonum() maxvalFrederic Cambus1+1-1
2018-07-24 21:51Update version number (Travis CI)Frederic Cambus1+1-1
2018-06-27 21:23Logswan 2.0.1 releaseFrederic Cambus8+16-16
2018-06-27 21:19Update ChangeLogFrederic Cambus1+10-0
2018-06-27 21:18Fix typoFrederic Cambus1+1-1
2018-06-27 21:09Define _POSIX_C_SOURCE 199309L, fixes 'clock_gettime’ implicit declaration on LinuxFrederic Cambus1+1-0
2018-06-27 21:01Define timespecsub macro in compat.h if it doesn't existsFrederic Cambus1+12-0
2018-06-27 20:35Move conditional includes for 'pledge' and 'strtonum' in compat.hFrederic Cambus2+8-8
2018-06-27 19:45Add missing headerFrederic Cambus1+1-0
2018-06-27 19:26Use the monotonic clock to determine runtimeFrederic Cambus1+6-4
2018-06-27 16:00Use bool types for isIPv4 and isIPv6Frederic Cambus1+2-2
2018-06-27 15:41Lint the man pageFrederic Cambus1+4-3
2018-06-27 15:38Add an EXAMPLES section in the man pageFrederic Cambus1+11-0
2018-06-27 15:37Improve Logswan description in the man pageFrederic Cambus1+4-1
2018-06-27 15:23Do not always call inet_pton two times per log line, this speeds things upFrederic Cambus1+76-73
2018-06-27 10:33Update TODOFrederic Cambus1+1-0
2018-06-19 09:20Reoder structure membersFrederic Cambus1+2-2
2018-06-19 09:17Do not use -Werror by defaultFrederic Cambus1+1-1
2018-03-16 21:24Add TODOFrederic Cambus1+3-0
2018-03-16 13:07Logswan 2.0.0 releaseFrederic Cambus10+15-15
2018-03-16 13:04Rename 'Czechia' to 'Czech Republic'Frederic Cambus1+1-1
2018-03-16 12:51Minor code shufflingFrederic Cambus1+2-2
2018-03-16 12:22Update Alpine Linux dependencies installation instructionsFrederic Cambus1+1-1
2018-03-16 10:34Update ChangeLogFrederic Cambus1+9-0
2018-03-16 10:33Add back GeoIP country lookupsFrederic Cambus2+18-10
2018-03-16 08:59Array arrays for ISO-3166 alpha2 country codes and corresponding namesFrederic Cambus2+511-1
2018-03-16 08:36Add Antarctica to the list of continentsFrederic Cambus2+5-3
2018-01-21 17:12More documentation updates (GeoIP2 databases)Frederic Cambus1+9-16
2018-01-21 17:12Update dependencies installation instructionsFrederic Cambus1+4-5
2018-01-21 17:05Add missing headerFrederic Cambus1+2-0
2018-01-21 16:54Do not link against GeoIP anymoreFrederic Cambus2+3-7
2018-01-21 16:45Use add-apt-repository in non-interactive mode (TravisCI)Frederic Cambus1+1-1
2018-01-21 16:38Try installing libmaxminddb from MaxMind's PPA (TravisCI)Frederic Cambus1+1-0
2018-01-21 15:56Fix TravisCI buildFrederic Cambus1+1-1
2018-01-21 15:53Bump copyright yearFrederic Cambus10+19-19
2018-01-21 15:47Initial support for GeoIP2 databasesFrederic Cambus2+35-25
2017-12-18 21:56Reflect OpenBSD's pledge() changesFrederic Cambus2+3-3
2017-12-18 21:44Cosmetic fixesFrederic Cambus5+17-17
2017-11-23 20:33Formatting fixesFrederic Cambus2+15-15
2017-09-17 20:58Use type off_t for results struct member fileSizeFrederic Cambus2+3-3
2017-02-14 13:28Logswan 1.07 releaseFrederic Cambus9+18-18
2017-02-14 13:27Rename LINE_MAX_LENGTH to LINE_LENGTH_MAX, for consistencyFrederic Cambus2+3-3
2017-02-14 13:25Update ChangeLogFrederic Cambus1+14-0
2017-02-14 13:24Fix OpenBSD's style(9) offenderFrederic Cambus1+1-1
2017-02-09 12:50Formatting fixesFrederic Cambus1+2-2
2017-02-07 18:09Remove all Twitter mentionsFrederic Cambus2+0-2
2017-02-07 17:36Do not add an extra new line when displaying usage or versionFrederic Cambus1+2-2
2017-02-07 17:36Logswan site is now using HTTPSFrederic Cambus9+17-17
2017-02-07 10:08Formatting fixesFrederic Cambus1+2-2
2017-02-07 10:07Switch one more URL to httpsFrederic Cambus1+1-1
2017-01-14 22:20Remove now unnecessary headerFrederic Cambus1+0-1
2017-01-12 10:11Fix implicit declaration of function 'inet_pton' error on NetBSD (Thanks Maya Rashish)Frederic Cambus1+1-0
2017-01-12 09:23Do not use EXIT_SUCCESS and EXIT_FAILURE macros anymoreFrederic Cambus1+8-8
2017-01-12 08:57Fix some typos in READMEFrederic Cambus1+2-2
2017-01-12 08:55Remove now useless variables initializationFrederic Cambus1+3-7
2017-01-12 08:23Revert back to using strtok, at least for nowFrederic Cambus1+16-23
2017-01-09 08:42Use OpenBSD style(9) for function prototypes and declarationsFrederic Cambus5+14-9
2017-01-08 23:46Simplify internal JSON array and object namesFrederic Cambus1+38-38
2017-01-08 23:44Remove array of months, it's currently unused and will likely remain soFrederic Cambus2+0-17
2017-01-08 23:40Harmonize arrays namesFrederic Cambus4+8-8
2017-01-08 23:09Wrap the json_array_append_new() callsFrederic Cambus1+32-6
2017-01-08 22:16Bump copyright year in CMakeLists.txt as wellFrederic Cambus1+2-2
2017-01-08 22:14Bump copyright yearFrederic Cambus9+17-17
2017-01-08 22:12Use https in URLs where appropriateFrederic Cambus2+3-3
2016-12-17 22:42Logswan 1.06 releaseFrederic Cambus9+19-18
2016-12-17 22:19Pass results by reference, not by valueFrederic Cambus3+29-31
2016-12-17 21:40Move variables declaration out of mainFrederic Cambus1+29-29
2016-12-17 20:43Update ChangeLogFrederic Cambus1+16-0
2016-12-07 21:26Initialize results.bandwidthFrederic Cambus1+1-0
2016-12-07 21:03Typo fixFrederic Cambus1+1-1
2016-12-07 20:53If parsedLine.remoteHost is NULL, the log line is invalidFrederic Cambus1+4-0
2016-12-07 20:35Add Coverity Scan badge to READMEFrederic Cambus1+5-3
2016-12-07 20:25Initialize results.hitsIPv4 and results.hitsIPv6Frederic Cambus1+2-0
2016-12-07 20:11Define _POSIX_SOURCE to attempt fixing implicit declaration of function 'fileno' on LinuxFrederic Cambus1+2-0
2016-12-07 20:01Use fstat on open file descriptor instead of using stat before opening the log fileFrederic Cambus1+9-6
2016-12-07 19:21Initialize results.invalidLinesFrederic Cambus1+2-0
2016-12-07 14:16Tweak Travis CI configurationFrederic Cambus1+5-4
2016-12-07 14:07Update Coverity Scan token and configurationFrederic Cambus1+5-1
2016-12-07 13:57Update Coverity configurationFrederic Cambus1+2-1
2016-12-06 20:17Change option description wordingFrederic Cambus1+1-1
2016-12-06 20:12Trigger Coverity Scan on master branchFrederic Cambus1+1-1
2016-12-02 15:41Hook Coverity Scan to the buildFrederic Cambus1+13-0
2016-12-06 19:52'geoipv4' and 'geoipv6' may not be used uninitialized anymoreFrederic Cambus1+1-1
2016-12-06 19:42Reformat README, AUTHORS files and man page to wrap long lines and remove whitespace before colonsFrederic Cambus3+51-33
2016-12-06 15:27Document the new -g flagFrederic Cambus2+6-3
2016-12-06 15:03Minor code shufflingFrederic Cambus1+3-2
2016-12-06 14:24Remove TODO, no more promisesFrederic Cambus1+0-1
2016-12-06 14:23Make GeoIP lookups optional and disabled by default (add a -g switch to enable)Frederic Cambus1+12-3
2016-12-06 12:17Harmonize variable names for the GeoIP databasesFrederic Cambus1+6-6
2016-11-26 16:49Add Travis CI badge to READMEFrederic Cambus1+4-1
2016-11-26 16:01Try another incantation...Frederic Cambus1+2-1
2016-11-26 15:42Define __USE_POSIX to attempt fixing implicit declaration of function 'strtok_r' on LinuxFrederic Cambus1+2-1
2016-11-26 13:18Add a before_install directive for Travis CI, to install build dependenciesFrederic Cambus1+3-0
2016-11-26 12:23Initial Travis CI configuration fileFrederic Cambus1+5-0
2016-10-30 20:06Do not attempt to increment countries and continents array if there is no GeoIP databaseFrederic Cambus1+10-8
2016-10-30 20:05Use strtok_r instead of strtok to tokenize linesFrederic Cambus2+21-17
2016-10-30 20:02Headers cleanupFrederic Cambus2+8-4
2016-07-19 10:35Reflecting license change in the manpage as wellFrederic Cambus1+10-14
2016-07-18 21:10Relicensed under the BSD 2-Clause licenseFrederic Cambus10+17-21
2016-07-18 11:43Remove THE REGENTS from LICENSEFrederic Cambus1+5-5
2016-02-25 08:49Logswan 1.05 releaseFrederic Cambus9+32-17
2016-01-27 11:47Adding an array of months, for the upcoming split log functionalitiesFrederic Cambus2+17-0
2016-01-24 15:06Remove unnecessary comparisonFrederic Cambus1+1-1
2016-01-14 09:19Removing now unneeded #ifdef __OpenBSD__ check for pledgeFrederic Cambus1+0-2
2016-01-14 09:18Conditional include for 'pledge'Frederic Cambus1+4-0
2016-01-14 09:18Modifying CMakeList to link pledge conditionallyFrederic Cambus1+7-3
2016-01-14 09:17Adding a null pledge implementationFrederic Cambus2+7-0
2016-01-13 17:43Use CMake to check if the system has OpenBSD's pledge availableFrederic Cambus1+2-1
2016-01-13 17:39Increment IPv4 and IPv6 hits counters individually and conditionallyFrederic Cambus1+6-4
2016-01-13 17:36Perform GeoIP lookup and HLL add in the same if blockFrederic Cambus1+16-15
2016-01-12 20:14Check that *lineBuffer is not NUL before attempting to parse log lineFrederic Cambus1+18-16
2016-01-12 14:03Add additional include directories for compat functions + dependencies to avoid using relative path in includesFrederic Cambus2+6-2
2016-01-12 13:34Formatting tweaksFrederic Cambus1+5-5
2016-01-12 10:03Documentation update (notes on measuring Logswan memory usage)Frederic Cambus1+7-0
2016-01-10 17:00Logswan 1.04 releaseFrederic Cambus9+31-17
2016-01-03 16:11NetBSD: Sanitize CMake script to build under NetBSDKamil Rytarowski1+2-0
2016-01-10 13:22Renaming 'GEOIPDATA' and 'DATADIR' variables to 'GEOIPDIR'Frederic Cambus3+9-8
2016-01-09 22:24Initializing some uninitialized variablesFrederic Cambus1+2-2
2016-01-09 22:10Moving the GeoIP path trailing slash to the CMake definitionFrederic Cambus2+3-3
2016-01-09 21:59Removing hardcoded include directoriesFrederic Cambus1+0-1
2016-01-09 21:59Using same semantics to detect Jansson library pathsFrederic Cambus1+7-4
2016-01-03 16:11NetBSD: Sanitize CMake script to build under NetBSDKamil Rytarowski1+9-6
2016-01-09 21:29Setting 'CMAKE_BUILD_TYPE' to Release and formatting fixesFrederic Cambus1+5-4
2016-01-09 16:49Do not increment hits and processed lines counter for each parsed line, compute total when everything is parsedFrederic Cambus1+5-6
2016-01-09 16:01Using 'uint32_t' for all non 'uint64_t' integersFrederic Cambus1+4-4
2016-01-08 22:44Moving global variables into mainFrederic Cambus1+27-29
2016-01-08 22:33Using 'size_t' instead of 'int' for array indexes in for loopsFrederic Cambus2+9-9
2016-01-04 17:25Bumping copyright in manpage + wording changeFrederic Cambus1+2-2
2016-01-04 17:24Bye bye SourceForgeFrederic Cambus1+1-1
2016-01-01 14:38Logswan 1.03 releaseFrederic Cambus11+69-35
2016-01-01 14:33Updating output file exampleFrederic Cambus1+317-420
2016-01-01 10:24Remove include to defunct header fileFrederic Cambus1+0-1
2016-01-01 10:17Documentation update (GeoIP databases)Frederic Cambus1+10-17
2015-12-31 18:10Documentation update (changing the default GeoIP databases directory)Frederic Cambus1+6-0
2015-12-30 23:27Remove legacy 'results.h' fileFrederic Cambus1+0-0
2015-12-30 23:24Small tweaks on documentation and man pageFrederic Cambus2+5-3
2015-12-30 23:13Adding initial manual page in mdoc formatFrederic Cambus1+61-0
2015-12-30 18:47Documentation update (notes on opinionated features and usage information)Frederic Cambus1+4-1
2015-12-30 11:02Initial support for using pledge() on OpenBSDFrederic Cambus1+10-0
2015-12-30 10:15Increasing countries array size, as an attempt to be future-proofFrederic Cambus1+1-1
2015-12-22 22:20Removing some trailing whitespaces and tabsFrederic Cambus2+11-11
2015-12-22 21:55Using a constant to define the number of countriesFrederic Cambus3+6-5
2015-12-22 14:54Renaming DBPATH to DATADIRFrederic Cambus2+7-7
2015-12-21 21:52Setting the DBPATH variable only if it hasn't been defined when invoking CMakeFrederic Cambus1+5-1
2015-12-21 14:31Using CMAKE_INSTALL_PREFIX instead of hardcoding /usr/local and removing unnecessary trailing slashFrederic Cambus1+1-1
2015-12-20 18:20Moving the results structure in 'output.h'Frederic Cambus3+24-43
2015-12-19 15:53Moving all constants previously defined in 'logswan.h' to 'config.h'Frederic Cambus4+12-31
2015-12-19 15:50Renaming 'definitions' files to 'config'Frederic Cambus6+25-25
2015-12-19 15:08Adding support for reading logs from standard inputFrederic Cambus1+10-3
2015-12-19 14:47Re-ordering methods for the same reasonFrederic Cambus1+2-2
2015-12-18 23:17Re-ordering protocols as HTTP/1.1 is much more common, allowing to break earlier when iterating through the arrayFrederic Cambus1+2-2
2015-12-18 23:14Process GeoIP continent informationFrederic Cambus7+44-7
2015-12-15 22:43Using enumeration constants instead of macrosFrederic Cambus1+8-6
2015-12-14 22:46Small refactor to get country id in a variableFrederic Cambus1+6-3
2015-12-05 18:23Breaking the loop when a match is found in the request parserFrederic Cambus1+2-0
2015-12-05 18:14Removing more hardcoded values in the output functionFrederic Cambus1+3-3
2015-12-05 17:44Adding log file name in the JSON outputFrederic Cambus3+6-3
2015-12-04 18:48Removing more hardcoded valuesFrederic Cambus1+3-3
2015-12-03 23:31Documentation update (Notes on HLL precision, improved Features list)Frederic Cambus1+7-8
2015-12-03 23:11Updating TODOFrederic Cambus1+3-0
2015-12-03 23:07Use a constant to define HyperLogLog precisionFrederic Cambus2+3-2
2015-12-03 23:01Use constants instead of hardcoded array lengths for methods and protocolsFrederic Cambus2+5-2
2015-12-03 22:45Moving STATUS_CODE_MAX definition to logswan.hFrederic Cambus2+4-4
2015-11-12 19:55Define GeoIP databases path in CMakeLists.txtFrederic Cambus2+5-4
2015-11-08 22:43Output JSON data to stdout instead of creating a new fileFrederic Cambus1+2-14
2015-11-08 22:20Print results to stderr instead of stdoutFrederic Cambus1+1-1
2015-11-08 22:19Remove header display and do not print name of processed fileFrederic Cambus1+0-6
2015-11-06 13:29Documentation update (adding OpenBSD installation instructions)Frederic Cambus1+4-0
2015-11-02 14:56Logswan 1.02 releaseFrederic Cambus12+32-23
2015-11-01 22:48Do not attempt to parse empty request tokensFrederic Cambus1+13-11
2015-11-01 22:48Do not attempt to parse empty date tokensFrederic Cambus1+8-6
2015-11-01 22:42Renaming 'resource' variable to 'request' in the 'logLine' structFrederic Cambus3+3-3
2015-10-11 21:31Use HTTPS links in GeoIP database download instructionsFrederic Cambus1+3-3
2015-10-01 17:45Small formatting tweakFrederic Cambus1+1-1
2015-10-01 13:01Logswan 1.01 releaseFrederic Cambus12+34-23
2015-10-01 12:49Fixing segfault when request data is empty and or malformed (thanks to Jonathan Armani for reporting and proposing a fix)Frederic Cambus1+6-2
2015-09-30 22:00Documentation update (adding installation section)Frederic Cambus1+8-0
2015-09-29 09:47Test if 'parsedRequest.method' and 'parsedRequest.protocol' exist before attempting to process themFrederic Cambus1+10-7
2015-09-28 21:01Logswan 1.00 releaseFrederic Cambus13+32-32
2015-09-28 20:48Documentation update (HLL + RAM usage + formatting fixes)Frederic Cambus1+13-11
2015-09-27 21:35Documentation update (usage + project homepage)Frederic Cambus1+7-2
2015-09-27 21:34Check if an input file is specified and display usage otherwiseFrederic Cambus1+8-3
2015-09-27 21:32Creating a 'displayUsage' function to display usage informationFrederic Cambus1+8-4
2015-09-20 21:11Updating README file (GeoIP databases)Frederic Cambus1+20-0
2015-09-20 21:01Now looking for GeoIP databases into '/usr/local/share/GeoIP'Frederic Cambus1+2-2
2015-09-20 15:19Updating README file (project description)Frederic Cambus1+3-1
2015-09-20 15:19Adding a '-h' option to show usageFrederic Cambus1+10-3
2015-09-20 09:48Updating README file (notes on compiling Logswan)Frederic Cambus1+2-0
2015-09-20 08:33Raising LINE_MAX_LENGTH limitFrederic Cambus1+2-2
2015-09-03 21:39Do not use '-i' option anymore to specify input file name, use optind insteadFrederic Cambus1+3-9
2015-09-03 20:55Updating README file with dependencies installation instruction for Alpine LinuxFrederic Cambus1+2-1
2015-08-12 17:13Updating output file exampleFrederic Cambus1+40-40
2015-08-12 17:13Showing hits + visits one after each other, and sorting other objects alphabeticallyFrederic Cambus1+2-2
2015-08-12 17:01Updating output file exampleFrederic Cambus1+1386-1386
2015-08-12 16:55Renaming array storing HTTP status codes + array name in the JSON outputFrederic Cambus3+5-5
2015-08-12 16:33Moving total visits calculation in the main loopFrederic Cambus2+2-1
2015-08-12 16:01Flattening output JSON dataFrederic Cambus1+5-5
2015-08-09 09:13Group assignment and checkFrederic Cambus1+3-5
2015-08-09 09:06Return EXIT_SUCCESS instead of 0Frederic Cambus1+1-1
2015-07-26 12:50Adjusting argc & argv after arguments are processed by getoptFrederic Cambus1+3-0
2015-07-26 11:45Using getopt to read input file name (-i option)Frederic Cambus1+16-11
2015-07-26 11:40Add a newline character after printing Logswan versionFrederic Cambus1+1-1
2015-07-23 21:38Enabling the '-Wextra' flag againFrederic Cambus1+1-1
2015-07-23 21:37Updating HLL dependencyFrederic Cambus1+1-1
2015-07-21 21:08Updating README fileFrederic Cambus1+1-0
2015-07-21 21:00Updated output file example (Full country names + IPv6 GeoIP hits + unique visits)Frederic Cambus1+345-98
2015-07-21 20:49Adding unique visits counts in the JSON outputFrederic Cambus1+6-0
2015-07-21 20:21Fixing linking error when using GCCFrederic Cambus1+1-1
2015-07-21 20:20Removing '-Wextra' flag for now, to allow HLL library to compile when using GCCFrederic Cambus1+1-1
2015-07-19 14:10Adding comments after '#endif' preprocessor directivesFrederic Cambus8+12-12
2015-07-19 13:28Reformatting source filesFrederic Cambus2+6-6
2015-07-19 13:27Removing duplicated methods and protocols declarationsFrederic Cambus5+52-35
2015-07-19 11:49Adding HLL library license in the dependency directoryFrederic Cambus1+16-0
2015-07-13 23:02Add generator name in the JSON outputFrederic Cambus1+2-0
2015-07-13 23:01Moving constants definitions to logswan header fileFrederic Cambus2+21-3
2015-07-13 22:47Adding unique visits in the results structFrederic Cambus2+7-0
2015-07-13 22:21Adding THANKS fileFrederic Cambus1+4-0
2015-07-13 22:17Countaing unique visitors for both IPv4 and IPv6 visits using HyperLogLogFrederic Cambus1+20-1
2015-07-13 22:05Importing and linking HyperLogLog libraryFrederic Cambus7+241-346
2015-07-12 22:18Prototypes should not have variable names associated with the typesFrederic Cambus2+4-4
2015-07-12 21:47Freeing memory used by GeoIP databases before exitingFrederic Cambus1+3-0
2015-07-12 20:16Perform GeoIP lookups for IPv6 addressesFrederic Cambus2+8-3
2015-07-12 18:40Add full name of the country in the JSON outputFrederic Cambus1+1-1
2015-07-11 23:59Adding install directiveFrederic Cambus1+2-0
2015-07-11 23:28Updating README file (installing dependencies on NetBSD)Frederic Cambus1+1-0
2015-07-11 23:27Adding additional include directory to allow building on NetBSDFrederic Cambus1+1-1
2015-07-11 22:18Importing MurmurHash3 hash functionFrederic Cambus3+346-2
2015-07-11 21:58Updating README file (installing dependencies on OS X)Frederic Cambus1+1-1
2015-07-11 21:57Adding output file exampleFrederic Cambus1+1156-0
2015-07-05 21:16Updating README fileFrederic Cambus1+10-5
2015-07-05 20:54Adding Logswan ASCII logo in the README (Thanks H7!)Frederic Cambus1+28-0
2015-06-28 21:45Adding HTTP methods distribution in the JSON outputFrederic Cambus1+20-0
2015-06-28 21:40Counting HTTP methods occurrencesFrederic Cambus2+21-1
2015-06-28 21:29Changing type of 'hours', 'httpStatus' and 'protocols' arrays to uint64_tFrederic Cambus1+3-3
2015-06-28 20:58Updating README fileFrederic Cambus1+6-2
2015-06-28 20:44Adding hits per protocol in the JSON outputFrederic Cambus1+13-0
2015-06-28 20:43Counting hits per protocol (HTTP/1.0 or HTTP/1.1)Frederic Cambus2+13-1
2015-06-28 18:58Parse request dataFrederic Cambus1+4-0
2015-06-28 18:58Adding a request struct and a parseRequest function returning method + protocolFrederic Cambus2+12-0
2015-06-28 14:38Small cleanupsFrederic Cambus3+6-6
2015-06-28 14:31Adding HTTP status codes distribution in the JSON outputFrederic Cambus2+11-3
2015-06-28 13:44Displaying a message when output file is createdFrederic Cambus1+1-0
2015-06-28 13:12Save JSON output in a file instead of displaying it on stdoutFrederic Cambus1+12-5
2015-06-28 13:11Modify the output function to return a string with JSON dataFrederic Cambus2+3-3
2015-06-28 12:51Create output file nameFrederic Cambus1+5-0
2015-06-26 22:41Changing hits by countries output format as wellFrederic Cambus1+5-4
2015-06-26 22:07Changing hourly distribution output format and getting rid of the hours strings arrayFrederic Cambus1+4-9
2015-06-26 22:04Removing some unnecessary stuffFrederic Cambus2+0-6
2015-06-26 21:09Updating TODOFrederic Cambus1+0-3
2015-06-26 21:08Using 'strtonum' to increment bandwidth usageFrederic Cambus1+9-4
2015-06-26 21:07Modify strtok delimiter to return objectSize without trailing spaceFrederic Cambus1+1-1
2015-06-24 22:10Using 'strtonum' to populate the status code arrayFrederic Cambus2+5-3
2015-06-24 21:55Using 'strtonum' to populate the hourly distribution arrayFrederic Cambus1+4-2
2015-06-24 21:54Conditional include for 'strtonum'Frederic Cambus1+4-0
2015-06-24 21:43Modifying CMakeList to link strtonum conditionallyFrederic Cambus1+13-3
2015-06-24 21:32Adding a compat directory and importing 'strtonum' function from OpenBSDFrederic Cambus2+67-0
2015-06-24 20:29Moving the 'output' function to its own fileFrederic Cambus5+120-64
2015-06-24 20:14Moving the JSON output code to its own functionFrederic Cambus1+45-41
2015-06-24 20:10Moving a few more variables to the results structFrederic Cambus1+13-9
2015-06-24 19:45Use a struct to store log processing resultsFrederic Cambus1+33-32
2015-06-24 19:28Passing NULL as argument for timeFrederic Cambus1+1-1
2015-06-22 22:18Adding hourly hits distribution in the JSON outputFrederic Cambus1+13-0
2015-06-22 22:06Specifying JSON encoding flagsFrederic Cambus1+1-1
2015-06-22 22:06Adding hits by countries in the JSON outputFrederic Cambus1+9-0
2015-06-22 21:30Updating README file (Jansson dependency + features list)Frederic Cambus1+2-1
2015-06-22 21:27Output JSON data for resultsFrederic Cambus1+20-0
2015-06-22 21:26Only log processed lines and runtimeFrederic Cambus1+1-10
2015-06-22 21:24Linking against Jansson library + adding includeFrederic Cambus2+3-1
2015-06-22 18:34Small syntax change : switch to ++ increment operatorFrederic Cambus1+2-2
2015-06-22 16:54Processing hourly distribution of hitsFrederic Cambus1+12-1
2015-06-22 16:33Parsing date during log processing phaseFrederic Cambus1+5-1
2015-06-22 16:29Introducing a 'parseDate' function for tokenizing datesFrederic Cambus2+21-2
2015-06-21 21:52Counting HTTP status codes occurrencesFrederic Cambus2+13-0
2015-06-21 21:24Updating .gitignoreFrederic Cambus1+1-4
2015-06-21 21:18Updating README fileFrederic Cambus1+7-2
2015-06-21 21:11Adding #include guard in parse header fileFrederic Cambus1+5-0
2015-06-21 20:48Moving the 'parseLine' function to its own fileFrederic Cambus4+65-34
2015-06-21 20:38Introducing a 'parseLine' function for tokenizing log linesFrederic Cambus1+42-39
2015-06-20 22:00Saving tokens in the log line structureFrederic Cambus1+16-14
2015-06-20 21:59Adding a log line structureFrederic Cambus1+8-0
2015-06-20 21:48Log line tokenizer is now able to correctly parse lines with resources containing spacesFrederic Cambus1+5-13
2015-06-18 21:57Initial GeoIP support (IPv4 only at the moment)Frederic Cambus2+18-0
2015-06-17 20:58Adjusting timeStamp allocated size + strftime max size parameterFrederic Cambus1+2-2
2015-06-17 20:48Initial getopt support and allowing '-v' flag to print version numberFrederic Cambus1+12-1
2015-06-17 19:56Casting logFileSize.st_size before printing valueFrederic Cambus1+1-1
2015-06-17 17:34Counting processed linesFrederic Cambus1+5-1
2015-06-17 17:19Using PRIu64 format conversion specifier to display resultsFrederic Cambus1+7-6
2015-06-13 20:32Generate and print report timestampFrederic Cambus1+6-0
2015-06-10 22:02Counting number of IPv4 and IPv6 hitsFrederic Cambus2+28-21
2015-06-10 21:39Initial README fileFrederic Cambus1+41-0
2015-06-10 20:36Count and discard invalid lines (Close #6)Frederic Cambus1+37-30
2015-06-10 18:00Adding back compiler options from the original Makefile + a few extra onesFrederic Cambus1+4-0
2015-06-10 17:38Adding missing includes, fixes compilation on OpenBSD (Close #2)Frederic Cambus1+2-0
2015-06-09 07:04Merge pull request #5 from mulander/4-fake-fileFrederic Cambus1+4-0
2015-06-09 06:59Merge pull request #3 from mulander/missing-newlineFrederic Cambus1+1-1
2015-06-08 23:16Fix #4 Handle a file that does not existmulander1+4-0
2015-06-08 23:00Add missing newline to no input file outputmulander1+1-1
2015-06-08 18:11Moving source files to the 'src' directoryFrederic Cambus2+1-1
2015-06-07 22:06Switching to CMakeFrederic Cambus4+16-19
2015-06-07 15:47Converting C++ style '//' comments to standard comments styleFrederic Cambus1+20-20
2015-06-07 15:42Initial MakefileFrederic Cambus1+18-0
2015-06-07 15:23Adding AUTHORS fileFrederic Cambus1+6-0
2015-06-07 14:55Initial commitFrederic Cambus3+157-0