From 4d967e4b6573a0f5108874334a5c2169118cf735 Mon Sep 17 00:00:00 2001 From: René 'Necoro' Neumann Date: Mon, 4 Apr 2011 19:47:46 +0200 Subject: Spectrum --- .../files/spectrum-1.4.7_remoteroster.patch | 32 +++++ net-im/spectrum/files/spectrum.cfg | 151 +++++++++++++++++++++ net-im/spectrum/files/spectrum.initd | 29 ++++ net-im/spectrum/files/spectrum.symlink.cfg | 151 +++++++++++++++++++++ 4 files changed, 363 insertions(+) create mode 100644 net-im/spectrum/files/spectrum-1.4.7_remoteroster.patch create mode 100644 net-im/spectrum/files/spectrum.cfg create mode 100644 net-im/spectrum/files/spectrum.initd create mode 100644 net-im/spectrum/files/spectrum.symlink.cfg (limited to 'net-im/spectrum/files') diff --git a/net-im/spectrum/files/spectrum-1.4.7_remoteroster.patch b/net-im/spectrum/files/spectrum-1.4.7_remoteroster.patch new file mode 100644 index 0000000..bd35d60 --- /dev/null +++ b/net-im/spectrum/files/spectrum-1.4.7_remoteroster.patch @@ -0,0 +1,32 @@ +diff --git a/src/spectrumbuddy.cpp b/src/spectrumbuddy.cpp +index 74d5194..910266c 100644 +--- a/src/spectrumbuddy.cpp ++++ b/src/spectrumbuddy.cpp +@@ -36,10 +36,10 @@ SpectrumBuddy::~SpectrumBuddy() { + + std::string SpectrumBuddy::getAlias() { + std::string alias; +- if (purple_buddy_get_server_alias(m_buddy)) +- alias = (std::string) purple_buddy_get_server_alias(m_buddy); +- else ++ if (purple_buddy_get_alias(m_buddy)) + alias = (std::string) purple_buddy_get_alias(m_buddy); ++ else ++ alias = (std::string) purple_buddy_get_server_alias(m_buddy); + return alias; + } + +diff --git a/src/sql.cpp b/src/sql.cpp +index 8fbc64a..70bf5db 100644 +--- a/src/sql.cpp ++++ b/src/sql.cpp +@@ -905,7 +905,8 @@ GHashTable *SQLClass::getBuddies(long userId, PurpleAccount *account) { + // create buddy + buddy = purple_buddy_new(account, buddyUins[k].c_str(), buddyNicknames[k].c_str()); + purple_blist_add_buddy(buddy, contact, g, NULL); +- Log("ADDING BUDDY", buddyIds[k] << " " << buddyUins[k] << " subscription: " << subscription << " " << buddy); ++ purple_blist_server_alias_buddy(buddy, buddyNicknames[k].c_str()); ++ Log("ADDING BUDDY", buddyIds[k] << " " << buddyUins[k] << " " << buddyNicknames[k] << " subscription: " << subscription << " " << buddy); + + // add settings + GHashTable *settings = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, (GDestroyNotify) purple_value_destroy); diff --git a/net-im/spectrum/files/spectrum.cfg b/net-im/spectrum/files/spectrum.cfg new file mode 100644 index 0000000..c512ef4 --- /dev/null +++ b/net-im/spectrum/files/spectrum.cfg @@ -0,0 +1,151 @@ +[service] +# enable this spectrum instance +enable=1 + +# one of: aim, facebook, gg, icq, irc, msn, myspace, qq, simple, xmpp, yahoo +protocol=S2P + +# component ip +server=127.0.0.1 + +# if use_proxy is 1, the http_proxy env var will be used as the proxy server +# for example export http_proxy="http://user:passwd@your.proxy.server:port/" +use_proxy=0 + +# component JID +jid=S2P.example.com + +# component secret +password=secret + +# component port +port=5347 + +config_interface = /var/run/spectrum/S2P.sock + +# IP:port where filetransfer proxy binds to. This has to be public IP. +#filetransfer_bind_address=192.0.2.1:12345 + +# IP:port which will be sent in filetransfer request as stream host. +#filetransfer_public_address=192.0.2.1:12345 + +# admin JIDs - Jabber IDs of transport administrators who have access to admin adhoc commands +# separated by semicolons +#admins=admin@example.com;foo@bar.cz + +# directory where downloaded files will be saved +filetransfer_cache=/var/lib/spectrum/S2P/filetransfer_cache + +# URL used to acces filestransfer_cache directory from the web. +filetransfer_web=http://example.com/files/ + +# name of transport (this will appear in service discovery) +name=My S2P Transport + +# default language +language=en + +# transport features separated by semicolons +# combination of: avatars, chatstate, filetransfer +# if commented, all features will be used +# This variable is DEPRECATED and will be removed in future versions. Use [features] instead. +#transport_features = avatars;chatstate;filetransfer + +# if vip_mode is 1, users are divided to 2 groups according to 'vip' database field +vip_mode=0 + +# if vip_mode is 1, you can set transport to be availabe only for VIP users by setting only_for_vip to 1. +only_for_vip=0 + +# if vip_mode is 1 and only_for_vip is 1, users can connect from these servers even they are not VIP. +# This feature is useful, if you want to enable transport only for users from your server, but also want +# to give access to VIP users from other servers (for example from GTalk) +# seperated by semicolons +#allowed_servers=localhost + +# transport features separated by semicolons which will be used for VIP users. +# combination of: avatars, chatstate, filetransfer +# if commented, all features will be used +# This variable is DEPRECATED and will be removed in future versions. Use [vip-features] instead. +#vip_features = avatars;chatstate;filetransfer + +# pid file +pid_file=/var/run/spectrum/S2P.pid + +# require_tls to connect legacy network +#require_tls=false + +# Eventloop used by Spectrum. Allows to change default use of poll to epoll, +# which should be faster and handles more connections better. +# WARNING: some 3rd party libpurple protocol plugins are not prepared to be +# used with different eventloop, but protocols included in libpurple by default +# works OK. +#eventloop=glib + +[registration] +# Set to 0 to disable transport registration to everyone except +# people from host from allowed_servers list. +#enable_public_registration=1 + +# You can override username registered by transport user. This is useful +# for example if you want to let users to register only their Facebook name +# and internally connect them to facebook_name@chat.facebook.com. +# $username variable is replaced by username which has been registered +# by particular user. +#username_mask = $username@chat.facebook.com + +# This option allows you to white-list newly created accounts according +# to regexp. for example allowed_usernames=*.\.gmail\.com$ will allow only +# GTalk users to register. If you use username_mask, then username_mask is +# applied before this option. +#allowed_usernames=regexp + +# Label used to described username field in registration form +#username_label = Facebook username + +# This variable overrides default instructions text in registration form. +#instructions = Type your Facebook name here: + +# Transport features, all features are enabled by default. +[features] +#filetransfer=1 +#avatars=1 +#chatstates=1 +#statistics=1 + +# Transport features for VIP users, all features are enabled by default. +[vip-features] +#filetransfer=1 +#avatars=1 +#chatstates=1 + +[logging] +# log file, needs to be unique for each spectrum instance +log_file=/var/log/spectrum/S2P.log + +# log areas +# combination of: xml, purple +log_areas=xml;purple + +[database] +# mysql or sqlite +type=sqlite + +# hostname (not needed for sqlite) +#host=localhost + +# username (not needed for sqlite) +#user=user + +# password (not needed for sqlite) +#password=password +# sqlite: set path to database file here +# mysql: set to name of database +database=/var/lib/spectrum/S2P/database/S2P.sqlite +# table prefix for multiple transport instances sharing the same database +#prefix=S2P_ + +[purple] +# avatar, vcard, roster storage +# needs to be unique for each spectrum instance +userdir=/var/lib/spectrum/S2P/userdir diff --git a/net-im/spectrum/files/spectrum.initd b/net-im/spectrum/files/spectrum.initd new file mode 100644 index 0000000..f3e5eb6 --- /dev/null +++ b/net-im/spectrum/files/spectrum.initd @@ -0,0 +1,29 @@ +#!/sbin/runscript +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +PROTOCOL=${SVCNAME#*.} + +depend() { + need net + use jabber-server +} + +start() { + if [ -z "${PROTOCOL}" ] || [ ${SVCNAME} == "spectrum" ]; then + eerror "Please use /etc/init.d/spectrum.PROTOCOL instead of /etc/init.d/spectrum" + eerror "to start Spectrum for the desired protocol." + return 1 + fi + + ebegin "Starting ${PROTOCOL} Spectrum Transport" + start-stop-daemon --start --pidfile ${PIDFILE} \ + --chuid jabber:jabber --exec /usr/bin/spectrum -- ${CONFFILE} + eend $? +} + +stop() { + ebegin "Stopping ${PROTOCOL} Spectrum Transport" + start-stop-daemon --stop --quiet --pidfile ${PIDFILE} + eend $? +} diff --git a/net-im/spectrum/files/spectrum.symlink.cfg b/net-im/spectrum/files/spectrum.symlink.cfg new file mode 100644 index 0000000..514fcbd --- /dev/null +++ b/net-im/spectrum/files/spectrum.symlink.cfg @@ -0,0 +1,151 @@ +[service] +# enable this spectrum instance +enable=1 + +# one of: aim, facebook, gg, icq, irc, msn, myspace, qq, simple, xmpp, yahoo +protocol=$filename:protocol + +# component ip +server=127.0.0.1 + +# if use_proxy is 1, the http_proxy env var will be used as the proxy server +# for example export http_proxy="http://user:passwd@your.proxy.server:port/" +use_proxy=0 + +# component JID +jid=$protocol.example.com + +# component secret +password=secret + +# component port +port=$filename:port + +config_interface = /var/run/spectrum/$protocol.sock + +# IP:port where filetransfer proxy binds to. This has to be public IP. +#filetransfer_bind_address=192.0.2.1:$port + +# IP:port which will be sent in filetransfer request as stream host. +#filetransfer_public_address=192.0.2.1:$port + +# admin JIDs - Jabber IDs of transport administrators who have access to admin adhoc commands +# separated by semicolons +#admins=admin@example.com;foo@bar.cz + +# directory where downloaded files will be saved +filetransfer_cache=/var/lib/spectrum/$protocol/filetransfer_cache + +# URL used to acces filestransfer_cache directory from the web. +filetransfer_web=http://example.com/files/ + +# name of transport (this will appear in service discovery) +name=My $protocol Transport + +# default language +language=en + +# transport features separated by semicolons +# combination of: avatars, chatstate, filetransfer +# if commented, all features will be used +# This variable is DEPRECATED and will be removed in future versions. Use [features] instead. +#transport_features = avatars;chatstate;filetransfer + +# if vip_mode is 1, users are divided to 2 groups according to 'vip' database field +vip_mode=0 + +# if vip_mode is 1, you can set transport to be availabe only for VIP users by setting only_for_vip to 1. +only_for_vip=0 + +# if vip_mode is 1 and only_for_vip is 1, users can connect from these servers even they are not VIP. +# This feature is useful, if you want to enable transport only for users from your server, but also want +# to give access to VIP users from other servers (for example from GTalk) +# seperated by semicolons +#allowed_servers=localhost + +# transport features separated by semicolons which will be used for VIP users. +# combination of: avatars, chatstate, filetransfer +# if commented, all features will be used +# This variable is DEPRECATED and will be removed in future versions. Use [vip-features] instead. +#vip_features = avatars;chatstate;filetransfer + +# pid file +pid_file=/var/run/spectrum/$protocol.pid + +# require_tls to connect legacy network +#require_tls=false + +# Eventloop used by Spectrum. Allows to change default use of poll to epoll, +# which should be faster and handles more connections better. +# WARNING: some 3rd party libpurple protocol plugins are not prepared to be +# used with different eventloop, but protocols included in libpurple by default +# works OK. +#eventloop=glib + +[registration] +# Set to 0 to disable transport registration to everyone except +# people from host from allowed_servers list. +#enable_public_registration=1 + +# You can override username registered by transport user. This is useful +# for example if you want to let users to register only their Facebook name +# and internally connect them to facebook_name@chat.facebook.com. +# $username variable is replaced by username which has been registered +# by particular user. +#username_mask = $username@chat.facebook.com + +# This option allows you to white-list newly created accounts according +# to regexp. for example allowed_usernames=*.\.gmail\.com$ will allow only +# GTalk users to register. If you use username_mask, then username_mask is +# applied before this option. +#allowed_usernames=regexp + +# Label used to described username field in registration form +#username_label = Facebook username + +# This variable overrides default instructions text in registration form. +#instructions = Type your Facebook name here: + +# Transport features, all features are enabled by default. +[features] +#filetransfer=1 +#avatars=1 +#chatstates=1 +#statistics=1 + +# Transport features for VIP users, all features are enabled by default. +[vip-features] +#filetransfer=1 +#avatars=1 +#chatstates=1 + +[logging] +# log file, needs to be unique for each spectrum instance +log_file=/var/log/spectrum/$protocol.log + +# log areas +# combination of: xml, purple +log_areas=xml;purple + +[database] +# mysql or sqlite +type=sqlite + +# hostname (not needed for sqlite) +#host=localhost + +# username (not needed for sqlite) +#user=user + +# password (not needed for sqlite) +#password=password +# sqlite: set path to database file here +# mysql: set to name of database +database=/var/lib/spectrum/$protocol/database/$protocol.sqlite +# table prefix for multiple transport instances sharing the same database +#prefix=$protocol_ + +[purple] +# avatar, vcard, roster storage +# needs to be unique for each spectrum instance +userdir=/var/lib/spectrum/$protocol/userdir -- cgit v1.2.3-54-g00ecf