]> jfr.im git - irc/quakenet/newserv.git/blame - miscreply/version.c
TRUSTS: require sqlite
[irc/quakenet/newserv.git] / miscreply / version.c
CommitLineData
7bec4aeb 1/* version.c */
2
3#include "miscreply.h"
7bec4aeb 4#include "../irc/irc.h"
5#include "../core/error.h"
7bec4aeb 6
7bec4aeb 7
8
7bec4aeb 9/* handle remote version request
10 *
11 * <source numeric> VERSION/V <target server numeric>
12 *
13 * cargv[0] = target server numeric
14 * can be a * in which case the request is for all servers (snircd extension)
15 *
16 */
17int handleversionmsg(void *source, int cargc, char **cargv) {
18
a7697869 19 nick *snick; /* struct nick for source nick */
20 char *sourcenum = (char *)source; /* source user numeric */
7bec4aeb 21
22 /* check parameters */
23 if (cargc < 1) {
24 miscreply_needmoreparams(sourcenum, "VERSION");
25 return CMD_OK;
26 }
27
7bec4aeb 28 /* find source user */
29 if (!(snick = miscreply_finduser(sourcenum, "VERSION")))
30 return CMD_OK;
31
7bec4aeb 32 /*
33 * 351 RPL_VERSION "source 351 target version server :info"
a7697869 34 * "irc.netsplit.net 351 foobar u2.10.12.12+snircd(1.3.4a). irc.netsplit.net :B96ADHMRU6"
7bec4aeb 35 */
a7697869 36 irc_send("%s 351 %s newserv%s %s :Newserv IRC Service", getmynumeric(), sourcenum, MISCREPLY_VERSION, myserver->content);
7bec4aeb 37
38 return CMD_OK;
39}