git.fiddlerwoaroof.com
Browse code

Reformat

Ed Langley authored on 13/06/2017 21:33:52
Showing 14 changed files
... ...
@@ -72,3 +72,4 @@ PAM_EXTERN int pam_sm_setcred (pam_handle_t *pamh, int flags, int argc,
72 72
 {
73 73
     return dc.setcred (pam_request ( pamh, flags, argc, argv));
74 74
 }
75
+
... ...
@@ -44,7 +44,8 @@ installer init_installer()
44 44
     int code_digits = 6;
45 45
     totp_generator generator = totp_generator (time, code_digits);
46 46
     tokens tokens (tokens::create (fstreams, generator));
47
-    installer installer (installer::create (tokens, unistd, directory, generator));
47
+    installer installer (installer::create (tokens, unistd, directory,
48
+                                            generator));
48 49
 
49 50
     return installer;
50 51
 }
... ...
@@ -55,5 +56,7 @@ int main (int argc, char *argv[])
55 56
     class system system (init_system());
56 57
     installer tool (init_installer());
57 58
     auto generated_key_and_sample_token = tool.install_key();
58
-    std::cout << generated_key_and_sample_token.first << " " << generated_key_and_sample_token.second << std::endl;
59
+    std::cout << generated_key_and_sample_token.first << " " <<
60
+              generated_key_and_sample_token.second << std::endl;
59 61
 }
62
+
... ...
@@ -46,10 +46,10 @@ public:
46 46
 
47 47
         user user (found_user[0]);
48 48
 
49
-        std::string key_string = tokens_.ensure_key(user);
50
-        std::vector<uint8_t> key = base32().decode(key_string);
49
+        std::string key_string = tokens_.ensure_key (user);
50
+        std::vector<uint8_t> key = base32().decode (key_string);
51 51
         std::string decoded_key (key.begin(), key.end());
52
-        std::string token = generator_.generate_token(decoded_key);
52
+        std::string token = generator_.generate_token (decoded_key);
53 53
 
54 54
         // TODO: fix generator input
55 55
         return {key_string, token};
... ...
@@ -61,5 +61,7 @@ public:
61 61
 installer installer::create (const tokens &tokens, const unistd &unistd,
62 62
                              const directory &directory, const totp_generator &generator)
63 63
 {
64
-    return installer (std::make_shared<impl> (tokens, unistd, directory, generator));
64
+    return installer (std::make_shared<impl> (tokens, unistd, directory,
65
+                      generator));
65 66
 }
67
+
... ...
@@ -31,12 +31,14 @@ public:
31 31
         : key_ (key)
32 32
     {}
33 33
 
34
-    std::string token (const user &user) const override {
34
+    std::string token (const user &user) const override
35
+    {
35 36
         return key_;
36 37
     }
37 38
 
38
-    std::string ensure_key(const user &user) const override {
39
-        save(user, key_);
39
+    std::string ensure_key (const user &user) const override
40
+    {
41
+        save (user, key_);
40 42
         return key_;
41 43
     }
42 44
 
... ...
@@ -76,7 +78,7 @@ public:
76 78
         expected_token (expected_token)
77 79
     {}
78 80
 
79
-    std::string generate_token(const std::string &key) const override
81
+    std::string generate_token (const std::string &key) const override
80 82
     {
81 83
         return expected_token;
82 84
     }
... ...
@@ -88,7 +90,8 @@ private:
88 90
     std::string expected_user_name_;
89 91
     bool has_current_user_;
90 92
 public:
91
-    fake_directory (const std::string &expected_user_name, bool has_current_user = true) :
93
+    fake_directory (const std::string &expected_user_name,
94
+                    bool has_current_user = true) :
92 95
         expected_user_name_ (expected_user_name),
93 96
         has_current_user_ (has_current_user)
94 97
     {
... ...
@@ -106,9 +109,11 @@ public:
106 109
     std::vector<user> get_current_user() const override
107 110
     {
108 111
         std::vector<user> result = {};
112
+
109 113
         if (has_current_user_) {
110
-            result = {find_user(expected_user_name_)};
114
+            result = {find_user (expected_user_name_)};
111 115
         }
116
+
112 117
         return result;
113 118
     }
114 119
 };
... ...
@@ -119,11 +124,12 @@ int installs_token()
119 124
     std::string user_name ("user");
120 125
     std::string key ("thekey");
121 126
     std::string token ("thetoken");
122
-    auto  test_tokens = std::make_shared<mock_tokens>(key);
127
+    auto  test_tokens = std::make_shared<mock_tokens> (key);
123 128
     tokens tokens{test_tokens};
124 129
     unistd unistd (std::make_shared<fake_unistd> (user_name));
125 130
     directory directory (std::make_shared<fake_directory> (user_name));
126
-    std::shared_ptr<fake_totp_generator> fake_generator = std::make_shared<fake_totp_generator> (token);
131
+    std::shared_ptr<fake_totp_generator> fake_generator =
132
+        std::make_shared<fake_totp_generator> (token);
127 133
     totp_generator generator (fake_generator );
128 134
 
129 135
     installer installer = installer::create (tokens, unistd, directory,
... ...
@@ -131,7 +137,7 @@ int installs_token()
131 137
 
132 138
     //when
133 139
     std::string actual_key, actual_token;
134
-    std::tie(actual_key, actual_token) = installer.install_key();
140
+    std::tie (actual_key, actual_token) = installer.install_key();
135 141
 
136 142
     //then
137 143
     check (test_tokens->captured_token == key, "installed wrong key");
... ...
@@ -169,18 +175,19 @@ int unistd_does_not_find_user_name_empty_string_case()
169 175
     //given
170 176
     std::string user_name ("user");
171 177
     std::string key ("token");
172
-    auto  test_tokens = std::make_shared<mock_tokens>(key);
178
+    auto  test_tokens = std::make_shared<mock_tokens> (key);
173 179
     tokens tokens{test_tokens};
174 180
     unistd unistd (std::make_shared<fake_unistd> (""));
175 181
     directory directory (std::make_shared<fake_directory> (user_name, false));
176
-    totp_generator generator (totp_generator (std::make_shared<fake_totp_generator>()));
182
+    totp_generator generator (totp_generator (
183
+                                  std::make_shared<fake_totp_generator>()));
177 184
 
178 185
     installer installer = installer::create (tokens, unistd, directory,
179 186
                           generator);
180 187
 
181 188
     //when
182 189
     std::string actual_key, actual_token;
183
-    std::tie(actual_key, actual_token) = installer.install_key();
190
+    std::tie (actual_key, actual_token) = installer.install_key();
184 191
 
185 192
     //then
186 193
     // TODO: rethink this...
... ...
@@ -197,10 +204,11 @@ int directory_finds_no_user_info()
197 204
 {
198 205
     std::string user_name ("user");
199 206
     std::string key ("token");
200
-    auto  test_tokens = std::make_shared<mock_tokens>(key);
207
+    auto  test_tokens = std::make_shared<mock_tokens> (key);
201 208
     tokens tokens{test_tokens};
202 209
     unistd unistd (std::make_shared<fake_unistd> (user_name));
203
-    directory directory (std::make_shared<fake_directory> ("not the user", false));
210
+    directory directory (std::make_shared<fake_directory> ("not the user",
211
+                         false));
204 212
     totp_generator generator (std::make_shared<fake_totp_generator>());
205 213
 
206 214
     installer installer = installer::create (tokens, unistd, directory,
... ...
@@ -208,7 +216,7 @@ int directory_finds_no_user_info()
208 216
 
209 217
     //when
210 218
     std::string actual_key, actual_token;
211
-    std::tie(actual_key, actual_token) = installer.install_key();
219
+    std::tie (actual_key, actual_token) = installer.install_key();
212 220
 
213 221
     //then
214 222
     check (test_tokens->captured_token == "", "installed wrong key");
... ...
@@ -230,3 +238,4 @@ int main (int argc, char *argv[])
230 238
 {
231 239
     return !run_tests();
232 240
 }
241
+
... ...
@@ -55,3 +55,4 @@ public:
55 55
 template class std::shared_ptr<unistd_ifc>;
56 56
 
57 57
 #endif
58
+
... ...
@@ -30,72 +30,78 @@ private:
30 30
     totp_generator generator_;
31 31
 public:
32 32
     tokens_impl (const fstreams &fstreams, const totp_generator generator) :
33
-        fstreams_ (fstreams), generator_(generator) {}
33
+        fstreams_ (fstreams), generator_ (generator) {}
34 34
     std::string token (const user &user) const override
35 35
     {
36 36
         // Get key
37
-        std::string line = read_key(user);
37
+        std::string line = read_key (user);
38
+
38 39
         if (line == "") {
39 40
             return "";
40 41
         }
41 42
 
42 43
         base32 codec;
43
-        std::vector<uint8_t> key = codec.decode(line);
44
+        std::vector<uint8_t> key = codec.decode (line);
44 45
 
45 46
         // TODO: generate the token
46 47
         return generator_.generate_token (std::string (key.begin(), key.end()));
47 48
     }
48 49
 
49 50
 private:
50
-    std::string get_key_path(const user &user) const {
51
+    std::string get_key_path (const user &user) const
52
+    {
51 53
         return user.home_directory() + "/.dual_control";
52 54
     }
53 55
 
54
-    bool key_exists (const user &user) const {
56
+    bool key_exists (const user &user) const
57
+    {
55 58
         // check if file exists
56
-        std::string file_path = get_key_path(user);
57
-        fstreams::pstream stream (fstreams_.open_fstream(file_path));
59
+        std::string file_path = get_key_path (user);
60
+        fstreams::pstream stream (fstreams_.open_fstream (file_path));
58 61
         return stream->good();
59 62
     }
60 63
 
61
-    std::string generate_key() const {
64
+    std::string generate_key() const
65
+    {
62 66
         base32 codec;
63 67
         // get randomness
64 68
         std::vector<unsigned char> random_bytes (16);
65 69
         // base32encode it
66
-        std::string key = codec.encode(random_bytes);
70
+        std::string key = codec.encode (random_bytes);
67 71
         return "QWERQWERQWERQWER";
68 72
     }
69 73
 
70
-    std::string read_key (const user &user) const {
71
-        std::string file_path = get_key_path(user);
74
+    std::string read_key (const user &user) const
75
+    {
76
+        std::string file_path = get_key_path (user);
72 77
         fstreams::pstream stream (fstreams_.open_fstream (file_path));
73 78
 
74 79
         // TODO: ignore newlines
75
-        std::vector<char> line_v(16);
76
-        stream->read(line_v.data(), line_v.size());
80
+        std::vector<char> line_v (16);
81
+        stream->read (line_v.data(), line_v.size());
77 82
 
78 83
         if (stream->fail()) {
79 84
             return "";
80 85
         }
81 86
 
82
-        std::string line(line_v.begin(), line_v.end());
87
+        std::string line (line_v.begin(), line_v.end());
83 88
         return line;
84 89
     }
85 90
 public:
86
-    std::string ensure_key (const user &user) const override {
87
-        if (!key_exists(user)) {
91
+    std::string ensure_key (const user &user) const override
92
+    {
93
+        if (!key_exists (user)) {
88 94
             std::string key = generate_key();
89
-            save(user, key);
95
+            save (user, key);
90 96
             return key;
91 97
         } else {
92
-            return read_key(user);
98
+            return read_key (user);
93 99
         }
94 100
     }
95 101
 
96 102
     void save (const user &user, const std::string &token) const override
97 103
     {
98
-        std::string file_path = get_key_path(user);
104
+        std::string file_path = get_key_path (user);
99 105
         fstreams::postream stream (fstreams_.open_ofstream (file_path,
100 106
                                    std::ios_base::trunc));
101 107
         *stream << token << std::endl;
... ...
@@ -103,8 +109,10 @@ public:
103 109
 };
104 110
 }
105 111
 
106
-tokens tokens::create (const fstreams &fstreams, const totp_generator &generator)
112
+tokens tokens::create (const fstreams &fstreams,
113
+                       const totp_generator &generator)
107 114
 {
108 115
     return tokens (tokens::delegate
109 116
                    (new tokens_impl (fstreams, generator)));
110 117
 }
118
+
... ...
@@ -29,7 +29,10 @@ public:
29 29
     {
30 30
         return "";
31 31
     }
32
-    virtual std::string ensure_key (const user &user) const { return ""; };
32
+    virtual std::string ensure_key (const user &user) const
33
+    {
34
+        return "";
35
+    };
33 36
     virtual void save (const user &user, const std::string &token) const {}
34 37
 };
35 38
 
... ...
@@ -44,8 +47,9 @@ public:
44 47
         delegate_ (delegate) {}
45 48
     tokens() : tokens (
46 49
             delegate (new tokens_ifc)) {}
47
-    std::string ensure_key (const user &user) const {
48
-        return delegate_->ensure_key(user);
50
+    std::string ensure_key (const user &user) const
51
+    {
52
+        return delegate_->ensure_key (user);
49 53
     }
50 54
     std::string token (const user &user) const
51 55
     {
... ...
@@ -55,7 +59,9 @@ public:
55 59
     {
56 60
         return delegate_->save (user, token);
57 61
     }
58
-    static tokens create (const fstreams &fstreams, const totp_generator &generator);
62
+    static tokens create (const fstreams &fstreams,
63
+                          const totp_generator &generator);
59 64
 };
60 65
 
61 66
 #endif
67
+
... ...
@@ -92,7 +92,8 @@ public:
92 92
     fake_totp_generator (std::string expected_token = "<unspecified>") :
93 93
         expected_token (expected_token)
94 94
     {}
95
-    std::string generate_token (const std::string &key) const override {
95
+    std::string generate_token (const std::string &key) const override
96
+    {
96 97
         return expected_token;
97 98
     }
98 99
 };
... ...
@@ -105,8 +106,10 @@ int reads_from_the_right_file ()
105 106
     std::string token_file = home_directory + "/.dual_control";
106 107
     std::string token ("AAAAAAAAAAAAAAAA");
107 108
 
108
-    fstreams test_streams (fstreams::delegate (new fake_fstreams (token_file, token)));
109
-    totp_generator generator (totp_generator::delegate (new fake_totp_generator (token)));
109
+    fstreams test_streams (fstreams::delegate (new fake_fstreams (token_file,
110
+                           token)));
111
+    totp_generator generator (totp_generator::delegate (new
112
+                              fake_totp_generator (token)));
110 113
 
111 114
     //file_reader test_file_reader (file_reader::delegate (new fake_file_reader));
112 115
     user test_user (user::delegate (new fake_user (home_directory)));
... ...
@@ -128,7 +131,8 @@ int returns_empty_string_if_file_open_fail()
128 131
     std::string token_file = home_directory + "/.not_dual_control";
129 132
     fstreams test_streams (fstreams::delegate (new fake_fstreams (token_file,
130 133
                            "654321")));
131
-    totp_generator generator (totp_generator::delegate (new fake_totp_generator ()));
134
+    totp_generator generator (totp_generator::delegate (new
135
+                              fake_totp_generator ()));
132 136
 
133 137
     user test_user (user::delegate (new fake_user (home_directory)));
134 138
     tokens supplier (tokens::create (test_streams, generator));
... ...
@@ -150,8 +154,10 @@ int returns_empty_string_if_file_too_short()
150 154
     // we want a 40-byte key, so we need a 64-byte base32-encoded file.
151 155
     std::string token ("AAAAAAAAAAAAAAA");
152 156
 
153
-    fstreams test_streams (fstreams::delegate (new fake_fstreams (token_file, token)));
154
-    totp_generator generator (totp_generator::delegate (new fake_totp_generator (token)));
157
+    fstreams test_streams (fstreams::delegate (new fake_fstreams (token_file,
158
+                           token)));
159
+    totp_generator generator (totp_generator::delegate (new
160
+                              fake_totp_generator (token)));
155 161
 
156 162
     //file_reader test_file_reader (file_reader::delegate (new fake_file_reader));
157 163
     user test_user (user::delegate (new fake_user (home_directory)));
... ...
@@ -172,7 +178,8 @@ int writes_the_token ()
172 178
     user test_user (user::delegate (new fake_user (home_directory)));
173 179
     mock_write_fstreams *mockfs (new mock_write_fstreams);
174 180
     fstreams test_streams{fstreams::delegate (mockfs)};
175
-    totp_generator generator (totp_generator::delegate (new fake_totp_generator ()));
181
+    totp_generator generator (totp_generator::delegate (new
182
+                              fake_totp_generator ()));
176 183
     std::string token ("token");
177 184
     tokens tokens (tokens::create (test_streams, generator));
178 185
 
... ...
@@ -184,8 +191,10 @@ int writes_the_token ()
184 191
     temp << token << std::endl;
185 192
     std::string expected_written = temp.str();
186 193
     std::string expected_filename (home_directory + "/.dual_control");
187
-    check (mockfs->captured_filename() == expected_filename, "filename does not match");
188
-    check (mockfs->captured_written() == expected_written, "token does not match");
194
+    check (mockfs->captured_filename() == expected_filename,
195
+           "filename does not match");
196
+    check (mockfs->captured_written() == expected_written,
197
+           "token does not match");
189 198
     succeed();
190 199
 }
191 200
 
... ...
@@ -202,3 +211,4 @@ int main (int argc, char *argv[])
202 211
 {
203 212
     return !run_tests();
204 213
 }
214
+
... ...
@@ -56,7 +56,8 @@ public:
56 56
         return return_value;
57 57
     }
58 58
 
59
-    std::vector<user> get_current_user () const override {
59
+    std::vector<user> get_current_user () const override
60
+    {
60 61
         const char *c_user_name = unistd_.getlogin();
61 62
 
62 63
         if (c_user_name == nullptr) {
... ...
@@ -80,3 +81,4 @@ directory directory::create (unistd &unistd, pwd &pwd)
80 81
 {
81 82
     return directory (delegate (new directory_impl (unistd, pwd)));
82 83
 }
84
+
... ...
@@ -54,7 +54,8 @@ public:
54 54
     {
55 55
         return std::vector<user>();
56 56
     }
57
-    virtual std::vector<user> get_current_user () const {
57
+    virtual std::vector<user> get_current_user () const
58
+    {
58 59
         return {};
59 60
     };
60 61
 };
... ...
@@ -81,3 +82,4 @@ public:
81 82
 };
82 83
 
83 84
 #endif
85
+
... ...
@@ -79,7 +79,8 @@ private:
79 79
     const char *expected_username_;
80 80
     long int return_value_;
81 81
 public:
82
-    fake_unistd (int expected_sysconf_name, long int return_value = 0, const char *expected_username = "<unspecified>")
82
+    fake_unistd (int expected_sysconf_name, long int return_value = 0,
83
+                 const char *expected_username = "<unspecified>")
83 84
         : expected_sysconf_name_ (expected_sysconf_name),
84 85
           expected_username_ (expected_username),
85 86
           return_value_ (return_value) {}
... ...
@@ -91,7 +92,8 @@ public:
91 92
 
92 93
         return -1;
93 94
     }
94
-    const char * getlogin() const override{
95
+    const char *getlogin() const override
96
+    {
95 97
         return expected_username_;
96 98
     }
97 99
 };
... ...
@@ -167,8 +169,9 @@ int get_current_user_happy_path()
167 169
 {
168 170
     //given
169 171
     std::string user_name ("user");
170
-    pwd test_pwd(pwd::delegate (new fake_pwd (user_name)));
171
-    unistd test_unistd (unistd::delegate (new fake_unistd (_SC_GETPW_R_SIZE_MAX, 0, user_name.c_str())));
172
+    pwd test_pwd (pwd::delegate (new fake_pwd (user_name)));
173
+    unistd test_unistd (unistd::delegate (new fake_unistd (_SC_GETPW_R_SIZE_MAX,
174
+                                          0, user_name.c_str())));
172 175
     directory directory (directory::create (test_unistd, test_pwd));
173 176
 
174 177
     //when
... ...
@@ -176,15 +179,17 @@ int get_current_user_happy_path()
176 179
 
177 180
     //then
178 181
     check (!results.empty(), "user should have been found");
179
-    check (!(results[0].home_directory() == user_name), "user should have been found");
182
+    check (! (results[0].home_directory() == user_name),
183
+           "user should have been found");
180 184
     succeed();
181 185
 }
182 186
 
183 187
 int get_current_user_nullptr_path()
184 188
 {
185 189
     //given
186
-    pwd test_pwd(pwd::delegate (new fake_pwd ("<unspecified>")));
187
-    unistd test_unistd (unistd::delegate (new fake_unistd (_SC_GETPW_R_SIZE_MAX, 0, nullptr)));
190
+    pwd test_pwd (pwd::delegate (new fake_pwd ("<unspecified>")));
191
+    unistd test_unistd (unistd::delegate (new fake_unistd (_SC_GETPW_R_SIZE_MAX,
192
+                                          0, nullptr)));
188 193
     directory directory (directory::create (test_unistd, test_pwd));
189 194
 
190 195
     //when
... ...
@@ -210,3 +215,4 @@ int main (int argc, char **argv)
210 215
 {
211 216
     return !run_tests();
212 217
 }
218
+
... ...
@@ -61,3 +61,4 @@ validator validator::create (const directory &directory,
61 61
             tokens));
62 62
     return validator (delegate);
63 63
 }
64
+