Hi all, I'm continuing to look at how java implements its sockets. Just had a look at how it works for solaris and linix.
Can anyone give me any information on the function JVM_Socket, It is defined in the jvm.h file, but I can't find it implementation. Can someone confirm that is it built on the POSIX interfaces? Thanks, Cormac On Nov 23, 2007 4:22 PM, cormac mullally <[EMAIL PROTECTED]> wrote: > Hi all, > > I had a quick look at openJDK and i see that on windows it uses > winsock2 as is expected. > > I also see that in some paces it tries to use Raw Sockets, > Inet4AddressImpl.c and Inet6AddressImpl.c . > > Do you think in theory it will be possible for me to create an IPv6 > packet and header and send them over the raw socket using winsock2? > > All help appreciated, > Cormac > > > On Nov 22, 2007 2:42 PM, cormac mullally <[EMAIL PROTECTED]> wrote: > > Hi Michael, > > > > I aggree it is quite specialised, but I think it would be good for > > java to support this. Yes I would love to use Linux or Solaris but I > > have to support windows. > > > > I am going to look at the internals of the openJDK now and see how it works. > > > > Thanks for your help so far and I will let you know how I get on. > > > > Best Regards, > > Cormac > > > > > > > > > > > > On Nov 22, 2007 1:56 PM, Michael McMahon <[EMAIL PROTECTED]> wrote: > > > Hi Cormac, > > > > > > I don't think it's likely that Java SE will support RFC3542 in the near > > > future. > > > I can't say however, whether anybody is actually doing any work on > > > trying to support it. > > > It seems like a fairly specialised requirement, that the majority of > > > IPv6 applications would > > > not use. > > > > > > Have you looked at Linux or Solaris? I think these operating systems > > > have good support > > > for the advanced Ipv6 socket APIs. > > > > > > Hth, > > > Michael. > > > > > > > > > cormac mullally wrote: > > > > Hello all, > > > > > > > > I'm working on a project at the moment that needs's access to the > > > > "type 0 routing header" in an IPv6 packet. RFC 2292 describes a nice > > > > API, which allows you access to the routing header, see > > > > http://tools.ietf.org/html/rfc2292#section-8.9 > > > > > > > > I see that JavaSE supports RFC 2553 Basic Socket Interface Extensions > > > > for IPv6, and from looking around it seems that Sun has no interest in > > > > implementing RFC 3542 or RFC 2292(RFC 3542 Obsoletes 2292). > > > > > > > > My first question is: > > > > Is there any one working on implementing RFC 3542 or RFC 2292 in the > > > > openJDK project? > > > > > > > > My second question: > > > > What are my options going forward? > > > > > > > > > > > > I am pretty new to working on such low level stuff so any advice on > > > > how I should proceed is welcome. > > > > > > > > I've done a bit of researching and here is a bit of a summary. I'm > > > > developing on windows XP, so its mostly around how I would provide > > > > this functionality on a windows enviornment, but in the end my > > > > application would have to work on other major platforms. > > > > > > > > Firstly as some of you may know "type 0 routing header" has caused a > > > > bit of controversy (see http://www.natisbad.org/ especially this > > > > presentation http://www.secdev.org/conf/IPv6_RH_security-csw07.pdf) > > > > and it seems that there is some security concerns. Does anyone have > > > > any comment on this? I see some people are not happy as applications > > > > have already been developed using this feature. Do you think "type 0 > > > > routing header" will be disabled by default in routers and hosts? Do > > > > you think a new method will be created to provide this routing > > > > functionality but more securly? > > > > > > > > So imagining that all is well with "type 0 routing header" and I will > > > > use it for my project, here are some of the solutions I have been > > > > looking at for implementing this on windows. > > > > 1. WinSock > > > > 2. Raw Socket on top Winsock > > > > 3. Winpcap 4.0 beta 3 supports IPv6 > > > > > > > > > > > > 1. Winsock > > > > Winsock does not seem to support RFC 3542 or RFC 2292. As in there is > > > > no nice methods for adding routing headers as far as I can see. > > > > http://msdn2.microsoft.com/en-us/library/ms738649.aspx and > > > > http://msdn2.microsoft.com/en-us/library/ms738649.aspx > > > > > > > > 2. Raw Socket with Winsock > > > > Raw Socket as far as I can see gives you acess to the header and data > > > > parts of the packet. From my research this in theory seems to be > > > > possible with winsock > > > > see http://msdn2.microsoft.com/en-us/library/ms740506.aspx especially > > > > the IPV6_HDRINCL section. > > > > Windows XP SP2 seems to have limited the raw socket, see > > > > http://blogs.msdn.com/michael_howard/archive/2004/08/12/213611.aspx, > > > > but I think I should be sill OK as I'm working with UDP and I'm not > > > > trying to change the source address of anything. > > > > Does anyone have any advice on starting with raw socket programming? I > > > > have downloaded and am looking at Rock Saw at the > > > > moment(http://www.savarese.org/software/rocksaw/). Any other advice > > > > welcome. > > > > Does JavaSE or OpenJDK use raw sockets for its functionality, or does > > > > it do something else? I am going to start looking into this next. > > > > > > > > 3. Winpcap 4.0 beta 3 > > > > Haven't investigated much here. Does this run on top of winsock? Does > > > > anyone know can I send packets using winpcap? Network Packet generator > > > > (http://www.wikistc.org/wiki/Network_packet_generator) is built on > > > > winpcap, has anyone used this on windows? > > > > > > > > Thats my research for the moment. If you have any questions please get > > > > back to me. > > > > > > > > Thanks for reading, > > > > Cormac > > > > > > > > > > > > >