overmind 0.1.0-x86_64-darwin

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +21 -0
  3. data/bin/overmind +13 -0
  4. data/lib/overmind/cli.rb +93 -0
  5. data/lib/overmind/version.rb +5 -0
  6. data/lib/overmind.rb +3 -0
  7. data/libexec/overmind +0 -0
  8. data/libexec/prebuilt-tmux/bin/event_rpcgen.py +1925 -0
  9. data/libexec/prebuilt-tmux/bin/tmux +0 -0
  10. data/libexec/prebuilt-tmux/include/evdns.h +45 -0
  11. data/libexec/prebuilt-tmux/include/event.h +83 -0
  12. data/libexec/prebuilt-tmux/include/event2/buffer.h +1077 -0
  13. data/libexec/prebuilt-tmux/include/event2/buffer_compat.h +116 -0
  14. data/libexec/prebuilt-tmux/include/event2/bufferevent.h +1024 -0
  15. data/libexec/prebuilt-tmux/include/event2/bufferevent_compat.h +104 -0
  16. data/libexec/prebuilt-tmux/include/event2/bufferevent_ssl.h +134 -0
  17. data/libexec/prebuilt-tmux/include/event2/bufferevent_struct.h +116 -0
  18. data/libexec/prebuilt-tmux/include/event2/dns.h +751 -0
  19. data/libexec/prebuilt-tmux/include/event2/dns_compat.h +358 -0
  20. data/libexec/prebuilt-tmux/include/event2/dns_struct.h +80 -0
  21. data/libexec/prebuilt-tmux/include/event2/event-config.h +570 -0
  22. data/libexec/prebuilt-tmux/include/event2/event.h +1672 -0
  23. data/libexec/prebuilt-tmux/include/event2/event_compat.h +230 -0
  24. data/libexec/prebuilt-tmux/include/event2/event_struct.h +180 -0
  25. data/libexec/prebuilt-tmux/include/event2/http.h +1192 -0
  26. data/libexec/prebuilt-tmux/include/event2/http_compat.h +94 -0
  27. data/libexec/prebuilt-tmux/include/event2/http_struct.h +152 -0
  28. data/libexec/prebuilt-tmux/include/event2/keyvalq_struct.h +80 -0
  29. data/libexec/prebuilt-tmux/include/event2/listener.h +192 -0
  30. data/libexec/prebuilt-tmux/include/event2/rpc.h +626 -0
  31. data/libexec/prebuilt-tmux/include/event2/rpc_compat.h +61 -0
  32. data/libexec/prebuilt-tmux/include/event2/rpc_struct.h +114 -0
  33. data/libexec/prebuilt-tmux/include/event2/tag.h +146 -0
  34. data/libexec/prebuilt-tmux/include/event2/tag_compat.h +49 -0
  35. data/libexec/prebuilt-tmux/include/event2/thread.h +253 -0
  36. data/libexec/prebuilt-tmux/include/event2/util.h +888 -0
  37. data/libexec/prebuilt-tmux/include/event2/visibility.h +67 -0
  38. data/libexec/prebuilt-tmux/include/evhttp.h +45 -0
  39. data/libexec/prebuilt-tmux/include/evrpc.h +45 -0
  40. data/libexec/prebuilt-tmux/include/evutil.h +39 -0
  41. data/libexec/prebuilt-tmux/include/utf8proc.h +743 -0
  42. data/libexec/prebuilt-tmux/lib/libevent-2.1.7.dylib +0 -0
  43. data/libexec/prebuilt-tmux/lib/libevent.a +0 -0
  44. data/libexec/prebuilt-tmux/lib/libevent.dylib +1 -0
  45. data/libexec/prebuilt-tmux/lib/libevent.la +41 -0
  46. data/libexec/prebuilt-tmux/lib/libevent_core-2.1.7.dylib +0 -0
  47. data/libexec/prebuilt-tmux/lib/libevent_core.a +0 -0
  48. data/libexec/prebuilt-tmux/lib/libevent_core.dylib +1 -0
  49. data/libexec/prebuilt-tmux/lib/libevent_core.la +41 -0
  50. data/libexec/prebuilt-tmux/lib/libevent_extra-2.1.7.dylib +0 -0
  51. data/libexec/prebuilt-tmux/lib/libevent_extra.a +0 -0
  52. data/libexec/prebuilt-tmux/lib/libevent_extra.dylib +1 -0
  53. data/libexec/prebuilt-tmux/lib/libevent_extra.la +41 -0
  54. data/libexec/prebuilt-tmux/lib/libevent_openssl-2.1.7.dylib +0 -0
  55. data/libexec/prebuilt-tmux/lib/libevent_openssl.a +0 -0
  56. data/libexec/prebuilt-tmux/lib/libevent_openssl.dylib +1 -0
  57. data/libexec/prebuilt-tmux/lib/libevent_openssl.la +41 -0
  58. data/libexec/prebuilt-tmux/lib/libevent_pthreads-2.1.7.dylib +0 -0
  59. data/libexec/prebuilt-tmux/lib/libevent_pthreads.a +0 -0
  60. data/libexec/prebuilt-tmux/lib/libevent_pthreads.dylib +1 -0
  61. data/libexec/prebuilt-tmux/lib/libevent_pthreads.la +41 -0
  62. data/libexec/prebuilt-tmux/lib/libutf8proc.3.dylib +0 -0
  63. data/libexec/prebuilt-tmux/lib/libutf8proc.a +0 -0
  64. data/libexec/prebuilt-tmux/lib/libutf8proc.dylib +1 -0
  65. data/libexec/prebuilt-tmux/lib/pkgconfig/libevent.pc +16 -0
  66. data/libexec/prebuilt-tmux/lib/pkgconfig/libevent_core.pc +16 -0
  67. data/libexec/prebuilt-tmux/lib/pkgconfig/libevent_extra.pc +16 -0
  68. data/libexec/prebuilt-tmux/lib/pkgconfig/libevent_openssl.pc +16 -0
  69. data/libexec/prebuilt-tmux/lib/pkgconfig/libevent_pthreads.pc +16 -0
  70. data/libexec/prebuilt-tmux/lib/pkgconfig/libutf8proc.pc +10 -0
  71. data/libexec/prebuilt-tmux/share/man/man1/tmux.1 +7242 -0
  72. data/overmind.gemspec +29 -0
  73. metadata +160 -0
@@ -0,0 +1,104 @@
1
+ /*
2
+ * Copyright (c) 2007-2012 Niels Provos, Nick Mathewson
3
+ * Copyright (c) 2000-2007 Niels Provos <provos@citi.umich.edu>
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions
8
+ * are met:
9
+ * 1. Redistributions of source code must retain the above copyright
10
+ * notice, this list of conditions and the following disclaimer.
11
+ * 2. Redistributions in binary form must reproduce the above copyright
12
+ * notice, this list of conditions and the following disclaimer in the
13
+ * documentation and/or other materials provided with the distribution.
14
+ * 3. The name of the author may not be used to endorse or promote products
15
+ * derived from this software without specific prior written permission.
16
+ *
17
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
+ */
28
+ #ifndef EVENT2_BUFFEREVENT_COMPAT_H_INCLUDED_
29
+ #define EVENT2_BUFFEREVENT_COMPAT_H_INCLUDED_
30
+
31
+ #include <event2/visibility.h>
32
+
33
+ #define evbuffercb bufferevent_data_cb
34
+ #define everrorcb bufferevent_event_cb
35
+
36
+ /**
37
+ Create a new bufferevent for an fd.
38
+
39
+ This function is deprecated. Use bufferevent_socket_new and
40
+ bufferevent_set_callbacks instead.
41
+
42
+ Libevent provides an abstraction on top of the regular event callbacks.
43
+ This abstraction is called a buffered event. A buffered event provides
44
+ input and output buffers that get filled and drained automatically. The
45
+ user of a buffered event no longer deals directly with the I/O, but
46
+ instead is reading from input and writing to output buffers.
47
+
48
+ Once initialized, the bufferevent structure can be used repeatedly with
49
+ bufferevent_enable() and bufferevent_disable().
50
+
51
+ When read enabled the bufferevent will try to read from the file descriptor
52
+ and call the read callback. The write callback is executed whenever the
53
+ output buffer is drained below the write low watermark, which is 0 by
54
+ default.
55
+
56
+ If multiple bases are in use, bufferevent_base_set() must be called before
57
+ enabling the bufferevent for the first time.
58
+
59
+ @deprecated This function is deprecated because it uses the current
60
+ event base, and as such can be error prone for multithreaded programs.
61
+ Use bufferevent_socket_new() instead.
62
+
63
+ @param fd the file descriptor from which data is read and written to.
64
+ This file descriptor is not allowed to be a pipe(2).
65
+ @param readcb callback to invoke when there is data to be read, or NULL if
66
+ no callback is desired
67
+ @param writecb callback to invoke when the file descriptor is ready for
68
+ writing, or NULL if no callback is desired
69
+ @param errorcb callback to invoke when there is an error on the file
70
+ descriptor
71
+ @param cbarg an argument that will be supplied to each of the callbacks
72
+ (readcb, writecb, and errorcb)
73
+ @return a pointer to a newly allocated bufferevent struct, or NULL if an
74
+ error occurred
75
+ @see bufferevent_base_set(), bufferevent_free()
76
+ */
77
+ EVENT2_EXPORT_SYMBOL
78
+ struct bufferevent *bufferevent_new(evutil_socket_t fd,
79
+ evbuffercb readcb, evbuffercb writecb, everrorcb errorcb, void *cbarg);
80
+
81
+
82
+ /**
83
+ Set the read and write timeout for a buffered event.
84
+
85
+ @param bufev the bufferevent to be modified
86
+ @param timeout_read the read timeout
87
+ @param timeout_write the write timeout
88
+ */
89
+ EVENT2_EXPORT_SYMBOL
90
+ void bufferevent_settimeout(struct bufferevent *bufev,
91
+ int timeout_read, int timeout_write);
92
+
93
+ #define EVBUFFER_READ BEV_EVENT_READING
94
+ #define EVBUFFER_WRITE BEV_EVENT_WRITING
95
+ #define EVBUFFER_EOF BEV_EVENT_EOF
96
+ #define EVBUFFER_ERROR BEV_EVENT_ERROR
97
+ #define EVBUFFER_TIMEOUT BEV_EVENT_TIMEOUT
98
+
99
+ /** macro for getting access to the input buffer of a bufferevent */
100
+ #define EVBUFFER_INPUT(x) bufferevent_get_input(x)
101
+ /** macro for getting access to the output buffer of a bufferevent */
102
+ #define EVBUFFER_OUTPUT(x) bufferevent_get_output(x)
103
+
104
+ #endif
@@ -0,0 +1,134 @@
1
+ /*
2
+ * Copyright (c) 2009-2012 Niels Provos and Nick Mathewson
3
+ *
4
+ * Redistribution and use in source and binary forms, with or without
5
+ * modification, are permitted provided that the following conditions
6
+ * are met:
7
+ * 1. Redistributions of source code must retain the above copyright
8
+ * notice, this list of conditions and the following disclaimer.
9
+ * 2. Redistributions in binary form must reproduce the above copyright
10
+ * notice, this list of conditions and the following disclaimer in the
11
+ * documentation and/or other materials provided with the distribution.
12
+ * 3. The name of the author may not be used to endorse or promote products
13
+ * derived from this software without specific prior written permission.
14
+ *
15
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+ */
26
+ #ifndef EVENT2_BUFFEREVENT_SSL_H_INCLUDED_
27
+ #define EVENT2_BUFFEREVENT_SSL_H_INCLUDED_
28
+
29
+ /** @file event2/bufferevent_ssl.h
30
+
31
+ OpenSSL support for bufferevents.
32
+ */
33
+ #include <event2/visibility.h>
34
+ #include <event2/event-config.h>
35
+ #include <event2/bufferevent.h>
36
+ #include <event2/util.h>
37
+
38
+ #ifdef __cplusplus
39
+ extern "C" {
40
+ #endif
41
+
42
+ /* This is what openssl's SSL objects are underneath. */
43
+ struct ssl_st;
44
+
45
+ /**
46
+ The state of an SSL object to be used when creating a new
47
+ SSL bufferevent.
48
+ */
49
+ enum bufferevent_ssl_state {
50
+ BUFFEREVENT_SSL_OPEN = 0,
51
+ BUFFEREVENT_SSL_CONNECTING = 1,
52
+ BUFFEREVENT_SSL_ACCEPTING = 2
53
+ };
54
+
55
+ #if defined(EVENT__HAVE_OPENSSL) || defined(EVENT_IN_DOXYGEN_)
56
+ /**
57
+ Create a new SSL bufferevent to send its data over another bufferevent.
58
+
59
+ @param base An event_base to use to detect reading and writing. It
60
+ must also be the base for the underlying bufferevent.
61
+ @param underlying A socket to use for this SSL
62
+ @param ssl A SSL* object from openssl.
63
+ @param state The current state of the SSL connection
64
+ @param options One or more bufferevent_options
65
+ @return A new bufferevent on success, or NULL on failure
66
+ */
67
+ EVENT2_EXPORT_SYMBOL
68
+ struct bufferevent *
69
+ bufferevent_openssl_filter_new(struct event_base *base,
70
+ struct bufferevent *underlying,
71
+ struct ssl_st *ssl,
72
+ enum bufferevent_ssl_state state,
73
+ int options);
74
+
75
+ /**
76
+ Create a new SSL bufferevent to send its data over an SSL * on a socket.
77
+
78
+ @param base An event_base to use to detect reading and writing
79
+ @param fd A socket to use for this SSL
80
+ @param ssl A SSL* object from openssl.
81
+ @param state The current state of the SSL connection
82
+ @param options One or more bufferevent_options
83
+ @return A new bufferevent on success, or NULL on failure.
84
+ */
85
+ EVENT2_EXPORT_SYMBOL
86
+ struct bufferevent *
87
+ bufferevent_openssl_socket_new(struct event_base *base,
88
+ evutil_socket_t fd,
89
+ struct ssl_st *ssl,
90
+ enum bufferevent_ssl_state state,
91
+ int options);
92
+
93
+ /** Control how to report dirty SSL shutdowns.
94
+
95
+ If the peer (or the network, or an attacker) closes the TCP
96
+ connection before closing the SSL channel, and the protocol is SSL >= v3,
97
+ this is a "dirty" shutdown. If allow_dirty_shutdown is 0 (default),
98
+ this is reported as BEV_EVENT_ERROR.
99
+
100
+ If instead allow_dirty_shutdown=1, a dirty shutdown is reported as
101
+ BEV_EVENT_EOF.
102
+
103
+ (Note that if the protocol is < SSLv3, you will always receive
104
+ BEV_EVENT_EOF, since SSL 2 and earlier cannot distinguish a secure
105
+ connection close from a dirty one. This is one reason (among many)
106
+ not to use SSL 2.)
107
+ */
108
+
109
+ EVENT2_EXPORT_SYMBOL
110
+ int bufferevent_openssl_get_allow_dirty_shutdown(struct bufferevent *bev);
111
+ EVENT2_EXPORT_SYMBOL
112
+ void bufferevent_openssl_set_allow_dirty_shutdown(struct bufferevent *bev,
113
+ int allow_dirty_shutdown);
114
+
115
+ /** Return the underlying openssl SSL * object for an SSL bufferevent. */
116
+ EVENT2_EXPORT_SYMBOL
117
+ struct ssl_st *
118
+ bufferevent_openssl_get_ssl(struct bufferevent *bufev);
119
+
120
+ /** Tells a bufferevent to begin SSL renegotiation. */
121
+ EVENT2_EXPORT_SYMBOL
122
+ int bufferevent_ssl_renegotiate(struct bufferevent *bev);
123
+
124
+ /** Return the most recent OpenSSL error reported on an SSL bufferevent. */
125
+ EVENT2_EXPORT_SYMBOL
126
+ unsigned long bufferevent_get_openssl_error(struct bufferevent *bev);
127
+
128
+ #endif
129
+
130
+ #ifdef __cplusplus
131
+ }
132
+ #endif
133
+
134
+ #endif /* EVENT2_BUFFEREVENT_SSL_H_INCLUDED_ */
@@ -0,0 +1,116 @@
1
+ /*
2
+ * Copyright (c) 2000-2007 Niels Provos <provos@citi.umich.edu>
3
+ * Copyright (c) 2007-2012 Niels Provos and Nick Mathewson
4
+ *
5
+ * Redistribution and use in source and binary forms, with or without
6
+ * modification, are permitted provided that the following conditions
7
+ * are met:
8
+ * 1. Redistributions of source code must retain the above copyright
9
+ * notice, this list of conditions and the following disclaimer.
10
+ * 2. Redistributions in binary form must reproduce the above copyright
11
+ * notice, this list of conditions and the following disclaimer in the
12
+ * documentation and/or other materials provided with the distribution.
13
+ * 3. The name of the author may not be used to endorse or promote products
14
+ * derived from this software without specific prior written permission.
15
+ *
16
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
+ */
27
+ #ifndef EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_
28
+ #define EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_
29
+
30
+ /** @file event2/bufferevent_struct.h
31
+
32
+ Data structures for bufferevents. Using these structures may hurt forward
33
+ compatibility with later versions of Libevent: be careful!
34
+
35
+ @deprecated Use of bufferevent_struct.h is completely deprecated; these
36
+ structures are only exposed for backward compatibility with programs
37
+ written before Libevent 2.0 that used them.
38
+ */
39
+
40
+ #ifdef __cplusplus
41
+ extern "C" {
42
+ #endif
43
+
44
+ #include <event2/event-config.h>
45
+ #ifdef EVENT__HAVE_SYS_TYPES_H
46
+ #include <sys/types.h>
47
+ #endif
48
+ #ifdef EVENT__HAVE_SYS_TIME_H
49
+ #include <sys/time.h>
50
+ #endif
51
+
52
+ /* For int types. */
53
+ #include <event2/util.h>
54
+ /* For struct event */
55
+ #include <event2/event_struct.h>
56
+
57
+ struct event_watermark {
58
+ size_t low;
59
+ size_t high;
60
+ };
61
+
62
+ /**
63
+ Shared implementation of a bufferevent.
64
+
65
+ This type is exposed only because it was exposed in previous versions,
66
+ and some people's code may rely on manipulating it. Otherwise, you
67
+ should really not rely on the layout, size, or contents of this structure:
68
+ it is fairly volatile, and WILL change in future versions of the code.
69
+ **/
70
+ struct bufferevent {
71
+ /** Event base for which this bufferevent was created. */
72
+ struct event_base *ev_base;
73
+ /** Pointer to a table of function pointers to set up how this
74
+ bufferevent behaves. */
75
+ const struct bufferevent_ops *be_ops;
76
+
77
+ /** A read event that triggers when a timeout has happened or a socket
78
+ is ready to read data. Only used by some subtypes of
79
+ bufferevent. */
80
+ struct event ev_read;
81
+ /** A write event that triggers when a timeout has happened or a socket
82
+ is ready to write data. Only used by some subtypes of
83
+ bufferevent. */
84
+ struct event ev_write;
85
+
86
+ /** An input buffer. Only the bufferevent is allowed to add data to
87
+ this buffer, though the user is allowed to drain it. */
88
+ struct evbuffer *input;
89
+
90
+ /** An input buffer. Only the bufferevent is allowed to drain data
91
+ from this buffer, though the user is allowed to add it. */
92
+ struct evbuffer *output;
93
+
94
+ struct event_watermark wm_read;
95
+ struct event_watermark wm_write;
96
+
97
+ bufferevent_data_cb readcb;
98
+ bufferevent_data_cb writecb;
99
+ /* This should be called 'eventcb', but renaming it would break
100
+ * backward compatibility */
101
+ bufferevent_event_cb errorcb;
102
+ void *cbarg;
103
+
104
+ struct timeval timeout_read;
105
+ struct timeval timeout_write;
106
+
107
+ /** Events that are currently enabled: currently EV_READ and EV_WRITE
108
+ are supported. */
109
+ short enabled;
110
+ };
111
+
112
+ #ifdef __cplusplus
113
+ }
114
+ #endif
115
+
116
+ #endif /* EVENT2_BUFFEREVENT_STRUCT_H_INCLUDED_ */