Age | Commit message (Collapse) | Author |
|
- RFC2292 bis compliance: enable checksumming of ICMPv6 raw
sockets by default, reject odd offsets
- calculate checksum correctly when user forgets to
uninitialize checksum word
* net/ipv6/raw_ipv6.c (rawv6_frag_cksum): Fix offset check. Compensate for any
user-provided checksum.
(rawv6_setsockopt): Reject odd checkum offsets with EINVAL.
(rawv6_init_sk): Enable kernel-computed checksum by default for
IPPROTO_ICMPV6 sockets.
|
|
This fixes the errno return value for getpeername() calls on not connected
sockets: the return value of the `getname' call comes from the Linux code, so it
is a negative value, in case of error.
* pfinet/misc.c (make_sockaddr_port): Turn negative error values returned by
`getname' calls into positive values before returning it.
|
|
* pfinet/ethernet.c (ethernet_change_flags): New function.
* pfinet/pfinet.h (ethernet_change_flags): New declaration.
* pfinet/iioctl-ops.c (S_iioctl_siocsifflags): Also call
`ethernet_change_flags' after calling `dev_change_flags'.
|
|
* pfinet/sched.c (net_bh_worker): Use the net_bh_lock mutex instead of
the global_lock mutex for the net_bh_wakeup condition variable.
|
|
* pfinet/io-ops.c (S_io_read): Check return value.
* pfinet/socket-ops.c (S_socket_recv): Likewise.
|
|
* pfinet/io-ops.c (S_io_read): On error, free data array if it was
allocated.
|
|
* pfinet/glue-include/linux/sched.h (schedule_timeout): Make the
automatically-allocated wait_queue pointer static instead of dynamic (and lost).
|
|
* pfinet/linux-src/include/asm-i386/checksum.h (ip_fast_csum):
Add memory clobber to assembly snippet.
(csum_ipv6_magic): Likewise.
|
|
* pfinet/linux-src/net/ipv4/tcp_ipv4.c (tcp_v4_connect): xchg
&rt->u.dst instead of just rt with sk->dst_cache.
|
|
* ChangeLog: Wipe out content, and add instructions about how to get it back.
* auth/ChangeLog: Remove file.
* benchmarks/ChangeLog: Likewise.
* boot/ChangeLog: Likewise.
* bsdfsck/ChangeLog: Likewise.
* config/ChangeLog: Likewise.
* console-client/ChangeLog: Likewise.
* console/ChangeLog: Likewise.
* daemons/ChangeLog: Likewise.
* defpager/ChangeLog: Likewise.
* doc/ChangeLog: Likewise.
* exec/ChangeLog: Likewise.
* ext2fs/ChangeLog: Likewise.
* fatfs/ChangeLog: Likewise.
* fstests/ChangeLog: Likewise.
* ftpfs/ChangeLog: Likewise.
* hostmux/ChangeLog: Likewise.
* hurd/ChangeLog: Likewise.
* include/ChangeLog: Likewise.
* init/ChangeLog: Likewise.
* isofs/ChangeLog: Likewise.
* libcons/ChangeLog: Likewise.
* libdirmgt/ChangeLog: Likewise.
* libdiskfs/ChangeLog: Likewise.
* libfshelp/ChangeLog: Likewise.
* libftpconn/ChangeLog: Likewise.
* libhurdbugaddr/ChangeLog: Likewise.
* libihash/ChangeLog: Likewise.
* libiohelp/ChangeLog: Likewise.
* libnetfs/ChangeLog: Likewise.
* libpager/ChangeLog: Likewise.
* libpipe/ChangeLog: Likewise.
* libports/ChangeLog: Likewise.
* libps/ChangeLog: Likewise.
* libshouldbeinlibc/ChangeLog: Likewise.
* libstore/ChangeLog: Likewise.
* libthreads/ChangeLog: Likewise.
* libtrivfs/ChangeLog: Likewise.
* login/ChangeLog: Likewise.
* mach-defpager/ChangeLog: Likewise.
* nfs/ChangeLog: Likewise.
* nfsd/ChangeLog: Likewise.
* pfinet/ChangeLog: Likewise.
* pflocal/ChangeLog: Likewise.
* proc/ChangeLog: Likewise.
* release/ChangeLog: Likewise.
* serverboot/ChangeLog: Likewise.
* storeio/ChangeLog: Likewise.
* sutils/ChangeLog: Likewise.
* term/ChangeLog: Likewise.
* tmpfs/ChangeLog: Likewise.
* trans/ChangeLog: Likewise.
* ufs-fsck/ChangeLog: Likewise.
* ufs-utils/ChangeLog: Likewise.
* ufs/ChangeLog: Likewise.
* usermux/ChangeLog: Likewise.
* utils/ChangeLog: Likewise.
|
|
* linux-src/net/ipv6/addrconf.c (ipv6_addr_type): Use
__in6_u.__u6_addr32 member instead of in6_u.u6_addr32.
* linux-src/net/ipv6/icmpv6.c (icmpv6_rcv): Use
__in6_u.__u6_addr16 member instead of in6_u.u6_addr16.
|
|
* glue-include/linux/socket.h: Revert last change.
(MSG_NOSIGNAL): Guard definition and add a compile-time warning.
|
|
|
|
|
|
* options.c (ipv6_get_dflt_router) [CONFIG_IPV6]: New function.
(parse_opt) [CONFIG_IPV6]: Don't delete IPv6 interface address, if
it would be re-added immediately, but delete if otherwise.
Do not touch inet6_ifaddr after inet6_addr_del was called.
Don't purge and re-add IPv6 default router unless necessary.
(trivfs_append_args) [CONFIG_IPV6]: Use ipv6_get_dflt_router.
* linux-src/net/ipv6/addrconf.c (ipv6_del_addr): Call del_timer
on ifp->timer.
|
|
* iioctl-ops.c (S_iioctl_siocgifhwaddr): New function.
|
|
* linux-src/net/ipv6/af_inet6.c (inet6_getname): Initialize
sin6_scope_id.
* linux-src/net/ipv6/datagram_ipv6.c (ipv6_recv_error): Likewise.
* linux-src/net/ipv6/tcp_ipv6.c (v6_addr2sockaddr): Likewise.
* linux-src/net/ipv6/udp_ipv6.c (udpv6_recvmsg): Likewise.
* linux-src/net/ipv6/raw_ipv6.c (rawv6_recvmsg): Likewise.
* linux-src/net/ipv6/af_inet6.c (inet6_bind): For link-local IPv6
addresses copy sin6_scope_id to bound_dev_if and error out unless
bound.
* linux-src/net/ipv6/tcp_ipv6.c (tcp_v6_connect): Likewise.
* linux-src/net/ipv6/udp_ipv6.c (udpv6_connect): Likewise.
* linux-src/net/ipv6/raw_ipv6.c (rawv6_bind): Likewise.
* linux-src/net/ipv6/raw_ipv6.c (rawv6_sendmsg): For link-local
IPv6 addresses bind packet to interface specified by sin6_scope_id.
* linux-src/net/ipv6/udp_ipv6.c (udpv6_sendmsg): Likewise.
|
|
* README: How to find information about IPv6 support.
|
|
* iioctl-ops.c: Include <net/sock.h>.
(siocgifXaddr): Return EINVAL unless socket family is AF_INET.
(siocsifXaddr): Likewise.
|
|
|
|
|
|
|
|
* config.h (CONFIG_IPV6, CONFIG_IPV6_EUI64): New defines,
set to 1.
* Makefile (ipv6-srcs): New variable.
(LINUXSRCS): Add ipv6-srcs.
* ethernet.c (ethernet_demuxer): Call skb_put instead of changing
skb->len directly, and thus now update skb->tail accordingly.
* pfinet.h (PORTCLASS_INET, PORTCLASS_INET6): New enums.
(trivfs_protid_portclasses, trivfs_protid_nportclasses)
(trivfs_cntl_portclasses, trivfs_cntl_nportclasses): Declare
these.
(pfinet_bootstrap_portclass): New variable.
(pfinet_bind): New function.
* main.c: Define _HACK_ERRNO_H. Include <errno.h>.
(trivfs_protid_portclasses, trivfs_cntl_portclasses): New slots
for PORTCLASS_INET6.
(trivfs_protid_nportclasses, trivfs_cntl_nportclasses): Set to 2.
(pfinet_bootstrap_portclass): New variable.
(pfinet_bind): New function.
(pfinet_activate_ipv6) [CONFIG_IPV6]: New function.
(main) [CONFIG_IPV6]: Call inet6_proto_init.
(main): Reordered to allow pfinet to not be started as a
translator, if pfinet_bind is used. If started as a translator,
treat pfinet_bootstrap_portclass when calling trivfs_startup.
* options.c: Include <net/sock.h>, <net/ip6_fib.h>,
<net/ip6_route.h> and <net/addrconf.h>.
(options): New option `ipv4'.
(options) [CONFIG_IPV6]: New options `ipv6', `address6' and
`gateway6'.
(parse_interface) [CONFIG_IPV6]: Add address6 and gateway6.
(parse_hook_add_interface) [CONFIG_IPV6]: Initialize address6 and
gateway6.
(parse_opt): Parse new args.
* socket-ops.c (S_socket_create): Call either
net_families[PF_INET]->create or net_families[PF_INET6]->create,
depending on receiving master.
(S_socket_create_address): Allow creation of AF_INET6 addresses.
* glue-include/asm/delay.h: New stub file.
* glue-include/linux/ipv6.h: Merged many bits unmodified from Linux
header file.
* glue-include/linux/in6.h: Likewise.
(ipv6mr_ifindex): New define, glue to ipv6mr_interface.
* glue-include/linux/socket.h (SOL_IPV6, SOL_ICMPV6): New defines.
* linux-src/net/ipv6/addrconf.c (ipv6_find_idev, inet6_addr_add)
(inet6_addr_del) [_HURD_]: Make these non-static.
(addrconf_set_dstaddr, addrconf_add_ifaddr, addrconf_del_ifaddr)
[_HURD_]: Don't define these functions.
* linux-src/net/ipv6/route_ipv6.c (ipv6_route_ioctl) [_HURD_]:
Likewise.
* linux-src/net/ipv6/af_inet6.c (inet6_ioctl) [_HURD_]: Don't
define the function, instead #define it to 0.
(inet6_proto_init) [_HURD_]: Don't call sit_init.
* linux-src/net/ipv6/udp_ipv6.c (udp_ioctl) [_HURD_]: Define
to 0.
(udp_v6_get_port): Put empty statement after label to silence
compiler.
* linux-src/net/ipv6/tcp_ipv6.c (tcp_v6_get_port, tcp_v6_rcv):
Likewise.
* linux-src/net/ipv6/icmpv6.c (icmpv6_rcv): Likewise.
(icmpv6_init) [_HURD_]: Don't initialize i_uid and i_gid.
* linux-src/net/ipv6/mcast.c (igmp6_init): Likewise.
* linux-src/net/ipv6/ndisc.c (ndisc_init): Likewise.
* linux-src/net/ipv6/ip6_fib.c (BUG_TRAP): Don't use __FUNCTION__
as a string but a variable, to keep gcc happy.
(fib6_walker_list): Make it non-static, to keep gcc happy.
* linux-src/net/ipv6/ip6_flowlabel.c (fl_create) [_HURD_]: Drop
IPV6_FL_S_USER support, since current->euid is not available.
|
|
Import a number of files from Linux 2.2.14. Renamed some of them,
to have unique filenames as required by the make system.
* linux-src/net/ipv6/addrconf.c: Import file.
* linux-src/net/ipv6/af_inet6.c: Likewise.
* linux-src/net/ipv6/exthdrs.c: Likewise.
* linux-src/net/ipv6/ip6_fib.c: Likewise.
* linux-src/net/ipv6/ip6_flowlabel.c: Likewise.
* linux-src/net/ipv6/ip6_input.c: Likewise.
* linux-src/net/ipv6/ip6_output.c: Likewise.
* linux-src/net/ipv6/ipv6_sockglue.c: Likewise.
* linux-src/net/ipv6/mcast.c: Likewise.
* linux-src/net/ipv6/ndisc.c: Likewise.
* linux-src/net/ipv6/reassembly.c: Likewise.
* linux-src/net/ipv6/tcp_ipv6.c: Likewise.
* linux-src/net/ipv6/datagram_ipv6.c: Import file (was datagram.c).
* linux-src/net/ipv6/icmpv6.c: Import file (was icmp.c).
* linux-src/net/ipv6/protocol_ipv6.c: Import file (was protocol.c).
* linux-src/net/ipv6/raw_ipv6.c: Import file (was raw.c).
* linux-src/net/ipv6/route_ipv6.c: Import file (was route.c).
* linux-src/net/ipv6/udp_ipv6.c: Import file (was udp.c).
|
|
[bug #17124 -- ``-fno-strict-aliasing for pfinet'']
* Makefile (CFLAGS): Add ``-fno-strict-aliasing''.
|
|
* options.c (trivfs_append_args): Figure out the address of the default
gateway and push the --gateway option to argz.
|
|
* ethernet.c (ether_filter) [NETF_IN]: Prefix `NETF_IN' to the actual
rules.
|
|
* glue-include/asm/system.h (xchg): Fix invalid lvalue.
* linux-src/net/ipv4/tcp_ipv4.c (tcp_v4_rst_req): Don't use ?: as a
lvalue.
|
|
|
|
* linux-src/net/ipv4/udp.c (udp_v4_get_port): Put empty statement
after label to silence compiler warning.
* linux-src/net/ipv4/tcp_ipv4.c
(tcp_v4_get_port, tcp_v4_connect, tcp_v4_rcv): Likewise.
* linux-src/net/ipv4/route.c (ip_rt_redirect): Likewise.
* linux-src/net/ipv4/arp.c (arp_constructor): Likewise.
|
|
|
|
* linux-src/arch/i386/lib/checksum.S: Fix comment syntax.
|
|
|
|
* linux-src/include/asm-i386/checksum.h (ip_fast_csum): Use
string literals concatenation instead of multi-line string
literal.
(csum_fold): Likewise.
(csum_tcpudp_nofold): Likewise.
(csum_ipv6_magic): Likewise.
* linux-src/include/net/sock.h (SOCK_DEBUG): Don't use ## to
concatenate string literals.
|
|
* Makeconf (CPPFLAGS): Move -std=gnu99 option to ...
(CFLAGS): ... here.
pfinet/
2002-09-17 Marcus Brinkmann <marcus@gnu.org>
* Makefile: Revert last change.
* glue-include/asm/spinlock.h (SPIN_LOCK_UNLOCKED): Do not use a
compound literal, which is not constant.
|
|
* Makefile: For now, filter -std=gnu99 out of CPPFLAGS.
|
|
|
|
* socket-ops.c (S_socket_getopt): Use a local int for result param of
getsockopt hook function.
|
|
|
|
* tunnel.c (trivfs_S_io_read): off_t -> loff_t
(trivfs_S_io_map): Add reply port args.
(trivfs_S_io_read): Fix argument types. Check mmap for failure.
|
|
* pfinet.h (trivfs_protid_t): Type removed (now in trivfs.h).
|
|
* linux-src/include/net/ip_fib.h: Fix obsolescent #endif syntax.
|
|
|
|
* pfinet-ops.c (S_pfinet_siocgifconf): Use vm_size_t for AMOUNT.
|
|
* io-ops.c (S_io_identity): Use ino_t for FILENO.
|
|
|
|
* Makefile (LINUXSRCS): Search for .S files as well as .c files
for arch-lib-srcs modules.
(OBJS): .S -> .o as well as .c -> .o
|
|
|
|
* sched.c (net_bh_worker): Add return stmt to quiet gcc warning.
|
|
* Makefile (LINUXSRCS): Search for .S files as well as .c files
for arch-lib-srcs modules.
|