Android connect/bind fix
This commit is contained in:
@@ -413,11 +413,12 @@ int (*realclose)(CLOSE_SIG);
|
|||||||
#if defined(__ANDROID__)
|
#if defined(__ANDROID__)
|
||||||
JNIEXPORT jint JNICALL Java_ZeroTier_SDK_zt_1connect(JNIEnv *env, jobject thisObj, jint fd, jstring addrstr, jint port) {
|
JNIEXPORT jint JNICALL Java_ZeroTier_SDK_zt_1connect(JNIEnv *env, jobject thisObj, jint fd, jstring addrstr, jint port) {
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
char *str;
|
const char *str = (*env)->GetStringUTFChars(env, addrstr, 0);
|
||||||
(*env)->ReleaseStringUTFChars(env, addrstr, str);
|
LOGV("zt_connect(): fd = %d\naddr = %s\nport=%d", fd, str, port);
|
||||||
addr.sin_addr.s_addr = inet_addr(str);
|
addr.sin_addr.s_addr = inet_addr(str);
|
||||||
addr.sin_family = AF_INET;
|
addr.sin_family = AF_INET;
|
||||||
addr.sin_port = htons( port );
|
addr.sin_port = htons( port );
|
||||||
|
(*env)->ReleaseStringUTFChars(env, addrstr, str);
|
||||||
return zts_connect(fd, (struct sockaddr *)&addr, sizeof(addr));
|
return zts_connect(fd, (struct sockaddr *)&addr, sizeof(addr));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@@ -452,14 +453,13 @@ int (*realclose)(CLOSE_SIG);
|
|||||||
#if defined(__ANDROID__)
|
#if defined(__ANDROID__)
|
||||||
JNIEXPORT jint JNICALL Java_ZeroTier_SDK_zt_1bind(JNIEnv *env, jobject thisObj, jint fd, jstring addrstr, jint port) {
|
JNIEXPORT jint JNICALL Java_ZeroTier_SDK_zt_1bind(JNIEnv *env, jobject thisObj, jint fd, jstring addrstr, jint port) {
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
char *str;
|
const char *str = (*env)->GetStringUTFChars(env, addrstr, 0);
|
||||||
// = env->GetStringUTFChars(addrstr, NULL);
|
LOGV("zt_bind(): fd = %d\naddr = %s\nport=%d", fd, str, port);
|
||||||
(*env)->ReleaseStringUTFChars(env, addrstr, str);
|
|
||||||
addr.sin_addr.s_addr = inet_addr(str);
|
addr.sin_addr.s_addr = inet_addr(str);
|
||||||
addr.sin_family = AF_INET;
|
addr.sin_family = AF_INET;
|
||||||
addr.sin_port = htons( port );
|
addr.sin_port = htons( port );
|
||||||
//return zt_bind(fd, (struct sockaddr *)&addr, sizeof(addr));
|
(*env)->ReleaseStringUTFChars(env, addrstr, str);
|
||||||
return 0;
|
return zt_bind(fd, (struct sockaddr *)&addr, sizeof(addr));
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -532,10 +532,8 @@ int (*realclose)(CLOSE_SIG);
|
|||||||
#if defined(__ANDROID__)
|
#if defined(__ANDROID__)
|
||||||
JNIEXPORT jint JNICALL Java_ZeroTier_SDK_zt_1accept(JNIEnv *env, jobject thisObj, jint fd, jstring addrstr, jint port) {
|
JNIEXPORT jint JNICALL Java_ZeroTier_SDK_zt_1accept(JNIEnv *env, jobject thisObj, jint fd, jstring addrstr, jint port) {
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
char *str;
|
// TODO: Send addr info back to Javaland
|
||||||
// = env->GetStringUTFChars(addrstr, NULL);
|
addr.sin_addr.s_addr = inet_addr("");
|
||||||
(*env)->ReleaseStringUTFChars(env, addrstr, str);
|
|
||||||
addr.sin_addr.s_addr = inet_addr(str);
|
|
||||||
addr.sin_family = AF_INET;
|
addr.sin_family = AF_INET;
|
||||||
addr.sin_port = htons( port );
|
addr.sin_port = htons( port );
|
||||||
return zts_accept(fd, (struct sockaddr *)&addr, sizeof(addr));
|
return zts_accept(fd, (struct sockaddr *)&addr, sizeof(addr));
|
||||||
|
|||||||
Reference in New Issue
Block a user