The default bug view has changed. See this FAQ.

Backward compatibility issues for NSPR 4.0

RESOLVED FIXED

Status

NSPR
NSPR
P3
normal
RESOLVED FIXED
18 years ago
17 years ago

People

(Reporter: srinivas, Assigned: srinivas)

Tracking

x86
Windows NT

Firefox Tracking Flags

(Not tracked)

Details

(Assignee)

Description

18 years ago
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.
(Assignee)

Updated

17 years ago
Status: NEW → ASSIGNED
(Assignee)

Comment 1

17 years ago
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

17 years ago
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.)

Updated

17 years ago
Depends on: 23642

Comment 3

17 years ago
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

17 years ago
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

17 years ago
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
(Assignee)

Comment 6

17 years ago
The macro 'PR_NetAddrInetPort' is modified to check for the PR_AF_INET6 family 
on all platforms. Bugzilla 23815.
(Assignee)

Comment 7

17 years ago
Marking fixed.
Status: ASSIGNED → RESOLVED
Last Resolved: 17 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.