Tasks To Be Done
This page accumulates the tasks which need to be done in Squid but are too minor to require a feature write-up on their own.
Feel free to jump in and try any of these tasks. Most can be done in small steps. Any contributions are welcome.
Incremental Tasks:
Tasks in this section need to be done in a rough order to make the changes easy. These may look large in full, but any small incremental part you can do is a lot of help. Check with squid-dev mailing list to see what we are up to and how you can assist the move forward on these.
- Document the source code with Doxygen format
- src/Store.* and related
- src/comm.* and related
- src/DelayPools.* and related
- Migration to smart Pointer framework
update a HttpRequest raw pointer to a HttpRequest::Pointer. Including all code performing locking on it
update a HttpReply raw pointer to a HttpReply::Pointer. Including all code performing locking on it
update a HttpMsg raw pointer to a HttpMsg::Pointer. Including all code performing locking on it
update a CBDATA raw pointer to a CbcPointer. Including all code performing validation tests and locking on it.
- Migration to the STUB.h framework
- update existing stub_ files to use src/tests/STUB.h
- create a src/tests/stub_libX.cc for each convenience library API using src/tests/STUB.h
- find unit tests which can be linked to the stub instead of the library and update the makefiles
- find unit tests with unnecessary linkages and remove (mostly in src/Makefile.am)
- Add unit tests for each class, API method and function already in existence to improve code quality and speedup future testing.
- src/acl/*
- src/ip/*
- Removing useless includes.
- Pick a system .h listed in compat/types.h and drop all other places with #include by src/* and includes/* files.
- going through each .h file and minimizing the other .h it includes, using class pre-defines where possible. (This is being done during Features/SourceLayout somewhat so contact squid-dev before attempting).
- Check external Copyrights are up-to-date in CREDITS
- Go through the helper/* files and check ~/CREDITS contains one copy of each copyright for any files with header-copyright present.
- do the above for each lib/* and lib/libTrie file
- highlight any non-GPLv2 compatible copyrights found to squid-dev.
Small Tasks
Small, but nagging annoyances. These might be done already if this page is not updated regularly. Check with squid-dev to see if its already done.
Migrate Feature requests from bugzilla to wiki pages. (FrancescoChemolli, mostly done. Needs second round after Apr 20th, 2009)
- Fix kqueue bugs once and for all (ie, delete events for closed FDs)
- Language and Translation
Verify or Update one of the non-modified translated Squid error pages.
Add a new language translation for Squid error pages.
- log the language dialect(s) going through your Squid (logformat languages %{Accept-Language} ) and help supply the translations team (via squid-dev)
- Cleanup Squid component macros that enable/disable components:
- make all the naming convention USE_* (with USE_SQUID_* for those which may clash with OS defines).
- Fix Squid-3 MD5 layer:
- migrate MD5 code to libcompat
- ensure correct use of system libraries when such can be found
- ensure correct failover to squid code when such are missing
- port --without-system-md5 configure option to force the above
- Helper and Tool Manuals
- Write a manual/man(8) page for a helpers/ program that does not have one.
- Update the existing README.txt and other help docs into proper manuals.
- Benchmark documentation.
- How fast can each helper run?
- For helpers with multiple backends (ie DB), how do they compare?
