From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Thomas Fitzsimmons Newsgroups: gmane.emacs.bugs Subject: bug#35969: 26.2, Excorporate Date: Fri, 14 Jun 2019 20:14:21 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="268565"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: 35969@debbugs.gnu.org To: "tenspd137 ." Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Jun 15 02:15:13 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hbwLh-0017iD-68 for geb-bug-gnu-emacs@m.gmane.org; Sat, 15 Jun 2019 02:15:13 +0200 Original-Received: from localhost ([::1]:57744 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hbwLg-0002i8-0O for geb-bug-gnu-emacs@m.gmane.org; Fri, 14 Jun 2019 20:15:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55356) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hbwLY-0002hn-N1 for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2019 20:15:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hbwLW-0006zv-QG for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2019 20:15:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:52804) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hbwLW-0006yw-Gr for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2019 20:15:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hbwLW-00089E-BD for bug-gnu-emacs@gnu.org; Fri, 14 Jun 2019 20:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Thomas Fitzsimmons Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 15 Jun 2019 00:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 35969 X-GNU-PR-Package: emacs Original-Received: via spool by 35969-submit@debbugs.gnu.org id=B35969.156055767431268 (code B ref 35969); Sat, 15 Jun 2019 00:15:02 +0000 Original-Received: (at 35969) by debbugs.gnu.org; 15 Jun 2019 00:14:34 +0000 Original-Received: from localhost ([127.0.0.1]:38115 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbwL3-00088E-AX for submit@debbugs.gnu.org; Fri, 14 Jun 2019 20:14:34 -0400 Original-Received: from mail-io1-f49.google.com ([209.85.166.49]:33082) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hbwL0-00087x-2s for 35969@debbugs.gnu.org; Fri, 14 Jun 2019 20:14:31 -0400 Original-Received: by mail-io1-f49.google.com with SMTP id u13so9578304iop.0 for <35969@debbugs.gnu.org>; Fri, 14 Jun 2019 17:14:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fitzsim-org.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=vKV3rXi71VwBVFpkiZhOH/mBl85K5uWqeRhLJiJ/c1k=; b=ccTr4wxgJ3NthcWz7bRZTvLMrBsOK4VyCrBUDDjmrJc/6l/kcY3DmKb4IPKuunYTJo 0Mb3CXuYgk8AKTaJYdwV8Di5yDpiioTznTV0fSKfjuk300GXBjNfUm1ChMKspqmCyIv0 yBIO8Kp8OyL4zMLooCjJSy+jNeY+H4/MHduWnfpyGIoQiZz9HiuU3WzwcPxH7/005oBm PhPN3XsVsCkXoLYAvsul+NDQxeTVOSbZxh71SzAXJRkDYbY2wsozmr6myFDd5fACitDo UU0Z0id11DablFB8+X4UxHHZpGgJxk78GAPFApJJkHu+BbYFLkzC0iDup/LKa3nNnJOv SAow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=vKV3rXi71VwBVFpkiZhOH/mBl85K5uWqeRhLJiJ/c1k=; b=pttKJnPMe135bhF6US6gckqJSRAvF23RV1cIui5ZvdyM+jzXRZ2trorCRKyeEkAzrw d/WQpr0LqH84Pi75HHNCcZynHbtAUUCOHF+q3tjkt0kiMTgH9eOUrKHfWuNEIDd2foCJ H3pd76MDbaPXmRRJEdcyEy60JasMqwca6kI7RuUgvZKm/zsdOq6gce0MvAK6vQyReMkC jxigUbEru3bEFxacsTIpdfeBc6xxSjxl19cRyQ+cz4o0I9c5ERDvsgZodUu88BUbo7pB UsSCZNZYdyzRAnD8scKKwOFuK4Q+GLrpH04zH+NXYX2/FVpnDjdZ7uQ8fydcqY6odzql EzWw== X-Gm-Message-State: APjAAAW3ufWMJHjKIgH9/on97g7te2+pTCCn5mTir5piY47D5HDyg2/W K1a8FmzZLH8/snjZmMavcFoXqECmWh4= X-Google-Smtp-Source: APXvYqz+URpxfh63ZBBxZ2CahgXDyGenCzUopfxH6cStb1wXk37EKjeQevdAMZ/CLt6S9EL+l6nZXQ== X-Received: by 2002:a6b:7602:: with SMTP id g2mr17336247iom.82.1560557664138; Fri, 14 Jun 2019 17:14:24 -0700 (PDT) Original-Received: from localhost.localdomain (69-165-165-189.dsl.teksavvy.com. [69.165.165.189]) by smtp.gmail.com with ESMTPSA id f17sm5977223ioc.2.2019.06.14.17.14.22 (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Fri, 14 Jun 2019 17:14:23 -0700 (PDT) In-Reply-To: (tenspd's message of "Fri, 14 Jun 2019 17:14:26 -0600") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:160587 Archived-At: Hi, Yes, this seems really promising. If you just replace (thefile) with real-fname (and re-eval your url-http-create-request), does Excorporate then work through the proxy? Thomas "tenspd137 ." writes: > Sorry - I was working fast: > > *I created a function that changed the line > in url-http-create-request so that the request looks like:* > > In a file I did: > > (defun thefile() "/EWS/Exchange.asmx") > > (copied from url-http library) > (defun url-http-create-request (&optional ref-url) > ..... > ;; This was done with a call to `format'. Concatenating parts has > ;; the advantage of keeping the parts of each header together and > ;; allows us to elide null lines directly, at the cost of making > ;; the layout less clear. > (setq request > (concat > ;; The request > (or url-http-method "GET") " " > (url-http--encode-string > (if using-proxy (thefile) real-fname)) > <------------Changed this to "hardcode" the request as proof of > concept > " HTTP/" url-http-version "\r\n" > ;; Version of MIME we speak > "MIME-Version: 1.0\r\n" > ;; (maybe) Try to keep the connection open > "Connection: " (if (or using-proxy ..... > ....... > ....... > > Loaded the file and then ran (url-retriev-synchronously "https://......") > > Thanks! > > -C > > On Fri, Jun 14, 2019 at 5:07 PM tenspd137 . wrote: >> >> I think I figured it out. I created a function that changed the line >> in url-http-create-request so that the request looks like: >> GET /EWS/Exchange.asmx HTTP/1.1 <----- *no server / host* >> MIME-Version: 1.0 >> Connection: close >> Extension: Security/Digest Security/SSL >> Host: outlook.office365.com >> Accept-encoding: gzip >> Accept: */* >> User-Agent: URL/Emacs Emacs/26.2 (X11; x86_64-pc-linux-gnu) >> Cookie: OIDC=1; ClientId=8998C5691CD143E784857A0D01537963 >> Authorization: Basic ZGF2aWQuYy5kYXlAaHAuY29tOlMxa3kzbGk3bmUwNzMxJSU= >> >> instead of >> >> GET https://outlook.office365.com/EWS/Exchange.asmx HTTP/1.1 >> MIME-Version: 1.0 >> Connection: close >> Extension: Security/Digest Security/SSL >> Host: outlook.office365.com >> Accept-encoding: gzip >> Accept: */* >> User-Agent: URL/Emacs Emacs/26.2 (X11; x86_64-pc-linux-gnu) >> Cookie: OIDC=1; ClientId=8998C5691CD143E784857A0D01537963 >> Authorization: Basic ZGF2aWQuYy5kYXlAaHAuY29tOlMxa3kzbGk3bmUwNzMxJSU= >> >> and the results buffer gives: *http....*-##### >> HTTP/1.1 200 OK >> Cache-Control: private >> Content-Length: 1213 >> Content-Type: text/html; charset=UTF-8 >> Content-Encoding: gzip >> Vary: Accept-Encoding >> Server: Microsoft-IIS/10.0 >> request-id: bcd31568-29fd-44e4-935f-35b54d697f33 >> X-CalculatedFETarget: CY4PR18CU003.internal.outlook.com >> X-BackEndHttpStatus: 200 >> Set-Cookie: exchangecookie=6c731ced364846f2a979bfaa84496f1e; >> expires=Sun, 14-Jun-2020 23:02:57 GMT; path=/; secure; HttpOnly >> X-FEProxyInfo: CY4PR18CA0059.NAMPRD18.PROD.OUTLOOK.COM >> X-CalculatedBETarget: CS1PR8401MB1223.NAMPRD84.PROD.OUTLOOK.COM >> X-BackEndHttpStatus: 200 >> X-RUM-Validated: 1 >> X-AspNet-Version: 4.0.30319 >> X-BeSku: Gen9 >> X-DiagInfo: CS1PR8401MB1223 >> X-BEServer: CS1PR8401MB1223 >> X-FEServer: CY4PR18CA0059 >> X-Powered-By: ASP.NET >> X-FEServer: SN4PR0501CA0003 >> Date: Fri, 14 Jun 2019 23:02:56 GMT >> Connection: close >> >> > href="https://cs1pr8401mb1223.namprd84.prod.outlook.com:444/EWS/Exchange.asmx?disco"/>Service

> class="heading1">Service


You have created a >> service.

To test this service, you will need to create >> a client and use it to call the service. You can do this using the >> svcutil.exe tool from the command line with the following syntax:

>>
svcutil.exe > HREF="https://cs1pr8401mb1223.namprd84.prod.outlook.com:444/EWS/Services.wsdl">https://cs1pr8401mb1223.namprd84.prod.outlook.com:444/EWS/Services.wsdl

> class="intro"/>This will generate a configuration file and a code file >> that contains the client class. Add the two files to your client >> application and use the generated client class to call the Service. >> For example:

C#

> color="blue">class Test
>> {
>>     static void Main()
>>     {
>>         HelloClient client = > color="blue">new HelloClient();
>>
>>         // Use the 'client' variable to call
>> operations on the service.
>>
>>         // Always close the client.
>>         client.Close();
>>     }
>> }
>> 

Visual Basic

> color="blue">Class Test
>>     Shared Sub Main()
>>         Dim client As > color="teal">HelloClient = New > color="teal">HelloClient()
>>         ' Use the 'client' variable to call
>> operations on the service.
>>
>>         ' Always close the client.
>>         client.Close()
>>     End Sub
>> End Class
>> >> which matches the file saved with wget. >> >> That has to be worth something.... >> >> Thanks! >> >> -C >> >> On Fri, Jun 14, 2019 at 4:07 PM tenspd137 . wrote: >> > >> > Just some more things I noticed from the wget log vs. the emacs buffers: >> > >> > emacs: Accept-encoding:gzip, wget:Accept-encoding: identity >> > >> > emacs: GET https://outlook.office365.com/EWS/Exchange.asmx HTTP/1.1, >> > wget: GET /EWS/Exchange.asmx HTTP/1.1 >> > >> > Don't know if any of that is helpful, but there it is. >> > >> > Thanks! >> > >> > -C >> > >> > On Fri, Jun 14, 2019 at 3:48 PM tenspd137 . wrote: >> > > >> > > Sorry - I am not in control of my proxy. So, before I give up on this >> > > for today, I was going over the wget logs from trying the same thing. >> > > One thing I noticed is: >> > > >> > > Connection: Keep-Alive >> > > Proxy-Connection: Keep-Alive >> > > >> > > I see stuff in the emacs buffers mentioning Connection, and it says >> > > closed (unless marking the connection as busy is the same as keeping >> > > it open), but I don't see anything mentioning the proxy >> > > connection....? Maybe another place to look? >> > > >> > > Just some ideas... >> > > >> > > Thanks! >> > > >> > > -C >> > > >> > > On Fri, Jun 14, 2019 at 3:02 PM Thomas Fitzsimmons wrote: >> > > > >> > > > Hi, >> > > > >> > > > Thanks for following up with these further test results. >> > > > >> > > > "tenspd137 ." writes: >> > > > >> > > > > I was able to try stepping through an Emacs/proxy/Exchange test in an >> > > > > emacs -Q session. After setting the proxy and configuring the >> > > > > debugger to step through url-http and url-http-async-sentilnel, the >> > > > > only thing I noticed is that it appears url-http-async-sentinel is not >> > > > > being called. >> > > > >> > > > OK, that's probably expected. I listed it for completeness (all the >> > > > call sites of url-https-proxy-connect), but I guess it would only be >> > > > called under url-retrieve, not under url-retrieve-synchronously. >> > > > >> > > > > I also put the url-https-proxy-connect override you gave me earlier >> > > > > into a file, loaded it and set the debugger to run through that as >> > > > > well as set up proxies. A broken down list of steps: >> > > > > >> > > > > 1. Load file containing proxy and altered url-https-proxyconnect, set >> > > > > debugger to run through it when hit. >> > > > > 2. set up url-http and url-http-async-sentinel to be picked up by debugger >> > > > > 3. eval (url-retrieve-synchronously >> > > > > "https://outlook.office365.com/EWS/Exchange.asmx"), step through >> > > > > url-http >> > > > > 4. Input username and password when asked >> > > > > 5. Continue stepping until end >> > > > > >> > > > > url-http-async-sentinel is never called. " *http* ... -####" has text >> > > > > indicating failure. url-https-proxy-connect is indeed called. >> > > > >> > > > OK, it's good to know that url-http ultimately calls >> > > > url-https-proxy-connect. Unfortunately, despite this, proxying does not >> > > > work. >> > > > >> > > > > I don't know how to look at the actual , if I try to C-x C-e >> > > > > or M-: "connection", it goes into the debugger. The url's, etc look >> > > > > good as far as I can tell. Not sure what else I can do. If there are >> > > > > certain pieces of url-http you want me to look at, just let me know, >> > > > > but not really knowing what has to happen under the hood, I am not >> > > > > going to be able to do much else. >> > > > >> > > > I think I'll probably have to set up my own test environment. Are you >> > > > in control of the proxy and its configuration? If so, can you provide >> > > > rough configuration instructions (proxy software, version, relevant >> > > > config settings)? If not, that's OK, I can try setting up generic proxy >> > > > software. >> > > > >> > > > Thanks, >> > > > Thomas