Bug 206724
| Summary: | Replacing PR_SetNetAddr with PRLDAP_SET_PORT for IPv6 support | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Retired] 389 | Reporter: | Noriko Hosoi <nhosoi> | ||||
| Component: | Directory Server | Assignee: | Noriko Hosoi <nhosoi> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Viktor Ashirov <vashirov> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | 1.0.2 | CC: | rmeggins | ||||
| Target Milestone: | --- | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2015-12-07 16:45:43 UTC | Type: | --- | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 152373, 208654, 240316 | ||||||
| Attachments: |
|
||||||
|
Description
Noriko Hosoi
2006-09-15 21:12:51 UTC
Created attachment 136399 [details]
cvs diff slapi-private.h connection.c daemon.c
Files:
slapi-private.h
connection.c
daemon.c
Changes:
slapi-private.h: introduced PRLDAP_SET_PORT to set port to the port field in
PRNetAddr. A copy of the same macro in LDAP C SDK (v6). Note: once NSPR
provides an equivalent API, we may want to replace this macro with the one.
(the NSPR compatibility issue remains, though.)
connection.c, daemon.c: replaced PR_SetNetAddr with PRLDAP_SET_ADDR.
(In reply to comment #1) [...] > connection.c, daemon.c: replaced PR_SetNetAddr with PRLDAP_SET_ADDR. Oops, "PRLDAP_SET_PORT", of course... (In reply to comment #1) [...] > connection.c, daemon.c: replaced PR_SetNetAddr with PRLDAP_SET_ADDR. Oops, "PRLDAP_SET_PORT", of course... Sorry, Rich. I overrode your approval. :p Recovered. And checked in into the HEAD. [206724] Replacing PR_SetNetAddr with PRLDAP_SET_PORT for IPv6 support slapi-private.h: introduced PRLDAP_SET_PORT to set port to the port field in PRNetAddr. A copy of the same macro in LDAP C SDK (v6). Note: once NSPR provides an equivalent API, we may want to replace this macro with the one. (the NSPR compatibility issue remains, though.) connection.c, daemon.c: replaced PR_SetNetAddr with PRLDAP_SET_PORT. CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: slapi-private.h connection.c daemon.c CVS: ---------------------------------------------------------------------- Checking in slapi-private.h; /cvs/dirsec/ldapserver/ldap/servers/slapd/slapi-private.h,v <-- slapi-private.h new revision: 1.11; previous revision: 1.10 done Checking in connection.c; /cvs/dirsec/ldapserver/ldap/servers/slapd/connection.c,v <-- connection.c new revision: 1.11; previous revision: 1.10 done Checking in daemon.c; /cvs/dirsec/ldapserver/ldap/servers/slapd/daemon.c,v <-- daemon.c new revision: 1.9; previous revision: 1.8 done A stupid copy and paste bug... :(
Index: connection.c
===================================================================
RCS file: /cvs/dirsec/ldapserver/ldap/servers/slapd/connection.c,v
retrieving revision 1.11
diff -t -w -U4 -r1.11 connection.c
--- connection.c 15 Sep 2006 22:45:11 -0000 1.11
+++ connection.c 24 Sep 2006 00:26:57 -0000
@@ -280,9 +280,9 @@
/*
* get destination address (server IP address this client connected to)
*/
- slapi_ch_free( (void**)&conn->cin_addr ); /* just to be conservative */
+ slapi_ch_free( (void**)&conn->cin_destaddr ); /* just to be conservative */
if ( conn->c_prfd != NULL ) {
conn->cin_destaddr = (PRNetAddr *) slapi_ch_malloc( sizeof( PRNetAddr ) );
memset( conn->cin_destaddr, 0, sizeof( PRNetAddr ));
if (PR_GetSockName( conn->c_prfd, conn->cin_destaddr ) == 0) {
[206724] Processed: Replacing PR_SetNetAddr with PRLDAP_SET_PORT for IPv6 support comment#5: Fixed a stupid copy and paste bug... CVS: ---------------------------------------------------------------------- CVS: Modified Files: CVS: connection.c CVS: ---------------------------------------------------------------------- Checking in connection.c; /cvs/dirsec/ldapserver/ldap/servers/slapd/connection.c,v <-- connection.c new revision: 1.12; previous revision: 1.11 done *** Bug 180481 has been marked as a duplicate of this bug. *** Checked source code:
$ pwd
/share/dev4/ds/ds80/builds/20071129.1/earthquake_rhel4/ldapserver
PR_SetNetAddr is used only when netaddr needs to be set:
$ find . -name "*.[ch]" | xargs egrep PR_SetNetAddr
./ldap/servers/slapd/daemon.c: if ( PR_SUCCESS !=
PR_SetNetAddr(PR_IpAddrAny, PR_AF_INET6, 0, netaddr)) {
./ldap/servers/slapd/daemon.c:
"PR_SetNetAddr(PR_IpAddrAny) failed - %s error %d (%s)\n",
./ldap/servers/slapd/slapi-private.h: * Introduced to avoid calling
PR_SetNetAddr w/ PR_IpAddrNull just to set port.
Where the port needs to be set uses the macro PRLDAP_SET_PORT:
$ find . -name "*.[ch]" | xargs egrep PRLDAP_SET_PORT
./ldap/servers/slapd/connection.c: PRLDAP_SET_PORT(conn->cin_addr,
addr.sin_port);
./ldap/servers/slapd/connection.c: PRLDAP_SET_PORT( conn->cin_destaddr,
destaddr.sin_port );
./ldap/servers/slapd/daemon.c: PRLDAP_SET_PORT( pr_netaddr, ((struct
sockaddr_in *)addr)->sin_port );
./ldap/servers/slapd/daemon.c: PRLDAP_SET_PORT( &sa_server, port );
./ldap/servers/slapd/slapi-private.h:#define PRLDAP_SET_PORT(myaddr,myport) \
Verified.
|