OLD | NEW |
1 /* | 1 /* |
2 * This file is PRIVATE to SSL and should be the first thing included by | 2 * This file is PRIVATE to SSL and should be the first thing included by |
3 * any SSL implementation file. | 3 * any SSL implementation file. |
4 * | 4 * |
5 * ***** BEGIN LICENSE BLOCK ***** | 5 * ***** BEGIN LICENSE BLOCK ***** |
6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 6 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
7 * | 7 * |
8 * The contents of this file are subject to the Mozilla Public License Version | 8 * The contents of this file are subject to the Mozilla Public License Version |
9 * 1.1 (the "License"); you may not use this file except in compliance with | 9 * 1.1 (the "License"); you may not use this file except in compliance with |
10 * the License. You may obtain a copy of the License at | 10 * the License. You may obtain a copy of the License at |
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
343 unsigned int noStepDown : 1; /* 15 */ | 343 unsigned int noStepDown : 1; /* 15 */ |
344 unsigned int bypassPKCS11 : 1; /* 16 */ | 344 unsigned int bypassPKCS11 : 1; /* 16 */ |
345 unsigned int noLocks : 1; /* 17 */ | 345 unsigned int noLocks : 1; /* 17 */ |
346 unsigned int enableSessionTickets : 1; /* 18 */ | 346 unsigned int enableSessionTickets : 1; /* 18 */ |
347 unsigned int enableDeflate : 1; /* 19 */ | 347 unsigned int enableDeflate : 1; /* 19 */ |
348 unsigned int enableRenegotiation : 2; /* 20-21 */ | 348 unsigned int enableRenegotiation : 2; /* 20-21 */ |
349 unsigned int requireSafeNegotiation : 1; /* 22 */ | 349 unsigned int requireSafeNegotiation : 1; /* 22 */ |
350 unsigned int enableFalseStart : 1; /* 23 */ | 350 unsigned int enableFalseStart : 1; /* 23 */ |
351 unsigned int enableOCSPStapling : 1; /* 24 */ | 351 unsigned int enableOCSPStapling : 1; /* 24 */ |
352 unsigned int enableCachedInfo : 1; /* 25 */ | 352 unsigned int enableCachedInfo : 1; /* 25 */ |
| 353 unsigned int enableOBCerts : 1; /* 26 */ |
353 } sslOptions; | 354 } sslOptions; |
354 | 355 |
355 typedef enum { sslHandshakingUndetermined = 0, | 356 typedef enum { sslHandshakingUndetermined = 0, |
356 sslHandshakingAsClient, | 357 sslHandshakingAsClient, |
357 sslHandshakingAsServer | 358 sslHandshakingAsServer |
358 } sslHandshakingType; | 359 } sslHandshakingType; |
359 | 360 |
360 typedef struct sslServerCertsStr { | 361 typedef struct sslServerCertsStr { |
361 /* Configuration state for server sockets */ | 362 /* Configuration state for server sockets */ |
362 CERTCertificate * serverCert; | 363 CERTCertificate * serverCert; |
(...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1561 extern SECStatus ssl3_HandleSupportedPointFormatsXtn(sslSocket * ss, | 1562 extern SECStatus ssl3_HandleSupportedPointFormatsXtn(sslSocket * ss, |
1562 PRUint16 ex_type, SECItem *data); | 1563 PRUint16 ex_type, SECItem *data); |
1563 extern SECStatus ssl3_ClientHandleSessionTicketXtn(sslSocket *ss, | 1564 extern SECStatus ssl3_ClientHandleSessionTicketXtn(sslSocket *ss, |
1564 PRUint16 ex_type, SECItem *data); | 1565 PRUint16 ex_type, SECItem *data); |
1565 extern SECStatus ssl3_ClientHandleNextProtoNegoXtn(sslSocket *ss, | 1566 extern SECStatus ssl3_ClientHandleNextProtoNegoXtn(sslSocket *ss, |
1566 PRUint16 ex_type, SECItem *data); | 1567 PRUint16 ex_type, SECItem *data); |
1567 extern SECStatus ssl3_ClientHandleCachedInfoXtn(sslSocket *ss, | 1568 extern SECStatus ssl3_ClientHandleCachedInfoXtn(sslSocket *ss, |
1568 PRUint16 ex_type, SECItem *data); | 1569 PRUint16 ex_type, SECItem *data); |
1569 extern SECStatus ssl3_ClientHandleStatusRequestXtn(sslSocket *ss, | 1570 extern SECStatus ssl3_ClientHandleStatusRequestXtn(sslSocket *ss, |
1570 PRUint16 ex_type, SECItem *data); | 1571 PRUint16 ex_type, SECItem *data); |
| 1572 extern SECStatus ssl3_ClientHandleOBCertXtn(sslSocket *ss, |
| 1573 PRUint16 ex_type, SECItem *data); |
1571 extern SECStatus ssl3_ServerHandleSessionTicketXtn(sslSocket *ss, | 1574 extern SECStatus ssl3_ServerHandleSessionTicketXtn(sslSocket *ss, |
1572 PRUint16 ex_type, SECItem *data); | 1575 PRUint16 ex_type, SECItem *data); |
1573 extern SECStatus ssl3_ServerHandleNextProtoNegoXtn(sslSocket *ss, | 1576 extern SECStatus ssl3_ServerHandleNextProtoNegoXtn(sslSocket *ss, |
1574 PRUint16 ex_type, SECItem *data); | 1577 PRUint16 ex_type, SECItem *data); |
| 1578 extern SECStatus ssl3_ServerHandleOBCertXtn(sslSocket *ss, |
| 1579 PRUint16 ex_type, SECItem *data); |
1575 | 1580 |
1576 /* ClientHello and ServerHello extension senders. | 1581 /* ClientHello and ServerHello extension senders. |
1577 * Note that not all extension senders are exposed here; only those that | 1582 * Note that not all extension senders are exposed here; only those that |
1578 * that need exposure. | 1583 * that need exposure. |
1579 */ | 1584 */ |
1580 extern PRInt32 ssl3_SendSessionTicketXtn(sslSocket *ss, PRBool append, | 1585 extern PRInt32 ssl3_SendSessionTicketXtn(sslSocket *ss, PRBool append, |
1581 PRUint32 maxBytes); | 1586 PRUint32 maxBytes); |
1582 extern PRInt32 ssl3_ClientSendStatusRequestXtn(sslSocket *ss, PRBool append, | 1587 extern PRInt32 ssl3_ClientSendStatusRequestXtn(sslSocket *ss, PRBool append, |
1583 PRUint32 maxBytes); | 1588 PRUint32 maxBytes); |
1584 | 1589 |
1585 /* ClientHello and ServerHello extension senders. | 1590 /* ClientHello and ServerHello extension senders. |
1586 * The code is in ssl3ext.c. | 1591 * The code is in ssl3ext.c. |
1587 */ | 1592 */ |
1588 extern PRInt32 ssl3_SendServerNameXtn(sslSocket *ss, PRBool append, | 1593 extern PRInt32 ssl3_SendServerNameXtn(sslSocket *ss, PRBool append, |
1589 PRUint32 maxBytes); | 1594 PRUint32 maxBytes); |
1590 extern PRInt32 ssl3_ClientSendCachedInfoXtn(sslSocket *ss, PRBool append, | 1595 extern PRInt32 ssl3_ClientSendCachedInfoXtn(sslSocket *ss, PRBool append, |
1591 PRUint32 maxBytes); | 1596 PRUint32 maxBytes); |
| 1597 extern PRInt32 ssl3_SendOBCertXtn(sslSocket *ss, PRBool append, |
| 1598 PRUint32 maxBytes); |
1592 | 1599 |
1593 /* Assigns new cert, cert chain and keys to ss->serverCerts | 1600 /* Assigns new cert, cert chain and keys to ss->serverCerts |
1594 * struct. If certChain is NULL, tries to find one. Aborts if | 1601 * struct. If certChain is NULL, tries to find one. Aborts if |
1595 * fails to do so. If cert and keyPair are NULL - unconfigures | 1602 * fails to do so. If cert and keyPair are NULL - unconfigures |
1596 * sslSocket of kea type.*/ | 1603 * sslSocket of kea type.*/ |
1597 extern SECStatus ssl_ConfigSecureServer(sslSocket *ss, CERTCertificate *cert, | 1604 extern SECStatus ssl_ConfigSecureServer(sslSocket *ss, CERTCertificate *cert, |
1598 CERTCertificateList *certChain, | 1605 CERTCertificateList *certChain, |
1599 ssl3KeyPair *keyPair, SSLKEAType kea); | 1606 ssl3KeyPair *keyPair, SSLKEAType kea); |
1600 /* Return key type for the cert */ | 1607 /* Return key type for the cert */ |
1601 extern SSLKEAType ssl_FindCertKEAType(CERTCertificate * cert); | 1608 extern SSLKEAType ssl_FindCertKEAType(CERTCertificate * cert); |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1728 #elif defined(_WIN32_WCE) | 1735 #elif defined(_WIN32_WCE) |
1729 #define SSL_GETPID GetCurrentProcessId | 1736 #define SSL_GETPID GetCurrentProcessId |
1730 #elif defined(WIN32) | 1737 #elif defined(WIN32) |
1731 extern int __cdecl _getpid(void); | 1738 extern int __cdecl _getpid(void); |
1732 #define SSL_GETPID _getpid | 1739 #define SSL_GETPID _getpid |
1733 #else | 1740 #else |
1734 #define SSL_GETPID() 0 | 1741 #define SSL_GETPID() 0 |
1735 #endif | 1742 #endif |
1736 | 1743 |
1737 #endif /* __sslimpl_h_ */ | 1744 #endif /* __sslimpl_h_ */ |
OLD | NEW |