You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by mi...@apache.org on 2012/09/26 00:14:32 UTC

svn commit: r1390191 - in /jmeter/trunk: docs/images/screenshots/ src/core/org/apache/jmeter/resources/ src/protocol/http/org/apache/jmeter/protocol/http/proxy/ src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ xdocs/ xdocs/images/screenshot...

Author: milamber
Date: Tue Sep 25 22:14:31 2012
New Revision: 1390191

URL: http://svn.apache.org/viewvc?rev=1390191&view=rev
Log:
Removes HTTPS spoofing options in JMeter HTTP Proxy Server. Since JMeter 2.4, the HTTPS protocol is directly supported by the proxy
Bugzilla Id: 53934

Modified:
    jmeter/trunk/docs/images/screenshots/proxy_control.png
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_de.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_pt_BR.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_tr.properties
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/images/screenshots/proxy_control.png
    jmeter/trunk/xdocs/usermanual/component_reference.xml
    jmeter/trunk/xdocs/usermanual/jmeter_proxy_step_by_step.odt
    jmeter/trunk/xdocs/usermanual/jmeter_proxy_step_by_step.pdf

Modified: jmeter/trunk/docs/images/screenshots/proxy_control.png
URL: http://svn.apache.org/viewvc/jmeter/trunk/docs/images/screenshots/proxy_control.png?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
Binary files - no diff available.

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties Tue Sep 25 22:14:31 2012
@@ -698,8 +698,6 @@ proxy_daemon_bind_error=Could not create
 proxy_daemon_error=Could not create proxy - see log for details
 proxy_general_settings=Global Settings
 proxy_headers=Capture HTTP Headers
-proxy_httpsspoofing=Attempt HTTPS Spoofing
-proxy_httpsspoofing_match=Only spoof URLs matching:
 proxy_regex=Regex matching
 proxy_sampler_settings=HTTP Sampler settings
 proxy_sampler_type=Type\:

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_de.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_de.properties?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_de.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_de.properties Tue Sep 25 22:14:31 2012
@@ -393,8 +393,6 @@ proxy_content_type_exclude=Ausschlie\u00
 proxy_content_type_filter=Content-Type Filter
 proxy_content_type_include=Einschlie\u00DFen\:
 proxy_headers=HTTP-Header \u00FCberwachen
-proxy_httpsspoofing_match=URL Muster (optional)
-proxy_httpsspoofing=HTTPS-Spoofing versuchen
 proxy_regex=RegEx Muster
 proxy_sampler_settings=HTTP Sampler Einstellungen
 proxy_sampler_type=Typ\:

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_es.properties Tue Sep 25 22:14:31 2012
@@ -574,8 +574,6 @@ proxy_content_type_include=Incluir\:
 proxy_daemon_bind_error=No pudo crear el proxy - puerto en uso. Escoger otro puerto.
 proxy_daemon_error=No pudo crear el proxy - ver traza para m\u00E1s detalles
 proxy_headers=Capturar Cabeceras HTTP
-proxy_httpsspoofing=Intentar usurpado HTTPS (HTTPS spoofing)
-proxy_httpsspoofing_match=Filtro de URLs para usurpaci\u00F3n HTTPS (HTTPS spoofing) \:
 proxy_regex=Coincidencia Regex
 proxy_sampler_settings=Par\u00E1metros muestra HTTP
 proxy_sampler_type=Tipo\:

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties Tue Sep 25 22:14:31 2012
@@ -692,8 +692,6 @@ proxy_daemon_bind_error=Impossible de la
 proxy_daemon_error=Impossible de lancer le serveur proxy, voir le journal pour plus de d\u00E9tails
 proxy_general_settings=Param\u00E8tres g\u00E9n\u00E9raux
 proxy_headers=Capturer les ent\u00EAtes HTTP
-proxy_httpsspoofing=Tenter d'usurper le HTTPS
-proxy_httpsspoofing_match=Filtre d'URL pour usurpation HTTPS (regexp) \:
 proxy_regex=Correspondance des variables par regex ?
 proxy_sampler_settings=Param\u00E8tres Echantillon HTTP
 proxy_sampler_type=Type \:

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_pt_BR.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_pt_BR.properties?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_pt_BR.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_pt_BR.properties Tue Sep 25 22:14:31 2012
@@ -535,8 +535,6 @@ proxy_content_type_include=Incluir\:
 proxy_daemon_bind_error=N\u00E3o foi poss\u00EDvel criar o proxy - porta em uso\: Escolha outra porta.
 proxy_daemon_error=N\u00E3o foi poss\u00EDvel criar o proxy - veja log para detalhes
 proxy_headers=Capturar Cabe\u00E7alhos HTTP
-proxy_httpsspoofing=Tentar ataque  HTTPS (spoofing)
-proxy_httpsspoofing_match=String de combina\u00E7\u00E3o de URL opcional\:
 proxy_regex=Combina\u00E7\u00E3o de express\u00E3o regular
 proxy_sampler_settings=Configura\u00E7\u00F5es do Testador HTTP
 proxy_sampler_type=Tipo\:

Modified: jmeter/trunk/src/core/org/apache/jmeter/resources/messages_tr.properties
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/resources/messages_tr.properties?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/resources/messages_tr.properties (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/resources/messages_tr.properties Tue Sep 25 22:14:31 2012
@@ -513,8 +513,6 @@ proxy_content_type_exclude=Hari\u00E7 tu
 proxy_content_type_filter=\u0130\u00E7erik-tipi filtresi
 proxy_content_type_include=\u0130\u00E7eren\:
 proxy_headers=HTTP Ba\u015Fl\u0131klar\u0131n\u0131 Yakala
-proxy_httpsspoofing=HTTPS Taklidi Dene
-proxy_httpsspoofing_match=\u0130ste\u011Fe ba\u011Fl\u0131 URL e\u015Fle\u015Fme metni\:
 proxy_regex=D\u00FCzenli ifade e\u015Fle\u015Fmesi
 proxy_sampler_settings=HTTP \u00D6rnekleyici Ayarlar\u0131
 proxy_sampler_type=Tip\:

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/Proxy.java Tue Sep 25 22:14:31 2012
@@ -38,7 +38,6 @@ import java.security.UnrecoverableKeyExc
 import java.security.cert.CertificateException;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.regex.Pattern;
 
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.SSLContext;
@@ -112,8 +111,6 @@ public class Proxy extends Thread {
 
     private static final SamplerCreatorFactory factory = new SamplerCreatorFactory();
 
-    private static final Pattern COOKIE_SECURE_PATTERN = Pattern.compile("\\bsecure\\b", Pattern.CASE_INSENSITIVE);
-
     // Use with SSL connection
     private OutputStream outStreamClient = null;
 
@@ -132,11 +129,6 @@ public class Proxy extends Thread {
     /** Whether or not to capture the HTTP headers. */
     private boolean captureHttpHeaders;
 
-    /** Whether to try to spoof as https **/
-    private boolean httpsSpoof;
-
-    private String httpsSpoofMatch; // if non-empty, then URLs must match in order to be spoofed
-
     /** Reference to Deamon's Map of url string to page character encoding of that page */
     private Map<String, String> pageEncodings;
     /** Reference to Deamon's Map of url string to character encoding for the form */
@@ -167,8 +159,6 @@ public class Proxy extends Thread {
         this.target = _target;
         this.clientSocket = _clientSocket;
         this.captureHttpHeaders = _target.getCaptureHttpHeaders();
-        this.httpsSpoof = _target.getHttpsSpoof();
-        this.httpsSpoofMatch = _target.getHttpsSpoofMatch();
         this.pageEncodings = _pageEncodings;
         this.formEncodings = _formEncodings;
     }
@@ -218,46 +208,15 @@ public class Proxy extends Thread {
             headers = request.getHeaderManager();
             sampler.setHeaderManager(headers);
 
-            /*
-             * If we are trying to spoof https, change the protocol
-             */
-            boolean forcedHTTPS = false; // so we know when to revert
-            if (httpsSpoof) {
-                if (httpsSpoofMatch.length() > 0){
-                    String url = request.getUrl();
-                    if (url.matches(httpsSpoofMatch)){
-                        sampler.setProtocol(HTTPConstants.PROTOCOL_HTTPS);
-                        forcedHTTPS = true;
-                    }
-                } else {
-                    sampler.setProtocol(HTTPConstants.PROTOCOL_HTTPS);
-                    forcedHTTPS = true;
-                }
-            }
             sampler.threadStarted(); // Needed for HTTPSampler2
             result = sampler.sample();
 
-            /*
-             * If we're dealing with text data, and if we're spoofing https,
-             * replace all occurences of "https://" with "http://" for the client.
-             * TODO - also check the match string to restrict the changes further?
-             */
-            if (httpsSpoof && SampleResult.TEXT.equals(result.getDataType()))
-            {
-                final String enc = result.getDataEncodingWithDefault();
-                String noHttpsResult = new String(result.getResponseData(),enc);
-                final String HTTPS_HOST = // match https://host[:port]/ and drop default port if present
-                    "https://([^:/]+)(:"+HTTPConstants.DEFAULT_HTTPS_PORT_STRING+")?"; // $NON-NLS-1$ $NON-NLS-2$
-                noHttpsResult = noHttpsResult.replaceAll(HTTPS_HOST, "http://$1"); // $NON-NLS-1$
-                result.setResponseData(noHttpsResult.getBytes(enc));
-            }
-
             // Find the page encoding and possibly encodings for forms in the page
             // in the response from the web server
             String pageEncoding = addPageEncoding(result);
             addFormEncodings(result, pageEncoding);
 
-            writeToClient(result, new BufferedOutputStream(clientSocket.getOutputStream()), forcedHTTPS);
+            writeToClient(result, new BufferedOutputStream(clientSocket.getOutputStream()));
         } catch (UnknownHostException uhe) {
             log.warn("Server Not Found.", uhe);
             writeErrorToClient(HttpReplyHdr.formServerNotFound());
@@ -437,9 +396,9 @@ public class Proxy extends Thread {
      * @throws IOException
      *             if an IOException occurs while writing
      */
-    private void writeToClient(SampleResult res, OutputStream out, boolean forcedHTTPS) throws IOException {
+    private void writeToClient(SampleResult res, OutputStream out) throws IOException {
         try {
-            String responseHeaders = messageResponseHeaders(res, forcedHTTPS);
+            String responseHeaders = messageResponseHeaders(res);
             out.write(responseHeaders.getBytes(SampleResult.DEFAULT_HTTP_ENCODING));
             out.write(CRLF_BYTES);
             out.write(res.getResponseData());
@@ -464,15 +423,14 @@ public class Proxy extends Thread {
      * The Transfer-Encoding header is also removed.
      * If the protocol was changed to HTTPS then change any Location header back to http
      * @param res - response
-     * @param forcedHTTPS  if we changed the protocol to https
      *
      * @return updated headers to be sent to client
      */
-    private String messageResponseHeaders(SampleResult res, boolean forcedHTTPS) {
+    private String messageResponseHeaders(SampleResult res) {
         String headers = res.getResponseHeaders();
         String [] headerLines=headers.split(NEW_LINE, 0); // drop empty trailing content
         int contentLengthIndex=-1;
-        boolean fixContentLength = forcedHTTPS;
+        boolean fixContentLength = false;
         for (int i=0;i<headerLines.length;i++){
             String line=headerLines[i];
             String[] parts=line.split(":\\s+",2); // $NON-NLS-1$
@@ -493,16 +451,6 @@ public class Proxy extends Thread {
                     contentLengthIndex=i;
                     continue;
                 }
-                final String HTTPS_PREFIX = "https://";
-                if (forcedHTTPS && HTTPConstants.HEADER_LOCATION.equalsIgnoreCase(parts[0])
-                        && parts[1].substring(0, HTTPS_PREFIX.length()).equalsIgnoreCase(HTTPS_PREFIX)){
-                    headerLines[i]=headerLines[i].replaceFirst(parts[1].substring(0,HTTPS_PREFIX.length()), "http://");
-                    continue;
-                }
-                if (forcedHTTPS && (HTTPConstants.HEADER_COOKIE.equalsIgnoreCase(parts[0]) || HTTPConstants.HEADER_SET_COOKIE.equalsIgnoreCase(parts[0])))
-                {
-                    headerLines[i]=COOKIE_SECURE_PATTERN.matcher(headerLines[i]).replaceAll("").trim(); //in forced https cookies need to be unsecured...
-                }
             }
         }
         if (fixContentLength && contentLengthIndex>=0){// Fix the content length

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/ProxyControl.java Tue Sep 25 22:14:31 2012
@@ -125,10 +125,6 @@ public class ProxyControl extends Generi
 
     private static final String REGEX_MATCH = "ProxyControlGui.regex_match"; // $NON-NLS-1$
 
-    private static final String HTTPS_SPOOF = "ProxyControlGui.https_spoof"; // $NON-NLS-1$
-
-    private static final String HTTPS_SPOOF_MATCH = "ProxyControlGui.https_spoof_match"; // $NON-NLS-1$
-
     private static final String CONTENT_TYPE_EXCLUDE = "ProxyControlGui.content_type_exclude"; // $NON-NLS-1$
 
     private static final String CONTENT_TYPE_INCLUDE = "ProxyControlGui.content_type_include"; // $NON-NLS-1$
@@ -250,14 +246,6 @@ public class ProxyControl extends Generi
         setProperty(new BooleanProperty(REGEX_MATCH, b));
     }
 
-    public void setHttpsSpoof(boolean b) {
-        setProperty(new BooleanProperty(HTTPS_SPOOF, b));
-    }
-
-    public void setHttpsSpoofMatch(String s) {
-        setProperty(new StringProperty(HTTPS_SPOOF_MATCH, s));
-    }
-
     public void setContentTypeExclude(String contentTypeExclude) {
         setProperty(new StringProperty(CONTENT_TYPE_EXCLUDE, contentTypeExclude));
     }
@@ -323,14 +311,6 @@ public class ProxyControl extends Generi
         return getPropertyAsBoolean(REGEX_MATCH, false);
     }
 
-    public boolean getHttpsSpoof() {
-        return getPropertyAsBoolean(HTTPS_SPOOF, false);
-    }
-
-    public String getHttpsSpoofMatch() {
-        return getPropertyAsString(HTTPS_SPOOF_MATCH, "");
-    }
-
     public String getContentTypeExclude() {
         return getPropertyAsString(CONTENT_TYPE_EXCLUDE);
     }

Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java (original)
+++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/proxy/gui/ProxyControlGui.java Tue Sep 25 22:14:31 2012
@@ -133,17 +133,6 @@ public class ProxyControlGui extends Log
      */
     private JCheckBox samplerDownloadImages;
 
-    /*
-     * Spoof the client into thinking that it is communicating with http
-     * even if it is really https.
-     */
-    private JCheckBox httpsSpoof;
-
-    /*
-     * Only spoof the URLs that match (optional)
-     */
-    private JTextField httpsMatch;
-
     /**
      * Regular expression to include results based on content type
      */
@@ -246,8 +235,6 @@ public class ProxyControlGui extends Log
             model.setUseKeepAlive(useKeepAlive.isSelected());
             model.setSamplerDownloadImages(samplerDownloadImages.isSelected());
             model.setRegexMatch(regexMatch.isSelected());
-            model.setHttpsSpoof(httpsSpoof.isSelected());
-            model.setHttpsSpoofMatch(httpsMatch.getText());
             model.setContentTypeInclude(contentTypeInclude.getText());
             model.setContentTypeExclude(contentTypeExclude.getText());
             TreeNodeWrapper nw = (TreeNodeWrapper) targetNodes.getSelectedItem();
@@ -306,9 +293,6 @@ public class ProxyControlGui extends Log
         useKeepAlive.setSelected(model.getUseKeepalive());
         samplerDownloadImages.setSelected(model.getSamplerDownloadImages());
         regexMatch.setSelected(model.getRegexMatch());
-        httpsSpoof.setSelected(model.getHttpsSpoof());
-        httpsMatch.setText(model.getHttpsSpoofMatch());
-        httpsMatch.setEnabled(httpsSpoof.isSelected()); // Only valid if Spoof is selected
         contentTypeInclude.setText(model.getContentTypeInclude());
         contentTypeExclude.setText(model.getContentTypeExclude());
 
@@ -358,7 +342,6 @@ public class ProxyControlGui extends Log
             startProxy();
         } else if (command.equals(ENABLE_RESTART)){
             enableRestart();
-            httpsMatch.setEnabled(httpsSpoof.isSelected()); // Only valid if Spoof is selected
         } else if (command.equals(ADD_EXCLUDE)) {
             excludeModel.addNewRow();
             excludeModel.fireTableDataChanged();
@@ -555,34 +538,17 @@ public class ProxyControlGui extends Log
         JLabel label = new JLabel(JMeterUtils.getResString("port")); // $NON-NLS-1$
         label.setLabelFor(portField);
 
-        httpsSpoof = new JCheckBox(JMeterUtils.getResString("proxy_httpsspoofing")); // $NON-NLS-1$
-        httpsSpoof.setSelected(false);
-        httpsSpoof.addActionListener(this);
-        httpsSpoof.setActionCommand(ENABLE_RESTART);
-
-        httpsMatch = new JTextField(40);
-        httpsMatch.addKeyListener(this);
-        httpsMatch.setName(ENABLE_RESTART);
-        httpsMatch.setEnabled(false); // Only valid if Spoof is selected
-
-        JLabel matchlabel = new JLabel(JMeterUtils.getResString("proxy_httpsspoofing_match")); // $NON-NLS-1$
-        matchlabel.setLabelFor(httpsMatch);
-
-        
-        HorizontalPanel panel = new HorizontalPanel();
-        panel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
+        JPanel gPane = new JPanel(new BorderLayout());
+        gPane.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(),
                 JMeterUtils.getResString("proxy_general_settings"))); // $NON-NLS-1$
 
+        HorizontalPanel panel = new HorizontalPanel();
         panel.add(label);
         panel.add(portField);
 
-        panel.add(Box.createHorizontalStrut(10));
-        panel.add(httpsSpoof);
-
-        panel.add(matchlabel);
-        panel.add(httpsMatch);
-
-        return panel;
+        gPane.add(panel, BorderLayout.WEST);
+        gPane.add(Box.createHorizontalStrut(10));
+        return gPane;
     }
 
     private JPanel createTestPlanContentPanel() {

Modified: jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/xdocs/changes.xml (original)
+++ jmeter/trunk/xdocs/changes.xml Tue Sep 25 22:14:31 2012
@@ -221,6 +221,7 @@ Cookie Manager has now the default HC3.1
 <li><bugzilla>53807</bugzilla> - CSV Dataset does not handle embedded new lines in quoted data</li>
 <li><bugzilla>53879</bugzilla> - GUI : Allow Popups to be closed with ESC key</li>
 <li><bugzilla>53876</bugzilla> - Allow URL Filters (HTTP Proxy) to be pasted from clipboard</li>
+<li><bugzilla>53934</bugzilla> - Removes HTTPS spoofing options in JMeter HTTP Proxy Server. Since JMeter 2.4, the HTTPS protocol is directly supported by the proxy</li>
 </ul>
 
 <h2>Non-functional changes</h2>

Modified: jmeter/trunk/xdocs/images/screenshots/proxy_control.png
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/images/screenshots/proxy_control.png?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
Binary files - no diff available.

Modified: jmeter/trunk/xdocs/usermanual/component_reference.xml
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
--- jmeter/trunk/xdocs/usermanual/component_reference.xml (original)
+++ jmeter/trunk/xdocs/usermanual/component_reference.xml Tue Sep 25 22:14:31 2012
@@ -5247,7 +5247,7 @@ Your WorkBench can be saved independentl
 </p>
 </component>
 
-<component name="HTTP Proxy Server" index="&sect-num;.9.5"  width="954" height="615" screenshot="proxy_control.png">
+<component name="HTTP Proxy Server" index="&sect-num;.9.5"  width="939" height="599" screenshot="proxy_control.png">
 <description><p>The Proxy Server allows JMeter to watch and record your actions while you browse your web application
 with your normal browser.  JMeter will create test sample objects and store them
 directly into your test plan as you go (so you can view samples interactively while you make them).</p>
@@ -5295,26 +5295,6 @@ This setting will also be needed when ru
 <properties>
         <property name="Name" required="No">Descriptive name for this element that is shown in the tree.</property>
         <property name="Port" required="Yes">The port that the Proxy Server listens to.  8080 is the default, but you can change it.</property>
-        <property name="Attempt HTTPS Spoofing" required="Yes">
-          [Note: HTTPS spoofing should no longer be required]
-          When you enable HTTPS spoofing, the following  happens:
-          <ul>
-            <li>All matching (see below) http requests from the client are turned into https (between the proxy
-              and the web server).</li>
-            <li>All text response data is scanned and any occurrence of the string "https://" 
-              is replaced with "http://"; the default HTTPS port (443) is also removed if present.</li>
-          </ul>
-          So if you want to use this feature, while you are browsing in your client,
-          instead of typing "https://..." into the browser, type "http://...".  
-          JMeter will request and record <i>everything that matches</i> as https, whether it should be or not.
-        </property>
-        <property name="Optional URL match string" required="No">
-        If this is specified, it must be a regular expression (java.util.regex) which matches the
-        HTTP URL(s) to be spoofed.
-        For example, if you want to spoof http://a.b.c/service/ but not http://a.b.c/images,
-        then you could use the expression "http://a.b.c/service/.*".
-        Note that the expression ends in ".*" because it must match the whole URL.
-        </property>
         <property name="Target Controller" required="Yes">The controller where the proxy will store the generated samples. By default, it will look for a Recording Controller and store them there wherever it is.</property>
         <property name="Grouping" required="Yes">Whether to group samplers for requests from a single "click" (requests received without significant time separation), and how to represent that grouping in the recording:
            <ul>

Modified: jmeter/trunk/xdocs/usermanual/jmeter_proxy_step_by_step.odt
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/jmeter_proxy_step_by_step.odt?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
Binary files - no diff available.

Modified: jmeter/trunk/xdocs/usermanual/jmeter_proxy_step_by_step.pdf
URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/usermanual/jmeter_proxy_step_by_step.pdf?rev=1390191&r1=1390190&r2=1390191&view=diff
==============================================================================
Binary files - no diff available.