if (servMgr->numActiveOnPort(sv->sock->host.port) < servMgr->maxServIn)
{
ClientSocket *cs = sv->sock->accept();
+
+ // \95s\90³\82È\83\\81[\83X\83A\83h\83\8c\83X(IPv4\83}\83\8b\83`\83L\83\83\83X\83g)\82ð\8f\9c\8aO
+ if (cs && (((cs->host.ip >> 24) & 0xF0) == 0xE0))
+ {
+ char ip[64];
+ cs->host.toStr(ip);
+ cs->close();
+ LOG_ERROR("reject incoming multicast address: %s", ip);
+ peercastApp->notifyMessage(ServMgr::NT_PEERCAST, "reject multicast address");
+ } else
if (cs)
{
LOG_DEBUG("accepted incoming");
//#define VERSION_EX 1
static const char *PCP_CLIENT_VERSION_EX_PREFIX = "IM"; // 2bytes only
static const int PCP_CLIENT_VERSION_EX_NUMBER = 28;
-static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0028)";
-static const char *PCX_VERSTRING_EX = "v0.1218(IM0028)";
+static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0028-2)";
+static const char *PCX_VERSTRING_EX = "v0.1218(IM0028-2)";
#endif
// ------------------------------------------------
if (servMgr->numActiveOnPort(sv->sock->host.port) < servMgr->maxServIn)
{
ClientSocket *cs = sv->sock->accept();
+
+ // \95s\90³\82È\83\\81[\83X\83A\83h\83\8c\83X(IPv4\83}\83\8b\83`\83L\83\83\83X\83g)\82ð\8f\9c\8aO
+ if (cs && (((cs->host.ip >> 24) & 0xF0) == 0xE0))
+ {
+ char ip[64];
+ cs->host.toStr(ip);
+ cs->close();
+ LOG_ERROR("reject incoming multicast address: %s", ip);
+ peercastApp->notifyMessage(ServMgr::NT_PEERCAST, "reject multicast address");
+ } else
if (cs)
{
LOG_DEBUG("accepted incoming");
//#define VERSION_EX 1
static const char *PCP_CLIENT_VERSION_EX_PREFIX = "IM"; // 2bytes only
static const int PCP_CLIENT_VERSION_EX_NUMBER = 28;
-static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0028)";
-static const char *PCX_VERSTRING_EX = "v0.1218(IM0028)";
+static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0028-2)";
+static const char *PCX_VERSTRING_EX = "v0.1218(IM0028-2)";
#endif
// ------------------------------------------------