Feature #6394

Support SO_ORIGINAL_DST socket option

Added by rascov (Min-Cheng Chan) almost 6 years ago. Updated 6 days ago.

Target version:


In Linux, SO_ORIGINAL_DST provides the original packet destination, which is very useful when packet is translated by NAT.
In C, this information can be obtained by getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, &remote, &remote_len);
However, current Ruby Socket class does not provide this option.
Please consider adding this option into Ruby.

By the way, I am still working on the patch file.
This option is named with SO_ prefix. However it is an IP layer option (SOL_IP).
ext/socket/mkconstants.rb seems to generate options according to the option prefix, which goes wrong in this case.

Related issues

Has duplicate Ruby trunk - Feature #14696: add optname SO_ORIGINAL_DSTRejected


#1 [ruby-core:44841] Updated by mame (Yusuke Endoh) almost 6 years ago

  • Status changed from Open to Assigned
  • Assignee set to akr (Akira Tanaka)

#2 Updated by mame (Yusuke Endoh) over 5 years ago

  • Target version set to 2.6

#3 Updated by naruse (Yui NARUSE) 4 months ago

  • Target version deleted (2.6)

#4 Updated by akr (Akira Tanaka) 6 days ago

#5 Updated by nobu (Nobuyoshi Nakada) 6 days ago

#6 Updated by nobu (Nobuyoshi Nakada) 6 days ago

#7 [ruby-core:86605] Updated by matz (Yukihiro Matsumoto) 6 days ago

  • Status changed from Assigned to Rejected

As #14696, we reject the proposal.

Also available in: Atom PDF