projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
x86: disable crashlog, ioremap of RAM does not work properly here
[openwrt.git]
/
package
/
uhttpd
/
src
/
uhttpd.c
diff --git
a/package/uhttpd/src/uhttpd.c
b/package/uhttpd/src/uhttpd.c
index 50c3b32a94ff3e78c3f63b7d0a1fe6ca8c9b1bd6..3563d91d16ef92ad12ed55cae69b410cc5aa2e84 100644
(file)
--- a/
package/uhttpd/src/uhttpd.c
+++ b/
package/uhttpd/src/uhttpd.c
@@
-512,7
+512,22
@@
static void uh_mainloop(struct config *conf, fd_set serv_fds, int max_fd)
#ifdef HAVE_TLS
/* setup client tls context */
if( conf->tls )
#ifdef HAVE_TLS
/* setup client tls context */
if( conf->tls )
- conf->tls_accept(cl);
+ {
+ if( conf->tls_accept(cl) < 1 )
+ {
+ fprintf(stderr,
+ "tls_accept failed, "
+ "connection dropped\n");
+
+ /* close client socket */
+ close(new_fd);
+
+ /* remove from global client list */
+ uh_client_remove(new_fd);
+
+ continue;
+ }
+ }
#endif
/* add client socket to global fdset */
#endif
/* add client socket to global fdset */
@@
-621,7
+636,7
@@
static void uh_mainloop(struct config *conf, fd_set serv_fds, int max_fd)
}
#ifdef HAVE_TLS
}
#ifdef HAVE_TLS
-static inline uh_inittls(struct config *conf)
+static inline
int
uh_inittls(struct config *conf)
{
/* library handle */
void *lib;
{
/* library handle */
void *lib;