-
Notifications
You must be signed in to change notification settings - Fork 564
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] httpd don't handle any requests #2580
Comments
I replaced libmicrohttpd library file on 0.9.59-2.el7 in test enviroment and HTTPD module started working. But we can't use this version because it is not in the repository |
Hi @MosinAnton , with the culprit version, if you run opensips with debugs (log_level 4), do you see any logs when trying to send some request to the 8888 port? I want to see if there is any reading triggered there. |
There is nothing in the logs. |
We had the same problem. And we just built libmicrohttpd.x86_64 0.9.59-1.el7 to make it work. The problem appears after httpd was migrated to the reactor framework. Seems that old version (0.9.33) can't work in this mode. But we didn't investigate more. |
Hi @vasilevalex , in ded, the new httpd code is using the MHD_USE_POLL option, which seems to be available starting 0.9.50. This is checked at the code level, when compiling the code (and using MHD_USE_EPOLL_LINUX_ONLY for older versions). |
Maybe we should package libmicrohttpd just like wolfssl is packaged. |
Not sure if this is possible . What we need to do is to enforce, for the opensips-modules-httpd package , as install dependency, a requirement to a libmicrohttpd newer than 0.9.50. And this should address the issue. |
On the repository there is a remark that build for centos uses epel repository. Opensips built using some libraries from epel, which has newer libhttpd. |
@nikbyte , maybe here https://github.com/OpenSIPS/opensips/blob/master/packaging/redhat_fedora/opensips.spec#L351 we should add a version requirement too |
I build OpenSIPS for CentOS7 from git with mock (using epel) and there is only 0.9.33-2 version available. And I've seen that compiling is conditional, comparing version with 0.9.50, but seems, that 0.9.33 already has flag MHD_USE_EPOLL_LINUX_ONLY, but don't work with it properly (not 100% sure). We took libmicrohttpd.spec for 0.9.59-1 (the same is in CentOS 8). So may be the simplest way is to put libmicrohttpd.x86_64 0.9.59-1.el7.rpm to CentOS7 repo for OpenSIPS? Not so conservative distros already have working version of this library. |
OK, after some brainstorming with @razvancrainea , we decided not do any version based dependency, but rather to better do a runtime detection, on opensips startup, by using the |
Just for info. I checked the build server and it uses 0.9.33-2 to build on el7. |
And 0.9.59-2 uses different API: libmicrohttpd.so.10 (0.9.33-2) and libmicrohttpd.so.12 (0.9.59-1), so it's impossible just to install OpenSIPS from package and then install library on this server. OpenSIPS must be built with library with the same API. |
we took the packages from here https://cbs.centos.org/koji/buildinfo?buildID=22621 and put them in our repository. Built Opensips with version 0.9.59-2.el7 and everything installs and works fine |
OpenSIPS version you are running
Describe the bug
httpd don't handle requests in 3.2.0
To Reproduce
loadmodule "httpd.so" loadmodule "mi_http.so"
in default config.OS/environment information
Additional context
libmicrohttpd.x86_64 0.9.33-2.el7
The text was updated successfully, but these errors were encountered: