Secure Coding Standard » History » Version 3
Andreas Steffen, 27.05.2013 17:37
1 | 1 | Andreas Steffen | h1. Secure Coding Standard |
---|---|---|---|
2 | 1 | Andreas Steffen | |
3 | 1 | Andreas Steffen | The strongSwan project adheres to the following rules recommended by the "CERT C Secure Coding Standard":https://www.securecoding.cert.org/confluence/display/seccode/CERT+C+Secure+Coding+Standard: |
4 | 1 | Andreas Steffen | |
5 | 1 | Andreas Steffen | h2. Preprocessor (PRE) |
6 | 1 | Andreas Steffen | |
7 | 2 | Andreas Steffen | h3. Full Adherence |
8 | 2 | Andreas Steffen | |
9 | 2 | Andreas Steffen | * "PRE03-C. Prefer typedefs to defines for encoding types":https://www.securecoding.cert.org/confluence/display/seccode/PRE03-C.+Prefer+typedefs+to+defines+for+encoding+types |
10 | 2 | Andreas Steffen | |
11 | 2 | Andreas Steffen | * "PRE04-C. Do not reuse a standard header file name":https://www.securecoding.cert.org/confluence/display/seccode/PRE04-C.+Do+not+reuse+a+standard+header+file+name |
12 | 2 | Andreas Steffen | |
13 | 3 | Andreas Steffen | * "PRE06-C. Enclose header files in an inclusion guard":https://www.securecoding.cert.org/confluence/display/seccode/PRE06-C.+Enclose+header+files+in+an+inclusion+guard |
14 | 3 | Andreas Steffen | |
15 | 3 | Andreas Steffen | * "PRE09-C. Do not replace secure functions with deprecated or obsolescent functions": |
16 | 2 | Andreas Steffen | h3. Partial Adherence |
17 | 2 | Andreas Steffen | |
18 | 2 | Andreas Steffen | * "PRE00-C. Prefer inline or static functions to function-like macros ":https://www.securecoding.cert.org/confluence/display/seccode/PRE00-C.+Prefer+inline+or+static+functions+to+function-like+macros |
19 | 2 | Andreas Steffen | |
20 | 2 | Andreas Steffen | * "PRE01-C. Use parentheses within macros around parameter names":https://www.securecoding.cert.org/confluence/display/seccode/PRE01-C.+Use+parentheses+within+macros+around+parameter+names |
21 | 2 | Andreas Steffen | |
22 | 2 | Andreas Steffen | * "PRE02-C. Macro replacement lists should be parenthesized":https://www.securecoding.cert.org/confluence/display/seccode/PRE02-C.+Macro+replacement+lists+should+be+parenthesized |
23 | 3 | Andreas Steffen | |
24 | 3 | Andreas Steffen | h3. Check Adherence |
25 | 3 | Andreas Steffen | |
26 | 3 | Andreas Steffen | * "PRE05-C. Understand macro replacement when concatenating tokens or performing stringification":https://www.securecoding.cert.org/confluence/display/seccode/PRE05-C.+Understand+macro+replacement+when+concatenating+tokens+or+performing+stringification |
27 | 3 | Andreas Steffen | |
28 | 3 | Andreas Steffen | * "PRE07-C. Avoid using repeated question marks":https://www.securecoding.cert.org/confluence/display/seccode/PRE07-C.+Avoid+using+repeated+question+marks |
29 | 3 | Andreas Steffen | |
30 | 3 | Andreas Steffen | h3. No Adherence |
31 | 3 | Andreas Steffen | |
32 | 3 | Andreas Steffen | * "PRE08-C. Guarantee that header file names are unique":https://www.securecoding.cert.org/confluence/display/seccode/PRE08-C.+Guarantee+that+header+file+names+are+unique |
33 | 2 | Andreas Steffen | |
34 | 1 | Andreas Steffen | h2. Declarations and Initialization (DCL) |
35 | 1 | Andreas Steffen | |
36 | 1 | Andreas Steffen | h2. Expressions (EXP) |
37 | 1 | Andreas Steffen | |
38 | 1 | Andreas Steffen | h2. Integers (INT) |
39 | 1 | Andreas Steffen | |
40 | 1 | Andreas Steffen | h2. Floating Point (FLP) |
41 | 1 | Andreas Steffen | |
42 | 1 | Andreas Steffen | h2. Arrays (ARR) |
43 | 1 | Andreas Steffen | |
44 | 1 | Andreas Steffen | h2. Characters and Strings (STR) |
45 | 1 | Andreas Steffen | |
46 | 1 | Andreas Steffen | h2. Memory Management (MEM) |
47 | 1 | Andreas Steffen | |
48 | 1 | Andreas Steffen | h2. Input Output (FIO) |
49 | 1 | Andreas Steffen | |
50 | 1 | Andreas Steffen | h2. Environment (ENV) |
51 | 1 | Andreas Steffen | |
52 | 1 | Andreas Steffen | h2. Signals (SIG) |
53 | 1 | Andreas Steffen | |
54 | 1 | Andreas Steffen | h2. Error Handling (ERR) |
55 | 1 | Andreas Steffen | |
56 | 1 | Andreas Steffen | h2. Application Programming Interfaces (API) |
57 | 1 | Andreas Steffen | |
58 | 1 | Andreas Steffen | h2. Concurrency (CON) |
59 | 1 | Andreas Steffen | |
60 | 1 | Andreas Steffen | h2. Miscellaneous (MSC) |
61 | 1 | Andreas Steffen | |
62 | 1 | Andreas Steffen | h2. POSIX (POS) |