The search is not working. The http socket is used before the connect is finished. I added the below code to http_connect() in weather-http.c and it fixes the problem. else { gint iters_left; for (iters_left = 25; iters_left >= 0; iters_left--) { fd_set wfd; struct timeval tv = { 2, 0 }; int sock_err = 0; socklen_t sock_err_len = sizeof(int); gpointer msg; FD_ZERO(&wfd); FD_SET(fd, &wfd); DBG("checking for a connection..."); /* wait until the connect attempt finishes */ if(select(FD_SETSIZE, NULL, &wfd, NULL, &tv) < 0) break; /* check to see if it finished, and, if so, if there was an * error, or if it completed successfully */ if(FD_ISSET(fd, &wfd)) { if (!getsockopt(fd, SOL_SOCKET, SO_ERROR, &sock_err, &sock_err_len) && !sock_err) { DBG(" connection succeeded"); } else { DBG(" connection failed: sock_err is %d", sock_err); } break; } } return fd; I am not sure that this is the proper place for the code, but it does fix the problem.
I had the same issue, it works for me here now with this patch (OpenBSD -current)
committed in trunk, we'll see if it works ;). Please reopen of it doesn't.
Re-assigning to Colin Leroy who is the new maintainer of the plugin.