Fossil

Changes On Branch fix-ssl-crash
Login

Changes On Branch fix-ssl-crash

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch fix-ssl-crash Excluding Merge-Ins

This is equivalent to a diff from ea66927c0c to 616de1fef2

2020-02-06
15:32
When using HTTPS combined with HTTP AUTH, the SSL connection may go away and any further operations on it, including the implied SSL_shutdown() that occurs as a result of BIO_reset() or BIO_free_all() will crash Fossil. Attempt to deal with this by signaling a quiet shutdown if SSL_peek() returns an error. ... (Closed-Leaf check-in: 616de1fef2 user: andybradford tags: fix-ssl-crash)
2020-02-04
16:13
Updates to the hashpolicy.wiki document. The recent attention it received on HN caused me to notice that it needed refreshing. ... (check-in: 2f5bb4f04d user: drh tags: trunk)
2020-01-29
14:12
/dir page: changed the (columns: Xex Y) to (Xex auto), as the previous computed value (the number of entries in the list) was a semantic mismatch for that CSS property (the number of columns). ... (check-in: ea66927c0c user: stephan tags: trunk)
13:52
Added the 'files' CSS class to the /dir column view element, per discussion at [https://fossil-scm.org/forum/forumpost/092ec8a4d0|/forumpost/092ec8a4d0]. ... (check-in: 374ca0c007 user: stephan tags: trunk)

Changes to src/http_ssl.c.
166
167
168
169
170
171
172


173









174
175
176
177
178
179
180
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191







+
+

+
+
+
+
+
+
+
+
+







}

/*
** Close the currently open SSL connection.  If no connection is open,
** this routine is a no-op.
*/
void ssl_close(void){
  char buf[1];
  int ret;
  if( iBio!=NULL ){
    if( (ret=SSL_peek(ssl,buf,sizeof(buf)))<=0 ){
      switch( SSL_get_error(ssl,ret) ){
        case SSL_ERROR_SYSCALL:
        case SSL_ERROR_SSL: {
          SSL_set_quiet_shutdown(ssl,1);
          break;
        }
      }
    }
    (void)BIO_reset(iBio);
    BIO_free_all(iBio);
    iBio = NULL;
  }
}

/* See RFC2817 for details */