1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
- library loader
- make a module loader
- string library and portability layer
- snprintf:
- Solaris 8, linking trouble with _eprintf and ilbstdc++
(the real problem is we use the g++ linker call for
pure c libraries, not really good) => de-C++-ify the
makefile system
- find solution for char *, TCHAR unicode and friends
- threading
- handle detached and joinable threads correctly on Windows
- add conditional variables (thread + mutex + conditional
will suffice for now)
- core porting
- PATH_MAX defined in a hard way or fetched from limits.h, not
good, add probing for fpathconf and friends and test on
all platforms again
- gettext and libintl: don't make platform flags for this, check library version
and set things according to 0.17, 0.16.3 etc., but anyway, the library is
a little bit broken in older versions
- localization of gengetopt generated code? ok, it's just an example
(testd), but we should have an idea about this, maybe extend gengetopt?
- see discussions about 'gettext' in 'getgetopt-user' mailing list
- see HelenOS comment on getopt in libc: Interesting internationalization | Echoreply.txt
- have a look at alternatives:
- popt is localized
- argtable is not, but is very simple
- also gengetopt has a stub getopt/getopt_long which can be i18n-ized
- merging of mc files (we want to export only the MC file so it can
be merged)
- daemon
- check against things done in other libraries
- POCO ServiceApplication
- libdaemon
- do a security survey
- block signals around atomar pipe reads and writes
- have a good look at the openradius server, there
seem to be important points there to handle in a
daemon
- OpenBSD 4.2 croaks about C++ style gengetopt prototypes
- logger
- rewrite and clean up, make logging channels, make logging re-entrant
(error in one channel should be logged on all other available channels)
- local localized error handling (GetLastError and strerror_r strings)
- Windows console logger:
- why is it always English? what settings influence the language choosen?
- Windows event logger
- audit event log types, especially the effects on syslog and the upper
abstraction layer
- replace the create_wolfmsg.pl with something more robust and not Perl
- make it possible to merge mc files (for appliation development)
- parameter list dilemma of typed one (classic C) %s, %d versus
positional one in Windows %1 %2 (this is a stub implementation for now)
=> requires a special snprintf which doesn't build one result string,
but results the mapped sub-strings, so we can pass them to
ReportEvent
- there is an Windows Event Log book around which is quite big, find
out if it's still available
- the Windows messages files are avaiable (where?), should the standard
messages be used? And for what?
- should we split the category and the message DLL? There also GUID
DLLs for resourcen, what can they be used for?
- Seen links with the actual event number in the event logger with the
possibility to send it directly to a bug system (HTML form). This
would be great to have!
- makefiles
- GNU make
- currently we are following the "recursive makes considered harmfull" :-)
- distclean calls clean again recurively. This causes already deleted
dependencies to be regenerated
- do shared libraries properly
- add uninstall
- modularize more
- get platform.mk and shell in sync, make sure the user can set the
variables there manually if we wants to
- split things for different compilers and make them individually
handleable
- check out other makefile systems:
- ION-3
- openradius
- POCO
- problems:
- OpenBSD gmake: ../../makefiles/depend.mk:62: no file name for `-include'
- make -j test with missing testd, some dependencies are missing
- test target calls all target, this should not be necessary
- Windows:
- how to generate dependencies and include them in the NMAKE files?
- how to add the generation of a setup.exe or MSI?
- Porting
- the HAVE_XXX flags could produce a name clash with some autoconf'ed
software/library we will be using in production code. Rename to
WOLF_SYS_HAVE_XXX or similar
- feedback to the c99 snprintf guy, errors like:
- -1 instead of buffer size on boffer overflow
- extern errno in mutli-threaded code
- add a lot more tests
- %zd and similar pointers: make format macros like PRIdPTR which
get mapped to %ld. But what if snprintf could do a %zd and
fprintf not?
- Windows service
- option parsing on windows?
- have a generic message/po-file extractor, the perl script here is
an evil copy!
- handle pause/continue
- test long-duration startup and shutdown phases with checkpoint_hints
|