Kod:
Merhaba,
UnrealIRCd'in protokollerine uygun yeni bir admin rütbesi oluşturmak {U}
eklemek için.
Yapmamız gereken
SSH/FTP Login olmak. vereceğim kodları eklemektir.
Klasör: -> Unreal3.2/src/
Dosya: -> (umodes.c)
BULUN,
Kod
long UMODE_NETADMIN = 0L; /* Network Admin */
ÜSTÜNE,
Kod
long UMODE_ROOTADMIN = 0L; /* Root Admin */
EKLEYIN,
-
BULUN,
Kod
UmodeAdd(NULL, 'N', UMODE_GLOBAL, umode_allow_opers, &UMODE_NETADMIN);
ÜSTÜNE,
Kod
UmodeAdd(NULL, 'U', UMODE_GLOBAL, umode_allow_opers, &UMODE_ROOTADMIN);
EKLEYIN,
-
Klasör: -> Unreal3.2/src/
Dosya: -> (updconf.c)
BULUN,
Kod
{ 'N', "netadmin"},
ÜSTÜNE,
Kod
{ 'U', "rootadmin"},
EKLEYIN,
-
Klasör: -> Unreal3.2/src/
Dosya: -> (s_svs.c)
BULUN,
Kod
#define STAR1 OFLAG_SADMIN|OFLAG_ADMIN|OFLAG_NETADMIN|OFLAG_COADMIN
DEGISTIRIN,
Kod
#define STAR1 OFLAG_SADMIN|OFLAG_ADMIN|OFLAG_NETADMIN|OFLAG_ROOTADMIN|OFLAG_COADMIN
BULUN,
Kod
OFLAG_NETADMIN, 'N',
ÜSTÜNE,
Kod
OFLAG_ROOTADMIN, 'U',
EKLEYIN,
-
Klasör: -> Unreal3.2/src/
Dosya: -> (s_conf.c)
BULUN,
Kod
OFLAG_NADMIN, 'N',
ÜSTÜNE,
Kod
OFLAG_SROOT, 'U',
EKLEYIN,
-
BULUN,
Kod
{ OFLAG_NADMIN, "netadmin"},
ÜSTÜNE,
Kod
{ OFLAG_SROOT, "rootadmin"},
EKLEYIN,
-
BULUN,
Kod
ircfree(i->network.x_netadmin_host);
ÜSTÜNE,
Kod
ircfree(i->network.x_rootadmin_host);
EKLEYIN,
-
BULUN,
Kod
if (!settings.has_hosts_netadmin)
Error("set::hosts::netadmin is missing");
ÜSTÜNE,
Kod
if (!settings.has_hosts_rootadmin) Error("set::hosts::rootadmin is missing");
EKLEYIN,
-
BULUN,
Kod
else if (!strcmp(cepp->ce_varname, "netadmin")) {
ircstrdup(tempiConf.network.x_netadmin_host, cepp->ce_vardata); }
ÜSTÜNE,
Kod
else if (!strcmp(cepp->ce_varname, "rootadmin")) { ircstrdup(tempiConf.network.x_rootadmin_host, cepp->ce_vardata); }
EKLEYIN,
-
BULUN,
Kod
else if (!strcmp(cepp->ce_varname, "netadmin")) { CheckDuplicate(cepp, hosts_netadmin, "hosts::netadmin"); }
ÜSTÜNE,
Kod
else if (!strcmp(cepp->ce_varname, "rootadmin")) { CheckDuplicate(cepp, hosts_rootadmin, "hosts::rootadmin"); }
EKLEYIN,
Klasör: -> Unreal3.2/include/
Dosya: -> (h.h)
BULUN,
Kod
extern MODVAR long UMODE_NETADMIN; /* 0x10000 Network Admin */
ÜSTÜNE,
Kod
extern MODVAR long UMODE_ROOTADMIN; /* 0x20000 Root Admin */
EKLEYIN,
-
Klasör: -> Unreal3.2/include/
Dosya: -> (dynconf.h)
BULUN,
Kod
char *x_netadmin_host;
ÜSTÜNE,
Kod
char *x_rootadmin_host;
EKLEYIN,
-
BULUN,
Kod
#define netadmin_host iConf.network.x_netadmin_host
ÜSTÜNE,
Kod
#define rootadmin_host iConf.network.x_rootadmin_host
EKLEYIN,
-
BULUN,
Kod
unsigned has_hosts_netadmin:1;
ÜSTÜNE,
Kod
unsigned has_hosts_rootadmin:1;
EKLEYIN,
-
Klasör: -> Unreal3.2/include/
Dosya: -> (struct.h)
BULUN,
Kod
#define IsNetAdmin(x) ((x)->umodes & UMODE_NETADMIN)
ÜSTÜNE,
Kod
#define IsRootAdmin(x) ((x)->umodes & UMODE_ROOTADMIN)
EKLEYIN,
-
BULUN,
Kod
#define ClearNetAdmin(x) ((x)->umodes &= ~UMODE_NETADMIN)
ÜSTÜNE,
Kod
#define ClearRootAdmin(x) ((x)->umodes &= ~UMODE_ROOTADMIN)
EKLEYIN,
-
BULUN,
Kod
#define OFLAG_NETADMIN 0x00200000 /* netadmin gets +N */
ÜSTÜNE,
Kod
#define OFLAG_ROOTADMIN 0x00100000 /* root admin +U */
EKLEYIN,
-
BULUN,
Kod
#define OFLAG_NADMIN (OFLAG_NETADMIN | OFLAG_SADMIN | OFLAG_ADMIN | OFLAG_GLOBAL | OFLAG_UMODEQ | OFLAG_DCCDENY)
ÜSTÜNE,
Kod
#define OFLAG_SROOT (OFLAG_ROOTADMIN | OFLAG_GLOBAL | OFLAG_UMODEQ | OFLAG_DCCDENY)
EKLEYIN,
-
BULUN,
Kod
#define OPIsNetAdmin(x) ((x)->oflag & OFLAG_NETADMIN)
ÜSTÜNE,
Kod
#define OPIsRootAdmin(x) ((x)->oflag & OFLAG_ROOTADMIN)
EKLEYIN,
-
BULUN,
Kod
#define OPSSetNetAdmin(x) ((x)->oflag |= OFLAG_NETADMIN)
ÜSTÜNE,
Kod
#define OPSSetRootAdmin(x) ((x)->oflag |= OFLAG_ROOTADMIN)
EKLEYIN,
-
BULUN,
Kod
#define OPClearNetAdmin(x) ((x)->oflag &= ~OFLAG_NETADMIN)
ÜSTÜNE,
Kod
#define OPClearRootAdmin(x) ((x)->oflag &= ~OFLAG_ROOTADMIN)
EKLEYIN,
-
BULUN,
Kod
#define IsSkoAdmin(sptr) (IsAdmin(sptr) || IsNetAdmin(sptr) || IsSAdmin(sptr))
DEGISTIRIN,
Kod
#define IsSkoAdmin(sptr) (IsAdmin(sptr) || IsNetAdmin(sptr) || IsSAdmin(sptr) || IsRootAdmin(sptr))
Klasör: -> Unreal3.2/src/modules/
Dosya: -> (m_mode.c)
BULUN,
Kod
if (!IsAnOper(sptr) && !IsServer(cptr)) { sptr->umodes &= ~UMODE_WHOIS; ClearAdmin(sptr); ClearSAdmin(sptr); ClearNetAdmin(sptr); ClearHideOper(sptr); ClearCoAdmin(sptr); ClearHelpOp(sptr); ClearFailops(sptr); }
DEGISTIRIN,
Kod
if (!IsAnOper(sptr) && !IsServer(cptr)) { sptr->umodes &= ~UMODE_WHOIS; ClearAdmin(sptr); ClearSAdmin(sptr); ClearNetAdmin(sptr); ClearRootAdmin(sptr); ClearHideOper(sptr); ClearCoAdmin(sptr); ClearHelpOp(sptr); ClearFailops(sptr); }
BULUN,
Kod
if (MyClient(sptr)) { if (IsAnOper(sptr)) { if (IsAdmin(sptr) && !OPIsAdmin(sptr)) ClearAdmin(sptr); if (IsSAdmin(sptr) && !OPIsSAdmin(sptr)) ClearSAdmin(sptr); if (IsNetAdmin(sptr) && !OPIsNetAdmin(sptr)) ClearNetAdmin(sptr); if (IsCoAdmin(sptr) && !OPIsCoAdmin(sptr)) ClearCoAdmin(sptr); if (MyClient(sptr) && (sptr->umodes & UMODE_SECURE) && !IsSecure(sptr)) sptr->umodes &= ~UMODE_SECURE; }
DEGISTIRIN,
Kod
if (MyClient(sptr)) { if (IsAnOper(sptr)) { if (IsAdmin(sptr) && !OPIsAdmin(sptr)) ClearAdmin(sptr); if (IsSAdmin(sptr) && !OPIsSAdmin(sptr)) ClearSAdmin(sptr); if (IsNetAdmin(sptr) && !OPIsNetAdmin(sptr)) ClearNetAdmin(sptr); if (IsRootAdmin(sptr) && !OPIsRootAdmin(sptr)) ClearRootAdmin(sptr); if (IsCoAdmin(sptr) && !OPIsCoAdmin(sptr)) ClearCoAdmin(sptr); if (MyClient(sptr) && (sptr->umodes & UMODE_SECURE) && !IsSecure(sptr)) sptr->umodes &= ~UMODE_SECURE; }
Klasör: -> Unreal3.2/src/modules/
Dosya: -> (m_stats.c)
BULUN,
Kod
sendto_one(sptr, ":%s %i %s :hosts::netadmin: %s", me.name, RPL_TEXT, sptr->name, netadmin_host);
ÜSTÜNE,
Kod
sendto_one(sptr, ":%s %i %s :hosts::rootadmin: %s", me.name, RPL_TEXT, sptr->name, rootadmin_host);
EKLEYIN,
-
Klasör: -> Unreal3.2/src/modules/
Dosya: -> (m_svso.c)
BULUN,
Kod
#define STAR1 OFLAG_SADMIN|OFLAG_ADMIN|OFLAG_NETADMIN|OFLAG_COADMIN
DEGISTIRIN,
Kod
#define STAR1 OFLAG_SADMIN|OFLAG_ADMIN|OFLAG_NETADMIN|OFLAG_COADMIN|OFLAG_ROOTADMIN
BULUN,
Kod
OFLAG_NETADMIN, 'N',
ÜSTÜNE,
Kod
OFLAG_ROOTADMIN, 'U',
EKLEYIN,
-
BULUN,
Kod
~(UMODE_NETADMIN | UMODE_WHOIS);
DEGISTIRIN,
Kod
~(UMODE_NETADMIN | UMODE_ROOTADMIN | UMODE_WHOIS);
Klasör: -> Unreal3.2/src/modules/
Dosya: -> (m_whois.c)
BULUN,
Kod
if (IsNetAdmin(acptr)) strlcat(buf, "is a Network Administrator", sizeof buf); else if (IsSAdmin(acptr)) strlcat(buf, "is a Services Administrator", sizeof buf); else if (IsAdmin(acptr) && !IsCoAdmin(acptr)) strlcat(buf, "is a Server Administrator", sizeof buf); else if (IsCoAdmin(acptr)) strlcat(buf, "is a Co Administrator", sizeof buf); else if (IsServices(acptr)) strlcat(buf, "is a Network Service", sizeof buf); else if (IsOper(acptr)) strlcat(buf, "an IRC Operator", sizeof buf);
DEGISTIRIN,
Kod
if (IsRootAdmin(acptr)) strlcat(buf, "is a Root Administrator", sizeof buf); else if (IsNetAdmin(acptr)) strlcat(buf, "is a Network Administrator", sizeof buf); else if (IsSAdmin(acptr)) strlcat(buf, "is a Services Administrator", sizeof buf); else if (IsAdmin(acptr) && !IsCoAdmin(acptr)) strlcat(buf, "is a Server Administrator", sizeof buf); else if (IsCoAdmin(acptr)) strlcat(buf, "is a Co Administrator", sizeof buf); else if (IsServices(acptr)) strlcat(buf, "is a Network Service", sizeof buf); else if (IsOper(acptr)) strlcat(buf, "an IRC Operator", sizeof buf);
Klasör: -> Unreal3.2/src/modules/
Dosya: -> (webtv.c)
BULUN,
Kod
if (IsNetAdmin(acptr)) strcat(buf, "a Network Administrator"); else if (IsSAdmin(acptr)) strcat(buf, "a Services Administrator"); else if (IsAdmin(acptr) && !IsCoAdmin(acptr)) strcat(buf, "a Server Administrator"); else if (IsCoAdmin(acptr)) strcat(buf, "a Co Administrator"); else if (IsServices(acptr)) strcat(buf, "a Network Service"); else if (IsOper(acptr)) strcat(buf, "an IRC Operator");
DEGISTIRIN,
Kod
if (IsRootAdmin(acptr)) strcat(buf, "a Root Administrator"); else if (IsNetAdmin(acptr)) strcat(buf, "a Network Administrator"); else if (IsSAdmin(acptr)) strcat(buf, "a Services Administrator"); else if (IsAdmin(acptr) && !IsCoAdmin(acptr)) strcat(buf, "a Server Administrator"); else if (IsCoAdmin(acptr)) strcat(buf, "a Co Administrator"); else if (IsServices(acptr)) strcat(buf, "a Network Service"); else if (IsOper(acptr)) strcat(buf, "an IRC Operator");
Klasör: -> Unreal3.2/src/modules/
Dosya: -> (m_svsnoop.c)
BULUN,
Kod
UMODE_NETADMIN | UMODE_WHOIS | UMODE_KIX |
DEGISTIRIN,
Kod
UMODE_ROOTADMIN | UMODE_NETADMIN | UMODE_WHOIS | UMODE_KIX |
Klasör: -> Unreal3.2/src/modules/
Dosya: -> (m_who.c)
BULUN,
Kod
*umodes = *umodes & (UMODE_OPER | UMODE_LOCOP | UMODE_SADMIN | UMODE_ADMIN | UMODE_COADMIN | UMODE_NETADMIN | UMODE_BOT);
4DEGISTIRIN,
Kod
*umodes = *umodes & (UMODE_OPER | UMODE_LOCOP | UMODE_SADMIN | UMODE_ADMIN | UMODE_COADMIN | UMODE_NETADMIN | UMODE_ROOTADMIN | UMODE_BOT);
4Klasör: -> Unreal3.2/src/modules/
Dosya: -> (m_oper.c)
BULUN,
Kod
oper_oflags[0].oflag = OFLAG_NETADMIN; oper_oflags[0].umode = &UMODE_NETADMIN; oper_oflags[0].host = &netadmin_host; oper_oflags[0].announce = "is now a network administrator (N)"; oper_oflags[1].oflag = OFLAG_SADMIN; oper_oflags[1].umode = &UMODE_SADMIN; oper_oflags[1].host = &sadmin_host; oper_oflags[1].announce = "is now a services administrator (a)"; oper_oflags[2].oflag = OFLAG_ADMIN; oper_oflags[2].umode = &UMODE_ADMIN; oper_oflags[2].host = &admin_host; oper_oflags[2].announce = "is now a server admin (A)"; oper_oflags[3].oflag = OFLAG_COADMIN; oper_oflags[3].umode = &UMODE_COADMIN; oper_oflags[3].host = &coadmin_host; oper_oflags[3].announce = "is now a co administrator (C)"; oper_oflags[4].oflag = OFLAG_ISGLOBAL; oper_oflags[4].umode = &UMODE_OPER; oper_oflags[4].host = &oper_host; oper_oflags[4].announce = "is now an operator (O)"; oper_oflags[5].oflag = OFLAG_HELPOP; oper_oflags[5].umode = &UMODE_HELPOP; oper_oflags[5].host = NULL; oper_oflags[5].announce = NULL; oper_oflags[6].oflag= OFLAG_GLOBOP; oper_oflags[6].umode = &UMODE_FAILOP; oper_oflags[6].host = NULL; oper_oflags[6].announce = NULL; oper_oflags[7].oflag = OFLAG_WALLOP; oper_oflags[7].umode = &UMODE_WALLOP; oper_oflags[7].host = NULL; oper_oflags[7].announce = NULL; oper_oflags[8].oflag = OFLAG_WHOIS; oper_oflags[8].umode = &UMODE_WHOIS; oper_oflags[8].host = NULL; oper_oflags[8].announce = NULL; oper_oflags[9].oflag = 0; oper_oflags[9].umode = NULL; oper_oflags[9].host = NULL; oper_oflags[9].announce = NULL;
DEGISTIRIN,
Kod
oper_oflags[0].oflag = OFLAG_ROOTADMIN;oper_oflags[0].umode = &UMODE_ROOTADMIN;oper_oflags[0].host = &rootadmin_host;oper_oflags[0].announce = "is now a Root Administrator (U)";oper_oflags[1].oflag = OFLAG_NETADMIN;oper_oflags[1].umode = &UMODE_NETADMIN;oper_oflags[1].host = &netadmin_host;oper_oflags[1].announce = "is now a Network Administrator (N)";oper_oflags[2].oflag = OFLAG_SADMIN;oper_oflags[2].umode = &UMODE_SADMIN;oper_oflags[2].host = &sadmin_host;oper_oflags[2].announce = "is now a Services Administrator (a)";oper_oflags[3].oflag = OFLAG_ADMIN;oper_oflags[3].umode = &UMODE_ADMIN;oper_oflags[3].host = &admin_host;oper_oflags[3].announce = "is now a Server Administrator (A)";oper_oflags[4].oflag = OFLAG_COADMIN;oper_oflags[4].umode = &UMODE_COADMIN;oper_oflags[4].host = &coadmin_host;oper_oflags[4].announce = "is now a Co Administrator (C)";oper_oflags[5].oflag = OFLAG_ISGLOBAL;oper_oflags[5].umode = &UMODE_OPER;oper_oflags[5].host = &oper_host;oper_oflags[5].announce = "is now An Operator (O)";oper_oflags[6].oflag = OFLAG_HELPOP;oper_oflags[6].umode = &UMODE_HELPOP;oper_oflags[6].host = NULL;oper_oflags[6].announce = NULL;oper_oflags[7].oflag= OFLAG_GLOBOP;oper_oflags[7].umode = &UMODE_FAILOP;oper_oflags[7].host = NULL;oper_oflags[7].announce = NULL;oper_oflags[8].oflag = OFLAG_WALLOP;oper_oflags[8].umode = &UMODE_WALLOP;oper_oflags[8].host = NULL;oper_oflags[8].announce = NULL;oper_oflags[9].oflag = OFLAG_WHOIS;oper_oflags[9].umode = &UMODE_WHOIS;oper_oflags[9].host = NULL;oper_oflags[9].announce = NULL;oper_oflags[10].oflag = 0;oper_oflags[10].umode = NULL;oper_oflags[10].host = NULL;oper_oflags[10].announce = NULL;
Son olarak,
Klasör: -> Unreal3.2/
Dosya: -> (unrealircd.conf)
Kod
netadmin "netadmin.ircrehberi.net";
ÜSTÜNE,
Kod
rootadmin "rootadmin.ircrehberi.net";
EKLEYIN, ilgili alanda make ve make install ./unreal restart komutlarını uygulayın.
NOT: RootAdmin flagı ( U ) olup, N flagınıda beraberinde kullanabilirsiniz..
