Skip to content

Commit 8d3401c

Browse files
authored
Merge pull request #337 from nasa/299-setup-code-formatter
299 setup code formatter
2 parents 48cc556 + a3f2e78 commit 8d3401c

File tree

101 files changed

+17484
-12385
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+17484
-12385
lines changed

.clang-format

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
---
2+
Language: Cpp
3+
AccessModifierOffset: -4
4+
AlignAfterOpenBracket: Align
5+
AlignConsecutiveAssignments: true
6+
AlignConsecutiveDeclarations: true
7+
AlignConsecutiveMacros: true
8+
AlignEscapedNewlines: Left
9+
AlignOperands: true
10+
AlignTrailingComments: true
11+
AllowAllParametersOfDeclarationOnNextLine: true
12+
AllowShortBlocksOnASingleLine: Empty
13+
AllowShortCaseLabelsOnASingleLine: false
14+
AllowShortFunctionsOnASingleLine: Empty
15+
AllowShortIfStatementsOnASingleLine: false
16+
AllowShortLoopsOnASingleLine: false
17+
AlwaysBreakAfterReturnType: None
18+
AlwaysBreakBeforeMultilineStrings: false
19+
BinPackArguments: true
20+
BinPackParameters: true
21+
BreakBeforeBinaryOperators: None
22+
BreakBeforeBraces: Allman
23+
BreakBeforeTernaryOperators: true
24+
BreakStringLiterals: true
25+
ColumnLimit: 120
26+
CommentPragmas: ''
27+
ContinuationIndentWidth: 4
28+
Cpp11BracedListStyle: true
29+
DerivePointerAlignment: false
30+
DisableFormat: false
31+
ExperimentalAutoDetectBinPacking: false
32+
ForEachMacros: []
33+
IncludeBlocks: Preserve
34+
IncludeCategories: []
35+
IncludeIsMainRegex: '$'
36+
IndentCaseLabels: true
37+
IndentPPDirectives: None
38+
IndentWidth: 4
39+
KeepEmptyLinesAtTheStartOfBlocks: true
40+
MacroBlockBegin: ''
41+
MacroBlockEnd: ''
42+
MaxEmptyLinesToKeep: 1
43+
PenaltyBreakAssignment: 2
44+
PenaltyBreakBeforeFirstCallParameter: 19
45+
PenaltyBreakComment: 300
46+
PenaltyBreakFirstLessLess: 120
47+
PenaltyBreakString: 1000
48+
PenaltyExcessCharacter: 1000000
49+
PenaltyReturnTypeOnItsOwnLine: 60
50+
PointerAlignment: Right
51+
ReflowComments: true
52+
SortIncludes: false
53+
SpaceAfterCStyleCast: false
54+
SpaceBeforeAssignmentOperators: true
55+
SpaceBeforeParens: ControlStatements
56+
SpaceInEmptyParentheses: false
57+
SpaceBeforeCpp11BracedList: true
58+
SpacesBeforeTrailingComments: 1
59+
SpacesInCStyleCastParentheses: false
60+
SpacesInParentheses: false
61+
SpacesInSquareBrackets: false
62+
Standard: c++11
63+
TabWidth: 8
64+
UseTab: Never

.github/workflows/cpp-linter.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: cpp-linter
2+
3+
on:
4+
pull_request:
5+
branches: [ main, dev ]
6+
7+
jobs:
8+
cpp-linter:
9+
permissions:
10+
pull-requests: write
11+
contents: write
12+
actions: write
13+
runs-on: ubuntu-latest
14+
steps:
15+
- uses: actions/checkout@v4
16+
- uses: cpp-linter/cpp-linter-action@v2
17+
id: linter
18+
with:
19+
style: 'file'
20+
files-changed-only: false
21+
verbosity: 'info'
22+
step-summary: 'true'
23+
no-lgtm: 'false'
24+
passive-reviews: 'true'
25+
ignore: 'test/include/utest.h'

include/crypto.h

Lines changed: 207 additions & 166 deletions
Large diffs are not rendered by default.

include/crypto_config.h

Lines changed: 98 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,13 @@
2121
// Debug Colors
2222
#ifdef DEBUG
2323
#define CRYPTO_DEBUG printf("%s:%s: %d", __FILE__, __FUNCTION__, __LINE__);
24-
#define KRED "\x1B[31m"
25-
#define KGRN "\x1B[32m"
26-
#define KYEL "\x1B[33m"
27-
#define KBLU "\x1B[34m"
28-
#define KMAG "\x1B[35m"
29-
#define KCYN "\x1B[36m"
30-
#define RESET "\033[0m"
24+
#define KRED "\x1B[31m"
25+
#define KGRN "\x1B[32m"
26+
#define KYEL "\x1B[33m"
27+
#define KBLU "\x1B[34m"
28+
#define KMAG "\x1B[35m"
29+
#define KCYN "\x1B[36m"
30+
#define RESET "\033[0m"
3131
#else
3232
#define CRYPTO_DEBUG
3333
#define KRED
@@ -45,8 +45,8 @@
4545
#define GVCID_MAN_PARAM_SIZE 250
4646

4747
// Max Frame Size
48-
#define TC_MAX_FRAME_SIZE 1024
49-
#define TM_MAX_FRAME_SIZE 1786
48+
#define TC_MAX_FRAME_SIZE 1024
49+
#define TM_MAX_FRAME_SIZE 1786
5050
#define AOS_MAX_FRAME_SIZE 1786
5151

5252
// Spacecraft Defines
@@ -61,173 +61,173 @@
6161

6262
// GVCID Defines
6363
#define NUM_GVCID 64
64-
#define TYPE_TC 0
65-
#define TYPE_MAP 1
66-
#define TYPE_TM 2
67-
#define TYPE_AOS 3
64+
#define TYPE_TC 0
65+
#define TYPE_MAP 1
66+
#define TYPE_TM 2
67+
#define TYPE_AOS 3
6868

6969
// Specific to Authentication
70-
#define SA_NONE 0
71-
#define SA_UNKEYED 1
72-
#define SA_KEYED 2
70+
#define SA_NONE 0
71+
#define SA_UNKEYED 1
72+
#define SA_KEYED 2
7373
#define SA_OPERATIONAL 3
7474
// SA State Transitions
7575
#define SA_CREATE 5
76-
#define SA_REKEY 6
77-
#define SA_START 7
78-
#define SA_STOP 2
76+
#define SA_REKEY 6
77+
#define SA_START 7
78+
#define SA_STOP 2
7979
#define SA_EXPIRE 1
8080
#define SA_DELETE 0
8181
// SA Additional Directives
82-
#define SA_STATUS 8
83-
#define SA_SETARSN 9
82+
#define SA_STATUS 8
83+
#define SA_SETARSN 9
8484
#define SA_SETARSNW 10
8585

8686
// Key State Defines
87-
#define KEY_PREACTIVE 0
88-
#define KEY_ACTIVE 1
87+
#define KEY_PREACTIVE 0
88+
#define KEY_ACTIVE 1
8989
#define KEY_DEACTIVATED 2
90-
#define KEY_DESTROYED 3
91-
#define KEY_CORRUPTED 4
90+
#define KEY_DESTROYED 3
91+
#define KEY_CORRUPTED 4
9292

9393
// Key Length Defines
9494
// ECS
95-
#define AES256_GCM_KEYLEN 32
95+
#define AES256_GCM_KEYLEN 32
9696
#define AES256_GCM_SIV_KEYLEN 32
97-
#define AES256_CBC_KEYLEN 32
98-
#define AES256_CCM_KEYLEN 32
97+
#define AES256_CBC_KEYLEN 32
98+
#define AES256_CCM_KEYLEN 32
9999
// ACS
100100
#define CMAC_AES256_KEYLEN 32
101101
#define HMAC_SHA256_KEYLEN 32
102102
#define HMAC_SHA512_KEYLEN 64
103103

104104
// SA Service Types
105-
#define SA_PLAINTEXT 0
106-
#define SA_AUTHENTICATION 1
107-
#define SA_ENCRYPTION 2
105+
#define SA_PLAINTEXT 0
106+
#define SA_AUTHENTICATION 1
107+
#define SA_ENCRYPTION 2
108108
#define SA_AUTHENTICATED_ENCRYPTION 3
109109

110110
// Generic Defines
111-
#define NUM_SA 64
112-
#define SPI_LEN 2 /* bytes */
113-
#define KEY_SIZE 512 /* bytes */
114-
#define KEY_ID_SIZE 8
115-
#define NUM_KEYS 256
116-
#define DISABLED 0
117-
#define ENABLED 1
118-
#define IV_SIZE 16 /* TM IV size bytes */
119-
#define IV_SIZE_TC 4 /* TC IV size bytes */
120-
#define REF_SIZE 250
121-
#define OCF_SIZE 4
122-
#define MAC_SIZE 16 /* bytes */
123-
#define FECF_SIZE 2
111+
#define NUM_SA 64
112+
#define SPI_LEN 2 /* bytes */
113+
#define KEY_SIZE 512 /* bytes */
114+
#define KEY_ID_SIZE 8
115+
#define NUM_KEYS 256
116+
#define DISABLED 0
117+
#define ENABLED 1
118+
#define IV_SIZE 16 /* TM IV size bytes */
119+
#define IV_SIZE_TC 4 /* TC IV size bytes */
120+
#define REF_SIZE 250
121+
#define OCF_SIZE 4
122+
#define MAC_SIZE 16 /* bytes */
123+
#define FECF_SIZE 2
124124
#define TC_SEGMENT_HDR_SIZE 1
125-
#define ECS_SIZE 4 /* bytes */
126-
#define ABM_SIZE 1786 /* bytes */
127-
#define ARSN_SIZE 20 /* total messages */
128-
#define ARSNW_SIZE 1 /* bytes */
129-
#define SN_SIZE 16 /* bytes */
130-
#define PAD_SIZE 32 /* bytes */
131-
#define CHALLENGE_SIZE 16 /* bytes */
132-
#define CHALLENGE_MAC_SIZE 16 /* bytes */
133-
#define BYTE_LEN 8 /* bits */
125+
#define ECS_SIZE 4 /* bytes */
126+
#define ABM_SIZE 1786 /* bytes */
127+
#define ARSN_SIZE 20 /* total messages */
128+
#define ARSNW_SIZE 1 /* bytes */
129+
#define SN_SIZE 16 /* bytes */
130+
#define PAD_SIZE 32 /* bytes */
131+
#define CHALLENGE_SIZE 16 /* bytes */
132+
#define CHALLENGE_MAC_SIZE 16 /* bytes */
133+
#define BYTE_LEN 8 /* bits */
134134

135135
// Monitoring and Control Defines
136136
#define EMV_SIZE 4 /* bytes */
137137
#define LOG_SIZE 50 /* packets */
138-
#define ST_OK 0x00
139-
#define ST_NOK 0xFF
138+
#define ST_OK 0x00
139+
#define ST_NOK 0xFF
140140

141141
// Protocol Data Unit (PDU)
142142
// PDU Type
143143
#define PDU_TYPE_COMMAND 0
144-
#define PDU_TYPE_REPLY 1
144+
#define PDU_TYPE_REPLY 1
145145
// PDU User Flag
146-
#define PDU_USER_FLAG_TRUE 1
146+
#define PDU_USER_FLAG_TRUE 1
147147
#define PDU_USER_FLAG_FALSE 0
148148

149149
// Procedure Identification (PID) - CCSDS Defined Commands
150150
// Service Group - Key Management
151-
#define SG_KEY_MGMT 0x00 // 0b00
152-
#define PID_OTAR 0x01 // 0b0001
153-
#define PID_KEY_ACTIVATION 0x02 // 0b0010
154-
#define PID_KEY_DEACTIVATION 0x03 //0b0011
151+
#define SG_KEY_MGMT 0x00 // 0b00
152+
#define PID_OTAR 0x01 // 0b0001
153+
#define PID_KEY_ACTIVATION 0x02 // 0b0010
154+
#define PID_KEY_DEACTIVATION 0x03 // 0b0011
155155
#define PID_KEY_VERIFICATION 0x04 // 0b0100
156-
#define PID_KEY_DESTRUCTION 0x06 // 0b0110
157-
#define PID_KEY_INVENTORY 0x07 // 0b0111
156+
#define PID_KEY_DESTRUCTION 0x06 // 0b0110
157+
#define PID_KEY_INVENTORY 0x07 // 0b0111
158158
// Service Group - Security Association Management
159-
#define SG_SA_MGMT 0x01 // 0b01
160-
#define PID_CREATE_SA 0x01 //0b0001
161-
#define PID_REKEY_SA 0x06 //0b0110
162-
#define PID_START_SA 0x0B //0b1011
163-
#define PID_STOP_SA 0x0E // 0b1110
159+
#define SG_SA_MGMT 0x01 // 0b01
160+
#define PID_CREATE_SA 0x01 // 0b0001
161+
#define PID_REKEY_SA 0x06 // 0b0110
162+
#define PID_START_SA 0x0B // 0b1011
163+
#define PID_STOP_SA 0x0E // 0b1110
164164
#define PID_EXPIRE_SA 0x09 // 0b1001
165165
#define PID_DELETE_SA 0x04 // 0b0100
166-
#define PID_SET_ARSN 0x0A //0b1010
166+
#define PID_SET_ARSN 0x0A // 0b1010
167167
#define PID_SET_ARSNW 0x05 // 0b0101
168168
#define PID_READ_ARSN 0x00 // 0b0000
169169
#define PID_SA_STATUS 0x0F // 0b1111
170170
// Service Group - Security Monitoring & Control
171171
#define SG_SEC_MON_CTRL 0x03 // 0b11
172-
#define PID_PING 0x01 // 0b0001
173-
#define PID_LOG_STATUS 0x02 //0b0010
174-
#define PID_DUMP_LOG 0x03 // 0b0011
175-
#define PID_ERASE_LOG 0x04 // 0b0100
176-
#define PID_SELF_TEST 0x05 // 0b0101
177-
#define PID_ALARM_FLAG 0x07 // 0b0111
172+
#define PID_PING 0x01 // 0b0001
173+
#define PID_LOG_STATUS 0x02 // 0b0010
174+
#define PID_DUMP_LOG 0x03 // 0b0011
175+
#define PID_ERASE_LOG 0x04 // 0b0100
176+
#define PID_SELF_TEST 0x05 // 0b0101
177+
#define PID_ALARM_FLAG 0x07 // 0b0111
178178

179179
// Procedure Identification (PID) - User Defined Commands
180180
#define PID_IDLE_FRAME_TRIGGER 0
181-
#define PID_TOGGLE_BAD_SPI 1
182-
#define PID_TOGGLE_BAD_IV 2
183-
#define PID_TOGGLE_BAD_MAC 3
184-
#define PID_TOGGLE_BAD_FECF 4
185-
#define PID_MODIFY_KEY 5
186-
#define PID_MODIFY_ACTIVE_TM 6
187-
#define PID_MODIFY_VCID 7
181+
#define PID_TOGGLE_BAD_SPI 1
182+
#define PID_TOGGLE_BAD_IV 2
183+
#define PID_TOGGLE_BAD_MAC 3
184+
#define PID_TOGGLE_BAD_FECF 4
185+
#define PID_MODIFY_KEY 5
186+
#define PID_MODIFY_ACTIVE_TM 6
187+
#define PID_MODIFY_VCID 7
188188

189189
// TC Defines
190-
#define TC_SH_SIZE 8 /* bits */
191-
#define TC_SN_SIZE 2
192-
#define TC_SN_WINDOW 10 /* +/- value */
190+
#define TC_SH_SIZE 8 /* bits */
191+
#define TC_SN_SIZE 2
192+
#define TC_SN_WINDOW 10 /* +/- value */
193193
#define TC_FRAME_DATA_SIZE 1019 /* bytes */ // 1024 - 5byte header
194-
#define TC_CADU_ASM_SIZE 4
194+
#define TC_CADU_ASM_SIZE 4
195195

196196
// CCSDS PUS Defines
197197
#define TLV_DATA_SIZE 494 /* bytes */
198198

199199
// TM Defines
200200
#define TM_FRAME_DATA_SIZE 1786 /* bytes */
201-
#define TM_FILL_SIZE 1145 /* bytes */
202-
#define TM_PAD_SIZE 2 /* bytes */
201+
#define TM_FILL_SIZE 1145 /* bytes */
202+
#define TM_PAD_SIZE 2 /* bytes */
203203

204204
// AOS Defines
205205
#define AOS_FRAME_DATA_SIZE 1786 /* bytes */
206-
#define AOS_FILL_SIZE 1145 /* bytes */
206+
#define AOS_FILL_SIZE 1145 /* bytes */
207207

208208
// SDLS Behavior Defines
209-
#define SDLS_KEYV_MAX_KEYS 21 /* keys */
210-
#define SDLS_IV_LEN 12 /* bytes */
211-
#define SDLS_KEYV_KEY_ID_LEN 2 /* bytes */
212-
#define SDLS_KEY_LEN 32 /* bytes */
209+
#define SDLS_KEYV_MAX_KEYS 21 /* keys */
210+
#define SDLS_IV_LEN 12 /* bytes */
211+
#define SDLS_KEYV_KEY_ID_LEN 2 /* bytes */
212+
#define SDLS_KEY_LEN 32 /* bytes */
213213

214214
// TC Behavior Defines
215-
#define TC_SDLS_EP_VCID \
215+
#define TC_SDLS_EP_VCID \
216216
4 // VCID which has SDLS PDUs (JPL uses VCIDs to determine TC type, there is no space packet layer with APIDs). Set
217217
// to -1 if uses SP APIDs.
218218

219219
// TM Behavior Defines
220220
#define TM_CADU_HAS_ASM 1 // Skip 0x1acffc1d at beginning of each frame
221221
// TM CADU based on ASM, currently only holds non-turbo ASM
222222
#ifdef TM_CADU_HAS_ASM
223-
#define TM_CADU_SIZE (TM_FRAME_DATA_SIZE + TC_CADU_ASM_SIZE)
223+
#define TM_CADU_SIZE (TM_FRAME_DATA_SIZE + TC_CADU_ASM_SIZE)
224224
#else
225-
#define TM_CADU_SIZE TM_FRAME_DATA_SIZE
225+
#define TM_CADU_SIZE TM_FRAME_DATA_SIZE
226226
#endif
227227

228228
// Logic Behavior Defines
229229
#define CRYPTO_FALSE 0
230-
#define CRYPTO_TRUE 1
230+
#define CRYPTO_TRUE 1
231231

232232
/*
233233
** SAVE FILE NAME/LOCATION
@@ -239,5 +239,4 @@
239239
*/
240240
#define TC_BLOCK_SIZE 16
241241

242-
243-
#endif //CRYPTO_CONFIG_H
242+
#endif // CRYPTO_CONFIG_H

0 commit comments

Comments
 (0)