• R/O
  • HTTP
  • SSH
  • HTTPS

PeerCastIM: Commit


Commit MetaInfo

Révision598c4f7e6b2d078f236540943eea14e69b6e8486 (tree)
l'heure2012-05-06 20:31:04
Auteureru <eru01@user...>
Commitereru

Message de Log

DoS耐性を向上

Change Summary

Modification

--- a/PeerCast.sln
+++ b/PeerCast.sln
@@ -73,7 +73,6 @@ Global
7373 {7D4833CE-1286-4587-9470-52E098B29C12}.Release|x64.ActiveCfg = Release|x64
7474 {7D4833CE-1286-4587-9470-52E098B29C12}.Release|x64.Build.0 = Release|x64
7575 {E60173A7-1FC8-444B-BBAB-BB3D663D5C05}.Debug|Win32.ActiveCfg = Debug|Win32
76- {E60173A7-1FC8-444B-BBAB-BB3D663D5C05}.Debug|Win32.Build.0 = Debug|Win32
7776 {E60173A7-1FC8-444B-BBAB-BB3D663D5C05}.Debug|x64.ActiveCfg = Debug|Win32
7877 {E60173A7-1FC8-444B-BBAB-BB3D663D5C05}.Private Debug|Win32.ActiveCfg = Private Debug|Win32
7978 {E60173A7-1FC8-444B-BBAB-BB3D663D5C05}.Private Debug|Win32.Build.0 = Private Debug|Win32
--- /dev/null
+++ b/core/common/addrCont.h
@@ -0,0 +1,45 @@
1+/*
2+ * Container type for IP-addr blacklist
3+ *
4+ * Impl. by Eru
5+ */
6+
7+#ifndef _CORELIB_COMMON_ADDRCONT_H_
8+#define _CORELIB_COMMON_ADDRCONT_H_
9+
10+#include <limits.h>
11+
12+class addrCont
13+{
14+public:
15+ unsigned int addr;
16+ unsigned int count;
17+
18+ addrCont() : addr(0), count(0)
19+ {
20+ }
21+
22+ addrCont(unsigned int addr) : addr(addr), count(0)
23+ {
24+ }
25+
26+ addrCont& operator++()
27+ {
28+ if (this->count < UINT_MAX)
29+ ++(this->count);
30+
31+ return *this;
32+ }
33+
34+ inline bool operator==(const addrCont &op)
35+ {
36+ return this->addr == op.addr;
37+ }
38+
39+ inline bool operator==(const unsigned int op)
40+ {
41+ return this->addr == op;
42+ }
43+};
44+
45+#endif
--- a/core/common/servent.cpp
+++ b/core/common/servent.cpp
@@ -380,7 +380,6 @@ void Servent::initIncoming(ClientSocket *s, unsigned int a)
380380 sock->host.toStr(ipStr);
381381 LOG_DEBUG("Incoming from %s",ipStr);
382382
383-
384383 if (!sys->startThread(&thread))
385384 throw StreamException("Can`t start thread");
386385 }catch(StreamException &e)
@@ -3051,7 +3050,46 @@ int Servent::serverProcMain(ThreadInfo *thread)
30513050 peercastApp->notifyMessage(ServMgr::NT_PEERCAST, "reject multicast address");
30523051 } else
30533052 if (cs)
3054- {
3053+ {
3054+ // countermeasure against DoS Atk
3055+ if (cs->host.ip != (0x7F000001)) // bypass loopback
3056+ {
3057+ // check blacklist
3058+ addrCont clientAddr(cs->host.ip);
3059+ servMgr->IP_blacklist->lock();
3060+ if (servMgr->IP_blacklist->find(clientAddr))
3061+ {
3062+ // blacklisted
3063+ servMgr->IP_blacklist->unlock();
3064+
3065+ LOG_DEBUG("REFUSED: %d.%d.%d.%d", (cs->host.ip >> 24), (cs->host.ip >> 16) & 0xFF, (cs->host.ip >> 8) & 0xFF, cs->host.ip & 0xFF);
3066+ cs->close();
3067+ sys->sleep(100);
3068+
3069+ continue;
3070+ }
3071+
3072+ servMgr->IP_blacklist->unlock();
3073+ LOG_DEBUG("ACCEPT: %d.%d.%d.%d", (cs->host.ip >> 24), (cs->host.ip >> 16) & 0xFF, (cs->host.ip >> 8) & 0xFF, cs->host.ip & 0xFF);
3074+
3075+
3076+ // check graylist
3077+ servMgr->IP_graylist->lock();
3078+ size_t idx;
3079+ if (servMgr->IP_graylist->find(clientAddr, &idx))
3080+ {
3081+ // update
3082+ ++(servMgr->IP_graylist->at(idx));
3083+ LOG_DEBUG("UPDATE: %d.%d.%d.%d", (cs->host.ip >> 24), (cs->host.ip >> 16) & 0xFF, (cs->host.ip >> 8) & 0xFF, cs->host.ip & 0xFF);
3084+ } else
3085+ {
3086+ // graylisted
3087+ servMgr->IP_graylist->push_back(clientAddr);
3088+ LOG_DEBUG("GRAYED: %d.%d.%d.%d", (cs->host.ip >> 24), (cs->host.ip >> 16) & 0xFF, (cs->host.ip >> 8) & 0xFF, cs->host.ip & 0xFF);
3089+ }
3090+ servMgr->IP_graylist->unlock();
3091+ }
3092+
30553093 LOG_DEBUG("accepted incoming");
30563094 Servent *ns = servMgr->allocServent();
30573095 if (ns)
@@ -3064,7 +3102,7 @@ int Servent::serverProcMain(ThreadInfo *thread)
30643102 LOG_ERROR("Out of servents");
30653103 }
30663104 }
3067- sys->sleep(100);
3105+ sys->sleep(10);
30683106 }
30693107 }catch(StreamException &e)
30703108 {
--- a/core/common/servent.h
+++ b/core/common/servent.h
@@ -29,6 +29,10 @@
2929 #include "http.h"
3030 #include "rtsp.h"
3131 #include "pcp.h"
32+#include "addrCont.h"
33+#ifdef _WIN32
34+#include "win32/ts_vector.h"
35+#endif
3236
3337 class HTML;
3438
--- a/core/common/servhs.cpp
+++ b/core/common/servhs.cpp
@@ -540,19 +540,19 @@ void Servent::handshakeIncoming()
540540
541541 if (stristr(buf,RTSP_PROTO1))
542542 {
543- LOG_DEBUG("RTSP from %s '%s'",sb,buf);
543+ LOG_DEBUG("RTSP from %s '%.100s'",sb,buf);
544544 RTSP rtsp(*sock);
545545 rtsp.initRequest(buf);
546546 handshakeRTSP(rtsp);
547547 }else if (stristr(buf,HTTP_PROTO1))
548548 {
549- LOG_DEBUG("HTTP from %s '%s'",sb,buf);
549+ LOG_DEBUG("HTTP from %s '%.100s'",sb,buf);
550550 HTTP http(*sock);
551551 http.initRequest(buf);
552552 handshakeHTTP(http,true);
553553 }else
554554 {
555- LOG_DEBUG("Connect from %s '%s'",sb,buf);
555+ LOG_DEBUG("Connect from %s '%.100s'",sb,buf);
556556 HTTP http(*sock);
557557 http.initRequest(buf);
558558 handshakeHTTP(http,false);
@@ -1868,7 +1868,7 @@ void Servent::handshakeICY(Channel::SRC_TYPE type, bool isHTTP)
18681868
18691869 while (http.nextHeader())
18701870 {
1871- LOG_DEBUG("ICY %s",http.cmdLine);
1871+ LOG_DEBUG("ICY %.100s",http.cmdLine);
18721872 readICYHeader(http, info, loginPassword.cstr(), loginPassword.MAX_LEN);
18731873 }
18741874
--- a/core/common/servmgr.cpp
+++ b/core/common/servmgr.cpp
@@ -160,6 +160,16 @@ ServMgr::ServMgr()
160160 versionDNS = 0;
161161 #endif
162162
163+ // init gray/black-lists
164+#ifdef _WIN32
165+ IP_graylist = new WTSVector<addrCont>();
166+ IP_blacklist = new WTSVector<addrCont>();
167+#else
168+ // TODO for linux
169+#endif
170+ dosInterval = 30;
171+ dosThreashold = 20;
172+
163173 chanLog="";
164174
165175 maxRelaysIndexTxt = 1; // for PCRaw (relay)
@@ -183,6 +193,15 @@ ServMgr::ServMgr()
183193 disableAutoBumpIfDirect = 1;
184194 asxDetailedMode = 1;
185195 }
196+
197+ // start thread (graylist)
198+ {
199+ ThreadInfo t;
200+
201+ t.func = ServMgr::graylistThreadFunc;
202+ t.active = true;
203+ sys->startThread(&t);
204+ }
186205 }
187206 // -----------------------------------
188207 BCID *ServMgr::findValidBCID(int index)
@@ -2847,3 +2866,41 @@ int ServMgr::kickUnrelayableHost(GnuID &chid, ChanHit &sendhit)
28472866
28482867 return 0;
28492868 }
2869+
2870+int WINAPI ServMgr::graylistThreadFunc(ThreadInfo *t)
2871+{
2872+ while (t->active)
2873+ {
2874+ LOG_DEBUG("******************** check graylist: begin");
2875+
2876+ servMgr->IP_graylist->lock();
2877+ servMgr->IP_blacklist->lock();
2878+
2879+
2880+ for (size_t i=0; i<servMgr->IP_graylist->count; ++i)
2881+ {
2882+ addrCont addr = servMgr->IP_graylist->at(i);
2883+ LOG_NETWORK("######## %d.%d.%d.%d # %d", (addr.addr >> 24), (addr.addr >> 16) & 0xFF, (addr.addr >> 8) & 0xFF, addr.addr & 0xFF, addr.count);
2884+ if (addr.count >= servMgr->dosThreashold)
2885+ {
2886+ servMgr->IP_blacklist->push_back(addr);
2887+ LOG_DEBUG("BANNED: %d.%d.%d.%d", (addr.addr >> 24), (addr.addr >> 16) & 0xFF, (addr.addr >> 8) & 0xFF, addr.addr & 0xFF);
2888+ }
2889+ }
2890+
2891+ servMgr->IP_graylist->clear();
2892+
2893+
2894+ servMgr->IP_graylist->unlock();
2895+ servMgr->IP_blacklist->unlock();
2896+
2897+ LOG_DEBUG("******************** check graylist: end");
2898+
2899+ sys->sleep(servMgr->dosInterval*1000);
2900+ }
2901+
2902+ t->finish = true;
2903+ sys->endThread(t);
2904+
2905+ return 0;
2906+}
--- a/core/common/servmgr.h
+++ b/core/common/servmgr.h
@@ -113,8 +113,6 @@ public:
113113 class ServMgr
114114 {
115115
116-
117-
118116 public:
119117
120118 enum NOTIFY_TYPE
@@ -322,6 +320,9 @@ public:
322320 return maxBitrateOut ? (BYTES_TO_KBPS(totalOutput(false))+br) > maxBitrateOut : false;
323321 }
324322
323+ // thread func (graylist)
324+ static int WINAPI graylistThreadFunc(ThreadInfo *t);
325+
325326 unsigned int totalOutput(bool);
326327 unsigned int totalInput(bool);
327328
@@ -424,6 +425,11 @@ public:
424425
425426 int versionDNS; // DNSから取得した最新バージョンの番号
426427
428+ ITSVector<addrCont> *IP_graylist; // gray/black-lists for DoS atk
429+ ITSVector<addrCont> *IP_blacklist;
430+ unsigned dosThreashold;
431+ unsigned dosInterval;
432+
427433 int maxRelaysIndexTxt; // for PCRaw (relay)
428434
429435 #ifdef WIN32 //JP-MOD
--- /dev/null
+++ b/core/common/ts_vector.h
@@ -0,0 +1,125 @@
1+/*
2+ * Simple vector (Thread safe implementation)
3+ *
4+ * Impl. by Eru
5+ */
6+
7+#ifndef _CORELIB_COMMON_TS_VECTOR_H_
8+#define _CORELIB_COMMON_TS_VECTOR_H_
9+
10+
11+// Interface
12+template <class T> class ITSVector
13+{
14+protected:
15+ size_t capacity;
16+ T **ary;
17+
18+public:
19+ size_t count;
20+
21+ ITSVector() : count(0), capacity(32)
22+ {
23+ ary = new T*[capacity];
24+ }
25+
26+ ~ITSVector()
27+ {
28+ for (size_t i=0; i<count; ++i)
29+ delete ary[i];
30+ delete[] ary;
31+ }
32+
33+ virtual bool empty()
34+ {
35+ return count == 0;
36+ }
37+
38+ virtual void lock() = 0;
39+ virtual void unlock() = 0;
40+
41+ virtual bool erase(size_t idx)
42+ {
43+ delete ary[idx];
44+// for (size_t i=idx+1; i<count; ++i)
45+// ary[i-1] = ary[i];
46+ memmove(&ary[idx], &ary[idx+1], sizeof(T*) * (--count - idx));
47+
48+ return true;
49+ }
50+
51+ virtual bool clear()
52+ {
53+ for (size_t i=0; i<count; ++i)
54+ {
55+ delete ary[i];
56+ }
57+ count = 0;
58+
59+ return true;
60+ }
61+
62+ virtual bool find(const T& tgt)
63+ {
64+ for (size_t i=0; i<count; ++i)
65+ {
66+ if (*ary[i] == tgt)
67+ return true;
68+ }
69+
70+ return false;
71+ }
72+
73+ virtual bool find(const T& tgt, size_t* idx)
74+ {
75+ for (size_t i=0; i<count; ++i)
76+ {
77+ if (*ary[i] == tgt)
78+ {
79+ *idx = i;
80+ return true;
81+ }
82+ }
83+
84+ return false;
85+ }
86+
87+ virtual bool push_back(const T& val)
88+ {
89+ T *ptr = new T(val);
90+
91+ if (count + 1 > capacity)
92+ {
93+ T **ptr = new T*[capacity * 2];
94+ if (!ptr)
95+ return false;
96+
97+ for (size_t i=0; i<capacity; ++i)
98+ ptr[i] = ary[i];
99+ delete[] ary;
100+
101+ ary = ptr;
102+ capacity <<= 1;
103+ }
104+
105+ ary[count++] = ptr;
106+
107+ return true;
108+ }
109+
110+ virtual T& at(size_t idx)
111+ {
112+ if (idx >= count)
113+ throw std::out_of_range("out of bounds");
114+
115+ return *ary[idx];
116+ }
117+
118+ virtual T& operator[](size_t idx)
119+ {
120+ return at(idx);
121+ }
122+};
123+
124+
125+#endif
--- a/core/common/version2.h
+++ b/core/common/version2.h
@@ -44,9 +44,9 @@ extern int version_ex; // VERSION_EX
4444 #if 1 /* for VP extend version */
4545 //#define VERSION_EX 1
4646 static const char *PCP_CLIENT_VERSION_EX_PREFIX = "IM"; // 2bytes only
47-static const int PCP_CLIENT_VERSION_EX_NUMBER = 44;
48-static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0044)";
49-static const char *PCX_VERSTRING_EX = "v0.1218(IM0044)";
47+static const int PCP_CLIENT_VERSION_EX_NUMBER = 45;
48+static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0045)";
49+static const char *PCX_VERSTRING_EX = "v0.1218(IM0045)";
5050
5151 static const char *PCP_CLIENT_DIST_URL = "http://pecaim.net/";
5252 static const char *PCP_CLIENT_VERSION_URL = "version.pecaim.net";
--- a/core/win32/lib/corelib.vcproj
+++ b/core/win32/lib/corelib.vcproj
@@ -4456,6 +4456,10 @@
44564456 Name="Core Includes"
44574457 >
44584458 <File
4459+ RelativePath="..\..\common\addrCont.h"
4460+ >
4461+ </File>
4462+ <File
44594463 RelativePath="..\..\common\asf.h"
44604464 >
44614465 </File>
@@ -4560,6 +4564,10 @@
45604564 >
45614565 </File>
45624566 <File
4567+ RelativePath="..\..\common\ts_vector.h"
4568+ >
4569+ </File>
4570+ <File
45634571 RelativePath="..\..\common\url.h"
45644572 >
45654573 </File>
@@ -4866,6 +4874,10 @@
48664874 >
48674875 </File>
48684876 <File
4877+ RelativePath="..\ts_vector.h"
4878+ >
4879+ </File>
4880+ <File
48694881 RelativePath="..\wsocket.h"
48704882 >
48714883 </File>
--- /dev/null
+++ b/core/win32/ts_vector.h
@@ -0,0 +1,44 @@
1+/*
2+ * Simple vector (Thread safe implementation)
3+ * for Windows w/ VC++
4+ *
5+ * Impl. by Eru
6+ */
7+
8+#ifndef _CORELIB_WIN32_TS_VECTOR_H_
9+#define _CORELIB_WIN32_TS_VECTOR_H_
10+
11+#include <stdlib.h>
12+#include <stdexcept>
13+#include <windows.h>
14+#include "common/ts_vector.h"
15+
16+template <class T>
17+class WTSVector : public ITSVector<T>
18+{
19+private:
20+ CRITICAL_SECTION csec;
21+
22+public:
23+ WTSVector()
24+ {
25+ InitializeCriticalSection(&csec);
26+ }
27+
28+ ~WTSVector()
29+ {
30+ DeleteCriticalSection(&csec);
31+ }
32+
33+ inline virtual void lock()
34+ {
35+ EnterCriticalSection(&csec);
36+ }
37+
38+ inline virtual void unlock()
39+ {
40+ LeaveCriticalSection(&csec);
41+ }
42+};
43+
44+#endif
--- a/ui/win32/Simple_vp/Simple_vp.vcproj
+++ b/ui/win32/Simple_vp/Simple_vp.vcproj
@@ -117,9 +117,9 @@
117117 />
118118 </Configuration>
119119 <Configuration
120- Name="Release|Win32"
121- OutputDirectory=".\Release"
122- IntermediateDirectory=".\Release"
120+ Name="Private Debug|x64"
121+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
122+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
123123 ConfigurationType="1"
124124 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
125125 UseOfMFC="0"
@@ -140,36 +140,36 @@
140140 />
141141 <Tool
142142 Name="VCMIDLTool"
143- PreprocessorDefinitions="NDEBUG"
143+ PreprocessorDefinitions="_DEBUG"
144144 MkTypLibCompatible="true"
145145 SuppressStartupBanner="true"
146- TargetEnvironment="1"
147- TypeLibraryName=".\Release/Simple.tlb"
146+ TargetEnvironment="3"
147+ TypeLibraryName=".\Simple___Win32_Private_Debug/Simple.tlb"
148148 HeaderFileName=""
149149 />
150150 <Tool
151151 Name="VCCLCompilerTool"
152- Optimization="2"
153- InlineFunctionExpansion="1"
154- AdditionalIncludeDirectories="../../../core;../../../core/common;&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
155- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
156- StringPooling="true"
157- RuntimeLibrary="0"
158- EnableFunctionLevelLinking="true"
159- PrecompiledHeaderFile=".\Release/Simple.pch"
160- AssemblerListingLocation=".\Release/"
161- ObjectFile=".\Release/"
162- ProgramDataBaseFileName=".\Release/"
152+ Optimization="0"
153+ AdditionalIncludeDirectories="../../../core,../../../core/common"
154+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;PRIVATE_BROADCASTER"
155+ MinimalRebuild="true"
156+ BasicRuntimeChecks="3"
157+ RuntimeLibrary="1"
158+ PrecompiledHeaderFile=".\Simple___Win32_Private_Debug/Simple.pch"
159+ AssemblerListingLocation=".\Simple___Win32_Private_Debug/"
160+ ObjectFile=".\Simple___Win32_Private_Debug/"
161+ ProgramDataBaseFileName=".\Simple___Win32_Private_Debug/"
163162 BrowseInformation="1"
164163 WarningLevel="3"
165164 SuppressStartupBanner="true"
165+ DebugInformationFormat="3"
166166 />
167167 <Tool
168168 Name="VCManagedResourceCompilerTool"
169169 />
170170 <Tool
171171 Name="VCResourceCompilerTool"
172- PreprocessorDefinitions="NDEBUG"
172+ PreprocessorDefinitions="_DEBUG"
173173 Culture="1033"
174174 />
175175 <Tool
@@ -177,17 +177,16 @@
177177 />
178178 <Tool
179179 Name="VCLinkerTool"
180- AdditionalDependencies="ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib ole32.lib"
181- OutputFile="Release/PeerCast.exe"
180+ AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
181+ OutputFile="Debug/PeerCast.exe"
182182 LinkIncremental="1"
183183 SuppressStartupBanner="true"
184- AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib&quot;"
185- ProgramDatabaseFile=".\Release/PeerCast.pdb"
184+ GenerateDebugInformation="true"
185+ ProgramDatabaseFile=".\Simple___Win32_Private_Debug/PeerCast.pdb"
186186 SubSystem="2"
187- LinkTimeCodeGeneration="1"
188187 RandomizedBaseAddress="1"
189188 DataExecutionPrevention="0"
190- TargetMachine="1"
189+ TargetMachine="17"
191190 />
192191 <Tool
193192 Name="VCALinkTool"
@@ -201,7 +200,7 @@
201200 <Tool
202201 Name="VCBscMakeTool"
203202 SuppressStartupBanner="true"
204- OutputFile=".\Release/Simple.bsc"
203+ OutputFile=".\Simple___Win32_Private_Debug/Simple.bsc"
205204 />
206205 <Tool
207206 Name="VCFxCopTool"
@@ -211,15 +210,14 @@
211210 />
212211 <Tool
213212 Name="VCPostBuildEventTool"
214- Description="Copy exe to pimp &amp; program files"
215- CommandLine="copy release\peercast.exe &quot;c:\program files\peercast&quot;&#x0D;&#x0A;copy release\peercast.exe ..\pimp\&#x0D;&#x0A;"
216- ExcludedFromBuild="true"
213+ Description="Copy exe to program files"
214+ CommandLine="copy debug\peercast.exe &quot;c:\program files\peercast&quot;"
217215 />
218216 </Configuration>
219217 <Configuration
220- Name="Private Release|Win32"
221- OutputDirectory=".\Simple___Win32_Private_Release"
222- IntermediateDirectory=".\Simple___Win32_Private_Release"
218+ Name="Release|Win32"
219+ OutputDirectory=".\Release"
220+ IntermediateDirectory=".\Release"
223221 ConfigurationType="1"
224222 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
225223 UseOfMFC="0"
@@ -244,22 +242,22 @@
244242 MkTypLibCompatible="true"
245243 SuppressStartupBanner="true"
246244 TargetEnvironment="1"
247- TypeLibraryName=".\Simple___Win32_Private_Release/Simple.tlb"
245+ TypeLibraryName=".\Release/Simple.tlb"
248246 HeaderFileName=""
249247 />
250248 <Tool
251249 Name="VCCLCompilerTool"
252250 Optimization="2"
253251 InlineFunctionExpansion="1"
254- AdditionalIncludeDirectories="../../../core,../../../core/common"
255- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PRIVATE_BROADCASTER"
252+ AdditionalIncludeDirectories="../../../core;../../../core/common;&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
253+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
256254 StringPooling="true"
257255 RuntimeLibrary="0"
258256 EnableFunctionLevelLinking="true"
259- PrecompiledHeaderFile=".\Simple___Win32_Private_Release/Simple.pch"
260- AssemblerListingLocation=".\Simple___Win32_Private_Release/"
261- ObjectFile=".\Simple___Win32_Private_Release/"
262- ProgramDataBaseFileName=".\Simple___Win32_Private_Release/"
257+ PrecompiledHeaderFile=".\Release/Simple.pch"
258+ AssemblerListingLocation=".\Release/"
259+ ObjectFile=".\Release/"
260+ ProgramDataBaseFileName=".\Release/"
263261 BrowseInformation="1"
264262 WarningLevel="3"
265263 SuppressStartupBanner="true"
@@ -277,12 +275,14 @@
277275 />
278276 <Tool
279277 Name="VCLinkerTool"
280- AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
281- OutputFile="PrivRelease/PeerCast.exe"
278+ AdditionalDependencies="ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib ole32.lib"
279+ OutputFile="Release/PeerCast.exe"
282280 LinkIncremental="1"
283281 SuppressStartupBanner="true"
284- ProgramDatabaseFile=".\Simple___Win32_Private_Release/PeerCast.pdb"
282+ AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib&quot;"
283+ ProgramDatabaseFile=".\Release/PeerCast.pdb"
285284 SubSystem="2"
285+ LinkTimeCodeGeneration="1"
286286 RandomizedBaseAddress="1"
287287 DataExecutionPrevention="0"
288288 TargetMachine="1"
@@ -299,7 +299,7 @@
299299 <Tool
300300 Name="VCBscMakeTool"
301301 SuppressStartupBanner="true"
302- OutputFile=".\Simple___Win32_Private_Release/Simple.bsc"
302+ OutputFile=".\Release/Simple.bsc"
303303 />
304304 <Tool
305305 Name="VCFxCopTool"
@@ -311,12 +311,13 @@
311311 Name="VCPostBuildEventTool"
312312 Description="Copy exe to pimp &amp; program files"
313313 CommandLine="copy release\peercast.exe &quot;c:\program files\peercast&quot;&#x0D;&#x0A;copy release\peercast.exe ..\pimp\&#x0D;&#x0A;"
314+ ExcludedFromBuild="true"
314315 />
315316 </Configuration>
316317 <Configuration
317- Name="Debug|Win32"
318- OutputDirectory=".\Debug"
319- IntermediateDirectory=".\Debug"
318+ Name="Release|x64"
319+ OutputDirectory="$(PlatformName)\$(ConfigurationName)"
320+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
320321 ConfigurationType="1"
321322 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
322323 UseOfMFC="0"
@@ -337,36 +338,36 @@
337338 />
338339 <Tool
339340 Name="VCMIDLTool"
340- PreprocessorDefinitions="_DEBUG"
341+ PreprocessorDefinitions="NDEBUG"
341342 MkTypLibCompatible="true"
342343 SuppressStartupBanner="true"
343- TargetEnvironment="1"
344- TypeLibraryName=".\Debug/Simple.tlb"
344+ TargetEnvironment="3"
345+ TypeLibraryName=".\Release/Simple.tlb"
345346 HeaderFileName=""
346347 />
347348 <Tool
348349 Name="VCCLCompilerTool"
349- Optimization="0"
350- AdditionalIncludeDirectories="../../../core;../../../core/common;&quot;C:\Program Files\Microsoft Platform SDK\Include&quot;"
351- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
352- MinimalRebuild="true"
353- BasicRuntimeChecks="3"
354- RuntimeLibrary="1"
355- PrecompiledHeaderFile=".\Debug/Simple.pch"
356- AssemblerListingLocation=".\Debug/"
357- ObjectFile=".\Debug/"
358- ProgramDataBaseFileName=".\Debug/"
350+ Optimization="2"
351+ InlineFunctionExpansion="1"
352+ AdditionalIncludeDirectories="../../../core;../../../core/common;&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
353+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WIN64"
354+ StringPooling="true"
355+ RuntimeLibrary="0"
356+ EnableFunctionLevelLinking="true"
357+ PrecompiledHeaderFile=".\Release/Simple.pch"
358+ AssemblerListingLocation=".\Release/"
359+ ObjectFile=".\Release/"
360+ ProgramDataBaseFileName=".\Release/"
359361 BrowseInformation="1"
360362 WarningLevel="3"
361363 SuppressStartupBanner="true"
362- DebugInformationFormat="4"
363364 />
364365 <Tool
365366 Name="VCManagedResourceCompilerTool"
366367 />
367368 <Tool
368369 Name="VCResourceCompilerTool"
369- PreprocessorDefinitions="_DEBUG"
370+ PreprocessorDefinitions="NDEBUG"
370371 Culture="1033"
371372 />
372373 <Tool
@@ -374,17 +375,17 @@
374375 />
375376 <Tool
376377 Name="VCLinkerTool"
377- AdditionalDependencies="ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib"
378- OutputFile="Debug/PeerCast.exe"
378+ AdditionalDependencies="ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib ole32.lib"
379+ OutputFile="Release/PeerCast.exe"
379380 LinkIncremental="1"
380381 SuppressStartupBanner="true"
381382 AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib&quot;"
382- GenerateDebugInformation="true"
383- ProgramDatabaseFile=".\Debug/PeerCast.pdb"
383+ ProgramDatabaseFile=".\Release/PeerCast.pdb"
384384 SubSystem="2"
385+ LinkTimeCodeGeneration="1"
385386 RandomizedBaseAddress="1"
386387 DataExecutionPrevention="0"
387- TargetMachine="1"
388+ TargetMachine="17"
388389 />
389390 <Tool
390391 Name="VCALinkTool"
@@ -398,7 +399,7 @@
398399 <Tool
399400 Name="VCBscMakeTool"
400401 SuppressStartupBanner="true"
401- OutputFile=".\Debug/Simple.bsc"
402+ OutputFile=".\Release/Simple.bsc"
402403 />
403404 <Tool
404405 Name="VCFxCopTool"
@@ -408,14 +409,15 @@
408409 />
409410 <Tool
410411 Name="VCPostBuildEventTool"
411- Description="Copy exe to program files"
412- CommandLine="copy debug\peercast.exe &quot;c:\program files\peercast&quot;"
412+ Description="Copy exe to pimp &amp; program files"
413+ CommandLine="copy release\peercast.exe &quot;c:\program files\peercast&quot;&#x0D;&#x0A;copy release\peercast.exe ..\pimp\&#x0D;&#x0A;"
414+ ExcludedFromBuild="true"
413415 />
414416 </Configuration>
415417 <Configuration
416- Name="Private Debug|x64"
417- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
418- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
418+ Name="Private Release|Win32"
419+ OutputDirectory=".\Simple___Win32_Private_Release"
420+ IntermediateDirectory=".\Simple___Win32_Private_Release"
419421 ConfigurationType="1"
420422 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
421423 UseOfMFC="0"
@@ -436,36 +438,36 @@
436438 />
437439 <Tool
438440 Name="VCMIDLTool"
439- PreprocessorDefinitions="_DEBUG"
441+ PreprocessorDefinitions="NDEBUG"
440442 MkTypLibCompatible="true"
441443 SuppressStartupBanner="true"
442- TargetEnvironment="3"
443- TypeLibraryName=".\Simple___Win32_Private_Debug/Simple.tlb"
444+ TargetEnvironment="1"
445+ TypeLibraryName=".\Simple___Win32_Private_Release/Simple.tlb"
444446 HeaderFileName=""
445447 />
446448 <Tool
447449 Name="VCCLCompilerTool"
448- Optimization="0"
450+ Optimization="2"
451+ InlineFunctionExpansion="1"
449452 AdditionalIncludeDirectories="../../../core,../../../core/common"
450- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;PRIVATE_BROADCASTER"
451- MinimalRebuild="true"
452- BasicRuntimeChecks="3"
453- RuntimeLibrary="1"
454- PrecompiledHeaderFile=".\Simple___Win32_Private_Debug/Simple.pch"
455- AssemblerListingLocation=".\Simple___Win32_Private_Debug/"
456- ObjectFile=".\Simple___Win32_Private_Debug/"
457- ProgramDataBaseFileName=".\Simple___Win32_Private_Debug/"
453+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PRIVATE_BROADCASTER"
454+ StringPooling="true"
455+ RuntimeLibrary="0"
456+ EnableFunctionLevelLinking="true"
457+ PrecompiledHeaderFile=".\Simple___Win32_Private_Release/Simple.pch"
458+ AssemblerListingLocation=".\Simple___Win32_Private_Release/"
459+ ObjectFile=".\Simple___Win32_Private_Release/"
460+ ProgramDataBaseFileName=".\Simple___Win32_Private_Release/"
458461 BrowseInformation="1"
459462 WarningLevel="3"
460463 SuppressStartupBanner="true"
461- DebugInformationFormat="3"
462464 />
463465 <Tool
464466 Name="VCManagedResourceCompilerTool"
465467 />
466468 <Tool
467469 Name="VCResourceCompilerTool"
468- PreprocessorDefinitions="_DEBUG"
470+ PreprocessorDefinitions="NDEBUG"
469471 Culture="1033"
470472 />
471473 <Tool
@@ -474,15 +476,14 @@
474476 <Tool
475477 Name="VCLinkerTool"
476478 AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
477- OutputFile="Debug/PeerCast.exe"
479+ OutputFile="PrivRelease/PeerCast.exe"
478480 LinkIncremental="1"
479481 SuppressStartupBanner="true"
480- GenerateDebugInformation="true"
481- ProgramDatabaseFile=".\Simple___Win32_Private_Debug/PeerCast.pdb"
482+ ProgramDatabaseFile=".\Simple___Win32_Private_Release/PeerCast.pdb"
482483 SubSystem="2"
483484 RandomizedBaseAddress="1"
484485 DataExecutionPrevention="0"
485- TargetMachine="17"
486+ TargetMachine="1"
486487 />
487488 <Tool
488489 Name="VCALinkTool"
@@ -496,7 +497,7 @@
496497 <Tool
497498 Name="VCBscMakeTool"
498499 SuppressStartupBanner="true"
499- OutputFile=".\Simple___Win32_Private_Debug/Simple.bsc"
500+ OutputFile=".\Simple___Win32_Private_Release/Simple.bsc"
500501 />
501502 <Tool
502503 Name="VCFxCopTool"
@@ -506,12 +507,12 @@
506507 />
507508 <Tool
508509 Name="VCPostBuildEventTool"
509- Description="Copy exe to program files"
510- CommandLine="copy debug\peercast.exe &quot;c:\program files\peercast&quot;"
510+ Description="Copy exe to pimp &amp; program files"
511+ CommandLine="copy release\peercast.exe &quot;c:\program files\peercast&quot;&#x0D;&#x0A;copy release\peercast.exe ..\pimp\&#x0D;&#x0A;"
511512 />
512513 </Configuration>
513514 <Configuration
514- Name="Release|x64"
515+ Name="Private Release|x64"
515516 OutputDirectory="$(PlatformName)\$(ConfigurationName)"
516517 IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
517518 ConfigurationType="1"
@@ -538,22 +539,22 @@
538539 MkTypLibCompatible="true"
539540 SuppressStartupBanner="true"
540541 TargetEnvironment="3"
541- TypeLibraryName=".\Release/Simple.tlb"
542+ TypeLibraryName=".\Simple___Win32_Private_Release/Simple.tlb"
542543 HeaderFileName=""
543544 />
544545 <Tool
545546 Name="VCCLCompilerTool"
546547 Optimization="2"
547548 InlineFunctionExpansion="1"
548- AdditionalIncludeDirectories="../../../core;../../../core/common;&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
549- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WIN64"
549+ AdditionalIncludeDirectories="../../../core,../../../core/common"
550+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PRIVATE_BROADCASTER"
550551 StringPooling="true"
551552 RuntimeLibrary="0"
552553 EnableFunctionLevelLinking="true"
553- PrecompiledHeaderFile=".\Release/Simple.pch"
554- AssemblerListingLocation=".\Release/"
555- ObjectFile=".\Release/"
556- ProgramDataBaseFileName=".\Release/"
554+ PrecompiledHeaderFile=".\Simple___Win32_Private_Release/Simple.pch"
555+ AssemblerListingLocation=".\Simple___Win32_Private_Release/"
556+ ObjectFile=".\Simple___Win32_Private_Release/"
557+ ProgramDataBaseFileName=".\Simple___Win32_Private_Release/"
557558 BrowseInformation="1"
558559 WarningLevel="3"
559560 SuppressStartupBanner="true"
@@ -571,14 +572,12 @@
571572 />
572573 <Tool
573574 Name="VCLinkerTool"
574- AdditionalDependencies="ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib ole32.lib"
575- OutputFile="Release/PeerCast.exe"
575+ AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
576+ OutputFile="PrivRelease/PeerCast.exe"
576577 LinkIncremental="1"
577578 SuppressStartupBanner="true"
578- AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib&quot;"
579- ProgramDatabaseFile=".\Release/PeerCast.pdb"
579+ ProgramDatabaseFile=".\Simple___Win32_Private_Release/PeerCast.pdb"
580580 SubSystem="2"
581- LinkTimeCodeGeneration="1"
582581 RandomizedBaseAddress="1"
583582 DataExecutionPrevention="0"
584583 TargetMachine="17"
@@ -595,7 +594,7 @@
595594 <Tool
596595 Name="VCBscMakeTool"
597596 SuppressStartupBanner="true"
598- OutputFile=".\Release/Simple.bsc"
597+ OutputFile=".\Simple___Win32_Private_Release/Simple.bsc"
599598 />
600599 <Tool
601600 Name="VCFxCopTool"
@@ -607,13 +606,12 @@
607606 Name="VCPostBuildEventTool"
608607 Description="Copy exe to pimp &amp; program files"
609608 CommandLine="copy release\peercast.exe &quot;c:\program files\peercast&quot;&#x0D;&#x0A;copy release\peercast.exe ..\pimp\&#x0D;&#x0A;"
610- ExcludedFromBuild="true"
611609 />
612610 </Configuration>
613611 <Configuration
614- Name="Private Release|x64"
615- OutputDirectory="$(PlatformName)\$(ConfigurationName)"
616- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
612+ Name="Debug|Win32"
613+ OutputDirectory=".\Debug"
614+ IntermediateDirectory=".\Debug"
617615 ConfigurationType="1"
618616 InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
619617 UseOfMFC="0"
@@ -634,36 +632,36 @@
634632 />
635633 <Tool
636634 Name="VCMIDLTool"
637- PreprocessorDefinitions="NDEBUG"
635+ PreprocessorDefinitions="_DEBUG"
638636 MkTypLibCompatible="true"
639637 SuppressStartupBanner="true"
640- TargetEnvironment="3"
641- TypeLibraryName=".\Simple___Win32_Private_Release/Simple.tlb"
638+ TargetEnvironment="1"
639+ TypeLibraryName=".\Debug/Simple.tlb"
642640 HeaderFileName=""
643641 />
644642 <Tool
645643 Name="VCCLCompilerTool"
646- Optimization="2"
647- InlineFunctionExpansion="1"
648- AdditionalIncludeDirectories="../../../core,../../../core/common"
649- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;PRIVATE_BROADCASTER"
650- StringPooling="true"
651- RuntimeLibrary="0"
652- EnableFunctionLevelLinking="true"
653- PrecompiledHeaderFile=".\Simple___Win32_Private_Release/Simple.pch"
654- AssemblerListingLocation=".\Simple___Win32_Private_Release/"
655- ObjectFile=".\Simple___Win32_Private_Release/"
656- ProgramDataBaseFileName=".\Simple___Win32_Private_Release/"
644+ Optimization="0"
645+ AdditionalIncludeDirectories="../../../core;../../../core/common;&quot;C:\Program Files\Microsoft Platform SDK\Include&quot;"
646+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
647+ MinimalRebuild="true"
648+ BasicRuntimeChecks="3"
649+ RuntimeLibrary="1"
650+ PrecompiledHeaderFile=".\Debug/Simple.pch"
651+ AssemblerListingLocation=".\Debug/"
652+ ObjectFile=".\Debug/"
653+ ProgramDataBaseFileName=".\Debug/"
657654 BrowseInformation="1"
658655 WarningLevel="3"
659656 SuppressStartupBanner="true"
657+ DebugInformationFormat="4"
660658 />
661659 <Tool
662660 Name="VCManagedResourceCompilerTool"
663661 />
664662 <Tool
665663 Name="VCResourceCompilerTool"
666- PreprocessorDefinitions="NDEBUG"
664+ PreprocessorDefinitions="_DEBUG"
667665 Culture="1033"
668666 />
669667 <Tool
@@ -671,15 +669,17 @@
671669 />
672670 <Tool
673671 Name="VCLinkerTool"
674- AdditionalDependencies="ws2_32.lib odbc32.lib odbccp32.lib"
675- OutputFile="PrivRelease/PeerCast.exe"
672+ AdditionalDependencies="ws2_32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib odbc32.lib odbccp32.lib uuid.lib"
673+ OutputFile="Debug/PeerCast.exe"
676674 LinkIncremental="1"
677675 SuppressStartupBanner="true"
678- ProgramDatabaseFile=".\Simple___Win32_Private_Release/PeerCast.pdb"
676+ AdditionalLibraryDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib&quot;"
677+ GenerateDebugInformation="true"
678+ ProgramDatabaseFile=".\Debug/PeerCast.pdb"
679679 SubSystem="2"
680680 RandomizedBaseAddress="1"
681681 DataExecutionPrevention="0"
682- TargetMachine="17"
682+ TargetMachine="1"
683683 />
684684 <Tool
685685 Name="VCALinkTool"
@@ -693,7 +693,7 @@
693693 <Tool
694694 Name="VCBscMakeTool"
695695 SuppressStartupBanner="true"
696- OutputFile=".\Simple___Win32_Private_Release/Simple.bsc"
696+ OutputFile=".\Debug/Simple.bsc"
697697 />
698698 <Tool
699699 Name="VCFxCopTool"
@@ -703,8 +703,8 @@
703703 />
704704 <Tool
705705 Name="VCPostBuildEventTool"
706- Description="Copy exe to pimp &amp; program files"
707- CommandLine="copy release\peercast.exe &quot;c:\program files\peercast&quot;&#x0D;&#x0A;copy release\peercast.exe ..\pimp\&#x0D;&#x0A;"
706+ Description=""
707+ CommandLine=""
708708 />
709709 </Configuration>
710710 <Configuration
@@ -827,7 +827,7 @@
827827 />
828828 </FileConfiguration>
829829 <FileConfiguration
830- Name="Release|Win32"
830+ Name="Private Debug|x64"
831831 >
832832 <Tool
833833 Name="VCCLCompilerTool"
@@ -836,7 +836,7 @@
836836 />
837837 </FileConfiguration>
838838 <FileConfiguration
839- Name="Private Release|Win32"
839+ Name="Release|Win32"
840840 >
841841 <Tool
842842 Name="VCCLCompilerTool"
@@ -845,7 +845,7 @@
845845 />
846846 </FileConfiguration>
847847 <FileConfiguration
848- Name="Debug|Win32"
848+ Name="Release|x64"
849849 >
850850 <Tool
851851 Name="VCCLCompilerTool"
@@ -854,7 +854,7 @@
854854 />
855855 </FileConfiguration>
856856 <FileConfiguration
857- Name="Private Debug|x64"
857+ Name="Private Release|Win32"
858858 >
859859 <Tool
860860 Name="VCCLCompilerTool"
@@ -863,7 +863,7 @@
863863 />
864864 </FileConfiguration>
865865 <FileConfiguration
866- Name="Release|x64"
866+ Name="Private Release|x64"
867867 >
868868 <Tool
869869 Name="VCCLCompilerTool"
@@ -872,7 +872,7 @@
872872 />
873873 </FileConfiguration>
874874 <FileConfiguration
875- Name="Private Release|x64"
875+ Name="Debug|Win32"
876876 >
877877 <Tool
878878 Name="VCCLCompilerTool"
@@ -903,7 +903,7 @@
903903 />
904904 </FileConfiguration>
905905 <FileConfiguration
906- Name="Release|Win32"
906+ Name="Private Debug|x64"
907907 >
908908 <Tool
909909 Name="VCCLCompilerTool"
@@ -912,7 +912,7 @@
912912 />
913913 </FileConfiguration>
914914 <FileConfiguration
915- Name="Private Release|Win32"
915+ Name="Release|Win32"
916916 >
917917 <Tool
918918 Name="VCCLCompilerTool"
@@ -921,7 +921,7 @@
921921 />
922922 </FileConfiguration>
923923 <FileConfiguration
924- Name="Debug|Win32"
924+ Name="Release|x64"
925925 >
926926 <Tool
927927 Name="VCCLCompilerTool"
@@ -930,7 +930,7 @@
930930 />
931931 </FileConfiguration>
932932 <FileConfiguration
933- Name="Private Debug|x64"
933+ Name="Private Release|Win32"
934934 >
935935 <Tool
936936 Name="VCCLCompilerTool"
@@ -939,7 +939,7 @@
939939 />
940940 </FileConfiguration>
941941 <FileConfiguration
942- Name="Release|x64"
942+ Name="Private Release|x64"
943943 >
944944 <Tool
945945 Name="VCCLCompilerTool"
@@ -948,7 +948,7 @@
948948 />
949949 </FileConfiguration>
950950 <FileConfiguration
951- Name="Private Release|x64"
951+ Name="Debug|Win32"
952952 >
953953 <Tool
954954 Name="VCCLCompilerTool"
@@ -979,7 +979,7 @@
979979 />
980980 </FileConfiguration>
981981 <FileConfiguration
982- Name="Release|Win32"
982+ Name="Private Debug|x64"
983983 >
984984 <Tool
985985 Name="VCCLCompilerTool"
@@ -988,7 +988,7 @@
988988 />
989989 </FileConfiguration>
990990 <FileConfiguration
991- Name="Private Release|Win32"
991+ Name="Release|Win32"
992992 >
993993 <Tool
994994 Name="VCCLCompilerTool"
@@ -997,7 +997,7 @@
997997 />
998998 </FileConfiguration>
999999 <FileConfiguration
1000- Name="Debug|Win32"
1000+ Name="Release|x64"
10011001 >
10021002 <Tool
10031003 Name="VCCLCompilerTool"
@@ -1006,7 +1006,7 @@
10061006 />
10071007 </FileConfiguration>
10081008 <FileConfiguration
1009- Name="Private Debug|x64"
1009+ Name="Private Release|Win32"
10101010 >
10111011 <Tool
10121012 Name="VCCLCompilerTool"
@@ -1015,7 +1015,7 @@
10151015 />
10161016 </FileConfiguration>
10171017 <FileConfiguration
1018- Name="Release|x64"
1018+ Name="Private Release|x64"
10191019 >
10201020 <Tool
10211021 Name="VCCLCompilerTool"
@@ -1024,7 +1024,7 @@
10241024 />
10251025 </FileConfiguration>
10261026 <FileConfiguration
1027- Name="Private Release|x64"
1027+ Name="Debug|Win32"
10281028 >
10291029 <Tool
10301030 Name="VCCLCompilerTool"
@@ -1054,24 +1054,24 @@
10541054 />
10551055 </FileConfiguration>
10561056 <FileConfiguration
1057- Name="Release|Win32"
1057+ Name="Private Debug|x64"
10581058 >
10591059 <Tool
10601060 Name="VCResourceCompilerTool"
10611061 PreprocessorDefinitions=""
1062- AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
10631062 />
10641063 </FileConfiguration>
10651064 <FileConfiguration
1066- Name="Private Release|Win32"
1065+ Name="Release|Win32"
10671066 >
10681067 <Tool
10691068 Name="VCResourceCompilerTool"
10701069 PreprocessorDefinitions=""
1070+ AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
10711071 />
10721072 </FileConfiguration>
10731073 <FileConfiguration
1074- Name="Debug|Win32"
1074+ Name="Release|x64"
10751075 >
10761076 <Tool
10771077 Name="VCResourceCompilerTool"
@@ -1080,7 +1080,7 @@
10801080 />
10811081 </FileConfiguration>
10821082 <FileConfiguration
1083- Name="Private Debug|x64"
1083+ Name="Private Release|Win32"
10841084 >
10851085 <Tool
10861086 Name="VCResourceCompilerTool"
@@ -1088,20 +1088,20 @@
10881088 />
10891089 </FileConfiguration>
10901090 <FileConfiguration
1091- Name="Release|x64"
1091+ Name="Private Release|x64"
10921092 >
10931093 <Tool
10941094 Name="VCResourceCompilerTool"
10951095 PreprocessorDefinitions=""
1096- AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
10971096 />
10981097 </FileConfiguration>
10991098 <FileConfiguration
1100- Name="Private Release|x64"
1099+ Name="Debug|Win32"
11011100 >
11021101 <Tool
11031102 Name="VCResourceCompilerTool"
11041103 PreprocessorDefinitions=""
1104+ AdditionalIncludeDirectories="&quot;C:\Program Files\Microsoft SDKs\Windows\v6.0\Include&quot;"
11051105 />
11061106 </FileConfiguration>
11071107 <FileConfiguration
@@ -1127,7 +1127,7 @@
11271127 />
11281128 </FileConfiguration>
11291129 <FileConfiguration
1130- Name="Release|Win32"
1130+ Name="Private Debug|x64"
11311131 >
11321132 <Tool
11331133 Name="VCCLCompilerTool"
@@ -1136,7 +1136,7 @@
11361136 />
11371137 </FileConfiguration>
11381138 <FileConfiguration
1139- Name="Private Release|Win32"
1139+ Name="Release|Win32"
11401140 >
11411141 <Tool
11421142 Name="VCCLCompilerTool"
@@ -1145,7 +1145,7 @@
11451145 />
11461146 </FileConfiguration>
11471147 <FileConfiguration
1148- Name="Debug|Win32"
1148+ Name="Release|x64"
11491149 >
11501150 <Tool
11511151 Name="VCCLCompilerTool"
@@ -1154,7 +1154,7 @@
11541154 />
11551155 </FileConfiguration>
11561156 <FileConfiguration
1157- Name="Private Debug|x64"
1157+ Name="Private Release|Win32"
11581158 >
11591159 <Tool
11601160 Name="VCCLCompilerTool"
@@ -1163,7 +1163,7 @@
11631163 />
11641164 </FileConfiguration>
11651165 <FileConfiguration
1166- Name="Release|x64"
1166+ Name="Private Release|x64"
11671167 >
11681168 <Tool
11691169 Name="VCCLCompilerTool"
@@ -1172,7 +1172,7 @@
11721172 />
11731173 </FileConfiguration>
11741174 <FileConfiguration
1175- Name="Private Release|x64"
1175+ Name="Debug|Win32"
11761176 >
11771177 <Tool
11781178 Name="VCCLCompilerTool"
@@ -1205,7 +1205,7 @@
12051205 />
12061206 </FileConfiguration>
12071207 <FileConfiguration
1208- Name="Release|Win32"
1208+ Name="Private Debug|x64"
12091209 >
12101210 <Tool
12111211 Name="VCCLCompilerTool"
@@ -1216,7 +1216,7 @@
12161216 />
12171217 </FileConfiguration>
12181218 <FileConfiguration
1219- Name="Private Release|Win32"
1219+ Name="Release|Win32"
12201220 >
12211221 <Tool
12221222 Name="VCCLCompilerTool"
@@ -1227,7 +1227,7 @@
12271227 />
12281228 </FileConfiguration>
12291229 <FileConfiguration
1230- Name="Debug|Win32"
1230+ Name="Release|x64"
12311231 >
12321232 <Tool
12331233 Name="VCCLCompilerTool"
@@ -1238,7 +1238,7 @@
12381238 />
12391239 </FileConfiguration>
12401240 <FileConfiguration
1241- Name="Private Debug|x64"
1241+ Name="Private Release|Win32"
12421242 >
12431243 <Tool
12441244 Name="VCCLCompilerTool"
@@ -1249,7 +1249,7 @@
12491249 />
12501250 </FileConfiguration>
12511251 <FileConfiguration
1252- Name="Release|x64"
1252+ Name="Private Release|x64"
12531253 >
12541254 <Tool
12551255 Name="VCCLCompilerTool"
@@ -1260,7 +1260,7 @@
12601260 />
12611261 </FileConfiguration>
12621262 <FileConfiguration
1263- Name="Private Release|x64"
1263+ Name="Debug|Win32"
12641264 >
12651265 <Tool
12661266 Name="VCCLCompilerTool"
@@ -1295,7 +1295,7 @@
12951295 />
12961296 </FileConfiguration>
12971297 <FileConfiguration
1298- Name="Release|Win32"
1298+ Name="Private Debug|x64"
12991299 >
13001300 <Tool
13011301 Name="VCCLCompilerTool"
@@ -1304,7 +1304,7 @@
13041304 />
13051305 </FileConfiguration>
13061306 <FileConfiguration
1307- Name="Private Release|Win32"
1307+ Name="Release|Win32"
13081308 >
13091309 <Tool
13101310 Name="VCCLCompilerTool"
@@ -1313,7 +1313,7 @@
13131313 />
13141314 </FileConfiguration>
13151315 <FileConfiguration
1316- Name="Debug|Win32"
1316+ Name="Release|x64"
13171317 >
13181318 <Tool
13191319 Name="VCCLCompilerTool"
@@ -1322,7 +1322,7 @@
13221322 />
13231323 </FileConfiguration>
13241324 <FileConfiguration
1325- Name="Private Debug|x64"
1325+ Name="Private Release|Win32"
13261326 >
13271327 <Tool
13281328 Name="VCCLCompilerTool"
@@ -1331,7 +1331,7 @@
13311331 />
13321332 </FileConfiguration>
13331333 <FileConfiguration
1334- Name="Release|x64"
1334+ Name="Private Release|x64"
13351335 >
13361336 <Tool
13371337 Name="VCCLCompilerTool"
@@ -1340,7 +1340,7 @@
13401340 />
13411341 </FileConfiguration>
13421342 <FileConfiguration
1343- Name="Private Release|x64"
1343+ Name="Debug|Win32"
13441344 >
13451345 <Tool
13461346 Name="VCCLCompilerTool"
--- a/ui/win32/simple/Simple.vcproj
+++ b/ui/win32/simple/Simple.vcproj
@@ -1014,7 +1014,7 @@
10141014 OutputFile="Debug/PeerCast.exe"
10151015 LinkIncremental="1"
10161016 SuppressStartupBanner="true"
1017- AdditionalLibraryDirectories="&quot;C:\Visual Studio Projects\PeCa-IMAS7651\core\win32\lib\Debug&quot;"
1017+ AdditionalLibraryDirectories="../../../core\win32\lib\Release"
10181018 GenerateDebugInformation="true"
10191019 ProgramDatabaseFile=".\Debug/PeerCast.pdb"
10201020 SubSystem="2"
@@ -1045,8 +1045,8 @@
10451045 />
10461046 <Tool
10471047 Name="VCPostBuildEventTool"
1048- Description="Copy exe to pimp"
1049- CommandLine="copy debug\peercast.exe ..\pimp\&#x0D;&#x0A;"
1048+ Description=""
1049+ CommandLine=""
10501050 />
10511051 </Configuration>
10521052 <Configuration
--- a/れどめ.txt
+++ b/れどめ.txt
@@ -1,4 +1,4 @@
1-PeerCast IM0044 (released on 20110309 by 縺医k繝シ)
1+PeerCast IM0045 (released on 20120506 by 縺医k繝シ)
22 based on PeerCast IM7651 by Trill, Original: (c) 2005-2007 giles/peercast.org
33
44
@@ -46,6 +46,9 @@ based on PeerCast IM7651 by Trill, Original: (c) 2005-2007 giles/peercast.org
4646
4747
4848 = 謾ケ險ょア・豁エ
49+ - IM0045 (120506)
50+ + DoS謾サ謦?∈縺ョ閠先?ァ繧貞髄荳翫?
51+
4952 - IM0044 (110309)
5053 + GUI縺ョ蜿ウ繧ッ繝ェ繝?け繝。繝九Η繝シ縺九i繝ェ繝ャ繝シ縺励※縺?↑縺?メ繝」繝ウ繝阪Ν諠??ア繧
5154 荳?諡ャ蜑企勁縺ァ縺阪k繧医≧縺ォ縺ェ繧翫∪縺励◆縲
Afficher sur ancien navigateur de dépôt.