version 1.20.2.3, 2016/08/02 12:00:39
|
version 1.21.4.1, 2024/03/20 16:32:35
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004 - 2016 | Copyright 2004 - 2024 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 138 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
Line 138 rpc_Read(int sock, int type, int flags, sockaddr_t * _
|
sockaddr_t sa2; |
sockaddr_t sa2; |
socklen_t salen; |
socklen_t salen; |
int ret = 0, hlen, cx = 0; |
int ret = 0, hlen, cx = 0; |
ether_addr_t bcst = {{ [0 ... sizeof bcst - 1] = 0xff }}; |
|
u_char *buf = AIT_GET_BUF(pkt); |
u_char *buf = AIT_GET_BUF(pkt); |
size_t blen = AIT_LEN(pkt); |
size_t blen = AIT_LEN(pkt); |
struct tagRPCCall *rpc = (struct tagRPCCall *) buf; |
struct tagRPCCall *rpc = (struct tagRPCCall *) buf; |
Line 254 try2read:
|
Line 253 try2read:
|
|
|
/* check RPC packet header */ |
/* check RPC packet header */ |
if (type == SOCK_RAW) { |
if (type == SOCK_RAW) { |
|
#ifdef IPV6_REMOVE_HEADER |
hlen = sa->sa.sa_family == AF_INET ? |
hlen = sa->sa.sa_family == AF_INET ? |
sizeof(struct ip) : sizeof(struct ip6_hdr); |
sizeof(struct ip) : sizeof(struct ip6_hdr); |
|
#else |
|
hlen = sa->sa.sa_family == AF_INET ? |
|
sizeof(struct ip) : 0; |
|
#endif |
ret -= hlen; |
ret -= hlen; |
if (ret > 0) |
if (ret > 0) |
memmove(buf, buf + hlen, blen - hlen); |
memmove(buf, buf + hlen, blen - hlen); |
Line 349 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
Line 353 rpc_Write(int sock, int type, int flags, sockaddr_t *
|
return -1; |
return -1; |
} |
} |
|
|
ret = sendto(sock, buf, blen, flags, &sa->sa, sizeof sa->sa); | ret = sendto(sock, buf, blen, flags, &sa->sa, e_addrlen(sa)); |
break; |
break; |
default: |
default: |
rpc_SetErr(EINVAL, "Invalid argument(s)!"); |
rpc_SetErr(EINVAL, "Invalid argument(s)!"); |