ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/modules/core/m_server.c
(Generate patch)

Comparing ircd-hybrid/trunk/modules/core/m_server.c (file contents):
Revision 3148 by michael, Fri Mar 14 12:34:45 2014 UTC vs.
Revision 3156 by michael, Fri Mar 14 19:57:38 2014 UTC

# Line 72 | Line 72 | set_server_gecos(struct Client *client_p
72   *  parv[3] = serverinfo
73   */
74   static int
75 < mr_server(struct Client *client_p, struct Client *source_p,
76 <          int parc, char *parv[])
75 > mr_server(struct Client *source_p, int parc, char *parv[])
76   {
77    char *name;
78    struct Client *target_p;
# Line 81 | Line 80 | mr_server(struct Client *client_p, struc
80  
81    if (EmptyString(parv[3]))
82    {
83 <    sendto_one(client_p, "ERROR :No servername");
84 <    exit_client(client_p, client_p, "Wrong number of args");
83 >    sendto_one(source_p, "ERROR :No servername");
84 >    exit_client(source_p, source_p, "Wrong number of args");
85      return 0;
86    }
87  
# Line 92 | Line 91 | mr_server(struct Client *client_p, struc
91    /*
92     * Reject a direct nonTS server connection if we're TS_ONLY -orabidoo
93     */
94 <  if (!DoesTS(client_p))
94 >  if (!DoesTS(source_p))
95    {
96      sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
97            "Unauthorized server connection attempt from %s: Non-TS server "
98 <          "for server %s", get_client_name(client_p, HIDE_IP), name);
98 >          "for server %s", get_client_name(source_p, HIDE_IP), name);
99      sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
100            "Unauthorized server connection attempt from %s: Non-TS server "
101 <          "for server %s", get_client_name(client_p, MASK_IP), name);
102 <    exit_client(client_p, client_p, "Non-TS server");
101 >          "for server %s", get_client_name(source_p, MASK_IP), name);
102 >    exit_client(source_p, source_p, "Non-TS server");
103      return 0;
104    }
105  
# Line 108 | Line 107 | mr_server(struct Client *client_p, struc
107    {
108      sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
109            "Unauthorized server connection attempt from %s: Bogus server name "
110 <          "for server %s", get_client_name(client_p, HIDE_IP), name);
110 >          "for server %s", get_client_name(source_p, HIDE_IP), name);
111      sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
112            "Unauthorized server connection attempt from %s: Bogus server name "
113 <          "for server %s", get_client_name(client_p, MASK_IP), name);
114 <    exit_client(client_p, client_p, "Bogus server name");
113 >          "for server %s", get_client_name(source_p, MASK_IP), name);
114 >    exit_client(source_p, source_p, "Bogus server name");
115      return 0;
116    }
117  
118 <  if (!valid_sid(client_p->id))
118 >  if (!valid_sid(source_p->id))
119    {
120      sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
121                           "Link %s introduced server with bogus server ID %s",
122 <                         get_client_name(client_p, SHOW_IP), client_p->id);
122 >                         get_client_name(source_p, SHOW_IP), source_p->id);
123      sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
124                           "Link %s introduced server with bogus server ID %s",
125 <                         get_client_name(client_p, MASK_IP), client_p->id);
126 <    sendto_one(client_p, "ERROR :Bogus server ID introduced");
127 <    exit_client(client_p, &me, "Bogus server ID intoduced");
125 >                         get_client_name(source_p, MASK_IP), source_p->id);
126 >    sendto_one(source_p, "ERROR :Bogus server ID introduced");
127 >    exit_client(source_p, &me, "Bogus server ID intoduced");
128      return 0;
129    }
130  
131    /* Now we just have to call check_server and everything should
132     * be check for us... -A1kmm.
133     */
134 <  switch (check_server(name, client_p))
134 >  switch (check_server(name, source_p))
135    {
136      case -1:
137        if (ConfigFileEntry.warn_no_nline)
138        {
139          sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
140             "Unauthorized server connection attempt from %s: No entry for "
141 <           "servername %s", get_client_name(client_p, HIDE_IP), name);
141 >           "servername %s", get_client_name(source_p, HIDE_IP), name);
142  
143          sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
144             "Unauthorized server connection attempt from %s: No entry for "
145 <           "servername %s", get_client_name(client_p, MASK_IP), name);
145 >           "servername %s", get_client_name(source_p, MASK_IP), name);
146        }
147  
148 <      exit_client(client_p, client_p, "No connect{} block.");
148 >      exit_client(source_p, source_p, "No connect{} block.");
149        return 0;
150        /* NOT REACHED */
151        break;
# Line 154 | Line 153 | mr_server(struct Client *client_p, struc
153      case -2:
154        sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
155             "Unauthorized server connection attempt from %s: Bad password "
156 <           "for server %s", get_client_name(client_p, HIDE_IP), name);
156 >           "for server %s", get_client_name(source_p, HIDE_IP), name);
157  
158        sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
159             "Unauthorized server connection attempt from %s: Bad password "
160 <           "for server %s", get_client_name(client_p, MASK_IP), name);
160 >           "for server %s", get_client_name(source_p, MASK_IP), name);
161  
162 <      exit_client(client_p, client_p, "Invalid password.");
162 >      exit_client(source_p, source_p, "Invalid password.");
163        return 0;
164        /* NOT REACHED */
165        break;
# Line 168 | Line 167 | mr_server(struct Client *client_p, struc
167      case -3:
168        sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
169             "Unauthorized server connection attempt from %s: Invalid host "
170 <           "for server %s", get_client_name(client_p, HIDE_IP), name);
170 >           "for server %s", get_client_name(source_p, HIDE_IP), name);
171  
172        sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
173             "Unauthorized server connection attempt from %s: Invalid host "
174 <           "for server %s", get_client_name(client_p, MASK_IP), name);
174 >           "for server %s", get_client_name(source_p, MASK_IP), name);
175  
176 <      exit_client(client_p, client_p, "Invalid host.");
176 >      exit_client(source_p, source_p, "Invalid host.");
177        return 0;
178      case -4:
179        sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
180             "Unauthorized server connection attempt from %s: Invalid certificate fingerprint "
181 <           "for server %s", get_client_name(client_p, HIDE_IP), name);
181 >           "for server %s", get_client_name(source_p, HIDE_IP), name);
182  
183        sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
184             "Unauthorized server connection attempt from %s: Invalid certificate fingerprint "
185 <           "for server %s", get_client_name(client_p, MASK_IP), name);
185 >           "for server %s", get_client_name(source_p, MASK_IP), name);
186  
187 <      exit_client(client_p, client_p, "Invalid certificate fingerprint.");
187 >      exit_client(source_p, source_p, "Invalid certificate fingerprint.");
188        return 0;
189        /* NOT REACHED */
190        break;
# Line 205 | Line 204 | mr_server(struct Client *client_p, struc
204       */
205      sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
206                           "Attempt to re-introduce server %s from %s",
207 <                         name, get_client_name(client_p, HIDE_IP));
207 >                         name, get_client_name(source_p, HIDE_IP));
208      sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
209                           "Attempt to re-introduce server %s from %s",
210 <                         name, get_client_name(client_p, MASK_IP));
211 <    sendto_one(client_p, "ERROR :Server already exists.");
212 <    exit_client(client_p, client_p, "Server already exists");
210 >                         name, get_client_name(source_p, MASK_IP));
211 >    sendto_one(source_p, "ERROR :Server already exists.");
212 >    exit_client(source_p, source_p, "Server already exists");
213      return 0;
214    }
215  
216 <  if ((target_p = hash_find_id(client_p->id)))
216 >  if ((target_p = hash_find_id(source_p->id)))
217    {
218      sendto_realops_flags(UMODE_ALL, L_ADMIN, SEND_NOTICE,
219                           "Attempt to re-introduce server %s SID %s from %s",
220 <                         name, client_p->id,
221 <                         get_client_name(client_p, HIDE_IP));
220 >                         name, source_p->id,
221 >                         get_client_name(source_p, HIDE_IP));
222      sendto_realops_flags(UMODE_ALL, L_OPER, SEND_NOTICE,
223                           "Attempt to re-introduce server %s SID %s from %s",
224 <                         name, client_p->id,
225 <                         get_client_name(client_p, MASK_IP));
226 <    sendto_one(client_p, "ERROR :Server ID already exists.");
227 <    exit_client(client_p, client_p, "Server ID already exists");
224 >                         name, source_p->id,
225 >                         get_client_name(source_p, MASK_IP));
226 >    sendto_one(source_p, "ERROR :Server ID already exists.");
227 >    exit_client(source_p, source_p, "Server ID already exists");
228      return 0;
229    }
230  
# Line 234 | Line 233 | mr_server(struct Client *client_p, struc
233     * but only if it's not the same client! - Dianora
234     */
235    if ((target_p = find_servconn_in_progress(name)))
236 <    if (target_p != client_p)
236 >    if (target_p != source_p)
237        exit_client(target_p, &me, "Overridden");
238  
239    /* if we are connecting (Handshake), we already have the name from the
240 <   * connect{} block in client_p->name
240 >   * connect{} block in source_p->name
241     */
242 <  strlcpy(client_p->name, name, sizeof(client_p->name));
243 <  set_server_gecos(client_p, parv[3]);
244 <  client_p->hopcount = hop;
245 <  server_estab(client_p);
242 >  strlcpy(source_p->name, name, sizeof(source_p->name));
243 >  set_server_gecos(source_p, parv[3]);
244 >  source_p->hopcount = hop;
245 >  server_estab(source_p);
246    return 0;
247   }
248  
# Line 255 | Line 254 | mr_server(struct Client *client_p, struc
254   *  parv[4] = serverinfo
255   */
256   static int
257 < ms_sid(struct Client *client_p, struct Client *source_p,
259 <       int parc, char *parv[])
257 > ms_sid(struct Client *source_p, int parc, char *parv[])
258   {
259    dlink_node *ptr = NULL;
260    struct Client *target_p = NULL;
261 +  struct Client *client_p = source_p->from; /* XXX */
262    const struct MaskItem *conf = NULL;
263    int hlined = 0;
264    int llined = 0;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines