patom.writeBytes(id,ver_ex_prefix,2);
}else if (id == PCP_BCST_VERSION_EX_NUMBER)
{
+ // version check (force)
+ if (servMgr->versionDNS > PCP_CLIENT_VERSION_EX_NUMBER)
+ {
+ strcpy(servMgr->downloadURL, PCP_CLIENT_DIST_URL);
+ peercastApp->notifyMessage(ServMgr::NT_UPGRADE,"\90V\82µ\82¢\83o\81[\83W\83\87\83\93\82ÌPeercast\82ª\83\8a\83\8a\81[\83X\82³\82ê\82Ü\82µ\82½\81B");
+
+ LOG_DEBUG("PCP triggered version check (force): %d / %d", servMgr->versionDNS, PCP_CLIENT_VERSION_EX_NUMBER);
+ }
+
ver_ex_number = atom.readShort();
patom.writeShort(id,ver_ex_number);
// version check
- if (!servMgr->noVersionCheck
+ if (!servMgr->versionDNS // DNS\82©\82ç\83o\81[\83W\83\87\83\93\8fî\95ñ\82ð\8eæ\93¾\82Å\82«\82È\82©\82Á\82½
+ && !servMgr->noVersionCheck
&& !strncmp(ver_ex_prefix, PCP_CLIENT_VERSION_EX_PREFIX, 2)
&& ver_ex_number > PCP_CLIENT_VERSION_EX_NUMBER)
{
preventSS = false;
noVersionCheck = false;
+ // retrieve newest version number from DNS
+ // for windows ONLY. Linux or other OS is NOT supported.
+#ifdef WIN32
+ {
+ struct hostent *he;
+
+ he = gethostbyname(PCP_CLIENT_VERSION_URL);
+ if (he && he->h_addrtype == AF_INET)
+ {
+ versionDNS = ((struct in_addr*)he->h_addr_list[0])->S_un.S_un_b.s_b3;
+ } else
+ versionDNS = 0;
+ }
+#else
+ versionDNS = 0;
+#endif
+
chanLog="";
maxRelaysIndexTxt = 1; // for PCRaw (relay)
bool preventSS; // \83X\83N\83\8a\81[\83\93\83Z\81[\83o\81[\82ð\97}\8e~
bool noVersionCheck; // bcstAtom\82É\82æ\82é\83o\81[\83W\83\87\83\93\83`\83F\83b\83N\82ð\8ds\82í\82È\82¢
+ int versionDNS; // DNS\82©\82ç\8eæ\93¾\82µ\82½\8dÅ\90V\83o\81[\83W\83\87\83\93\82Ì\94Ô\8d\86
+
int maxRelaysIndexTxt; // for PCRaw (relay)
#ifdef WIN32 //JP-MOD
#if 1 /* for VP extend version */
//#define VERSION_EX 1
static const char *PCP_CLIENT_VERSION_EX_PREFIX = "IM"; // 2bytes only
-static const int PCP_CLIENT_VERSION_EX_NUMBER = 39;
-static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0039)";
-static const char *PCX_VERSTRING_EX = "v0.1218(IM0039)";
+static const int PCP_CLIENT_VERSION_EX_NUMBER = 40;
+static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0040)";
+static const char *PCX_VERSTRING_EX = "v0.1218(IM0040)";
static const char *PCP_CLIENT_DIST_URL = "http://pecaim.net/";
+static const char *PCP_CLIENT_VERSION_URL = "version.pecaim.net";
#endif
// ------------------------------------------------
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,3,9,0
- PRODUCTVERSION 1,3,9,0
+ FILEVERSION 1,4,0,0
+ PRODUCTVERSION 1,4,0,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
BEGIN
VALUE "CompanyName", "PeCa"
VALUE "FileDescription", "Peercast IM"
- VALUE "FileVersion", "1, 3, 9, 0"
+ VALUE "FileVersion", "1, 4, 0, 0"
VALUE "InternalName", "PeCaIM"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", "PeerCast.exe"
VALUE "ProductName", "Peercast IM"
- VALUE "ProductVersion", "1, 3, 9, 0"
+ VALUE "ProductVersion", "1, 4, 0, 0"
END
END
BLOCK "VarFileInfo"
patom.writeBytes(id,ver_ex_prefix,2);
}else if (id == PCP_BCST_VERSION_EX_NUMBER)
{
+ // version check (force)
+ if (servMgr->versionDNS > PCP_CLIENT_VERSION_EX_NUMBER)
+ {
+ strcpy(servMgr->downloadURL, PCP_CLIENT_DIST_URL);
+ peercastApp->notifyMessage(ServMgr::NT_UPGRADE,"\90V\82µ\82¢\83o\81[\83W\83\87\83\93\82ÌPeercast\82ª\83\8a\83\8a\81[\83X\82³\82ê\82Ü\82µ\82½\81B");
+
+ LOG_DEBUG("PCP triggered version check (force): %d / %d", servMgr->versionDNS, PCP_CLIENT_VERSION_EX_NUMBER);
+ }
+
ver_ex_number = atom.readShort();
patom.writeShort(id,ver_ex_number);
// version check
- if (!servMgr->noVersionCheck
+ if (!servMgr->versionDNS // DNS\82©\82ç\83o\81[\83W\83\87\83\93\8fî\95ñ\82ð\8eæ\93¾\82Å\82«\82È\82©\82Á\82½
+ && !servMgr->noVersionCheck
&& !strncmp(ver_ex_prefix, PCP_CLIENT_VERSION_EX_PREFIX, 2)
&& ver_ex_number > PCP_CLIENT_VERSION_EX_NUMBER)
{
preventSS = false;
noVersionCheck = false;
+ // retrieve newest version number from DNS
+ // for windows ONLY. Linux or other OS is NOT supported.
+#ifdef WIN32
+ {
+ struct hostent *he;
+
+ he = gethostbyname(PCP_CLIENT_VERSION_URL);
+ if (he && he->h_addrtype == AF_INET)
+ {
+ versionDNS = ((struct in_addr*)he->h_addr_list[0])->S_un.S_un_b.s_b3;
+ } else
+ versionDNS = 0;
+ }
+#else
+ versionDNS = 0;
+#endif
+
chanLog="";
maxRelaysIndexTxt = 1; // for PCRaw (relay)
bool preventSS; // \83X\83N\83\8a\81[\83\93\83Z\81[\83o\81[\82ð\97}\8e~
bool noVersionCheck; // bcstAtom\82É\82æ\82é\83o\81[\83W\83\87\83\93\83`\83F\83b\83N\82ð\8ds\82í\82È\82¢
+ int versionDNS; // DNS\82©\82ç\8eæ\93¾\82µ\82½\8dÅ\90V\83o\81[\83W\83\87\83\93\82Ì\94Ô\8d\86
+
int maxRelaysIndexTxt; // for PCRaw (relay)
#ifdef WIN32 //JP-MOD
#if 1 /* for VP extend version */
//#define VERSION_EX 1
static const char *PCP_CLIENT_VERSION_EX_PREFIX = "IM"; // 2bytes only
-static const int PCP_CLIENT_VERSION_EX_NUMBER = 39;
-static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0039)";
-static const char *PCX_VERSTRING_EX = "v0.1218(IM0039)";
+static const int PCP_CLIENT_VERSION_EX_NUMBER = 40;
+static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0040)";
+static const char *PCX_VERSTRING_EX = "v0.1218(IM0040)";
static const char *PCP_CLIENT_DIST_URL = "http://pecaim.net/";
+static const char *PCP_CLIENT_VERSION_URL = "version.pecaim.net";
#endif
// ------------------------------------------------
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,3,9,0
- PRODUCTVERSION 1,3,9,0
+ FILEVERSION 1,4,0,0
+ PRODUCTVERSION 1,4,0,0
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
BEGIN
VALUE "CompanyName", "PeCa"
VALUE "FileDescription", "Peercast IM"
- VALUE "FileVersion", "1, 3, 9, 0"
+ VALUE "FileVersion", "1, 4, 0, 0"
VALUE "InternalName", "PeCaIM"
VALUE "LegalCopyright", "Copyright (C) 2009"
VALUE "OriginalFilename", "PeerCast.exe"
VALUE "ProductName", "Peercast IM"
- VALUE "ProductVersion", "1, 3, 9, 0"
+ VALUE "ProductVersion", "1, 4, 0, 0"
END
END
BLOCK "VarFileInfo"