Change error behavior: Return ZTS_ERR_SERVICE in all cases before checking anything else

This commit is contained in:
Joseph Henry
2021-03-14 01:02:43 -08:00
parent c220bb7d2f
commit 4eb8304efe

View File

@@ -69,15 +69,15 @@ JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_socket(
int zts_connect(int fd, const struct zts_sockaddr *addr, zts_socklen_t addrlen)
{
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!addr) {
return ZTS_ERR_ARG;
}
if (addrlen > (int)sizeof(struct zts_sockaddr_storage) || addrlen < (int)sizeof(struct zts_sockaddr_in)) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
return lwip_connect(fd, (sockaddr*)addr, addrlen);
}
#ifdef ZTS_ENABLE_JAVA
@@ -94,15 +94,15 @@ JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_connect(
int zts_bind(int fd, const struct zts_sockaddr *addr, zts_socklen_t addrlen)
{
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!addr) {
return ZTS_ERR_ARG;
}
if (addrlen > (int)sizeof(struct zts_sockaddr_storage) || addrlen < (int)sizeof(struct zts_sockaddr_in)) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
return lwip_bind(fd, (sockaddr*)addr, addrlen);
}
@@ -266,15 +266,15 @@ JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_getsockopt(
int zts_getsockname(int fd, struct zts_sockaddr *addr, zts_socklen_t *addrlen)
{
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!addr) {
return ZTS_ERR_ARG;
}
if (*addrlen > (int)sizeof(struct zts_sockaddr_storage) || *addrlen < (int)sizeof(struct zts_sockaddr_in)) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
return lwip_getsockname(fd, (sockaddr*)addr, (socklen_t*)addrlen);
}
#ifdef ZTS_ENABLE_JAVA
@@ -291,15 +291,15 @@ JNIEXPORT jboolean JNICALL Java_com_zerotier_libzt_ZeroTier_getsockname(JNIEnv *
int zts_getpeername(int fd, struct zts_sockaddr *addr, zts_socklen_t *addrlen)
{
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!addr) {
return ZTS_ERR_ARG;
}
if (*addrlen > (int)sizeof(struct zts_sockaddr_storage) || *addrlen < (int)sizeof(struct zts_sockaddr_in)) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
return lwip_getpeername(fd, (sockaddr*)addr, (socklen_t*)addrlen);
}
#ifdef ZTS_ENABLE_JAVA
@@ -400,12 +400,12 @@ int zts_poll(struct zts_pollfd *fds, nfds_t nfds, int timeout)
int zts_ioctl(int fd, unsigned long request, void *argp)
{
if (!argp) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!argp) {
return ZTS_ERR_ARG;
}
return lwip_ioctl(fd, request, argp);
}
#ifdef ZTS_ENABLE_JAVA
@@ -435,12 +435,12 @@ JNIEXPORT int JNICALL Java_com_zerotier_libzt_ZeroTier_ioctl(
ssize_t zts_send(int fd, const void *buf, size_t len, int flags)
{
if (!buf) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!buf) {
return ZTS_ERR_ARG;
}
return lwip_send(fd, buf, len, flags);
}
#ifdef ZTS_ENABLE_JAVA
@@ -457,15 +457,15 @@ JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_send(
ssize_t zts_sendto(int fd, const void *buf, size_t len, int flags,
const struct zts_sockaddr *addr,zts_socklen_t addrlen)
{
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!addr || !buf) {
return ZTS_ERR_ARG;
}
if (addrlen > (int)sizeof(struct zts_sockaddr_storage) || addrlen < (int)sizeof(struct zts_sockaddr_in)) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
return lwip_sendto(fd, buf, len, flags, (sockaddr*)addr, addrlen);
}
#ifdef ZTS_ENABLE_JAVA
@@ -494,12 +494,12 @@ ssize_t zts_sendmsg(int fd, const struct msghdr *msg, int flags)
ssize_t zts_recv(int fd, void *buf, size_t len, int flags)
{
if (!buf) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!buf) {
return ZTS_ERR_ARG;
}
return lwip_recv(fd, buf, len, flags);
}
#ifdef ZTS_ENABLE_JAVA
@@ -516,12 +516,12 @@ JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_recv(JNIEnv *env, jobjec
ssize_t zts_recvfrom(int fd, void *buf, size_t len, int flags,
struct zts_sockaddr *addr, zts_socklen_t *addrlen)
{
if (!buf) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!buf) {
return ZTS_ERR_ARG;
}
return lwip_recvfrom(fd, buf, len, flags, (sockaddr*)addr, (socklen_t*)addrlen);
}
#ifdef ZTS_ENABLE_JAVA
@@ -541,12 +541,12 @@ JNIEXPORT jint JNICALL Java_com_zerotier_libzt_ZeroTier_recvfrom(
// TODO: JNI version
ssize_t zts_recvmsg(int fd, struct msghdr *msg, int flags)
{
if (!msg) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!msg) {
return ZTS_ERR_ARG;
}
return lwip_recvmsg(fd, msg, flags);
}
#ifdef ZTS_ENABLE_JAVA
@@ -554,22 +554,22 @@ ssize_t zts_recvmsg(int fd, struct msghdr *msg, int flags)
ssize_t zts_read(int fd, void *buf, size_t len)
{
if (!buf) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!buf) {
return ZTS_ERR_ARG;
}
return lwip_read(fd, buf, len);
}
ssize_t zts_read_offset(int fd, void *buf, size_t offset, size_t len)
{
if (!buf) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!buf) {
return ZTS_ERR_ARG;
}
char *cbuf = (char*)buf;
return lwip_read(fd, &(cbuf[offset]), len);
}
@@ -611,12 +611,12 @@ ssize_t zts_readv(int s, const struct zts_iovec *iov, int iovcnt)
ssize_t zts_write(int fd, const void *buf, size_t len)
{
if (!buf) {
return ZTS_ERR_ARG;
}
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
if (!buf) {
return ZTS_ERR_ARG;
}
return lwip_write(fd, buf, len);
}
#ifdef ZTS_ENABLE_JAVA
@@ -733,6 +733,9 @@ extern struct stats_ lwip_stats;
int zts_get_all_stats(struct zts_stats *statsDest)
{
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
#if LWIP_STATS
if (!statsDest) {
return ZTS_ERR_ARG;
@@ -764,12 +767,12 @@ int zts_get_all_stats(struct zts_stats *statsDest)
return ZTS_ERR_NO_RESULT;
#endif
}
#ifdef ZTS_ENABLE_JAVA
// No implementation for JNI
#endif
int zts_get_protocol_stats(int protocolType, void *protoStatsDest)
{
if (!(_serviceStateFlags & ZTS_STATE_NET_SERVICE_RUNNING)) {
return ZTS_ERR_SERVICE;
}
#if LWIP_STATS
if (!protoStatsDest) {
return ZTS_ERR_ARG;