Some services have underscores in their name
[aids.git] / lib / aids.rb
index 388c2395ee3c54b07275ef4412e56deae7a1f436..ab3e4a50b2e59dbbb6df7a0e786c72a457924a7a 100644 (file)
@@ -1,3 +1,13 @@
+# Copyright (C) 2012  Steven McDonald <steven@steven-mcdonald.id.au>
+#
+# This program is free software. It comes without any warranty, to the
+# extent permitted by applicable law. You can redistribute it and/or
+# modify it under the terms of the Do What The Fuck You Want To Public
+# License, Version 2, as published by Sam Hocevar. See the file COPYING
+# in the root of this program's source distribution for details, or:
+#
+#   http://sam.zoy.org/wtfpl/COPYING
+
 module AIDS
        RUNLEVEL_SINGLE          = :'S'
        RUNLEVEL_MULTI_TO_SINGLE = :'1'
@@ -15,7 +25,7 @@ module AIDS
                                raise AIDS::Infection.new("Service name must be a non-empty string, got #{name.inspect}.")
                        end
                        name = $1 if name =~ %r{^/etc/init\.d/(.+)$}
-                       if name =~ /[^[:alnum:]\-.]/
+                       if name =~ /[^[:alnum:]\-._]/
                                raise AIDS::Infection.new("Invalid init script name: #{name}.")
                        end
                        unless File.exist?("/etc/init.d/#{name}")