rufus-lua-win 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
-----------------------------------------------------------------------------
|
|
2
|
+
-- Unified SMTP/FTP subsystem
|
|
3
|
+
-- LuaSocket toolkit.
|
|
4
|
+
-- Author: Diego Nehab
|
|
5
|
+
-- RCS ID: $Id$
|
|
6
|
+
-----------------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------------------------
|
|
9
|
+
-- Declare module and import dependencies
|
|
10
|
+
-----------------------------------------------------------------------------
|
|
11
|
+
local base = _G
|
|
12
|
+
local string = require("string")
|
|
13
|
+
local socket = require("socket")
|
|
14
|
+
local ltn12 = require("ltn12")
|
|
15
|
+
module("socket.tp")
|
|
16
|
+
|
|
17
|
+
-----------------------------------------------------------------------------
|
|
18
|
+
-- Program constants
|
|
19
|
+
-----------------------------------------------------------------------------
|
|
20
|
+
TIMEOUT = 60
|
|
21
|
+
|
|
22
|
+
-----------------------------------------------------------------------------
|
|
23
|
+
-- Implementation
|
|
24
|
+
-----------------------------------------------------------------------------
|
|
25
|
+
-- gets server reply (works for SMTP and FTP)
|
|
26
|
+
local function get_reply(c)
|
|
27
|
+
local code, current, sep
|
|
28
|
+
local line, err = c:receive()
|
|
29
|
+
local reply = line
|
|
30
|
+
if err then return nil, err end
|
|
31
|
+
code, sep = socket.skip(2, string.find(line, "^(%d%d%d)(.?)"))
|
|
32
|
+
if not code then return nil, "invalid server reply" end
|
|
33
|
+
if sep == "-" then -- reply is multiline
|
|
34
|
+
repeat
|
|
35
|
+
line, err = c:receive()
|
|
36
|
+
if err then return nil, err end
|
|
37
|
+
current, sep = socket.skip(2, string.find(line, "^(%d%d%d)(.?)"))
|
|
38
|
+
reply = reply .. "\n" .. line
|
|
39
|
+
-- reply ends with same code
|
|
40
|
+
until code == current and sep == " "
|
|
41
|
+
end
|
|
42
|
+
return code, reply
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
-- metatable for sock object
|
|
46
|
+
local metat = { __index = {} }
|
|
47
|
+
|
|
48
|
+
function metat.__index:check(ok)
|
|
49
|
+
local code, reply = get_reply(self.c)
|
|
50
|
+
if not code then return nil, reply end
|
|
51
|
+
if base.type(ok) ~= "function" then
|
|
52
|
+
if base.type(ok) == "table" then
|
|
53
|
+
for i, v in base.ipairs(ok) do
|
|
54
|
+
if string.find(code, v) then
|
|
55
|
+
return base.tonumber(code), reply
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
return nil, reply
|
|
59
|
+
else
|
|
60
|
+
if string.find(code, ok) then return base.tonumber(code), reply
|
|
61
|
+
else return nil, reply end
|
|
62
|
+
end
|
|
63
|
+
else return ok(base.tonumber(code), reply) end
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
function metat.__index:command(cmd, arg)
|
|
67
|
+
if arg then
|
|
68
|
+
return self.c:send(cmd .. " " .. arg.. "\r\n")
|
|
69
|
+
else
|
|
70
|
+
return self.c:send(cmd .. "\r\n")
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
function metat.__index:sink(snk, pat)
|
|
75
|
+
local chunk, err = c:receive(pat)
|
|
76
|
+
return snk(chunk, err)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
function metat.__index:send(data)
|
|
80
|
+
return self.c:send(data)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
function metat.__index:receive(pat)
|
|
84
|
+
return self.c:receive(pat)
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
function metat.__index:getfd()
|
|
88
|
+
return self.c:getfd()
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
function metat.__index:dirty()
|
|
92
|
+
return self.c:dirty()
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
function metat.__index:getcontrol()
|
|
96
|
+
return self.c
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
function metat.__index:source(source, step)
|
|
100
|
+
local sink = socket.sink("keep-open", self.c)
|
|
101
|
+
local ret, err = ltn12.pump.all(source, sink, step or ltn12.pump.step)
|
|
102
|
+
return ret, err
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
-- closes the underlying c
|
|
106
|
+
function metat.__index:close()
|
|
107
|
+
self.c:close()
|
|
108
|
+
return 1
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
-- connect with server and return c object
|
|
112
|
+
function connect(host, port, timeout, create)
|
|
113
|
+
local c, e = (create or socket.tcp)()
|
|
114
|
+
if not c then return nil, e end
|
|
115
|
+
c:settimeout(timeout or TIMEOUT)
|
|
116
|
+
local r, e = c:connect(host, port)
|
|
117
|
+
if not r then
|
|
118
|
+
c:close()
|
|
119
|
+
return nil, e
|
|
120
|
+
end
|
|
121
|
+
return base.setmetatable({c = c}, metat)
|
|
122
|
+
end
|
|
123
|
+
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
-----------------------------------------------------------------------------
|
|
2
|
+
-- URI parsing, composition and relative URL resolution
|
|
3
|
+
-- LuaSocket toolkit.
|
|
4
|
+
-- Author: Diego Nehab
|
|
5
|
+
-- RCS ID: $Id$
|
|
6
|
+
-----------------------------------------------------------------------------
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------------------------
|
|
9
|
+
-- Declare module
|
|
10
|
+
-----------------------------------------------------------------------------
|
|
11
|
+
local string = require("string")
|
|
12
|
+
local base = _G
|
|
13
|
+
local table = require("table")
|
|
14
|
+
module("socket.url")
|
|
15
|
+
|
|
16
|
+
-----------------------------------------------------------------------------
|
|
17
|
+
-- Module version
|
|
18
|
+
-----------------------------------------------------------------------------
|
|
19
|
+
_VERSION = "URL 1.0.1"
|
|
20
|
+
|
|
21
|
+
-----------------------------------------------------------------------------
|
|
22
|
+
-- Encodes a string into its escaped hexadecimal representation
|
|
23
|
+
-- Input
|
|
24
|
+
-- s: binary string to be encoded
|
|
25
|
+
-- Returns
|
|
26
|
+
-- escaped representation of string binary
|
|
27
|
+
-----------------------------------------------------------------------------
|
|
28
|
+
function escape(s)
|
|
29
|
+
return string.gsub(s, "([^A-Za-z0-9_])", function(c)
|
|
30
|
+
return string.format("%%%02x", string.byte(c))
|
|
31
|
+
end)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
-----------------------------------------------------------------------------
|
|
35
|
+
-- Protects a path segment, to prevent it from interfering with the
|
|
36
|
+
-- url parsing.
|
|
37
|
+
-- Input
|
|
38
|
+
-- s: binary string to be encoded
|
|
39
|
+
-- Returns
|
|
40
|
+
-- escaped representation of string binary
|
|
41
|
+
-----------------------------------------------------------------------------
|
|
42
|
+
local function make_set(t)
|
|
43
|
+
local s = {}
|
|
44
|
+
for i,v in base.ipairs(t) do
|
|
45
|
+
s[t[i]] = 1
|
|
46
|
+
end
|
|
47
|
+
return s
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
-- these are allowed withing a path segment, along with alphanum
|
|
51
|
+
-- other characters must be escaped
|
|
52
|
+
local segment_set = make_set {
|
|
53
|
+
"-", "_", ".", "!", "~", "*", "'", "(",
|
|
54
|
+
")", ":", "@", "&", "=", "+", "$", ",",
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
local function protect_segment(s)
|
|
58
|
+
return string.gsub(s, "([^A-Za-z0-9_])", function (c)
|
|
59
|
+
if segment_set[c] then return c
|
|
60
|
+
else return string.format("%%%02x", string.byte(c)) end
|
|
61
|
+
end)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
-----------------------------------------------------------------------------
|
|
65
|
+
-- Encodes a string into its escaped hexadecimal representation
|
|
66
|
+
-- Input
|
|
67
|
+
-- s: binary string to be encoded
|
|
68
|
+
-- Returns
|
|
69
|
+
-- escaped representation of string binary
|
|
70
|
+
-----------------------------------------------------------------------------
|
|
71
|
+
function unescape(s)
|
|
72
|
+
return string.gsub(s, "%%(%x%x)", function(hex)
|
|
73
|
+
return string.char(base.tonumber(hex, 16))
|
|
74
|
+
end)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
-----------------------------------------------------------------------------
|
|
78
|
+
-- Builds a path from a base path and a relative path
|
|
79
|
+
-- Input
|
|
80
|
+
-- base_path
|
|
81
|
+
-- relative_path
|
|
82
|
+
-- Returns
|
|
83
|
+
-- corresponding absolute path
|
|
84
|
+
-----------------------------------------------------------------------------
|
|
85
|
+
local function absolute_path(base_path, relative_path)
|
|
86
|
+
if string.sub(relative_path, 1, 1) == "/" then return relative_path end
|
|
87
|
+
local path = string.gsub(base_path, "[^/]*$", "")
|
|
88
|
+
path = path .. relative_path
|
|
89
|
+
path = string.gsub(path, "([^/]*%./)", function (s)
|
|
90
|
+
if s ~= "./" then return s else return "" end
|
|
91
|
+
end)
|
|
92
|
+
path = string.gsub(path, "/%.$", "/")
|
|
93
|
+
local reduced
|
|
94
|
+
while reduced ~= path do
|
|
95
|
+
reduced = path
|
|
96
|
+
path = string.gsub(reduced, "([^/]*/%.%./)", function (s)
|
|
97
|
+
if s ~= "../../" then return "" else return s end
|
|
98
|
+
end)
|
|
99
|
+
end
|
|
100
|
+
path = string.gsub(reduced, "([^/]*/%.%.)$", function (s)
|
|
101
|
+
if s ~= "../.." then return "" else return s end
|
|
102
|
+
end)
|
|
103
|
+
return path
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
-----------------------------------------------------------------------------
|
|
107
|
+
-- Parses a url and returns a table with all its parts according to RFC 2396
|
|
108
|
+
-- The following grammar describes the names given to the URL parts
|
|
109
|
+
-- <url> ::= <scheme>://<authority>/<path>;<params>?<query>#<fragment>
|
|
110
|
+
-- <authority> ::= <userinfo>@<host>:<port>
|
|
111
|
+
-- <userinfo> ::= <user>[:<password>]
|
|
112
|
+
-- <path> :: = {<segment>/}<segment>
|
|
113
|
+
-- Input
|
|
114
|
+
-- url: uniform resource locator of request
|
|
115
|
+
-- default: table with default values for each field
|
|
116
|
+
-- Returns
|
|
117
|
+
-- table with the following fields, where RFC naming conventions have
|
|
118
|
+
-- been preserved:
|
|
119
|
+
-- scheme, authority, userinfo, user, password, host, port,
|
|
120
|
+
-- path, params, query, fragment
|
|
121
|
+
-- Obs:
|
|
122
|
+
-- the leading '/' in {/<path>} is considered part of <path>
|
|
123
|
+
-----------------------------------------------------------------------------
|
|
124
|
+
function parse(url, default)
|
|
125
|
+
-- initialize default parameters
|
|
126
|
+
local parsed = {}
|
|
127
|
+
for i,v in base.pairs(default or parsed) do parsed[i] = v end
|
|
128
|
+
-- empty url is parsed to nil
|
|
129
|
+
if not url or url == "" then return nil, "invalid url" end
|
|
130
|
+
-- remove whitespace
|
|
131
|
+
-- url = string.gsub(url, "%s", "")
|
|
132
|
+
-- get fragment
|
|
133
|
+
url = string.gsub(url, "#(.*)$", function(f)
|
|
134
|
+
parsed.fragment = f
|
|
135
|
+
return ""
|
|
136
|
+
end)
|
|
137
|
+
-- get scheme
|
|
138
|
+
url = string.gsub(url, "^([%w][%w%+%-%.]*)%:",
|
|
139
|
+
function(s) parsed.scheme = s; return "" end)
|
|
140
|
+
-- get authority
|
|
141
|
+
url = string.gsub(url, "^//([^/]*)", function(n)
|
|
142
|
+
parsed.authority = n
|
|
143
|
+
return ""
|
|
144
|
+
end)
|
|
145
|
+
-- get query stringing
|
|
146
|
+
url = string.gsub(url, "%?(.*)", function(q)
|
|
147
|
+
parsed.query = q
|
|
148
|
+
return ""
|
|
149
|
+
end)
|
|
150
|
+
-- get params
|
|
151
|
+
url = string.gsub(url, "%;(.*)", function(p)
|
|
152
|
+
parsed.params = p
|
|
153
|
+
return ""
|
|
154
|
+
end)
|
|
155
|
+
-- path is whatever was left
|
|
156
|
+
if url ~= "" then parsed.path = url end
|
|
157
|
+
local authority = parsed.authority
|
|
158
|
+
if not authority then return parsed end
|
|
159
|
+
authority = string.gsub(authority,"^([^@]*)@",
|
|
160
|
+
function(u) parsed.userinfo = u; return "" end)
|
|
161
|
+
authority = string.gsub(authority, ":([^:]*)$",
|
|
162
|
+
function(p) parsed.port = p; return "" end)
|
|
163
|
+
if authority ~= "" then parsed.host = authority end
|
|
164
|
+
local userinfo = parsed.userinfo
|
|
165
|
+
if not userinfo then return parsed end
|
|
166
|
+
userinfo = string.gsub(userinfo, ":([^:]*)$",
|
|
167
|
+
function(p) parsed.password = p; return "" end)
|
|
168
|
+
parsed.user = userinfo
|
|
169
|
+
return parsed
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
-----------------------------------------------------------------------------
|
|
173
|
+
-- Rebuilds a parsed URL from its components.
|
|
174
|
+
-- Components are protected if any reserved or unallowed characters are found
|
|
175
|
+
-- Input
|
|
176
|
+
-- parsed: parsed URL, as returned by parse
|
|
177
|
+
-- Returns
|
|
178
|
+
-- a stringing with the corresponding URL
|
|
179
|
+
-----------------------------------------------------------------------------
|
|
180
|
+
function build(parsed)
|
|
181
|
+
local ppath = parse_path(parsed.path or "")
|
|
182
|
+
local url = build_path(ppath)
|
|
183
|
+
if parsed.params then url = url .. ";" .. parsed.params end
|
|
184
|
+
if parsed.query then url = url .. "?" .. parsed.query end
|
|
185
|
+
local authority = parsed.authority
|
|
186
|
+
if parsed.host then
|
|
187
|
+
authority = parsed.host
|
|
188
|
+
if parsed.port then authority = authority .. ":" .. parsed.port end
|
|
189
|
+
local userinfo = parsed.userinfo
|
|
190
|
+
if parsed.user then
|
|
191
|
+
userinfo = parsed.user
|
|
192
|
+
if parsed.password then
|
|
193
|
+
userinfo = userinfo .. ":" .. parsed.password
|
|
194
|
+
end
|
|
195
|
+
end
|
|
196
|
+
if userinfo then authority = userinfo .. "@" .. authority end
|
|
197
|
+
end
|
|
198
|
+
if authority then url = "//" .. authority .. url end
|
|
199
|
+
if parsed.scheme then url = parsed.scheme .. ":" .. url end
|
|
200
|
+
if parsed.fragment then url = url .. "#" .. parsed.fragment end
|
|
201
|
+
-- url = string.gsub(url, "%s", "")
|
|
202
|
+
return url
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
-----------------------------------------------------------------------------
|
|
206
|
+
-- Builds a absolute URL from a base and a relative URL according to RFC 2396
|
|
207
|
+
-- Input
|
|
208
|
+
-- base_url
|
|
209
|
+
-- relative_url
|
|
210
|
+
-- Returns
|
|
211
|
+
-- corresponding absolute url
|
|
212
|
+
-----------------------------------------------------------------------------
|
|
213
|
+
function absolute(base_url, relative_url)
|
|
214
|
+
if base.type(base_url) == "table" then
|
|
215
|
+
base_parsed = base_url
|
|
216
|
+
base_url = build(base_parsed)
|
|
217
|
+
else
|
|
218
|
+
base_parsed = parse(base_url)
|
|
219
|
+
end
|
|
220
|
+
local relative_parsed = parse(relative_url)
|
|
221
|
+
if not base_parsed then return relative_url
|
|
222
|
+
elseif not relative_parsed then return base_url
|
|
223
|
+
elseif relative_parsed.scheme then return relative_url
|
|
224
|
+
else
|
|
225
|
+
relative_parsed.scheme = base_parsed.scheme
|
|
226
|
+
if not relative_parsed.authority then
|
|
227
|
+
relative_parsed.authority = base_parsed.authority
|
|
228
|
+
if not relative_parsed.path then
|
|
229
|
+
relative_parsed.path = base_parsed.path
|
|
230
|
+
if not relative_parsed.params then
|
|
231
|
+
relative_parsed.params = base_parsed.params
|
|
232
|
+
if not relative_parsed.query then
|
|
233
|
+
relative_parsed.query = base_parsed.query
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
else
|
|
237
|
+
relative_parsed.path = absolute_path(base_parsed.path or "",
|
|
238
|
+
relative_parsed.path)
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
return build(relative_parsed)
|
|
242
|
+
end
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
-----------------------------------------------------------------------------
|
|
246
|
+
-- Breaks a path into its segments, unescaping the segments
|
|
247
|
+
-- Input
|
|
248
|
+
-- path
|
|
249
|
+
-- Returns
|
|
250
|
+
-- segment: a table with one entry per segment
|
|
251
|
+
-----------------------------------------------------------------------------
|
|
252
|
+
function parse_path(path)
|
|
253
|
+
local parsed = {}
|
|
254
|
+
path = path or ""
|
|
255
|
+
--path = string.gsub(path, "%s", "")
|
|
256
|
+
string.gsub(path, "([^/]+)", function (s) table.insert(parsed, s) end)
|
|
257
|
+
for i = 1, table.getn(parsed) do
|
|
258
|
+
parsed[i] = unescape(parsed[i])
|
|
259
|
+
end
|
|
260
|
+
if string.sub(path, 1, 1) == "/" then parsed.is_absolute = 1 end
|
|
261
|
+
if string.sub(path, -1, -1) == "/" then parsed.is_directory = 1 end
|
|
262
|
+
return parsed
|
|
263
|
+
end
|
|
264
|
+
|
|
265
|
+
-----------------------------------------------------------------------------
|
|
266
|
+
-- Builds a path component from its segments, escaping protected characters.
|
|
267
|
+
-- Input
|
|
268
|
+
-- parsed: path segments
|
|
269
|
+
-- unsafe: if true, segments are not protected before path is built
|
|
270
|
+
-- Returns
|
|
271
|
+
-- path: corresponding path stringing
|
|
272
|
+
-----------------------------------------------------------------------------
|
|
273
|
+
function build_path(parsed, unsafe)
|
|
274
|
+
local path = ""
|
|
275
|
+
local n = table.getn(parsed)
|
|
276
|
+
if unsafe then
|
|
277
|
+
for i = 1, n-1 do
|
|
278
|
+
path = path .. parsed[i]
|
|
279
|
+
path = path .. "/"
|
|
280
|
+
end
|
|
281
|
+
if n > 0 then
|
|
282
|
+
path = path .. parsed[n]
|
|
283
|
+
if parsed.is_directory then path = path .. "/" end
|
|
284
|
+
end
|
|
285
|
+
else
|
|
286
|
+
for i = 1, n-1 do
|
|
287
|
+
path = path .. protect_segment(parsed[i])
|
|
288
|
+
path = path .. "/"
|
|
289
|
+
end
|
|
290
|
+
if n > 0 then
|
|
291
|
+
path = path .. protect_segment(parsed[n])
|
|
292
|
+
if parsed.is_directory then path = path .. "/" end
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
if parsed.is_absolute then path = "/" .. path end
|
|
296
|
+
return path
|
|
297
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
------------------------------------------------------------------------------
|
|
2
|
+
-- LuaSec 0.4
|
|
3
|
+
-- Copyright (C) 2006-2009 Bruno Silvestre
|
|
4
|
+
--
|
|
5
|
+
------------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
module("ssl", package.seeall)
|
|
8
|
+
|
|
9
|
+
require("ssl.core")
|
|
10
|
+
require("ssl.context")
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
_VERSION = "0.4"
|
|
14
|
+
_COPYRIGHT = "LuaSec 0.4 - Copyright (C) 2006-2009 Bruno Silvestre\n" ..
|
|
15
|
+
"LuaSocket 2.0.2 - Copyright (C) 2004-2007 Diego Nehab"
|
|
16
|
+
|
|
17
|
+
-- Export functions
|
|
18
|
+
rawconnection = core.rawconnection
|
|
19
|
+
rawcontext = context.rawcontext
|
|
20
|
+
|
|
21
|
+
--
|
|
22
|
+
--
|
|
23
|
+
--
|
|
24
|
+
local function optexec(func, param, ctx)
|
|
25
|
+
if param then
|
|
26
|
+
if type(param) == "table" then
|
|
27
|
+
return func(ctx, unpack(param))
|
|
28
|
+
else
|
|
29
|
+
return func(ctx, param)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
return true
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
--
|
|
36
|
+
--
|
|
37
|
+
--
|
|
38
|
+
function newcontext(cfg)
|
|
39
|
+
local succ, msg, ctx
|
|
40
|
+
-- Create the context
|
|
41
|
+
ctx, msg = context.create(cfg.protocol)
|
|
42
|
+
if not ctx then return nil, msg end
|
|
43
|
+
-- Mode
|
|
44
|
+
succ, msg = context.setmode(ctx, cfg.mode)
|
|
45
|
+
if not succ then return nil, msg end
|
|
46
|
+
-- Load the key
|
|
47
|
+
if cfg.key then
|
|
48
|
+
succ, msg = context.loadkey(ctx, cfg.key, cfg.password)
|
|
49
|
+
if not succ then return nil, msg end
|
|
50
|
+
end
|
|
51
|
+
-- Load the certificate
|
|
52
|
+
if cfg.certificate then
|
|
53
|
+
succ, msg = context.loadcert(ctx, cfg.certificate)
|
|
54
|
+
if not succ then return nil, msg end
|
|
55
|
+
end
|
|
56
|
+
-- Load the CA certificates
|
|
57
|
+
if cfg.cafile or cfg.capath then
|
|
58
|
+
succ, msg = context.locations(ctx, cfg.cafile, cfg.capath)
|
|
59
|
+
if not succ then return nil, msg end
|
|
60
|
+
end
|
|
61
|
+
-- Set the verification options
|
|
62
|
+
succ, msg = optexec(context.setverify, cfg.verify, ctx)
|
|
63
|
+
if not succ then return nil, msg end
|
|
64
|
+
-- Set SSL options
|
|
65
|
+
succ, msg = optexec(context.setoptions, cfg.options, ctx)
|
|
66
|
+
if not succ then return nil, msg end
|
|
67
|
+
-- Set the depth for certificate verification
|
|
68
|
+
if cfg.depth then
|
|
69
|
+
succ, msg = context.setdepth(ctx, cfg.depth)
|
|
70
|
+
if not succ then return nil, msg end
|
|
71
|
+
end
|
|
72
|
+
return ctx
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
--
|
|
76
|
+
--
|
|
77
|
+
--
|
|
78
|
+
function wrap(sock, cfg)
|
|
79
|
+
local ctx, msg
|
|
80
|
+
if type(cfg) == "table" then
|
|
81
|
+
ctx, msg = newcontext(cfg)
|
|
82
|
+
if not ctx then return nil, msg end
|
|
83
|
+
else
|
|
84
|
+
ctx = cfg
|
|
85
|
+
end
|
|
86
|
+
local s, msg = core.create(ctx)
|
|
87
|
+
if s then
|
|
88
|
+
core.setfd(s, sock:getfd())
|
|
89
|
+
sock:setfd(core.invalidfd)
|
|
90
|
+
return s
|
|
91
|
+
end
|
|
92
|
+
return nil, msg
|
|
93
|
+
end
|