Allow ircd.conf to control the list_chan privilege.
authorMichael Poole <mdpoole@troilus.org>
Thu, 8 Jun 2006 02:11:21 +0000 (02:11 +0000)
committerMichael Poole <mdpoole@troilus.org>
Thu, 8 Jun 2006 02:11:21 +0000 (02:11 +0000)
git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/branches/u2_10_12_branch@1664 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
doc/example.conf
ircd/ircd_lexer.l
ircd/ircd_parser.y

index b6b666f34b0bf790e789b87280aeadcec97843a8..ab4289430419d7bca7bb14669e75a7cbf054e0a4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-06-07  Michael Poole <mdpoole@troilus.org>
+
+       * doc/example.conf: Document the list_chan privilege.
+
+       * ircd/ircd_lexer.l: Recognize the token.
+
+       * ircd/ircd_parser.y: Treat it appropriately.
+
 2006-06-07  Michael Poole <mdpoole@troilus.org>
 
        * ircd/s_auth.c (auth_ping_timeout): If the client never had an
index 8e61aadb649ca1b25bea7e18847766ed5f43a0c9..cbb4d7e4539d4353cd3b9a299cfc3a11776f4397 100644 (file)
@@ -202,6 +202,7 @@ Class {
  # local_gline (can set a G-line for this server only)
  # local_badchan (can set a Gchan for this server only)
  # see_chan (can see users in +s channels in /WHO)
+ # list_chan (can see +s channels with /LIST S)
  # wide_gline (can use ! to force a wide G-line)
  # see_opers (can see opers without DISPLAY privilege)
  # local_opmode (can use OPMODE/CLEARMODE on local channels)
index 4ec8a67cbb66cad9405bc664b36b071289ff2107..d2e2443de50d17bf132ffd33ac72a6863100e3fb 100644 (file)
@@ -119,6 +119,7 @@ static struct lexer_token {
   { "gline", TPRIV_GLINE },
   { "kb", KBYTES },
   { "kilobytes", KBYTES },
+  { "list_chan", TPRIV_LIST_CHAN },
   { "local_badchan", TPRIV_LOCAL_BADCHAN },
   { "local_gline", TPRIV_LOCAL_GLINE },
   { "local_jupe", TPRIV_LOCAL_JUPE },
index 758e080a5b4f3e3d89818bf854ca70d4a1914d1d..3ec3bf100f4ce18decdee0712f5a01a5ecf83811 100644 (file)
@@ -165,6 +165,7 @@ static void parse_error(char *pattern,...) {
 %token TPRIV_SEE_CHAN TPRIV_SHOW_INVIS TPRIV_SHOW_ALL_INVIS TPRIV_PROPAGATE
 %token TPRIV_UNLIMIT_QUERY TPRIV_DISPLAY TPRIV_SEE_OPERS TPRIV_WIDE_GLINE
 %token TPRIV_FORCE_OPMODE TPRIV_FORCE_LOCAL_OPMODE TPRIV_APASS_OPMODE
+%token TPRIV_LIST_CHAN
 /* and some types... */
 %type <num> sizespec
 %type <num> timespec timefactor factoredtimes factoredtime
@@ -616,6 +617,7 @@ privtype: TPRIV_CHAN_LIMIT { $$ = PRIV_CHAN_LIMIT; } |
           TPRIV_DISPLAY { $$ = PRIV_DISPLAY; } |
           TPRIV_SEE_OPERS { $$ = PRIV_SEE_OPERS; } |
           TPRIV_WIDE_GLINE { $$ = PRIV_WIDE_GLINE; } |
+          TPRIV_LIST_CHAN { $$ = PRIV_LIST_CHAN; } |
           LOCAL { $$ = PRIV_PROPAGATE; invert = 1; } |
           TPRIV_FORCE_OPMODE { $$ = PRIV_FORCE_OPMODE; } |
           TPRIV_FORCE_LOCAL_OPMODE { $$ = PRIV_FORCE_LOCAL_OPMODE; } |