mirror of
https://github.com/cesanta/mongoose.git
synced 2026-10-16 10:39:49 +00:00
10 files changed
+49
-58
No files matched your search
+6
-6
@@ -15721,7 +15721,7 @@ static int mg_mbed_rng(void *ctx, unsigned char *buf, size_t len) {
|
||||
static bool mg_load_cert(struct mg_str str, mbedtls_x509_crt *p) {
|
||||
int rc;
|
||||
if (str.buf == NULL || str.buf[0] == '\0' || str.buf[0] == '*') return true;
|
||||
if (str.buf[0] == '-') str.len++; // PEM, include trailing NUL
|
||||
if (!MG_IS_DER(str.buf)) str.len++; // PEM, include trailing NUL
|
||||
if ((rc = mbedtls_x509_crt_parse(p, (uint8_t *) str.buf, str.len)) != 0) {
|
||||
MG_ERROR(("cert err %#x", -rc));
|
||||
return false;
|
||||
@@ -15732,7 +15732,7 @@ static bool mg_load_cert(struct mg_str str, mbedtls_x509_crt *p) {
|
||||
static bool mg_load_key(struct mg_str str, mbedtls_pk_context *p) {
|
||||
int rc;
|
||||
if (str.buf == NULL || str.buf[0] == '\0' || str.buf[0] == '*') return true;
|
||||
if (str.buf[0] == '-') str.len++; // PEM, include trailing NUL
|
||||
if (!MG_IS_DER(str.buf)) str.len++; // PEM, include trailing NUL
|
||||
if ((rc = mbedtls_pk_parse_key(p, (uint8_t *) str.buf, str.len, NULL,
|
||||
0 MG_MBEDTLS_RNG_GET)) != 0) {
|
||||
MG_ERROR(("key err %#x", -rc));
|
||||
@@ -16034,9 +16034,9 @@ static EVP_PKEY *load_key(struct mg_str s) {
|
||||
static X509 *load_cert(struct mg_str s) {
|
||||
BIO *bio = BIO_new_mem_buf(s.buf, (int) (long) s.len);
|
||||
X509 *cert = bio == NULL ? NULL
|
||||
: s.buf[0] == '-'
|
||||
? PEM_read_bio_X509(bio, NULL, NULL, NULL) // PEM
|
||||
: d2i_X509_bio(bio, NULL); // DER
|
||||
: MG_IS_DER(s.buf)
|
||||
? d2i_X509_bio(bio, NULL) // DER
|
||||
: PEM_read_bio_X509(bio, NULL, NULL, NULL); // PEM
|
||||
if (bio) BIO_free(bio);
|
||||
return cert;
|
||||
}
|
||||
@@ -16235,7 +16235,7 @@ size_t mg_tls_pending(struct mg_connection *c) {
|
||||
long mg_tls_recv(struct mg_connection *c, void *buf, size_t len) {
|
||||
struct mg_tls *tls = (struct mg_tls *) c->tls;
|
||||
int n = SSL_read(tls->ssl, buf, (int) len);
|
||||
if (!c->is_tls_hs && buf == NULL && n == 0) return 0; // TODO(): MIP
|
||||
if (!c->is_tls_hs && buf == NULL && n == 0) return 0; // TODO(): MIP
|
||||
if (n < 0 && mg_tls_err(c, tls, n) == 0) return MG_IO_WAIT;
|
||||
if (n <= 0) return MG_IO_ERR;
|
||||
return n;
|
||||
|
||||
+36
-35
@@ -1882,6 +1882,7 @@ void mg_tls_handshake(struct mg_connection *);
|
||||
// Private
|
||||
void mg_tls_ctx_init(struct mg_mgr *);
|
||||
void mg_tls_ctx_free(struct mg_mgr *);
|
||||
#define MG_IS_DER(buf) (((uint8_t *) (buf))[0] == 0x30) // DER begins with 0x30
|
||||
|
||||
// Low-level IO primives used by TLS layer
|
||||
enum { MG_IO_ERR = -1, MG_IO_WAIT = -2, MG_IO_RESET = -3 };
|
||||
@@ -3942,6 +3943,41 @@ struct mg_tcpip_driver_tms570_data {
|
||||
|
||||
|
||||
|
||||
#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_XMC7) && MG_ENABLE_DRIVER_XMC7
|
||||
|
||||
struct mg_tcpip_driver_xmc7_data {
|
||||
int mdc_cr; // Valid values: -1, 0, 1, 2, 3, 4, 5
|
||||
uint8_t phy_addr;
|
||||
};
|
||||
|
||||
#ifndef MG_TCPIP_PHY_ADDR
|
||||
#define MG_TCPIP_PHY_ADDR 0
|
||||
#endif
|
||||
|
||||
#ifndef MG_DRIVER_MDC_CR
|
||||
#define MG_DRIVER_MDC_CR 3
|
||||
#endif
|
||||
|
||||
#define MG_TCPIP_DRIVER_INIT(mgr) \
|
||||
do { \
|
||||
static struct mg_tcpip_driver_xmc7_data driver_data_; \
|
||||
static struct mg_tcpip_if mif_; \
|
||||
driver_data_.mdc_cr = MG_DRIVER_MDC_CR; \
|
||||
driver_data_.phy_addr = MG_TCPIP_PHY_ADDR; \
|
||||
mif_.ip = MG_TCPIP_IP; \
|
||||
mif_.mask = MG_TCPIP_MASK; \
|
||||
mif_.gw = MG_TCPIP_GW; \
|
||||
mif_.driver = &mg_tcpip_driver_xmc7; \
|
||||
mif_.driver_data = &driver_data_; \
|
||||
MG_SET_MAC_ADDRESS(mif_.mac); \
|
||||
mg_tcpip_init(mgr, &mif_); \
|
||||
MG_INFO(("Driver: xmc7, MAC: %M", mg_print_mac, mif_.mac)); \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_XMC) && MG_ENABLE_DRIVER_XMC
|
||||
|
||||
struct mg_tcpip_driver_xmc_data {
|
||||
@@ -3988,41 +4024,6 @@ struct mg_tcpip_driver_xmc_data {
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if MG_ENABLE_TCPIP && defined(MG_ENABLE_DRIVER_XMC7) && MG_ENABLE_DRIVER_XMC7
|
||||
|
||||
struct mg_tcpip_driver_xmc7_data {
|
||||
int mdc_cr; // Valid values: -1, 0, 1, 2, 3, 4, 5
|
||||
uint8_t phy_addr;
|
||||
};
|
||||
|
||||
#ifndef MG_TCPIP_PHY_ADDR
|
||||
#define MG_TCPIP_PHY_ADDR 0
|
||||
#endif
|
||||
|
||||
#ifndef MG_DRIVER_MDC_CR
|
||||
#define MG_DRIVER_MDC_CR 3
|
||||
#endif
|
||||
|
||||
#define MG_TCPIP_DRIVER_INIT(mgr) \
|
||||
do { \
|
||||
static struct mg_tcpip_driver_xmc7_data driver_data_; \
|
||||
static struct mg_tcpip_if mif_; \
|
||||
driver_data_.mdc_cr = MG_DRIVER_MDC_CR; \
|
||||
driver_data_.phy_addr = MG_TCPIP_PHY_ADDR; \
|
||||
mif_.ip = MG_TCPIP_IP; \
|
||||
mif_.mask = MG_TCPIP_MASK; \
|
||||
mif_.gw = MG_TCPIP_GW; \
|
||||
mif_.driver = &mg_tcpip_driver_xmc7; \
|
||||
mif_.driver_data = &driver_data_; \
|
||||
MG_SET_MAC_ADDRESS(mif_.mac); \
|
||||
mg_tcpip_init(mgr, &mif_); \
|
||||
MG_INFO(("Driver: xmc7, MAC: %M", mg_print_mac, mif_.mac)); \
|
||||
} while (0)
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -34,6 +34,7 @@ void mg_tls_handshake(struct mg_connection *);
|
||||
// Private
|
||||
void mg_tls_ctx_init(struct mg_mgr *);
|
||||
void mg_tls_ctx_free(struct mg_mgr *);
|
||||
#define MG_IS_DER(buf) (((uint8_t *) (buf))[0] == 0x30) // DER begins with 0x30
|
||||
|
||||
// Low-level IO primives used by TLS layer
|
||||
enum { MG_IO_ERR = -1, MG_IO_WAIT = -2, MG_IO_RESET = -3 };
|
||||
|
||||
+2
-2
@@ -32,7 +32,7 @@ static int mg_mbed_rng(void *ctx, unsigned char *buf, size_t len) {
|
||||
static bool mg_load_cert(struct mg_str str, mbedtls_x509_crt *p) {
|
||||
int rc;
|
||||
if (str.buf == NULL || str.buf[0] == '\0' || str.buf[0] == '*') return true;
|
||||
if (str.buf[0] == '-') str.len++; // PEM, include trailing NUL
|
||||
if (!MG_IS_DER(str.buf)) str.len++; // PEM, include trailing NUL
|
||||
if ((rc = mbedtls_x509_crt_parse(p, (uint8_t *) str.buf, str.len)) != 0) {
|
||||
MG_ERROR(("cert err %#x", -rc));
|
||||
return false;
|
||||
@@ -43,7 +43,7 @@ static bool mg_load_cert(struct mg_str str, mbedtls_x509_crt *p) {
|
||||
static bool mg_load_key(struct mg_str str, mbedtls_pk_context *p) {
|
||||
int rc;
|
||||
if (str.buf == NULL || str.buf[0] == '\0' || str.buf[0] == '*') return true;
|
||||
if (str.buf[0] == '-') str.len++; // PEM, include trailing NUL
|
||||
if (!MG_IS_DER(str.buf)) str.len++; // PEM, include trailing NUL
|
||||
if ((rc = mbedtls_pk_parse_key(p, (uint8_t *) str.buf, str.len, NULL,
|
||||
0 MG_MBEDTLS_RNG_GET)) != 0) {
|
||||
MG_ERROR(("key err %#x", -rc));
|
||||
|
||||
+4
-4
@@ -58,9 +58,9 @@ static EVP_PKEY *load_key(struct mg_str s) {
|
||||
static X509 *load_cert(struct mg_str s) {
|
||||
BIO *bio = BIO_new_mem_buf(s.buf, (int) (long) s.len);
|
||||
X509 *cert = bio == NULL ? NULL
|
||||
: s.buf[0] == '-'
|
||||
? PEM_read_bio_X509(bio, NULL, NULL, NULL) // PEM
|
||||
: d2i_X509_bio(bio, NULL); // DER
|
||||
: MG_IS_DER(s.buf)
|
||||
? d2i_X509_bio(bio, NULL) // DER
|
||||
: PEM_read_bio_X509(bio, NULL, NULL, NULL); // PEM
|
||||
if (bio) BIO_free(bio);
|
||||
return cert;
|
||||
}
|
||||
@@ -259,7 +259,7 @@ size_t mg_tls_pending(struct mg_connection *c) {
|
||||
long mg_tls_recv(struct mg_connection *c, void *buf, size_t len) {
|
||||
struct mg_tls *tls = (struct mg_tls *) c->tls;
|
||||
int n = SSL_read(tls->ssl, buf, (int) len);
|
||||
if (!c->is_tls_hs && buf == NULL && n == 0) return 0; // TODO(): MIP
|
||||
if (!c->is_tls_hs && buf == NULL && n == 0) return 0; // TODO(): MIP
|
||||
if (n < 0 && mg_tls_err(c, tls, n) == 0) return MG_IO_WAIT;
|
||||
if (n <= 0) return MG_IO_ERR;
|
||||
return n;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
- Make sure your PEM file starts with a dash -
|
||||
|
||||
|
||||
Issuer: C=US, O=Internet Security Research Group, CN=ISRG Root X1
|
||||
Not Before: Mar 13 00:00:00 2024 GMT
|
||||
Not After : Mar 12 23:59:59 2027 GMT
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
- Make sure your PEM file starts with a dash -
|
||||
|
||||
|
||||
1 s:C=US, O=Let's Encrypt, CN=E8
|
||||
i:C=US, O=Internet Security Research Group, CN=ISRG Root X1
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
- Make sure your PEM file starts with a dash -
|
||||
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
- Make sure your PEM file starts with a dash -
|
||||
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
- Make sure your PEM file starts with a dash -
|
||||
|
||||
Certificate:
|
||||
Data:
|
||||
Version: 3 (0x2)
|
||||
|
||||
Reference in new issue
Block a user