From: Stefan Schantl Date: Wed, 18 Mar 2009 15:51:45 +0000 (+0100) Subject: Added new package miau X-Git-Tag: v2.5-beta1~101 X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=commitdiff_plain;h=791b22708cdc60bf9aeb22c8718016a22dbebd55;hp=c3647ad00a134e5b81cc6d269c1e69ff9c904b93 Added new package miau --- diff --git a/config/miau/miaurc b/config/miau/miaurc new file mode 100644 index 0000000000..9b4f04df9d --- /dev/null +++ b/config/miau/miaurc @@ -0,0 +1,743 @@ +# +# miau 0.6.2 configuration file example +# (C) 2003-2006 Tommi Saviranta +# + +# About structure of this configuration file: +# +# - All parameters are written inside quotes (for example, "foobar") +# +# - Options are defined like: option = "parameter1"[:"parameter2"] ... +# +# - When entering multiparameter options, certain parameters have default +# values and can be left out. +# +# - When entering multiparameter options and, for example, user doesn't want +# to set parameter2 at all but he needs to set parameter3, parameter2 can +# be skipped with column (':') like: "parameter1"::"parameter3". +# +# - Empty lines and characters after '#' (hash) are ignored. +# +# - When setting permissions, switched etc. (switches (booleans) are described +# as "state"), everything beginning with "t", "r" and "1" are concidered as +# "true" or "yes" (positive). Everything else is "false" or "no" (negative). + + + +# Required settings +################################################################################ + + +# nicknames = { "nick" }: Your nickname (and secondary nicknames) on IRC. +# +# If the primary nick (first nick on the list) is already on use, miau will try +# the others on the list. +# +# Default: no default +# +# Example: +#nicknames = { +# "zak" +# "zakh" +#} +nicknames = { + "miau_bnc_on_ipfire" + "miau_bnc_on_ipfire_" + "miau_bnc_on_ipfire__" +} + + +# realname = "realname": Your "real" name on IRC. +# +# Default: no default +# +# Example: +#realname = "Prokhor Zakharov" +realname = "miau_bnc_on_ipfire" + + +# username = "username": Your username. +# +# Your ident, matters only if you don't have identd running. +# +# Default: no default +# +# Example: +#username = "zak" + +username = "miau_bnc_on_ipfire" + +# password = "password": The password miau will expect to receive from client +# when it's registering with nick. +# +# If this is 13 characters long, miau assumed it's crypted. +# +# If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes +# (from command line) with -c -switch. +# +# Default: no default +# +# Example: +#password = "foobar" +password = "password" + + +# listenport = "port": The port miau will wait for incoming connections. +# +# Default: no default +# +# Example: +listenport = "4096" + + +# servers = { "server":"port":"password":"timeout" }: miau's IRC-server-list. +# +# Each line represents one server, where timeout is delay in seconds before +# connectiong attempt times out. Only "server" parameter is required. +# +# Default: no default +# +# Example: +#servers = { +# "irc.net" +# "irc.foo.bar":"6662" +# "localhost"::"foobar" +# "127.0.0.1":"6670"::"5" +#} +servers = { + "irc.freenode.net" +} + + +# connhosts = { "host":"permitted" }: List of hosts that are allowed (or denied) +# to connect to miau. +# +# When boolean-value is left unset, it is assumed to be "true". This list will +# be processed as a chain which means latter rules can override previous ones. +# +# Default: no default +# +# Example: +#connhosts = { +# "*":"yes" +# "client*.evil.net":"no" +#} +connhosts = { +# "192.168.1.*":"yes" + "*":"yes" +} + + + +# Optional settings +################################################################################ + + +# statelog = "state": Should miau write state log. +# +# When true, log will be written to "$MIAUDIR/log". If set to false, the same +# stuff is printed on stdout (on terminal). +# +# Default: true +# +# Example: +#statelog = "false" + + +# listenhost = "host": Host miau uses to listen on. +# +# If you are compiled with IPV6 and need this to listen on an IPV4 port, you +# must use an IP in the form ::FFFF:127.0.0.1 +# +# Default: no default +# +# Example: +listenhost = "0.0.0.0" + + +# floodtimer = "number": Time it takes to send one message. +# +# When configuring flood-protection, this variable defined how fast you can +# send messages; how many seconds sending one message takes. See also burstsize. +# +# Default: 2 +# +# Example +#floodtimer = "1" + + +# burstsize = "number": How manu messages can be sent at once. +# +# When onfiguring flood-protection, this variable defined how many messages +# can be sent at once (in a burst). See also floodtimer. +# +# Default: 5 +# +# Example: +#burstsize = "5" + + +# jointries = "number": Number of tries to join channel after dropping from +# server etc. miau tries to join channels once a minute. +# +# Default: 30 +# +# Example: +#jointries = "1440" + + +# bind = "host": Host/IP miau uses for outgoing connections. +# +# Default: none +# +# Example: +#bind = "172.16.1.1" + + +# maxclients = "number": Maximum number of clients connected to miau +# concurrently. +# +# Set to zero for unlimited clients. +# +# Default: 3 +# +#Example: +#maxclients = "1" + + +# stonedtimeout = "seconds": Time (in seconds) with no data from the server +# before it is declared stoned and being disconnected. +# +# Although minimum value is 30, this value has no upper limit. Watch out, +# though, if this value is set too high, death of servers may stay undetected +# for a very long time if you are idle. +# +# Default: 90 +# +# Example: +#stonedtimeout = "150" + + +# connecttimeout = "seconds": Time (in seconds) before connection attampt will +# time out. +# +# Note that while connecting to the server miau will not respond to clients. +# Minimum value is 5, and many systems define maximum value. +# +# Default: 30 +# +# Example: +#connecttimeout = "60" + + +# channels = { "channel":"keyword" }: List of channels to join. +# +# Default: none +# +# Example: +#channels = { +# "#lugop" +#} +channels = { + "#ipfire" +} + +# rejoin = "state": Rejoin channels after disconnecting from the server. +# +# If rejoin is set to true, channels defined in "channels" are also joined when +# client first time connects to miau. +# +# Default: true +# +# Example: +#rejoin = "false" + + +# leave = "state": Leave channels when all clients have detached from miau. +# +# If "leave" is set to "false" and "rejoin" is set to "true", channels defined +# at "channels" will be joined at miau startup. If both "leave" and "rejoin" +# is set to "true", channels that are left at client detach, are rejoined when +# client attached back to miau. +# +# Default: false +# +# Example: +#leave = "false" + + +# leavemsg = "message": Message miau will either use as PART-message or as an +# ACTION when all clients have detached from miau. +# +# If unset or set to empty, no message will be shown. Note that many people +# dislike event-based messages (which happens when "leave" is set to "false" +# and "leavemsg" is set). Also see usequitmsg. +# +# Note: Note that commenting this option out and rehashing after leavemsg was +# set, this option is _not_ reverted. To disable leavemsg afterwards you +# need to write an empty string here and rehash. +# +# Default: none +# +# Example: +#leavemsg = "doh" + + +# awaymsg = "message": Text that will be set to miau's away-reason when all +# clients have detached from miau. +# +# If unset or set to empty, AWAY-status will be left untouched. When any client +# attaches back to miau, AWAY-status will be reset. Also see usequitmsg. +# +# Note: If user sets him/herself away, miau will not touch away-status nor +# message neither when connecting to or disconnecting from miau. +# +# Note: Note that commenting this option out and rehashing after awaymsg was +# set, this option is _not_ reverted. To disable awaymsg afterwards you +# need to write an empty string here and rehash. +# +# Default: none +# +# Example: +#awaymsg = "bouncing around - all private messages will be logged" + + +# usequitmsg = "state": Use last quit-reason as away-reason and/or leave-message +# (if respective options are enabled) when all clients have +# disconnected from miau. +# +# If quit-reason is empty, default values of awaymsg and leavemsg will be used, +# otherwise most recent quit-message overrides values in miaurc. +# +# Default: true +# +# Example: +# usequitmsg = "false" + + +# autoaway = "selection": miau can set user away automatically. +# +# This option allows to define when to do that. This option may be one of the +# following: "never", "detach", "noclients". +# +# never: never set user away +# detach: set user away when any of the clients disconnects +# noclients: set user away when the last client disconnects +# +# Default: detach +# +# Example: +#autoaway = "noclients" + + +# chandiscon = "selection": When miau is disconnected from the server e.g. +# because of network problem, miau can notify user about this in +# a couple of ways. +# +# nothing: only print server notice +# notice: send notice to each channel +# part: part each channel. mIRC users probably don't want to use this. +# privmsg: send a private message to the user +# +# Default: part +# +# Example: +#chandiscon = "notice" + + +# getnick = "selection": miau can try to reclaim your primary nick when it is +# lost. +# +# This option may be one of the following: "never", "detached", "attached", or +# "always". +# +# never miau will not try to get your nick back +# detached miau will try to get your nick when no clients are attached +# attached miau will try to get your nick when there are one or more +# clients attached +# always miau will try to get your nick +# +# Note: Do _not_ use options "attached" and "always" with clients (like +# irc-II EPIC) that automatically change your nick when they receive +# NICKINUSE from the server - you might end up chaning your nick until +# server drops your connection due excess flood. +# +# Note: If you issue "/nick not-primary-nick", miau will start trying to get +# your primary nick back. +# +# Default: detached +# +# Example: +getnick = "always" + + +# getnickinterval = "seconds": Time between tries (in seconds) to obtain +# currently (possibly) lost primary nick. +# +# Don't set it too low or you might get kicked out the server due to excess +# flood. +# +# Default: 60 +# +# Example: +#getnickinterval = "30" + + +# antiidle = "minutes": Time between idle-timer resets in minutes. Set to 0 to +# disable. +# +# Default: 0 +# +# Example: +#antiidle = "300" + + +# qloglength = "minutes": Age of oldest line in quicklog in minutes. Set to zero +# to disable quicklog. +# +# This option might not be compiled in. +# +# Default: 30 +# +# Example: +qloglength = "60" + + +# timestamp = "option": Location of timestamp in quicklog events. +# +# This option may be one of the following "beginning", "end", or "none". +# +# This option might not be compiled in. +# +# Default: none +# +# Example: +#timestamp = "beginning" + + +# flushqlog = "state": Erase quicklog when quicklog is replayed. +# +# If set to true, quicklog will be written only when no clients are connected +# and quicklog will be erased when client connects to miau. If you are running +# a single client, you probably want to leave this to "false. +# +# This option might not be compiled in. +# +# Default: true +# +# Example: +#flushqlog = "true" + + +# autoqlog = "minutes": Automatically replay number of minutes of quiclog on +# attach. +# +# This option might not be compiled in. +# +# Default: 30 +# +# Example: +#autoqlog = "30" + + +# inbox = "state": Enables logging private messages when no clients are +# connected to miau. +# +# This option might not be compiled in. +# +# Default: true +# +# Example: +#inbox = "true" + + +# nevergiveup = "state": Don't die when miau runs out of working servers. +# +# If set to true, miau will reset "working"-status of servers to working when +# all are set to dysfunctional. Respectively, if set to false, miau will quit +# when all servers on the list have been set to dysfunctional. +# +# Default: true +# +# Example: +#nevergiveup = "false" + + +# norestricted = "state": Don't join servers where you get "+r". +# +# If set to true, miau will not stay on server that forces user to have +# restricted-status (+r). +# +# Default: true +# +# Example: +#norestricted = "false" + + +# reconnectdelay = "seconds": Time (in seconds) between connection attempts. +# +# Minumun value is set to 1. +# +# Default: 10 +# +# Example: +#reconnectdelay = "30" + + +# nickfillchar = "fill character": Fill nick with this character when unique +# nick is required. +# +# Character used to modify your primary nick when all defined nicks are already +# occupied. Note character is a single octet (byte) and if longer string is +# fed, only the first character is used. +# +# Example: When nickfillchar is set to '_', primary nick is "zak" and all +# defined nicks are occupied, next nicks tried are "zak_", "zak__", +# "zak___" and so on. When nick has grown too long, it will be shifted +# one characted to right (where shift is cyclic) - this means +# "zak______" will become "_zak_____", which, again, will become +# "__zak____". +# +# Default: _ +# +# Example: +#nickfillchar = "^" + + +# maxnicklen = "length": Maximum nick length, used with nickfillchar. +# +# Default: 9 +# +# Example: +#maxnicklen = "11" + + +# usermode = "usermode(s)": Usermode. +# +# Usermode that miau will request (if no clients are attached at the moment) +# from the server when connection to the server is established. Leave unset or +# set to empty to disable this feature. +# +# Default: none +# +# Example: +#usermode = "+i" + + +# forwardmsg = "command": Commands to pipe private messages to. +# +# miau can collect the (private) messages within specified time (see +# forwardtime) and pipe them into the program specified. Leave this unset or +# set to empty to disable this feature. +# +# Default: none +# +# Example: +#forwardmsg = "mail user@host" + + +# forwardtime = "seconds": Time between sending stuff in forwardmsg queue. +# +# Time in seconds after first inserted line into forwardmsg queue before +# piping the stuff out. +# +# Default: 180 +# +# Example: +#forwardtime = "3600" + + +# ignore = { "mask":"ignored" }: Ignored users. +# +# List of users whose private messages (PRIVMSG) and noticies (NOTICE) are +# ignored when no clients are attached to miau. When "ignored" is left +# undefined, it is assumed to be "true". Setting "ignored" to "false" means +# that this user will _not_ be ignored. This list is processed as a chain. +# +# Default: none +# +# Example: +#ignore = { +# "*@localhost":"yes" +# "zak*":"no" +#} + + +# privlog = "mode": Log private messages. +# +# Whatever private messages should be logged in nick-specific files. Can be one +# of "never", "detached", "attached", and "always". +# +# This option might not be compiled in. +# +# Default: never +# +# Example: +privlog = "always" + + +# chanlog = { "channel(s)":"options":"logfile" }: List of channel logfiles. +# +# When channel is set to "*", line represents global log. When logging, +# if channel doesn't have entry of it's own in this list, it will use settings +# of global log and write log to it's own file. When defining global log, +# "logfile" is ignored. Each line can have multiple channels +# (like "#foobar,#miau"). +# +# If logfile is left undefined, logfile will be named after the channel with +# possible suffix (see logsuffix). All lofiles are written in miau's work +# directory. +# +# Options consist of abritary set of following possibilities: +# j: log joins +# e: log parts (exits) +# q: log quits +# m: log messages (privmsg/notice) +# c: log mode changes (changes) +# n: log nick changes +# o: log misc events (other) +# b: log messages from miau (bouncer) +# a: log all of above +# A: log when a client is attached +# D: log when a client is detached +# C: log continuously (status of clients doesn't matter) +# +# Note that all channelless messages (such as QUIT) are logged on every active +# channel. This is a feature, not a bug. +# +# This option might not be compiled in. +# +# Default: none +# +# Example: +chanlog = { + "#epel":"a":"epel.log" # log everything on #foobar + "#lugop":"a":"lugop.log" # log everything on #foobar +# "#miau":"aD":"foo.log" # log everything to file "foo.log" when +# all clients are detached +# "*":"mjeq" # log only messages, joins, parts and quits +# by default +#} + + +# logsuffix = "suffix": Suffix for logfiles. +# +# When writing log to undefined logfile, each logfile consists of channel name +# followed by suffix. Suffix can be defined here. +# +# This option might not be compiled in. +# +# Default: no suffix +# +# Example: +#logsuffix = ".log" + + +# onconnect = { "mode":"target/data"(:"data") }: Commands to write at server +# connect. +# +# When miau connects and registers user to server, miau can send pre-defined +# messages. User can define miau to send normal messages (PRIVMSG), notices +# (NOTICE) or arbitrary messages. +# +# Mode can be one of the following: +# p: private message (PRIVMSG). +# n: notice (NOTICE). Should be used with services and automatons, but +# unfortunately some network services can't cope with notices. +# r: "raw" message. This means user must provide complete message to send +# to the server. Using raw message user has complete control over what +# is being sent. If you don't know what this is, you don't need this. +# When using modes "p" or "n", user must provide both message and target where +# as with raw messages only one parameter in addition to type should be given. +# +# This option might not be compiled in. +# +# Default: none +# +# Example: +onconnect = { + "p":"nickserv":"identify password" +# "n":"nickserv@services.host.net":"id raboof" +# "r":"OPER foo bar" +} + + +# automodes = { "mask":"privilegded" }: List of people who are automatically +# given certain privilege on channel. +# +# Mask is given in form of "mode:nick!username@host/#channel" (where "mode" is +# a single character) and list is processed as a chain. +# +# This option might not be compiled in. +# +# Default: none +# +# Example: +#automodes = { +# "o:zak*!zak@client*-myisp.com/#channel":"yes" +# "o:zak*!*@evil.impersonator.net/#foobar":"no" +# "v:newbie*!*@ircnet.com/#newbie":"yes" +#} + + +# automodedelay = "seconds": Time (in seconds) after first queued mode change +# would take effect. +# +# During this period of time miau can collect more than one mode change and +# commit up to three at a time. Other situation reasonaly big value (like 30) +# here could prove useful is channel where there are stupid "auto-oping" bots. +# (Stupid bots do mode changes even if someone else did that already.) +# +# This option might not be compiled in. +# +# Default: 30 +# +# Example: +#automodedelay = "60" + + +# cmdpasswd = "password": Password for remote commands. +# +# Please ignore this options. +# +# If this is 13 characters long, miau assumes it's crypted. Comment this out or +# leave it empty to disable remote commands. When sending miau a remote +# command, password _always_ begins with column (':') (if cmdpasswd is set to +# "foobar" (or hash of it), you need to send miau a message beginning with +# ":foobar" to issue a remote command). +# +# This feature might not be compiled in. +# +# If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes +# (from command line) with -c -switch. +# +# Default: disabled +# +# Example: +#cmdpasswd = "" + + +# dccbounce = "state": Bounce DDCs. +# +# miau can bounce DCCs. Set to true to enable bouncing. You probably don't +# need this. +# +# This option might not be compiled in. +# +# Default: false +# +# Example: +#dccbounce = "true" + + +# dccbindhost = "host": IP to bind for DDC bounce. +# +# If miau has separate IPs for IRC-network and clients, you should enter IP for +# clients here. +# +# This option might not be compiled in. +# +# Default: no default +# +# Example: +#dccbindhost = "10.0.0.1" diff --git a/config/rootfiles/packages/miau b/config/rootfiles/packages/miau new file mode 100644 index 0000000000..d3b895776d --- /dev/null +++ b/config/rootfiles/packages/miau @@ -0,0 +1,17 @@ +/opt/miau +/opt/miau/bin +/opt/miau/bin/miau +#opt/miau/bin/miau-check +/opt/miau/config +/opt/miau/config/miaurc +#opt/miau/share +#opt/miau/share/doc +#opt/miau/share/doc/miau +#opt/miau/share/doc/miau/examples +#opt/miau/share/doc/miau/examples/miaurc +#opt/miau/share/info +#opt/miau/share/info/dir +#opt/miau/share/info/miau.info +#opt/miau/share/man +#opt/miau/share/man/man1 +#opt/miau/share/man/man1/miau.1 diff --git a/doc/packages-list.txt b/doc/packages-list.txt index 9c18a31303..5792d43d8b 100644 --- a/doc/packages-list.txt +++ b/doc/packages-list.txt @@ -194,6 +194,7 @@ * mc-4.6.1 * mechanize-0.1.8 * memtest86+-1.65 +* miau-0.6.5 * misc-progs * mkinitcpio-0.5.9 * mktemp-1.5 diff --git a/lfs/miau b/lfs/miau new file mode 100644 index 0000000000..1a19cb327a --- /dev/null +++ b/lfs/miau @@ -0,0 +1,94 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2009 Michael Tremer & Christian Schmidt # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.6.5 + +THISAPP = miau-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = miau +PAK_VER = 1 +CFLAGS = +CXXFLAGS = + +DEPS = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 76f794889d47ad277c25e9c5bbddefa4 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/opt/miau + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + mkdir /opt/miau/config + install -v -m 644 $(DIR_SRC)/config/miau/miaurc \ + /opt/miau/config/miaurc + install -v -m 754 $(DIR_SRC)/src/initscripts/init.d/miau \ + /etc/init.d/miau + ln -sf ../init.d/miau /etc/rc.d/rc3.d/S60miau + ln -sf ../init.d/miau /etc/rc.d/rc0.d/K40miau + ln -sf ../init.d/miau /etc/rc.d/rc6.d/K40miau + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index e952b085ee..d454a6cc5d 100755 --- a/make.sh +++ b/make.sh @@ -592,6 +592,7 @@ buildipfire() { ipfiremake sslh ipfiremake perl-gettext ipfiremake vdradmin + ipfiremake miau echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild echo >> $BASEDIR/build/var/ipfire/firebuild diff --git a/src/initscripts/init.d/miau b/src/initscripts/init.d/miau new file mode 100755 index 0000000000..4e083ae53a --- /dev/null +++ b/src/initscripts/init.d/miau @@ -0,0 +1,45 @@ +#!/bin/sh +######################################################################## +# Begin $rc_base/init.d/miau +# +# Description : This is a script that starts miau as deamon +# +# Authors : Schantl Stefan (Stevee@ipfire.org) +# +# Version : 01.00 +# +# Notes : +# +######################################################################## + +. /etc/sysconfig/rc +. ${rc_functions} + +case "${1}" in + start) + boot_mesg "Starting miau - another IRC-bouncer/proxy..." + loadproc /opt/miau/bin/miau -d /opt/miau/config + ;; + + stop) + boot_mesg "Stopping miau - another IRC-bouncer/proxy..." + killproc /opt/miau/bin/miau + ;; + + restart) + ${0} stop + sleep 1 + ${0} start + ;; + + status) + statusproc /opt/miau/bin/miau + ;; + + *) + echo "Usage: ${0} {start|stop|restart|status}" + exit 1 + ;; +esac + +# End $rc_base/init.d/miau