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