int pagekite_add_relay_listener(pagekite_mgr pkm, int port, int flags) { if (pkm == NULL) return -1; struct pk_manager* m = (struct pk_manager*) pkm; int rv = 0; #ifdef HAVE_IPV6 if (flags & PK_WITH_IPV6) { rv = pkm_add_listener(m, "::", port, (pagekite_callback_t*) &pkr_conn_accepted_cb, (void*) m); } else if (flags & PK_WITH_IPV4) #endif rv = pkm_add_listener(m, "0.0.0.0", port, (pagekite_callback_t*) &pkr_conn_accepted_cb, (void*) m); return rv; }
int pagekite_add_relay_listener(pagekite_mgr pkm, int port, int flags) { if (pkm == NULL) return -1; struct pk_manager* m = (struct pk_manager*) pkm; if (flags & PK_WITH_DEFAULTS) flags |= (PK_WITH_IPV6 | PK_WITH_IPV4); #ifdef HAVE_IPV6 if (flags & PK_WITH_IPV6) { return pkm_add_listener(m, "::", port, (pagekite_callback_t*) &pkr_conn_accepted_cb, (void*) m); } #endif if (flags & PK_WITH_IPV4) { return pkm_add_listener(m, "0.0.0.0", port, (pagekite_callback_t*) &pkr_conn_accepted_cb, (void*) m); } return (pk_error = ERR_NO_IPVX); }
int pklua_lua_pkm_add_socket_server(lua_State *L) { pk_log(PK_LOG_LUA_DEBUG, "pklua_lua_pkm_add_socket_server(%p)", L); int n = lua_gettop(L); if (n != 4 || !lua_istable(L, 1) || !lua_isstring(L, 2) || !lua_isstring(L, 3) || !lua_isnumber(L, 4)) { lua_pushstring(L, "Incorrect arguments"); return lua_error(L); } lua_getfield(L, 1, "_pkm"); if (!lua_islightuserdata(L, -1)) { lua_pushstring(L, "Incorrect arguments"); return lua_error(L); } struct pk_manager* pkm = lua_touserdata(L, -1); lua_remove(L, -1); char* name = lua_tostring(L, 2); char* host = lua_tostring(L, 3); int port = lua_tointeger(L, 4); pklua_socket_server_cb_data* data = malloc(sizeof(pklua_socket_server_cb_data) + strlen(name) + 1); strcpy(data->name, name); data->pkm = pkm; int lport = pkm_add_listener(pkm, host, port, &pklua_socket_server_accepted_cb, (void *) data); if (lport > 0) { pk_log(PK_LOG_LUA_INFO, "Listening for %s on %s:%d (port %d)", name, host, port, lport); return 0; } else { pk_log(PK_LOG_ERROR, "Failed to add listener %s on %s:%d", name, host, port); lua_pushstring(L, "Failed to add listener"); return lua_error(L); } }