Code Monkey home page Code Monkey logo

mod_proxy_msrpc's People

Contributors

bombadil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mod_proxy_msrpc's Issues

centos 7 x64 apache 2.4.6

i have multiple error messages in apache error log after enabling module
[:error] [pid 26116] AH00000: sd_notifyf returned an error -111

Bad PDU length 0

Hi,

I've set up a apache reverse proxy with apache 2.4.4-2 and built your module. I've also added "OutlookAnywherePassthrough On" in my rproxy.conf.
The owa reverse proxy works like a charm but when launching Outlook 2010 and try to log on i get this in error log :

[proxy_msrpc:error] [pid 11895:tid 2956430192] [client 1.2.3.4.5:50352] RPC_IN_DATA: failed to read request body - bad PDU length 0
but also this at the same time
"RPC_IN_DATA /rpc/rpcproxy.dll?exchange.domain.com:6001 HTTP/1.1" 400 1693 "-" "MSRPC"

Is there any tricks to make things work ?
Thanks.

APR path help

I have a src installed version of APR 1.4.8 and Apache 2.4.9 on Ubuntu LTS. I am hitting a really stupid error, but I was hoping you could help me. The configure step is failing on the APR check, likely because pkg-config cannot find APR, so its failing.

I am trying to pass APR_LIBS and APR_CFLAGS but in all honesty I am not sure what to put there and theres not a terrible amount of documentation out there.

Thanks in advance!

Failed to sync Outlook Session & The registered Outlook Session is in unexpected state 'BROKEN'

Hi,
Thanks for sharing this awesome module. I'm a novice for Apache, there are some error in our test server, can you help me with this?

[Wed Sep 24 11:21:24.151018 2014] [proxy_msrpc:error] [pid 20738:tid 140564840613632] [client 172.30.243.240:37321] RPC_OUT_DATA: server 10.196.25.152:443 (10.196.25.152) did not accept initial PDU (HTTP status code 401)
[Wed Sep 24 11:21:24.188617 2014] [proxy_msrpc:error] [pid 21424:tid 140564765079296] [client 172.30.243.240:44340] RPC_IN_DATA: Failed to sync Outlook Session f3a34812-7ee8-c26c-2653-dd12cbbe7063: 2
[Wed Sep 24 11:21:24.188684 2014] [proxy_msrpc:error] [pid 21424:tid 140564765079296] [client 172.30.243.240:44340] RPC_IN_DATA: The registered Outlook Session f3a34812-7ee8-c26c-2653-dd12cbbe7063 is in unexpected state 'BROKEN'

undefined symbol: ap_global_mutex_create at apache2 restart

We successfully compiled the module, copied .libs/mod_proxy_msrpc.so to /usr/lib/apache2/modules/mod_proxy_msrpc.so
We created the file /etc/apache2/modules-available/proxy_msrpc.load with content
LoadModule proxy_msrpc_module /usr/lib/apache2/modules/mod_proxy_msrpc.so
a2enmod proxy_msprc,
service apache2 restart
ERROR:
undefined symbol: ap_global_mutex_create
Apache2 is running but not working.
What's wrong?
And, do we really need to use a Proxy Server? Why not publish the server to the internet?
Thank you!
A. Lemke

How to run mod_proxy_msrpc with SELinux being enabled?

Hi,

Thanks for the amazing work! I was successfully able to setup mod_proxy_msrpc on Centos6 and Exchange 2013.

One issue that I encountered was SELinux blocking mod_proxy_msrpc. As setting a secure proxy server is one of the key points of using apache reverseproxy in front of Exchange, there should some guidelines for setting Selinux.

If anybody else has this problem, I was able to debug it. The Outlook session will fail as follows:

[Sun Oct 12 08:00:19.354439 2014] [proxy_msrpc:error] pid 13016Bad file descriptor: [client xx.xx.xx.xx:58006] RPC_IN_DATA: Failed to sync Outlook Session 381b0776-52a2-648f-3a61-b0081ac21173: -1
[Sun Oct 12 08:00:19.354584 2014] [proxy_msrpc:error] [pid 13016] [client xx.xx.xx.xx:58006] RPC_IN_DATA: The registered Outlook Session 381b0776-52a2-648f-3a61-b0081ac21173 is in unexpected state 'BROKEN'
[Sun Oct 12 08:00:24.318429 2014] [proxy_msrpc:error] pid 13018Bad file descriptor: [client xx.xx.xx.xx:58008] RPC_IN_DATA: Failed to sync Outlook Session 8cf34bdc-5735-d466-9b52-0c0fdad1a27f: -1
[Sun Oct 12 08:00:24.318583 2014] [proxy_msrpc:error] [pid 13018] [client xx.xx.xx.xx:58008] RPC_IN_DATA: The registered Outlook Session 8cf34bdc-5735-d466-9b52-0c0fdad1a27f is in unexpected state 'TUNNEL'

audit.log shows:

type=AVC msg=audit(1413097376.604:95): avc: denied { read } for pid=1974 comm="httpd" path="inotify" dev=inotifyfs ino=1 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:inotifyfs_t:s0 tclass=dir

    Was caused by:
            Missing type enforcement (TE) allow rule.

            You can use audit2allow to generate a loadable module to allow this access.

The module apparently fails in msrpc_sync_wait() when setting inotify.
Using setenforce 0 allows Outlook session to continue. I'll try to write some SELinux rules, if anybody has any suggestion, please share them as well...

Meeting request problem

Thanks so much for the email reply. With your help I was able to get it running and it seems to be working for the most part. One issue I am having is with meeting requests. When creating a meeting request it all appears to work fine but the recipient never gets the message. There are also some repeated errors in the apache log:

[Fri Jul 26 17:48:49.250344 2013] [proxy_msrpc:error] [pid 28857:tid 140027577169664] [client 71.81.44.135:41948] RPC_OUT_DATA: proxy_msrpc_read_server_response() returned unexpected status code 50 2 from (null) (outlook.eplweb.com)
[Fri Jul 26 17:48:49.250788 2013] [proxy_msrpc:error] [pid 28731:tid 140027692558080] [client 71.81.44.135:39669] RPC_IN_DATA: Failed to sync Outlook Session ab2fcf18-36f7-f5d2-6726-94134edd8485: 2
[Fri Jul 26 17:48:49.250841 2013] [proxy_msrpc:error] [pid 28731:tid 140027692558080] [client 71.81.44.135:39669] RPC_IN_DATA: The registered Outlook Session ab2fcf18-36f7-f5d2-6726-94134edd8485 is in unexpected state 'BROKEN'

Perhaps my config is missing something?

Regards,

Aaron

some of the required header files could not be found

I am getting the following error when running ./configure:
configure: error: some of the required header files could not be found.

OS: latest CentOS 8

I installed the following via yum:
yum groupinstall "Development Tools"
yum install httpd-devel
yum install check-devel
yum install header-devel
yum install libstdc++-devel
yum install gcc-toolset-9-libstdc++-devel
yum install kernel-headers
headers_module ist active

Anyone knows which package is missing?

Segmentation fault on 64 bit system

Hello,

First of all, thanks for your work.

I've build the module on apache2.4.6 following the instruction and everything went fine. It loads and RPC data seem to go throught it.

But apache2 segfault at the end of every request:
RPC_OUT_DATA: HTTP request sent to (null) (mail.contoso.com), now waiting for a response
RPC_OUT_DATA: server refused MSRPC request: [HTTP/1.1 401 Unauthorized]
RPC_OUT_DATA: Forwarded all HTTP response headers to client
RPC_OUT_DATA: no HTTP response body
RPC_OUT_DATA: Forwarded the HTTP response to client
RPC_OUT_DATA: proxy_msrpc_read_server_response() returned status code 401
RPC_OUT_DATA: proxy_msrpc_handler finished for request without body
RPC_IN_DATA: got 1 bytes of request body from client
RPC_IN_DATA: got 9 bytes of request body from client
RPC_IN_DATA: MSRPC PDU length: 104 (10 already in buffer)
RPC_IN_DATA: trying to get 94 more bytes from request body
RPC_IN_DATA: MSRPC PDU length: 104 (completely in buffer)
--- Segmentation Fault ---

I tried with apache 2.4.4 but i had the same issue.

Doesn't build on big-endian architectures

Update Documentation for Apache Requirements - Example Conf

First, thanks for the providing the community with a solution we've all been longing for. There is nothing else like it.

I've been testing the module for about 3 months now - finding a couple of issues here and there to resolve, mostly with the apache config, not the mod_proxy_msrpc module.

I'm not an Apache pro, but can stumble through what's required by troubleshooting, researching documentation and digging into verbose log files.

There would be TONS of value to the community by giving vanilla/minimal example Apache conf's required to stand up the OutlookAnywhere proxy.

For instance, one hurdle I had to overcome was the tweaking of ''RequestReadTimeout'. I was obtaining client (outlook) errors with the inability to connect to the server. Come to find out, it was an Apache conf ('RequestReadTimeout') setting that needed to be increased. Make sense, because the RPC over HTTPS stream.

I've combed the internet finding individual examples of the conf's, but they are in no way an 'official' source. While many of these settings might be common-sense to the Apache guru, a noob like myself can more easily pinpoint if it's a client/server Apache/Exchange/Outlook issue - by knowing my Apache conf's are solid (or are supposed to work).

Thanks again for making this available. I know this isn't a module for amateurs to install, but a little extra documentation will surely push this product into greater use.

requestreadtimeout

Support "oldies" kernel

Hi,

I like to use msrpc proxy for centos 5, I recompile everything, which is needed, /apache, php, apr, etc/, but I can't recompile kernel itself, I must use "official", but this kernel doesn't support inotify_init1 function, and O_CLOEXEC, IN_CLOEXEC. I try to make it itself, but I'm not a programmer, sorry :(
I try something this:

ifndef O_CLOEXEC

define O_CLOEXEC 0 /* set close_on_exec, not supported before kernel 2.6.23 */

endif

if HAVE_INOTIFY_INIT1

        int inotify_fd = inotify_init1(IN_CLOEXEC);

else

        int inotify_fd = inotify_init (); 

endif

And it's needed to modify the configure.ac too (added inotify_init1 function check):

Checks for library functions.

AC_FUNC_MEMCMP
AC_CHECK_FUNCS([strcasecmp strchr strrchr inotify_init1])

I copy this from qemu code.

Thank You!

Fonya

Compiling fails with Apache 2.2.x

Trying to compile on 32-bit Ubuntu Server 12.04.

Am I missing a package? Any help would be appreciated.

Wes

wjerrell@ubuntu-server-32:~/mod_proxy_msrpc$ apxs2 -c mod_proxy_msrpc.c
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static i686-linux-gnu-gcc -prefer-pic -DLINUX=2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/openssl -I/usr/include/xmltok -pthread -I/usr/include/apache2 -I/usr/include/apr-1.0 -I/usr/include/apr-1.0 -c -o mod_proxy_msrpc.lo mod_proxy_msrpc.c && touch mod_proxy_msrpc.slo
mod_proxy_msrpc.c: In function 'proxy_msrpc_register_outlook_session':
mod_proxy_msrpc.c:143:31: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c:143:31: note: each undeclared identifier is reported only once for each function it appears in
mod_proxy_msrpc.c: In function 'proxy_msrpc_validate_outlook_session':
mod_proxy_msrpc.c:209:31: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c: In function 'proxy_msrpc_check_outlook_session_state':
mod_proxy_msrpc.c:277:31: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c: In function 'proxy_msrpc_process_data':
mod_proxy_msrpc.c:415:39: error: 'APLOG_TRACE1' undeclared (first use in this function)
mod_proxy_msrpc.c:429:43: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c: In function 'proxy_msrpc_tunnel':
mod_proxy_msrpc.c:537:35: warning: initialization makes pointer from integer without a cast [enabled by default]
mod_proxy_msrpc.c:539:35: warning: initialization makes pointer from integer without a cast [enabled by default]
mod_proxy_msrpc.c:551:31: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c: In function 'proxy_msrpc_read_and_parse_initial_pdu':
mod_proxy_msrpc.c:731:35: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c:793:31: error: 'APLOG_TRACE1' undeclared (first use in this function)
mod_proxy_msrpc.c: In function 'proxy_msrpc_read_server_response':
mod_proxy_msrpc.c:921:31: error: 'APLOG_TRACE3' undeclared (first use in this function)
mod_proxy_msrpc.c:934:39: error: 'APLOG_TRACE1' undeclared (first use in this function)
mod_proxy_msrpc.c:1009:31: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c: In function 'proxy_msrpc_disconnect_backend':
mod_proxy_msrpc.c:1062:30: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c: In function 'proxy_msrpc_connect_backend':
mod_proxy_msrpc.c:1074:35: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c:1148:23: error: 'proxy_dir_conf' has no member named 'preserve_host'
mod_proxy_msrpc.c: In function 'proxy_msrpc_handler':
mod_proxy_msrpc.c:1281:31: error: 'APLOG_TRACE1' undeclared (first use in this function)
mod_proxy_msrpc.c:1291:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1303:65: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1308:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1311:35: error: 'APLOG_TRACE2' undeclared (first use in this function)
mod_proxy_msrpc.c:1317:73: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1360:69: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1365:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1371:66: error: 'proxy_worker_stat' has no member named 'ping_timeout_set'
mod_proxy_msrpc.c:1375:69: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1381:69: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1386:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1404:77: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1420:65: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1459:65: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1482:5: warning: passing argument 1 of 'apr_socket_close' makes pointer from integer without a cast [enabled by default]
/usr/include/apr-1.0/apr_network_io.h:307:27: note: expected 'struct apr_socket_t *' but argument is of type 'int'
apxs:Error: Command failed with rc=65536

Bad response from server (503 RPC error)

Hi,

I'm not able to access to Exchange because an issue with RPC_OUT_DATA.

[Mon Sep 01 17:45:12.805234 2014] [proxy_msrpc:debug] [pid 24758] mod_proxy_msrpc.c(524): [client 89.96.242.178:41728] RPC_OUT_DATA: client auth: Basic
[Mon Sep 01 17:45:12.817438 2014] [proxy_msrpc:debug] [pid 24763] mod_proxy_msrpc.c(1447): [client 89.96.242.178:41727] RPC_IN_DATA: request headers successfully sent to server (null) (webmail.xxx.xxx.xxx)
[Mon Sep 01 17:45:12.817529 2014] [proxy_msrpc:debug] [pid 24763] mod_proxy_msrpc.c(1468): [client 89.96.242.178:41727] RPC_IN_DATA: initial PDU successfully sent to server (null) (webmail.xxx.xxx.xxx)
[Mon Sep 01 17:45:12.821375 2014] [proxy_msrpc:debug] [pid 24758] mod_proxy_msrpc.c(1447): [client 89.96.242.178:41728] RPC_OUT_DATA: request headers successfully sent to server (null) (webmail.xxx.xxx.xxx)
[Mon Sep 01 17:45:12.821439 2014] [proxy_msrpc:debug] [pid 24758] mod_proxy_msrpc.c(1468): [client 89.96.242.178:41728] RPC_OUT_DATA: initial PDU successfully sent to server (null) (webmail.xxx.xxx.xxx)
[Mon Sep 01 17:45:12.824376 2014] [proxy_msrpc:error] [pid 24758] [client 89.96.242.178:41728] RPC_OUT_DATA: bad response from server: [HTTP/1.0 503 RPC Error: 6ba]

Any idea?

Thank you.

Unexpected status code 200

Running the "Outlook Connectivity" test from the Microsoft Remote Connectivity Analzyer against an Exchange 2010 server fails:

Attempting to ping the MAPI Mail Store endpoint with identity: SRV-EXCH01.DEMO.local:6001.
The attempt to ping the endpoint failed.
Tell me more about this issue and how to resolve it

Additional Details

The RPC_S_SERVER_UNAVAILABLE error (0x6ba) was thrown by the RPC Runtime process.
Elapsed Time: 319009 ms.

The Apache log shows an "unexpected status code 200" error:

2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.141969 2014] [proxy_msrpc:trace1] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1282): [client 134.170.52.124:60380] RPC_IN_DATA: serving URL https://172.31.1.249/Rpc/RpcProxy.dll?SRV-EXCH01.DEMO.local:6001
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.141992 2014] [proxy_msrpc:trace2] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1077): [client 134.170.52.124:60380] RPC_IN_DATA: re-using already established connection 0x92daf60 to backend: 172.31.1.249
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.142106 2014] [proxy_msrpc:trace1] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1309): [client 134.170.52.124:60380] RPC_IN_DATA: HTTP request sent to (null) (172.31.1.249), now waiting for a response
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.144968 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(924): [client 134.170.52.124:60380] RPC_IN_DATA: Got HTTP response status line (status code: 200)
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.145038 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(962): [client 134.170.52.124:60380] RPC_IN_DATA: Got HTTP response header line [Content-Length: 20]
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.145050 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(962): [client 134.170.52.124:60380] RPC_IN_DATA: Got HTTP response header line [Content-Type: application/rpc]
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.145060 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(962): [client 134.170.52.124:60380] RPC_IN_DATA: Got HTTP response header line [Server: Microsoft-IIS/7.5]
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.145070 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(962): [client 134.170.52.124:60380] RPC_IN_DATA: Got HTTP response header line [X-Powered-By: ASP.NET]
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.145080 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(962): [client 134.170.52.124:60380] RPC_IN_DATA: Got HTTP response header line [Date: Wed, 02 Jul 2014 08:44:15 GMT]
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.145089 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(962): [client 134.170.52.124:60380] RPC_IN_DATA: Got HTTP response header line []
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.145096 2014] [proxy_msrpc:trace3] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(980): [client 134.170.52.124:60380] RPC_IN_DATA: Got all HTTP response headers from server
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.146325 2014] [proxy_msrpc:trace2] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1011): [client 134.170.52.124:60380] RPC_IN_DATA: Forwarded all HTTP response headers to client
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.146344 2014] [proxy_msrpc:trace2] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1021): [client 134.170.52.124:60380] RPC_IN_DATA: HTTP response body size: 20 bytes
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.146492 2014] [proxy_msrpc:debug] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1048): [client 134.170.52.124:60380] RPC_IN_DATA: Forwarded the HTTP response to client
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.146509 2014] [proxy_msrpc:trace2] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1314): [client 134.170.52.124:60380] RPC_IN_DATA: proxy_msrpc_read_server_response() returned status code 200
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.146518 2014] [proxy_msrpc:info] [pid 4428:tid 2720541552] [client 134.170.52.124:60380] RPC_IN_DATA: proxy_msrpc_read_server_response() returned unexpected status code 200 from (null) (172.31.1.249)
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: [Wed Jul 02 10:44:11.146526 2014] [proxy_msrpc:trace2] [pid 4428:tid 2720541552] mod_proxy_msrpc.c(1322): [client 134.170.52.124:60380] RPC_IN_DATA: proxy_msrpc_handler finished for request without body
2014:07:02-10:44:11 NMG-UTM-02 reverseproxy: srcip="134.170.52.124" localip="10.128.197.52" size="20" user="-" host="134.170.52.124" method="RPC_IN_DATA" statuscode="200" reason="-" extra="-" exceptions="SkipURLHardening" time="8021" url="/Rpc/RpcProxy.dll" server="oa.test.example.org" referer="-" cookie="-" set-cookie="-"

This is the offending request sent from Apache to Exchange:

RPC_IN_DATA https://172.31.1.249/Rpc/RpcProxy.dll?SRV-EXCH01.DEMO.local:6001 HTTP/1.1
Authorization: Basic ZGVtby5sb2NhbFx0ZXN0OnBhc3N3b3JkCg==
Accept: application/rpc
User-Agent: MSRPC
Host: oa.test.example.org
Content-Length: 0
X-Forwarded-Proto: https

And the response from Exchange:

HTTP/1.1 200 Success
Content-Length: 20
Content-Type: application/rpc
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Fri, 12 Sep 2014 11:36:23 GMT

<binary data>

Outlook with OA seems to run fine.

mod_reqtimeout terminates Outlook connection after a while

As mod_proxy_msrpc handles accepted MSRPC requests directly at connection level, mod_reqtimeout doesn't see a HTTP request getting completed within the configured timeout. For this reason mod_proxy_msrpc deliberately closes Outlook connections after the timeout has been reached. A typical log with "LogLevel debug proxy_msrpc:trace2" looks like this:

[Wed Aug 07 10:36:48.357285 2013] [reqtimeout:info] [pid 16317] [client 10.10.151.74:53849] AH01382: Request body read timeout
[Wed Aug 07 10:36:48.357304 2013] [ssl:info] [pid 16317] (70007)The timeout specified has expired: [client 10.10.151.74:53849] AH01991: SSL input filter read failed.
[Wed Aug 07 10:36:48.357315 2013] [proxy_msrpc:debug] [pid 16317] mod_proxy_msrpc.c(433): (70007)The timeout specified has expired: [client 10.10.151.74:53849] error on client - ap_get_brigade
[Wed Aug 07 10:36:48.357324 2013] [proxy_msrpc:trace2] [pid 16317] mod_proxy_msrpc.c(682): [client 10.10.151.74:53849] RPC_IN_DATA: finished with poll() - cleaning up
[Wed Aug 07 10:36:48.376233 2013] [proxy_msrpc:trace2] [pid 16317] mod_proxy_msrpc.c(1475): [client 10.10.151.74:53849] RPC_IN_DATA: handler working on backend connection 0x8578d70 finished, returning connection to pool
[Wed Aug 07 10:36:48.376293 2013] [proxy_msrpc:trace2] [pid 16317] mod_proxy_msrpc.c(1480): [client 10.10.151.74:53849] RPC_IN_DATA: setting keepalive from 1 to AP_CONN_CLOSE

Outlook shows a message like the following one:
image001

mod_reqtimeout should get disabled on requests that have been accepted and put into tunnel mode.

Module not transmitting RPC traffic. FreeBSD

Hello!
I am running FreeBSD 10.2-STABLE and attempting to compile this module from source.
I have installed all of the necessary support libraries (gcc, libinotify, autoconf, pkg-tools, libuuid)
I have managed to get the software to compile, by some miracle and a few tweaks in the source files. However when I go to load the .so object generated into Apache, I get
Cannot load libexec/apache24/mod_proxy_msrpc.so into server: /usr/local/libexec/apache24/mod_proxy_msrpc.so: Undefined symbol "inotify_add_watch"

Since FreeBSD uses kqueue instead of the Linux inotify system, I understand the error is caused by inotify. The libraries are there and in the correct locations to support inotify and the system does pick up the header files and compiles with them appropriately, but there is a problem I have identified when a configure is ran:

configure:4174: checking for inotify_init1 configure:4174: gcc -o conftest -L/usr/local/lib/ conftest.c >&5 /tmp//ccefzpA0.o: In functionmain':
conftest.c:(.text+0xa): undefined reference to inotify_init1' collect2: error: ld returned 1 exit status configure:4174: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "mod_proxy_msrpc" | #define PACKAGE_TARNAME "mod_proxy_msrpc" | #define PACKAGE_VERSION "0.1.1" | #define PACKAGE_STRING "mod_proxy_msrpc 0.1.1" | #define PACKAGE_BUGREPORT "[email protected]" | #define PACKAGE_URL "" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_FCNTL_H 1 | #define HAVE_LIMITS_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_INOTIFY_H 1 | #define HAVE_SYS_SELECT_H 1 | #define HAVE_UUID_UUID_H 1 | #define HAVE_STRCASECMP 1 | #define HAVE_STRCHR 1 | #define HAVE_STRRCHR 1 | /* end confdefs.h. */

Something is going wrong and the system is having trouble configuring and compiling for inotify support, despite all the appropriate libraries being present.
I grabbed a quick c++ program that uses inotify and compiled with g++ and was able to successfully compile and run the program.
Please help. I don't want to go to a Windows system in my DMZ. :(

RDG 2019

Hello I receive this error during connect to RDG 2019 (also cannot open any of remoteapp from rdg)
[Mon Apr 22 17:54:47.738366 2019] [ssl:info] [pid 16607] [remote rdg_ip:443] AH01964: Connection to child 0 established (server rdg_fqdn:443)
[Mon Apr 22 17:54:47.767449 2019] [proxy_msrpc:debug] [pid 16605] mod_proxy_msrpc.c(1276): [client 127.0.0.1:58494] declining due to bad method: GET, referer: https://domain/RDWeb/Pages/en-US/Default.aspx

X-Forwarded-For header would be helpful

The module forwards all original request headers but it does not include the X-Forwarded-For information.

https://github.com/bombadil/mod_proxy_msrpc/blob/master/src/mod_proxy_msrpc.c#L1436

/* Step Four: Send HTTP request headers to the backend server */
status = proxy_msrpc_send_request_headers(r, locurl, rdata->server_bb,
backend, backend->connection);

That would be very useful information to receive on the back end for security logging purposes (the Sophos UTM sends it for requests that do not run through this module).

./configure failed due missing lib "Check"

Hi There,

i'm trying to install these Module on CentOs 6.5. By "./configure" i got the error:

configure: error: Package requirements (check >= 0.9.4) were not met:

No package 'check' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

But i've installed 0.9.8-1.1.el6 and the librarys are in /usr/lib64.

What can i Do?

Thanks for help.

Peter

Compiling fails with error: 'proxy_dir_conf' has no member named 'preserve_host'

i get some Errors if i try to make, what's wrong?

make -C src all
make[1]: Entering directory `/home/faller/neu/src'
apxs2 -luuid  -c mod_proxy_msrpc.c msrpc_pdu_parser.c msrpc_sync.c
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static i686-linux-gnu-gcc -prefer-pic -DLINUX=2 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/openssl -I/usr/include/xmltok -pthread     -I/usr/include/apache2  -I/usr/include/apr-1.0   -I/usr/include/apr-1.0   -c -o mod_proxy_msrpc.lo mod_proxy_msrpc.c && touch mod_proxy_msrpc.slo
mod_proxy_msrpc.c: In function 'proxy_msrpc_read_and_parse_initial_pdu':
mod_proxy_msrpc.c:755:23: warning: format '%ld' expects argument of type 'long int', but argument 9 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:787:27: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_off_t' [-Wformat]
mod_proxy_msrpc.c:802:23: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:807:23: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:813:23: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:813:23: warning: format '%ld' expects argument of type 'long int', but argument 10 has type 'apr_int64_t' [-Wformat]
mod_proxy_msrpc.c:817:19: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:817:19: warning: format '%lu' expects argument of type 'long unsigned int', but argument 10 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:823:23: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:859:19: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_size_t' [-Wformat]
mod_proxy_msrpc.c:890:19: warning: format '%lu' expects argument of type 'long unsigned int', but argument 9 has type 'apr_off_t' [-Wformat]
mod_proxy_msrpc.c: In function 'proxy_msrpc_read_server_response':
mod_proxy_msrpc.c:1043:23: warning: format '%ld' expects argument of type 'long int', but argument 9 has type 'apr_int64_t' [-Wformat]
mod_proxy_msrpc.c: In function 'proxy_msrpc_connect_backend':
mod_proxy_msrpc.c:1171:23: error: 'proxy_dir_conf' has no member named 'preserve_host'
mod_proxy_msrpc.c: In function 'proxy_msrpc_handler':
mod_proxy_msrpc.c:1314:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1326:65: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1331:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1340:73: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1368:27: warning: format '%lu' expects argument of type 'long unsigned int', but argument 8 has type 'apr_off_t' [-Wformat]
mod_proxy_msrpc.c:1368:27: warning: format '%ld' expects argument of type 'long int', but argument 9 has type 'apr_int64_t' [-Wformat]
mod_proxy_msrpc.c:1383:69: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1388:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1394:66: error: 'proxy_worker_stat' has no member named 'ping_timeout_set'
mod_proxy_msrpc.c:1398:69: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1404:69: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1409:61: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1427:77: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1443:65: error: 'proxy_worker_stat' has no member named 'hostname'
mod_proxy_msrpc.c:1488:65: error: 'proxy_worker_stat' has no member named 'hostname'
apxs:Error: Command failed with rc=65536
.
make[1]: *** [.libs/mod_proxy_msrpc.so] Error 1
make[1]: Leaving directory `/home/faller/neu/src'
make: *** [all] Error 2

Missing build system

Hi,
I am trying to load module mod_proxy_msrpc into apache 2.4.4 on RHEL6.

I am getting the error

httpd: Syntax error on line 173 of /etc/httpd/conf/httpd.conf: Cannot load lib64/httpd/modules/mod_proxy_msrpc.so into server: /usr/lib64/httpd/modules/mod_proxy_msrpc.so: undefined symbol: msrpc_sync_wait

during config file syntax check

Is there any module depedency. Unfortunattelly I am not able to find any informations on google

authentication problem

Hello,

i've configured apache 2.4 as reverse proxy for my exchange 2010 installation. OWA, OAB, Active-Sync works fine. Now i've setup OutlookAnywhere with the proxy_msrpc plugin. but i can't connect with outlook. i tried basic and ntlm authentication, but no success.

following the reverse proxy configuration:

Outlook Anywhere

the hostname is added in /etc/hosts

OutlookAnywherePassthrough On
LogLevel info proxy_msrpc:trace2
ProxyPass /rpc http://exchange.internalrpc
ProxyPassReverse /rpc http://exchange.internal/rpc

the outlook anywhere config:

PSComputerName : exchange.internal
RunspaceId : d7dc368c-1f7b-40fe-beb8-983cd7c0a893
ServerName : exchange
SSLOffloading : False
ExternalHostname : mail.externalURL.de
ClientAuthenticationMethod : Basic
IISAuthenticationMethods : {Basic}
XropUrl :
MetabasePath : IIS://exchange.internal/W3SVC/1/ROOT/Rpc
Path : C:\Windows\System32\RpcProxy
ExtendedProtectionTokenChecking : None
ExtendedProtectionFlags : {}
ExtendedProtectionSPNList : {}
Server : exchange
AdminDisplayName :
ExchangeVersion : 0.10 (14.0.100.0)
Name : Rpc (Default Web Site)

Identity : exchange\Rpc (Default Web Site)
Guid : 84e2a8f4-fbde-4585-a91a-13d1d317e781
ObjectCategory : behrens-dom.local/Configuration/Schema/ms-Exch-Rpc-Http-Virtual-Directory
ObjectClass : {top, msExchVirtualDirectory, msExchRpcHttpVirtualDirectory}
WhenChanged : 02.02.2016 11:09:20
WhenCreated : 26.11.2015 09:22:14
WhenChangedUTC : 02.02.2016 10:09:20
WhenCreatedUTC : 26.11.2015 08:22:14
OrganizationId :
OriginatingServer : dc01.internal
IsValid : True

the apache error log trying to connect to exchange:

[Tue Feb 02 11:08:24.853956 2016] [ssl:info] [pid 13687:tid 3023027008] [client XXX.XXX.193.78:60065] AH01964: Connection to child 196 established (server mail.externalURL.de:443)
[Tue Feb 02 11:08:24.925074 2016] [proxy_msrpc:debug] [pid 13687:tid 3023027008] mod_proxy_msrpc.c(1276): [client XXX.XXX.193.78:60065] declining due to bad method: POST
[Tue Feb 02 11:08:28.258144 2016] [proxy_msrpc:trace1] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(1347): [client XXX.XXX.193.78:60065] RPC_IN_DATA: serving URL http://exchange.internal/rpc/rpcproxy.dll?exchange.internal:6001
[Tue Feb 02 11:08:28.258191 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(1157): [client XXX.XXX.193.78:60065] RPC_IN_DATA: acquired backend connection 0xa92db058
[Tue Feb 02 11:08:28.284715 2016] [ssl:info] [pid 13624:tid 2897136448] [client XXX.XXX.193.78:60076] AH01964: Connection to child 83 established (server mail.externalURL.de:443)
[Tue Feb 02 11:08:28.355894 2016] [proxy_msrpc:trace1] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1347): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: serving URL http://exchange.internal/rpc/rpcproxy.dll?exchange.internal:6001
[Tue Feb 02 11:08:28.356101 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1157): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: acquired backend connection 0xb64c2058
[Tue Feb 02 11:08:28.357434 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(776): [client XXX.XXX.193.78:60065] RPC_IN_DATA: got 10 bytes of request body from client
[Tue Feb 02 11:08:28.357457 2016] [proxy_msrpc:trace1] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(838): [client XXX.XXX.193.78:60065] RPC_IN_DATA: MSRPC PDU length: 104 (10 already in buffer)
[Tue Feb 02 11:08:28.357464 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(844): [client XXX.XXX.193.78:60065] RPC_IN_DATA: trying to get 94 more bytes from request body
[Tue Feb 02 11:08:28.357473 2016] [proxy_msrpc:trace1] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(880): [client XXX.XXX.193.78:60065] RPC_IN_DATA: MSRPC PDU length: 104 (completely in buffer)
[Tue Feb 02 11:08:28.357488 2016] [proxy_msrpc:debug] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(911): [client XXX.XXX.193.78:60065] RPC_IN_DATA: got initial MSRPC pdu (104 bytes) for Outlook Session (null)
[Tue Feb 02 11:08:28.357494 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(146): [client XXX.XXX.193.78:60065] RPC_IN_DATA: trying to register outlook session 7e33f270-34e2-d962-127e-3e8c963a3414 in state 'INIT'
[Tue Feb 02 11:08:28.357549 2016] [proxy_msrpc:debug] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(186): [client XXX.XXX.193.78:60065] RPC_IN_DATA: Successfully registered outlook session 7e33f270-34e2-d962-127e-3e8c963a3414 in state 'INIT'
[Tue Feb 02 11:08:28.357571 2016] [proxy_msrpc:debug] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(524): [client XXX.XXX.193.78:60065] RPC_IN_DATA: client auth: Basic
[Tue Feb 02 11:08:28.357613 2016] [proxy_msrpc:debug] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(1447): [client XXX.XXX.193.78:60065] RPC_IN_DATA: request headers successfully sent to server 10.1.0.131:80 (exchange.internal)
[Tue Feb 02 11:08:28.357681 2016] [proxy_msrpc:debug] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(1468): [client XXX.XXX.193.78:60065] RPC_IN_DATA: initial PDU successfully sent to server 10.1.0.131:80 (exchange.internal)
[Tue Feb 02 11:08:28.359218 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(776): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: got 10 bytes of request body from client
[Tue Feb 02 11:08:28.359332 2016] [proxy_msrpc:trace1] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(838): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: MSRPC PDU length: 76 (10 already in buffer)
[Tue Feb 02 11:08:28.359427 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(844): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: trying to get 66 more bytes from request body
[Tue Feb 02 11:08:28.359566 2016] [proxy_msrpc:trace1] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(880): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: MSRPC PDU length: 76 (completely in buffer)
[Tue Feb 02 11:08:28.359808 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(911): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: got initial MSRPC pdu (76 bytes) for Outlook Session (null)
[Tue Feb 02 11:08:28.359916 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(524): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: client auth: Basic
[Tue Feb 02 11:08:28.360103 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1447): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: request headers successfully sent to server 10.1.0.131:80 (exchange.internal)
[Tue Feb 02 11:08:28.360354 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1468): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: initial PDU successfully sent to server 10.1.0.131:80 (exchange.internal)
[Tue Feb 02 11:08:28.360559 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1045): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: server auth: missing
[Tue Feb 02 11:08:28.360748 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1063): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: server refused MSRPC request for /rpc/rpcproxy.dll?exchange.internal:6001: [HTTP/1.1 403 Forbidden]
[Tue Feb 02 11:08:28.361035 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1076): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: Forwarded all HTTP response headers to client
[Tue Feb 02 11:08:28.361153 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1086): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: HTTP response body size: 74 bytes
[Tue Feb 02 11:08:28.361325 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1113): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: Forwarded the HTTP response to client
[Tue Feb 02 11:08:28.361423 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1482): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: proxy_msrpc_read_server_response() returned status code 403
[Tue Feb 02 11:08:28.361556 2016] [proxy_msrpc:error] [pid 13624:tid 2897136448] [client XXX.XXX.193.78:60076] RPC_OUT_DATA: server 10.1.0.131:80 (exchange.internal) did not accept initial PDU (HTTP status code 403)
[Tue Feb 02 11:08:28.361655 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(212): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: trying to update Outlook Session 7e33f270-34e2-d962-127e-3e8c963a3414 to state 'BROKEN'
[Tue Feb 02 11:08:28.361791 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(231): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: Outlook Session 7e33f270-34e2-d962-127e-3e8c963a3414 found in cache
[Tue Feb 02 11:08:28.361928 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(241): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: Outlook Session 7e33f270-34e2-d962-127e-3e8c963a3414 updated to state BROKEN'
[Tue Feb 02 11:08:28.362278 2016] [proxy_msrpc:error] [pid 13687:tid 2972670784] [client XXX.XXX.193.78:60065] RPC_IN_DATA: Failed to sync Outlook Session 7e33f270-34e2-d962-127e-3e8c963a3414: 2
[Tue Feb 02 11:08:28.362309 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(212): [client XXX.XXX.193.78:60065] RPC_IN_DATA: trying to update Outlook Session 7e33f270-34e2-d962-127e-3e8c963a3414 to state 'BROKEN'
[Tue Feb 02 11:08:28.362321 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(231): [client XXX.XXX.193.78:60065] RPC_IN_DATA: Outlook Session 7e33f270-34e2-d962-127e-3e8c963a3414 found in cache
[Tue Feb 02 11:08:28.362327 2016] [proxy_msrpc:error] [pid 13687:tid 2972670784] [client XXX.XXX.193.78:60065] RPC_IN_DATA: The registered Outlook Session 7e33f270-34e2-d962-127e-3e8c963a3414 is in unexpected state 'BROKEN'
[Tue Feb 02 11:08:28.362333 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(1563): [client XXX.XXX.193.78:60065] RPC_IN_DATA: handler working on backend connection 0xa92db058 finished, returning connection to pool
[Tue Feb 02 11:08:28.362378 2016] [proxy_msrpc:trace2] [pid 13687:tid 2972670784] mod_proxy_msrpc.c(1568): [client XXX.XXX.193.78:60065] RPC_IN_DATA: setting keepalive from 0 to AP_CONN_CLOSE
[Tue Feb 02 11:08:28.362658 2016] [proxy_msrpc:trace2] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1563): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: handler working on backend connection 0xb64c2058 finished, returning connection to pool

i think this is the error why i could not logged in:

[Tue Feb 02 11:08:28.360103 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1447): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: request headers successfully sent to server 10.1.0.131:80 (exchange.internal)
[Tue Feb 02 11:08:28.360354 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1468): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: initial PDU successfully sent to server 10.1.0.131:80 (exchange.internal)
[Tue Feb 02 11:08:28.360559 2016] [proxy_msrpc:debug] [pid 13624:tid 2897136448] mod_proxy_msrpc.c(1045): [client XXX.XXX.193.78:60076] RPC_OUT_DATA: server auth: missing

but when i try to the autodiscover configuration, that works fine.

any ideas?

Help with 401 Unauthorized: why is it requiring authentication?

Can you help me with the 401 error bellow?

[Sat May 17 20:30:28.853973 2014] [proxy_msrpc:debug] [pid 17863:tid 140450052695808] mod_proxy_msrpc.c(524): [client 189.106.176.110:61533] RPC_IN_DATA: client auth: NTLM
[Sat May 17 20:30:28.890692 2014] [proxy_msrpc:trace1] [pid 17863:tid 140450052695808] mod_proxy_msrpc.c(1374): [client 189.106.176.110:61533] RPC_IN_DATA: HTTP request sent to 00.00.00.00:443 (xxx.xxx.xxx.com), now waiting for a response
[Sat May 17 20:30:28.913368 2014] [proxy_msrpc:trace1] [pid 17863:tid 140450052695808] mod_proxy_msrpc.c(928): [client 189.106.176.110:61533] RPC_IN_DATA: server auth offer: NTLM
[Sat May 17 20:30:28.913533 2014] [proxy_msrpc:trace1] [pid 17863:tid 140450052695808] mod_proxy_msrpc.c(928): [client 189.106.176.110:61533] RPC_IN_DATA: server auth offer: Negotiate
[Sat May 17 20:30:28.913674 2014] [proxy_msrpc:trace1] [pid 17863:tid 140450052695808] mod_proxy_msrpc.c(928): [client 189.106.176.110:61533] RPC_IN_DATA: server auth offer: Basic
[Sat May 17 20:30:28.913810 2014] [proxy_msrpc:debug] [pid 17863:tid 140450052695808] mod_proxy_msrpc.c(1045): [client 189.106.176.110:61533] RPC_IN_DATA: server auth: NTLM, Negotiate, Basic
[Sat May 17 20:30:28.913943 2014] [proxy_msrpc:debug] [pid 17863:tid 140450052695808] mod_proxy_msrpc.c(1063): [client 189.106.176.110:61533] RPC_IN_DATA: server refused MSRPC request for /rpc/rpcproxy.dll?xxx.xxx.xxx.com:6002: [HTTP/1.1 401 Unauthorized]

Connection to Exchange 2013 backend

Hi,

I'm trying to get this working with an Exchange 2013 server but I'm not having much luck. I can see that the module is intended for Exchange 2010 so I guess it's possible that MS have change something else?

In the logs I see the following:

[Thu Feb 06 10:41:34.801506 2014] [ssl:info] [pid 25470] [client 157.56.138.142:64587] AH01964: Connection to child 5 es
tablished (server webmail.xxx.com:443)
[Thu Feb 06 10:41:35.104371 2014] [proxy_msrpc:trace1] [pid 25470] mod_proxy_msrpc.c(1305): [client 157.56.138.142:64587
] RPC_IN_DATA: serving URL https://webmail.xxx.com/rpc/rpcproxy.dll
[Thu Feb 06 10:41:35.104419 2014] [proxy_msrpc:trace2] [pid 25470] mod_proxy_msrpc.c(1115): [client 157.56.138.142:64587
] RPC_IN_DATA: acquired backend connection 0x7fed4e9870a0
[Thu Feb 06 10:41:35.105519 2014] [ssl:info] [pid 25470] [remote 172.x.x.x:443] AH01964: Connection to child 0 estab
lished (server webmail.xxx.com:443)
[Thu Feb 06 10:41:35.116168 2014] [proxy_msrpc:trace1] [pid 25470] mod_proxy_msrpc.c(1332): [client 157.56.138.142:64587
] RPC_IN_DATA: HTTP request sent to (null) (webmail.xxx.com), now waiting for a response
[Thu Feb 06 10:41:35.118127 2014] [proxy_msrpc:debug] [pid 25470] mod_proxy_msrpc.c(1021): [client 157.56.138.142:64587]
 RPC_IN_DATA: server refused MSRPC request: [HTTP/1.1 401 Unauthorized]
[Thu Feb 06 10:41:35.118248 2014] [proxy_msrpc:trace2] [pid 25470] mod_proxy_msrpc.c(1034): [client 157.56.138.142:64587
] RPC_IN_DATA: Forwarded all HTTP response headers to client
[Thu Feb 06 10:41:35.118265 2014] [proxy_msrpc:trace2] [pid 25470] mod_proxy_msrpc.c(1066): [client 157.56.138.142:64587
] RPC_IN_DATA: no HTTP response body
[Thu Feb 06 10:41:35.118273 2014] [proxy_msrpc:debug] [pid 25470] mod_proxy_msrpc.c(1071): [client 157.56.138.142:64587]
 RPC_IN_DATA: Forwarded the HTTP response to client
[Thu Feb 06 10:41:35.118280 2014] [proxy_msrpc:trace2] [pid 25470] mod_proxy_msrpc.c(1337): [client 157.56.138.142:64587
] RPC_IN_DATA: proxy_msrpc_read_server_response() returned status code 401
[Thu Feb 06 10:41:35.118288 2014] [proxy_msrpc:trace2] [pid 25470] mod_proxy_msrpc.c(1345): [client 157.56.138.142:64587
] RPC_IN_DATA: proxy_msrpc_handler finished for request without body

Many thanks

Mike

Windows support

Hallo.
It could be useful to have mod_proxy_msrpc on windows environment.

Error -19710 and -18599

Hi there,

First of all, thanks for a awesome module! Just what I badly needed! I have it setup with Apache 2.4 and its working great for most clients (iPhones etc). However, I am having problems with Outlook 2011 for Mac. The clients seem to start to synchronise successfully but will then fail with error -19710 and -18599. Any ideas what could cause it?

declining due to bad method: POST

Hi,

i’m testing Apache as Reverse-Proxy für our Exchange SRV. Fortunately I found this module so we are able to use Outlook Anywhere.

Last week I set up the module and it seems to work perfect with Outlook Anywhere.

Now it doesn’t anymore. No connection with OL Anywhere could be established. It’s not possible to authenticate. The authentication window pops up.

I added “LogLevel info proxy_msrpc:trace2” to my config and now I could see the following entries in my apache.log, when I try to establish a connation via ol anywhere.

[proxy_msrpc:debug] [pid 32186:tid 139986967930624] mod_proxy_msrpc.c(1233): [client 80.187.102.60:23872] declining due to bad method: POST
[proxy_msrpc:debug] [pid 32186:tid 139986934359808] mod_proxy_msrpc.c(1233): [client 80.187.105.34:18060] declining due to bad method: POST
[proxy_msrpc:debug] [pid 32187:tid 139987163571968] mod_proxy_msrpc.c(1233): [client 80.187.105.34:12731] declining due to bad method: POST

I’m a newbie with apache and such modules, so I hope you could assist me to get OL Anywhere working.

Thanks.

2 Warnings during make

Running the config file I've got the Configure: error: some of the required header files could not be found. It says uuid.h usability no, uuid.h presence no, uuid.h no. I'm running centos 7. Could somebody tell me what i'm missing?

module doesn't build (or segfaults) on 64 bit systems

Apparently the module doesn't build on 64 bit systems. This is the build failure I got when trying to build it on a 64 bit system:

micha@piri:/tmp/buildd/modproxymsrpc# apxs -Wc,-Wall -Wc,-Werror -Wc,-ggdb -Wc,-O2 -luuid -c mod_proxy_msrpc.c msrpc_pdu_parser.c msrpc_sync.c
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static x86_64-linux-gnu-gcc -std=gnu99 -prefer-pic -pipe -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -D_FORTIFY_SOURCE=2   -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE  -pthread  -I/usr/include/apache2  -I/usr/include/apr-1.0   -I/usr/include/apr-1.0 -I/usr/include -Wall -Werror -ggdb -O2  -c -o mod_proxy_msrpc.lo mod_proxy_msrpc.c && touch mod_proxy_msrpc.slo
mod_proxy_msrpc.c: In function 'proxy_msrpc_read_and_parse_initial_pdu':
mod_proxy_msrpc.c:731:9: error: format '%d' expects argument of type 'int', but argument 9 has type 'apr_size_t' [-Werror=format=]
         ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r,
         ^
mod_proxy_msrpc.c:762:13: error: format '%llu' expects argument of type 'long long unsigned int', but argument 9 has type 'apr_off_t' [-Werror=format=]
             ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
             ^
mod_proxy_msrpc.c:778:9: error: format '%u' expects argument of type 'unsigned int', but argument 9 has type 'apr_size_t' [-Werror=format=]
         ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
         ^
mod_proxy_msrpc.c:783:9: error: format '%u' expects argument of type 'unsigned int', but argument 9 has type 'apr_size_t' [-Werror=format=]
         ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(EMSGSIZE), r,
         ^
mod_proxy_msrpc.c:788:9: error: format '%u' expects argument of type 'unsigned int', but argument 9 has type 'apr_size_t' [-Werror=format=]
         ap_log_rerror(APLOG_MARK, APLOG_ERR, APR_FROM_OS_ERROR(EPROTO), r,
         ^
mod_proxy_msrpc.c:788:9: error: format '%lld' expects argument of type 'long long int', but argument 10 has type 'apr_int64_t' [-Werror=format=]
mod_proxy_msrpc.c:793:5: error: format '%u' expects argument of type 'unsigned int', but argument 9 has type 'apr_size_t' [-Werror=format=]
     ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r,
     ^
mod_proxy_msrpc.c:793:5: error: format '%u' expects argument of type 'unsigned int', but argument 10 has type 'apr_size_t' [-Werror=format=]
mod_proxy_msrpc.c:799:9: error: format '%u' expects argument of type 'unsigned int', but argument 9 has type 'apr_size_t' [-Werror=format=]
         ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r,
         ^
mod_proxy_msrpc.c:835:5: error: format '%u' expects argument of type 'unsigned int', but argument 9 has type 'apr_size_t' [-Werror=format=]
     ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r,
     ^
mod_proxy_msrpc.c:865:5: error: format '%llu' expects argument of type 'long long unsigned int', but argument 9 has type 'apr_off_t' [-Werror=format=]
     ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r,
     ^
mod_proxy_msrpc.c: In function 'proxy_msrpc_read_server_response':
mod_proxy_msrpc.c:913:9: error: field precision specifier '.*' expects argument of type 'int', but argument 9 has type 'apr_size_t' [-Werror=format=]
         ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r,
         ^
mod_proxy_msrpc.c:1018:9: error: format '%lld' expects argument of type 'long long int', but argument 9 has type 'apr_int64_t' [-Werror=format=]
         ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r,
         ^
In file included from mod_proxy_msrpc.c:27:0:
mod_proxy_msrpc.c: In function 'proxy_msrpc_disconnect_backend':
mod_proxy_msrpc.c:1064:38: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
                   d->proxy_function, (unsigned int)d->conn);
                                      ^
/usr/include/apache2/http_log.h:367:65: note: in definition of macro 'ap_log_error__'
              ap_log_error_(file, line, mi, level, status, sr__, __VA_ARGS__);    \
                                                                 ^
mod_proxy_msrpc.c:1062:5: note: in expansion of macro 'ap_log_error'
     ap_log_error(APLOG_MARK, APLOG_TRACE2, 0, d->server,
     ^
mod_proxy_msrpc.c: In function 'proxy_msrpc_connect_backend':
mod_proxy_msrpc.c:1076:34: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
                       r->method, (unsigned int)d->conn, d->conn->hostname);
                                  ^
/usr/include/apache2/http_log.h:451:63: note: in definition of macro 'ap_log_rerror__'
              ap_log_rerror_(file, line, mi, level, status, r, __VA_ARGS__); \
                                                               ^
mod_proxy_msrpc.c:1074:9: note: in expansion of macro 'ap_log_rerror'
         ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r,
         ^
mod_proxy_msrpc.c:1091:30: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
                   r->method, (unsigned int)backend);
                              ^
/usr/include/apache2/http_log.h:451:63: note: in definition of macro 'ap_log_rerror__'
              ap_log_rerror_(file, line, mi, level, status, r, __VA_ARGS__); \
                                                               ^
mod_proxy_msrpc.c:1089:5: note: in expansion of macro 'ap_log_rerror'
     ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r,
     ^
mod_proxy_msrpc.c:1179:34: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
                       r->method, (unsigned int)backend);
                                  ^
/usr/include/apache2/http_log.h:451:63: note: in definition of macro 'ap_log_rerror__'
              ap_log_rerror_(file, line, mi, level, status, r, __VA_ARGS__); \
                                                               ^
mod_proxy_msrpc.c:1177:9: note: in expansion of macro 'ap_log_rerror'
         ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r,
         ^
mod_proxy_msrpc.c: In function 'proxy_msrpc_handler':
mod_proxy_msrpc.c:1342:13: error: format '%llu' expects argument of type 'long long unsigned int', but argument 8 has type 'apr_off_t' [-Werror=format=]
             ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
             ^
mod_proxy_msrpc.c:1342:13: error: format '%lld' expects argument of type 'long long int', but argument 9 has type 'apr_int64_t' [-Werror=format=]
In file included from mod_proxy_msrpc.c:27:0:
mod_proxy_msrpc.c:1475:34: error: cast from pointer to integer of different size [-Werror=pointer-to-int-cast]
                       r->method, (unsigned int)backend);
                                  ^
/usr/include/apache2/http_log.h:451:63: note: in definition of macro 'ap_log_rerror__'
              ap_log_rerror_(file, line, mi, level, status, r, __VA_ARGS__); \
                                                               ^
mod_proxy_msrpc.c:1473:9: note: in expansion of macro 'ap_log_rerror'
         ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r,
         ^
cc1: all warnings being treated as errors
apxs:Error: Command failed with rc=65536

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.