Last Comment Bug 23641 - Backward compatibility issues for NSPR 4.0
: Backward compatibility issues for NSPR 4.0
Status: RESOLVED FIXED
:
Product: NSPR
Classification: Components
Component: NSPR (show other bugs)
: 3.0
: x86 Windows NT
: P3 normal (vote)
: ---
Assigned To: srinivas
: srinivas
Mentors:
Depends on: 23642
Blocks:
  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:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---


Attachments

Description 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 libnspr3.so to libpsr4.so - 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 srinivas 2000-01-14 11:47:59 PST
A set of obsolete APIs, listed in Bugzilla 23642, will be deleted.

PR_GetSockOpt
PR_SetSockOpt
PR_CreateNetAddr
PR_DestroyNetAddr
PR_GetHostName
PR_GetErrorString
Comment 2 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 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 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 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 
PR_AcceptRead().

/cvsroot/mozilla/nsprpub/pr/include/prio.h,v  <--  prio.h
new revision: 3.19.4.8; previous revision: 3.19.4.7
Comment 6 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 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.