~ubuntu-branches/ubuntu/oneiric/inspircd/oneiric

« back to all changes in this revision

Viewing changes to src/modules/m_spanningtree/treesocket1.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Giacomo Catenazzi, Darren Blaber, Matt Arnold, Giacomo Catenazzi
  • Date: 2008-03-06 07:56:47 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080306075647-z8a4phxkn3vo3ajx
Tags: 1.1.17+dfsg-1
[ Darren Blaber ]
* New upstream release, fix /etc/init.d/inspircd stop.
* Fix the postrm script so there is no duplicate update-rc.d
* Fix the manpage so there are no more errors in it

[ Matt Arnold ]
*  Fix prerm so it works (Closes: #466924)

[ Giacomo Catenazzi ]
* Added me as uploader
* Add again support of dpatch in debian/rules
* Build sources only once!
* Correct make clean target, not to include generated ./inspircd on sources
* Don't change permission of configuration files, when starting inspircd
  (separation of policy and program).

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 *       | Inspire Internet Relay Chat Daemon |
3
3
 *       +------------------------------------+
4
4
 *
5
 
 *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
 
5
 *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
6
6
 * See: http://www.inspircd.org/wiki/index.php/Credits
7
7
 *
8
8
 * This program is free but copyrighted software; see
744
744
                                        c->WriteChannel(user, "TOPIC %s :%s", c->name, c->topic);
745
745
                                        nsource = user->server;
746
746
                                }
747
 
                                /* all done, send it on its way */
748
 
                                params[3] = ":" + params[3];
749
 
                                Utils->DoOneToAllButSender(source,"FTOPIC",params,nsource);
750
747
                        }
 
748
 
 
749
                        /* all done, send it on its way */
 
750
                        params[3] = ":" + params[3];
 
751
                        Utils->DoOneToAllButSender(source,"FTOPIC",params,nsource);
751
752
                }
752
753
 
753
754
        }
922
923
        const char* tempnick = params[1].c_str();
923
924
        std::string empty;
924
925
 
925
 
        cmd_validation valid[] = { {"Nickname", 1, NICKMAX}, {"Hostname", 2, 64}, {"Displayed hostname", 3, 64}, {"Ident", 4, IDENTMAX}, {"GECOS", 7, MAXGECOS}, {"", 0, 0} };
 
926
        cmd_validation valid[] = { {"Nickname", 1, NICKMAX}, {"Hostname", 2, 64}, {"Displayed hostname", 3, 64}, {"Ident", 4, IDENTMAX+1}, {"GECOS", 7, MAXGECOS}, {"", 0, 0} };
926
927
 
927
928
        TreeServer* remoteserver = Utils->FindServer(source);
928
929
        if (!remoteserver)
966
967
        strlcpy(_new->host, params[2].c_str(),64);
967
968
        strlcpy(_new->dhost, params[3].c_str(),64);
968
969
        _new->server = this->Instance->FindServerNamePtr(source.c_str());
969
 
        strlcpy(_new->ident, params[4].c_str(),IDENTMAX);
 
970
        strlcpy(_new->ident, params[4].c_str(),IDENTMAX+1);
970
971
        strlcpy(_new->fullname, params[7].c_str(),MAXGECOS);
971
972
        _new->registered = REG_ALL;
972
973
        _new->signon = age;
1096
1097
void TreeSocket::SendXLines(TreeServer* Current)
1097
1098
{
1098
1099
        char data[MAXBUF];
1099
 
        std::string buffer;
1100
1100
        std::string n = this->Instance->Config->ServerName;
1101
1101
        const char* sn = n.c_str();
1102
1102
        /* Yes, these arent too nice looking, but they get the job done */
1103
1103
        for (std::vector<ZLine*>::iterator i = Instance->XLines->zlines.begin(); i != Instance->XLines->zlines.end(); i++)
1104
1104
        {
1105
 
                snprintf(data,MAXBUF,":%s ADDLINE Z %s %s %lu %lu :%s\r\n",sn,(*i)->ipaddr,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1106
 
                buffer.append(data);
 
1105
                snprintf(data,MAXBUF,":%s ADDLINE Z %s %s %lu %lu :%s",sn,(*i)->ipaddr,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1106
                this->WriteLine(data);
1107
1107
        }
1108
1108
        for (std::vector<QLine*>::iterator i = Instance->XLines->qlines.begin(); i != Instance->XLines->qlines.end(); i++)
1109
1109
        {
1110
 
                snprintf(data,MAXBUF,":%s ADDLINE Q %s %s %lu %lu :%s\r\n",sn,(*i)->nick,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1111
 
                buffer.append(data);
 
1110
                snprintf(data,MAXBUF,":%s ADDLINE Q %s %s %lu %lu :%s",sn,(*i)->nick,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1111
                this->WriteLine(data);
1112
1112
        }
1113
1113
        for (std::vector<GLine*>::iterator i = Instance->XLines->glines.begin(); i != Instance->XLines->glines.end(); i++)
1114
1114
        {
1115
 
                snprintf(data,MAXBUF,":%s ADDLINE G %s@%s %s %lu %lu :%s\r\n",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1116
 
                buffer.append(data);
 
1115
                snprintf(data,MAXBUF,":%s ADDLINE G %s@%s %s %lu %lu :%s",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1116
                this->WriteLine(data);
1117
1117
        }
1118
1118
        for (std::vector<ELine*>::iterator i = Instance->XLines->elines.begin(); i != Instance->XLines->elines.end(); i++)
1119
1119
        {
1120
 
                snprintf(data,MAXBUF,":%s ADDLINE E %s@%s %s %lu %lu :%s\r\n",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1121
 
                buffer.append(data);
 
1120
                snprintf(data,MAXBUF,":%s ADDLINE E %s@%s %s %lu %lu :%s",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1121
                this->WriteLine(data);
1122
1122
        }
1123
1123
        for (std::vector<ZLine*>::iterator i = Instance->XLines->pzlines.begin(); i != Instance->XLines->pzlines.end(); i++)
1124
1124
        {
1125
 
                snprintf(data,MAXBUF,":%s ADDLINE Z %s %s %lu %lu :%s\r\n",sn,(*i)->ipaddr,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1126
 
                buffer.append(data);
 
1125
                snprintf(data,MAXBUF,":%s ADDLINE Z %s %s %lu %lu :%s",sn,(*i)->ipaddr,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1126
                this->WriteLine(data);
1127
1127
        }
1128
1128
        for (std::vector<QLine*>::iterator i = Instance->XLines->pqlines.begin(); i != Instance->XLines->pqlines.end(); i++)
1129
1129
        {
1130
 
                snprintf(data,MAXBUF,":%s ADDLINE Q %s %s %lu %lu :%s\r\n",sn,(*i)->nick,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1131
 
                buffer.append(data);
 
1130
                snprintf(data,MAXBUF,":%s ADDLINE Q %s %s %lu %lu :%s",sn,(*i)->nick,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1131
                this->WriteLine(data);
1132
1132
        }
1133
1133
        for (std::vector<GLine*>::iterator i = Instance->XLines->pglines.begin(); i != Instance->XLines->pglines.end(); i++)
1134
1134
        {
1135
 
                snprintf(data,MAXBUF,":%s ADDLINE G %s@%s %s %lu %lu :%s\r\n",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1136
 
                buffer.append(data);
 
1135
                snprintf(data,MAXBUF,":%s ADDLINE G %s@%s %s %lu %lu :%s",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1136
                this->WriteLine(data);
1137
1137
        }
1138
1138
        for (std::vector<ELine*>::iterator i = Instance->XLines->pelines.begin(); i != Instance->XLines->pelines.end(); i++)
1139
1139
        {
1140
 
                snprintf(data,MAXBUF,":%s ADDLINE E %s@%s %s %lu %lu :%s\r\n",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
1141
 
                buffer.append(data);
 
1140
                snprintf(data,MAXBUF,":%s ADDLINE E %s@%s %s %lu %lu :%s",sn,(*i)->identmask,(*i)->hostmask,(*i)->source,(unsigned long)(*i)->set_time,(unsigned long)(*i)->duration,(*i)->reason);
 
1141
                this->WriteLine(data);
1142
1142
        }
1143
 
 
1144
 
        if (!buffer.empty())
1145
 
                this->WriteLine(buffer);
1146
1143
}
1147
1144
 
1148
1145
/** Send channel modes and topics */