summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViper <Viper@Anope.org>2011-03-24 23:43:53 +0100
committerViper <Viper@Anope.org>2011-03-24 23:43:53 +0100
commit841b3f689eed1573bd816454ed9e72fc1d87a2df (patch)
treeecc62e74dd80923984183ed203632f7c956292d1
parent0315bd31f817b4d8266ef4802e33414643fa2ac8 (diff)
Fixed bug #1252 - The group display nick showing in HS req memos instead of the requesting alias.
Also cleaned up the mess in Changes...
-rw-r--r--Changes39
-rw-r--r--include/extern.h1
-rw-r--r--src/memoserv.c23
-rw-r--r--src/modules/hs_request.c41
-rw-r--r--version.log3
5 files changed, 66 insertions, 41 deletions
diff --git a/Changes b/Changes
index c44541f66..a84470a6c 100644
--- a/Changes
+++ b/Changes
@@ -1,26 +1,27 @@
Anope Version 1.8 - GIT
-----------------------
-9/11 F Fixed db-convert handling some vhost collisions [ #00]
-9/14 F Fixed ./configure failing with partial SQL installations [ #00]
-9/28 F Fixed ForkForMail to always work [ #00]
-9/28 F Fixed /nickserv saset display to use nicktracking if enabled [#1193]
-9/28 F Fixed /nickserv group to use nicktracking if enabled [#1194]
+10/31 A Added support for plexus3's channel mode +z [#1202]
+02/23 A Added account tracking support to ratbox protocol module [ #00]
+03/21 A Added support for Hybrid's m_services and m_change [ #00]
+09/11 F Fixed db-convert handling some vhost collisions [ #00]
+09/14 F Fixed ./configure failing with partial SQL installations [ #00]
+09/28 F Fixed ForkForMail to always work [ #00]
+09/28 F Fixed /nickserv saset display to use nicktracking if enabled [#1193]
+09/28 F Fixed /nickserv group to use nicktracking if enabled [#1194]
12/12 F Remove vhost requests from nicks that expire [ #00]
12/15 F Fixed /cs enforce #channel to say SET was enforced not (null) [#1213]
12/23 F Fixed /cs (un)ban and akick from matching users real hosts/IP [#1079]
-1/19 F Fixed 'make install' recompiling src/tools [#1227]
-1/21 F Fixed many incorrect apostrophe usages [#1223]
-1/28 F Fixed not introducing our clients with usermode k on InspIRCd2.0[ #00]
-1/29 F Updated german language file. [ #00]
-2/05 F Fixed wiki URLs in Windows configure script [ #00]
-2/11 F Fixed build on Mac [ #00]
-2/23 F Fixed rejoining our clients if they are kicked on a TS6 IRCd [ #00]
-3/2 F Fixed showing SENDPASS in HELP to users who can't use it [ #00]
-3/3 F Fixed opping our clients on ratbox when not using TS6 [ #00]
-3/4 F Fixed setting a users host in InspIRCd when vhost is turned off [ #00]
-10/31 A Added support for plexus3's channel mode +z [#1202]
-2/23 A Added account tracking support to ratbox protocol module [ #00]
-3/21 A Added support for Hybrid's m_services and m_change [ #00]
+01/19 F Fixed 'make install' recompiling src/tools [#1227]
+01/21 F Fixed many incorrect apostrophe usages [#1223]
+01/28 F Fixed not introducing our clients with usermode k on InspIRCd2.0[ #00]
+01/29 F Updated german language file. [ #00]
+02/05 F Fixed wiki URLs in Windows configure script [ #00]
+02/11 F Fixed build on Mac [ #00]
+02/23 F Fixed rejoining our clients if they are kicked on a TS6 IRCd [ #00]
+03/02 F Fixed showing SENDPASS in HELP to users who can't use it [ #00]
+03/03 F Fixed opping our clients on ratbox when not using TS6 [ #00]
+03/04 F Fixed setting a users host in InspIRCd when vhost is turned off [ #00]
+03/24 F Fixed groups display nick showing in HS req memos for aliases. [#1252]
Anope Version 1.8.5
-------------------
@@ -48,7 +49,7 @@ Anope Version 1.8.5
09/10 F Fixed pseudo-clients always getting oper on InspIRCd. [ #00]
Provided by Han` <Han@mefalcon.org> - 2010
-8/14 F Updated german language file. [ #00]
+08/14 F Updated german language file. [ #00]
Anope Version 1.8.4
-------------------
diff --git a/include/extern.h b/include/extern.h
index 4c7e01465..1dd475d9b 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -817,6 +817,7 @@ E void memoserv(User * u, char *buf);
E void check_memos(User * u);
E MemoInfo *getmemoinfo(const char *name, int *ischan, int *isforbid);
E void memo_send(User * u, char *name, char *text, int z);
+E void memo_send_from(User * u, char *name, char *text, int z, char *source);
E int delmemo(MemoInfo * mi, int num);
/**** messages.c ****/
diff --git a/src/memoserv.c b/src/memoserv.c
index e012ab4af..3b18a9e4a 100644
--- a/src/memoserv.c
+++ b/src/memoserv.c
@@ -183,7 +183,8 @@ MemoInfo *getmemoinfo(const char *name, int *ischan, int *isforbid)
/*************************************************************************/
/**
- * Split from do_send, this way we can easily send a memo from any point
+ * Split from do_send, this way we can easily send a memo from any point.
+ *
* @param u User Struct
* @param name Target of the memo
* @param text Memo Text
@@ -196,12 +197,30 @@ MemoInfo *getmemoinfo(const char *name, int *ischan, int *isforbid)
*/
void memo_send(User * u, char *name, char *text, int z)
{
+ memo_send_from(u, name, text, z, u->na->nc->display);
+}
+
+/**
+ * Split from do_send, this way we can easily send a memo from any point.
+ *
+ * @param u User Struct
+ * @param name Target of the memo
+ * @param text Memo Text
+ * @param z type see info
+ * @param source Nickname of the alias the memo originates from.
+ * 0 - reply to user
+ * 1 - silent
+ * 2 - silent with no delay timer
+ * 3 - reply to user and request read receipt
+ * @return void
+ */
+void memo_send_from(User * u, char *name, char *text, int z, char *source)
+{
int ischan;
int isforbid;
Memo *m;
MemoInfo *mi;
time_t now = time(NULL);
- char *source = u->na->nc->display;
int is_servoper = is_services_oper(u);
if (readonly) {
diff --git a/src/modules/hs_request.c b/src/modules/hs_request.c
index 35c0d174b..00b7d74d0 100644
--- a/src/modules/hs_request.c
+++ b/src/modules/hs_request.c
@@ -67,7 +67,7 @@ void hs_help(User * u);
void my_add_host_request(char *nick, char *vIdent, char *vhost,
char *creator, int32 tmp_time);
int my_isvalidchar(const char c);
-void my_memo_lang(User * u, char *name, int z, int number, ...);
+void my_memo_lang(User * u, char *name, int z, char *source, int number, ...);
void req_send_memos(User * u, char *vHost);
void show_list(User * u);
int hs_do_waiting(User * u);
@@ -255,7 +255,7 @@ int hs_do_request(User * u)
return MOD_CONT;
}
-void my_memo_lang(User * u, char *name, int z, int number, ...)
+void my_memo_lang(User * u, char *name, int z, char *source, int number, ...)
{
va_list va;
char buffer[4096], outbuf[4096];
@@ -294,7 +294,10 @@ void my_memo_lang(User * u, char *name, int z, int number, ...)
va_start(va, number);
vsnprintf(buffer, 4095, outbuf, va);
va_end(va);
- memo_send(u, name, buffer, z);
+ if (source)
+ memo_send_from(u, name, buffer, z, source);
+ else
+ memo_send(u, name, buffer, z);
}
free(buf);
} else {
@@ -314,36 +317,36 @@ void req_send_memos(User * u, char *vHost)
if (HSRequestMemoOper == 1) {
for (i = 0; i < servopers.count; i++) {
my_memo_lang(u, (((NickCore *) servopers.list[i])->display), z,
- LNG_REQUEST_MEMO, vHost);
+ u->na->nick, LNG_REQUEST_MEMO, vHost);
}
for (i = 0; i < servadmins.count; i++) {
my_memo_lang(u, (((NickCore *) servadmins.list[i])->display),
- z, LNG_REQUEST_MEMO, vHost);
+ z, u->na->nick, LNG_REQUEST_MEMO, vHost);
}
for (i = 0; i < RootNumber; i++) {
- my_memo_lang(u, ServicesRoots[i], z, LNG_REQUEST_MEMO, vHost);
+ my_memo_lang(u, ServicesRoots[i], z, u->na->nick, LNG_REQUEST_MEMO, vHost);
}
}
if (HSRequestMemoSetters == 1) {
for (i = 0; i < HostNumber; i++) {
- my_memo_lang(u, HostSetters[i], z, LNG_REQUEST_MEMO, vHost);
+ my_memo_lang(u, HostSetters[i], z, u->na->nick, LNG_REQUEST_MEMO, vHost);
}
}
}
int hsreqevt_nick_dropped(int argc, char **argv)
{
- HostCore *tmp;
- boolean found = false;
+ HostCore *tmp;
+ boolean found = false;
- if (!argc)
- return MOD_CONT;
+ if (!argc)
+ return MOD_CONT;
- tmp = findHostCore(hs_request_head, argv[0], &found);
- if (found)
- hs_request_head = deleteHostCore(hs_request_head, tmp);
+ tmp = findHostCore(hs_request_head, argv[0], &found);
+ if (found)
+ hs_request_head = deleteHostCore(hs_request_head, tmp);
- return MOD_CONT;
+ return MOD_CONT;
}
int hs_do_reject(User * u)
@@ -374,10 +377,10 @@ int hs_do_reject(User * u)
if (HSRequestMemoUser) {
if (reason)
- my_memo_lang(u, hc->nick, 2, LNG_REJECT_MEMO_REASON,
+ my_memo_lang(u, hc->nick, 2, NULL, LNG_REJECT_MEMO_REASON,
reason);
else
- my_memo_lang(u, hc->nick, 2, LNG_REJECT_MEMO);
+ my_memo_lang(u, hc->nick, 2, NULL, LNG_REJECT_MEMO);
}
hs_request_head = deleteHostCore(hs_request_head, tmp);
@@ -423,7 +426,7 @@ int hs_do_activate(User * u)
time(NULL));
if (HSRequestMemoUser)
- my_memo_lang(u, hc->nick, 2, LNG_ACTIVATE_MEMO);
+ my_memo_lang(u, hc->nick, 2, NULL, LNG_ACTIVATE_MEMO);
hs_request_head = deleteHostCore(hs_request_head, tmp);
moduleNoticeLang(s_HostServ, u, LNG_ACTIVATED, nick);
@@ -432,7 +435,7 @@ int hs_do_activate(User * u)
moduleNoticeLang(s_HostServ, u, LNG_NO_REQUEST, nick);
}
} else {
- notice_lang(s_HostServ, u, NICK_X_NOT_REGISTERED, nick);
+ notice_lang(s_HostServ, u, NICK_X_NOT_REGISTERED, nick);
}
free(nick);
diff --git a/version.log b/version.log
index 6b0144884..9dfbbf1f6 100644
--- a/version.log
+++ b/version.log
@@ -8,9 +8,10 @@ VERSION_MAJOR="1"
VERSION_MINOR="8"
VERSION_PATCH="5"
VERSION_EXTRA="-git"
-VERSION_BUILD="3066"
+VERSION_BUILD="3067"
# $Log$ # Changes since 1.8.5 Release
+#Revision 3067 - Fixed bug #1252 - The group display nick showing in HS req memos instead of the requesting alias. Also cleaned up the mess in Changes...
#Revision 3066 - Added support m_services.c and m_change.c from Hybrid's contrib folder
#Revision 3065 - Change to users masked host instead of the real one after turning vhost off in inspircd.
#Revision 3063 - Fixed opping our clients on ratbox when TS6 is not used.