summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
249e8af)
Make ERR_NEEDREGGEDNICK more informative at the raw protocol level.
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1763
c9e4aea6-c8fd-4c43-8297-
357d70d61c8c
+2007-01-27 Jeannot Langlois <jeannot12@linuxmail.org>
+
+ * doc/example.conf (Features): Illustrate URLREG feature.
+
+ * doc/readme.features (URLREG): Define new feature.
+
+ * include/ircd_features.h (Feature): Add FEAT_URLREG.
+
+ * ircd/ircd_features.c (features): Set the default value.
+
+ * ircd/m_join.c (m_join): For ERR_NEEDREGGEDNICK, include the
+ URLREG value as a format argument.
+
+ * ircd/s_err.c (replyTable): Update ERR_NEEDREGGEDNICK
+ appropriately.
+
2007-02-03 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_reply.c (protocol_violation): Avoid reusing the
2007-02-03 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_reply.c (protocol_violation): Avoid reusing the
# "HIS_SERVERNAME" = "*.undernet.org";
# "HIS_SERVERINFO" = "The Undernet Underworld";
# "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
# "HIS_SERVERNAME" = "*.undernet.org";
# "HIS_SERVERINFO" = "The Undernet Underworld";
# "HIS_URLSERVERS" = "http://www.undernet.org/servers.php";
+# "URLREG" = "http://cservice.undernet.org/live/";
};
# Well, you have now reached the end of this sample configuration
};
# Well, you have now reached the end of this sample configuration
This defines a URL that users may visit to find compatible IRC clients.
This defines a URL that users may visit to find compatible IRC clients.
+URLREG
+ * Type: string
+ * Default: "http://cservice.undernet.org/live/"
+
+This defines a URL that is used in server response 477 (ERR_NEEDREGGEDNICK) to
+let users know which website they must visit to obtain a proper account for
+authentication.
+
NICKLEN
* Type: integer
* Default: 12
NICKLEN
* Type: integer
* Default: 12
/* Misc. random stuff */
FEAT_NETWORK,
FEAT_URL_CLIENTS,
/* Misc. random stuff */
FEAT_NETWORK,
FEAT_URL_CLIENTS,
/* Misc. random stuff */
F_S(NETWORK, 0, "UnderNet", 0),
F_S(URL_CLIENTS, 0, "ftp://ftp.undernet.org/pub/irc/clients", 0),
/* Misc. random stuff */
F_S(NETWORK, 0, "UnderNet", 0),
F_S(URL_CLIENTS, 0, "ftp://ftp.undernet.org/pub/irc/clients", 0),
+ F_S(URLREG, 0, "http://cservice.undernet.org/live/", 0),
/* Is there some reason the user may not join? */
if (err) {
/* Is there some reason the user may not join? */
if (err) {
- send_reply(sptr, err, chptr->chname);
+ switch(err) {
+ case ERR_NEEDREGGEDNICK:
+ send_reply(sptr,
+ ERR_NEEDREGGEDNICK,
+ chptr->chname,
+ feature_str(FEAT_URLREG));
+ break;
+ default:
+ send_reply(sptr, err, chptr->chname);
+ break;
+ }
/* 476 */
{ ERR_BADCHANMASK, "%s :Bad Channel Mask", "476" },
/* 477 */
/* 476 */
{ ERR_BADCHANMASK, "%s :Bad Channel Mask", "476" },
/* 477 */
- { ERR_NEEDREGGEDNICK, "%s :Cannot join channel (+r)", "477" },
+ { ERR_NEEDREGGEDNICK, "%s :Cannot join channel (+r): this channel requires authentication -- you can obtain an account from %s", "477" },
/* 478 */
{ ERR_BANLISTFULL, "%s %s :Channel ban/ignore list is full", "478" },
/* 479 */
/* 478 */
{ ERR_BANLISTFULL, "%s %s :Channel ban/ignore list is full", "478" },
/* 479 */