diff options
-rw-r--r-- | Makefile.in | 3 | ||||
-rw-r--r-- | TODO.in (renamed from TODO) | 19 | ||||
-rwxr-xr-x | gen_todo.pl | 41 |
3 files changed, 54 insertions, 9 deletions
diff --git a/Makefile.in b/Makefile.in index 2789904..4061629 100644 --- a/Makefile.in +++ b/Makefile.in | |||
@@ -74,6 +74,9 @@ all-subdirs install-subdirs activate-subdirs clean-subdirs distclean-subdirs: | |||
74 | fi; \ | 74 | fi; \ |
75 | done; | 75 | done; |
76 | 76 | ||
77 | TODO: TODO.in | ||
78 | @./gen_todo.pl | ||
79 | |||
77 | $(TARGET): $(SOURCES) $(HEADERS) | 80 | $(TARGET): $(SOURCES) $(HEADERS) |
78 | @@APXS_BIN@ -c -o $(TARGET) $(INCLUDES) $(CFLAGS) \ | 81 | @@APXS_BIN@ -c -o $(TARGET) $(INCLUDES) $(CFLAGS) \ |
79 | $(LDADD) @DEFS@ @APACHE_DEFS@ $(SOURCES) | 82 | $(LDADD) @DEFS@ @APACHE_DEFS@ $(SOURCES) |
@@ -4,19 +4,20 @@ TODO: | |||
4 | * Port connection portion to other DBMS? Genericize the module? Start with | 4 | * Port connection portion to other DBMS? Genericize the module? Start with |
5 | PostgreSQL. (provider mechanism, and libDBI) | 5 | PostgreSQL. (provider mechanism, and libDBI) |
6 | * does determining table name in massvirtual mode upon every request | 6 | * does determining table name in massvirtual mode upon every request |
7 | cause performance degradation? If so fix. | 7 | cause performance degradation? If so fix. No other feasable way to fix this, |
8 | unless you cache, but then for large amounts of hosts, this can be a waste. | ||
8 | * LogSQLRotateLogs directive with daily/monthly/weekly/etc. | 9 | * LogSQLRotateLogs directive with daily/monthly/weekly/etc. |
9 | * new format char: IP as bigint? ( not w/ ipV6 ) | ||
10 | * socket-based middleman daemon with configurable conns, or connect/disconnect. | 10 | * socket-based middleman daemon with configurable conns, or connect/disconnect. |
11 | DBI connection pool when I switch to DBI. | 11 | * DBI connection pool when I switch to DBI. |
12 | * ignore by cookie | 12 | * ignore by cookie |
13 | * tools to import logs into SQL (waiting on permission from author) | ||
14 | * Directive to yes/no create ancillary tables (or just access table) | ||
15 | * break module into separate code files | 13 | * break module into separate code files |
14 | SSL already separated. | ||
16 | separate DB implimentation into sub-modules via provider mechanism | 15 | separate DB implimentation into sub-modules via provider mechanism |
17 | * convert documentation to docbook | 16 | * investigate thread safety issues |
18 | * add document building to Makefile.in | 17 | Use libmysqlclient_r for threaded MPM (or always?) |
19 | * investigate thread safety issues (libmysqlclient_r) | 18 | Add thread locks if using standard mysqlclient |
20 | Add thread locks if using standard mysqlclient | 19 | Check locking issues with the preserve file? |
21 | * rewrite main core logging function to optimize for speed. | 20 | * rewrite main core logging function to optimize for speed. |
22 | * Clean up table creation code. | 21 | * Clean up table creation code. |
22 | support DB independent way of defining the tables | ||
23 | ----- | ||
diff --git a/gen_todo.pl b/gen_todo.pl new file mode 100755 index 0000000..d90d2b2 --- /dev/null +++ b/gen_todo.pl | |||
@@ -0,0 +1,41 @@ | |||
1 | #!/usr/bin/perl | ||
2 | |||
3 | # Copyright 2003-2004 Edward Rudd | ||
4 | # | ||
5 | # Licensed under the Apache License, Version 2.0 (the "License"); | ||
6 | # you may not use this file except in compliance with the License. | ||
7 | # You may obtain a copy of the License at | ||
8 | # | ||
9 | # http://www.apache.org/licenses/LICENSE-2.0 | ||
10 | # | ||
11 | # Unless required by applicable law or agreed to in writing, software | ||
12 | # distributed under the License is distributed on an "AS IS" BASIS, | ||
13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
14 | # See the License for the specific language governing permissions and | ||
15 | # limitations under the License. | ||
16 | |||
17 | use strict; | ||
18 | |||
19 | opendir(MYDIR, ".") or die "Unable to open directory"; | ||
20 | print "Building TODO file for source directory\n"; | ||
21 | |||
22 | open ( TODOFILE, "TODO.in"); | ||
23 | my $todo_header = do { local $/; <TODOFILE> }; | ||
24 | close (TODOFILE); | ||
25 | open (TODOFILE, "> TODO"); | ||
26 | print TODOFILE $todo_header; | ||
27 | print "Parsing..."; | ||
28 | while (my $entry = readdir(MYDIR)) { | ||
29 | next if (!($entry =~ /\.[ch]$/)); | ||
30 | print "$entry..."; | ||
31 | open(DAFILE, $entry) or die "Unable to open file"; | ||
32 | my $linenumber = 0; | ||
33 | while (my $line = <DAFILE>) { | ||
34 | $linenumber ++; | ||
35 | next if (!($line =~ /\/\* TODO: (.*)\*\//)); | ||
36 | print TODOFILE $entry.":".$linenumber.": ".$1."\n"; | ||
37 | } | ||
38 | close(DAFILE); | ||
39 | } | ||
40 | print "\n"; | ||
41 | closedir(MYDIR); | ||