Update Aboutme

This commit is contained in:
2017-07-26 12:22:17 -04:00
parent 2db20066b8
commit c784b78c5b
30 changed files with 158 additions and 1452 deletions
-4
View File
@@ -102,10 +102,6 @@
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
+77 -19
View File
@@ -70,27 +70,89 @@
</header>
<article class="post-content">
<h2 id="pengzhan-hao">Pengzhan Hao</h2>
<ul>
<li>Research Assistant in MOSLab</li>
<li>Master Student of SUNY at Binghamton</li>
</ul>
<h1 id="pengzhan-hao">Pengzhan Hao</h1>
<hr />
<ul>
<li>
<p>Email: phao3 at binghamton dot edu</p>
</li>
<li>
<p>MOSLab, H-6 Engineering Building <br />
Binghamton University <br />
4400 Vestal Parkway East <br />
<p><strong>Position:</strong> Research Assistant in MOSLab<br />
<strong>Education:</strong> Doctoral Student of SUNY at Binghamton<br />
<strong>Email:</strong> phao3 at binghamton dot edu<br />
<strong>Address:</strong><br />
MOSLab, H-6 Engineering Building<br />
Binghamton University<br />
4400 Vestal Parkway East<br />
Binghamton, NY 13902</p>
<h2 id="education">Education</h2>
<ul>
<li>2017.08 -                 Ph.D. in Computer Science, Binghamton University, NY, USA</li>
<li>2015.08 - 2017.05   M.E in Computer Science, Binghamton University, NY, USA</li>
<li>2011.08 - 2015.06   B.E in Software Engineering, Beihang University, Beijing, China</li>
</ul>
<h2 id="experience">Experience</h2>
<ul>
<li>2013.10 - 2014.09   <strong><em>Research Intern</em></strong> @ Advanced computer application technology engineering Research Center, Ministry of Education, China
<ul>
<li>Analyzed real-time routing problem and reliable algorithm design</li>
<li>Led and developed a routing system mostly backend server program</li>
<li>Participated in vehicle internet research</li>
<li>Supervised by <a href="http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&amp;secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&amp;thirdSelId=&amp;cardId=105c1bfe787-4d33-48eb-a05f-e2a6f3934216&amp;language=0&amp;curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN">Juhua Pu</a>, <a href="http://scse.buaa.edu.cn/buaa-css-web/toCardDetailAction.action?firstSelId=CARD_TMPL_OF_FIRST_NAVI_CN&amp;secondSelId=CARD_TMPL_OF_ALL_TEACHER_CN&amp;thirdSelId=&amp;cardId=3063cc45-7b8b-441a-86b2-3a4f59c26bd40&amp;language=0&amp;curSelectNavId=CARD_TMPL_OF_ALL_TEACHER_CN">Zhang Xiong</a>, Related project: <a href="https://www.microsoft.com/en-us/research/project/urban-computing/">Urban Computing</a></li>
</ul>
</li>
<li>2013.10 - 2014.01   <strong><em>Research Intern</em></strong> @ Institute of Software, Chinese Academy of Sciences, China
<ul>
<li>Analyzed mobile OS kernel and Localized portion with C language</li>
<li>Supervised by <a href="http://soft.buaa.edu.cn/BuaaPublic/html/TeacherShow_64.html">Cangzhou Yuan</a></li>
</ul>
</li>
</ul>
<hr />
<h2 id="research">Research</h2>
<ul>
<li>Graduate
<ul>
<li>Edge Computing
<ul>
<li>Network Performance</li>
</ul>
</li>
<li>Vitrualization</li>
</ul>
</li>
<li>Undergraduate
<ul>
<li>Urban Comuputing
<ul>
<li>Routing algorithm and system</li>
<li>Real-time data processing</li>
</ul>
</li>
<li>Mobile Operating System
<ul>
<li>Kernel Analysis</li>
<li>Locolization</li>
</ul>
</li>
</ul>
</li>
</ul>
<h2 id="publications">Publications</h2>
<ul>
<li><strong><a href="">EdgeCourier: An Edge-hosted Personal Service for Low-bandwidth Document Synchronization in Mobile Cloud Storage Services</a></strong> <strong>[<a href="">slide</a>]</strong><br />
<strong>Pengzhan Hao</strong>, Yongshu Bai, Xin Zhang, and Yifan Zhang<br />
The 2nd ACM/IEEE Symposium on Edge Computing (<strong>ACM/IEEE SEC</strong>)<br />
San Jose, CA, USA, 2017.</li>
<li><strong><a href="/static/2017-07/p169-zhang.pdf">Poster: Securing Device Inputs for Smartphones Using Hypervisor Based Approach</a></strong><br />
Xin Zhang, Yongshu Bai, <strong>Pengzhan Hao</strong>, and Yifan Zhang<br />
The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)<br />
Niagara Falls, NY, USA, 2017.</li>
<li><strong><a href="/static/2017-07/p163-hao.pdf">Poster: EPS - Edge-hosted Personal Services for Mobile Users</a> [<a href="/static/2017-07/eps_poster.pdf">poster</a>]</strong><br />
<strong>Pengzhan Hao</strong>, Yongshu Bai, Xin Zhang, and Yifan Zhang<br />
The 15th ACM International Conference on Mobile Systems, Applications, and Services (ACM MobiSys)<br />
Niagara Falls, NY, USA, 2017.</li>
</ul>
<h2 id="fun">Fun</h2>
</article>
@@ -124,10 +186,6 @@ Binghamton, NY 13902</p>
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
@@ -1,115 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>About m « Stop Talking, Start Doing</title>
<meta name="description" content="Pengzhan Haohaopengzhan@gmail.com | Binghamton University | 607-II-III-II-83-VII-II———————————————————————–">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://codersherlock.github.com//about/me/2016/10/26/welcome-to-my-blog.html">
<link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
</head>
<body>
<header class="header">
<div class="wrapper">
<a class="site-title" href="/">Stop Talking, Start Doing</a>
<nav class="site-nav">
<a class="page-link" href="/about/">About</a>
<a class="page-link" href="/category/">Category</a>
</nav>
</div>
</header>
<div class="page-content">
<div class="wrapper">
<div class="col-main">
<div class="post">
<header class="post-header">
<h1 class="post-title">About m</h1>
<p class="post-meta">Oct 26, 2016</p>
</header>
<article class="post-content">
<h1 id="pengzhan-hao">Pengzhan Hao</h1>
<p>haopengzhan@gmail.com | Binghamton University | 607-II-III-II-83-VII-II
———————————————————————–</p>
</article>
</div>
</div>
<div class="col-second">
<div class="col-box col-box-author">
<img class="avatar" src="" alt="">
<div class="col-box-title name"></div>
<p></p>
<p class="contact">
<a href="https://github.com/codersherlock">GitHub</a>
<a href="https://twitter.com/haopengzhan">Twitter</a>
<a href="mailto:haopengzhan@gmail.com">Email</a>
</p>
</div>
<div class="col-box">
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/about/me/2016/10/26/welcome-to-my-blog.html">About m</a></li>
</ul>
</div>
<div class="col-box post-toc hide">
<div class="col-box-title">TOC</div>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="wrapper">
&copy; 2016
</div>
</footer>
<script src="/js/easybook.js"></script>
</body>
</html>
@@ -70,7 +70,7 @@
</header>
<article class="post-content">
<p>In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesnt provide us a method to modify their own certs. For these situation, I still didnt find a good solutions for it. But Ill keep updating this if I get one. <br />
<p>In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesnt provide us a method to modify their own certs. For these situation, I still didnt find a good solutions for it. But Ill keep updating this if I get one.<br />
My current solution is using AP to forward all SSL traffic to a proxy, <a href="https://www.charlesproxy.com/">charles proxy</a> is my first choice (Prof asked). Its a non-free software which still update new versions now. So mainly, Ill talk about how to charles SSL proxy.</p>
<h3 id="preparations">Preparations</h3>
@@ -86,7 +86,7 @@ My current solution is using AP to forward all SSL traffic to a proxy, <a href="
<li>You have to install charles first. After downloading the charles proxy, you have to unzip it and configure some basic settings.</li>
</ul>
<div class="highlighter-rouge"><pre class="highlight"><code><span class="c"># open charles first</span>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># open charles first</span>
./bin/charles
</code></pre>
</div>
@@ -94,7 +94,7 @@ My current solution is using AP to forward all SSL traffic to a proxy, <a href="
<li>Save charles private key and public key</li>
</ul>
<p>In Help -&gt; SSL Proxying -&gt; Export Charles Root Certificate and Private Key, enter a password and save the public and private key in *.p12 format. <br />
<p>In Help -&gt; SSL Proxying -&gt; Export Charles Root Certificate and Private Key, enter a password and save the public and private key in *.p12 format.<br />
You also need to save charles Root Certificate, it also contains in the same menu. For convience, save it as *.pem format.</p>
<ul>
@@ -133,10 +133,6 @@ You also need to save charles Root Certificate, it also contains in the same men
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
-160
View File
@@ -1,160 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>How to design a board game, step by step « Stop Talking, Start Doing - 停止空想,开始行动</title>
<meta name="description" content="HistoryI always want to design a board game, but unfortunately, I have higher expectation on this design so that I can even finish one during these years. My...">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://codersherlock.github.com//archivers/design-a-board-game">
<link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想,开始行动" href="https://codersherlock.github.com//feed.xml" />
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-82637164-1', 'auto');
ga('send', 'pageview');
</script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-6651321038908478",
enable_page_level_ads: true
});
</script>
</head>
<body>
<header class="header">
<div class="wrapper">
<a class="site-title" href="/">Stop Talking, Start Doing - 停止空想,开始行动</a>
<nav class="site-nav">
<a class="page-link" href="/about/">About</a>
<a class="page-link" href="/category/">Category</a>
</nav>
</div>
</header>
<div class="page-content">
<div class="wrapper">
<div class="col-main">
<div class="post">
<header class="post-header">
<h1 class="post-title">How to design a board game, step by step</h1>
<p class="post-meta">Dec 27, 2016</p>
</header>
<article class="post-content">
<h1 id="history">History</h1>
<p>I always want to design a board game, but unfortunately, I have higher expectation on this design so that I can even finish one during these years. My dreaming work must be suit for both entertainment and competition, which both amateurs or pros can enjoy this game.</p>
<p>My first designed board game is <em>“SimCity ~ Board version”</em>. It was a great fun when I was in forth grade of elementary. Compare to a board game, its more like a paper-version web game. I offer everything include game design, a “database” (notebook) to record all players status. At beginning, it wasnt that popular, but my classmates love it. With several weeks running, 30 players joined this silly game and students from other classes came for me to join my game. During three month testing, I released more than <strong>120</strong> new buildings, <strong>15</strong> new activities and even made this game payable. It sounds stupid, but lots of them rather pay 50 cents for accelerating their construction. I also faced competitors, but no one wants to play their bad designed game. At least for myself, I wont spent players 20 hours for just a nuclear plant, offer them a lottery that every players whose level is up to 20 can get chance to win their own plants (Trust me, my lottery only have 0.01 chance that you win nothing, and anyone can get free tickets everyday and only pay 10 cents for a spare lottery ticket). Of course, my board game didnt last for long. Before final weeks, I made a statement that game will closed. At the evening after statement, I wrote wealthy rank for all players to let all of them know who wins or lose.</p>
<p>This history always encourage me to design a new board game, but this time I am not facing to young boys and girls who dont have too much to play at school. I admit this is a serious challenge to me but Ill try my best to make this game fun to play.</p>
<h1 id="my-dream">My dream</h1>
<ul>
<li>Better for two players</li>
<li>Competitive</li>
<li>Do have fortune features, but good strategy can guarantee winning</li>
<li>Simple, better to be PnP (Print and Play)</li>
</ul>
<h1 id="preparation">Preparation</h1>
<h2 id="warm-up">Warm-up</h2>
<p><a href="https://docs.google.com/document/d/1V_czXDnFuQfNyzLM7R5FUrX0vYD9QR17R3FQQ25pjZY/edit?usp=sharing">Island-Combat</a> is my first idea. I designed it in Chinese, but you may free to guess what these figures mean.</p>
<h1 id="game-concepts">Game Concepts</h1>
<h1 id="develop-process">Develop Process</h1>
</article>
</div>
</div>
<div class="col-second">
<div class="col-box col-box-author">
<img class="avatar" src="/static/avatar.jpg" alt="Pengzhan Hao - 碾子">
<div class="col-box-title name">Pengzhan Hao - 碾子</div>
<p></p>
<p class="contact">
<a href="https://github.com/codersherlock">GitHub</a>
<a href="https://twitter.com/haopengzhan">Twitter</a>
<a href="mailto:haopengzhan@gmail.com">Email</a>
</p>
</div>
<div class="col-box">
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
<li><a class="post-link" href="/archivers/hello">Stop Talking is the worst title of one blog</a></li>
</ul>
</div>
<div class="col-box post-toc hide">
<div class="col-box-title">TOC</div>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="wrapper">
&copy; 2016 Pengzhan Hao - 碾子
</div>
</footer>
<script src="/js/easybook.js"></script>
</body>
</html>
-137
View File
@@ -1,137 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Freshman from china ~ 人生修复者 « Stop Talking, Start Doing - 停止空想,开始行动</title>
<meta name="description" content="在题目上,我就厚着脸皮装了一次嫩。虽然这一年多的时间,每逢与人交谈,我总会以 Graduate Freshmen 自称。但是总感觉自己在一天一天的变得消沉和无趣。不知道成熟是何物的我试图一直保持自己乐观到单纯的性格,但随着保持时间的变长,我已然不知自己究竟是真的傻还是装的蠢了。一直与人无争的我终还是变得扭曲搬的“...">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://codersherlock.github.com//archivers/freshman-from-china">
<link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想,开始行动" href="https://codersherlock.github.com//feed.xml" />
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-82637164-1', 'auto');
ga('send', 'pageview');
</script>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<script>
(adsbygoogle = window.adsbygoogle || []).push({
google_ad_client: "ca-pub-6651321038908478",
enable_page_level_ads: true
});
</script>
</head>
<body>
<header class="header">
<div class="wrapper">
<a class="site-title" href="/">Stop Talking, Start Doing - 停止空想,开始行动</a>
<nav class="site-nav">
<a class="page-link" href="/about/">About</a>
<a class="page-link" href="/category/">Category</a>
</nav>
</div>
</header>
<div class="page-content">
<div class="wrapper">
<div class="col-main">
<div class="post">
<header class="post-header">
<h1 class="post-title">Freshman from china ~ 人生修复者</h1>
<p class="post-meta">Nov 23, 2016</p>
</header>
<article class="post-content">
<p>在题目上,我就厚着脸皮装了一次嫩。虽然这一年多的时间,每逢与人交谈,我总会以 Graduate Freshmen 自称。但是总感觉自己在一天一天的变得消沉和无趣。不知道成熟是何物的我试图一直保持自己乐观到单纯的性格,但随着保持时间的变长,我已然不知自己究竟是真的傻还是装的蠢了。一直与人无争的我终还是变得扭曲搬的“孤傲”了起来。</p>
</article>
</div>
</div>
<div class="col-second">
<div class="col-box col-box-author">
<img class="avatar" src="/static/avatar.jpg" alt="Pengzhan Hao - 碾子">
<div class="col-box-title name">Pengzhan Hao - 碾子</div>
<p></p>
<p class="contact">
<a href="https://github.com/codersherlock">GitHub</a>
<a href="https://twitter.com/haopengzhan">Twitter</a>
<a href="mailto:haopengzhan@gmail.com">Email</a>
</p>
</div>
<div class="col-box">
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
<li><a class="post-link" href="/archivers/hello">Stop Talking is the worst title of one blog</a></li>
</ul>
</div>
<div class="col-box post-toc hide">
<div class="col-box-title">TOC</div>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="wrapper">
&copy; 2016 Pengzhan Hao - 碾子
</div>
</footer>
<script src="/js/easybook.js"></script>
</body>
</html>
-4
View File
@@ -104,10 +104,6 @@
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
@@ -1,128 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>如何坚持科研 « Stop Talking, Start Doing - 停止空想,开始行动</title>
<meta name="description" content="从本科大城市里跑到美帝村里做科研是一种及其痛苦的自我磨砺过程,不可否认的是,我终于理解了人找乐子的能力绝对是受到身边乐子多少而影响的。于是">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://codersherlock.github.com//archivers/how-to-enjoy-research-life">
<link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing - 停止空想,开始行动" href="https://codersherlock.github.com//feed.xml" />
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-82637164-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<header class="header">
<div class="wrapper">
<a class="site-title" href="/">Stop Talking, Start Doing - 停止空想,开始行动</a>
<nav class="site-nav">
<a class="page-link" href="/about/">About</a>
<a class="page-link" href="/category/">Category</a>
</nav>
</div>
</header>
<div class="page-content">
<div class="wrapper">
<div class="col-main">
<div class="post">
<header class="post-header">
<h1 class="post-title">如何坚持科研</h1>
<p class="post-meta">Nov 4, 2016</p>
</header>
<article class="post-content">
<p>从本科大城市里跑到美帝村里做科研是一种及其痛苦的自我磨砺过程,不可否认的是,我终于理解了人找乐子的能力绝对是受到身边乐子多少而影响的。于是</p>
</article>
</div>
</div>
<div class="col-second">
<div class="col-box col-box-author">
<img class="avatar" src="/static/avatar.jpg" alt="Pengzhan Hao - 碾子">
<div class="col-box-title name">Pengzhan Hao - 碾子</div>
<p></p>
<p class="contact">
<a href="https://github.com/codersherlock">GitHub</a>
<a href="https://twitter.com/haopengzhan">Twitter</a>
<a href="mailto:haopengzhan@gmail.com">Email</a>
</p>
</div>
<div class="col-box">
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/how-to-enjoy-research-life">如何坚持科研</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
<li><a class="post-link" href="/archivers/hello">Stop Talking is the worst title of one blog</a></li>
</ul>
</div>
<div class="col-box post-toc hide">
<div class="col-box-title">TOC</div>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="wrapper">
&copy; 2016 Pengzhan Hao - 碾子
</div>
</footer>
<script src="/js/easybook.js"></script>
</body>
</html>
@@ -72,7 +72,7 @@
<article class="post-content">
<p>This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.</p>
<h1 id="section">2016-10</h1>
<h1 id="2016-10">2016-10</h1>
<h2 id="time-experiment-of-rsync">Time Experiment of rsync</h2>
@@ -80,7 +80,7 @@
<h3 id="how-to-collect-data">How to collect data</h3>
<p>Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.<br />
<p>Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
But we also need some bash script to collect data through different size of random size and with different modification through them.</p>
<ul>
@@ -103,7 +103,7 @@ But we also need some bash script to collect data through different size of rand
<li>We need to use this simple awk code and vim operation to extract data.</li>
</ul>
<div class="highlighter-rouge"><pre class="highlight"><code><span class="c"># CDC: content defined chucks</span>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># CDC: content defined chucks</span>
<span class="c"># HUT: Http upload traffic</span>
<span class="c"># ALL: overall time of one commit &amp; upload</span>
awk <span class="s1">'/CDC|HUT|ALL/ {print $4,$5}'</span> ~/.ccnet/log/seafile.log &gt; results.stat
@@ -125,7 +125,7 @@ awk <span class="s1">'/CDC|HUT|ALL/ {print $4,$5}'</span> ~/.ccnet/log/seafile.l
</li>
</ul>
<div class="highlighter-rouge"><pre class="highlight"><code><span class="c"># If .img end with xz, use this command to uncompress first</span>
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="c"># If .img end with xz, use this command to uncompress first</span>
unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
<span class="c"># Burn image into SD-card</span>
sudo dd <span class="k">if</span><span class="o">=</span>ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img <span class="nv">of</span><span class="o">=</span>/dev/sdb <span class="nv">bs</span><span class="o">=</span>1M <span class="nv">conv</span><span class="o">=</span>fsync
@@ -133,7 +133,7 @@ sync
</code></pre>
</div>
<h1 id="section-1">2016-11</h1>
<h1 id="2016-11">2016-11</h1>
<h2 id="android-kernel">Android Kernel</h2>
@@ -143,8 +143,8 @@ sync
<ul>
<li>
<p><a href="http://source.android.com/source/building-kernels.html#figuring-out-which-kernel-to-build">Google Official Guide</a><br />
If you dont have AOSP sources, you have to download prebuilt toolchains which recommended in this guide might not be correct. Use following links to choose your fitting tools.<br />
<p><a href="http://source.android.com/source/building-kernels.html#figuring-out-which-kernel-to-build">Google Official Guide</a>
If you dont have AOSP sources, you have to download prebuilt toolchains which recommended in this guide might not be correct. Use following links to choose your fitting tools.
<a href="https://android.googlesource.com/?format=HTML">ASOP git root</a>, under sub class “/platform/prebuilts/gcc”</p>
</li>
<li>
@@ -152,7 +152,7 @@ sync
</li>
</ul>
<h1 id="section-2">2016-12</h1>
<h1 id="2016-12">2016-12</h1>
<h2 id="android-kernel-1">Android Kernel</h2>
@@ -160,7 +160,7 @@ sync
<p>If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in <strong>arch/arm64/kernel/configs</strong>. We need to add few lines under that.</p>
<div class="highlighter-rouge"><pre class="highlight"><code><span class="nv">CONFIG_STRICT_MEMORY_RWX</span><span class="o">=</span>y
<div class="language-bash highlighter-rouge"><pre class="highlight"><code><span class="nv">CONFIG_STRICT_MEMORY_RWX</span><span class="o">=</span>y
<span class="nv">CONFIG_FUNCTION_TRACER</span><span class="o">=</span>y
<span class="nv">CONFIG_FUNCTION_GRAPH_TRACER</span><span class="o">=</span>y
<span class="nv">CONFIG_DYNAMIC_FTRACE</span><span class="o">=</span>y
@@ -176,7 +176,7 @@ sync
<p>If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, <a href="http://forum.xda-developers.com/showthread.php?t=2450045">this article</a> provide three ways to dump an image, I picked one for easy using.</p>
<div class="highlighter-rouge"><pre class="highlight"><code>adb shell
<div class="language-bash highlighter-rouge"><pre class="highlight"><code>adb shell
ls -al /dev/block/platform/<span class="nv">$SOME</span><span class="se">\_</span>DEVICE../../by-name <span class="c"># {Partitions} -&gt; {Device Block}</span>
<span class="c"># dump file</span>
@@ -217,10 +217,6 @@ dd <span class="k">if</span><span class="o">=</span>/dev/block/mmcblk0p37 <span
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
-14
View File
@@ -72,14 +72,6 @@
<h2 class="category" id="Fun">FUN</h2>
<ul>
<li><span>Dec 27</span> » <a href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
</ul>
<h2 class="category" id="Network">NETWORK</h2>
<ul>
@@ -91,8 +83,6 @@
<h2 class="category" id="Nonsense">NONSENSE</h2>
<ul>
<li><span>Nov 23</span> » <a href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><span>Oct 26</span> » <a href="/archivers/hello">Stop Talking is the worst title of one blog</a></li>
</ul>
@@ -133,10 +123,6 @@
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
+18 -67
View File
@@ -2,68 +2,19 @@
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Stop Talking, Start Doing - 停止空想,开始行动</title>
<description>My personal blog, with some boring research staff and some tricks I was fancy to. I&#39;ll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
<description>My personal blog, with some boring research staff and some tricks I was fancy to. I'll try my best to make this blog fun and useful. Not just a place I complain about all happens in my Lab.
</description>
<link>https://codersherlock.github.com//</link>
<atom:link href="https://codersherlock.github.com//feed.xml" rel="self" type="application/rss+xml"/>
<pubDate>Fri, 20 Jan 2017 14:17:35 -0500</pubDate>
<lastBuildDate>Fri, 20 Jan 2017 14:17:35 -0500</lastBuildDate>
<generator>Jekyll v3.0.1</generator>
<item>
<title>How to design a board game, step by step</title>
<description>&lt;h1 id=&quot;history&quot;&gt;History&lt;/h1&gt;
&lt;p&gt;I always want to design a board game, but unfortunately, I have higher expectation on this design so that I can even finish one during these years. My dreaming work must be suit for both entertainment and competition, which both amateurs or pros can enjoy this game.&lt;/p&gt;
&lt;p&gt;My first designed board game is &lt;em&gt;“SimCity ~ Board version”&lt;/em&gt;. It was a great fun when I was in forth grade of elementary. Compare to a board game, its more like a paper-version web game. I offer everything include game design, a “database” (notebook) to record all players status. At beginning, it wasnt that popular, but my classmates love it. With several weeks running, 30 players joined this silly game and students from other classes came for me to join my game. During three month testing, I released more than &lt;strong&gt;120&lt;/strong&gt; new buildings, &lt;strong&gt;15&lt;/strong&gt; new activities and even made this game payable. It sounds stupid, but lots of them rather pay 50 cents for accelerating their construction. I also faced competitors, but no one wants to play their bad designed game. At least for myself, I wont spent players 20 hours for just a nuclear plant, offer them a lottery that every players whose level is up to 20 can get chance to win their own plants (Trust me, my lottery only have 0.01 chance that you win nothing, and anyone can get free tickets everyday and only pay 10 cents for a spare lottery ticket). Of course, my board game didnt last for long. Before final weeks, I made a statement that game will closed. At the evening after statement, I wrote wealthy rank for all players to let all of them know who wins or lose.&lt;/p&gt;
&lt;p&gt;This history always encourage me to design a new board game, but this time I am not facing to young boys and girls who dont have too much to play at school. I admit this is a serious challenge to me but Ill try my best to make this game fun to play.&lt;/p&gt;
&lt;h1 id=&quot;my-dream&quot;&gt;My dream&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Better for two players&lt;/li&gt;
&lt;li&gt;Competitive&lt;/li&gt;
&lt;li&gt;Do have fortune features, but good strategy can guarantee winning&lt;/li&gt;
&lt;li&gt;Simple, better to be PnP (Print and Play)&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;preparation&quot;&gt;Preparation&lt;/h1&gt;
&lt;h2 id=&quot;warm-up&quot;&gt;Warm-up&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.google.com/document/d/1V_czXDnFuQfNyzLM7R5FUrX0vYD9QR17R3FQQ25pjZY/edit?usp=sharing&quot;&gt;Island-Combat&lt;/a&gt; is my first idea. I designed it in Chinese, but you may free to guess what these figures mean.&lt;/p&gt;
&lt;h1 id=&quot;game-concepts&quot;&gt;Game Concepts&lt;/h1&gt;
&lt;h1 id=&quot;develop-process&quot;&gt;Develop Process&lt;/h1&gt;
</description>
<pubDate>Tue, 27 Dec 2016 13:39:25 -0500</pubDate>
<link>https://codersherlock.github.com//archivers/design-a-board-game</link>
<guid isPermaLink="true">https://codersherlock.github.com//archivers/design-a-board-game</guid>
<category>Fun</category>
</item>
<item>
<title>Freshman from china ~ 人生修复者</title>
<description>&lt;p&gt;在题目上,我就厚着脸皮装了一次嫩。虽然这一年多的时间,每逢与人交谈,我总会以 Graduate Freshmen 自称。但是总感觉自己在一天一天的变得消沉和无趣。不知道成熟是何物的我试图一直保持自己乐观到单纯的性格,但随着保持时间的变长,我已然不知自己究竟是真的傻还是装的蠢了。一直与人无争的我终还是变得扭曲搬的“孤傲”了起来。&lt;/p&gt;
</description>
<pubDate>Wed, 23 Nov 2016 22:58:00 -0500</pubDate>
<link>https://codersherlock.github.com//archivers/freshman-from-china</link>
<guid isPermaLink="true">https://codersherlock.github.com//archivers/freshman-from-china</guid>
<category>Nonsense</category>
</item>
<pubDate>Wed, 26 Jul 2017 12:22:04 -0400</pubDate>
<lastBuildDate>Wed, 26 Jul 2017 12:22:04 -0400</lastBuildDate>
<generator>Jekyll v3.5.1</generator>
<item>
<title>Some of my previews experiment works: 2016</title>
<description>&lt;p&gt;This blog contains only some basic record of my works. For some details, I will write a unique blog just for some specific topics.&lt;/p&gt;
&lt;h1 id=&quot;section&quot;&gt;2016-10&lt;/h1&gt;
&lt;h1 id=&quot;2016-10&quot;&gt;2016-10&lt;/h1&gt;
&lt;h2 id=&quot;time-experiment-of-rsync&quot;&gt;Time Experiment of rsync&lt;/h2&gt;
@@ -71,7 +22,7 @@
&lt;h3 id=&quot;how-to-collect-data&quot;&gt;How to collect data&lt;/h3&gt;
&lt;p&gt;Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.&lt;br /&gt;
&lt;p&gt;Basically, everything of transmission time and computation time will be output with overall time will be printed on the console.
But we also need some bash script to collect data through different size of random size and with different modification through them.&lt;/p&gt;
&lt;ul&gt;
@@ -94,10 +45,10 @@ But we also need some bash script to collect data through different size of rand
&lt;li&gt;We need to use this simple awk code and vim operation to extract data.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# CDC: content defined chucks&lt;/span&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# CDC: content defined chucks&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# HUT: Http upload traffic&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# ALL: overall time of one commit &amp;amp; upload&lt;/span&gt;
awk &lt;span class=&quot;s1&quot;&gt;&#39;/CDC|HUT|ALL/ {print $4,$5}&#39;&lt;/span&gt; ~/.ccnet/log/seafile.log &amp;gt; results.stat
awk &lt;span class=&quot;s1&quot;&gt;'/CDC|HUT|ALL/ {print $4,$5}'&lt;/span&gt; ~/.ccnet/log/seafile.log &amp;gt; results.stat
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
@@ -116,7 +67,7 @@ awk &lt;span class=&quot;s1&quot;&gt;&#39;/CDC|HUT|ALL/ {print $4,$5}&#39;&lt;/s
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# If .img end with xz, use this command to uncompress first&lt;/span&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# If .img end with xz, use this command to uncompress first&lt;/span&gt;
unxz ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img.xz
&lt;span class=&quot;c&quot;&gt;# Burn image into SD-card&lt;/span&gt;
sudo dd &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;ubuntu-14.04lts-xubuntu-odroid-xu-20140714.img &lt;span class=&quot;nv&quot;&gt;of&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/dev/sdb &lt;span class=&quot;nv&quot;&gt;bs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;1M &lt;span class=&quot;nv&quot;&gt;conv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;fsync
@@ -124,7 +75,7 @@ sync
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h1 id=&quot;section-1&quot;&gt;2016-11&lt;/h1&gt;
&lt;h1 id=&quot;2016-11&quot;&gt;2016-11&lt;/h1&gt;
&lt;h2 id=&quot;android-kernel&quot;&gt;Android Kernel&lt;/h2&gt;
@@ -134,8 +85,8 @@ sync
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&quot;http://source.android.com/source/building-kernels.html#figuring-out-which-kernel-to-build&quot;&gt;Google Official Guide&lt;/a&gt;&lt;br /&gt;
If you dont have AOSP sources, you have to download prebuilt toolchains which recommended in this guide might not be correct. Use following links to choose your fitting tools.&lt;br /&gt;
&lt;p&gt;&lt;a href=&quot;http://source.android.com/source/building-kernels.html#figuring-out-which-kernel-to-build&quot;&gt;Google Official Guide&lt;/a&gt;
If you dont have AOSP sources, you have to download prebuilt toolchains which recommended in this guide might not be correct. Use following links to choose your fitting tools.
&lt;a href=&quot;https://android.googlesource.com/?format=HTML&quot;&gt;ASOP git root&lt;/a&gt;, under sub class “/platform/prebuilts/gcc”&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
@@ -143,7 +94,7 @@ sync
&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&quot;section-2&quot;&gt;2016-12&lt;/h1&gt;
&lt;h1 id=&quot;2016-12&quot;&gt;2016-12&lt;/h1&gt;
&lt;h2 id=&quot;android-kernel-1&quot;&gt;Android Kernel&lt;/h2&gt;
@@ -151,7 +102,7 @@ sync
&lt;p&gt;If we want to debug under android, ftrace is a great tool for working. But, ftrace is not available in android if we used default configure file. Android kernel configuration is in &lt;strong&gt;arch/arm64/kernel/configs&lt;/strong&gt;. We need to add few lines under that.&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;CONFIG_STRICT_MEMORY_RWX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;y
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nv&quot;&gt;CONFIG_STRICT_MEMORY_RWX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;y
&lt;span class=&quot;nv&quot;&gt;CONFIG_FUNCTION_TRACER&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;y
&lt;span class=&quot;nv&quot;&gt;CONFIG_FUNCTION_GRAPH_TRACER&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;y
&lt;span class=&quot;nv&quot;&gt;CONFIG_DYNAMIC_FTRACE&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;y
@@ -167,7 +118,7 @@ sync
&lt;p&gt;If we want to hold a rooted status after flashing boot, we need to extract an image from android devices. We can first use following command to find which blocks belongs to. According to some references, &lt;a href=&quot;http://forum.xda-developers.com/showthread.php?t=2450045&quot;&gt;this article&lt;/a&gt; provide three ways to dump an image, I picked one for easy using.&lt;/p&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;adb shell
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;adb shell
ls -al /dev/block/platform/&lt;span class=&quot;nv&quot;&gt;$SOME&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\_&lt;/span&gt;DEVICE../../by-name &lt;span class=&quot;c&quot;&gt;# {Partitions} -&amp;gt; {Device Block}&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;# dump file&lt;/span&gt;
@@ -187,7 +138,7 @@ dd &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;o&quot;&g
<item>
<title>Using charles proxy to monitor mobile SSL traffics</title>
<description>&lt;p&gt;In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesnt provide us a method to modify their own certs. For these situation, I still didnt find a good solutions for it. But Ill keep updating this if I get one. &lt;br /&gt;
<description>&lt;p&gt;In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesnt provide us a method to modify their own certs. For these situation, I still didnt find a good solutions for it. But Ill keep updating this if I get one.&lt;br /&gt;
My current solution is using AP to forward all SSL traffic to a proxy, &lt;a href=&quot;https://www.charlesproxy.com/&quot;&gt;charles proxy&lt;/a&gt; is my first choice (Prof asked). Its a non-free software which still update new versions now. So mainly, Ill talk about how to charles SSL proxy.&lt;/p&gt;
&lt;h3 id=&quot;preparations&quot;&gt;Preparations&lt;/h3&gt;
@@ -203,7 +154,7 @@ My current solution is using AP to forward all SSL traffic to a proxy, &lt;a hre
&lt;li&gt;You have to install charles first. After downloading the charles proxy, you have to unzip it and configure some basic settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&quot;highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# open charles first&lt;/span&gt;
&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;c&quot;&gt;# open charles first&lt;/span&gt;
./bin/charles
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
@@ -211,7 +162,7 @@ My current solution is using AP to forward all SSL traffic to a proxy, &lt;a hre
&lt;li&gt;Save charles private key and public key&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In Help -&amp;gt; SSL Proxying -&amp;gt; Export Charles Root Certificate and Private Key, enter a password and save the public and private key in *.p12 format. &lt;br /&gt;
&lt;p&gt;In Help -&amp;gt; SSL Proxying -&amp;gt; Export Charles Root Certificate and Private Key, enter a password and save the public and private key in *.p12 format.&lt;br /&gt;
You also need to save charles Root Certificate, it also contains in the same menu. For convience, save it as *.pem format.&lt;/p&gt;
&lt;ul&gt;
+1 -39
View File
@@ -69,40 +69,6 @@
<ul class="post-list">
<li>
<h2>
<a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a>
</h2>
<div class="post-meta">Dec 27, 2016</div>
<div class="post-excerpt">
<h1 id="history">History</h1>
<p>I always want to design a board game, but unfortunately, I have higher expectation on this design so that I can even finish one during these years. My dreaming work must be suit for both entertainment and competition, which both amateurs or pros can enjoy this game.</p>
<p>
<a class="post-link" href="/archivers/design-a-board-game">Read More &raquo;</a>
</p>
</div>
</li>
<li>
<h2>
<a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a>
</h2>
<div class="post-meta">Nov 23, 2016</div>
<div class="post-excerpt">
<p>在题目上,我就厚着脸皮装了一次嫩。虽然这一年多的时间,每逢与人交谈,我总会以 Graduate Freshmen 自称。但是总感觉自己在一天一天的变得消沉和无趣。不知道成熟是何物的我试图一直保持自己乐观到单纯的性格,但随着保持时间的变长,我已然不知自己究竟是真的傻还是装的蠢了。一直与人无争的我终还是变得扭曲搬的“孤傲”了起来。</p>
<p>
<a class="post-link" href="/archivers/freshman-from-china">Read More &raquo;</a>
</p>
</div>
</li>
<li>
<h2>
<a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a>
@@ -128,7 +94,7 @@
<div class="post-meta">Oct 27, 2016</div>
<div class="post-excerpt">
<p>In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesnt provide us a method to modify their own certs. For these situation, I still didnt find a good solutions for it. But Ill keep updating this if I get one. <br />
<p>In this blog, I will generally talk about how to use proper tools to monitor SSL traffics of a mobile devices. Currently, I only can dealing with those SSL traffics which use an obviously certification. Some applications may not using system root cert or they doesnt provide us a method to modify their own certs. For these situation, I still didnt find a good solutions for it. But Ill keep updating this if I get one.<br />
My current solution is using AP to forward all SSL traffic to a proxy, <a href="https://www.charlesproxy.com/">charles proxy</a> is my first choice (Prof asked). Its a non-free software which still update new versions now. So mainly, Ill talk about how to charles SSL proxy.</p>
@@ -192,10 +158,6 @@ My current solution is using AP to forward all SSL traffic to a proxy, <a href="
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/archivers/design-a-board-game">How to design a board game, step by step</a></li>
<li><a class="post-link" href="/archivers/freshman-from-china">Freshman from china ~ 人生修复者</a></li>
<li><a class="post-link" href="/archivers/some-of-my-previews-exper-work">Some of my previews experiment works: 2016</a></li>
<li><a class="post-link" href="/archivers/charles-is-not-a-good-tool">Using charles proxy to monitor mobile SSL traffics</a></li>
@@ -1,112 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Stop Talking is the worst title of one blog « Stop Talking, Start Doing</title>
<meta name="description" content="">
<link rel="stylesheet" href="/css/main.css">
<link rel="canonical" href="https://codersherlock.github.com//nonsense/2016/10/26/welcome-to-my-blog.html">
<link rel="alternate" type="application/rss+xml" title="Stop Talking, Start Doing" href="https://codersherlock.github.com//feed.xml" />
</head>
<body>
<header class="header">
<div class="wrapper">
<a class="site-title" href="/">Stop Talking, Start Doing</a>
<nav class="site-nav">
<a class="page-link" href="/about/">About</a>
<a class="page-link" href="/category/">Category</a>
</nav>
</div>
</header>
<div class="page-content">
<div class="wrapper">
<div class="col-main">
<div class="post">
<header class="post-header">
<h1 class="post-title">Stop Talking is the worst title of one blog</h1>
<p class="post-meta">Oct 26, 2016</p>
</header>
<article class="post-content">
</article>
</div>
</div>
<div class="col-second">
<div class="col-box col-box-author">
<img class="avatar" src="" alt="">
<div class="col-box-title name"></div>
<p></p>
<p class="contact">
<a href="https://github.com/codersherlock">GitHub</a>
<a href="https://twitter.com/haopengzhan">Twitter</a>
<a href="mailto:haopengzhan@gmail.com">Email</a>
</p>
</div>
<div class="col-box">
<div class="col-box-title">Newest Posts</div>
<ul class="post-list">
<li><a class="post-link" href="/nonsense/2016/10/26/welcome-to-my-blog.html">Stop Talking is the worst title of one blog</a></li>
</ul>
</div>
<div class="col-box post-toc hide">
<div class="col-box-title">TOC</div>
</div>
</div>
</div>
</div>
<footer class="footer">
<div class="wrapper">
&copy; 2016
</div>
</footer>
<script src="/js/easybook.js"></script>
</body>
</html>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

-585
View File
@@ -1,585 +0,0 @@
diff -uNr rsync/flist.c rsync-3.1.2/flist.c
--- rsync/flist.c 2016-09-17 00:14:38.448855376 -0400
+++ rsync-3.1.2/flist.c 2015-08-08 15:47:03.000000000 -0400
@@ -2431,7 +2431,7 @@
if (DEBUG_GTE(FLIST, 3))
rprintf(FINFO, "[%s] flist_eof=1\n", who_am_i());
}
- //printf("how long build flist takes %ld\n", stats.flist_buildtime); // HPZ: I should not add this trace code, TODO: Delete
+
return flist;
}
diff -uNr rsync/main.c rsync-3.1.2/main.c
--- rsync/main.c 2016-10-07 15:10:04.094266860 -0400
+++ rsync-3.1.2/main.c 2015-08-24 00:58:18.000000000 -0400
@@ -23,12 +23,10 @@
#include "rsync.h"
#include "inums.h"
#include "io.h"
-#include <time.h> //HPZ:
#if defined CONFIG_LOCALE && defined HAVE_LOCALE_H
#include <locale.h>
#endif
-
extern int dry_run;
extern int list_only;
extern int io_timeout;
@@ -106,8 +104,6 @@
mode_t orig_umask = 0;
int batch_gen_fd = -1;
int sender_keeps_checksum = 0;
-struct timeval tv, td; // HPZ: only solution
-
/* There's probably never more than at most 2 outstanding child processes,
* but set it higher, just in case. */
@@ -353,7 +349,7 @@
write_batch < 0 ? " (BATCH ONLY)" : dry_run ? " (DRY RUN)" : "");
}
- fflush(stdout);
+ fflush(stdout);
fflush(stderr);
}
@@ -527,12 +523,11 @@
batch_gen_fd = from_gen_pipe[0];
*f_out_p = from_gen_pipe[1];
*f_in_p = batch_fd;
- //printf("1***\n");
pid = (pid_t)-1; /* no child pid */
#ifdef ICONV_CONST
setup_iconv();
#endif
- } else if (local_server) { // HPZ: Local Branch
+ } else if (local_server) {
/* If the user didn't request --[no-]whole-file, force
* it on, but only if we're not batch processing. */
if (whole_file < 0 && !write_batch)
@@ -543,7 +538,7 @@
setup_iconv();
#endif
} else {
- pid = piped_child(args, f_in_p, f_out_p); // HPZ: Remote Branch
+ pid = piped_child(args, f_in_p, f_out_p);
#ifdef ICONV_CONST
setup_iconv();
#endif
@@ -1112,9 +1107,9 @@
/* This is called once the connection has been negotiated. It is used
* for rsyncd, remote-shell, and local connections. */
-int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
+int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[])
{
- struct file_list *flist = NULL;
+ struct file_list *flist = NULL;
int exit_code = 0, exit_code2 = 0;
char *local_name = NULL;
@@ -1156,55 +1151,18 @@
send_filter_list(f_out);
if (filesfrom_host)
filesfrom_fd = f_in;
+
if (write_batch && !am_server)
start_write_batch(f_out);
flist = send_file_list(f_out, argc, argv);
if (DEBUG_GTE(FLIST, 3))
rprintf(FINFO,"file list sent\n");
+
if (protocol_version < 31 && filesfrom_host && protocol_version >= 23)
io_start_multiplex_in(f_in);
io_flush(NORMAL_FLUSH);
-
- //gettimeofday(&td, NULL); // HPZ
- long sec = 0, usec = 0;
- float time = 0;
- /*
- if((td.tv_usec-tv.tv_usec)<0){
- sec = td.tv_sec - tv.tv_sec - 1;
- usec = 1000000 +td.tv_usec - tv.tv_usec;
- }else{
- sec = td.tv_sec - tv.tv_sec;
- usec = td.tv_usec - tv.tv_usec;
- }
- time = (float)sec +(float)usec/1000000;
- printf("BE:%.4f\n", time); // HPZ: Print when end running
- */
-
-
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "send_files start", logtime.tv_sec, logtime.tv_usec);
-
send_files(f_in, f_out);
- gettimeofday(&td, NULL); // HPZ
-
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "send_files finish", logtime.tv_sec, logtime.tv_usec);
-
- /*
- //printf("%ld.%ld\n", td.tv_sec, td.tv_usec);
- //long sec = 0, usec = 0;
- if((td.tv_usec-tv.tv_usec)<0){
- sec = td.tv_sec - tv.tv_sec - 1;
- usec = 1000000 +td.tv_usec - tv.tv_usec;
- }else{
- sec = td.tv_sec - tv.tv_sec;
- usec = td.tv_usec - tv.tv_usec;
- }
- time = (float)sec +(float)usec/1000000;
- printf("AF:%.4f\n", time); // HPZ: Print when end running
- */
-
io_flush(FULL_FLUSH);
handle_stats(-1);
if (protocol_version >= 24)
@@ -1217,24 +1175,9 @@
}
output_summary();
io_flush(FULL_FLUSH);
- //struct timeval tv;
- gettimeofday(&td, NULL); // HPZ
- //long sec = 0, usec = 0;
- if((td.tv_usec-tv.tv_usec)<0){
- sec = td.tv_sec - tv.tv_sec - 1;
- usec = 1000000 +td.tv_usec - tv.tv_usec;
- }else{
- sec = td.tv_sec - tv.tv_sec;
- usec = td.tv_usec - tv.tv_usec;
- }
- time = (float)sec +(float)usec/1000000;
- //printf("%.4f,\n", time); // HPZ: Print when end running
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "RSYNC finish", logtime.tv_sec, logtime.tv_usec);
- printf("-----------------------------------\n");
exit_cleanup(exit_code);
-
}
+
if (!read_batch) {
if (protocol_version >= 23)
io_start_multiplex_in(f_in);
@@ -1245,6 +1188,7 @@
}
send_filter_list(read_batch ? -1 : f_out);
+
if (filesfrom_fd >= 0) {
start_filesfrom_forwarding(filesfrom_fd);
filesfrom_fd = -1;
@@ -1299,7 +1243,7 @@
*
* Calls either start_socket_client (for sockets) or do_cmd and
* client_run (for ssh). */
-static int start_client(int argc, char *argv[])
+static int start_client(int argc, char *argv[])
{
char *p, *shell_machine = NULL, *shell_user = NULL;
char **remote_argv;
@@ -1429,9 +1373,8 @@
}
}
- if (daemon_over_rsh < 0){
+ if (daemon_over_rsh < 0)
return start_socket_client(shell_machine, remote_argc, remote_argv, argc, argv);
- }
if (password_file && !daemon_over_rsh) {
rprintf(FERROR, "The --password-file option may only be "
@@ -1471,11 +1414,8 @@
if (tmpret < 0)
return tmpret;
}
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "client_run start", logtime.tv_sec, logtime.tv_usec);
+
ret = client_run(f_in, f_out, pid, argc, argv);
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "client_run finish", logtime.tv_sec, logtime.tv_usec);
fflush(stdout);
fflush(stderr);
@@ -1581,11 +1521,6 @@
int ret;
int orig_argc = argc;
char **orig_argv = argv;
- gettimeofday(&tv, NULL); // HPZ
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "RSYNC start", logtime.tv_sec, logtime.tv_usec);
-
-
#ifdef HAVE_SIGACTION
# ifdef HAVE_SIGPROCMASK
sigset_t sigmask;
diff -uNr rsync/match.c rsync-3.1.2/match.c
--- rsync/match.c 2016-10-07 15:03:51.783262780 -0400
+++ rsync-3.1.2/match.c 2015-08-08 15:47:03.000000000 -0400
@@ -37,8 +37,6 @@
static int total_false_alarms;
static int total_hash_hits;
static int total_matches;
-static int64 transfer_time = 0; // HPZ: This is used to detect how many times invoking a match
-static int64 meet_time = 0; // HPZ: This is used to detect how many times it hit the buffer size
extern struct stats stats;
@@ -87,12 +85,6 @@
hash_table[t] = i;
}
}
- /*
- uint32 q;
- for(q=0; q < tablesize; q++){ // HPZ: Print hash table
- if(hash_table[q]!=-1)
- printf("%d:\t%d\n", q, hash_table[q]);
- }*/
}
@@ -116,18 +108,14 @@
int32 n = (int32)(offset - last_match); /* max value: block_size (int32) */
int32 j;
- /*
- //if (DEBUG_GTE(DELTASUM, 2) && i >= 0) {
- if(i >= 0 ){
+ if (DEBUG_GTE(DELTASUM, 2) && i >= 0) {
rprintf(FINFO,
"match at %s last_match=%s j=%d len=%ld n=%ld\n",
big_num(offset), big_num(last_match), i,
(long)s->sums[i].len, (long)n);
}
- */
send_token(f, i, buf, last_match, n, i < 0 ? 0 : s->sums[i].len);
- transfer_time ++; // HPZ
data_transfer += n;
if (i >= 0) {
@@ -347,13 +335,11 @@
match. The 3 reads are caused by the
running match, the checksum update and the
literal send. */
- if (backup >= s->blength+CHUNK_SIZE && end-offset > CHUNK_SIZE){
+ if (backup >= s->blength+CHUNK_SIZE && end-offset > CHUNK_SIZE)
matched(f, s, buf, offset - s->blength, -2);
- meet_time++; // HPZ
- }
} while (++offset < end);
- matched(f, s, buf, len, -1); // HPZ : This send only 0-token-literal data
+ matched(f, s, buf, len, -1);
map_ptr(buf, len-1, 1);
}
@@ -379,8 +365,6 @@
hash_hits = 0;
matches = 0;
data_transfer = 0;
- struct timeval tv2; // HPZ start
- gettimeofday(&tv2, NULL); // HPZ
sum_init(checksum_seed);
@@ -450,21 +434,6 @@
total_false_alarms += false_alarms;
total_matches += matches;
stats.literal_data += data_transfer;
-
- struct timeval td2; // HPZ
- gettimeofday(&td2, NULL);
- long sec = 0, usec = 0;
- float time = 0;
- if((td2.tv_usec-tv2.tv_usec)<0){
- sec = td2.tv_sec - tv2.tv_sec - 1;
- usec = 1000000 +td2.tv_usec - tv2.tv_usec;
- }else{
- sec = td2.tv_sec - tv2.tv_sec;
- usec = td2.tv_usec - tv2.tv_usec;
- }
- time = (float)sec +(float)usec/1000000;
- //printf("%.4f,", time); // HPZ
-
}
void match_report(void)
@@ -472,10 +441,6 @@
if (!DEBUG_GTE(DELTASUM, 1))
return;
- printf("matched has been invoked %ld times.\n", transfer_time);
- printf("windows size has been hitted %ld times.\n", meet_time);
-
-
rprintf(FINFO,
"total: matches=%d hash_hits=%d false_alarms=%d data=%s\n",
total_matches, total_hash_hits, total_false_alarms,
diff -uNr rsync/pipe.c rsync-3.1.2/pipe.c
--- rsync/pipe.c 2016-10-05 12:41:00.931943173 -0400
+++ rsync-3.1.2/pipe.c 2015-08-08 15:47:03.000000000 -0400
@@ -175,7 +175,6 @@
*f_in = from_child_pipe[0];
*f_out = to_child_pipe[1];
- //printf("f_in:\t%d, f_out:\t%d",*f_in,*f_out); //HPZ : This never changed
return pid;
}
diff -uNr rsync/proto.h rsync-3.1.2/proto.h
--- rsync/proto.h 2016-10-07 16:25:14.123350335 -0400
+++ rsync-3.1.2/proto.h 2015-12-21 15:22:53.000000000 -0500
@@ -253,7 +253,7 @@
void read_del_stats(int f);
int child_main(int argc, char *argv[]);
void start_server(int f_in, int f_out, int argc, char *argv[]);
-int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[]) ;
+int client_run(int f_in, int f_out, pid_t pid, int argc, char *argv[]);
void remember_children(UNUSED(int val));
const char *get_panic_action(void);
int main(int argc,char *argv[]);
@@ -399,7 +399,6 @@
const char *sum_as_hex(const char *sum);
NORETURN void out_of_memory(const char *str);
NORETURN void overflow_exit(const char *str);
-void print(char *msg);
void free_xattr(stat_x *sxp);
int get_xattr(const char *fname, stat_x *sxp);
int copy_xattrs(const char *source, const char *dest);
diff -uNr rsync/rsync.c rsync-3.1.2/rsync.c
--- rsync/rsync.c 2016-10-07 15:50:15.478230583 -0400
+++ rsync-3.1.2/rsync.c 2015-08-08 15:47:03.000000000 -0400
@@ -317,7 +317,6 @@
read_loop:
while (1) {
-
ndx = read_ndx(f_in);
if (ndx >= 0)
@@ -369,7 +368,7 @@
flist->parent_ndx = ndx;
stop_flist_forward();
}
-
+
iflags = protocol_version >= 29 ? read_shortint(f_in)
: ITEM_TRANSFER | ITEM_MISSING_DATA;
@@ -750,4 +749,3 @@
: am_receiver ? "receiver"
: "Receiver"; /* pre-forked receiver */
}
-
diff -uNr rsync/rsync.h rsync-3.1.2/rsync.h
--- rsync/rsync.h 2016-10-07 16:24:23.365209158 -0400
+++ rsync-3.1.2/rsync.h 2015-08-08 15:47:03.000000000 -0400
@@ -705,8 +705,6 @@
const char basename[1]; /* The basename (AKA filename) follows */
};
-struct timeval logtime; // HPZ: This is very useful log timestamp
-
extern int file_extra_cnt;
extern int inc_recurse;
extern int uid_ndx;
diff -uNr rsync/sender.c rsync-3.1.2/sender.c
--- rsync/sender.c 2016-10-07 15:31:56.633777127 -0400
+++ rsync-3.1.2/sender.c 2015-09-07 13:07:17.000000000 -0400
@@ -206,8 +206,6 @@
if (DEBUG_GTE(SEND, 1))
rprintf(FINFO, "send_files starting\n");
- int tmpflag=0; // HPZ: I'm so stupid
- struct timeval tv3, td3;
while (1) {
if (inc_recurse) {
send_extra_file_list(f_out, MIN_FILECNT_LOOKAHEAD);
@@ -215,16 +213,9 @@
}
/* This call also sets cur_flist. */
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "rw_ndx start", logtime.tv_sec, logtime.tv_usec);
ndx = read_ndx_and_attrs(f_in, f_out, &iflags, &fnamecmp_type,
- xname, &xlen); // HPZ: Figure out this!
-
+ xname, &xlen);
extra_flist_sending_enabled = False;
- //printf("ndx:%d\n", ndx);
- /*
- From here
- */
if (ndx == NDX_DONE) {
if (!am_server && INFO_GTE(PROGRESS, 2) && cur_flist) {
@@ -241,24 +232,16 @@
continue;
}
}
- if (++phase > max_phase){
+ if (++phase > max_phase)
break;
- }
if (DEBUG_GTE(SEND, 1))
rprintf(FINFO, "send_files phase=%d\n", phase);
- write_ndx(f_out, NDX_DONE); // HPZ: Due to phase, it will run twice. so WHAT's WRITE_NDX
+ write_ndx(f_out, NDX_DONE);
continue;
- }
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "rw_ndx finish", logtime.tv_sec, logtime.tv_usec);
-
- /*
- to here
- */
-
+ }
+
if (inc_recurse)
send_extra_file_list(f_out, MIN_FILECNT_LOOKAHEAD);
- // printf("****************************%d\n",ndx);
if (ndx - cur_flist->ndx_start >= 0)
file = cur_flist->files[ndx - cur_flist->ndx_start];
@@ -273,14 +256,16 @@
if (!change_pathname(file, NULL, 0))
continue;
f_name(file, fname);
+
if (DEBUG_GTE(SEND, 1))
rprintf(FINFO, "send_files(%d, %s%s%s)\n", ndx, path,slash,fname);
-
+
#ifdef SUPPORT_XATTRS
if (preserve_xattrs && iflags & ITEM_REPORT_XATTR && do_xfers
&& !(want_xattr_optim && BITS_SET(iflags, ITEM_XNAME_FOLLOWS|ITEM_LOCAL_CHANGE)))
recv_xattr_request(file, f_in);
#endif
+
if (!(iflags & ITEM_TRANSFER)) {
maybe_log_item(file, iflags, itemizing, xname);
write_ndx_and_attrs(f_out, ndx, iflags, fname, file,
@@ -308,6 +293,7 @@
who_am_i());
exit_cleanup(RERR_PROTOCOL);
}
+
if (file->flags & FLAG_FILE_SENT) {
if (csum_length == SHORT_SUM_LENGTH) {
/* For inplace: redo phase turns off the backup
@@ -325,6 +311,7 @@
if (iflags & ITEM_IS_NEW)
stats.created_files++;
}
+
updating_basis_file = inplace && (protocol_version >= 29
? fnamecmp_type == FNAMECMP_FNAME : make_backups <= 0);
@@ -341,13 +328,13 @@
fnamecmp_type, xname, xlen);
continue;
}
-
+
if (!(s = receive_sums(f_in))) {
io_error |= IOERR_GENERAL;
rprintf(FERROR_XFER, "receive_sums failed\n");
exit_cleanup(RERR_PROTOCOL);
}
-
+
fd = do_open(fname, O_RDONLY, 0);
if (fd == -1) {
if (errno == ENOENT) {
@@ -368,6 +355,7 @@
send_msg_int(MSG_NO_SEND, ndx);
continue;
}
+
/* map the local file */
if (do_fstat(fd, &st) != 0) {
io_error |= IOERR_GENERAL;
@@ -383,7 +371,7 @@
} else
mbuf = NULL;
- if (DEBUG_GTE(DELTASUM, 2)){
+ if (DEBUG_GTE(DELTASUM, 2)) {
rprintf(FINFO, "send_files mapped %s%s%s of size %s\n",
path,slash,fname, big_num(st.st_size));
}
@@ -391,6 +379,7 @@
write_ndx_and_attrs(f_out, ndx, iflags, fname, file,
fnamecmp_type, xname, xlen);
write_sum_head(f_xfer, s);
+
if (DEBUG_GTE(DELTASUM, 2))
rprintf(FINFO, "calling match_sums %s%s%s\n", path,slash,fname);
@@ -400,15 +389,8 @@
rprintf(FCLIENT, "%s\n", fname);
set_compression(fname);
-
-
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "match_sum start", logtime.tv_sec, logtime.tv_usec);
- match_sums(f_xfer, s, mbuf, st.st_size);
- gettimeofday(&logtime, NULL);
- printf("[%s]:%ld.%ld\n", "match_sum finish", logtime.tv_sec, logtime.tv_usec);
- match_report();
+ match_sums(f_xfer, s, mbuf, st.st_size);
if (INFO_GTE(PROGRESS, 1))
end_progress(st.st_size);
@@ -424,6 +406,7 @@
}
}
close(fd);
+
free_sums(s);
if (DEBUG_GTE(SEND, 1))
@@ -432,7 +415,6 @@
/* Flag that we actually sent this entry. */
file->flags |= FLAG_FILE_SENT;
}
-
if (make_backups < 0)
make_backups = -make_backups;
@@ -442,7 +424,7 @@
if (DEBUG_GTE(SEND, 1))
rprintf(FINFO, "send files finished\n");
- // Match_report suppose to be here.
+ match_report();
write_ndx(f_out, NDX_DONE);
}
diff -uNr rsync/util2.c rsync-3.1.2/util2.c
--- rsync/util2.c 2016-10-07 16:25:30.710777685 -0400
+++ rsync-3.1.2/util2.c 2015-08-08 15:47:03.000000000 -0400
@@ -111,8 +111,3 @@
rprintf(FERROR, "ERROR: buffer overflow in %s [%s]\n", str, who_am_i());
exit_cleanup(RERR_MALLOC);
}
-
-void print(char *msg)
-{
- printf("%s\n", msg);
- }
diff -uNr rsync/util.c rsync-3.1.2/util.c
--- rsync/util.c 2016-10-07 16:16:49.961215701 -0400
+++ rsync-3.1.2/util.c 2015-12-21 13:54:02.000000000 -0500
@@ -1645,4 +1645,3 @@
}
return (char*)lp->items + (lp->count++ * item_size);
}
-