01-08-2021, 12:10 PM
Quick update. Think I've figured it out. The fix ends up requiring adding a line of code and commenting out another.
There were 2 issues.
1. The host name / ip address issue in gweb->do_request() I've already touched on. On that, I'm now 99% sure there will be no negative impacts from just commenting out the AI_NUMERICHOST flag and allowing the existing code to resolve the proxy host name. The explicit proxy host -> ip address conversion block is commented out and available if I'm wrong about that. It looks like this might come up again on sending messages, but I'm not there yet.
2. Requests to AT&T need to explicitly tell AT&T's servers to close connections. As a result, I was seeing absurdly long time-outs for every request. Fortunately mmsd has a parameter for that and the functionality is already there. I've added a line in service.c->mms_service_bearer_notify() to set the parameter. I am not sure if this will impact other carriers negatively.
Those two little tweaks has mmsd working quite well across AT&T's proxy now. If anyone wants to try out these changes on different carriers, I'd love to know if they break anything for anyone else.
My working repo is: https://source.puri.sm/Kent/mmsd
There were 2 issues.
1. The host name / ip address issue in gweb->do_request() I've already touched on. On that, I'm now 99% sure there will be no negative impacts from just commenting out the AI_NUMERICHOST flag and allowing the existing code to resolve the proxy host name. The explicit proxy host -> ip address conversion block is commented out and available if I'm wrong about that. It looks like this might come up again on sending messages, but I'm not there yet.
2. Requests to AT&T need to explicitly tell AT&T's servers to close connections. As a result, I was seeing absurdly long time-outs for every request. Fortunately mmsd has a parameter for that and the functionality is already there. I've added a line in service.c->mms_service_bearer_notify() to set the parameter. I am not sure if this will impact other carriers negatively.
Those two little tweaks has mmsd working quite well across AT&T's proxy now. If anyone wants to try out these changes on different carriers, I'd love to know if they break anything for anyone else.
My working repo is: https://source.puri.sm/Kent/mmsd