Explorar el Código

correcting old browser detection logic, fixes #446

El RIDO hace 7 años
padre
commit
67b9b5f0d8
Se han modificado 4 ficheros con 9 adiciones y 10 borrados
  1. 5 5
      js/privatebin.js
  2. 2 3
      js/test/InitialCheck.js
  3. 1 1
      tpl/bootstrap.php
  4. 1 1
      tpl/page.php

+ 5 - 5
js/privatebin.js

@@ -4580,11 +4580,11 @@ jQuery.PrivateBin = (function($, RawDeflate) {
         function isOldBrowser() {
             // webcrypto support
             if (typeof window.crypto !== 'object') {
-                return false;
+                return true;
             }
 
             if (typeof WebAssembly !== 'object' && typeof WebAssembly.instantiate !== 'function') {
-                return false;
+                return true;
             }
             try {
                 // [\0, 'a', 's', 'm', (uint_32) 1] - smallest valid wasm module
@@ -4595,17 +4595,17 @@ jQuery.PrivateBin = (function($, RawDeflate) {
                         new WebAssembly.Instance(module) instanceof WebAssembly.Instance
                     )
                 ) {
-                    return false;
+                    return true;
                 }
             } catch (e) {
-                return false;
+                return true;
             }
 
              // not checking for async/await, ES6, Promise or Uint8Array support,
              // as most browsers introduced these earlier then webassembly and webcrypto:
              // https://github.com/PrivateBin/PrivateBin/pull/431#issuecomment-493129359
 
-            return true;
+            return false;
         }
 
         /**

+ 2 - 3
js/test/InitialCheck.js

@@ -22,6 +22,7 @@ describe('InitialCheck', function () {
                         '</body></html>'
                     );
                     $.PrivateBin.Alert.init();
+                    window.crypto = null;
                     const result1 = !$.PrivateBin.InitialCheck.init(),
                           result2 = !$('#errormessage').hasClass('hidden');
                     clean();
@@ -48,13 +49,10 @@ describe('InitialCheck', function () {
                     '<html><body><div id="errormessage" class="hidden"></div>'+
                     '<div id="oldnotice" class="hidden"></div></body></html>'
                 );
-                const crypto = window.crypto;
-                window.crypto = null;
                 $.PrivateBin.Alert.init();
                 const result1 = !$.PrivateBin.InitialCheck.init(),
                       result2 = isSecureContext === $('#errormessage').hasClass('hidden'),
                       result3 = !$('#oldnotice').hasClass('hidden');
-                window.crypto = crypto;
                 clean();
                 return result1 && result2 && result3;
             }
@@ -78,6 +76,7 @@ describe('InitialCheck', function () {
                     '</body></html>'
                 );
                 $.PrivateBin.Alert.init();
+                window.crypto = null;
                 const result1 = $.PrivateBin.InitialCheck.init(),
                       result2 = isSecureContext === $('#httpnotice').hasClass('hidden');
                 clean();

+ 1 - 1
tpl/bootstrap.php

@@ -72,7 +72,7 @@ if ($MARKDOWN):
 endif;
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.11.js" integrity="sha512-p7UyJuyBkhMcMgE4mDsgK0Lz70OvetLefua1oXs1OujWv9gOxh4xy8InFux7bZ4/DAZsTmO4rgVwZW9BHKaTaw==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-xa4Dzm5z/8B3iElnf+46U0BMyvmDtQQdLO+O9DCnozrpuHb9YZ3MkAFMwbuytSgFx76FNvp/aQhTwqM4a6qbow==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-yrdGnBnMXuR3FYwWA7kHON7f7Beqr7EvUnIH4/m3qUuLaudXIcqJnt6qLIWLGL5E156DcVZc460rLzUGKlSHsA==" crossorigin="anonymous"></script>
 		<!--[if IE]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;}</style>
 		<![endif]-->

+ 1 - 1
tpl/page.php

@@ -50,7 +50,7 @@ if ($MARKDOWN):
 endif;
 ?>
 		<script type="text/javascript" data-cfasync="false" src="js/purify-1.0.11.js" integrity="sha512-p7UyJuyBkhMcMgE4mDsgK0Lz70OvetLefua1oXs1OujWv9gOxh4xy8InFux7bZ4/DAZsTmO4rgVwZW9BHKaTaw==" crossorigin="anonymous"></script>
-		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-xa4Dzm5z/8B3iElnf+46U0BMyvmDtQQdLO+O9DCnozrpuHb9YZ3MkAFMwbuytSgFx76FNvp/aQhTwqM4a6qbow==" crossorigin="anonymous"></script>
+		<script type="text/javascript" data-cfasync="false" src="js/privatebin.js?<?php echo rawurlencode($VERSION); ?>" integrity="sha512-yrdGnBnMXuR3FYwWA7kHON7f7Beqr7EvUnIH4/m3qUuLaudXIcqJnt6qLIWLGL5E156DcVZc460rLzUGKlSHsA==" crossorigin="anonymous"></script>
 		<!--[if IE]>
 		<style type="text/css">body {padding-left:60px;padding-right:60px;} #ienotice {display:block;}</style>
 		<![endif]-->