Commit graph

35 commits

Author SHA1 Message Date
nelson%bolyard.com
d0fdcbf71c Improve checking of received SSL2 records.
Bug 364319, bug 364323. r=rrelyea, wtchang
2007-01-03 05:30:33 +00:00
wtchang%redhat.com
f6144cb805 Bugzilla Bug 359484: made the fix for bug 341707 work for the SSL2 client
hello case. r=nelsonb,alexei.volkov
2006-11-14 01:09:54 +00:00
nelson%bolyard.com
e923291d6e Correct ifdefs so that non-ECC builds will continue to build correctly.
r=wtchang  bug 341707.
2006-07-20 00:17:23 +00:00
nelson%bolyard.com
aa48d36259 Curve-limited clients must not negotiate ECC ciphersuites unless they send the supported curve extension. This means that when they are nogotiating SSL 3.0
and not TLS, they should not negotiate ECC ciphersuites at all.
Bug 341707.  r=rrelyea.
2006-07-19 01:40:17 +00:00
nelson%bolyard.com
995213d2df Fix bug 337104 and bug 337105. Don't crash if we run out of memory
in ssl2_ConstructCipherSpecs().  r=Alexei.Volkov  Coverity 442 & 443.
2006-06-07 17:53:19 +00:00
nelson%bolyard.com
fe04651c77 Bug 80092: SSL write indicates all data sent when some is buffered.
SSL now follows NSPR socket semantics and never returns a short write
count on a blocking socket.  On a blocking socket, it returns either
the full count or -1 (with an error code set).
For non-blocking sockets, SSL no longer returns a full write count
when some of the data remains buffered in the SSL record layer.
Instead it returns a number is that always at least 1 byte short of a
full write count, so that the caller will  keep retrying until it is done.
SSL makes sure that the first byte sent by the caller in the retry
matches the last byte previously buffered.  r=rrelyea.
Modified Files: ssl3con.c sslcon.c ssldef.c sslimpl.h sslsecur.c
2006-04-20 08:46:34 +00:00
nelsonb%netscape.com
6f9e66cf05 Detect NULL server key pair pointer. Bug 321161. r=wtchang. 2006-01-20 17:40:21 +00:00
nelsonb%netscape.com
4b56704437 Implement two new SSL socket options: SSL_BYPASS_PKCS11 and SSL_NO_LOCKS.
Reorganize the SSL Socket structure contents to obviate ssl3 pointer.
Move much of the ECC code from ssl3con to new file ssl3ecc.c.  derive.c
implements derivation of the SSL/TLS master secret and the encryption and
MAC keys and IVs without using PKCS11. Bug 305147. r=rrelyea.
Modified Files: ssl/config.mk ssl/manifest.mn ssl/ssl.h ssl/ssl3con.c
    ssl/ssl3gthr.c ssl/sslauth.c ssl/sslcon.c ssl/ssldef.c ssl/sslgathr.c
    ssl/sslimpl.h ssl/sslinfo.c ssl/sslnonce.c ssl/sslsecur.c ssl/sslsnce.c
    ssl/sslsock.c
Added Files: ssl/derive.c ssl/ssl3ecc.c
2005-09-09 03:02:16 +00:00
nelsonb%netscape.com
d391504d03 Remove fortezza code from libSSL and from the SSL test programs.
Stop building fortezza's special software token, and fortezza specific
test programs.   Bug 239960. r=rrelyea.
Modified Files:
    cmd/manifest.mn cmd/platlibs.mk cmd/SSLsample/server.c
    cmd/SSLsample/sslsample.c cmd/modutil/modutil.c
    cmd/selfserv/selfserv.c cmd/sslstrength/sslstrength.c
    cmd/strsclnt/strsclnt.c cmd/tstclnt/tstclnt.c
    cmd/vfyserv/vfyserv.c cmd/vfyserv/vfyutil.c lib/manifest.mn
    lib/ssl/nsskea.c lib/ssl/preenc.h lib/ssl/prelib.c
    lib/ssl/ssl.h lib/ssl/ssl3con.c lib/ssl/ssl3prot.h
    lib/ssl/sslauth.c lib/ssl/sslcon.c lib/ssl/sslenum.c
    lib/ssl/sslimpl.h lib/ssl/sslinfo.c lib/ssl/sslproto.h
    lib/ssl/sslsecur.c lib/ssl/sslsnce.c lib/ssl/sslsock.c
    lib/ssl/sslt.h
2005-08-16 03:42:26 +00:00
nelsonb%netscape.com
7d6edc424d Back out the preceeding fortezza removal patch, which was accidentally
applied to the trunk, not to the intended branch.
2005-04-06 21:35:45 +00:00
nelsonb%netscape.com
17a1f014fd Remove fortezza support from libSSL and related commands. Bug 239960.
ON PERFORMANCE_HACKS_BRANCH.  r=rrelyea.
2005-04-06 19:43:19 +00:00
nelsonb%netscape.com
1d3641f999 Follow the SSL2 specification more closely in accepting and rejecting
SSL messages.  Previously NSS would reject some it should accept
and vice versa.  Bugscape bug 57121. r=wtc,julien
2004-06-24 02:02:39 +00:00
gerv%gerv.net
9bd361a285 Bug 236613: change to MPL/LGPL/GPL tri-license. Restore Id: lines. 2004-04-27 23:04:40 +00:00
gerv%gerv.net
3634d4d94b Bug 236613: change to MPL/LGPL/GPL tri-license. 2004-04-25 15:03:26 +00:00
jpierre%netscape.com
3609f97d06 Fix for 202348 - check cert & key pointers returned by client auth application callback, to fix crash . r=nelsonb 2003-04-17 02:03:39 +00:00
nelsonb%netscape.com
f87129ad87 Add support for Elliptic Curve Cryptography. Bug 195135.
Modified Files:
 	cmd/lib/SECerrs.h cmd/selfserv/selfserv.c
 	cmd/tstclnt/tstclnt.c lib/cryptohi/keyhi.h
 	lib/cryptohi/keythi.h lib/cryptohi/seckey.c
 	lib/cryptohi/secvfy.c lib/freebl/Makefile lib/freebl/blapi.h
 	lib/freebl/blapit.h lib/freebl/ldvector.c lib/freebl/loader.c
 	lib/freebl/loader.h lib/freebl/manifest.mn lib/nss/nss.def
 	lib/pk11wrap/pk11skey.c lib/pk11wrap/pk11slot.c
 	lib/softoken/lowkeyti.h lib/softoken/manifest.mn
 	lib/softoken/pkcs11.c lib/softoken/pkcs11c.c
 	lib/softoken/pkcs11t.h lib/ssl/ssl3con.c lib/ssl/ssl3prot.h
 	lib/ssl/sslcon.c lib/ssl/sslenum.c lib/ssl/sslimpl.h
 	lib/ssl/sslinfo.c lib/ssl/sslproto.h lib/ssl/sslsecur.c
 	lib/ssl/sslsock.c lib/ssl/sslt.h lib/util/secerr.h
 	lib/util/secoid.c lib/util/secoidt.h
Added Files:
 	lib/freebl/GFp_ecl.c lib/freebl/GFp_ecl.h lib/freebl/ec.c
 	lib/freebl/ec.h lib/softoken/ecdecode.c
2003-02-27 01:31:38 +00:00
nelsonb%netscape.com
681ff24ca9 1. the sslSecurityInfo and sslGather structs are now part of the sslSocket
rather than being pointed to by the sslSocket.  This reduces the number
of malloc/free calls, and greatly reduces pointer fetches, and null
pointer checks.  sslGather and sslSecurityInfo are separately initialized.
2. SSL_ResetHandshake no longer deallocates and reallocates the sslSecurityInfo and all its subcomponents.
3. Many places that formerly did not check for memory allocation failures
now do check, and do the right thing when allocation failed.
2002-02-27 04:40:17 +00:00
relyea%netscape.com
fe2e2268dc 1) NT need the err= defines, use macros to set it appropriately (or not).
2) restore missing sec = function
2001-12-07 02:30:53 +00:00
relyea%netscape.com
75f3b7599d Clean up compilier warnings on Solaris and Linux, most particularly:
1) Implicit declaration of function.
2) Possibly unitialized variables.

These warnings have indicated some real problems in the code, so many changes
are not just to silence the warnings, but to fix the problems. Others were
inocuous, but the warnings were silenced to reduce the noise.
2001-12-07 01:36:25 +00:00
nelsonb%netscape.com
6d66aee5ea Add localCert field to sid cache entry so SSL_LocalCertificate can
remember the certs it sent back when it established the SSL session.
Bug 78959.  Also, hold on the certs in the received cert chain until
the SSL connection is complete.  This makes it easier for applications
to look at the entire cert chain after the handshake is over without
having to write their own custom authCert callbacks.  It is backwards
compatible with older NSS SSL applications, but may use more memory.
2001-11-09 05:39:36 +00:00
nelsonb%netscape.com
d2f7dcc16c Implement new function SSL_LocalCertificate(). Bug 78959. 2001-11-08 02:15:38 +00:00
nelsonb%netscape.com
9740e66d2f Reimplement SSL_GetChannelInfo. Add new function SSL_GetCipherSuiteInfo().
Also, implement new ciphersuite preference order.  Bug 78959.
2001-11-02 04:24:28 +00:00
relyea%netscape.com
e5822372e8 Don't crash on SSL2 failures. 2001-10-31 20:03:29 +00:00
wtc%netscape.com
a62eec532e Bugzilla bug 83593: worked around a possible HP-UX B.11.00 bug, where
getpeername() occasionally fails with ENOTCONN after a successful
completion of non-blocking connect.
2001-09-25 01:25:41 +00:00
relyea%netscape.com
d62c65c9a6 Remove dependancy on direct calls inside softoken. 2001-09-20 21:26:40 +00:00
nelsonb%netscape.com
0e45538807 Implement new function SSL_GetChannelInfo(). Bugzilla bug 78959. 2001-09-18 01:59:21 +00:00
nelsonb%netscape.com
9509618196 3 Changes:
1. New SSL server session cache implementation that uses finer grained
locking to reduce lock contention, and does 128-way associative caching.
2. rename symbol SSL_SESSIONID_BYTES to SSL2_SESSIONID_BYTES.
3. Work around compiler bug on Solaris i386.
Modified Files:
    manifest.mn sslcon.c sslimpl.h sslsecur.c sslsnce.c
2001-06-09 03:18:09 +00:00
nelsonb%netscape.com
9bd14a2bc5 Merge in NSS 3.2.1 changes. (VersionCheck function) 2001-04-11 22:52:09 +00:00
nelsonb%netscape.com
46c15355d3 Reinterpret the READ and WRITE poll flags depending on the state of the
socket and the SSL handshake.  Rename the badly named "connected" flag.
Bugzilla bugs 56924, 56926, 66706.
Modified Files:
    ssl3con.c sslauth.c sslcon.c ssldef.c sslgathr.c sslimpl.h
    sslsecur.c sslsock.c
2001-03-16 23:26:06 +00:00
wtc%netscape.com
104ac36a8d Bugzilla bug #66367: rename the internal NSS functions that we have to
export from the NSS shared library.  Reviewed by Bob Relyea.
Modified Files:
	nss/lib/certdb/certdb.c nss/lib/certdb/pcertdb.c
	nss/lib/nss/Makefile nss/lib/nss/manifest.mn
	nss/lib/nss/nss.def nss/lib/pk11wrap/pk11skey.c
	nss/lib/pkcs12/p12d.c nss/lib/pkcs12/p12e.c
	nss/lib/pkcs12/p12local.c nss/lib/pkcs7/certread.c
	nss/lib/pkcs7/p7decode.c nss/lib/pkcs7/p7encode.c
	nss/lib/smime/cmsutil.c nss/lib/softoken/secpkcs5.c
	nss/lib/ssl/ssl3con.c nss/lib/ssl/sslcon.c
	nss/lib/ssl/sslnonce.c nss/lib/ssl/sslsnce.c
	nss/lib/util/nsslocks.c
Added Files:
	nss/lib/nss/nssrenam.h
2001-01-30 21:02:28 +00:00
nelsonb%netscape.com
1311ab52d4 Changes to deal with exporting data from Windows DLLs.
SECHashObjects[] is no longer exported.
New function HASH_GetHashObject returns pointer to selected const object.
SSL statistics are now in a structure whose address is obtained via a
call to SSL_GetStatistics().
On NT, the new symbol NSS_USE_STATIC_LIBS must be declared in programs
that use the static SSL library.
Also, propagate "const" declaration for SECHashObjects.
2001-01-05 01:38:26 +00:00
jgmyers%netscape.com
51e59fccb4 support IPv6 in ssl: bug 48657 r=nelsonb 2000-09-12 20:15:44 +00:00
nelsonb%netscape.com
9d2744f5ce Carry forward fix from NSS 2.8 for servers that don't do ssl2. 2000-06-06 20:32:18 +00:00
nelsonb%netscape.com
0ea2ec3f99 Fix the logic in client and server to detect version roll-back attack,
rolling back from TLS (SSL 3.1) to SSL 3.0.  Provide a new SSL socket
option to disable roll-back detection in servers, since certain TLS
clients are doing it incorrectly.
2000-05-24 03:35:23 +00:00
relyea%netscape.com
9fd7059a19 Initial NSS Open Source checkin 2000-03-31 20:13:40 +00:00