javascript – If block not executed inspite of condition true?

This is so bizarre for me.

I have an if condition to test regex. The regex looks for content wrapped in tilda ~~(enter content)~~.

const regexStrikeThroughMatchOne = /~{2}(^~)*~{2}/gm;

String to test is:

a ~~b~~ c d e f

When I run the regex on regex101, the ~~b~~ matches.

When I run the code, it never enters the if block. My function is:

const formatInlineText = (text: string) => {
  const regexStrikeThroughMatchOne = /~{2}(^~)*~{2}/gm;
  let concatString = text;
  console.log("test:",regexStrikeThroughMatchOne.test(concatString)); // logs true
  if (regexStrikeThroughMatchOne.test(concatString)) {
    // it never enters the inside of `if` block
    for (const stSet of concatString.matchAll(regexStrikeThroughMatchOne)) {
      ...
    }
  } else {
    console.log("false");
  }
  return concatString;
};

What am I doing wrong please?

C++ prefix increment operators seem to be executed simultaneously

I have the following code:

#include <stdio.h>

int main() {
  int i = 5;
  printf("%dn", ++i + ++i);
  return 0;
}

which outputs 14. I know that prefix increment has higher precedence than addition, but to me it seems that this should output 13 (calculate ++i = 6, calculate ++i once more = 7, add them = 13). And it does output 13 in JavaScript, for example. So what’s going on in C++?

linux – .xinitrc file not being executed

I’m attempting to install the dwm window manager which requires a command exec dwm to be inserted into .xinitrc in the home directory. When I used sudo startx, It brought me to the default xorg interface with dwm not being executed.

As a sanity check I added a exec echo "check" >> /home/arch/test.log to see if the file was even being executed. After I sudo startx’d, nothing appeared in the log file which leads me to believe that startx is not executing the file. I am following this tutorial here and have confirmed that the file has the executable flag. The .xinitrc file was copied from /etc/X11 and all original commands are still there.

So, how can I get .xinitrc to be executed, could it be because my startx command can only be run by sudo?

Any help will be appreciated.

c# – Why Unity Navmesh codes should be executed first?

I’m trying to calculate path using NavMesh.CalculatePath and use rigidbody alongside with it,
how ever if character does not stick to navmesh baked area the calculatePath codes will not work.
I also found that if my path finding codes does not run first the path finding will not work either.
for example:

void Update {   //path finding in this script will work
  PathFinding(); 
  GetDistance();

}     


void Update {   //path finding in this script will NOT work
  GetDistance();
  PathFinding(); 
  

}

any help regarding to solving the problem or understanding how Unity navmesh system works will appreciated.

magento2.3 – Install Data is not executed in magento 2

I am trying to create a category attribute:
This is my file form Vendor/Module/Setup:

use MagentoCatalogModelCategory;
use MagentoCatalogSetupCategorySetupFactory;
use MagentoFrameworkSetupInstallDataInterface;
use MagentoFrameworkSetupModuleContextInterface;
use MagentoFrameworkSetupModuleDataSetupInterface;

class InstallData implements InstallDataInterface
{

    private $categorySetupFactory;

    public function __construct(CategorySetupFactory $categorySetupFactory)
    {
        $this->categorySetupFactory = $categorySetupFactory;
    }

    public function install(ModuleDataSetupInterface $setup, ModuleContextInterface $context)
    {
        $installer = $setup;
        $installer->startSetup();
        $categorySetup = $this->categorySetupFactory->create(('setup' => $setup));

        $categorySetup->addAttribute(
            Category::ENTITY,
            'content_category_page',
            (
                'type' => 'int',
                'label' => 'Content Page',
                'input' => 'select',
                'sort_order' => 100,
                'source' => 'MagentoCatalogModelCategoryAttributeSourcePage',
                'global' => 2,
                'visible' => true,
                'required' => true,
                'user_defined' => false,
                'default' => null,
                'group' => 'General Information',
                'backend' => ''
            )
        );
        $installer->endSetup();
    }
}

The current version of the module is 1.0.1, so I increased it to 1.0.2 and run the setup:upgrade. After the module is updated to version 1.0.2 in the setup_module table, but my InstallData is not executed and the attribute is missing . Not sure what I am doing wrong here? Would you please advice ?

Thnx

MS SQL Server 2012 – How To Find Last Executed Queries

I have 120+ databases and I want to find last executed queries (actually I want to find last executed queries and last executed select queries) in last 10 days. I have below scripts for this job:

1-) Some database names are NULL and there is no date.

SELECT
    txt.TEXT AS (SQL Statement),
    qs.execution_count (No. Times Executed),
    qs.last_execution_time AS (Last Time Executed), 
    DB_NAME(txt.dbid) AS (Database)
FROM SYS.DM_EXEC_QUERY_STATS AS qs
    CROSS APPLY SYS.DM_EXEC_SQL_TEXT(qs.SQL_HANDLE) AS txt
ORDER BY qs.last_execution_time DESC;

2-) There are no databases’ names and date.

SELECT dest.TEXT AS (Query),
deqs.execution_count (Count),
deqs.last_execution_time AS (Time)
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
ORDER BY deqs.last_execution_time DESC;

3-)

SELECT deqs.last_execution_time AS (Time), dest.text AS (Query), dest.*
FROM sys.dm_exec_query_stats AS deqs
CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest
WHERE dest.dbid = DB_ID('dbname')
ORDER BY deqs.last_execution_time DESC

4-) There is no database names.

SELECT        SQLTEXT.text, STATS.last_execution_time
FROM          sys.dm_exec_query_stats STATS
CROSS APPLY   sys.dm_exec_sql_text(STATS.sql_handle) AS SQLTEXT
WHERE         STATS.last_execution_time > GETDATE()-1
ORDER BY      STATS.last_execution_time DESC

5-) Below query runs but it’s too slow. It executing about 3 mins and it couldn’t even finish the part just for the last day.

SELECT 
sql_text.text, 
st.last_execution_time,
DB_NAME(qp.dbid) as databasename
FROM sys.dm_exec_query_stats st 
CROSS APPLY sys.dm_exec_sql_text(st.sql_handle) AS sql_text
INNER JOIN sys.dm_exec_cached_plans cp
ON cp.plan_handle = st.plan_handle
CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) as qp
WHERE st.last_execution_time >= DATEADD(week, -1, getdate())
ORDER BY last_execution_time DESC;

I want to order my columns like that: Text – Last Execution Time – DB Name

But I’m not an SQL man and I didn’t find any clear solution for this. How can I combine these scripts?

Regards,

8 – hook_update_n($sandbox) batch getting executed only once

Following is the code where I’m willing to update the description of the field_meta_tags of all my products using the batch process.

It’s getting executed & working as expected, but only for the first batch.

function mymodule_update_8001($sandbox) {
  if (!isset($sandbox('total'))) {
    $products = Drupal::entityQuery('commerce_product')
      ->condition('type', 'default')
      ->execute();
    $sandbox('total') = count($products);
    $sandbox('current') = 0;
  }

  $products_per_batch = 25;

  $products = Drupal::entityQuery('commerce_product')
    ->condition('type', 'default')
    ->range($sandbox('current'), $sandbox('current') + $products_per_batch)
    ->execute();

  foreach ($products as $product_id) {
    $product = Drupalcommerce_productEntityProduct::load($product_id);
    $product->set('field_meta_tags', serialize(('description' => '')));
    $product->save();
    $sandbox('current')++;
  }

  Drupal::messenger()
    ->addMessage($sandbox('current') . ' products processed.');

  $sandbox('#finished') = empty($sandbox('total')) ? 1 : ($sandbox('current') / $sandbox('total'));
}

Once the above hook_update_n($sandbox) is executed, getting the following output at the terminal:

 --------------- ----------- --------------- ------------- 
  Module          Update ID   Type            Description  
 --------------- ----------- --------------- ------------- 
  mymodule        8001        hook_update_n   Updates.     
 --------------- ----------- --------------- ------------- 

 // Do you wish to run the specified pending updates?: yes.                                                             

>  (notice) Update started: mymodule_update_8001
>  (notice) Update completed: mymodule_update_8001
>  (notice) Message: 25 products processed.
> 
 (success) Finished performing updates.

Not sure how $sandbox('#finished') is getting the value as 1, since that’s how I remember we ask the batch to stop processing.

macbook pro – Crash report from an app that I didn’t install and that was executed from a non-existing path

I was reviewing the crash reports in the Console app earlier and I found a very strange crash report from few days ago.

An extract can be found below:

Process:               Champlist (2372)
Path:                  /Volumes/VOLUME/*/Champlist.app/Contents/MacOS/Champlist
Identifier:            AwesomeStudio.Champlist
Version:               1.6.6 (1.6.6)
Code Type:             X86 (Native)
Parent Process:        ??? (1)
Responsible:           Champlist (2372)
User ID:               501

Date/Time:             2020-05-14 13:20:02.047 +0100
OS Version:            Mac OS X 10.11.6 (15G22010)
Report Version:        11
Anonymous UUID:        0DEDA68F-131F-58D0-77DE-07F1EADEB7CF


Time Awake Since Boot: 6200 seconds

System Integrity Protection: disabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BREAKPOINT (SIGTRAP)
Exception Codes:       0x0000000000000002, 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Application Specific Information:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: NSColor)'

Not only I never installed Champlist (that based on a Google search is used with a hackintosh, and mine is a 2009 unibody MacBook) but also the path of the executable doesn’t exist?!?

I don’t have a volume named “VOLUME” and what is the wildcard after that?

/Volumes/VOLUME/*/Champlist.app/Contents/MacOS/Champlist

If I list all the volumes from terminal (including the hidden ones), this is what I’ve got:

$ ls -a /Volumes
.       ..      .DS_Store   Mac     MobileBackups   Windows

Does anybody have an explanation for this?

linux – Why do disk errors appear in dmesg output even if fsck has not been executed?

I have an 8TB drive connected via UBS3 and formatted in 3 EXT3 partitions that I use as a backup drive (it is plugged into a SATA cradle).

The disc was attached and mounted for several days without being explicitly written (I saved some data a few days ago).

I happened to take a look at dmesg and spot the following (this is filtered to display only the entries corresponding to the name of the disc, sdg):

(393945.628890) EXT4-fs (sdg2): error count since last fsck: 4
(393945.628894) EXT4-fs (sdg2): initial error at time 1589268773: ext4_validate_block_bitmap:406
(393945.628897) EXT4-fs (sdg2): last error at time 1589336019: ext4_validate_block_bitmap:406
(394076.698059) EXT4-fs (sdg1): error count since last fsck: 103
(394076.698063) EXT4-fs (sdg1): initial error at time 1589216157: ext4_validate_block_bitmap:406
(394076.698066) EXT4-fs (sdg1): last error at time 1589372294: ext4_lookup:1590: inode 186081476

I did not run fsck on this disk because it was partitioned and formatted. Since fsck has not been executed, what finds the errors and to what extent should I be concerned?

When I restarted the system this morning, I checked dmesg again and found (filtered again to only display entries matching sdg)

(  261.721822) sd 9:0:0:0: (sdg) Spinning up disk...
(  274.051062) sd 9:0:0:0: (sdg) 15628053168 512-byte logical blocks: (8.00 TB/7.28 TiB)
(  274.051065) sd 9:0:0:0: (sdg) 4096-byte physical blocks
(  274.051137) sd 9:0:0:0: (sdg) Write Protect is off
(  274.051140) sd 9:0:0:0: (sdg) Mode Sense: 43 00 00 00
(  274.051297) sd 9:0:0:0: (sdg) Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
(  274.051498) sd 9:0:0:0: (sdg) Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
(  274.134309)  sdg: sdg1 sdg2 sdg3
(  274.135296) sd 9:0:0:0: (sdg) Attached SCSI disk
(  274.654835) EXT4-fs (sdg3): mounting ext3 file system using the ext4 subsystem
(  274.696860) EXT4-fs (sdg3): warning: mounting fs with errors, running e2fsck is recommended
(  274.766709) EXT4-fs (sdg1): mounting ext3 file system using the ext4 subsystem
(  274.795109) EXT4-fs (sdg1): warning: mounting fs with errors, running e2fsck is recommended
(  274.825210) EXT4-fs (sdg2): mounting ext3 file system using the ext4 subsystem
(  274.891191) EXT4-fs (sdg2): warning: mounting fs with errors, running e2fsck is recommended
(  275.713323) EXT4-fs (sdg2): mounted filesystem with ordered data mode. Opts: (null)
(  276.460528) EXT4-fs (sdg3): mounted filesystem with ordered data mode. Opts: (null)
(  276.499085) EXT4-fs (sdg1): mounted filesystem with ordered data mode. Opts: (null)
(  578.549827) EXT4-fs (sdg1): error count since last fsck: 103
(  578.549830) EXT4-fs (sdg1): initial error at time 1589216157: ext4_validate_block_bitmap:406
(  578.549832) EXT4-fs (sdg1): last error at time 1589372294: ext4_lookup:1590: inode 186081476
(  578.549836) EXT4-fs (sdg3): error count since last fsck: 47
(  578.549837) EXT4-fs (sdg3): initial error at time 1589268525: htree_dirblock_to_tree:1022: inode 31604737: block 126419458
(  578.549840) EXT4-fs (sdg3): last error at time 1589380312: ext4_lookup:1594: inode 33701921
(  578.549844) EXT4-fs (sdg2): error count since last fsck: 4
(  578.549845) EXT4-fs (sdg2): initial error at time 1589268773: ext4_validate_block_bitmap:406
(  578.549847) EXT4-fs (sdg2): last error at time 1589336019: ext4_validate_block_bitmap:406
(  639.938843) EXT4-fs (sdg1): mounting ext3 file system using the ext4 subsystem
(  640.950738) EXT4-fs (sdg1): mounted filesystem with ordered data mode. Opts: (null)
(  650.900006) EXT4-fs (sdg2): mounting ext3 file system using the ext4 subsystem
(  651.207658) EXT4-fs (sdg2): mounted filesystem with ordered data mode. Opts: (null)
(  658.836040) EXT4-fs (sdg3): mounting ext3 file system using the ext4 subsystem
(  659.084558) EXT4-fs (sdg3): mounted filesystem with ordered data mode. Opts: (null)

The system therefore knows that there are errors and has always mounted the disk without displaying other warnings than the entries in dmesg.

About 30 minutes later, I checked again because I was curious now and found out:

(  955.353027) EXT4-fs (sdg2): error count since last fsck: 3248
(  955.353031) EXT4-fs (sdg2): initial error at time 1589268773: ext4_validate_block_bitmap:406
(  955.353033) EXT4-fs (sdg2): last error at time 1589437923: ext4_map_blocks:604: inode 103686210: block 1947002998
(  955.353039) EXT4-fs (sdg1): error count since last fsck: 103
(  955.353040) EXT4-fs (sdg1): initial error at time 1589216157: ext4_validate_block_bitmap:406
(  955.353042) EXT4-fs (sdg1): last error at time 1589372294: ext4_lookup:1590: inode 186081476
(  956.751484) EXT4-fs error (device sdg2): ext4_map_blocks:604: inode #103686210: block 1947002998: comm updatedb.mlocat: lblock 12 mapped to illegal pblock 1947002998 (length 1)
(  956.767496) EXT4-fs error (device sdg2): ext4_map_blocks:604: inode #103686210: block 1947002998: comm updatedb.mlocat: lblock 12 mapped to illegal pblock 1947002998 (length 1)
(  956.782683) EXT4-fs warning (device sdg2): htree_dirblock_to_tree:994: inode #103686210: lblock 12: comm updatedb.mlocat: error -117 reading directory block

Eeek! The number of errors has increased for sdg2!

Again, I haven't explicitly written to disk all this time.

Before partitioning and formatting the drive with gparted, I used fsck to run a bad block scan (several days) and no errors were found. It is also a new disc. For this reason, I am reasonably convinced that the material is good.

What is happening here? How worried should I be about the integrity of the file systems on this drive? What should be my next steps?

tls – The cipher suite is different in "hello client" for the same code executed on different platforms

I am facing an error "Alert: contact failed (40)" when I try to establish a TLS connection. The error only occurs when I run the same application on the cloud, it works when I run the application on the HPG8 server. The operating system is the same Redhat 7. By checking the traces, I found that the cipher suite in "Hello customer" is much less in the case of error than in the case worked , and the cipher suite supported by the TLS server is just missed in the "hello client" of the error case. I want to know what will have an impact on the cipher suite that contains in the "hello customer"?

The openssl version is the same (1.1.1d) for both cases, the Redhat version has a little difference. TLS1.2 is used. The key file and the cert file are also the same.

In the code, I use SSL_set_cipher_list to define the encryption chain as "ALL :! DH :! EXP :! RC4: @STRENGTH".

SSL_set_cipher_list(ssl, "ALL:!DH:!EXP:!RC4:@STRENGTH");

I also checked the source code for openssl, but I didn't find a lot of clues.

Encryption suite in the event of failure:

Cipher Suites (25 suites)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
    Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 (0xc0af)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM (0xc0ad)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 (0xc05d)
    Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc061)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
    Cipher Suite: TLS_RSA_WITH_AES_256_CCM_8 (0xc0a1)
    Cipher Suite: TLS_RSA_WITH_AES_256_CCM (0xc09d)
    Cipher Suite: TLS_RSA_WITH_ARIA_256_GCM_SHA384 (0xc051)
    Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (0xc0ae)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM (0xc0ac)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 (0xc05c)
    Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc060)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
    Cipher Suite: TLS_RSA_WITH_AES_128_CCM_8 (0xc0a0)
    Cipher Suite: TLS_RSA_WITH_AES_128_CCM (0xc09c)
    Cipher Suite: TLS_RSA_WITH_ARIA_128_GCM_SHA256 (0xc050)
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)
    Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)

Encryption suite for a successful case (0xc02f is the suite that the server returned in "hello to the server"):

Cipher Suites (45 suites)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
    Cipher Suite: TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8 (0xc0af)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CCM (0xc0ad)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384 (0xc05d)
    Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384 (0xc061)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc073)
    Cipher Suite: TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384 (0xc077)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
    Cipher Suite: TLS_RSA_WITH_AES_256_GCM_SHA384 (0x009d)
    Cipher Suite: TLS_RSA_WITH_AES_256_CCM_8 (0xc0a1)
    Cipher Suite: TLS_RSA_WITH_AES_256_CCM (0xc09d)
    Cipher Suite: TLS_RSA_WITH_ARIA_256_GCM_SHA384 (0xc051)
    Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 (0x00c0)
    Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_256_CBC_SHA (0x0084)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
    Cipher Suite: **TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256** (0xc02f)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8 (0xc0ae)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CCM (0xc0ac)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256 (0xc05c)
    Cipher Suite: TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256 (0xc060)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc072)
    Cipher Suite: TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0xc076)
    Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
    Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
    Cipher Suite: TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
    Cipher Suite: TLS_RSA_WITH_AES_128_CCM_8 (0xc0a0)
    Cipher Suite: TLS_RSA_WITH_AES_128_CCM (0xc09c)
    Cipher Suite: TLS_RSA_WITH_ARIA_128_GCM_SHA256 (0xc050)
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 (0x00ba)
    Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
    Cipher Suite: TLS_RSA_WITH_SEED_CBC_SHA (0x0096)
    Cipher Suite: TLS_RSA_WITH_CAMELLIA_128_CBC_SHA (0x0041)
    Cipher Suite: TLS_RSA_WITH_IDEA_CBC_SHA (0x0007)
    Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)