TAGs for comments in all icecast projects
I suggest to define the following tags in comments for more easy finding stuff that needs to be reviewed or handled in future release. Those tags should be added as part of the coding style guide to define some standard for the Icecast project and be used by all components handed by the project including but not limited to the Icecast server, Ices2 and the library subprojects. I'm unsure if/how it will match the stream directory subproject.
The following tags should be defined: Actions:
- REVIEW: ask for a review of this.
- REWRITE: ask for a rewrite of this section.
- TODO: ask for implementation of a feature.
- FIXME: ask correcting an implementation.
- REMOVE: remove a block or feature.
- DOCUMENT: documentation for this block or feature is missing, incomplete or wrong and needs update. Conditions:
- [BEFORE|AFTER|IN] RELEASE $version: This is relevant to release $version. $version can also be NEXT.
- [BEFORE|AFTER|IN] YEAR $yyyy: This is relevant to (4-digit) year $yyyy Extra Tags:
- IMPORTANT: This is an important problem.
- SECURITY: This is security critical.
- LEAK: This leaks some resource (memory, file descriptors, ...).
Syntax:
/* [CONDITION[ CONDITION[...]]] [EXTRA TAGS] ACTION [#TICKET]: DESCRIPTION
* [LONG DESCRIPTION]
*/
Examples:
/* BEFORE RELEASE 2.5.3 REVIEW #1234: Should we convert A to B?
* A is according to standard REF0. This standard was superseded by
* standard REF1 which could be implemented with option B.
* This may break early clients of standard REF0 not being aware of SOMETHING.
*/
/* IN YEAR 2022 REWRITE: Change copyright statement as license expires. */
/* LEAK FIXME #1234: Fix case object can not be added to queue. */
/* BEFORE RELEASE NEXT IMPORTANT SECURITY FIXME #1234: Do not expose passwords on authentication failure of backend server */
/* AFTER RELEASE 2.5.3 REMOVE: Remove support for icecast 1.x style SOURCE requests */