tedunangst_flak.rss.xml - sfeed_tests - sfeed tests and RSS and Atom files | |
git clone git://git.codemadness.org/sfeed_tests | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
tedunangst_flak.rss.xml (28011B) | |
--- | |
1 <?xml version="1.0" encoding="UTF-8"?> | |
2 <rss version="2.0"> | |
3 <channel> | |
4 <title>flak</title> | |
5 <link>https://flak.tedunangst.com/</link> | |
6 <description>flak rss</description> | |
7 <managingEditor>[email protected]</managingEditor> | |
8 <image> | |
9 <url>https://flak.tedunangst.com/icon.png</url> | |
10 <title>flak rss</title> | |
11 <link>https://flak.tedunangst.com/</link> | |
12 </image> | |
13 <item> | |
14 <title>quick thoughts on bouncy castle bcrypt broken compare</titl… | |
15 <description><![CDATA[A few thoughts on the BCBCBC vulnerability. … | |
16 $2b$08$TMwmj0nJfvO6eXGRTNoeaOGbivW1wvSAklXatjMo7tRwoo5FCxCTu | |
17 $2b$08$p31golX/c.Lz3mh0drcoU.O5Z/6NwzfWR6v7W5RbXKZnOGveumEja</code></pre… | |
18 $2b$08$XXXXXX.XXXXXXXX9X3XXXXXXXXX2XX0XX1/3XXXXXXX.X5XX9XX9X | |
19 $2b$08$XXXXXX.XXXXXXXX9X3XXXXXXXXXXXXXXX1/XXXXXXXXXX5XXXXXXX</code></pre… | |
20 $2b$08$XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX./0123456789</code></pre… | |
21 <category>programming</category> | |
22 <category>security</category> | |
23 <link>https://flak.tedunangst.com/post/quick-thoughts-on-bouncy-ca… | |
24 <pubDate>Tue, 22 Dec 2020 17:53:56 UTC</pubDate> | |
25 <guid isPermaLink="true">https://flak.tedunangst.com/post/quick-th… | |
26 </item> | |
27 <item> | |
28 <title>small views of large files</title> | |
29 <description><![CDATA[Sometimes you have a large file when you wan… | |
30 <span class=tp>static</span> off_t viewstart<span class=op>,</span> view… | |
31 | |
32 <span class=tp>static</span> <span class=tp>void</span> init<span class=… | |
33 <span class=tp>static</span> <span class=tp>void</span> init<span class=… | |
34 <span class=op>{</span> | |
35 realopen <span class=op>=</span> dlsym<span class=op>(</span>RTL… | |
36 viewfile <span class=op>=</span> getenv<span class=op>(</span><s… | |
37 viewstart <span class=op>=</span> strtonum<span class=op>(</span… | |
38 viewend <span class=op>=</span> strtonum<span class=op>(</span>g… | |
39 <span class=op>}</span></code></pre><p>It's cleaner IMO to use a <i>cons… | |
40 | |
41 <span class=tp>int</span> | |
42 open<span class=op>(</span><span class=tp>const</span> <span class=tp>ch… | |
43 <span class=op>{</span> | |
44 <span class=tp>int</span> fd <span class=op>=</span> realopen<sp… | |
45 <span class=kw>if</span> <span class=op>(</span>strcmp<span clas… | |
46 viewfd <span class=op>=</span> fd; | |
47 lseek<span class=op>(</span>viewfd<span class=op>,</span… | |
48 <span class=op>}</span> | |
49 <span class=kw>return</span> fd; | |
50 <span class=op>}</span></code></pre><p>Var args are messy.<br><h4>fopen<… | |
51 fopen<span class=op>(</span><span class=tp>const</span> <span class=tp>c… | |
52 <span class=op>{</span> | |
53 <span class=kw>if</span> <span class=op>(</span>strcmp<span clas… | |
54 <span class=tp>int</span> fd <span class=op>=</span> ope… | |
55 <span class=kw>return</span> fdopen<span class=op>(</spa… | |
56 <span class=op>}</span> | |
57 <span class=kw>return</span> realfopen<span class=op>(</span>pat… | |
58 <span class=op>}</span></code></pre><p>The mode handling is rather incom… | |
59 read<span class=op>(</span><span class=tp>int</span> fd<span class=op>,<… | |
60 <span class=op>{</span> | |
61 <span class=kw>if</span> <span class=op>(</span>fd <span class=o… | |
62 off_t pos <span class=op>=</span> lseek<span class=op>(<… | |
63 <span class=kw>if</span> <span class=op>(</span>n <span … | |
64 n <span class=op>=</span> viewend <span class=op… | |
65 <span class=op>}</span> | |
66 <span class=kw>return</span> realread<span class=op>(</span>fd<s… | |
67 <span class=op>}</span></code></pre><p>At some point we should probably … | |
68 #include <dlfcn.h> | |
69 LD_PRELOAD=./libfv.so FDVIEW_NAME=fdview.c FDVIEW_START=19 head -1 fdvie… | |
70 #include <stdio.h></code></pre><p>Yes. And with a simple test prog… | |
71 fd: 3 | |
72 #include <stdio.h> | |
73 #include <unistd.h></code></pre><p>There's more to the file, but w… | |
74 <category>c</category> | |
75 <category>programming</category> | |
76 <link>https://flak.tedunangst.com/post/small-views-of-large-files<… | |
77 <pubDate>Tue, 22 Sep 2020 20:00:47 UTC</pubDate> | |
78 <guid isPermaLink="true">https://flak.tedunangst.com/post/small-vi… | |
79 </item> | |
80 <item> | |
81 <title>comparative unsafety</title> | |
82 <description><![CDATA[I wrote some <b>rust</b> code. I used <i>uns… | |
83 <span class=kw>extern</span> <span class=st>"C"</span> <span cla… | |
84 <span class=kw>fn</span> chown<span class=op>(</span>path<span class… | |
85 <span class=op>}</span> | |
86 | |
87 <span class=kw>fn</span> gift<span class=op>(</span>filename<span class=… | |
88 <span class=bi>unsafe</span> <span class=op>{</span> | |
89 <span class=kw>let</span> path <span class=op>=</span> <span cla… | |
90 <span class=kw>let</span> none <span class=op>=</span> <span cla… | |
91 chown<span class=op>(</span>path<span class=op>,</span> userid<s… | |
92 <span class=op>}</span> | |
93 <span class=op>}</span></code></pre><p>Why am I using my own ffi version… | |
94 <span class=kw>let</span> path <span class=op>=</span> <span class=t… | |
95 <span class=kw>let</span> none <span class=op>=</span> <span class=o… | |
96 <span class=bi>unsafe</span> <span class=op>{</span> | |
97 chown<span class=op>(</span>path<span class=op>,</span> userid<s… | |
98 <span class=op>}</span> | |
99 <span class=op>}</span></code></pre><p>Surely this will elicit a compile… | |
100 <span class=kw>let</span> path <span class=op>=</span> <span class=t… | |
101 <span class=kw>let</span> none <span class=op>=</span> <span class=o… | |
102 <span class=bi>unsafe</span> <span class=op>{</span> | |
103 chown<span class=op>(</span>path<span class=op>.</span>as_ptr<sp… | |
104 <span class=op>}</span> | |
105 <span class=op>}</span></code></pre><p>What disturbs me about this solut… | |
106 #include <stdlib.h> | |
107 int chown(const char *, int, int); | |
108 */</span> | |
109 <span class=bi>import</span> <span class=st>"C"</span> | |
110 | |
111 <span class=kw>func</span> gift<span class=op>(</span>filename <span cla… | |
112 path <span class=op>:=</span> C<span class=op>.</span>CString<sp… | |
113 C<span class=op>.</span>free<span class=op>(</span>unsafe<span c… | |
114 C<span class=op>.</span>chown<span class=op>(</span>path<span cl… | |
115 <span class=op>}</span></code></pre><p>This contains the same bug, freei… | |
116 path <span class=op>:=</span> C<span class=op>.</span>CString<sp… | |
117 <span class=bi>defer</span> C<span class=op>.</span>free<span cl… | |
118 C<span class=op>.</span>chown<span class=op>(</span>path<span cl… | |
119 <span class=op>}</span></code></pre><p>The fixed code looks a lot like o… | |
120 <category>go</category> | |
121 <category>programming</category> | |
122 <category>rust</category> | |
123 <link>https://flak.tedunangst.com/post/comparative-unsafety</link> | |
124 <pubDate>Mon, 17 Aug 2020 13:53:03 UTC</pubDate> | |
125 <guid isPermaLink="true">https://flak.tedunangst.com/post/comparat… | |
126 </item> | |
127 </channel> | |
128 </rss> |