Last Comment Bug 23641 - Backward compatibility issues for NSPR 4.0
: Backward compatibility issues for NSPR 4.0
Product: NSPR
Classification: Components
Component: NSPR (show other bugs)
: 3.0
: x86 Windows NT
P3 normal (vote)
: ---
Assigned To: srinivas
: srinivas
Depends on: 23642
  Show dependency treegraph
Reported: 2000-01-11 07:52 PST by srinivas
Modified: 2000-03-08 12:30 PST (History)
2 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---


Description User image srinivas 2000-01-11 07:52:30 PST
NSPR 4.0 is not backward compatible with NSPR 3.x releases. The modifications in
NSPR 4.0 that affect backward compatibility are:

1. PR_Bind doesn't set the reuseaddr option - requires source-code modification
in clients
2. PRIOMethods is modified - recompilation required
3. Deletion of obsolete APIs - requires source-code modification. These APIs are
not widely used and so, many applications will not be affected.
4. Library name change from to - requires change to
configuration/makefiles for the clients
5. PR_NewTCPSocket doesn't set the SO_KEEPALIVE socket option - may require
source-code change to the client.
Comment 1 User image srinivas 2000-01-14 11:47:59 PST
A set of obsolete APIs, listed in Bugzilla 23642, will be deleted.

Comment 2 User image Wan-Teh Chang 2000-01-25 21:05:00 PST
The WINNT and WIN95 implementations of PR_OpenSemaphore
and PR_OpenSharedMemory were changed to implement the
'mode' argument on Windows NT using NT security descriptors
and discretionary access-control lists. (See Bugzilla
bug #24461.)
Comment 3 User image Wan-Teh Chang 2000-02-08 17:48:53 PST
The size of PRNetAddr increased from 16 to 28 bytes
on non-Unix platforms.

In particular, the buffer passed to PR_AcceptRead
may need to be enlarged because of the larger
PRNetAddr size. I'm still looking into this.
Comment 4 User image Wan-Teh Chang 2000-02-09 15:23:12 PST
Because we try to align the _pr_in6_addr structure on
8-byte boundary, the size of PRNetAddr is 32 (rather
than 28) bytes on Windows.
Comment 5 User image larryh (gone) 2000-02-10 13:22:12 PST
To help users of the PR_AcceptRead() function correctly specify the buffer size 
for the read, a macro: PR_ACCEPT_READ_BUF_OVERHEAD is defined. An example also 
suggests use of the macro in calculating buffer size and use with 

/cvsroot/mozilla/nsprpub/pr/include/prio.h,v  <--  prio.h
new revision:; previous revision:
Comment 6 User image srinivas 2000-02-15 15:34:34 PST
The macro 'PR_NetAddrInetPort' is modified to check for the PR_AF_INET6 family 
on all platforms. Bugzilla 23815.
Comment 7 User image srinivas 2000-03-08 12:30:11 PST
Marking fixed.

Note You need to log in before you can comment on or make changes to this bug.