Fix SSL client-only mode when no RSA private key is needed.

Found by andre@ with the args-ssl-server.pl regress test.

ok andre@
we need to crank
millert said i can kill rshd
Factor out build_probe{4,6} from send_probe; now send_probe is
AF independent. While there define outpacket as u_char and
cast as needed in traceroute6.
OK benno@
Malak: I think we made the merchant angry.
Conan: Are you surprised?
Malak: But we didn't steal everything he had!
Conan: We didn't have time.
Embed struct tv32 into struct opacket like traceroute.
This changes the data part of an icmp6 paket, before it only
contained the timestamp, now it contains a whole struct opacket.
Shouldn't be an issue as nobody looks at this data anyway.
OK benno@
sync to traceroute: s/opacket/packetdata/
OK lteo@, benno@
sync packet_ok signature to traceroute6
OK benno@
Sync to tracroute: handle "time exceeded in transit" before the
switch and add a default case.
OK benno@
spacing
spacing
guenther would prefer more separation
Sync to tracroute: don't print source IP if -s is not given
OK benno@ (who wants it back in some form after the merge)
fix previous
If -s is not given do a dummy connect to get outgoing ip,
unconditionally try to bind to this ip and get a source port for udp
this way, like traceroute6 is doing.  This means you can no longer
traceroute from IPs not present on the system. (There are probably
better tools if you want to send traffic from spoofed IPs.)
OK benno@
sync to traceroute:
* s/Dst/to/
* s/Src/from/
* drop Rcv
OK benno@
move ICMP code parsing to function
OK benno@
move ICMP6 code parsing to function
OK benno@
move cast from packet to ip up to avoid casts in print()
OK benno@
Structure wait_for_reply() loop like traceroute, thereby moving the
loop body one indent layer up.
OK benno@