Feature #8966
Automatic tests for IRC CTCP in Pidgin
100%
Description
Files
Subtasks
History
#1 Updated by BitingBird 2015-02-27 17:48:57
- Affected tool set to Instant Messaging
#2 Updated by kytv 2015-02-27 23:39:33
The code looks good. I have not been able to test it, however, because OFTC is currently blocking Tor—again. :|
#3 Updated by kytv 2015-02-28 02:48:53
- Assignee changed from kytv to anonym
- QA Check changed from Ready for QA to Dev Needed
I haven’t spotted why—yet—but I consistently see the following
And I press the "ENTER" key # features/step_definitions/common_steps.rb:820
Then I see the Tails roadmap URL # features/step_definitions/pidgin.rb:230
[log] CLICK on (451,375)
When I click on the Tails roadmap URL # features/step_definitions/pidgin.rb:234
Then the Tor Browser has started and loaded the Tails roadmap # features/step_definitions/common_steps.rb:343
calling as amnesia: cat $HOME/.purple/accounts.xml
call returned: [0, "<?xml version='1.0' encoding='UTF-8' ?>\n\n<account version='1.0'>\n\t<account>\n\t\t<protocol>prpl-irc</protocol>\n\t\t<name>wookesco@irc.oftc.net</name>\n\t\t<statuses>\n\t\t\t<status type='available' name='Available' active='true'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='away' name='Away' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='offline' name='Offline' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t</statuses>\n\t\t<settings>\n\t\t\t<setting name='realname' type='string'>wookesco</setting>\n\t\t\t<setting name='username' type='string'>wookesco</setting>\n\t\t\t<setting name='port' type='int'>6697</setting>\n\t\t\t<setting name='ssl' type='bool'>1</setting>\n\t\t\t<setting name='encoding' type='string'>UTF-8,ISO-8859-1</setting>\n\t\t</settings>\n\t\t<settings ui='gtk-gaim'>\n\t\t\t<setting name='auto-login' type='bool'>1</setting>\n\t\t</settings>\n\t\t<current_error/>\n\t</account>\n\t<account>\n\t\t<protocol>prpl-irc</protocol>\n\t\t<name>wookesco@127.0.0.1</name>\n\t\t<statuses>\n\t\t\t<status type='available' name='Available' active='true'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='away' name='Away' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='offline' name='Offline' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t</statuses>\n\t\t<settings>\n\t\t\t<setting name='realname' type='string'>wookesco</setting>\n\t\t\t<setting name='username' type='string'>wookesco</setting>\n\t\t\t<setting name='port' type='int'>6668</setting>\n\t\t\t<setting name='ssl' type='bool'>0</setting>\n\t\t\t<setting name='encoding' type='string'>UTF-8,ISO-8859-1</setting>\n\t\t</settings>\n\t\t<settings ui='gtk-gaim'>\n\t\t\t<setting name='auto-login' type='bool'>0</setting>\n\t\t</settings>\n\t\t<proxy>\n\t\t\t<type>none</type>\n\t\t</proxy>\n\t\t<current_error/>\n\t</account>\n</account>\n", ""]
And the "irc.oftc.net" account only responds to PING and VERSION CTCP requests # features/step_definitions/pidgin.rb:116
undefined method `tr' for true:TrueClass (NoMethodError)
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:108:in `block in post'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:104:in `map'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:104:in `post'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:29:in `start'
./features/step_definitions/pidgin.rb:142:in `block (2 levels) in <top (required)>'
/usr/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
./features/step_definitions/pidgin.rb:141:in `/^the "([^"]*)" account only responds to PING and VERSION CTCP requests$/'
features/pidgin.feature:29:in `And the "irc.oftc.net" account only responds to PING and VERSION CTCP requests'
Scenario failed at time 00:07:29
#4 Updated by anonym 2015-03-01 19:05:38
- Assignee changed from anonym to kytv
- QA Check changed from Dev Needed to Info Needed
kytv wrote:
> I haven’t spotted why—yet—but I consistently see the following
You error is very odd, and I presume you’re also using ruby-net-irc
version 0.0.9-2?
> @ /usr/lib/ruby/vendor_ruby/net/irc/client.rb:29:in `start’@
So this looks like this:
def start
[...]
post PASS, @opts.pass if @opts.pass
[...]
where @opts
will be the @bot_opts
we use when creating the bot instance, and it certainly doesn’t set :pass
, so you shouldn’t get this. What happens if you apply the following:
--- a/features/step_definitions/pidgin.rb
+++ b/features/step_definitions/pidgin.rb
@@ -127,7 +127,8 @@ Then /^the "([^"]*)" account only responds to PING and VERSION CTCP requests$/ d
:nick => bot_nick,
:user => bot_nick,
:real => bot_nick,
- :spam_target => configured_pidgin_accounts[irc_server]["nickname"]
+ :spam_target => configured_pidgin_accounts[irc_server]["nickname"],
+ :pass => nil
}
bot_opts[:logger] = Logger.new("/dev/null") if !$config["DEBUG"]
bot = CtcpSpammer.new(irc_server, 6667, bot_opts)
#5 Updated by kytv 2015-03-02 00:19:09
- Assignee changed from kytv to anonym
- QA Check changed from Info Needed to Dev Needed
anonym wrote:
> kytv wrote:
> > I haven’t spotted why—yet—but I consistently see the following
>
> You error is very odd, and I presume you’re also using ruby-net-irc
version 0.0.9-2?
Yes, but I also tried upgrading to 0.0.9-3 and got the same error.
> > @ /usr/lib/ruby/vendor_ruby/net/irc/client.rb:29:in `start’@
>
> So this looks like this:
> […]
>
> where @opts
will be the @bot_opts
we use when creating the bot instance, and it certainly doesn’t set :pass
, so you shouldn’t get this. What happens if you apply the following:
> […]
With this patch:
Then the Tor Browser has started and loaded the Tails roadmap # features/step_definitions/common_steps.rb:343
calling as amnesia: cat $HOME/.purple/accounts.xml
call returned: [0, "<?xml version='1.0' encoding='UTF-8' ?>\n\n<account version='1.0'>\n\t<account>\n\t\t<protocol>prpl-irc</protocol>\n\t\t<name>yolley_@irc.oftc.net</name>\n\t\t<statuses>\n\t\t\t<status type='available' name='Available' active='true'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='away' name='Away' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='offline' name='Offline' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t</statuses>\n\t\t<settings>\n\t\t\t<setting name='realname' type='string'>yolley_</setting>\n\t\t\t<setting name='username' type='string'>yolley_</setting>\n\t\t\t<setting name='port' type='int'>6697</setting>\n\t\t\t<setting name='ssl' type='bool'>1</setting>\n\t\t\t<setting name='encoding' type='string'>UTF-8,ISO-8859-1</setting>\n\t\t</settings>\n\t\t<settings ui='gtk-gaim'>\n\t\t\t<setting name='auto-login' type='bool'>1</setting>\n\t\t</settings>\n\t\t<current_error/>\n\t</account>\n\t<account>\n\t\t<protocol>prpl-irc</protocol>\n\t\t<name>yolley_@127.0.0.1</name>\n\t\t<statuses>\n\t\t\t<status type='available' name='Available' active='true'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='away' name='Away' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t\t<status type='offline' name='Offline' active='false'>\n\t\t\t\t<attributes/>\n\t\t\t</status>\n\t\t</statuses>\n\t\t<settings>\n\t\t\t<setting name='realname' type='string'>yolley_</setting>\n\t\t\t<setting name='username' type='string'>yolley_</setting>\n\t\t\t<setting name='port' type='int'>6668</setting>\n\t\t\t<setting name='ssl' type='bool'>0</setting>\n\t\t\t<setting name='encoding' type='string'>UTF-8,ISO-8859-1</setting>\n\t\t</settings>\n\t\t<settings ui='gtk-gaim'>\n\t\t\t<setting name='auto-login' type='bool'>0</setting>\n\t\t</settings>\n\t\t<proxy>\n\t\t\t<type>none</type>\n\t\t</proxy>\n\t\t<current_error/>\n\t</account>\n</account>\n", ""]
And the "irc.oftc.net" account only responds to PING and VERSION CTCP requests # features/step_definitions/pidgin.rb:116
undefined method `tr' for true:TrueClass (NoMethodError)
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:108:in `block in post'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:104:in `map'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:104:in `post'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:29:in `start'
./features/step_definitions/pidgin.rb:143:in `block (2 levels) in <top (required)>'
/usr/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
./features/step_definitions/pidgin.rb:142:in `/^the "([^"]*)" account only responds to PING and VERSION CTCP requests$/'
features/pidgin.feature:29:in `And the "irc.oftc.net" account only responds to PING and VERSION CTCP requests'
#6 Updated by anonym 2015-03-02 01:49:24
kytv wrote:
> anonym wrote:
> > kytv wrote:
> > > I haven’t spotted why—yet—but I consistently see the following
> >
> > You error is very odd, and I presume you’re also using ruby-net-irc
version 0.0.9-2?
>
> Yes, but I also tried upgrading to 0.0.9-3 and got the same error.
>
> > > @ /usr/lib/ruby/vendor_ruby/net/irc/client.rb:29:in `start’@
> >
> > So this looks like this:
> > […]
> >
> > where @opts
will be the @bot_opts
we use when creating the bot instance, and it certainly doesn’t set :pass
, so you shouldn’t get this. What happens if you apply the following:
> > […]
>
> With this patch:
Ok, so the same crap. What if you apply this debugging patch and run it again?
--- a/features/support/helpers/ctcp_helper.rb
+++ b/features/support/helpers/ctcp_helper.rb
@@ -1,5 +1,23 @@
require 'net/irc'
+class Net::IRC::Client
+
+ alias :__overridden_start :start
+
+ def start(*args)
+ STDERR.puts "XXX Net::IRC::Client options:\n#{@opts}\nXXX -----"
+ begin
+ STDERR.puts "XXX @opts.pass test: '#{@opts.pass}' (#{@opts.pass.class})"
+ rescue Exceptions => e
+ STDERR.puts "XXX Got exception: #{e}"
+ else
+ STDERR.puts "XXX Got *no* exception"
+ end
+ __overridden_start(*args)
+ end
+
+end
+
class CtcpSpammer < Net::IRC::Client
# PING and VERSION must be last so they are tried last below. It's
I get:
XXX Net::IRC::Client options:
#<OpenStruct nick="wsaVIbFAml1sxb", user="wsaVIbFAml1sxb", real="wsaVIbFAml1sxb", spam_target="arin">
XXX -----
XXX @opts.pass test: '' (NilClass)
XXX Got *no* exception
which makes sense, and shows that your situation shouldn’t be possible. :)
#7 Updated by kytv 2015-03-02 03:29:04
anonym wrote:
>
> I get:
>
> […]
>
> which makes sense, and shows that your situation shouldn’t be possible. :)
I dunno what’s going on here.
With the debugging patch:
XXX Net::IRC::Client options:
#<OpenStruct nick="YlgQksCYNZj", user="YlgQksCYNZj", real="YlgQksCYNZj", spam_target="wank">
XXX -----
XXX @opts.pass test: 'true' (TrueClass)
XXX Got *no* exception
#8 Updated by anonym 2015-03-02 22:03:27
- Assignee changed from anonym to kytv
- QA Check changed from Dev Needed to Info Needed
LOL at the random nickname you got in your Pidgin account (same as :spam_target
)! :)
Anyway, strange stuff. What happens if you apply both of the above patches? I get:
XXX Net::IRC::Client options:
#<OpenStruct nick="sRdJf6ipbUj", user="sRdJf6ipbUj", real="sRdJf6ipbUj", spam_target="celika", pass=nil>
XXX -----
XXX @opts.pass test: '' (NilClass)
XXX Got *no* exception
as I would expect.
#9 Updated by kytv 2015-03-03 00:00:03
- Assignee changed from kytv to anonym
- QA Check changed from Info Needed to Dev Needed
With both of the above patches:
nt_error/>\n\t</account>\n</account>\n", ""]
XXX Net::IRC::Client options:
#<OpenStruct nick="YZfI3K4b0MuCkAu", user="YZfI3K4b0MuCkAu", real="YZfI3K4b0MuCkAu", spam_target="tyrus", pass=nil>
XXX -----
XXX @opts.pass test: 'true' (TrueClass)
XXX Got *no* exception
To be clear, my workspace looks like the following:
diff --git a/features/step_definitions/common_steps.rb b/features/step_definitions/common_steps.rb
index 12cbc9c..9dc3adc 100644
--- a/features/step_definitions/common_steps.rb
+++ b/features/step_definitions/common_steps.rb
@@ -779,12 +779,14 @@ Given /^I start "([^"]+)" via the GNOME "([^"]+)" applications menu$/ do |app, s
prefix = 'Gnome'
end
@screen.wait_and_click(prefix + "ApplicationsMenu.png", 10)
- @screen.hide_cursor
# Wait for the menu to be displayed, by waiting for one of its last entries
@screen.wait(prefix + "ApplicationsTails.png", 40)
- @screen.wait_and_hover(prefix + "Applications" + submenu + ".png", 40)
- @screen.hide_cursor
- @screen.wait_and_click(prefix + "Applications" + app + ".png", 40)
+ r = @screen.wait(prefix + "Applications" + submenu + ".png", 40)
+ y = r.getCenter.getY
+ @screen.hover(r)
+ r = @screen.wait(prefix + "Applications" + app + ".png", 40)
+ @screen.hover(Sikuli::Location.new(r.getCenter.getX, y))
+ @screen.click(r)
end
Given /^I start "([^"]+)" via the GNOME "([^"]+)"\/"([^"]+)" applications menu$/ do |app, submenu, subsubmenu|
@@ -796,14 +798,18 @@ Given /^I start "([^"]+)" via the GNOME "([^"]+)"\/"([^"]+)" applications menu$/
prefix = 'Gnome'
end
@screen.wait_and_click(prefix + "ApplicationsMenu.png", 10)
- @screen.hide_cursor
# Wait for the menu to be displayed, by waiting for one of its last entries
@screen.wait(prefix + "ApplicationsTails.png", 40)
- @screen.wait_and_hover(prefix + "Applications" + submenu + ".png", 20)
- @screen.hide_cursor
- @screen.wait_and_hover(prefix + "Applications" + subsubmenu + ".png", 20)
- @screen.hide_cursor
- @screen.wait_and_click(prefix + "Applications" + app + ".png", 20)
+ r = @screen.wait(prefix + "Applications" + submenu + ".png", 20)
+ y = r.getCenter.getY
+ @screen.hover(r)
+ r = @screen.wait(prefix + "Applications" + subsubmenu + ".png", 20)
+ @screen.hover(Sikuli::Location.new(r.getCenter.getX, y))
+ y = r.getCenter.getY
+ @screen.hover(r)
+ r = @screen.wait(prefix + "Applications" + app + ".png", 20)
+ @screen.hover(Sikuli::Location.new(r.getCenter.getX, y))
+ @screen.click(r)
end
When /^I type "([^"]+)"$/ do |string|
diff --git a/features/step_definitions/pidgin.rb b/features/step_definitions/pidgin.rb
index 9908c91..715c2b1 100644
--- a/features/step_definitions/pidgin.rb
+++ b/features/step_definitions/pidgin.rb
@@ -127,7 +127,8 @@ Then /^the "([^"]*)" account only responds to PING and VERSION CTCP requests$/ d
:nick => bot_nick,
:user => bot_nick,
:real => bot_nick,
- :spam_target => configured_pidgin_accounts[irc_server]["nickname"]
+ :spam_target => configured_pidgin_accounts[irc_server]["nickname"],
+ :pass => nil
}
bot_opts[:logger] = Logger.new("/dev/null") if !$config["DEBUG"]
bot = CtcpSpammer.new(irc_server, 6667, bot_opts)
diff --git a/features/support/helpers/ctcp_helper.rb b/features/support/helpers/ctcp_helper.rb
index a1bb264..ae26833 100644
--- a/features/support/helpers/ctcp_helper.rb
+++ b/features/support/helpers/ctcp_helper.rb
@@ -1,5 +1,23 @@
require 'net/irc'
+class Net::IRC::Client
+
+ alias :__overridden_start :start
+
+ def start(*args)
+ STDERR.puts "XXX Net::IRC::Client options:\n#{@opts}\nXXX -----"
+ begin
+ STDERR.puts "XXX @opts.pass test: '#{@opts.pass}' (#{@opts.pass.class})"
+ rescue Exceptions => e
+ STDERR.puts "XXX Got exception: #{e}"
+ else
+ STDERR.puts "XXX Got *no* exception"
+ end
+ __overridden_start(*args)
+ end
+
+end
+
class CtcpSpammer < Net::IRC::Client
# PING and VERSION must be last so they are tried last below. It's
diff --git a/run_test_suite b/run_test_suite
index d173619..e3403de 100755
--- a/run_test_suite
+++ b/run_test_suite
@@ -75,7 +75,7 @@ start_xvfb() {
done
echo "Virtual X framebuffer started on display ${TARGET_DISPLAY}"
# Hide the mouse cursor so it won't mess up Sikuli's screen scanning
- unclutter -display $TARGET_DISPLAY -root -idle 0 >/dev/null 2>&1 &
+ #unclutter -display $TARGET_DISPLAY -root -idle 0 >/dev/null 2>&1 &
}
start_vnc_server() {
and
# dpkg -l '*ruby*' |awk '/^ii/{print $2, $3}'
libruby1.8 1.8.7.358-7.1+deb7u1
libruby1.9.1 1.9.3.194-8.1+deb7u2
libvirt-ruby 0.4.0-1
ruby 1:1.9.3
ruby-blankslate 2.1.2.4-4
ruby-builder 3.0.0-3
ruby-diff-lcs 1.1.3-1
ruby-gherkin 2.12.1-1~bpo70+1
ruby-guestfs 1:1.18.1-1+deb7u3
ruby-json 1.7.3-3
ruby-libvirt 0.4.0-1
ruby-multi-json 1.8.0-1~bpo70+1
ruby-net-irc 0.0.9-2
ruby-oj 2.0.10-1~bpo70+1
ruby-packetfu 1.1.8-1~bpo70+1
ruby-pcaprub 0.11.3-1~bpo70+1
ruby-rjb 1.4.8-1~bpo70+1
ruby-rspec 2.10.0-2
ruby-rspec-core 2.10.1-2
ruby-rspec-expectations 2.10.0-2
ruby-rspec-mocks 2.10.1-2
ruby-yajl 1.1.0-2
ruby1.9.1 1.9.3.194-8.1+deb7u2
#10 Updated by kytv 2015-03-03 12:21:23
To rule out any sort of conflicts in case there’s something wrong with my test VM (I’m trying to provide applicable info before it’s asked for):
root@testsuite:~# dpkg -l | awk /^ii/{'printf "%-30s\t%s\n", $2, $3'}
acl 2.2.51-8
acpi 1.6-1
acpi-support-base 0.140-5+deb7u3
acpid 1:2.0.16-1+deb7u1
adduser 3.113+nmu3
antlr3 3.2-7
apt 0.9.7.9+deb7u7
apt-cacher-ng 0.8.0-3~bpo70+1
apt-show-versions 0.20
apt-utils 0.9.7.9+deb7u7
aptitude 0.6.8.2-1
aptitude-common 0.6.8.2-1
at 3.1.13-2+deb7u1
attr 1:2.4.46-8
augeas-lenses 0.10.0-1
autoconf 2.69-1
automake 1:1.11.6-1
autopoint 0.18.1.1-9
autotools-dev 20120608.1
base-files 7.1wheezy8
base-passwd 3.5.26
bash 4.2+dfsg-0.1+deb7u3
binutils 2.22-8
bridge-utils 1.5-6
bsdmainutils 9.0.3
bsdutils 1:2.20.1-5.3
btrfs-tools 0.19+20120328-7.1
build-essential 11.5
busybox 1:1.20.0-7
bzip2 1.0.6-4
ca-certificates 20130119+deb7u1
ca-certificates-java 20121112+nmu2
colord 0.1.21-1
console-setup 1.88
console-setup-linux 1.88
consolekit 0.4.5-3.1
coreutils 8.13-3.5
cpio 2.11+dfsg-0.1+deb7u1
cpp 4:4.7.2-1
cpp-4.7 4.7.2-5
cron 3.0pl1-124
cryptsetup 2:1.4.3-4
cryptsetup-bin 2:1.4.3-4
cucumber 1.3.8-1~bpo70+1
curl 7.26.0-1+wheezy11
dash 0.5.7-3
dbus 1.6.8-1+deb7u5
dbus-x11 1.6.8-1+deb7u5
dconf-gsettings-backend:amd64 0.12.1-3
dconf-service 0.12.1-3
dctrl-tools 2.22.2
debconf 1.5.49
debconf-i18n 1.5.49
debfoster 2.7-1.2
debhelper 9.20120909
debian-archive-keyring 2014.3~deb7u1
debian-keyring 2013.04.21
debianutils 4.3.2
debootstrap 1.0.48+deb7u2
debsums 2.0.52+deb7u1
default-jdk 1:1.6-47
default-jre 1:1.6-47
default-jre-headless 1:1.6-47
desktop-file-utils 0.20-0.1
devscripts 2.12.6+deb7u2
diffstat 1.55-3
diffutils 1:3.2-6
discover 2.1.2-5.2
discover-data 2.2010.10.18
distro-info-data 0.17~deb7u1
dmidecode 2.11-9
dmsetup 2:1.02.74-8
dnsmasq-base 2.62-3+deb7u1
dosfstools 3.0.13-1
dpkg 1.16.15
dpkg-dev 1.16.15
dput 0.9.6.3+nmu2
e2fslibs:amd64 1.42.5-1.1
e2fsprogs 1.42.5-1.1
eatmydata 26-2
ebtables 2.0.10.4-1
ed 1.6-2
eject 2.1.5+deb1+cvs20081104-13
equivs 2.0.9
esound-common 0.2.41-10
exim4-base 4.80-7+deb7u1
exim4-config 4.80-7+deb7u1
exim4-daemon-light 4.80-7+deb7u1
fakeroot 1.18.4-2
febootstrap 3.17-1
ffmpeg 6:0.8.16-1
file 5.11-2+deb7u6
findutils 4.4.2-4
fontconfig 2.9.0-7.1
fontconfig-config 2.9.0-7.1
fonts-droid 20111207+git-1
fuse 2.9.0-2+deb7u1
g++ 4:4.7.2-1
g++-4.7 4.7.2-5
gawk 1:4.0.1+dfsg-2.1
gcc 4:4.7.2-1
gcc-4.7 4.7.2-5
gcc-4.7-base:amd64 4.7.2-5
gconf-service 3.2.5-1+build1
gconf2 3.2.5-1+build1
gconf2-common 3.2.5-1+build1
gettext 0.18.1.1-9
gettext-base 0.18.1.1-9
ghostscript 9.05~dfsg-6.3+deb7u1
git 1:1.7.10.4-1+wheezy1
git-man 1:1.7.10.4-1+wheezy1
git-sh 1.1-1
gnome-mime-data 2.18.0-1
gnupg 1.4.12-7+deb7u6
gpgv 1.4.12-7+deb7u6
gpicview 0.2.3-2
grep 2.12-2
groff-base 1.21-9
grub-common 1.99-27+deb7u2
grub-pc 1.99-27+deb7u2
grub-pc-bin 1.99-27+deb7u2
grub2-common 1.99-27+deb7u2
gsfonts 1:8.11+urwcyr1.0.7~pre44-4.2
gvfs:amd64 1.12.3-4
gvfs-common 1.12.3-4
gvfs-daemons 1.12.3-4
gvfs-libs:amd64 1.12.3-4
gzip 1.5-1.1
hardening-includes 2.2
hdparm 9.39-1+b1
heirloom-mailx 12.5-2+deb7u1
hicolor-icon-theme 0.12-1
hostname 3.11
html2text 1.3.2a-15
htop 1.0.1-1
i18nspector 0.16-1~bpo70+1
icedtea-6-jre-cacao:amd64 6b27-1.12.5-1
icedtea-6-jre-jamvm:amd64 6b27-1.12.5-1
icedtea-7-jre-cacao:amd64 7u3-2.1.7-1
icedtea-7-jre-jamvm:amd64 7u3-2.1.7-1
icedtea-netx:amd64 1.3.2-1
icedtea-netx-common 1.3.2-1
icoutils 0.29.1-5
ifupdown 0.7.8
imagemagick-common 8:6.7.7.10-5+deb7u3
info 4.13a.dfsg.1-10
init-system-helpers 1.18~bpo70+1
initramfs-tools 0.109.1
initscripts 2.88dsf-41+deb7u1
insserv 1.14.0-5
install-info 4.13a.dfsg.1-10
intltool 0.50.2-2
intltool-debian 0.35.0+20060710.1
iotop 0.4.4-4
iproute 1:3.16.0-2~bpo70+1
iproute2 3.16.0-2~bpo70+1
iptables 1.4.14-3.1
iputils-ping 3:20101006-1+b1
ipxe-qemu 1.0.0+git-20131111.c3d1e78-2.1~bpo70+1
isc-dhcp-client 4.2.2.dfsg.1-5+deb70u6
isc-dhcp-common 4.2.2.dfsg.1-5+deb70u6
iso-codes 3.41-1
java-common 0.47
javascript-common 7
jfsutils 1.1.15-2
jython 2.5.2-1
kbd 1.15.3-9
keyboard-configuration 1.88
klibc-utils 2.0.1-3.1
kmod 9-3
kpartx 0.4.9+git0.4dfdaf2b-7~deb7u2
krb5-locales 1.10.1+dfsg-5+deb7u2
laptop-detect 0.13.7
less 444-4
libaa1:amd64 1.4p5-40
libaacs0:amd64 0.4.0-1
libacl1:amd64 2.2.51-8
libaio1:amd64 0.3.109-3
libalgorithm-diff-perl 1.19.02-2
libalgorithm-diff-xs-perl 0.04-2+b1
libalgorithm-merge-perl 0.08-2
libantlr-java 2.7.7+dfsg-4
libapparmor1 2.7.103-4
libapt-inst1.5:amd64 0.9.7.9+deb7u7
libapt-pkg-perl 0.1.26+b1
libapt-pkg4.12:amd64 0.9.7.9+deb7u7
libarchive-zip-perl 1.30-6
libasm3-java 3.3.2-1
libasound2:amd64 1.0.25-4
libasprintf0c2:amd64 0.18.1.1-9
libasyncns0:amd64 0.8-4
libatasmart4:amd64 0.19-1
libatk-wrapper-java 0.30.4-3
libatk-wrapper-java-jni:amd64 0.30.4-3
libatk1.0-0:amd64 2.4.0-2
libatk1.0-data 2.4.0-2
libatm1:amd64 1:2.5.1-1.5
libattr1:amd64 1:2.4.46-8
libaudiofile1:amd64 0.3.4-2
libaudit0 1:1.7.18-1.1
libaugeas0 0.10.0-1
libav-tools 6:0.8.16-1
libavahi-client3:amd64 0.6.31-2
libavahi-common-data:amd64 0.6.31-2
libavahi-common3:amd64 0.6.31-2
libavahi-glib1:amd64 0.6.31-2
libavcodec-extra-53:amd64 6:0.8.16-1
libavdevice53:amd64 6:0.8.16-1
libavfilter2:amd64 6:0.8.16-1
libavformat53:amd64 6:0.8.16-1
libavutil51:amd64 6:0.8.16-1
libblkid1:amd64 2.20.1-5.3
libbluetooth3:amd64 4.99-2
libbluray1:amd64 1:0.2.2-1
libbonobo2-0 2.24.3-1
libbonobo2-common 2.24.3-1
libboost-iostreams1.49.0 1.49.0-3.2
libboost-thread1.49.0 1.49.0-3.2
libbrlapi0.5:amd64 4.4-10+deb7u1
libbsd0:amd64 0.4.2-1
libbz2-1.0:amd64 1.0.6-4
libc-bin 2.13-38+deb7u6
libc-dev-bin 2.13-38+deb7u6
libc6:amd64 2.13-38+deb7u6
libc6-dev:amd64 2.13-38+deb7u6
libcaca0:amd64 0.99.beta18-1
libcairo-gobject2:amd64 1.12.2-3
libcairo2:amd64 1.12.2-3
libcanberra0:amd64 0.28-6
libcap-ng0 0.6.6-2
libcap2:amd64 1:2.22-1.2
libcap2-bin 1:2.22-1.2
libcdio-cdda1 0.83-4
libcdio-paranoia1 0.83-4
libcdio13 0.83-4
libcdparanoia0 3.10.2+debian-10.1
libck-connector0:amd64 0.4.5-3.1
libclass-accessor-perl 0.34-1
libclass-inspector-perl 1.27-1
libclass-isa-perl 0.36-3
libclone-perl 0.31-1+b2
libcolord1:amd64 0.1.21-1
libcomerr2:amd64 1.42.5-1.1
libcommon-sense-perl 3.6-1
libconstantine-java 0.7-3
libconvert-binhex-perl 1.119+pristine-3
libcroco3:amd64 0.6.6-2
libcrypt-passwdmd5-perl 1.3-10
libcrypt-ssleay-perl 0.58-1
libcryptsetup4 2:1.4.3-4
libcups2:amd64 1.5.3-5+deb7u4
libcupsimage2:amd64 1.5.3-5+deb7u4
libcurl3:amd64 7.26.0-1+wheezy11
libcurl3-gnutls:amd64 7.26.0-1+wheezy11
libcwidget3 0.5.16-3.4
libdatrie1:amd64 0.2.5-3
libdb5.1:amd64 5.1.29-5
libdbus-1-3:amd64 1.6.8-1+deb7u5
libdbus-glib-1-2:amd64 0.100.2-1
libdc1394-22:amd64 2.2.0-2
libdca0 0.0.5-5
libdconf0:amd64 0.12.1-3
libdevmapper-event1.02.1:amd64 2:1.02.74-8
libdevmapper1.02.1:amd64 2:1.02.74-8
libdigest-hmac-perl 1.03+dfsg-1
libdirac-encoder0:amd64 1.0.2-6
libdirectfb-1.2-9:amd64 1.2.10.0-5
libdiscover2 2.1.2-5.2
libdistro-info-perl 0.10
libdpkg-perl 1.16.15
libdrm-intel1:amd64 2.4.40-1~deb7u2
libdrm-nouveau1a:amd64 2.4.40-1~deb7u2
libdrm-radeon1:amd64 2.4.40-1~deb7u2
libdrm2:amd64 2.4.40-1~deb7u2
libdvdnav4 4.2.0+20120524-2
libdvdread4 4.2.0+20120521-2
libedit2:amd64 2.11-20080614-5
libemail-valid-perl 0.190-1
libenca0 1.13-4
libencode-locale-perl 1.03-1
libept1.4.12 1.0.9
liberror-perl 0.17-1
libesd0:amd64 0.2.41-10+b1
libevent-2.0-5:amd64 2.0.19-stable-3
libexif12:amd64 0.6.20-3
libexpat1:amd64 2.1.0-1+deb7u1
libexporter-lite-perl 0.02-2
libfaad2:amd64 2.7-8
libfam0 2.7.0-17
libfcgi-perl 0.74-1+b1
libfdt1 1.3.0-4
libffi5:amd64 3.0.10-3
libfile-basedir-perl 0.03-1
libfile-copy-recursive-perl 0.38-1
libfile-desktopentry-perl 0.04-3
libfile-fcntllock-perl 0.14-2
libfile-fnmatch-perl 0.02-1+b2
libfile-listing-perl 6.04-1
libfile-mimeinfo-perl 0.16-1
libflac8:amd64 1.2.1-6+deb7u1
libfont-afm-perl 1.20-1
libfontconfig1:amd64 2.9.0-7.1
libfontenc1:amd64 1:1.1.1-1
libfreetype6:amd64 2.4.9-1.1
libfribidi0:amd64 0.19.2-3
libfuse2:amd64 2.9.0-2+deb7u1
libgc1c2 1:7.1-9.1
libgcc1:amd64 1:4.7.2-5
libgconf-2-4:amd64 3.2.5-1+build1
libgconf2-4:amd64 3.2.5-1+build1
libgcrypt11:amd64 1.5.0-5+deb7u2
libgd2-xpm:amd64 2.0.36~rc1~dfsg-6.1
libgdbm3:amd64 1.8.3-11
libgdk-pixbuf2.0-0:amd64 2.26.1-1
libgdk-pixbuf2.0-common 2.26.1-1
libgdu0 3.0.2-3
libgettextpo0:amd64 0.18.1.1-9
libgif4 4.1.6-10
libgl1-mesa-dri:amd64 8.0.5-4+deb7u2
libgl1-mesa-glx:amd64 8.0.5-4+deb7u2
libglapi-mesa:amd64 8.0.5-4+deb7u2
libglib2.0-0:amd64 2.33.12+really2.32.4-5
libglib2.0-data 2.33.12+really2.32.4-5
libgmp10:amd64 2:5.0.5+dfsg-2
libgnome-keyring-common 3.4.1-1
libgnome-keyring0:amd64 3.4.1-1
libgnome2-0 2.32.1-3
libgnome2-common 2.32.1-3
libgnomevfs2-0 1:2.24.4-2
libgnomevfs2-common 1:2.24.4-2
libgnomevfs2-extra 1:2.24.4-2
libgnutls26:amd64 2.12.20-8+deb7u2
libgomp1:amd64 4.7.2-5
libgpg-error0:amd64 1.10-3.1
libgphoto2-2:amd64 2.4.14-2
libgphoto2-l10n 2.4.14-2
libgphoto2-port0:amd64 2.4.14-2
libgpm2:amd64 1.20.4-6
libgs9 9.05~dfsg-6.3+deb7u1
libgs9-common 9.05~dfsg-6.3+deb7u1
libgsm1:amd64 1.0.13-4
libgssapi-krb5-2:amd64 1.10.1+dfsg-5+deb7u2
libgtk-3-0:amd64 3.4.2-7
libgtk-3-bin 3.4.2-7
libgtk-3-common 3.4.2-7
libgtk-vnc-2.0-0 0.5.0-3.1
libgtk2.0-0:amd64 2.24.10-2
libgtk2.0-bin 2.24.10-2
libgtk2.0-common 2.24.10-2
libguava-java 11.0.2-1
libgudev-1.0-0:amd64 175-7.2
libguestfs0 1:1.18.1-1+deb7u3
libgusb2 0.1.3-5
libgvnc-1.0-0 0.5.0-3.1
libhivex0:amd64 1.3.6-2
libhtml-form-perl 6.03-1
libhtml-format-perl 2.10-1
libhtml-parser-perl 3.69-2
libhtml-tagset-perl 3.20-2
libhtml-template-perl 2.91-1
libhtml-tree-perl 5.02-1
libhttp-cookies-perl 6.00-2
libhttp-daemon-perl 6.01-1
libhttp-date-perl 6.02-1
libhttp-message-perl 6.03-1
libhttp-negotiate-perl 6.00-2
libice-dev:amd64 2:1.0.8-2
libice6:amd64 2:1.0.8-2
libidl0 0.8.14-0.2
libidn11:amd64 1.25-2
libieee1284-3:amd64 0.2.11-10
libijs-0.35 0.35-8
libilmbase6 1.0.1-4
libio-pty-perl 1:1.08-1+b2
libio-socket-ip-perl 0.16-2
libio-socket-ssl-perl 1.76-2
libio-string-perl 1.08-2
libio-stringy-perl 2.110-5
libipc-run-perl 0.92-1
libiscsi2:amd64 1.12.0-2~bpo70+1
libitm1:amd64 4.7.2-5
libjack-jackd2-0:amd64 1.9.8~dfsg.4+20120529git007cdc37-5
libjaffl-java 0.5.4-1.1
libjasper1:amd64 1.900.1-13+deb7u2
libjbig0:amd64 2.0-2+deb7u1
libjbig2dec0 0.11+20120125-1
libjffi-java 1.0.2-9
libjffi-jni 1.0.2-9
libjline-java 1.0-2
libjnr-netdb-java 1.0.3-2
libjnr-posix-java 1.1.4~git1.8aa26268b-1
libjnr-x86asm-java 0.1-1
libjpeg8:amd64 8d-1+deb7u1
libjs-jquery 1.7.2+dfsg-1
libjson-perl 2.53-1
libjson-xs-perl 2.320-1+b1
libjson0:amd64 0.10-1.2
libjsr305-java 0.1~+svn49-4
libk5crypto3:amd64 1.10.1+dfsg-5+deb7u2
libkeyutils1:amd64 1.5.5-3+deb7u1
libklibc 2.0.1-3.1
libkmod2:amd64 9-3
libkrb5-3:amd64 1.10.1+dfsg-5+deb7u2
libkrb5support0:amd64 1.10.1+dfsg-5+deb7u2
liblcms2-2:amd64 2.2+git20110628-2.2+deb7u1
libldap-2.4-2:amd64 2.4.31-1+nmu2
liblept3 1.69-3.1
liblircclient0 0.9.0~pre1-1
liblivetribe-jsr223-java 2.0.6-1
liblocale-gettext-perl 1.05-7+b1
liblqr-1-0:amd64 0.4.1-2
libltdl7:amd64 2.4.2-1.1
liblvm2app2.2:amd64 2.02.95-8
liblwp-mediatypes-perl 6.02-1
liblwp-protocol-https-perl 6.03-1
liblzma5:amd64 5.1.1alpha+20120614-2
liblzo2-2:amd64 2.06-1+deb7u1
libmagic1:amd64 5.11-2+deb7u6
libmagickcore5:amd64 8:6.7.7.10-5+deb7u3
libmail-sendmail-perl 0.79.16-1
libmailtools-perl 2.09-1
libmime-tools-perl 5.503-1
libmount1 2.20.1-5.3
libmp3lame0:amd64 3.99.5+repack1-3
libmpc2:amd64 0.9-4
libmpeg2-4 0.4.1-3
libmpfr4:amd64 3.1.0-5
libncurses5:amd64 5.9-10
libncursesw5:amd64 5.9-10
libnet-dbus-perl 1.0.0-1+b1
libnet-dns-perl 0.66-2+b2
libnet-domain-tld-perl 1.69-1
libnet-http-perl 6.03-2
libnet-ip-perl 1.25-3
libnet-ssleay-perl 1.48-1+b1
libnetcf1 0.1.9-2
libnetfilter-conntrack3:amd64 1.0.1-1
libnetpbm10 2:10.0-15+b1
libnewt0.52 0.52.14-11.1
libnfnetlink0 1.0.0-1.1
libnl1:amd64 1.1-7
libnspr4:amd64 2:4.9.2-1+deb7u2
libnss3:amd64 2:3.14.5-1+deb7u3
libnss3-1d:amd64 2:3.14.5-1+deb7u3
libnuma1 2.0.8~rc4-1
libogg0:amd64 1.3.0-4
libopenal-data 1:1.14-4
libopenal1:amd64 1:1.14-4
libopencore-amrnb0:amd64 0.1.3-2
libopencore-amrwb0:amd64 0.1.3-2
libopencv-calib3d2.3 2.3.1-11
libopencv-contrib2.3 2.3.1-11
libopencv-core2.3 2.3.1-11
libopencv-features2d2.3 2.3.1-11
libopencv-flann2.3 2.3.1-11
libopencv-highgui2.3 2.3.1-11
libopencv-imgproc2.3 2.3.1-11
libopencv-legacy2.3 2.3.1-11
libopencv-ml2.3 2.3.1-11
libopencv-objdetect2.3 2.3.1-11
libopencv-video2.3 2.3.1-11
libopenexr6 1.6.1-6
libopenjpeg2:amd64 1.3+dfsg-4.8
libopts25 1:5.12-0.1
liborbit2 1:2.14.19-0.1
liborc-0.4-0:amd64 1:0.4.16-2
libossp-uuid-perl 1.6.2-1.3
libossp-uuid16 1.6.2-1.3
libotr2 3.2.1-1+deb7u1
libp11-kit0:amd64 0.12-3
libpam-cap:amd64 1:2.22-1.2
libpam-ck-connector:amd64 0.4.5-3.1
libpam-modules:amd64 1.1.3-7.1
libpam-modules-bin 1.1.3-7.1
libpam-runtime 1.1.3-7.1
libpam0g:amd64 1.1.3-7.1
libpango1.0-0:amd64 1.30.0-1
libpaper-utils 1.1.24+nmu2
libpaper1:amd64 1.1.24+nmu2
libparse-debcontrol-perl 2.005-3
libparse-debianchangelog-perl 1.2.0-1
libparted0debian1:amd64 2.3-12
libpcap0.8:amd64 1.3.0-1
libpci3:amd64 1:3.1.9-6
libpciaccess0:amd64 0.13.1-2
libpcre3:amd64 1:8.30-5
libpcsclite1:amd64 1.8.4-1+deb7u1
libperl5.14 5.14.2-21+deb7u2
libpipeline1:amd64 1.2.1-1
libpixman-1-0:amd64 0.26.0-4+deb7u1
libpng12-0:amd64 1.2.49-1
libpolkit-agent-1-0:amd64 0.105-3
libpolkit-backend-1-0:amd64 0.105-3
libpolkit-gobject-1-0:amd64 0.105-3
libpopt0:amd64 1.16-7
libpostproc52:amd64 6:0.8.16-1
libprocps0:amd64 1:3.3.3-3
libpthread-stubs0:amd64 0.3-3
libpthread-stubs0-dev:amd64 0.3-3
libpulse0:amd64 2.0-6.1
libquadmath0:amd64 4.7.2-5
librados2 0.80.7-1~bpo70+1
libraw1394-11:amd64 2.0.9-1
librbd1 0.80.7-1~bpo70+1
libreadline-java 0.8.0.1+dfsg-2+b1
libreadline5:amd64 5.2+dfsg-2~deb7u1
libreadline6:amd64 6.2+dfsg-0.1
librtmp0:amd64 2.4+20111222.git4e06e21-1
libruby1.8 1.8.7.358-7.1+deb7u1
libruby1.9.1 1.9.3.194-8.1+deb7u2
libsamplerate0:amd64 0.1.8-5
libsane:amd64 1.0.22-7.4
libsane-common 1.0.22-7.4
libsane-extras:amd64 1.0.22.2
libsane-extras-common 1.0.22.2
libsasl2-2:amd64 2.1.25.dfsg1-6+deb7u1
libsasl2-modules:amd64 2.1.25.dfsg1-6+deb7u1
libschroedinger-1.0-0:amd64 1.0.11-2
libsdl1.2debian:amd64 1.2.15-5
libselinux1:amd64 2.1.9-5
libsemanage-common 2.1.6-6
libsemanage1:amd64 2.1.6-6
libsepol1:amd64 2.1.4-3
libsgmls-perl 1.03ii-32
libsgutils2-2 1.33-1
libsigc++-2.0-0c2a:amd64 2.2.10-0.2
libsigsegv2 2.9-4
libsikuli-script-java 1.0~x~rc3.tesseract3-dfsg1-5
libsikuli-script-jni:amd64 1.0~x~rc3.tesseract3-dfsg1-5
libslang2:amd64 2.2.4-15
libsm-dev:amd64 2:1.2.1-2
libsm6:amd64 2:1.2.1-2
libsmbclient:amd64 2:3.6.6-6+deb7u4
libsndfile1:amd64 1.0.25-5
libsoap-lite-perl 0.714-1
libsocket-perl 2.002-1
libsp1c2 1.3.4-1.2.1-47.1+b1
libspeex1:amd64 1.2~rc1-7
libspice-server1:amd64 0.12.4-0nocelt2~bpo70+1
libsqlite3-0:amd64 3.7.13-1+deb7u1
libss2:amd64 1.42.5-1.1
libssh2-1:amd64 1.4.2-1.1
libssl1.0.0:amd64 1.0.1e-2+deb7u13
libstdc++6:amd64 4.7.2-5
libstdc++6-4.7-dev 4.7.2-5
libstringtemplate-java 3.2.1-1
libsub-name-perl 0.05-1+b2
libsvga1:amd64 1:1.4.3-33
libswitch-perl 2.16-2
libswscale2:amd64 6:0.8.16-1
libsys-hostname-long-perl 1.4-2
libsystemd-daemon0:amd64 204-14~bpo70+1
libsystemd-login0:amd64 44-11+deb7u4
libtalloc2:amd64 2.0.7+git20120207-1
libtask-weaken-perl 1.03-1
libtasn1-3:amd64 2.13-2+deb7u1
libtbb2 4.0+r233-1
libtdb1:amd64 1.2.10-2
libterm-readkey-perl 2.30-4+b2
libterm-readline-gnu-perl 1.20-2+b1
libtesseract3 3.02.01-6
libtext-charwidth-perl 0.04-7+b1
libtext-iconv-perl 1.7-5
libtext-wrapi18n-perl 0.06-7
libthai-data 0.1.18-2
libthai0:amd64 0.1.18-2
libtheora0:amd64 1.1.1+dfsg.1-3.1
libtie-ixhash-perl 1.21-2
libtiff4:amd64 3.9.6-11
libtimedate-perl 1.2000-1
libtinfo5:amd64 5.9-10
libts-0.0-0:amd64 1.0-11
libudev0:amd64 175-7.2
libunistring0:amd64 0.9.3-5
liburi-perl 1.60-1
libusb-0.1-4:amd64 2:0.1.12-20+nmu1
libusb-1.0-0:amd64 2:1.0.19-1~bpo70+1
libusbredirparser0:amd64 0.4.3-2
libusbredirparser1:amd64 0.6-2~bpo70+1
libustr-1.0-1:amd64 1.0.4-3
libutempter0 1.1.5-4
libuuid-perl 0.02-5
libuuid1:amd64 2.20.1-5.3
libv4l-0:amd64 0.8.8-3
libv4lconvert0:amd64 0.8.8-3
libva1:amd64 1.0.15-4
libvdeplug2 2.3.2-4
libvdpau1:amd64 0.4.1-7
libvirt-bin 1.2.9-8~bpo70+1
libvirt-clients 1.2.9-8~bpo70+1
libvirt-daemon 1.2.9-8~bpo70+1
libvirt-daemon-system 1.2.9-8~bpo70+1
libvirt-dev 1.2.9-8~bpo70+1
libvirt-ruby 0.4.0-1
libvirt0 1.2.9-8~bpo70+1
libvncserver0:amd64 0.9.9+dfsg-1+deb7u1
libvo-aacenc0:amd64 0.1.2-1
libvo-amrwbenc0:amd64 0.1.2-1
libvorbis0a:amd64 1.3.2-1.3
libvorbisenc2:amd64 1.3.2-1.3
libvorbisfile3:amd64 1.3.2-1.3
libvpx1:amd64 1.1.0-1
libwbclient0:amd64 2:3.6.6-6+deb7u4
libwebp2:amd64 0.1.3-3+nmu1
libwrap0:amd64 7.6.q-24
libwww-perl 6.04-1
libwww-robotrules-perl 6.01-1
libx11-6:amd64 2:1.5.0-1+deb7u1
libx11-data 2:1.5.0-1+deb7u1
libx11-dev:amd64 2:1.5.0-1+deb7u1
libx11-doc 2:1.5.0-1+deb7u1
libx11-protocol-perl 0.56-4
libx11-xcb1:amd64 2:1.5.0-1+deb7u1
libx264-123:amd64 2:0.123.2189+git35cf912-1
libx86-1:amd64 1.1+ds1-10
libxapian22 1.2.12-2
libxau-dev:amd64 1:1.0.7-1
libxau6:amd64 1:1.0.7-1
libxaw7:amd64 2:1.0.10-2
libxcb-glx0:amd64 1.8.1-2+deb7u1
libxcb-render0:amd64 1.8.1-2+deb7u1
libxcb-shape0:amd64 1.8.1-2+deb7u1
libxcb-shm0:amd64 1.8.1-2+deb7u1
libxcb1:amd64 1.8.1-2+deb7u1
libxcb1-dev:amd64 1.8.1-2+deb7u1
libxcomposite1:amd64 1:0.4.3-2
libxcursor1:amd64 1:1.1.13-1+deb7u1
libxdamage1:amd64 1:1.1.3-2
libxdmcp-dev:amd64 1:1.1.1-1
libxdmcp6:amd64 1:1.1.1-1
libxdo2 1:2.20100701.2961-3+deb7u3
libxen-4.1 4.1.4-3+deb7u3
libxen-dev 4.1.4-3+deb7u3
libxenstore3.0 4.1.4-3+deb7u3
libxext6:amd64 2:1.3.1-2+deb7u1
libxfixes3:amd64 1:5.0-4+deb7u1
libxfont1 1:1.4.5-4
libxft2:amd64 2.3.1-1
libxi6:amd64 2:1.6.1-1+deb7u1
libxinerama1:amd64 2:1.1.2-1+deb7u1
libxkbfile1:amd64 1:1.0.8-1
libxml-namespacesupport-perl 1.09-3
libxml-parser-perl 2.41-1+b1
libxml-sax-base-perl 1.07-1
libxml-sax-expat-perl 0.40-2
libxml-sax-perl 0.99+dfsg-2
libxml-simple-perl 2.20-1
libxml-twig-perl 1:3.39-1
libxml-xpathengine-perl 0.13-1
libxml2:amd64 2.8.0+dfsg1-7+wheezy2
libxml2-dev:amd64 2.8.0+dfsg1-7+wheezy2
libxml2-utils 2.8.0+dfsg1-7+wheezy2
libxmu6:amd64 2:1.1.1-1
libxmuu1:amd64 2:1.1.1-1
libxpm4:amd64 1:3.5.10-1
libxrandr2:amd64 2:1.3.2-2+deb7u1
libxrender1:amd64 1:0.9.7-1+deb7u1
libxslt1-dev 1.1.26-14.1
libxslt1.1:amd64 1.1.26-14.1
libxss1:amd64 1:1.2.2-1
libxt-dev:amd64 1:1.1.3-1+deb7u1
libxt6:amd64 1:1.1.3-1+deb7u1
libxtst6:amd64 2:1.2.1-1+deb7u1
libxv1:amd64 2:1.0.7-1+deb7u1
libxvidcore4:amd64 2:1.3.2-9
libxvmc1 2:1.0.7-1+deb7u2
libxxf86dga1:amd64 2:1.1.3-2+deb7u1
libxxf86vm1:amd64 1:1.1.2-1+deb7u1
libyajl2 2.0.4-2
libyaml-0-2:amd64 0.1.4-2+deb7u5
libyaml-libyaml-perl 0.38-3+deb7u3
libyaml-perl 0.81-1
libyaml-syck-perl 1.20-1
lintian 2.5.10.4
linux-base 3.5
linux-image-3.2.0-4-amd64 3.2.65-1
linux-image-amd64 3.2+46
linux-libc-dev:amd64 3.2.65-1
locales 2.13-38+deb7u6
login 1:4.1.5.1-1
logrotate 3.8.1-4
lsb-base 4.1+Debian8+deb7u1
lsb-release 4.1+Debian8+deb7u1
lsof 4.86+dfsg-1
lvm2 2.02.95-8
m4 1.4.16-3
make 3.81-8.2
man-db 2.6.2-1
manpages 3.44-1
manpages-dev 3.44-1
mawk 1.3.3-17
mime-support 3.52-1+deb7u1
module-init-tools 9-3
mount 2.20.1-5.3
mplayer 2:1.0~rc4.dfsg1+svn34540-1+b2
mtools 4.0.17-1
multiarch-support 2.13-38+deb7u6
nano 2.2.6-1+b1
ncurses-base 5.9-10
ncurses-bin 5.9-10
ncurses-term 5.9-10
net-tools 1.60-24.2
netbase 5.0
netcat-openbsd 1.105-7
netcat-traditional 1.10-40
netpbm 2:10.0-15+b1
ntfs-3g 1:2012.1.15AR.5-2.1
ntp 1:4.2.6.p5+dfsg-2+deb7u1
openjdk-6-jdk:amd64 6b27-1.12.5-1
openjdk-6-jre:amd64 6b27-1.12.5-1
openjdk-6-jre-headless:amd64 6b27-1.12.5-1
openjdk-6-jre-lib 6b27-1.12.5-1
openjdk-7-jre:amd64 7u3-2.1.7-1
openjdk-7-jre-headless:amd64 7u3-2.1.7-1
openjdk-7-jre-lib 7u3-2.1.7-1
openssh-blacklist 0.4.1+nmu1
openssh-blacklist-extra 0.4.1+nmu1
openssh-client 1:6.0p1-4+deb7u2
openssh-server 1:6.0p1-4+deb7u2
openssl 1.0.1e-2+deb7u13
os-prober 1.58
ovmf 0~20131112.2590861a-3
parted 2.3-12
passwd 1:4.1.5.1-1
patch 2.6.1-3
patchutils 0.3.2-1.1
pciutils 1:3.1.9-6
perl 5.14.2-21+deb7u2
perl-base 5.14.2-21+deb7u2
perl-modules 5.14.2-21+deb7u2
perlmagick 8:6.7.7.10-5+deb7u3
pkg-config 0.26-1
pm-utils 1.4.1-9
po-debconf 1.0.16+nmu2
po4a 0.42-1
policykit-1 0.105-3
policykit-1-gnome 0.105-2
poppler-data 0.4.5-10
powermgmt-base 1.31
procps 1:3.3.3-3
psmisc 22.19-1+deb7u1
python 2.7.3-4+deb7u1
python-apt 0.8.8.2
python-apt-common 0.8.8.2
python-central 0.6.17
python-chardet 2.0.1-2
python-debian 0.1.21
python-dnspython 1.10.0-1
python-jabberbot 0.15-1
python-magic 5.11-2+deb7u6
python-minimal 2.7.3-4+deb7u1
python-otr 0.2.1-1+b2
python-support 1.0.15
python-xmpp 0.4.1-cvs20080505.2
python2.7 2.7.3-6+deb7u2
python2.7-minimal 2.7.3-6+deb7u2
python3 3.2.3-6
python3-minimal 3.2.3-6
python3-polib 1.0.0-2
python3.2 3.2.3-7
python3.2-minimal 3.2.3-7
qemu-kvm 2.1+dfsg-9~bpo70+1
qemu-system-common 2.1+dfsg-9~bpo70+1
qemu-system-x86 2.1+dfsg-9~bpo70+1
qemu-utils 2.1+dfsg-9~bpo70+1
radvd 1:1.8.5-1
readline-common 6.2+dfsg-0.1
reiserfsprogs 1:3.6.21-1
rsync 3.0.9-4
rsyslog 5.8.11-3+deb7u2
ruby 1:1.9.3
ruby-blankslate 2.1.2.4-4
ruby-builder 3.0.0-3
ruby-diff-lcs 1.1.3-1
ruby-gherkin 2.12.1-1~bpo70+1
ruby-guestfs 1:1.18.1-1+deb7u3
ruby-json 1.7.3-3
ruby-libvirt 0.4.0-1
ruby-multi-json 1.8.0-1~bpo70+1
ruby-net-irc 0.0.9-2
ruby-oj 2.0.10-1~bpo70+1
ruby-packetfu 1.1.8-1~bpo70+1
ruby-pcaprub 0.11.3-1~bpo70+1
ruby-rjb 1.4.8-1~bpo70+1
ruby-rspec 2.10.0-2
ruby-rspec-core 2.10.1-2
ruby-rspec-expectations 2.10.0-2
ruby-rspec-mocks 2.10.1-2
ruby-yajl 1.1.0-2
ruby1.9.1 1.9.3.194-8.1+deb7u2
sane-utils 1.0.22-7.4
scrub 2.4.1-1
seabios 1.7.5-1~bpo70+1
sed 4.2.1-10
sensible-utils 0.0.7
sgml-base 1.26+nmu4
shared-mime-info 1.0-1+b1
sharutils 1:4.11.1-1
sp 1.3.4-1.2.1-47.1+b1
strace 4.5.20-2.3
sudo 1.8.5p2-1+nmu1
syslinux 2:4.05+dfsg-6+deb7u1
syslinux-common 2:4.05+dfsg-6+deb7u1
sysv-rc 2.88dsf-41+deb7u1
sysvinit 2.88dsf-41+deb7u1
sysvinit-utils 2.88dsf-41+deb7u1
tar 1.26+dfsg-0.1
tasksel 3.14.1
tasksel-data 3.14.1
tcl 8.5.0-2.1
tcl8.5 8.5.11-2
tcpd 7.6.q-24
tcpdump 4.3.0-1+deb7u1
tesseract-ocr-eng 3.02-2
time 1.7-24
tk 8.5.0-2.1
tk8.5 8.5.11-2
tmux 1.6-2
traceroute 1:2.0.18-3
tsconf 1.0-11
ttf-dejavu-core 2.33-3
ttf-dejavu-extra 2.33-3
tzdata 2014j-0wheezy1
tzdata-java 2014j-0wheezy1
ucf 3.0025+nmu3
udev 175-7.2
udisks 1.0.4-7wheezy1
unclutter 8-18
unzip 6.0-8+deb7u1
update-inetd 4.43
usbutils 1:005-3
util-linux 2.20.1-5.3
vbetool 1.1-2
vgabios 0.7a-3
vim 2:7.3.547-7
vim-common 2:7.3.547-7
vim-runtime 2:7.3.547-7
vim-tiny 2:7.3.547-7
virt-viewer 0.5.3-1
wdiff 1.1.2-1
wget 1.13.4-3+deb7u2
whiptail 0.52.14-11.1
whois 5.1.1~deb7u1
wmctrl 1.07-7
wwwconfig-common 0.2.2
x11-apps 7.7~2
x11-common 1:7.7+3~deb7u1
x11-utils 7.7~1
x11-xkb-utils 7.7~1
x11-xserver-utils 7.7~3
x11proto-core-dev 7.0.23-1
x11proto-input-dev 2.2-1
x11proto-kb-dev 1.0.6-2
x11vnc 0.9.13-1
x11vnc-data 0.9.13-1
xauth 1:1.0.7-1
xbitmaps 1.1.1-1
xdg-utils 1.1.0~rc1+git20111210-6+deb7u1
xdotool 1:2.20100701.2961-3+deb7u3
xfonts-base 1:1.0.3
xfonts-encodings 1:1.0.4-1
xfonts-utils 1:7.7~1
xfsdump 3.0.6
xfsprogs 3.1.7+b1
xkb-data 2.5.1-3
xml-core 0.13+nmu2
xorg-sgml-doctools 1:1.10-1
xserver-common 2:1.12.4-6+deb7u5
xterm 278-4
xtightvncviewer 1.3.9-6.4
xtrans-dev 1.2.7-1
xvfb 2:1.12.4-6+deb7u5
xz-utils 5.1.1alpha+20120614-2
zerofree 1.0.2-1
zfs-fuse 0.7.0-8
zlib1g:amd64 1:1.2.7.dfsg-13
root@testsuite:~# debsums -s
root@testsuite:~# echo $?
0
#11 Updated by kytv 2015-03-03 22:18:57
I made the following change to the debug patch
+ STDERR.puts "XXX @opts.nsaproof test: '#{@opts.nsaproof}' (#{@opts.nsaproof.class})"
XXX Net::IRC::Client options:
#<OpenStruct nick="ZRyzX3Qjm5", user="ZRyzX3Qjm5", real="ZRyzX3Qjm5", spam_target="enry", pass=nil>
XXX -----
XXX @opts.nsaproof test: '' (NilClass)
XXX Got *no* exception
in irb
root@testsuite:/home/kytv/tails# irb
irb(main):001:0> require 'ostruct'
=> true
irb(main):002:0> h = Hash.new
=> {}
irb(main):003:0> s = OpenStruct.new(h)
=> #<OpenStruct>
irb(main):004:0> s.pass.display
=> nil
#12 Updated by kytv 2015-03-04 00:25:54
In a brand-new Wheezy VM created by
- installing Debian Wheezy, choosing the
SSH server
andStandrd system utilities
tasks - following https://tails.boum.org/contribute/release_process/test/setup/ with the fixes at
Bug #9010:
XXX Net::IRC::Client options:
#<OpenStruct nick="ipbIkFSTWWcvC", user="ipbIkFSTWWcvC", real="ipbIkFSTWWcvC", spam_target="quela", pass=nil>
XXX -----
XXX @opts.pass test: 'true' (TrueClass)
XXX Got *no* exception
And the "irc.oftc.net" account only responds to PING and VERSION CTCP requests # features/step_definitions/pidgin.rb:116
undefined method `tr' for true:TrueClass (NoMethodError)
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:108:in `block in post'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:104:in `map'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:104:in `post'
/usr/lib/ruby/vendor_ruby/net/irc/client.rb:29:in `start'
./features/support/helpers/ctcp_helper.rb:16:in `start'
./features/step_definitions/pidgin.rb:143:in `block (2 levels) in <top (required)>'
/usr/lib/ruby/1.9.1/timeout.rb:68:in `timeout'
./features/step_definitions/pidgin.rb:142:in `/^the "([^"]*)" account only responds to PING and VERSION CTCP requests$/'
features/pidgin.feature:29:in `And the "irc.oftc.net" account only responds to PING and VERSION CTCP request
#13 Updated by anonym 2015-03-04 18:45:02
- Assignee changed from anonym to kytv
- QA Check changed from Dev Needed to Info Needed
Ok, this is all very ridiculous. Before we start the painful process of comparing packages, what happens if you run the following from Tails source root, e.g. in an irb
session:
require 'set'
require "#{Dir.pwd}/features/support/helpers/ctcp_helper.rb"
bot_nick = "e2ucs63jfdke9m"
spam_target = "KillYourTV"
bot_opts = {
:nick => bot_nick,
:user => bot_nick,
:real => bot_nick,
:spam_target => spam_target
}
bot = CtcpSpammer.new("irc.oftc.net", 6667, bot_opts)
bot.start
If it still fails, please save the full output of the session and attach it to this ticket.
#14 Updated by kytv 2015-03-05 18:08:52
- Assignee changed from kytv to anonym
- QA Check changed from Info Needed to Dev Needed
anonym wrote:
> Ok, this is all very ridiculous.
I don’t disagree with that. :)
Doing it in irb
yielded much better results.
root@testsuite:/home/kytv/tails# irb
irb(main):001:0> require 'set'
=> true
irb(main):002:0> require "#{Dir.pwd}/features/support/helpers/ctcp_helper.rb"
=> true
irb(main):003:0> bot_nick = "e2ucs63jfdke9m"
=> "e2ucs63jfdke9m"
irb(main):004:0> spam_target = "KillYourTV"
=> "KillYourTV"
irb(main):005:0> bot_opts = {
irb(main):006:1* :nick => bot_nick,
irb(main):007:1* :user => bot_nick,
irb(main):008:1* :real => bot_nick,
irb(main):009:1* :spam_target => spam_target
irb(main):010:1> }
=> {:nick=>"e2ucs63jfdke9m", :user=>"e2ucs63jfdke9m", :real=>"e2ucs63jfdke9m", :spam_target=>"KillYourTV"}
irb(main):011:0> bot = CtcpSpammer.new("irc.oftc.net", 6667, bot_opts)
=> #<CtcpSpammer:0x0000000213b9e0 @spam_target="KillYourTV", @ctcp_replies=#<Set: {}>, @host="irc.oftc.net", @port=6667, @opts=#<OpenStruct nick="e2ucs63jfdke9m", user="e2ucs63jfdke9m", real="e2ucs63jfdke9m", spam_target="KillYourTV">, @log=#<Logger:0x0000000213aef0 @progname=nil, @level=0, @default_formatter=#<Logger::Formatter:0x0000000213aec8 @datetime_format=nil>, @formatter=nil, @logdev=#<Logger::LogDevice:0x0000000213ae78 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:<STDOUT>>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x0000000213ae50 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x0000000213ae00>>>>, @server_config=#<Net::IRC::Message::ServerConfig:0x00000002102640 @config={}, @mode_parser=#<Net::IRC::Message::ModeParser:0x00000002032ff8 @modes={:b=>0, :e=>0, :I=>0, :R=>0, :k=>1, :l=>2, :i=>3, :m=>3, :n=>3, :p=>3, :s=>3, :t=>3, :a=>3, :q=>3, :r=>3}, @op_to_mark_map={:o=>:"@", :v=>:+}, @mark_to_op_map={:"@"=>:o, :+=>:v}>>, @channels={}>
irb(main):012:0> bot.start
XXX Net::IRC::Client options:
#<OpenStruct nick="e2ucs63jfdke9m", user="e2ucs63jfdke9m", real="e2ucs63jfdke9m", spam_target="KillYourTV">
XXX -----
XXX @opts.pass test: '' (NilClass)
XXX Got *no* exception
D, [2015-03-04T21:46:23.106250 #2755] DEBUG -- : SEND: NICK e2ucs63jfdke9m
D, [2015-03-04T21:46:23.106658 #2755] DEBUG -- : SEND: USER e2ucs63jfdke9m 0 * e2ucs63jfdke9m
D, [2015-03-04T21:46:23.165055 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net NOTICE AUTH :*** Looking up your hostname...
D, [2015-03-04T21:46:23.165496 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net NOTICE AUTH :*** Checking Ident
D, [2015-03-04T21:46:23.222866 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net NOTICE AUTH :*** No Ident response
D, [2015-03-04T21:46:23.318960 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net NOTICE AUTH :*** Found your hostname
D, [2015-03-04T21:46:23.319630 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 001 e2ucs63jfdke9m :Welcome to the OFTC Internet Relay Chat Network e2ucs63jfdke9m
D, [2015-03-04T21:46:23.330263 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 002 e2ucs63jfdke9m :Your host is coulomb.oftc.net[109.74.200.93/6667], running version hybrid-7.2.2+oftc1.6.16
D, [2015-03-04T21:46:23.330626 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 003 e2ucs63jfdke9m :This server was created Sep 10 2014 at 11:33:33
D, [2015-03-04T21:46:23.330794 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 004 e2ucs63jfdke9m coulomb.oftc.net hybrid-7.2.2+oftc1.6.16 CDGPRSabcdfgiklnorsuwxyz biklmnopstveI bkloveI
D, [2015-03-04T21:46:23.330969 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 005 e2ucs63jfdke9m CALLERID CASEMAPPING=rfc1459 DEAF=D KICKLEN=160 MODES=4 NICKLEN=30 PREFIX=(ov)@+ STATUSMSG=@+ TOPICLEN=390 NETWORK=OFTC MAXLIST=beI:100 MAXTARGETS=1 CHANTYPES=# :are supported by this server
D, [2015-03-04T21:46:23.331333 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 005 e2ucs63jfdke9m CHANLIMIT=#:70 CHANNELLEN=50 CHANMODES=eIqb,k,l,imnpstMRS AWAYLEN=160 KNOCK ELIST=CMNTU SAFELIST EXCEPTS=e INVEX=I :are supported by this server
D, [2015-03-04T21:46:23.331568 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 042 e2ucs63jfdke9m 2FBAAAD94 :your unique ID
D, [2015-03-04T21:46:23.331700 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 251 e2ucs63jfdke9m :There are 37 users and 11005 invisible on 18 servers
D, [2015-03-04T21:46:23.331815 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 252 e2ucs63jfdke9m 20 :IRC Operators online
D, [2015-03-04T21:46:23.332215 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 253 e2ucs63jfdke9m 1 :unknown connection(s)
D, [2015-03-04T21:46:23.332376 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 254 e2ucs63jfdke9m 2356 :channels formed
D, [2015-03-04T21:46:23.332601 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 255 e2ucs63jfdke9m :I have 673 clients and 1 servers
D, [2015-03-04T21:46:23.332825 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 265 e2ucs63jfdke9m :Current local users: 673 Max: 689
D, [2015-03-04T21:46:23.333017 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 266 e2ucs63jfdke9m :Current global users: 11042 Max: 11229
D, [2015-03-04T21:46:23.333209 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 250 e2ucs63jfdke9m :Highest connection count: 690 (689 clients) (5179 connections received)
D, [2015-03-04T21:46:23.333404 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 375 e2ucs63jfdke9m :- coulomb.oftc.net Message of the Day -
D, [2015-03-04T21:46:23.333617 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- O
D, [2015-03-04T21:46:23.333801 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- \ The Open and Free
D, [2015-03-04T21:46:23.334008 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- O
D, [2015-03-04T21:46:23.334241 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- /| Technology Community
D, [2015-03-04T21:46:23.334443 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- O-O O
D, [2015-03-04T21:46:23.331996 #2755] DEBUG -- : SEND: NOTICE KillYourTV :Hi! I'm gonna test your CTCP capabilities now.
D, [2015-03-04T21:46:23.334718 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :-
D, [2015-03-04T21:46:23.335148 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- Welcome to OFTC's IRC network.
D, [2015-03-04T21:46:23.335358 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :-
D, [2015-03-04T21:46:23.335590 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- The Open and Free Technology Community was founded at the
D, [2015-03-04T21:46:23.335799 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- end of 2001 by a group of experienced members of the Open
D, [2015-03-04T21:46:23.336068 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- Source and Free Software communities; it is aimed at
D, [2015-03-04T21:46:23.336260 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- providing these communities with better communication,
D, [2015-03-04T21:46:23.336450 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- development, and support infrastructure. Our goal is to
D, [2015-03-04T21:46:23.336642 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- provide stable services to members of the community in any
D, [2015-03-04T21:46:23.336848 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- part of the world, while listening closely to their needs
D, [2015-03-04T21:46:23.337002 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- and desires.
D, [2015-03-04T21:46:23.337222 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :-
D, [2015-03-04T21:46:23.337406 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- We are not a general purpose chat platform, but a topical
D, [2015-03-04T21:46:23.337595 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- network intent on providing the open source and free
D, [2015-03-04T21:46:23.337783 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- software communities a means to cooperate and communicate.
D, [2015-03-04T21:46:23.337965 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- As such, illegal and off-topic activity, such as warez
D, [2015-03-04T21:46:23.338169 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- trading, may result in being barred from access.
D, [2015-03-04T21:46:23.338478 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :-
D, [2015-03-04T21:46:23.338677 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- For more information on OFTC, please visit http://www.oftc.net/.
D, [2015-03-04T21:46:23.338869 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :-
D, [2015-03-04T21:46:23.339055 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- If you require assistance stop by in channel #oftc, or email
D, [2015-03-04T21:46:23.339243 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- support@oftc.net with details.
D, [2015-03-04T21:46:23.339590 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :-
D, [2015-03-04T21:46:23.339795 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- Thanks and enjoy your stay,
D, [2015-03-04T21:46:23.340012 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :-
D, [2015-03-04T21:46:23.340087 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 372 e2ucs63jfdke9m :- The OFTC team
D, [2015-03-04T21:46:23.340163 #2755] DEBUG -- : RECEIVE: :coulomb.oftc.net 376 e2ucs63jfdke9m :End of /MOTD command.
D, [2015-03-04T21:46:23.340223 #2755] DEBUG -- : RECEIVE: :e2ucs63jfdke9m!~e2ucs63jf@MYHOST MODE e2ucs63jfdke9m :+i
D, [2015-03-04T21:46:25.335423 #2755] DEBUG -- : SEND: PRIVMSG KillYourTV FINGER
D, [2015-03-04T21:46:27.336205 #2755] DEBUG -- : SEND: PRIVMSG KillYourTV SOURCE
D, [2015-03-04T21:46:27.693526 #2755] DEBUG -- : RECEIVE: :KillYourTV!~kytv@00019721.user.oftc.net NOTICE e2ucs63jfdke9m :SOURCE http://weechat.org/download
undefined method `match' for nil:NilClass
/home/ky/usr/bin/irb:12:in `<main>'69:in `start'in start'top_level_statement'tatement'_statement'
NoMethodError: undefined method `match' for nil:NilClass
from /home/kytv/tails/features/support/helpers/ctcp_helper.rb:69:in `block in on_message'
from /home/kytv/tails/features/support/helpers/ctcp_helper.rb:67:in `each'
from /home/kytv/tails/features/support/helpers/ctcp_helper.rb:67:in `on_message'
from /usr/lib/ruby/vendor_ruby/net/irc/client.rb:36:in `start'
from /home/kytv/tails/features/support/helpers/ctcp_helper.rb:16:in `start'
from (irb):12
from /usr/bin/irb:12:in `<main>'
irb(main):013:0> D, [2015-03-04T21:46:29.336915 #2755] DEBUG -- : SEND: PRIVMSG KillYourTV USERINFO
#15 Updated by anonym 2015-03-06 05:40:21
kytv wrote:
> D, [2015-03-04T21:46:27.693526 #2755] DEBUG -- : RECEIVE: :KillYourTV!~kytv
00019721.user.oftc.net NOTICE e2ucs63jfdke9m :SOURCE http://weechat.org/download@
> undefined method `match' for nil:NilClass
Ah, hah! This exposed an issue, i.e. this error will happen whenever a client responds to an unexpected CTCP request, but actually we should get a much better error. Pushed a fix in commit f514f20.
Still, that had nothing to do with the bigger issue, i.e. this @opts.pass
madness. I suppose I’ll take a look at the packages diff between our systems tomorrow or so. In the meantime, feel free to dist-upgrade
and attach the package list as a file to this ticket. The ticket is getting crazy long now => bad for readability.
#16 Updated by kytv 2015-03-06 11:09:56
- File <del>missing: apt.show.versions</del> added
- File <del>missing: dpkg-l</del> added
The test VM is up-to-date as of Fri Mar 6 11:04:30 UTC 2015
.
The output from apt-show-versions
would be handier for diff reviewing.
#17 Updated by kytv 2015-03-06 11:12:03
- File deleted (
dpkg-l)
#18 Updated by kytv 2015-03-06 11:12:11
- File deleted (
apt.show.versions)
#19 Updated by kytv 2015-03-06 11:12:38
- File apt.show.versions added
- File dpkg-l added
#20 Updated by anonym 2015-03-06 12:44:27
TODO/REMINDER: once test/8000-8001-pidgin-xmp-otr
(or test/8001-8002-pidgin-xmp-otr
if we rename it; see Feature #8001, Feature #8002) is merged into stable
, merge stable
into test/7820-pidgin-irc-ctcp
and make use of the generate_random_{alpha,alnum}_string()
functions in the the XXX account only responds to PING and VERSION CTCP requests
step.
#21 Updated by anonym 2015-03-06 16:30:05
I’ve looked at the package diff, and I can see no interesting differences. In particular, I have the exact same version of all ruby related packages you install, but I have the following packages in addition:
libnokogiri-ruby 1.5.5-1
libpcap-ruby 0.7.0-2
libqtruby4shared2 4:4.8.4-1
plasma-scriptengine-ruby 4:4.8.4-6
ruby1.8 1.8.7.358-7.1+deb7u1
ruby1.8-dev 1.8.7.358-7.1+deb7u1
ruby1.9.1-dev 1.9.3.194-8.1+deb7u2
ruby-childprocess 0.5.5-1
ruby-dev 1:1.9.3
ruby-erubis 2.7.0-2
ruby-ffi 1.0.11debian-5
rubygems 1.8.24-1
ruby-git 1.2.5-2
ruby-gpgme 2.0.0-2
ruby-i18n 0.6.0-3+deb7u1
ruby-kde4 4:4.8.4-1
ruby-log4r 1.1.10-2
ruby-metaclass 0.0.1-2
ruby-mocha 0.11.3-3
ruby-multi-test 0.1.1-1
ruby-net-scp 1.2.1-1
ruby-net-ssh 1:2.6.8-2
ruby-nokogiri 1.5.5-1
ruby-pcap 0.7.0-2
ruby-plasma 4:4.8.4-1
ruby-polyglot 0.3.3-3
ruby-qt4 4:4.8.4-1
ruby-qt4-webkit 4:4.8.4-1
ruby-systemtimer 1.2.3-1
ruby-test-unit 2.5.0-2
ruby-treetop 1.4.10-5
I doubt installing them will make any difference, but it may be worth a try.
For lizard.isotester1
, the diff is
--- isotester1
+++ kytv
-libruby1.8 1.8.7.358-7.1+deb7u2
-libruby1.9.1 1.9.3.194-8.1+deb7u3
+libruby1.8 1.8.7.358-7.1+deb7u1
+libruby1.9.1 1.9.3.194-8.1+deb7u2
-ruby1.8 1.8.7.358-7.1+deb7u2
-ruby1.9.1 1.9.3.194-8.1+deb7u3
-ruby-activerecord-2.3 2.3.14-6
-ruby-activesupport-2.3 2.3.14-7
+ruby1.9.1 1.9.3.194-8.1+deb7u2
-ruby-i18n 0.6.0-3+deb7u1
-ruby-memcache-client 1.8.5-2
+ruby-net-irc 0.0.9-2
-ruby-shadow 2.1.4-2
-ruby-tzinfo 0.3.33-3
Which doesn’t look very interesting either. I have yet to run this branch on isotester1
though.
#22 Updated by kytv 2015-03-06 19:47:38
- Assignee changed from anonym to kytv
- QA Check changed from Dev Needed to Info Needed
anonym wrote:
> I’ve looked at the package diff, and I can see no interesting differences. In particular, I have the exact same version of all ruby related packages you install, but I have the following packages in addition:
\ø/ It looks like one of these fixed it. Now to go through them and find out which one allowed it to work.
#23 Updated by intrigeri 2015-03-06 20:02:13
> \ø/ It looks like one of these fixed it. Now to go through them and find out which one allowed it to work.
I suspect some package has a missing dependency. If we can find out which one, I’d like to help fix that bug in Jessie, if we can reproduce it there.
#24 Updated by kytv 2015-03-06 20:22:25
Preliminary results: ruby-test-unit/2.5.0-2
is the necessary package. I’ll make another VM to confirm.
#25 Updated by kytv 2015-03-06 22:31:12
- Assignee changed from kytv to anonym
- QA Check changed from Info Needed to Dev Needed
kytv wrote:
> Preliminary results: ruby-test-unit/2.5.0-2
is the necessary package. I’ll make another VM to confirm.
…and confirmed. ruby-test-unit
is needed for this test to run. After this small patch is applied to the setup instructions, +1 on merging. :)
diff --git a/wiki/src/contribute/release_process/test/setup.mdwn b/wiki/src/contribute/release_process/test/setup.mdwn
index 0d8946b..c6202e9 100644
--- a/wiki/src/contribute/release_process/test/setup.mdwn
+++ b/wiki/src/contribute/release_process/test/setup.mdwn
@@ -24,7 +24,7 @@ wheezy-backports sources added:
libxslt1-dev tcpdump unclutter radvd x11-apps syslinux \
libcap2-bin devscripts libvirt-ruby ruby-rspec gawk ntp ovmf/testing \
ruby-json x11vnc xtightvncviewer ffmpeg libavcodec-extra-53 \
- libvpx1 dnsmasq-base openjdk-7-jre ruby-guestfs ruby-net-irc && \
+ libvpx1 dnsmasq-base openjdk-7-jre ruby-guestfs ruby-net-irc ruby-test-unit && \
apt-get -t wheezy-backports install qemu-kvm qemu-system-x86 libvirt0 \
libvirt-dev libvirt-bin seabios ruby-rjb ruby-packetfu cucumber && \
service libvirtd restart
(I presume intrigeri’s eagle eyes may spot something that I’ve missed (even with my having looked at this a multitude of times trying to figure out why this worked for you but not for me)).
As for which Debian package—if any—is missing a dependency on ruby-test-unit
, I don’t have an answer for that.
#26 Updated by anonym 2015-03-07 00:55:47
- Assignee changed from anonym to intrigeri
- QA Check changed from Dev Needed to Ready for QA
kytv wrote:
> kytv wrote:
> > Preliminary results: ruby-test-unit/2.5.0-2
is the necessary package. I’ll make another VM to confirm.
>
> …and confirmed. ruby-test-unit
is needed for this test to run.
I can confirm that uninstalling ruby-test-unit
this! It’s pretty bad of me to not spot it in the list, since I should know that it’s a dependency. Hrm. Thanks for your persistence!
It’s interesting that the test suite works at all when that package is not installed, though, since we require 'test/unit'
in misc_helpers.rb
, but it turns out Ruby has its own ‘test/unit.rb’ (in libruby1.9.1
). We actually include Test::Unit::Assertions
, but with this other variant of test/unit
, it in turn include
:s MiniTest::Assertions
, which defines this function:
def pass msg = nil
assert true
end
which explains everything. Urgh!
It should be noted that include
:ing Test::Unit::Assertions
from the “proper” unit/test
is safe. I did check before suggesting we do it!) since it only defines assert*
, flunk
and build_message
, which shouldn’t collide with other things (i.e. our code or code we require
.
Given how Ruby works, all def
:s at the “lowest” level (i.e. outside any class or method) actually get added into the Object
class (which all other classes inherit), so we actually add goodies like wait_until_tor_is_working
to Object
, so "some string".wait_until_tor_is_working
is a perfectly fine way to call it in our test suite. :) I suppose the right way would be to encapsulate such functions in a module like this:
module Helpers
def self.wait_until_tor_is_working
[...]
end
end
and then call them as Helpers.wait_until_tor_is_working
. The same problem exists for the helper functions we define in the various step definition files (like configured_pidgin_accounts
in pidgin.rb
), so perhaps all helpers should also be added into the Helpers
module at the top of each step definitions file (keeping them in the affected file is imho good for readability); multiple module
statements for the same module name will just keep on building up the same one.
That is, if we care about not polluting Object
and risk more collisions of this kind…
> After this small patch is applied to the setup instructions, +1 on merging. :)
I applied something similar (including a line break to keep the lines short and more consistent with the other ones).
I’m glad this is solved now! Please proceed reviewing the branch, finally! :)
#27 Updated by anonym 2015-03-07 01:04:15
anonym wrote:
> Given how Ruby works, […] I suppose the right way would be to encapsulate such functions in a module […] if we care about not polluting Object
and risk more collisions of this kind.
… which I guess we do, so I opened Feature #9030.
It’s fun to learn a language while doing work intended for “production” in it. :) I have actually known that this is how Ruby works for a couple years by now, but I must say that the way we’ve been defining these helper functions have got so ingrained in my thinking that I never reflected on it in that context. Oh, well. :)
#28 Updated by anonym 2015-03-07 01:18:48
anonym wrote:
> > After this small patch is applied to the setup instructions, +1 on merging. :)
>
> I applied something similar (including a line break to keep the lines short and more consistent with the other ones).
For the record, I changed my mind and pushed it into master, merged it into the feature branch, and resolved the expected conflict.
#30 Updated by kytv 2015-03-08 16:53:42
- Assignee changed from kytv to intrigeri
I’m happy with this at its current stage. Impressive work, as usual. :)
Assigning to intrigeri for his skillful nitpicking.
#31 Updated by intrigeri 2015-03-09 12:36:12
- Assignee changed from intrigeri to anonym
- % Done changed from 50 to 60
- QA Check changed from Ready for QA to Dev Needed
I find the splitting of responsibilities between “only responds to PING and VERSION CTCP requests” and CtcpSpammer
very confusing: reading the former’s implementation, it’s unclear that we’re actually checking Pidgin’s responses — one has to go look into the CtcpSpammer
’s implementation to understand it. Without changing the design completely, this can perhaps be solved by adjusting a bit some naming, e.g.:
- add a
spam_and_check_responses
method inCtcpSpammer
, that is simply a wrapper for thestart
method - use
bot.spam_and_check_responses
in the “account only responds to PING and VERSION CTCP requests” step definition, instead ofbot.start
- rename the
CtcpSpammer
class toCtcpCheck
so it’s clearer what its job is - rename the
bot
variable, in the “account only responds to PING and VERSION CTCP requests” step definition, to something likectcp_check
orctcp_checker
(the fact that it’s implemented as a bot is an implementation detail that doesn’t need to leak into this step definition)
If it’s not too complicated to add, I would greatly appreciate an “anti-test” for the CTCP tests, e.g. checking that we indeed do reply to PING and VERSION (to validate how we’re checking that we do not reply to other commands). My understanding is that currently, if the spammer bot doesn’t receive one of the expected replies, “account only responds to PING and VERSION CTCP requests” will raise an exception with the “[…] failed to spam all CTCP commands within […]” message, which may not be the best way to explain what really happened.
It feels slightly inelegant to forward opts[:spam_target]
to the Net::IRC::Client
constructor, which presumably doesn’t support it and may have unspecified behaviour when passed options it doesn’t understand, or may start validating them some day in the future. Perhaps filter it out when calling super(host, port, opts)
? Feel free to disregard as crazy nitpicking ;)
Just curious: shouldn’t on_rpl_welcome
pass through its argument to super
? I don’t see this argument used anywhere in the function definition, so I’m wondering.
I would rename the ctcp_ret
variable to ctcp_reply
, and ctcp_replies
to received_ctcp_replies
, but no big deal.
In “other than PING or VERSION”, ideally we should not hardcode the list of expected types of reply, but instead build it from EXPECTED_CTCP_REPLIES
.
#32 Updated by intrigeri 2015-03-09 12:36:38
- blocked by
Feature #8001: Automatic tests for OTR in Pidgin added
#33 Updated by intrigeri 2015-03-09 12:36:47
- blocked by
Feature #8002: Automatic tests for XMPP in Pidgin added
#34 Updated by anonym 2015-03-12 17:32:11
- Assignee changed from anonym to intrigeri
- QA Check changed from Dev Needed to Info Needed
intrigeri wrote:
> I find the splitting of responsibilities between “only responds to PING and VERSION CTCP requests” and CtcpSpammer
very confusing: reading the former’s implementation, it’s unclear that we’re actually checking Pidgin’s responses — one has to go look into the CtcpSpammer
’s implementation to understand it.
Ok, I get this. I’ve almost completely rewritten the test and helper class. I think I’ve fixed everything you said except what I explicitly deal with below:
> If it’s not too complicated to add, I would greatly appreciate an “anti-test” for the CTCP tests, e.g. checking that we indeed do reply to PING and VERSION (to validate how we’re checking that we do not reply to other commands). My understanding is that currently, if the spammer bot doesn’t receive one of the expected replies, “account only responds to PING and VERSION CTCP requests” will raise an exception with the “[…] failed to spam all CTCP commands within […]” message, which may not be the best way to explain what really happened.
I don’t get it. The anti-test is (and was) there, because we definitely check that we get the expected replies. You simply want improved error reporting? If so I think we have that now.
> Just curious: shouldn’t on_rpl_welcome
pass through its argument to super
? I don’t see this argument used anywhere in the function definition, so I’m wondering.
When calling super
without arguments, the calling methods arguments are used.
> In “other than PING or VERSION”, ideally we should not hardcode the list of expected types of reply, but instead build it from EXPECTED_CTCP_REPLIES
.
I think this point is moot now, or what do you think?
#35 Updated by intrigeri 2015-03-15 08:29:40
> I don’t get it. The anti-test is (and was) there, because we definitely check that we get the expected replies. You simply want improved error reporting? If so I think we have that now.
Good.
>> In “other than PING or VERSION”, ideally we should not hardcode the list of expected types of reply, but instead build it from EXPECTED_CTCP_REPLIES
.
> I think this point is moot now, or what do you think?
Yes.
Code review passes!
#36 Updated by intrigeri 2015-03-15 08:30:45
- QA Check changed from Info Needed to Ready for QA
#37 Updated by intrigeri 2015-03-15 09:12:27
- blocks deleted (
)Feature #8001: Automatic tests for OTR in Pidgin
#38 Updated by intrigeri 2015-03-15 09:12:30
- blocks deleted (
)Feature #8002: Automatic tests for XMPP in Pidgin
#39 Updated by intrigeri 2015-03-15 09:25:01
- Status changed from In Progress to Fix committed
- Assignee deleted (
intrigeri) - % Done changed from 60 to 100
- QA Check changed from Ready for QA to Pass
#40 Updated by Tails 2015-03-17 08:36:33
Applied in changeset commit:93f895e985d9dfab127ffd1f1c8feb17e3273dde.
#41 Updated by anonym 2015-03-17 08:38:12
It seems you had forgotten to push stable/devel after merging, so I did it so I could do Feature #8966#note-20.
#42 Updated by BitingBird 2015-03-22 11:54:13
- Target version changed from Tails_1.3.2 to Tails_1.3.1
#43 Updated by BitingBird 2015-03-23 01:59:39
- Status changed from Fix committed to Resolved