Anonymous avatar Anonymous committed 4f8eddb Merge

Automated merge with ssh://hg.atheme.org//hg/charybdis

Comments (0)

Files changed (8)

 47f12ac9988a5face261827531851051af48968f charybdis-3.0.0-beta1
+7aef7b002131a0e536913663dd814c0b28bbfc33 charybdis-3.0.0-rc1
   [?] somehow hide channel operators like ircnet can do?
   [x] merge m_join.c and m_sjoin.c in one module (same functions, done in ratbox3)
   [x] create chmode.h and put there all declarations of chm_* - this will make some modules clean
-[F] Move most use of server WALLOPS to a global mechanism.
-  [F] Add SNONOTICE protocol command (like in InspIRCd) to broadcast to a specific SNOMASK.
-      (Using ENCAP?)
-  [F] Adopt commands to this framework.
+[?] Move oper override server WALLOPS to global server notices?
 

doc/sgml/oper-guide/commands.sgml

 	</para>
       </sect2>
       <sect2>
+	<title>PRIVS</title>
+	<cmdsynopsis>
+	  <command>PRIVS</command>
+	  <arg><replaceable>nick</replaceable></arg>
+	</cmdsynopsis>
+	<para>
+	  Displays effective operator privileges for
+	  the specified nick, or for yourself if no nick is
+	  given. This includes all privileges from the operator
+	  block, the name of the operator block and those
+	  privileges from the auth block that have an effect
+	  after the initial connection.
+	</para>
+	<para>
+	  The exact output depends on the server the nick is on,
+	  see the matching version of this document.
+	  If the remote server does not support this extension, you will not
+	  receive a reply.
+	</para>
+      </sect2>
+      <sect2>
         <title>MASKTRACE</title>
         <cmdsynopsis>
           <command>MASKTRACE</command>

doc/sgml/oper-guide/oprivs.sgml

       <sect2>
 	<title>remoteban (B), set remote bans</title>
 	<para>
-	  This grants the ability to use the ON argument on KLINE/XLINE/RESV
-	  and UNKLINE/UNXLINE/UNRESV to set and unset bans on other servers,
-	  and the server argument on REHASH.
+	  This grants the ability to use the ON argument on
+	  DLINE/KLINE/XLINE/RESV and UNDLINE/UNKLINE/UNXLINE/UNRESV to set
+	  and unset bans on other servers, and the server argument on REHASH.
 	  This is only allowed if the oper may perform the action locally,
 	  and if the remote server has a shared{} block.
 	</para>
 	</para>
       </sect2>
       <sect2>
-	<title>unkline (U), unkline</title>
+	<title>unkline (U), unkline and undline</title>
 	<para>
 	  Allows using UNKLINE and UNDLINE.
 	</para>
 privileges from the auth block that have an effect
 after the initial connection.
 
-If the server the nick is on does not support this
-extension, you will not receive a reply.
+The exact format depends on the server the nick is on;
+if it does not support this extension, you will not
+receive a reply.

modules/m_dline.c

 
 	if(parc >= loc+2 && !irccmp(parv[loc], "ON"))
  	{
+		if(!IsOperRemoteBan(source_p))
+		{
+			sendto_one(source_p, form_str(ERR_NOPRIVS),
+				me.name, source_p->name, "remoteban");
+			return 0;
+		}
+
 		target_server = parv[loc+1];
 		loc += 2;
 	}
 
 	if(parc >= 4 && !irccmp(parv[2], "ON"))
 	{
+		if(!IsOperRemoteBan(source_p))
+		{
+			sendto_one(source_p, form_str(ERR_NOPRIVS),
+				me.name, source_p->name, "remoteban");
+			return 0;
+		}
+
 		target_server = parv[3];
 		sendto_match_servs(source_p, target_server,
 				CAP_ENCAP, NOCAPS,

scripts/application.sh

+#!/bin/sh
+# application.sh: Special package building rules for charybdis.
+#
+# Copyright (c) 2007-2008 atheme.org
+#
+# Permission to use, copy, modify, and/or distribute this software for
+# any purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+if [ "x$TIP" = "x" ]; then
+	echo "Please don't run me directly."
+	exit
+fi
+
+# Charybdis wants the hg tip to be in include/serno.h, in its own format.
+MYTIP=`hg parents --template '#date|shortdate#_#node|short#' 2>/dev/null | sed -e s/-//g -e s/_/-/`
+echo "[atheme-services] Generating include/serno.h for tip $MYTIP."
+cat << _EOF_ > include/serno.h
+/* Generated automatically by makepackage. Any changes made here will be lost. */
+#define SERNO "$MYTIP"
+_EOF_

scripts/makerelease.sh

+#!/bin/sh
+# mkrelease.sh: Creates a release suitable for distfiles.atheme.org.
+#
+# Copyright (c) 2007 atheme.org
+#
+# Permission to use, copy, modify, and/or distribute this software for
+# any purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+if [ "x$1" = "x" ]; then
+	echo "usage: $0 releasename [--automatic]"
+	exit
+else
+	RELEASENAME="$1"
+fi
+
+if [ "x$2" = "x--automatic" ]; then
+	AUTOMATIC="yes"
+fi
+
+TIP=`hg tip --template "#rev#:#node|short#"`
+
+WRKDIR=`pwd`
+
+if [ -d $RELEASENAME ]; then
+	echo "Deleting previous release named $RELEASENAME."
+	rm -rf $WRKDIR/$RELEASENAME/
+fi
+
+echo "Making release named $RELEASENAME (tip $TIP)"
+
+echo
+echo "Building root: $RELEASENAME/"
+hg archive $RELEASENAME
+cd $RELEASENAME
+sh autogen.sh
+rm -rf autogen.sh autom4te.cache
+
+# Run application specific instructions here.
+if [ -x "$WRKDIR/application.sh" ]; then
+	. $WRKDIR/application.sh
+fi
+
+cd ..
+
+echo "Building $RELEASENAME.tgz from $RELEASENAME/"
+tar zcf $RELEASENAME.tgz $RELEASENAME/
+
+echo "Building $RELEASENAME.tbz2 from $RELEASENAME/"
+tar jcf $RELEASENAME.tbz2 $RELEASENAME/
+
+PUBLISH="yes"
+
+ok="0"
+if [ "x$AUTOMATIC" != "xyes" ]; then
+	echo
+	echo "Would you like to publish these releases now?"
+	while [ $ok -eq 0 ]; do
+		echo -n "[$PUBLISH] "
+
+		read INPUT
+		case $INPUT in
+			[Yy]*)
+				PUBLISH="yes"
+				ok=1
+				;;
+			[Nn]*)
+				PUBLISH="no"
+				ok=1
+				;;
+		esac
+	done
+fi
+
+if [ "x$PUBLISH" = "xyes" ]; then
+	scp $RELEASENAME.tgz distfiles-master.atheme.org:/srv/distfiles
+	scp $RELEASENAME.tbz2 distfiles-master.atheme.org:/srv/distfiles
+
+	echo
+	echo "The releases have been published, and will be available to the entire"
+	echo "distribution network within 15 minutes."
+fi
+
+echo
+echo "Done. If you have any bugs to report, report them against"
+echo "the distfiles.atheme.org component at http://bugzilla.atheme.org"
+echo "Thanks!"
+echo
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.