Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liblongpath-rsync
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
liblongpath
liblongpath-rsync
Commits
411acbbc
Commit
411acbbc
authored
May 14, 2002
by
Martin Pool
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Better notes about handling IPv6 on old machines
parent
32e83406
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
14 deletions
+29
-14
TODO
TODO
+29
-14
No files found.
TODO
View file @
411acbbc
...
@@ -313,24 +313,39 @@ Hard-link handling
...
@@ -313,24 +313,39 @@ Hard-link handling
might need a little program to check whether several names refer to
might need a little program to check whether several names refer to
the same file.
the same file.
IPv6
Perhaps put back the old socket code; if on a machine that does not
properly support the getaddrinfo API, then use it. This is probably
much simpler than reimplementing it.
Alternatively, have two different files implementing the same
Handling IPv6 on old machines
interface, and choose either the new or the old API. This is
probably necessary for systems that e.g. have IPv6, but
gethostbyaddr() can't handle it. The Linux manpage claims this is
currently the case.
This might get us working again on RedHat 5 and similar systems.
The KAME IPv6 patch is nice in theory but has proved a bit of a
Although the Kame patch seems like a good idea, in fact it is a much
nightmare in practice. The basic idea of their patch is that rsync
broader interface than the relatively narrow "open by name", "accept
is rewritten to use the new getaddrinfo()/getnameinfo() interface,
and log" interface that rsync uses internally, and it has the
rather than gethostbyname()/gethostbyaddr() as in rsync 2.4.6.
disadvantage of clashing with half-arsed implementations of the API.
Systems that don't have the new interface are handled by providing
our own implementation in lib/, which is selectively linked in.
The problem with this is that it is really hard to get right on
platforms that have a half-working implementation, so redefining
these functions clashes with system headers, and leaving them out
breaks. This affects at least OSF/1, RedHat 5, and Cobalt, which
are moderately improtant.
Perhaps the simplest solution would be to have two different files
implementing the same interface, and choose either the new or the
old API. This is probably necessary for systems that e.g. have
IPv6, but gethostbyaddr() can't handle it. The Linux manpage claims
this is currently the case.
In fact, our internal sockets interface (things like
open_socket_out(), etc) is much narrower than the getaddrinfo()
interface, and so probably simpler to get right. In addition, the
old code is known to work well on old machines.
We could drop the rather large lib/getaddrinfo files.
Other IPv6 stuff:
Implement suggestions from http://www.kame.net/newsletter/19980604/
Implement suggestions from http://www.kame.net/newsletter/19980604/
and ftp://ftp.iij.ad.jp/pub/RFC/rfc2553.txt
and ftp://ftp.iij.ad.jp/pub/RFC/rfc2553.txt
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment