]>
Commit | Line | Data |
---|---|---|
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 | */ | |
17 | int 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 | } |