wakeonlan 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/bin/wakeonlan CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # $Id: wakeonlan 1 2009-10-27 22:43:55Z hilli $
2
+ # $Id: wakeonlan 2 2009-10-28 13:30:42Z hilli $
3
3
 
4
4
  require 'optparse'
5
5
  require 'rubygems'
@@ -60,10 +60,20 @@ if wakies.to_s.strip.empty?
60
60
  exit 1
61
61
  end
62
62
 
63
+ errors = false
63
64
  @wol = WakeOnLan.new
64
65
  @wol.ethers = options[:ethers] if options[:ethers]
65
66
  @wol.verbose = options[:verbose] if options[:verbose]
66
67
  wakies.split.each do |wake|
67
- @wol.wake(@wol.resolve_to_mac(wake), options[:ip], options[:port])
68
+ mac = @wol.resolve_to_mac(wake)
69
+ if mac != nil
70
+ @wol.wake(mac, options[:ip], options[:port])
71
+ else
72
+ STDERR.puts "Address #{wake} does not resolve or validate"
73
+ errors = true
74
+ end
68
75
  end
69
76
  @wol.close
77
+ if errors
78
+ exit 1
79
+ end
data/lib/wakeonlan.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
- # $Id: wakeonlan.rb 1 2009-10-27 22:43:55Z hilli $
2
+ # $Id: wakeonlan.rb 2 2009-10-28 13:30:42Z hilli $
3
3
  # Jens Hilligsoe <jens@hilli.dk>, 2009
4
4
  #
5
5
  # Based on work by
@@ -14,7 +14,7 @@ class WakeOnLan
14
14
 
15
15
  GEM = "wakeonlan"
16
16
  NAME = "WakeOnLan"
17
- VERSION = "0.0.1"
17
+ VERSION = "0.0.2"
18
18
 
19
19
  attr_reader :socket
20
20
  attr_accessor :ethers
@@ -49,6 +49,7 @@ class WakeOnLan
49
49
  @socket.connect(ip,port)
50
50
  puts "Sending magic packet to #{ip}:#{port} with #{mac}" if @verbose
51
51
  3.times{ socket.send(magic,0) }
52
+ return nil
52
53
  end
53
54
 
54
55
  # Shorthand class method to facilitate WakeOnLan.wake!(MAC) kind of action
@@ -56,6 +57,7 @@ class WakeOnLan
56
57
  wol = WakeOnLan.new
57
58
  wol.wake(resolve_to_mac(mac), ip, port)
58
59
  wol.close
60
+ return nil
59
61
  end
60
62
 
61
63
  # Try to resolve the input given to a MAC address. Input can be either a hostname, IP or MAC address
@@ -71,12 +73,15 @@ class WakeOnLan
71
73
  if File.exist?(@ethers) and File.readable?(@ethers)
72
74
  File.open(@ethers,'r') do |f|
73
75
  f.each_line do |line|
74
- mac, host = line.split
75
- if input.match(host)
76
+ next if line.match(/^#/)
77
+ next if line.match(/^\s$/)
78
+ mac, host = line.chomp.split
79
+ if /^#{input}$/.match(host)
76
80
  return mac
77
81
  end
78
82
  end
79
83
  end
84
+ return nil
80
85
  end
81
86
  end
82
87
 
data/wakeonlan.gemspec CHANGED
@@ -2,11 +2,12 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{wakeonlan}
5
- s.version = "0.0.1"
5
+ s.version = "0.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Jens Hilligsoe"]
9
- s.date = %q{2009-10-27}
9
+ s.cert_chain = ["/home/hilli/.gem/gem-public_cert.pem"]
10
+ s.date = %q{2009-10-28}
10
11
  s.default_executable = %q{wakeonlan}
11
12
  s.description = %q{ WakeOnLAN is a WOL client and library written in pure Ruby.
12
13
  }
@@ -19,6 +20,7 @@ Gem::Specification.new do |s|
19
20
  s.require_paths = ["lib"]
20
21
  s.rubyforge_project = %q{wakeonlan}
21
22
  s.rubygems_version = %q{1.3.5}
23
+ s.signing_key = %q{/home/hilli/.gem/gem-private_key.pem}
22
24
  s.summary = %q{A Wake On LAN (WOL) client and library.}
23
25
 
24
26
  if s.respond_to? :specification_version then
data.tar.gz.sig ADDED
@@ -0,0 +1,2 @@
1
+ {�;�3�<@�w3H� �����L��ԵN�FK��Et k�@��fM�e�ze�ړ�L"df���M��iC�xh;��'T3
2
+ �Z�����������a��s���ʶ��}��Er�����ebd���԰���z���,կ��ydK�,�5�om\����09���s)7�wVb��?�
metadata CHANGED
@@ -1,15 +1,35 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wakeonlan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jens Hilligsoe
8
8
  autorequire:
9
9
  bindir: bin
10
- cert_chain: []
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDJDCCAgygAwIBAgIBADANBgkqhkiG9w0BAQUFADA4MQ0wCwYDVQQDDARqZW5z
14
+ MRMwEQYKCZImiZPyLGQBGRYDZGlyMRIwEAYKCZImiZPyLGQBGRYCZGswHhcNMDkx
15
+ MDA3MTM0NzQ5WhcNMTAxMDA3MTM0NzQ5WjA4MQ0wCwYDVQQDDARqZW5zMRMwEQYK
16
+ CZImiZPyLGQBGRYDZGlyMRIwEAYKCZImiZPyLGQBGRYCZGswggEiMA0GCSqGSIb3
17
+ DQEBAQUAA4IBDwAwggEKAoIBAQDaMMfAzIwXhauDtOrSBPO5FeL0DnI0yr/VLYNs
18
+ xx76XXuBNkDElagYN4R1opuorQsHWH1c8RyDZCNPH60AlQV6kfvLpoaLLZgZiR00
19
+ N7FkcThVrHsQNQfpG/HLWim+f2cFcrRoGzJi1tEHGTlnWIJ/ByEUFhRsV6Vkr+sq
20
+ +SXXnsZLHavVUAS51nGfIBcX4y9AQQHJb23SiETeou6qEaX5k2UA1iCXBuHrvM5I
21
+ AdqvULqQCGKOmefv1k2/s2aSSSmMYGEbIyhgWslaKdrFhUIJZrCUM6h2ba0aHyiu
22
+ b1z4DnEi52bTrGTJzLanKoMM+KUK5fph5CM8aunV6amhnB2RAgMBAAGjOTA3MAkG
23
+ A1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBQ7/Jf2j/nsKDDPyX6caWo2
24
+ MrBN3DANBgkqhkiG9w0BAQUFAAOCAQEAIkPbhF2yqg39nd9iXYzlvj/XRI3dveZ0
25
+ F4crcq2wW4H+rA+lTWpMjBE92VAbFg7faAGJQDtMvXESiBU2KHpuM/ZLMVBQp/+/
26
+ uN4CYKPK8viyjna9deFa/gBREf5ZAnETFMrks9hQ+U3X9leY4FwN6cxg33+h3eY7
27
+ YGAxaw/HYrFOaZW76argQ28Y8MNnQHtpQlxKiVjLqers8Wa2vA1sHkV0/b9PDjHX
28
+ QU9oSBnHjBtt0o96vsO5F/pxZhRcgcHyJFvL6+ORPpZ35b7/7RQJCvLV5j1qlN7B
29
+ tvoU77Ap9SAQDY8mf1pqbtVwJm96YC7ECt4eRf/bgFpLLYSHVbXESw==
30
+ -----END CERTIFICATE-----
11
31
 
12
- date: 2009-10-27 00:00:00 +01:00
32
+ date: 2009-10-28 00:00:00 +01:00
13
33
  default_executable:
14
34
  dependencies:
15
35
  - !ruby/object:Gem::Dependency
metadata.gz.sig ADDED
@@ -0,0 +1 @@
1
+ �"��@;��е� T)��4! '8*ٓ�`T�j�0�H�@NJ�S5I��tE�*�`0I�©KZTfEG�)��&k;Ӫ�O�3�\�����#�X�>1�8��e�N��B�YیR`z?�RNSF6y�W�)�N��j���<ᒦդX��nw@�����6E#K�P�|'��k�������ĸ� �I���o���aN.�xN�t}*%�ċV�Ra��"++ 21H�t|�w^��a�!-h����˳�M<� ��