diff --git a/docs/html/_r_e_a_d_m_e_8md.html b/docs/html/_r_e_a_d_m_e_8md.html index 301d463..c78e9c5 100644 --- a/docs/html/_r_e_a_d_m_e_8md.html +++ b/docs/html/_r_e_a_d_m_e_8md.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_client_8cpp.html b/docs/html/_s_s_l_client_8cpp.html index 2717c69..c25e9a1 100644 --- a/docs/html/_s_s_l_client_8cpp.html +++ b/docs/html/_s_s_l_client_8cpp.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_client_8h.html b/docs/html/_s_s_l_client_8h.html index dc0f248..0292567 100644 --- a/docs/html/_s_s_l_client_8h.html +++ b/docs/html/_s_s_l_client_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_client_8h_source.html b/docs/html/_s_s_l_client_8h_source.html index a4e47ee..f7a521c 100644 --- a/docs/html/_s_s_l_client_8h_source.html +++ b/docs/html/_s_s_l_client_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
@@ -91,36 +91,36 @@ $(document).ready(function(){initNavTree('_s_s_l_client_8h_source.html','');});
SSLClient.h
-Go to the documentation of this file.
1 /* Copyright 2019 OSU OPEnS Lab
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy of this
4  * software and associated documentation files (the "Software"), to deal in the Software
5  * without restriction, including without limitation the rights to use, copy, modify,
6  * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
7  * permit persons to whom the Software is furnished to do so, subject to the following
8  * conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in all
11  * copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14  * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
15  * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
16  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
18  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19  */
20 
21 #include "Client.h"
22 #include "SSLSession.h"
23 #include "SSLClientParameters.h"
24 #include "SSLObj.h"
25 #include <vector>
26 
27 #ifndef SSLClient_H_
28 #define SSLClient_H_
29 
35 class SSLClient : public Client {
36 public:
45  enum Error {
46  SSL_OK = 0,
59  };
60 
67  enum DebugLevel {
69  SSL_NONE = 0,
71  SSL_ERROR = 1,
73  SSL_WARN = 2,
75  SSL_INFO = 3,
76  };
77 
95  explicit SSLClient( Client& client,
96  const br_x509_trust_anchor *trust_anchors,
97  const size_t trust_anchors_num,
98  const int analog_pin,
99  const size_t max_sessions = 1,
100  const DebugLevel debug = SSL_WARN);
101 
102  //========================================
103  //= Functions implemented in SSLClient.cpp
104  //========================================
105 
145  int connect(IPAddress ip, uint16_t port) override;
146 
183  int connect(const char *host, uint16_t port) override;
184 
208  size_t write(const uint8_t *buf, size_t size) override;
210  size_t write(uint8_t b) override { return write(&b, 1); }
211 
230  int available() override;
231 
253  int read(uint8_t *buf, size_t size) override;
258  int read() override { uint8_t read_val; return read(&read_val, 1) > 0 ? read_val : -1; };
259 
268  int peek() override;
269 
277  void flush() override;
278 
287  void stop() override;
288 
302  uint8_t connected() override;
303 
304  //========================================
305  //= Functions Not in the Client Interface
306  //========================================
307 
316  void setMutualAuthParams(const SSLClientParameters* params);
317 
332  SSLSession* getSession(const char* host);
333 
342  void removeSession(const char* host);
343 
349  size_t getSessionCount() const { return m_sessions.size(); }
350 
356  operator bool() { return connected() > 0; }
357 
359  Client& getClient() { return m_client; }
360 
361 private:
363  Client& get_arduino_client() { return m_client; }
364  const Client& get_arduino_client() const { return m_client; }
365 
367  bool m_soft_connected(const char* func_name);
369  int m_start_ssl(const char* host = nullptr, SSLSession* ssl_ses = nullptr);
371  int m_run_until(const unsigned target);
373  unsigned m_update_engine();
375  int m_get_session_index(const char* host) const;
376 
378  void m_print_prefix(const char* func_name, const DebugLevel level) const;
379 
381  void m_print_ssl_error(const int ssl_error, const DebugLevel level) const;
382 
384  void m_print_br_error(const unsigned br_error_code, const DebugLevel level) const;
385 
387  template<typename T>
388  void m_print(const T str, const char* func_name, const DebugLevel level) const {
389  // check the current debug level and serial status
390  if (level > m_debug || !Serial) return;
391  // print prefix
392  m_print_prefix(func_name, level);
393  // print the message
394  Serial.println(str);
395  }
396 
398  template<typename T>
399  void m_info(const T str, const char* func_name) const { m_print(str, func_name, SSL_INFO); }
400 
401  template<typename T>
402  void m_warn(const T str, const char* func_name) const { m_print(str, func_name, SSL_WARN); }
403 
404  template<typename T>
405  void m_error(const T str, const char* func_name) const { m_print(str, func_name, SSL_ERROR); }
406 
407  //============================================
408  //= Data Members
409  //============================================
410  // create a copy of the client
411  Client& m_client;
412  // also store an array of SSLSessions, so we can resume communication with multiple websites
413  std::vector<SSLSession> m_sessions;
414  // as well as the maximmum number of sessions we can store
415  const size_t m_max_sessions;
416  // store the pin to fetch an RNG see from
417  const int m_analog_pin;
418  // store whether to enable debug logging
419  const DebugLevel m_debug;
420  // store if we are connected in bearssl or not
421  bool m_is_connected;
422  // store the context values required for SSL
423  br_ssl_client_context m_sslctx;
424  br_x509_minimal_context m_x509ctx;
425  // use a mono-directional buffer by default to cut memory in half
426  // can expand to a bi-directional buffer with maximum of BR_SSL_BUFSIZE_BIDI
427  // or shrink to below BR_SSL_BUFSIZE_MONO, and bearSSL will adapt automatically
428  // simply edit this value to change the buffer size to the desired value
429  // additionally, we need to correct buffer size based off of how many sessions we decide to cache
430  // since SSL takes so much memory if we don't it will cause the stack and heap to collide
438  unsigned char m_iobuf[2048];
439  // store the index of where we are writing in the buffer
440  // so we can send our records all at once to prevent
441  // weird timing issues
442  size_t m_write_idx;
443 };
444 
445 #endif
uint8_t connected() override
Check if the device is connected.
Definition: SSLClient.cpp:255
+Go to the documentation of this file.
1 /* Copyright 2019 OSU OPEnS Lab
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy of this
4  * software and associated documentation files (the "Software"), to deal in the Software
5  * without restriction, including without limitation the rights to use, copy, modify,
6  * merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
7  * permit persons to whom the Software is furnished to do so, subject to the following
8  * conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in all
11  * copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
14  * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
15  * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
16  * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
17  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
18  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19  */
20 
21 #include "Client.h"
22 #include "SSLSession.h"
23 #include "SSLClientParameters.h"
24 #include "SSLObj.h"
25 #include <vector>
26 
27 #ifndef SSLClient_H_
28 #define SSLClient_H_
29 
35 class SSLClient : public Client {
36 public:
45  enum Error {
46  SSL_OK = 0,
59  };
60 
67  enum DebugLevel {
69  SSL_NONE = 0,
71  SSL_ERROR = 1,
73  SSL_WARN = 2,
75  SSL_INFO = 3,
76  };
77 
95  explicit SSLClient( Client& client,
96  const br_x509_trust_anchor *trust_anchors,
97  const size_t trust_anchors_num,
98  const int analog_pin,
99  const size_t max_sessions = 1,
100  const DebugLevel debug = SSL_WARN);
101 
102  //========================================
103  //= Functions implemented in SSLClient.cpp
104  //========================================
105 
145  int connect(IPAddress ip, uint16_t port) override;
146 
183  int connect(const char *host, uint16_t port) override;
184 
208  size_t write(const uint8_t *buf, size_t size) override;
210  size_t write(uint8_t b) override { return write(&b, 1); }
211 
230  int available() override;
231 
253  int read(uint8_t *buf, size_t size) override;
258  int read() override { uint8_t read_val; return read(&read_val, 1) > 0 ? read_val : -1; };
259 
268  int peek() override;
269 
277  void flush() override;
278 
287  void stop() override;
288 
302  uint8_t connected() override;
303 
304  //========================================
305  //= Functions Not in the Client Interface
306  //========================================
307 
316  void setMutualAuthParams(const SSLClientParameters* params);
317 
332  SSLSession* getSession(const char* host);
333 
342  void removeSession(const char* host);
343 
349  size_t getSessionCount() const { return m_sessions.size(); }
350 
356  operator bool() { return connected() > 0; }
357 
359  Client& getClient() { return m_client; }
360 
361 private:
363  Client& get_arduino_client() { return m_client; }
364  const Client& get_arduino_client() const { return m_client; }
365 
367  bool m_soft_connected(const char* func_name);
369  int m_start_ssl(const char* host = nullptr, SSLSession* ssl_ses = nullptr);
371  int m_run_until(const unsigned target);
373  unsigned m_update_engine();
375  int m_get_session_index(const char* host) const;
376 
378  void m_print_prefix(const char* func_name, const DebugLevel level) const;
379 
381  void m_print_ssl_error(const int ssl_error, const DebugLevel level) const;
382 
384  void m_print_br_error(const unsigned br_error_code, const DebugLevel level) const;
385 
387  template<typename T>
388  void m_print(const T str, const char* func_name, const DebugLevel level) const {
389  // check the current debug level and serial status
390  if (level > m_debug || !Serial) return;
391  // print prefix
392  m_print_prefix(func_name, level);
393  // print the message
394  Serial.println(str);
395  }
396 
398  template<typename T>
399  void m_info(const T str, const char* func_name) const { m_print(str, func_name, SSL_INFO); }
400 
401  template<typename T>
402  void m_warn(const T str, const char* func_name) const { m_print(str, func_name, SSL_WARN); }
403 
404  template<typename T>
405  void m_error(const T str, const char* func_name) const { m_print(str, func_name, SSL_ERROR); }
406 
407  //============================================
408  //= Data Members
409  //============================================
410  // create a reference the client
411  Client& m_client;
412  // also store an array of SSLSessions, so we can resume communication with multiple websites
413  std::vector<SSLSession> m_sessions;
414  // as well as the maximmum number of sessions we can store
415  const size_t m_max_sessions;
416  // store the pin to fetch an RNG see from
417  const int m_analog_pin;
418  // store whether to enable debug logging
419  const DebugLevel m_debug;
420  // store if we are connected in bearssl or not
421  bool m_is_connected;
422  // store the context values required for SSL
423  br_ssl_client_context m_sslctx;
424  br_x509_minimal_context m_x509ctx;
425  // use a mono-directional buffer by default to cut memory in half
426  // can expand to a bi-directional buffer with maximum of BR_SSL_BUFSIZE_BIDI
427  // or shrink to below BR_SSL_BUFSIZE_MONO, and bearSSL will adapt automatically
428  // simply edit this value to change the buffer size to the desired value
429  // additionally, we need to correct buffer size based off of how many sessions we decide to cache
430  // since SSL takes so much memory if we don't it will cause the stack and heap to collide
438  unsigned char m_iobuf[2048];
439  // store the index of where we are writing in the buffer
440  // so we can send our records all at once to prevent
441  // weird timing issues
442  size_t m_write_idx;
443 };
444 
445 #endif
uint8_t connected() override
Check if the device is connected.
Definition: SSLClient.cpp:254
Definition: SSLClient.h:58
This class stores values which allow SSLClient to save and resume SSL sessions.
Definition: SSLSession.h:51
Definition: SSLClient.h:48
Definition: SSLClient.h:75
Definition: SSLClient.h:54
SSLClient(Client &client, const br_x509_trust_anchor *trust_anchors, const size_t trust_anchors_num, const int analog_pin, const size_t max_sessions=1, const DebugLevel debug=SSL_WARN)
Initialize SSLClient with all of the prerequisites needed.
Definition: SSLClient.cpp:55
-
void flush() override
Force writing the buffered bytes from SSLClient::write to the network.
Definition: SSLClient.cpp:222
-
SSLSession * getSession(const char *host)
Gets a session reference corresponding to a host and IP, or a reference to a empty session if none ex...
Definition: SSLClient.cpp:286
+
void flush() override
Force writing the buffered bytes from SSLClient::write to the network.
Definition: SSLClient.cpp:221
+
SSLSession * getSession(const char *host)
Gets a session reference corresponding to a host and IP, or a reference to a empty session if none ex...
Definition: SSLClient.cpp:285
This struct stores data required for SSLClient to use mutual authentication.
Definition: SSLClientParameters.h:52
-
void setMutualAuthParams(const SSLClientParameters *params)
Add a client certificate and enable support for mutual auth.
Definition: SSLClient.cpp:310
-
int available() override
Returns the number of bytes available to read from the data that has been received and decrypted.
Definition: SSLClient.cpp:174
+
void setMutualAuthParams(const SSLClientParameters *params)
Add a client certificate and enable support for mutual auth.
Definition: SSLClient.cpp:309
+
int available() override
Returns the number of bytes available to read from the data that has been received and decrypted.
Definition: SSLClient.cpp:173
The main SSLClient class. Check out README.md for more info.
Definition: SSLClient.h:35
Definition: SSLClient.h:73
-
void stop() override
Close the connection.
Definition: SSLClient.cpp:228
+
void stop() override
Close the connection.
Definition: SSLClient.cpp:227
Definition: SSLClient.h:71
int connect(IPAddress ip, uint16_t port) override
Connect over SSL to a host specified by an IP address.
Definition: SSLClient.cpp:82
-
size_t write(const uint8_t *buf, size_t size) override
Write some bytes to the SSL connection.
Definition: SSLClient.cpp:131
+
size_t write(const uint8_t *buf, size_t size) override
Write some bytes to the SSL connection.
Definition: SSLClient.cpp:130
int read() override
Read a single byte, or -1 if none is available.
Definition: SSLClient.h:258
Error
Static constants defining the possible errors encountered.
Definition: SSLClient.h:45
Definition: SSLClient.h:52
DebugLevel
Level of verbosity used in logging for SSLClient.
Definition: SSLClient.h:67
size_t getSessionCount() const
Get the maximum number of SSL sessions that can be stored at once.
Definition: SSLClient.h:349
-
int peek() override
View the first byte of the buffer, without removing it from the SSLClient Buffer.
Definition: SSLClient.cpp:210
+
int peek() override
View the first byte of the buffer, without removing it from the SSLClient Buffer.
Definition: SSLClient.cpp:209
Definition: SSLClient.h:50
size_t write(uint8_t b) override
Definition: SSLClient.h:210
Client & getClient()
Returns a reference to the client object stored in this class. Take care not to break it.
Definition: SSLClient.h:359
-
void removeSession(const char *host)
Clear the session corresponding to a host and IP.
Definition: SSLClient.cpp:299
+
void removeSession(const char *host)
Clear the session corresponding to a host and IP.
Definition: SSLClient.cpp:298
Definition: SSLClient.h:69
Definition: SSLClient.h:46
diff --git a/docs/html/_s_s_l_client_parameters_8h.html b/docs/html/_s_s_l_client_parameters_8h.html index a7c5050..47a5896 100644 --- a/docs/html/_s_s_l_client_parameters_8h.html +++ b/docs/html/_s_s_l_client_parameters_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_client_parameters_8h_source.html b/docs/html/_s_s_l_client_parameters_8h_source.html index 262cf99..6dedaae 100644 --- a/docs/html/_s_s_l_client_parameters_8h_source.html +++ b/docs/html/_s_s_l_client_parameters_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_obj_8cpp.html b/docs/html/_s_s_l_obj_8cpp.html index 6a97a5e..87fdb40 100644 --- a/docs/html/_s_s_l_obj_8cpp.html +++ b/docs/html/_s_s_l_obj_8cpp.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_obj_8h.html b/docs/html/_s_s_l_obj_8h.html index 9024aa9..c788182 100644 --- a/docs/html/_s_s_l_obj_8h.html +++ b/docs/html/_s_s_l_obj_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_obj_8h_source.html b/docs/html/_s_s_l_obj_8h_source.html index b4a8442..b7f9b53 100644 --- a/docs/html/_s_s_l_obj_8h_source.html +++ b/docs/html/_s_s_l_obj_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_session_8h.html b/docs/html/_s_s_l_session_8h.html index 086efc4..17d678f 100644 --- a/docs/html/_s_s_l_session_8h.html +++ b/docs/html/_s_s_l_session_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_s_s_l_session_8h_source.html b/docs/html/_s_s_l_session_8h_source.html index d70c2ba..32ea911 100644 --- a/docs/html/_s_s_l_session_8h_source.html +++ b/docs/html/_s_s_l_session_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_t_l_s12__only__profile_8c.html b/docs/html/_t_l_s12__only__profile_8c.html index 0e42728..176afce 100644 --- a/docs/html/_t_l_s12__only__profile_8c.html +++ b/docs/html/_t_l_s12__only__profile_8c.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/_trust_anchors_8md.html b/docs/html/_trust_anchors_8md.html index a64bd86..3f11130 100644 --- a/docs/html/_trust_anchors_8md.html +++ b/docs/html/_trust_anchors_8md.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/annotated.html b/docs/html/annotated.html index cfc7655..04e5b27 100644 --- a/docs/html/annotated.html +++ b/docs/html/annotated.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/cert_8h.html b/docs/html/cert_8h.html index 88192ea..cb19e45 100644 --- a/docs/html/cert_8h.html +++ b/docs/html/cert_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/cert_8h_source.html b/docs/html/cert_8h_source.html index 6f4239c..caac9ef 100644 --- a/docs/html/cert_8h_source.html +++ b/docs/html/cert_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/class_s_s_l_client-members.html b/docs/html/class_s_s_l_client-members.html index 2927210..02df105 100644 --- a/docs/html/class_s_s_l_client-members.html +++ b/docs/html/class_s_s_l_client-members.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/class_s_s_l_client.html b/docs/html/class_s_s_l_client.html index 1e4fddb..62f1993 100644 --- a/docs/html/class_s_s_l_client.html +++ b/docs/html/class_s_s_l_client.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
@@ -111,13 +111,13 @@ Inheritance diagram for SSLClient:
Public Types enum  Error {
  SSL_OK = 0, -SSL_CLIENT_CONNECT_FAIL, -SSL_BR_CONNECT_FAIL, -SSL_CLIENT_WRTIE_ERROR, +SSL_CLIENT_CONNECT_FAIL = 2, +SSL_BR_CONNECT_FAIL = 3, +SSL_CLIENT_WRTIE_ERROR = 4,
-  SSL_BR_WRITE_ERROR, -SSL_INTERNAL_ERROR, -SSL_OUT_OF_MEMORY +  SSL_BR_WRITE_ERROR = 5, +SSL_INTERNAL_ERROR = 6, +SSL_OUT_OF_MEMORY = 7
}  Static constants defining the possible errors encountered. More...
diff --git a/docs/html/class_s_s_l_session-members.html b/docs/html/class_s_s_l_session-members.html index ca1bf32..1e878f3 100644 --- a/docs/html/class_s_s_l_session-members.html +++ b/docs/html/class_s_s_l_session-members.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/class_s_s_l_session.html b/docs/html/class_s_s_l_session.html index 79e8cca..454052a 100644 --- a/docs/html/class_s_s_l_session.html +++ b/docs/html/class_s_s_l_session.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/classes.html b/docs/html/classes.html index b944012..28e3204 100644 --- a/docs/html/classes.html +++ b/docs/html/classes.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/dir_386349f6a9bc1e2cd0767d257d5e5b91.html b/docs/html/dir_386349f6a9bc1e2cd0767d257d5e5b91.html index ad459b7..0a0a250 100644 --- a/docs/html/dir_386349f6a9bc1e2cd0767d257d5e5b91.html +++ b/docs/html/dir_386349f6a9bc1e2cd0767d257d5e5b91.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 97c64ed..b1509c0 100644 --- a/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/docs/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/dir_9c42dc81377249a918256dbb9cfb2167.html b/docs/html/dir_9c42dc81377249a918256dbb9cfb2167.html index fdd7d17..9cc7f6a 100644 --- a/docs/html/dir_9c42dc81377249a918256dbb9cfb2167.html +++ b/docs/html/dir_9c42dc81377249a918256dbb9cfb2167.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/dir_d28a4824dc47e487b107a5db32ef43c4.html b/docs/html/dir_d28a4824dc47e487b107a5db32ef43c4.html index 98fae67..a201518 100644 --- a/docs/html/dir_d28a4824dc47e487b107a5db32ef43c4.html +++ b/docs/html/dir_d28a4824dc47e487b107a5db32ef43c4.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/dir_dfc5a9f91fbfb9426c406a3f10131a54.html b/docs/html/dir_dfc5a9f91fbfb9426c406a3f10131a54.html index 544df56..f42bc8d 100644 --- a/docs/html/dir_dfc5a9f91fbfb9426c406a3f10131a54.html +++ b/docs/html/dir_dfc5a9f91fbfb9426c406a3f10131a54.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/ec__prime__fast__256_8c.html b/docs/html/ec__prime__fast__256_8c.html index 1dbbfeb..bb4d6f9 100644 --- a/docs/html/ec__prime__fast__256_8c.html +++ b/docs/html/ec__prime__fast__256_8c.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/files.html b/docs/html/files.html index 95ada10..d51797c 100644 --- a/docs/html/files.html +++ b/docs/html/files.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/functions.html b/docs/html/functions.html index cc1ba07..4e11d63 100644 --- a/docs/html/functions.html +++ b/docs/html/functions.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/functions_enum.html b/docs/html/functions_enum.html index d14bd09..a59822a 100644 --- a/docs/html/functions_enum.html +++ b/docs/html/functions_enum.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/functions_eval.html b/docs/html/functions_eval.html index 0ff75bc..77c9361 100644 --- a/docs/html/functions_eval.html +++ b/docs/html/functions_eval.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/functions_func.html b/docs/html/functions_func.html index 799ae11..d277946 100644 --- a/docs/html/functions_func.html +++ b/docs/html/functions_func.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/functions_vars.html b/docs/html/functions_vars.html index 5cc8e91..55e1d11 100644 --- a/docs/html/functions_vars.html +++ b/docs/html/functions_vars.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/globals.html b/docs/html/globals.html index b704556..fd21b44 100644 --- a/docs/html/globals.html +++ b/docs/html/globals.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/globals_defs.html b/docs/html/globals_defs.html index fef2962..bbdd3d3 100644 --- a/docs/html/globals_defs.html +++ b/docs/html/globals_defs.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/globals_func.html b/docs/html/globals_func.html index f23d91b..57f26c1 100644 --- a/docs/html/globals_func.html +++ b/docs/html/globals_func.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/globals_vars.html b/docs/html/globals_vars.html index 34445a7..e2e73c4 100644 --- a/docs/html/globals_vars.html +++ b/docs/html/globals_vars.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/hierarchy.html b/docs/html/hierarchy.html index f525e14..59aaf82 100644 --- a/docs/html/hierarchy.html +++ b/docs/html/hierarchy.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/index.html b/docs/html/index.html index 2f790ee..6a02e39 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/md__c_1__users__noah__documents__arduino_libraries__s_s_l_client__trust_anchors.html b/docs/html/md__c_1__users__noah__documents__arduino_libraries__s_s_l_client__trust_anchors.html index d307879..71718cb 100644 --- a/docs/html/md__c_1__users__noah__documents__arduino_libraries__s_s_l_client__trust_anchors.html +++ b/docs/html/md__c_1__users__noah__documents__arduino_libraries__s_s_l_client__trust_anchors.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/namespace_s_s_l_obj.html b/docs/html/namespace_s_s_l_obj.html index ea568a5..236cda0 100644 --- a/docs/html/namespace_s_s_l_obj.html +++ b/docs/html/namespace_s_s_l_obj.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/namespacemembers.html b/docs/html/namespacemembers.html index 193a83c..361e57e 100644 --- a/docs/html/namespacemembers.html +++ b/docs/html/namespacemembers.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/namespacemembers_func.html b/docs/html/namespacemembers_func.html index f0b8146..ba602f5 100644 --- a/docs/html/namespacemembers_func.html +++ b/docs/html/namespacemembers_func.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/namespaces.html b/docs/html/namespaces.html index 2f1ddb6..f7b1ebe 100644 --- a/docs/html/namespaces.html +++ b/docs/html/namespaces.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/pages.html b/docs/html/pages.html index 356a0fd..64f2340 100644 --- a/docs/html/pages.html +++ b/docs/html/pages.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/struct_s_s_l_client_parameters-members.html b/docs/html/struct_s_s_l_client_parameters-members.html index 7171d9f..1c4cb0f 100644 --- a/docs/html/struct_s_s_l_client_parameters-members.html +++ b/docs/html/struct_s_s_l_client_parameters-members.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/struct_s_s_l_client_parameters.html b/docs/html/struct_s_s_l_client_parameters.html index 47d8224..024c050 100644 --- a/docs/html/struct_s_s_l_client_parameters.html +++ b/docs/html/struct_s_s_l_client_parameters.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/structssl__pem__decode__state-members.html b/docs/html/structssl__pem__decode__state-members.html index 4ee8da1..108d3ce 100644 --- a/docs/html/structssl__pem__decode__state-members.html +++ b/docs/html/structssl__pem__decode__state-members.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/structssl__pem__decode__state.html b/docs/html/structssl__pem__decode__state.html index c314b41..9c58cb1 100644 --- a/docs/html/structssl__pem__decode__state.html +++ b/docs/html/structssl__pem__decode__state.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/time__macros_8h.html b/docs/html/time__macros_8h.html index e22bf32..68dcb80 100644 --- a/docs/html/time__macros_8h.html +++ b/docs/html/time__macros_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/time__macros_8h_source.html b/docs/html/time__macros_8h_source.html index 677a444..a5e2fa7 100644 --- a/docs/html/time__macros_8h_source.html +++ b/docs/html/time__macros_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/trust__anchors_8h.html b/docs/html/trust__anchors_8h.html index ef2751e..0df213d 100644 --- a/docs/html/trust__anchors_8h.html +++ b/docs/html/trust__anchors_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/trust__anchors_8h_source.html b/docs/html/trust__anchors_8h_source.html index e3690bc..2998bfc 100644 --- a/docs/html/trust__anchors_8h_source.html +++ b/docs/html/trust__anchors_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/trustanchors_8h.html b/docs/html/trustanchors_8h.html index 729f06c..958a976 100644 --- a/docs/html/trustanchors_8h.html +++ b/docs/html/trustanchors_8h.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/docs/html/trustanchors_8h_source.html b/docs/html/trustanchors_8h_source.html index 7d967ea..964016b 100644 --- a/docs/html/trustanchors_8h_source.html +++ b/docs/html/trustanchors_8h_source.html @@ -30,7 +30,7 @@
SSLClient -  v1.3.0 +  v1.4.2
Add TLS 1.2 functionality to any network library.
diff --git a/library.properties b/library.properties index 3f10399..90907dd 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=SSLClient -version=1.3.0 +version=1.4.2 author=Noah Koontz maintainer=OPEnS Lab sentence=Arduino library to add SSL functionality to any Client class