[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3] xen: Add MISRA support to cppcheck make rule
Hi Stefano, > On 22 Jun 2022, at 01:00, Stefano Stabellini <sstabellini@xxxxxxxxxx> wrote: > > On Fri, 10 Jun 2022, Bertrand Marquis wrote: >> cppcheck MISRA addon can be used to check for non compliance to some of >> the MISRA standard rules. >> >> Add a CPPCHECK_MISRA variable that can be set to "y" using make command >> line to generate a cppcheck report including cppcheck misra checks. >> >> When MISRA checking is enabled, a file with a text description suitable >> for cppcheck misra addon is generated out of Xen documentation file >> which lists the rules followed by Xen (docs/misra/rules.rst). >> >> By default MISRA checking is turned off. >> >> While adding cppcheck-misra files to gitignore, also fix the missing / >> for htmlreport gitignore >> >> Signed-off-by: Bertrand Marquis <bertrand.marquis@xxxxxxx> > > Hi Bertrand, > > I tried this patch and I am a bit confused by the output > cppcheck-misra.txt file that I get (appended.) > > I can see that there are all the rules from docs/misra/rules.rst as it > should be together with the one line summary, but there are also a bunch > of additional rules not present in docs/misra/rules.rst. Starting from > Rule 1.1 all the way to Rule 21.21. Is the expected? To make cppcheck happy I need to give a text for all rules so the python script is generating a dummy sentence for not declared Misra rules to prevent cppcheck warnings. To make it simpler I just did it for 1 to 22 for main and sub numbers. So yes this is expected. Cheers Bertrand > > Cheers, > > Stefano > > > Appendix A Summary of guidelines > Rule 2.1 Required > All source files shall compile without any compilation errors (Misra rule 2.1) > Rule 4.7 Required > If a function returns error information then that error information shall be > tested (Misra rule 4.7) > Rule 4.10 Required > Precautions shall be taken in order to prevent the contents of a header file > being included more than once (Misra rule 4.10) > Rule 4.14 Required > The validity of values received from external sources shall be checked (Misra > rule 4.14) > Rule 1.3 Required > There shall be no occurrence of undefined or critical unspecified behaviour > (Misra rule 1.3) > Rule 3.2 Required > Line-splicing shall not be used in // comments (Misra rule 3.2) > Rule 5.1 Required > External identifiers shall be distinct (Misra rule 5.1) > Rule 5.2 Required > Identifiers declared in the same scope and name space shall be distinct > (Misra rule 5.2) > Rule 5.3 Required > An identifier declared in an inner scope shall not hide an identifier > declared in an outer scope (Misra rule 5.3) > Rule 5.4 Required > Macro identifiers shall be distinct (Misra rule 5.4) > Rule 6.2 Required > Single-bit named bit fields shall not be of a signed type (Misra rule 6.2) > Rule 8.1 Required > Types shall be explicitly specified (Misra rule 8.1) > Rule 8.4 Required > A compatible declaration shall be visible when an object or function with > external linkage is defined (Misra rule 8.4) > Rule 8.5 Required > An external object or function shall be declared once in one and only one > file (Misra rule 8.5) > Rule 8.6 Required > An identifier with external linkage shall have exactly one external > definition (Misra rule 8.6) > Rule 8.8 Required > The static storage class specifier shall be used in all declarations of > objects and functions that have internal linkage (Misra rule 8.8) > Rule 8.10 Required > An inline function shall be declared with the static storage class (Misra > rule 8.10) > Rule 8.12 Required > Within an enumerator list the value of an implicitly-specified enumeration > constant shall be unique (Misra rule 8.12) > Rule 9.1 Mandatory > The value of an object with automatic storage duration shall not be read > before it has been set (Misra rule 9.1) > Rule 9.2 Required > The initializer for an aggregate or union shall be enclosed in braces (Misra > rule 9.2) > Rule 13.6 Mandatory > The operand of the sizeof operator shall not contain any expression which has > potential side effects (Misra rule 13.6) > Rule 14.1 Required > A loop counter shall not have essentially floating type (Misra rule 14.1) > Rule 16.7 Required > A switch-expression shall not have essentially Boolean type (Misra rule 16.7) > Rule 17.3 Mandatory > A function shall not be declared implicitly (Misra rule 17.3) > Rule 17.4 Mandatory > All exit paths from a function with non-void return type shall have an > explicit return statement with an expression (Misra rule 17.4) > Rule 20.7 Required > Expressions resulting from the expansion of macro parameters shall be > enclosed in parentheses (Misra rule 20.7) > Rule 20.13 Required > A line whose first token is # shall be a valid preprocessing directive (Misra > rule 20.13) > Rule 20.14 Required > All #else #elif and #endif preprocessor directives shall reside in the same > file as the #if #ifdef or #ifndef directive to which they are related (Misra > rule 20.14) > Rule 1.1 > No description for rule 1.1 > Rule 1.2 > No description for rule 1.2 > Rule 1.4 > No description for rule 1.4 > Rule 1.5 > No description for rule 1.5 > Rule 1.6 > No description for rule 1.6 > Rule 1.7 > No description for rule 1.7 > Rule 1.8 > No description for rule 1.8 > Rule 1.9 > No description for rule 1.9 > Rule 1.10 > No description for rule 1.10 > Rule 1.11 > No description for rule 1.11 > Rule 1.12 > No description for rule 1.12 > Rule 1.13 > No description for rule 1.13 > Rule 1.14 > No description for rule 1.14 > Rule 1.15 > No description for rule 1.15 > Rule 1.16 > No description for rule 1.16 > Rule 1.17 > No description for rule 1.17 > Rule 1.18 > No description for rule 1.18 > Rule 1.19 > No description for rule 1.19 > Rule 1.20 > No description for rule 1.20 > Rule 1.21 > No description for rule 1.21 > Rule 2.2 > No description for rule 2.2 > Rule 2.3 > No description for rule 2.3 > Rule 2.4 > No description for rule 2.4 > Rule 2.5 > No description for rule 2.5 > Rule 2.6 > No description for rule 2.6 > Rule 2.7 > No description for rule 2.7 > Rule 2.8 > No description for rule 2.8 > Rule 2.9 > No description for rule 2.9 > Rule 2.10 > No description for rule 2.10 > Rule 2.11 > No description for rule 2.11 > Rule 2.12 > No description for rule 2.12 > Rule 2.13 > No description for rule 2.13 > Rule 2.14 > No description for rule 2.14 > Rule 2.15 > No description for rule 2.15 > Rule 2.16 > No description for rule 2.16 > Rule 2.17 > No description for rule 2.17 > Rule 2.18 > No description for rule 2.18 > Rule 2.19 > No description for rule 2.19 > Rule 2.20 > No description for rule 2.20 > Rule 2.21 > No description for rule 2.21 > Rule 3.1 > No description for rule 3.1 > Rule 3.3 > No description for rule 3.3 > Rule 3.4 > No description for rule 3.4 > Rule 3.5 > No description for rule 3.5 > Rule 3.6 > No description for rule 3.6 > Rule 3.7 > No description for rule 3.7 > Rule 3.8 > No description for rule 3.8 > Rule 3.9 > No description for rule 3.9 > Rule 3.10 > No description for rule 3.10 > Rule 3.11 > No description for rule 3.11 > Rule 3.12 > No description for rule 3.12 > Rule 3.13 > No description for rule 3.13 > Rule 3.14 > No description for rule 3.14 > Rule 3.15 > No description for rule 3.15 > Rule 3.16 > No description for rule 3.16 > Rule 3.17 > No description for rule 3.17 > Rule 3.18 > No description for rule 3.18 > Rule 3.19 > No description for rule 3.19 > Rule 3.20 > No description for rule 3.20 > Rule 3.21 > No description for rule 3.21 > Rule 4.1 > No description for rule 4.1 > Rule 4.2 > No description for rule 4.2 > Rule 4.3 > No description for rule 4.3 > Rule 4.4 > No description for rule 4.4 > Rule 4.5 > No description for rule 4.5 > Rule 4.6 > No description for rule 4.6 > Rule 4.8 > No description for rule 4.8 > Rule 4.9 > No description for rule 4.9 > Rule 4.11 > No description for rule 4.11 > Rule 4.12 > No description for rule 4.12 > Rule 4.13 > No description for rule 4.13 > Rule 4.15 > No description for rule 4.15 > Rule 4.16 > No description for rule 4.16 > Rule 4.17 > No description for rule 4.17 > Rule 4.18 > No description for rule 4.18 > Rule 4.19 > No description for rule 4.19 > Rule 4.20 > No description for rule 4.20 > Rule 4.21 > No description for rule 4.21 > Rule 5.5 > No description for rule 5.5 > Rule 5.6 > No description for rule 5.6 > Rule 5.7 > No description for rule 5.7 > Rule 5.8 > No description for rule 5.8 > Rule 5.9 > No description for rule 5.9 > Rule 5.10 > No description for rule 5.10 > Rule 5.11 > No description for rule 5.11 > Rule 5.12 > No description for rule 5.12 > Rule 5.13 > No description for rule 5.13 > Rule 5.14 > No description for rule 5.14 > Rule 5.15 > No description for rule 5.15 > Rule 5.16 > No description for rule 5.16 > Rule 5.17 > No description for rule 5.17 > Rule 5.18 > No description for rule 5.18 > Rule 5.19 > No description for rule 5.19 > Rule 5.20 > No description for rule 5.20 > Rule 5.21 > No description for rule 5.21 > Rule 6.1 > No description for rule 6.1 > Rule 6.3 > No description for rule 6.3 > Rule 6.4 > No description for rule 6.4 > Rule 6.5 > No description for rule 6.5 > Rule 6.6 > No description for rule 6.6 > Rule 6.7 > No description for rule 6.7 > Rule 6.8 > No description for rule 6.8 > Rule 6.9 > No description for rule 6.9 > Rule 6.10 > No description for rule 6.10 > Rule 6.11 > No description for rule 6.11 > Rule 6.12 > No description for rule 6.12 > Rule 6.13 > No description for rule 6.13 > Rule 6.14 > No description for rule 6.14 > Rule 6.15 > No description for rule 6.15 > Rule 6.16 > No description for rule 6.16 > Rule 6.17 > No description for rule 6.17 > Rule 6.18 > No description for rule 6.18 > Rule 6.19 > No description for rule 6.19 > Rule 6.20 > No description for rule 6.20 > Rule 6.21 > No description for rule 6.21 > Rule 7.1 > No description for rule 7.1 > Rule 7.2 > No description for rule 7.2 > Rule 7.3 > No description for rule 7.3 > Rule 7.4 > No description for rule 7.4 > Rule 7.5 > No description for rule 7.5 > Rule 7.6 > No description for rule 7.6 > Rule 7.7 > No description for rule 7.7 > Rule 7.8 > No description for rule 7.8 > Rule 7.9 > No description for rule 7.9 > Rule 7.10 > No description for rule 7.10 > Rule 7.11 > No description for rule 7.11 > Rule 7.12 > No description for rule 7.12 > Rule 7.13 > No description for rule 7.13 > Rule 7.14 > No description for rule 7.14 > Rule 7.15 > No description for rule 7.15 > Rule 7.16 > No description for rule 7.16 > Rule 7.17 > No description for rule 7.17 > Rule 7.18 > No description for rule 7.18 > Rule 7.19 > No description for rule 7.19 > Rule 7.20 > No description for rule 7.20 > Rule 7.21 > No description for rule 7.21 > Rule 8.2 > No description for rule 8.2 > Rule 8.3 > No description for rule 8.3 > Rule 8.7 > No description for rule 8.7 > Rule 8.9 > No description for rule 8.9 > Rule 8.11 > No description for rule 8.11 > Rule 8.13 > No description for rule 8.13 > Rule 8.14 > No description for rule 8.14 > Rule 8.15 > No description for rule 8.15 > Rule 8.16 > No description for rule 8.16 > Rule 8.17 > No description for rule 8.17 > Rule 8.18 > No description for rule 8.18 > Rule 8.19 > No description for rule 8.19 > Rule 8.20 > No description for rule 8.20 > Rule 8.21 > No description for rule 8.21 > Rule 9.3 > No description for rule 9.3 > Rule 9.4 > No description for rule 9.4 > Rule 9.5 > No description for rule 9.5 > Rule 9.6 > No description for rule 9.6 > Rule 9.7 > No description for rule 9.7 > Rule 9.8 > No description for rule 9.8 > Rule 9.9 > No description for rule 9.9 > Rule 9.10 > No description for rule 9.10 > Rule 9.11 > No description for rule 9.11 > Rule 9.12 > No description for rule 9.12 > Rule 9.13 > No description for rule 9.13 > Rule 9.14 > No description for rule 9.14 > Rule 9.15 > No description for rule 9.15 > Rule 9.16 > No description for rule 9.16 > Rule 9.17 > No description for rule 9.17 > Rule 9.18 > No description for rule 9.18 > Rule 9.19 > No description for rule 9.19 > Rule 9.20 > No description for rule 9.20 > Rule 9.21 > No description for rule 9.21 > Rule 10.1 > No description for rule 10.1 > Rule 10.2 > No description for rule 10.2 > Rule 10.3 > No description for rule 10.3 > Rule 10.4 > No description for rule 10.4 > Rule 10.5 > No description for rule 10.5 > Rule 10.6 > No description for rule 10.6 > Rule 10.7 > No description for rule 10.7 > Rule 10.8 > No description for rule 10.8 > Rule 10.9 > No description for rule 10.9 > Rule 10.10 > No description for rule 10.10 > Rule 10.11 > No description for rule 10.11 > Rule 10.12 > No description for rule 10.12 > Rule 10.13 > No description for rule 10.13 > Rule 10.14 > No description for rule 10.14 > Rule 10.15 > No description for rule 10.15 > Rule 10.16 > No description for rule 10.16 > Rule 10.17 > No description for rule 10.17 > Rule 10.18 > No description for rule 10.18 > Rule 10.19 > No description for rule 10.19 > Rule 10.20 > No description for rule 10.20 > Rule 10.21 > No description for rule 10.21 > Rule 11.1 > No description for rule 11.1 > Rule 11.2 > No description for rule 11.2 > Rule 11.3 > No description for rule 11.3 > Rule 11.4 > No description for rule 11.4 > Rule 11.5 > No description for rule 11.5 > Rule 11.6 > No description for rule 11.6 > Rule 11.7 > No description for rule 11.7 > Rule 11.8 > No description for rule 11.8 > Rule 11.9 > No description for rule 11.9 > Rule 11.10 > No description for rule 11.10 > Rule 11.11 > No description for rule 11.11 > Rule 11.12 > No description for rule 11.12 > Rule 11.13 > No description for rule 11.13 > Rule 11.14 > No description for rule 11.14 > Rule 11.15 > No description for rule 11.15 > Rule 11.16 > No description for rule 11.16 > Rule 11.17 > No description for rule 11.17 > Rule 11.18 > No description for rule 11.18 > Rule 11.19 > No description for rule 11.19 > Rule 11.20 > No description for rule 11.20 > Rule 11.21 > No description for rule 11.21 > Rule 12.1 > No description for rule 12.1 > Rule 12.2 > No description for rule 12.2 > Rule 12.3 > No description for rule 12.3 > Rule 12.4 > No description for rule 12.4 > Rule 12.5 > No description for rule 12.5 > Rule 12.6 > No description for rule 12.6 > Rule 12.7 > No description for rule 12.7 > Rule 12.8 > No description for rule 12.8 > Rule 12.9 > No description for rule 12.9 > Rule 12.10 > No description for rule 12.10 > Rule 12.11 > No description for rule 12.11 > Rule 12.12 > No description for rule 12.12 > Rule 12.13 > No description for rule 12.13 > Rule 12.14 > No description for rule 12.14 > Rule 12.15 > No description for rule 12.15 > Rule 12.16 > No description for rule 12.16 > Rule 12.17 > No description for rule 12.17 > Rule 12.18 > No description for rule 12.18 > Rule 12.19 > No description for rule 12.19 > Rule 12.20 > No description for rule 12.20 > Rule 12.21 > No description for rule 12.21 > Rule 13.1 > No description for rule 13.1 > Rule 13.2 > No description for rule 13.2 > Rule 13.3 > No description for rule 13.3 > Rule 13.4 > No description for rule 13.4 > Rule 13.5 > No description for rule 13.5 > Rule 13.7 > No description for rule 13.7 > Rule 13.8 > No description for rule 13.8 > Rule 13.9 > No description for rule 13.9 > Rule 13.10 > No description for rule 13.10 > Rule 13.11 > No description for rule 13.11 > Rule 13.12 > No description for rule 13.12 > Rule 13.13 > No description for rule 13.13 > Rule 13.14 > No description for rule 13.14 > Rule 13.15 > No description for rule 13.15 > Rule 13.16 > No description for rule 13.16 > Rule 13.17 > No description for rule 13.17 > Rule 13.18 > No description for rule 13.18 > Rule 13.19 > No description for rule 13.19 > Rule 13.20 > No description for rule 13.20 > Rule 13.21 > No description for rule 13.21 > Rule 14.2 > No description for rule 14.2 > Rule 14.3 > No description for rule 14.3 > Rule 14.4 > No description for rule 14.4 > Rule 14.5 > No description for rule 14.5 > Rule 14.6 > No description for rule 14.6 > Rule 14.7 > No description for rule 14.7 > Rule 14.8 > No description for rule 14.8 > Rule 14.9 > No description for rule 14.9 > Rule 14.10 > No description for rule 14.10 > Rule 14.11 > No description for rule 14.11 > Rule 14.12 > No description for rule 14.12 > Rule 14.13 > No description for rule 14.13 > Rule 14.14 > No description for rule 14.14 > Rule 14.15 > No description for rule 14.15 > Rule 14.16 > No description for rule 14.16 > Rule 14.17 > No description for rule 14.17 > Rule 14.18 > No description for rule 14.18 > Rule 14.19 > No description for rule 14.19 > Rule 14.20 > No description for rule 14.20 > Rule 14.21 > No description for rule 14.21 > Rule 15.1 > No description for rule 15.1 > Rule 15.2 > No description for rule 15.2 > Rule 15.3 > No description for rule 15.3 > Rule 15.4 > No description for rule 15.4 > Rule 15.5 > No description for rule 15.5 > Rule 15.6 > No description for rule 15.6 > Rule 15.7 > No description for rule 15.7 > Rule 15.8 > No description for rule 15.8 > Rule 15.9 > No description for rule 15.9 > Rule 15.10 > No description for rule 15.10 > Rule 15.11 > No description for rule 15.11 > Rule 15.12 > No description for rule 15.12 > Rule 15.13 > No description for rule 15.13 > Rule 15.14 > No description for rule 15.14 > Rule 15.15 > No description for rule 15.15 > Rule 15.16 > No description for rule 15.16 > Rule 15.17 > No description for rule 15.17 > Rule 15.18 > No description for rule 15.18 > Rule 15.19 > No description for rule 15.19 > Rule 15.20 > No description for rule 15.20 > Rule 15.21 > No description for rule 15.21 > Rule 16.1 > No description for rule 16.1 > Rule 16.2 > No description for rule 16.2 > Rule 16.3 > No description for rule 16.3 > Rule 16.4 > No description for rule 16.4 > Rule 16.5 > No description for rule 16.5 > Rule 16.6 > No description for rule 16.6 > Rule 16.8 > No description for rule 16.8 > Rule 16.9 > No description for rule 16.9 > Rule 16.10 > No description for rule 16.10 > Rule 16.11 > No description for rule 16.11 > Rule 16.12 > No description for rule 16.12 > Rule 16.13 > No description for rule 16.13 > Rule 16.14 > No description for rule 16.14 > Rule 16.15 > No description for rule 16.15 > Rule 16.16 > No description for rule 16.16 > Rule 16.17 > No description for rule 16.17 > Rule 16.18 > No description for rule 16.18 > Rule 16.19 > No description for rule 16.19 > Rule 16.20 > No description for rule 16.20 > Rule 16.21 > No description for rule 16.21 > Rule 17.1 > No description for rule 17.1 > Rule 17.2 > No description for rule 17.2 > Rule 17.5 > No description for rule 17.5 > Rule 17.6 > No description for rule 17.6 > Rule 17.7 > No description for rule 17.7 > Rule 17.8 > No description for rule 17.8 > Rule 17.9 > No description for rule 17.9 > Rule 17.10 > No description for rule 17.10 > Rule 17.11 > No description for rule 17.11 > Rule 17.12 > No description for rule 17.12 > Rule 17.13 > No description for rule 17.13 > Rule 17.14 > No description for rule 17.14 > Rule 17.15 > No description for rule 17.15 > Rule 17.16 > No description for rule 17.16 > Rule 17.17 > No description for rule 17.17 > Rule 17.18 > No description for rule 17.18 > Rule 17.19 > No description for rule 17.19 > Rule 17.20 > No description for rule 17.20 > Rule 17.21 > No description for rule 17.21 > Rule 18.1 > No description for rule 18.1 > Rule 18.2 > No description for rule 18.2 > Rule 18.3 > No description for rule 18.3 > Rule 18.4 > No description for rule 18.4 > Rule 18.5 > No description for rule 18.5 > Rule 18.6 > No description for rule 18.6 > Rule 18.7 > No description for rule 18.7 > Rule 18.8 > No description for rule 18.8 > Rule 18.9 > No description for rule 18.9 > Rule 18.10 > No description for rule 18.10 > Rule 18.11 > No description for rule 18.11 > Rule 18.12 > No description for rule 18.12 > Rule 18.13 > No description for rule 18.13 > Rule 18.14 > No description for rule 18.14 > Rule 18.15 > No description for rule 18.15 > Rule 18.16 > No description for rule 18.16 > Rule 18.17 > No description for rule 18.17 > Rule 18.18 > No description for rule 18.18 > Rule 18.19 > No description for rule 18.19 > Rule 18.20 > No description for rule 18.20 > Rule 18.21 > No description for rule 18.21 > Rule 19.1 > No description for rule 19.1 > Rule 19.2 > No description for rule 19.2 > Rule 19.3 > No description for rule 19.3 > Rule 19.4 > No description for rule 19.4 > Rule 19.5 > No description for rule 19.5 > Rule 19.6 > No description for rule 19.6 > Rule 19.7 > No description for rule 19.7 > Rule 19.8 > No description for rule 19.8 > Rule 19.9 > No description for rule 19.9 > Rule 19.10 > No description for rule 19.10 > Rule 19.11 > No description for rule 19.11 > Rule 19.12 > No description for rule 19.12 > Rule 19.13 > No description for rule 19.13 > Rule 19.14 > No description for rule 19.14 > Rule 19.15 > No description for rule 19.15 > Rule 19.16 > No description for rule 19.16 > Rule 19.17 > No description for rule 19.17 > Rule 19.18 > No description for rule 19.18 > Rule 19.19 > No description for rule 19.19 > Rule 19.20 > No description for rule 19.20 > Rule 19.21 > No description for rule 19.21 > Rule 20.1 > No description for rule 20.1 > Rule 20.2 > No description for rule 20.2 > Rule 20.3 > No description for rule 20.3 > Rule 20.4 > No description for rule 20.4 > Rule 20.5 > No description for rule 20.5 > Rule 20.6 > No description for rule 20.6 > Rule 20.8 > No description for rule 20.8 > Rule 20.9 > No description for rule 20.9 > Rule 20.10 > No description for rule 20.10 > Rule 20.11 > No description for rule 20.11 > Rule 20.12 > No description for rule 20.12 > Rule 20.15 > No description for rule 20.15 > Rule 20.16 > No description for rule 20.16 > Rule 20.17 > No description for rule 20.17 > Rule 20.18 > No description for rule 20.18 > Rule 20.19 > No description for rule 20.19 > Rule 20.20 > No description for rule 20.20 > Rule 20.21 > No description for rule 20.21 > Rule 21.1 > No description for rule 21.1 > Rule 21.2 > No description for rule 21.2 > Rule 21.3 > No description for rule 21.3 > Rule 21.4 > No description for rule 21.4 > Rule 21.5 > No description for rule 21.5 > Rule 21.6 > No description for rule 21.6 > Rule 21.7 > No description for rule 21.7 > Rule 21.8 > No description for rule 21.8 > Rule 21.9 > No description for rule 21.9 > Rule 21.10 > No description for rule 21.10 > Rule 21.11 > No description for rule 21.11 > Rule 21.12 > No description for rule 21.12 > Rule 21.13 > No description for rule 21.13 > Rule 21.14 > No description for rule 21.14 > Rule 21.15 > No description for rule 21.15 > Rule 21.16 > No description for rule 21.16 > Rule 21.17 > No description for rule 21.17 > Rule 21.18 > No description for rule 21.18 > Rule 21.19 > No description for rule 21.19 > Rule 21.20 > No description for rule 21.20 > Rule 21.21 > No description for rule 21.21 > Appendix B
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |