Commit Graph

47 Commits

Author SHA1 Message Date
fengbojiang 1152067e93 The msghdr.msg_iov->iov_base and msghdr.msg_iov->iov_len of ff_sendmsg() and ff_recvmsg() compatible with the Linux.
Note: linux2freebsd_msghdr and freebsd2linux_msghdr must be called in sequence and in pairs.
2024-10-17 16:29:08 +08:00
fengbojiang 19b67af558 gettimeofday automatically compatible with different glibc versions. 2023-10-19 16:48:44 +08:00
fengbojiang 5313779e2b Fix missing sizeof(). 2023-09-13 13:12:13 +08:00
fengbojiang eb5544bec0 Modify IP_TTL to type int in freebsd2linux_cmsghdr while ff_recvmsg. 2023-09-13 12:57:33 +08:00
fengbojiang 51dc2a507f Fix some issue of ff_sendmsg and ff_recvmsg. 2023-09-05 20:32:04 +08:00
fengbojiang 8bf6ef65e0 Support LINUX_IP_TRANSPARENT and LINUX_IPV6_TRANSPARENT to IP_BINDANY
and IPV6_BINDANY in lib/ff_syscall_wrapper.c.
2023-09-01 16:17:56 +08:00
fengbojiang 0a92bc396c fix some issue of ff_sendmsg and ff_recvmsg, build pass, to be tested.
Ref #768 #775.
2023-08-25 18:00:57 +08:00
fengbojiang fe40712835 Revert "fix cmsg for sendmsg". Fix #778.
This reverts commit 9582dbb778.
2023-08-11 15:13:37 +08:00
sarosh 9582dbb778 fix cmsg for sendmsg 2023-06-12 15:04:29 +05:00
fengbojiang f7da542ada fix some issue. 2022-09-02 19:41:14 +08:00
fengbojiang ff8fd2bdc7 Merge branch 'dev' 2022-09-02 16:51:22 +08:00
Sarosh Arif 06447d0b38 ff_syscall_wrapper.c: in ff_recvfrom() in case of zero *fromlen, *from will not be filled with garbadge values 2022-08-23 15:46:55 +05:00
Fidaullah Noonari b3fc40d0d7 Add IP_MINTTL flag in ff_syscall_wrapper.c. 2022-06-02 10:07:06 +05:00
Fidaullah Noonari f159b88fa6 remove for loop 2022-04-25 12:55:15 +05:00
Fidaullah Noonari 7aaa203ad6 remove cmsg_len error 2022-04-22 12:03:55 +05:00
Fidaullah Noonari 584a11ee03 ff_syscall_wrapper.c: add linux_cmsghdr and its support in recvmsg
add support for IP_RECVTTL and IP_RECVTOS
2022-04-22 11:22:44 +05:00
fengbojiang 4093ffd426 Update LICENCE. 2021-09-18 16:05:45 +08:00
fengbojiang e7b7fb6cc9 FreeBSD: Upgrade to FreeBSD-releng-13.0 compiled, to be tested. 2021-08-31 19:00:09 +08:00
Hawker 51108f9c2e support `IPV6_RECVPKTINFO` 2021-03-06 19:19:03 +08:00
Hawker d428f7900c Support IPPROTO_IPV6
f-stack中缺乏对`IPPROTO_IPV6`协议相关选项`IPV6_V6ONLY`的支持;无法在ipv6兼容ipv4场景进行网络通信。调用setsockopt时会出现失败。
2021-03-06 19:19:03 +08:00
fengbojiang 8fb48d649e Fix #560, Wrong msg_flags in struct msghdr after calling ff_recvmsg in a Linux application. 2021-03-06 19:18:52 +08:00
fengbojiang 6798bf3e3d Fix #560, Wrong msg_flags in struct msghdr after calling ff_recvmsg in a Linux application. 2021-03-06 19:04:46 +08:00
fengbojiang 3a84cd1fec User APP can use AF_INET6/PF_INET6 directly whether call ff socket or linux API, such as inet_ntoa/inet_aton. 2020-09-03 01:35:22 +08:00
fengbojiang 8d21adc4b7 User APP can use AF_INET6/PF_INET6 directly whether call ff socket or linux API, such as inet_ntoa/inet_aton. 2020-09-03 01:35:22 +08:00
rolfliu 37720803e1 Fix #43 #434 for Nginx transparent proxy 2020-01-10 14:26:02 +08:00
rolfliu 851ac5c081 Fix #43 #434 for Nginx transparent proxy 2020-01-10 14:26:02 +08:00
fengbojiang 86cd82dc87 SOCKET: support `SO_REUSEPORT`. 2019-11-04 10:44:07 +08:00
fengbojiang 7f7be099b6 SOCKET: support `SO_REUSEPORT`. 2019-11-04 10:44:07 +08:00
fengbojiang(姜凤波) adfdf56113 IPv6: FreeBSD stack and f-stack support ipv6. 2019-07-12 20:56:01 +08:00
fengbojiang(姜凤波) d7140ab746 IPv6: FreeBSD stack and f-stack support ipv6. 2019-07-12 20:56:01 +08:00
teacup-on-rockingchair d3f10a087d Add support for getsockopt TCP_INFO 2019-02-24 10:51:25 +02:00
whl739 867abe45fa Misc: some updates.
1.add interface `ff_dup` and `ff_dup2`.
2.add interface `ff_ioctl_freebsd`/`ff_getsockopt_freebsd`/`ff_setsockopt_freebsd` for tools.
3.initial parameter `proc-type` can be NULL, default "auto".
2018-06-10 20:41:48 +08:00
chenwei d16cce93d7 API: [BugFix] On success, `ff_sendmsg` return the number of chars sent. 2018-04-09 11:22:26 +08:00
chenwei 6c629acab4 API : ff_sendmsg, use transient variables to avoid polluting user's data. 2018-02-02 17:58:17 +08:00
chenwei d8829f7e5a API : fix bug of ff_sendmsg and ff_recvmsg
freebsd and linux have a different "struct sockaddr".
In ff_recvmsg and ff_recvmsg, ```msg->msg_name```,which can refer to address, can be expected to be converted .
2018-02-02 15:28:58 +08:00
logwang 8740605f9d Remove the unusable api `ff_socketpair`.
Since F-Stack doesn't support AF_UNIX. ff_socketpair couldn't work and
should be removed.
2017-12-27 14:59:15 +08:00
whl739 127dd473af Add tool: ipfw.
ipfw -- interface for firewall, packet scheduler, NAT and so on.

It is comprised of several components: the kernel firewall filter rule processor and its integrated packet accounting facility, the logging facility, NAT, a forward facility, a bridge facility, and an ipstealth facility.
Note that the `dummynet` traffic shaper is not merged.
2017-11-14 16:44:32 +08:00
logwang bffb72754c Misc: make example in travis-ci and fix return value of `ff_connect`. 2017-10-31 11:08:04 +08:00
logwang 7e048838a7 Add API: ff_gettimeofday.
Since f-stack run with polling mode, nginx will call gettimeofday every loop, and cost a lot.
With this commit, f-stack will update current timespec periodically in
ff_hardclock_job. And ff_gettimeofday will get this value.
In nginx, hijack gettimeofday to call ff_gettimeofday.
2017-08-04 18:04:43 +08:00
logwang 3132126c98 Merge branch master of https://github.com/F-Stack/f-stack 2017-06-14 15:38:42 +08:00
logwang 144c6bcd95 Add tool: route.
This commit ports FreeBSD `route` to F-Stack, can be used to set the route
table.
2017-06-14 15:25:35 +08:00
Ron 850cbeb422 kevent copyout directly without 2017-06-13 19:26:38 +08:00
Ron 1a78ce8ea6 epoll optimization, add ff_kevent_do_each 2017-06-13 17:50:51 +08:00
derness c9f0232b74 fix memory leak issue. 2017-06-07 13:18:11 +08:00
logwang df6ad73146 Add tool: ifconfig.
Changes:
    Remove directory `ipc`, and add a new directory `compat`.
    Directory `compat` includes some FreeBSD source files to be compatible
        with Linux.
    Port FreeBSD ifconfig to F-Stack.
2017-06-06 16:52:52 +08:00
logwang 2d99e60c29 Tools/sysctl: make porting more general.
When porting tools, We should change the original codes as few as
possible.
2017-05-27 03:29:29 +08:00
logwang a9643ea85c init 2017-04-21 18:43:26 +08:00