- fix incorrect parsing of multiple listen options (#7458)
- support PEM certificates for SSL
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21762
3c298f89-4303-0410-b956-
a3cf2f4a3e73
include $(TOPDIR)/rules.mk
PKG_NAME:=uhttpd
include $(TOPDIR)/rules.mk
PKG_NAME:=uhttpd
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
int uh_tls_ctx_cert(SSL_CTX *c, const char *file)
{
int uh_tls_ctx_cert(SSL_CTX *c, const char *file)
{
- return SSL_CTX_use_certificate_file(c, file, SSL_FILETYPE_ASN1);
+ int rv;
+
+ if( (rv = SSL_CTX_use_certificate_file(c, file, SSL_FILETYPE_PEM)) < 1 )
+ rv = SSL_CTX_use_certificate_file(c, file, SSL_FILETYPE_ASN1);
+
+ return rv;
}
int uh_tls_ctx_key(SSL_CTX *c, const char *file)
{
}
int uh_tls_ctx_key(SSL_CTX *c, const char *file)
{
- return SSL_CTX_use_PrivateKey_file(c, file, SSL_FILETYPE_ASN1);
+ int rv;
+
+ if( (rv = SSL_CTX_use_PrivateKey_file(c, file, SSL_FILETYPE_PEM)) < 1 )
+ rv = SSL_CTX_use_PrivateKey_file(c, file, SSL_FILETYPE_ASN1);
+
+ return rv;
}
void uh_tls_ctx_free(struct listener *l)
}
void uh_tls_ctx_free(struct listener *l)
&hints, (opt == 's'), &conf
);
&hints, (opt == 's'), &conf
);
+ memset(bind, 0, sizeof(bind));