Closed Bug 23641 Opened 25 years ago Closed 25 years ago

Backward compatibility issues for NSPR 4.0

Categories

(NSPR :: NSPR, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: srinivas, Assigned: srinivas)

References

Details

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.
Status: NEW → ASSIGNED
A set of obsolete APIs, listed in Bugzilla 23642, will be deleted. PR_GetSockOpt PR_SetSockOpt PR_CreateNetAddr PR_DestroyNetAddr PR_GetHostName PR_GetErrorString
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.)
Depends on: 23642
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.
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.
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
The macro 'PR_NetAddrInetPort' is modified to check for the PR_AF_INET6 family on all platforms. Bugzilla 23815.
Marking fixed.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.