mysql2 0.3.11-x86-mswin32-60 → 0.3.18-x86-mswin32-60
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/README.md +280 -75
- data/ext/mysql2/client.c +721 -206
- data/ext/mysql2/client.h +26 -12
- data/ext/mysql2/extconf.rb +120 -16
- data/ext/mysql2/infile.c +122 -0
- data/ext/mysql2/infile.h +1 -0
- data/ext/mysql2/mysql2_ext.h +7 -4
- data/ext/mysql2/mysql_enc_name_to_ruby.h +168 -0
- data/ext/mysql2/mysql_enc_to_ruby.h +246 -0
- data/ext/mysql2/result.c +230 -112
- data/ext/mysql2/result.h +4 -1
- data/lib/mysql2.rb +46 -3
- data/lib/mysql2/1.8/mysql2.so +0 -0
- data/lib/mysql2/1.9/mysql2.so +0 -0
- data/lib/mysql2/2.0/mysql2.so +0 -0
- data/lib/mysql2/2.1/mysql2.so +0 -0
- data/lib/mysql2/client.rb +48 -200
- data/lib/mysql2/console.rb +5 -0
- data/lib/mysql2/em.rb +22 -3
- data/lib/mysql2/error.rb +71 -6
- data/lib/mysql2/mysql2.rb +2 -0
- data/lib/mysql2/version.rb +1 -1
- data/spec/configuration.yml.example +17 -0
- data/spec/em/em_spec.rb +90 -5
- data/spec/my.cnf.example +9 -0
- data/spec/mysql2/client_spec.rb +501 -69
- data/spec/mysql2/error_spec.rb +58 -44
- data/spec/mysql2/result_spec.rb +191 -74
- data/spec/spec_helper.rb +23 -3
- data/spec/test_data +1 -0
- data/support/libmysql.def +219 -0
- data/support/mysql_enc_to_ruby.rb +82 -0
- data/support/ruby_enc_to_mysql.rb +61 -0
- data/vendor/README +654 -0
- data/vendor/libmysql.dll +0 -0
- metadata +86 -221
- data/.gitignore +0 -12
- data/.rspec +0 -3
- data/.rvmrc +0 -1
- data/.travis.yml +0 -7
- data/CHANGELOG.md +0 -244
- data/Gemfile +0 -3
- data/MIT-LICENSE +0 -20
- data/Rakefile +0 -5
- data/benchmark/active_record.rb +0 -51
- data/benchmark/active_record_threaded.rb +0 -42
- data/benchmark/allocations.rb +0 -33
- data/benchmark/escape.rb +0 -36
- data/benchmark/query_with_mysql_casting.rb +0 -80
- data/benchmark/query_without_mysql_casting.rb +0 -56
- data/benchmark/sequel.rb +0 -37
- data/benchmark/setup_db.rb +0 -119
- data/benchmark/threaded.rb +0 -44
- data/mysql2.gemspec +0 -29
- data/tasks/benchmarks.rake +0 -20
- data/tasks/compile.rake +0 -71
- data/tasks/rspec.rake +0 -16
- data/tasks/vendor_mysql.rake +0 -40
data/spec/spec_helper.rb
CHANGED
@@ -3,15 +3,35 @@
|
|
3
3
|
require 'rspec'
|
4
4
|
require 'mysql2'
|
5
5
|
require 'timeout'
|
6
|
+
require 'yaml'
|
7
|
+
DatabaseCredentials = YAML.load_file('spec/configuration.yml')
|
6
8
|
|
7
9
|
RSpec.configure do |config|
|
10
|
+
def with_internal_encoding(encoding)
|
11
|
+
old_enc = Encoding.default_internal
|
12
|
+
Encoding.default_internal = encoding
|
13
|
+
|
14
|
+
yield
|
15
|
+
ensure
|
16
|
+
Encoding.default_internal = old_enc
|
17
|
+
end
|
18
|
+
|
19
|
+
config.before :each do
|
20
|
+
@client = Mysql2::Client.new DatabaseCredentials['root']
|
21
|
+
end
|
22
|
+
|
23
|
+
config.after :each do
|
24
|
+
@client.close
|
25
|
+
end
|
26
|
+
|
8
27
|
config.before(:all) do
|
9
|
-
client = Mysql2::Client.new
|
28
|
+
client = Mysql2::Client.new DatabaseCredentials['root']
|
10
29
|
client.query %[
|
11
30
|
CREATE TABLE IF NOT EXISTS mysql2_test (
|
12
31
|
id MEDIUMINT NOT NULL AUTO_INCREMENT,
|
13
32
|
null_test VARCHAR(10),
|
14
33
|
bit_test BIT(64),
|
34
|
+
single_bit_test BIT(1),
|
15
35
|
tiny_int_test TINYINT,
|
16
36
|
bool_cast_test TINYINT(1),
|
17
37
|
small_int_test SMALLINT,
|
@@ -48,7 +68,7 @@ RSpec.configure do |config|
|
|
48
68
|
client.query "DELETE FROM mysql2_test;"
|
49
69
|
client.query %[
|
50
70
|
INSERT INTO mysql2_test (
|
51
|
-
null_test, bit_test, tiny_int_test, bool_cast_test, small_int_test, medium_int_test, int_test, big_int_test,
|
71
|
+
null_test, bit_test, single_bit_test, tiny_int_test, bool_cast_test, small_int_test, medium_int_test, int_test, big_int_test,
|
52
72
|
float_test, float_zero_test, double_test, decimal_test, decimal_zero_test, date_test, date_time_test, timestamp_test, time_test,
|
53
73
|
year_test, char_test, varchar_test, binary_test, varbinary_test, tiny_blob_test,
|
54
74
|
tiny_text_test, blob_test, text_test, medium_blob_test, medium_text_test,
|
@@ -56,7 +76,7 @@ RSpec.configure do |config|
|
|
56
76
|
)
|
57
77
|
|
58
78
|
VALUES (
|
59
|
-
NULL, b'101', 1, 1, 10, 10, 10, 10,
|
79
|
+
NULL, b'101', b'1', 1, 1, 10, 10, 10, 10,
|
60
80
|
10.3, 0, 10.3, 10.3, 0, '2010-4-4', '2010-4-4 11:44:00', '2010-4-4 11:44:00', '11:44:00',
|
61
81
|
2009, "test", "test", "test", "test", "test",
|
62
82
|
"test", "test", "test", "test", "test",
|
data/spec/test_data
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
\N Hello World
|
@@ -0,0 +1,219 @@
|
|
1
|
+
; MySQL's Connector/C ships with a libmysql.dll main library and libmysql.lib
|
2
|
+
; interface library. However, the interface library is not linkable by MinGW.
|
3
|
+
;
|
4
|
+
; At compile time, we generate a libmysql.a interface library with dlltool.exe.
|
5
|
+
;
|
6
|
+
; This def file can be re-generated using the reimp.exe or gendef.exe tools.
|
7
|
+
;
|
8
|
+
LIBRARY libmysql.dll
|
9
|
+
EXPORTS
|
10
|
+
mysql_affected_rows
|
11
|
+
mysql_affected_rows@4
|
12
|
+
mysql_change_user
|
13
|
+
mysql_change_user@16
|
14
|
+
mysql_character_set_name
|
15
|
+
mysql_character_set_name@4
|
16
|
+
mysql_close
|
17
|
+
mysql_close@4
|
18
|
+
mysql_data_seek
|
19
|
+
mysql_data_seek@12
|
20
|
+
mysql_debug
|
21
|
+
mysql_debug@4
|
22
|
+
mysql_dump_debug_info
|
23
|
+
mysql_dump_debug_info@4
|
24
|
+
mysql_eof
|
25
|
+
mysql_eof@4
|
26
|
+
mysql_errno
|
27
|
+
mysql_errno@4
|
28
|
+
mysql_error
|
29
|
+
mysql_error@4
|
30
|
+
mysql_escape_string
|
31
|
+
mysql_escape_string@12
|
32
|
+
mysql_fetch_field
|
33
|
+
mysql_fetch_field@4
|
34
|
+
mysql_fetch_field_direct
|
35
|
+
mysql_fetch_field_direct@8
|
36
|
+
mysql_fetch_fields
|
37
|
+
mysql_fetch_fields@4
|
38
|
+
mysql_fetch_lengths
|
39
|
+
mysql_fetch_lengths@4
|
40
|
+
mysql_fetch_row
|
41
|
+
mysql_fetch_row@4
|
42
|
+
mysql_field_count
|
43
|
+
mysql_field_count@4
|
44
|
+
mysql_field_seek
|
45
|
+
mysql_field_seek@8
|
46
|
+
mysql_field_tell
|
47
|
+
mysql_field_tell@4
|
48
|
+
mysql_free_result
|
49
|
+
mysql_free_result@4
|
50
|
+
mysql_get_client_info
|
51
|
+
mysql_get_client_info@0
|
52
|
+
mysql_get_client_version
|
53
|
+
mysql_get_client_version@0
|
54
|
+
mysql_get_host_info
|
55
|
+
mysql_get_host_info@4
|
56
|
+
mysql_get_option
|
57
|
+
mysql_get_option@12
|
58
|
+
mysql_get_proto_info
|
59
|
+
mysql_get_proto_info@4
|
60
|
+
mysql_get_server_info
|
61
|
+
mysql_get_server_info@4
|
62
|
+
mysql_get_server_version
|
63
|
+
mysql_get_server_version@4
|
64
|
+
mysql_get_ssl_cipher
|
65
|
+
mysql_get_ssl_cipher@4
|
66
|
+
mysql_hex_string
|
67
|
+
mysql_hex_string@12
|
68
|
+
mysql_info
|
69
|
+
mysql_info@4
|
70
|
+
mysql_init
|
71
|
+
mysql_init@4
|
72
|
+
mysql_insert_id
|
73
|
+
mysql_insert_id@4
|
74
|
+
mysql_kill
|
75
|
+
mysql_kill@8
|
76
|
+
mysql_library_end
|
77
|
+
mysql_library_end@0
|
78
|
+
mysql_library_init
|
79
|
+
mysql_library_init@12
|
80
|
+
mysql_list_dbs
|
81
|
+
mysql_list_dbs@8
|
82
|
+
mysql_list_fields
|
83
|
+
mysql_list_fields@12
|
84
|
+
mysql_list_processes
|
85
|
+
mysql_list_processes@4
|
86
|
+
mysql_list_tables
|
87
|
+
mysql_list_tables@8
|
88
|
+
mysql_more_results
|
89
|
+
mysql_more_results@4
|
90
|
+
mysql_next_result
|
91
|
+
mysql_next_result@4
|
92
|
+
mysql_num_fields
|
93
|
+
mysql_num_fields@4
|
94
|
+
mysql_num_rows
|
95
|
+
mysql_num_rows@4
|
96
|
+
mysql_options
|
97
|
+
mysql_options@12
|
98
|
+
mysql_options4
|
99
|
+
mysql_options4@16
|
100
|
+
mysql_ping
|
101
|
+
mysql_ping@4
|
102
|
+
mysql_query
|
103
|
+
mysql_query@8
|
104
|
+
mysql_read_query_result
|
105
|
+
mysql_read_query_result@4
|
106
|
+
mysql_real_connect
|
107
|
+
mysql_real_connect@32
|
108
|
+
mysql_real_escape_string
|
109
|
+
mysql_real_escape_string@16
|
110
|
+
mysql_real_query
|
111
|
+
mysql_real_query@12
|
112
|
+
mysql_refresh
|
113
|
+
mysql_refresh@8
|
114
|
+
mysql_reset_connection
|
115
|
+
mysql_reset_connection@4
|
116
|
+
mysql_rollback
|
117
|
+
mysql_rollback@4
|
118
|
+
mysql_row_seek
|
119
|
+
mysql_row_seek@8
|
120
|
+
mysql_row_tell
|
121
|
+
mysql_row_tell@4
|
122
|
+
mysql_select_db
|
123
|
+
mysql_select_db@8
|
124
|
+
mysql_send_query
|
125
|
+
mysql_send_query@12
|
126
|
+
mysql_server_end
|
127
|
+
mysql_server_end@0
|
128
|
+
mysql_server_init
|
129
|
+
mysql_server_init@12
|
130
|
+
mysql_session_track_get_first
|
131
|
+
mysql_session_track_get_first@16
|
132
|
+
mysql_session_track_get_next
|
133
|
+
mysql_session_track_get_next@16
|
134
|
+
mysql_set_character_set
|
135
|
+
mysql_set_character_set@8
|
136
|
+
mysql_set_local_infile_default
|
137
|
+
mysql_set_local_infile_default@4
|
138
|
+
mysql_set_local_infile_handler
|
139
|
+
mysql_set_local_infile_handler@24
|
140
|
+
mysql_set_server_option
|
141
|
+
mysql_set_server_option@8
|
142
|
+
mysql_shutdown
|
143
|
+
mysql_shutdown@8
|
144
|
+
mysql_sqlstate
|
145
|
+
mysql_sqlstate@4
|
146
|
+
mysql_ssl_set
|
147
|
+
mysql_ssl_set@24
|
148
|
+
mysql_stat
|
149
|
+
mysql_stat@4
|
150
|
+
mysql_stmt_affected_rows
|
151
|
+
mysql_stmt_affected_rows@4
|
152
|
+
mysql_stmt_attr_get
|
153
|
+
mysql_stmt_attr_get@12
|
154
|
+
mysql_stmt_attr_set
|
155
|
+
mysql_stmt_attr_set@12
|
156
|
+
mysql_stmt_bind_param
|
157
|
+
mysql_stmt_bind_param@8
|
158
|
+
mysql_stmt_bind_result
|
159
|
+
mysql_stmt_bind_result@8
|
160
|
+
mysql_stmt_close
|
161
|
+
mysql_stmt_close@4
|
162
|
+
mysql_stmt_data_seek
|
163
|
+
mysql_stmt_data_seek@12
|
164
|
+
mysql_stmt_errno
|
165
|
+
mysql_stmt_errno@4
|
166
|
+
mysql_stmt_error
|
167
|
+
mysql_stmt_error@4
|
168
|
+
mysql_stmt_execute
|
169
|
+
mysql_stmt_execute@4
|
170
|
+
mysql_stmt_fetch
|
171
|
+
mysql_stmt_fetch@4
|
172
|
+
mysql_stmt_fetch_column
|
173
|
+
mysql_stmt_fetch_column@16
|
174
|
+
mysql_stmt_field_count
|
175
|
+
mysql_stmt_field_count@4
|
176
|
+
mysql_stmt_free_result
|
177
|
+
mysql_stmt_free_result@4
|
178
|
+
mysql_stmt_init
|
179
|
+
mysql_stmt_init@4
|
180
|
+
mysql_stmt_insert_id
|
181
|
+
mysql_stmt_insert_id@4
|
182
|
+
mysql_stmt_next_result
|
183
|
+
mysql_stmt_next_result@4
|
184
|
+
mysql_stmt_num_rows
|
185
|
+
mysql_stmt_num_rows@4
|
186
|
+
mysql_stmt_param_count
|
187
|
+
mysql_stmt_param_count@4
|
188
|
+
mysql_stmt_param_metadata
|
189
|
+
mysql_stmt_param_metadata@4
|
190
|
+
mysql_stmt_prepare
|
191
|
+
mysql_stmt_prepare@12
|
192
|
+
mysql_stmt_reset
|
193
|
+
mysql_stmt_reset@4
|
194
|
+
mysql_stmt_result_metadata
|
195
|
+
mysql_stmt_result_metadata@4
|
196
|
+
mysql_stmt_row_seek
|
197
|
+
mysql_stmt_row_seek@8
|
198
|
+
mysql_stmt_row_tell
|
199
|
+
mysql_stmt_row_tell@4
|
200
|
+
mysql_stmt_send_long_data
|
201
|
+
mysql_stmt_send_long_data@16
|
202
|
+
mysql_stmt_sqlstate
|
203
|
+
mysql_stmt_sqlstate@4
|
204
|
+
mysql_stmt_store_result
|
205
|
+
mysql_stmt_store_result@4
|
206
|
+
mysql_store_result
|
207
|
+
mysql_store_result@4
|
208
|
+
mysql_thread_end
|
209
|
+
mysql_thread_end@0
|
210
|
+
mysql_thread_id
|
211
|
+
mysql_thread_id@4
|
212
|
+
mysql_thread_init
|
213
|
+
mysql_thread_init@0
|
214
|
+
mysql_thread_safe
|
215
|
+
mysql_thread_safe@0
|
216
|
+
mysql_use_result
|
217
|
+
mysql_use_result@4
|
218
|
+
mysql_warning_count
|
219
|
+
mysql_warning_count@4
|
@@ -0,0 +1,82 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
2
|
+
require 'mysql2'
|
3
|
+
|
4
|
+
user, pass, host, port = ENV.values_at('user', 'pass', 'host', 'port')
|
5
|
+
|
6
|
+
mysql_to_rb = {
|
7
|
+
"big5" => "Big5",
|
8
|
+
"dec8" => "NULL",
|
9
|
+
"cp850" => "CP850",
|
10
|
+
"hp8" => "NULL",
|
11
|
+
"koi8r" => "KOI8-R",
|
12
|
+
"latin1" => "ISO-8859-1",
|
13
|
+
"latin2" => "ISO-8859-2",
|
14
|
+
"swe7" => "NULL",
|
15
|
+
"ascii" => "US-ASCII",
|
16
|
+
"ujis" => "eucJP-ms",
|
17
|
+
"sjis" => "Shift_JIS",
|
18
|
+
"hebrew" => "ISO-8859-8",
|
19
|
+
"tis620" => "TIS-620",
|
20
|
+
"euckr" => "EUC-KR",
|
21
|
+
"koi8u" => "KOI8-R",
|
22
|
+
"gb2312" => "GB2312",
|
23
|
+
"greek" => "ISO-8859-7",
|
24
|
+
"cp1250" => "Windows-1250",
|
25
|
+
"gbk" => "GBK",
|
26
|
+
"latin5" => "ISO-8859-9",
|
27
|
+
"armscii8" => "NULL",
|
28
|
+
"utf8" => "UTF-8",
|
29
|
+
"ucs2" => "UTF-16BE",
|
30
|
+
"cp866" => "IBM866",
|
31
|
+
"keybcs2" => "NULL",
|
32
|
+
"macce" => "macCentEuro",
|
33
|
+
"macroman" => "macRoman",
|
34
|
+
"cp852" => "CP852",
|
35
|
+
"latin7" => "ISO-8859-13",
|
36
|
+
"utf8mb4" => "UTF-8",
|
37
|
+
"cp1251" => "Windows-1251",
|
38
|
+
"utf16" => "UTF-16",
|
39
|
+
"cp1256" => "Windows-1256",
|
40
|
+
"cp1257" => "Windows-1257",
|
41
|
+
"utf32" => "UTF-32",
|
42
|
+
"binary" => "ASCII-8BIT",
|
43
|
+
"geostd8" => "NULL",
|
44
|
+
"cp932" => "Windows-31J",
|
45
|
+
"eucjpms" => "eucJP-ms"
|
46
|
+
}
|
47
|
+
|
48
|
+
client = Mysql2::Client.new(:username => user, :password => pass, :host => host, :port => port.to_i)
|
49
|
+
collations = client.query "SHOW COLLATION", :as => :array
|
50
|
+
encodings = Array.new(collations.to_a.last[2].to_i)
|
51
|
+
encodings_with_nil = Array.new(encodings.size)
|
52
|
+
|
53
|
+
collations.each do |collation|
|
54
|
+
mysql_col_idx = collation[2].to_i
|
55
|
+
rb_enc = mysql_to_rb[collation[1]]
|
56
|
+
encodings[mysql_col_idx-1] = [mysql_col_idx, rb_enc]
|
57
|
+
end
|
58
|
+
|
59
|
+
encodings.each_with_index do |encoding, idx|
|
60
|
+
encodings_with_nil[idx] = (encoding || [idx, "NULL"])
|
61
|
+
end
|
62
|
+
|
63
|
+
encodings_with_nil.sort! do |a, b|
|
64
|
+
a[0] <=> b[0]
|
65
|
+
end
|
66
|
+
|
67
|
+
encodings_with_nil = encodings_with_nil.map do |encoding|
|
68
|
+
name = "NULL"
|
69
|
+
|
70
|
+
if !encoding.nil? && encoding[1] != "NULL"
|
71
|
+
name = "\"#{encoding[1]}\""
|
72
|
+
end
|
73
|
+
|
74
|
+
" #{name}"
|
75
|
+
end
|
76
|
+
|
77
|
+
# start printing output
|
78
|
+
|
79
|
+
puts "const char *mysql2_mysql_enc_to_rb[] = {"
|
80
|
+
puts encodings_with_nil.join(",\n")
|
81
|
+
puts "};"
|
82
|
+
puts
|
@@ -0,0 +1,61 @@
|
|
1
|
+
mysql_to_rb = {
|
2
|
+
"big5" => "Big5",
|
3
|
+
"dec8" => nil,
|
4
|
+
"cp850" => "CP850",
|
5
|
+
"hp8" => nil,
|
6
|
+
"koi8r" => "KOI8-R",
|
7
|
+
"latin1" => "ISO-8859-1",
|
8
|
+
"latin2" => "ISO-8859-2",
|
9
|
+
"swe7" => nil,
|
10
|
+
"ascii" => "US-ASCII",
|
11
|
+
"ujis" => "eucJP-ms",
|
12
|
+
"sjis" => "Shift_JIS",
|
13
|
+
"hebrew" => "ISO-8859-8",
|
14
|
+
"tis620" => "TIS-620",
|
15
|
+
"euckr" => "EUC-KR",
|
16
|
+
"koi8u" => "KOI8-R",
|
17
|
+
"gb2312" => "GB2312",
|
18
|
+
"greek" => "ISO-8859-7",
|
19
|
+
"cp1250" => "Windows-1250",
|
20
|
+
"gbk" => "GBK",
|
21
|
+
"latin5" => "ISO-8859-9",
|
22
|
+
"armscii8" => nil,
|
23
|
+
"utf8" => "UTF-8",
|
24
|
+
"ucs2" => "UTF-16BE",
|
25
|
+
"cp866" => "IBM866",
|
26
|
+
"keybcs2" => nil,
|
27
|
+
"macce" => "macCentEuro",
|
28
|
+
"macroman" => "macRoman",
|
29
|
+
"cp852" => "CP852",
|
30
|
+
"latin7" => "ISO-8859-13",
|
31
|
+
"utf8mb4" => "UTF-8",
|
32
|
+
"cp1251" => "Windows-1251",
|
33
|
+
"utf16" => "UTF-16",
|
34
|
+
"cp1256" => "Windows-1256",
|
35
|
+
"cp1257" => "Windows-1257",
|
36
|
+
"utf32" => "UTF-32",
|
37
|
+
"binary" => "ASCII-8BIT",
|
38
|
+
"geostd8" => nil,
|
39
|
+
"cp932" => "Windows-31J",
|
40
|
+
"eucjpms" => "eucJP-ms"
|
41
|
+
}
|
42
|
+
|
43
|
+
puts <<-header
|
44
|
+
%readonly-tables
|
45
|
+
%enum
|
46
|
+
%define lookup-function-name mysql2_mysql_enc_name_to_rb
|
47
|
+
%define hash-function-name mysql2_mysql_enc_name_to_rb_hash
|
48
|
+
%struct-type
|
49
|
+
struct mysql2_mysql_enc_name_to_rb_map { const char *name; const char *rb_name; }
|
50
|
+
%%
|
51
|
+
header
|
52
|
+
|
53
|
+
mysql_to_rb.each do |mysql, ruby|
|
54
|
+
if ruby.nil?
|
55
|
+
name = "NULL"
|
56
|
+
else
|
57
|
+
name = "\"#{ruby}\""
|
58
|
+
end
|
59
|
+
|
60
|
+
puts "#{mysql}, #{name}"
|
61
|
+
end
|
data/vendor/README
ADDED
@@ -0,0 +1,654 @@
|
|
1
|
+
MySQL Connector/C 6.1
|
2
|
+
|
3
|
+
This is a release of MySQL Connector/C, Oracle's dual-
|
4
|
+
license C Driver for MySQL. For the avoidance of
|
5
|
+
doubt, this particular copy of the software is released
|
6
|
+
under the version 2 of the GNU General Public License.
|
7
|
+
MySQL Connector/C is brought to you by Oracle.
|
8
|
+
|
9
|
+
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
|
10
|
+
|
11
|
+
License information can be found in the COPYING file.
|
12
|
+
|
13
|
+
MySQL FOSS License Exception
|
14
|
+
We want free and open source software applications under
|
15
|
+
certain licenses to be able to use the GPL-licensed MySQL
|
16
|
+
Connector/C (specified GPL-licensed MySQL client libraries)
|
17
|
+
despite the fact that not all such FOSS licenses are
|
18
|
+
compatible with version 2 of the GNU General Public License.
|
19
|
+
Therefore there are special exceptions to the terms and
|
20
|
+
conditions of the GPLv2 as applied to these client libraries,
|
21
|
+
which are identified and described in more detail in the
|
22
|
+
FOSS License Exception at
|
23
|
+
<http://www.mysql.com/about/legal/licensing/foss-exception/>
|
24
|
+
|
25
|
+
This software is OSI Certified Open Source Software.
|
26
|
+
OSI Certified is a certification mark of the Open Source Initiative.
|
27
|
+
|
28
|
+
This distribution may include materials developed by third
|
29
|
+
parties. For license and attribution notices for these
|
30
|
+
materials, please refer to the documentation that accompanies
|
31
|
+
this distribution (see the "Licenses for Third-Party Components"
|
32
|
+
appendix) or view the online documentation at
|
33
|
+
<http://dev.mysql.com/doc/>
|
34
|
+
A copy of the license/notices is also reproduced below.
|
35
|
+
|
36
|
+
GPLv2 Disclaimer
|
37
|
+
For the avoidance of doubt, except that if any license choice
|
38
|
+
other than GPL or LGPL is available it will apply instead,
|
39
|
+
Oracle elects to use only the General Public License version 2
|
40
|
+
(GPLv2) at this time for any software where a choice of GPL
|
41
|
+
license versions is made available with the language indicating
|
42
|
+
that GPLv2 or any later version may be used, or where a choice
|
43
|
+
of which version of the GPL is applied is otherwise unspecified.
|
44
|
+
|
45
|
+
CONTENTS
|
46
|
+
|
47
|
+
* Documentation Location
|
48
|
+
* Third-Party Component Notices
|
49
|
+
|
50
|
+
DOCUMENTATION LOCATION
|
51
|
+
|
52
|
+
You may also find the latest copy of the documentation on
|
53
|
+
the MySQL website at
|
54
|
+
<http://dev.mysql.com/doc/connector-c/en/index.html>
|
55
|
+
|
56
|
+
|
57
|
+
***************************************************************
|
58
|
+
|
59
|
+
Third-Party Component Notices
|
60
|
+
|
61
|
+
****************************************************************
|
62
|
+
Appendix A. Licenses for Third-Party Components
|
63
|
+
|
64
|
+
The following is a list of the libraries we have included with the
|
65
|
+
Connector/C source and components used to test it. We are
|
66
|
+
thankful to all individuals that have created these. Some of the
|
67
|
+
components require that their licensing terms be included in the
|
68
|
+
documentation of products that include them. Cross references to
|
69
|
+
these licensing terms are given with the applicable items in the
|
70
|
+
list.
|
71
|
+
|
72
|
+
* GroupLens Research Project
|
73
|
+
The MySQL Quality Assurance team would like to acknowledge the
|
74
|
+
use of the MovieLens Data Sets (10 million ratings and 100,000
|
75
|
+
tags for 10681 movies by 71567 users) to help test MySQL
|
76
|
+
products and to thank the GroupLens Research Project at the
|
77
|
+
University of Minnesota for making the data sets available.
|
78
|
+
|
79
|
+
|
80
|
+
* Section A.1, "dtoa.c License"
|
81
|
+
* Section A.2, "Fred Fish's Dbug Library License"
|
82
|
+
* Section A.3, "GNU General Public License Version 2.0, June
|
83
|
+
1991"
|
84
|
+
* Section A.4, "md5 (Message-Digest Algorithm 5) License"
|
85
|
+
* Section A.5, "RegEX-Spencer Library License"
|
86
|
+
* Section A.6, "Richard A. O'Keefe String Library License"
|
87
|
+
* Section A.7, "SHA-1 in C License"
|
88
|
+
* Section A.8, "zlib License"
|
89
|
+
|
90
|
+
|
91
|
+
A.1. dtoa.c License
|
92
|
+
----------------------------------------------------------------
|
93
|
+
The following software may be included in this product:
|
94
|
+
|
95
|
+
dtoa.c
|
96
|
+
|
97
|
+
The author of this software is David M. Gay.
|
98
|
+
|
99
|
+
Copyright (c) 1991, 2000, 2001 by Lucent Technologies.
|
100
|
+
|
101
|
+
Permission to use, copy, modify, and distribute this software for
|
102
|
+
any purpose without fee is hereby granted, provided that this entire
|
103
|
+
notice is included in all copies of any software which is or includes
|
104
|
+
|
105
|
+
a copy or modification of this software and in all copies of the
|
106
|
+
supporting documentation for such software.
|
107
|
+
|
108
|
+
THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR
|
109
|
+
IMPLIED WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR LUCENT
|
110
|
+
MAKES ANY REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE
|
111
|
+
MERCHANTABILITY OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR
|
112
|
+
PURPOSE.
|
113
|
+
|
114
|
+
|
115
|
+
A.2. Fred Fish's Dbug Library License
|
116
|
+
----------------------------------------------------------------
|
117
|
+
The following software may be included in this product:
|
118
|
+
|
119
|
+
Fred Fish's Dbug Library
|
120
|
+
N O T I C E
|
121
|
+
|
122
|
+
Copyright Abandoned, 1987, Fred Fish
|
123
|
+
|
124
|
+
This previously copyrighted work has been placed into the public
|
125
|
+
domain by the author and may be freely used for any purpose,
|
126
|
+
private or commercial.
|
127
|
+
|
128
|
+
Because of the number of inquiries I was receiving about the use
|
129
|
+
of this product in commercially developed works I have decided to
|
130
|
+
simply make it public domain to further its unrestricted use. I
|
131
|
+
specifically would be most happy to see this material become a
|
132
|
+
part of the standard Unix distributions by AT&T and the Berkeley
|
133
|
+
Computer Science Research Group, and a standard part of the GNU
|
134
|
+
system from the Free Software Foundation.
|
135
|
+
|
136
|
+
I would appreciate it, as a courtesy, if this notice is left in
|
137
|
+
all copies and derivative works. Thank you.
|
138
|
+
|
139
|
+
The author makes no warranty of any kind with respect to this
|
140
|
+
product and explicitly disclaims any implied warranties of mer-
|
141
|
+
chantability or fitness for any particular purpose.
|
142
|
+
|
143
|
+
The dbug_analyze.c file is subject to the following notice:
|
144
|
+
|
145
|
+
Copyright June 1987, Binayak Banerjee
|
146
|
+
All rights reserved.
|
147
|
+
|
148
|
+
This program may be freely distributed under the same terms and
|
149
|
+
conditions as Fred Fish's Dbug package.
|
150
|
+
|
151
|
+
|
152
|
+
A.3. GNU General Public License Version 2.0, June 1991
|
153
|
+
----------------------------------------------------------------
|
154
|
+
The following applies to all products licensed under the GNU General
|
155
|
+
Public License, Version 2.0: You may not use the identified files
|
156
|
+
except in compliance with the GNU General Public License, Version
|
157
|
+
2.0 (the "License.") You may obtain a copy of the License at
|
158
|
+
http://www.gnu.org/licenses/gpl-2.0.txt. A copy of the license is
|
159
|
+
also reproduced below. Unless required by applicable law or agreed
|
160
|
+
to in writing, software distributed under the License is distributed
|
161
|
+
on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
162
|
+
either express or implied. See the License for the specific language
|
163
|
+
governing permissions and limitations under the License.
|
164
|
+
|
165
|
+
GNU GENERAL PUBLIC LICENSE
|
166
|
+
Version 2, June 1991
|
167
|
+
|
168
|
+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
169
|
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
170
|
+
Everyone is permitted to copy and distribute verbatim
|
171
|
+
copies of this license document, but changing it is not
|
172
|
+
allowed.
|
173
|
+
|
174
|
+
Preamble
|
175
|
+
|
176
|
+
The licenses for most software are designed to take away your
|
177
|
+
freedom to share and change it. By contrast, the GNU General Public
|
178
|
+
License is intended to guarantee your freedom to share and change free
|
179
|
+
software--to make sure the software is free for all its users. This
|
180
|
+
General Public License applies to most of the Free Software
|
181
|
+
Foundation's software and to any other program whose authors commit to
|
182
|
+
using it. (Some other Free Software Foundation software is covered by
|
183
|
+
the GNU Lesser General Public License instead.) You can apply it to
|
184
|
+
your programs, too.
|
185
|
+
|
186
|
+
When we speak of free software, we are referring to freedom, not
|
187
|
+
price. Our General Public Licenses are designed to make sure that you
|
188
|
+
have the freedom to distribute copies of free software (and charge for
|
189
|
+
this service if you wish), that you receive source code or can get it
|
190
|
+
if you want it, that you can change the software or use pieces of it
|
191
|
+
in new free programs; and that you know you can do these things.
|
192
|
+
|
193
|
+
To protect your rights, we need to make restrictions that forbid
|
194
|
+
anyone to deny you these rights or to ask you to surrender the rights.
|
195
|
+
These restrictions translate to certain responsibilities for you if you
|
196
|
+
distribute copies of the software, or if you modify it.
|
197
|
+
|
198
|
+
For example, if you distribute copies of such a program, whether
|
199
|
+
gratis or for a fee, you must give the recipients all the rights that
|
200
|
+
you have. You must make sure that they, too, receive or can get the
|
201
|
+
source code. And you must show them these terms so they know their
|
202
|
+
rights.
|
203
|
+
|
204
|
+
We protect your rights with two steps: (1) copyright the software,
|
205
|
+
and (2) offer you this license which gives you legal permission to
|
206
|
+
copy, distribute and/or modify the software.
|
207
|
+
|
208
|
+
Also, for each author's protection and ours, we want to make certain
|
209
|
+
that everyone understands that there is no warranty for this free
|
210
|
+
software. If the software is modified by someone else and passed on,
|
211
|
+
|
212
|
+
we want its recipients to know that what they have is not the original,
|
213
|
+
so that any problems introduced by others will not reflect on the
|
214
|
+
original authors' reputations.
|
215
|
+
|
216
|
+
Finally, any free program is threatened constantly by software
|
217
|
+
patents. We wish to avoid the danger that redistributors of a free
|
218
|
+
program will individually obtain patent licenses, in effect making the
|
219
|
+
program proprietary. To prevent this, we have made it clear that any
|
220
|
+
patent must be licensed for everyone's free use or not licensed at all.
|
221
|
+
|
222
|
+
The precise terms and conditions for copying, distribution and
|
223
|
+
modification follow.
|
224
|
+
|
225
|
+
GNU GENERAL PUBLIC LICENSE
|
226
|
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
227
|
+
|
228
|
+
0. This License applies to any program or other work which contains
|
229
|
+
a notice placed by the copyright holder saying it may be distributed
|
230
|
+
under the terms of this General Public License. The "Program", below,
|
231
|
+
refers to any such program or work, and a "work based on the Program"
|
232
|
+
means either the Program or any derivative work under copyright law:
|
233
|
+
that is to say, a work containing the Program or a portion of it,
|
234
|
+
either verbatim or with modifications and/or translated into another
|
235
|
+
language. (Hereinafter, translation is included without limitation in
|
236
|
+
the term "modification".) Each licensee is addressed as "you".
|
237
|
+
|
238
|
+
Activities other than copying, distribution and modification are not
|
239
|
+
covered by this License; they are outside its scope. The act of
|
240
|
+
running the Program is not restricted, and the output from the Program
|
241
|
+
is covered only if its contents constitute a work based on the
|
242
|
+
Program (independent of having been made by running the Program).
|
243
|
+
Whether that is true depends on what the Program does.
|
244
|
+
|
245
|
+
|
246
|
+
1. You may copy and distribute verbatim copies of the Program's
|
247
|
+
source code as you receive it, in any medium, provided that you
|
248
|
+
conspicuously and appropriately publish on each copy an appropriate
|
249
|
+
copyright notice and disclaimer of warranty; keep intact all the
|
250
|
+
notices that refer to this License and to the absence of any warranty;
|
251
|
+
and give any other recipients of the Program a copy of this License
|
252
|
+
along with the Program.
|
253
|
+
|
254
|
+
You may charge a fee for the physical act of transferring a copy, and
|
255
|
+
you may at your option offer warranty protection in exchange for a fee.
|
256
|
+
|
257
|
+
|
258
|
+
2. You may modify your copy or copies of the Program or any portion
|
259
|
+
of it, thus forming a work based on the Program, and copy and
|
260
|
+
distribute such modifications or work under the terms of Section 1
|
261
|
+
above, provided that you also meet all of these conditions:
|
262
|
+
|
263
|
+
a) You must cause the modified files to carry prominent notices
|
264
|
+
stating that you changed the files and the date of any change.
|
265
|
+
|
266
|
+
b) You must cause any work that you distribute or publish, that in
|
267
|
+
whole or in part contains or is derived from the Program or any
|
268
|
+
part thereof, to be licensed as a whole at no charge to all third
|
269
|
+
parties under the terms of this License.
|
270
|
+
|
271
|
+
c) If the modified program normally reads commands interactively
|
272
|
+
when run, you must cause it, when started running for such
|
273
|
+
interactive use in the most ordinary way, to print or display an
|
274
|
+
announcement including an appropriate copyright notice and a
|
275
|
+
notice that there is no warranty (or else, saying that you provide
|
276
|
+
a warranty) and that users may redistribute the program under
|
277
|
+
these conditions, and telling the user how to view a copy of this
|
278
|
+
License. (Exception: if the Program itself is interactive but
|
279
|
+
does not normally print such an announcement, your work based on
|
280
|
+
the Program is not required to print an announcement.)
|
281
|
+
|
282
|
+
These requirements apply to the modified work as a whole. If
|
283
|
+
identifiable sections of that work are not derived from the Program,
|
284
|
+
and can be reasonably considered independent and separate works in
|
285
|
+
themselves, then this License, and its terms, do not apply to those
|
286
|
+
sections when you distribute them as separate works. But when you
|
287
|
+
distribute the same sections as part of a whole which is a work based
|
288
|
+
on the Program, the distribution of the whole must be on the terms of
|
289
|
+
this License, whose permissions for other licensees extend to the
|
290
|
+
entire whole, and thus to each and every part regardless of who wrote it.
|
291
|
+
|
292
|
+
Thus, it is not the intent of this section to claim rights or contest
|
293
|
+
your rights to work written entirely by you; rather, the intent is to
|
294
|
+
exercise the right to control the distribution of derivative or
|
295
|
+
collective works based on the Program.
|
296
|
+
|
297
|
+
In addition, mere aggregation of another work not based on the Program
|
298
|
+
with the Program (or with a work based on the Program) on a volume of
|
299
|
+
a storage or distribution medium does not bring the other work under
|
300
|
+
the scope of this License.
|
301
|
+
|
302
|
+
|
303
|
+
3. You may copy and distribute the Program (or a work based on it,
|
304
|
+
under Section 2) in object code or executable form under the terms of
|
305
|
+
Sections 1 and 2 above provided that you also do one of the following:
|
306
|
+
|
307
|
+
a) Accompany it with the complete corresponding machine-readable
|
308
|
+
source code, which must be distributed under the terms of Sections
|
309
|
+
1 and 2 above on a medium customarily used for software
|
310
|
+
interchange; or,
|
311
|
+
|
312
|
+
b) Accompany it with a written offer, valid for at least three
|
313
|
+
years, to give any third party, for a charge no more than your
|
314
|
+
cost of physically performing source distribution, a complete
|
315
|
+
machine-readable copy of the corresponding source code, to be
|
316
|
+
distributed under the terms of Sections 1 and 2 above on a medium
|
317
|
+
customarily used for software interchange; or,
|
318
|
+
|
319
|
+
c) Accompany it with the information you received as to the offer
|
320
|
+
to distribute corresponding source code. (This alternative is
|
321
|
+
allowed only for noncommercial distribution and only if you
|
322
|
+
received the program in object code or executable form with such
|
323
|
+
an offer, in accord with Subsection b above.)
|
324
|
+
|
325
|
+
The source code for a work means the preferred form of the work for
|
326
|
+
making modifications to it. For an executable work, complete source
|
327
|
+
code means all the source code for all modules it contains, plus any
|
328
|
+
associated interface definition files, plus the scripts used to
|
329
|
+
control compilation and installation of the executable. However, as
|
330
|
+
a special exception, the source code distributed need not include
|
331
|
+
anything that is normally distributed (in either source or binary
|
332
|
+
form) with the major components (compiler, kernel, and so on) of the
|
333
|
+
operating system on which the executable runs, unless that component
|
334
|
+
itself accompanies the executable.
|
335
|
+
|
336
|
+
If distribution of executable or object code is made by offering
|
337
|
+
access to copy from a designated place, then offering equivalent
|
338
|
+
access to copy the source code from the same place counts as
|
339
|
+
distribution of the source code, even though third parties are not
|
340
|
+
compelled to copy the source along with the object code.
|
341
|
+
|
342
|
+
|
343
|
+
4. You may not copy, modify, sublicense, or distribute the Program
|
344
|
+
except as expressly provided under this License. Any attempt
|
345
|
+
otherwise to copy, modify, sublicense or distribute the Program is
|
346
|
+
void, and will automatically terminate your rights under this License.
|
347
|
+
However, parties who have received copies, or rights, from you under
|
348
|
+
this License will not have their licenses terminated so long as such
|
349
|
+
parties remain in full compliance.
|
350
|
+
|
351
|
+
|
352
|
+
5. You are not required to accept this License, since you have not
|
353
|
+
signed it. However, nothing else grants you permission to modify or
|
354
|
+
distribute the Program or its derivative works. These actions are
|
355
|
+
prohibited by law if you do not accept this License. Therefore, by
|
356
|
+
modifying or distributing the Program (or any work based on the
|
357
|
+
Program), you indicate your acceptance of this License to do so, and
|
358
|
+
all its terms and conditions for copying, distributing or modifying
|
359
|
+
the Program or works based on it.
|
360
|
+
|
361
|
+
|
362
|
+
6. Each time you redistribute the Program (or any work based on the
|
363
|
+
Program), the recipient automatically receives a license from the
|
364
|
+
original licensor to copy, distribute or modify the Program subject to
|
365
|
+
these terms and conditions. You may not impose any further
|
366
|
+
restrictions on the recipients' exercise of the rights granted herein.
|
367
|
+
You are not responsible for enforcing compliance by third parties to
|
368
|
+
this License.
|
369
|
+
|
370
|
+
|
371
|
+
7. If, as a consequence of a court judgment or allegation of patent
|
372
|
+
infringement or for any other reason (not limited to patent issues),
|
373
|
+
conditions are imposed on you (whether by court order, agreement or
|
374
|
+
otherwise) that contradict the conditions of this License, they do not
|
375
|
+
excuse you from the conditions of this License. If you cannot
|
376
|
+
distribute so as to satisfy simultaneously your obligations under this
|
377
|
+
License and any other pertinent obligations, then as a consequence you
|
378
|
+
may not distribute the Program at all. For example, if a patent
|
379
|
+
license would not permit royalty-free redistribution of the Program by
|
380
|
+
all those who receive copies directly or indirectly through you, then
|
381
|
+
the only way you could satisfy both it and this License would be to
|
382
|
+
refrain entirely from distribution of the Program.
|
383
|
+
|
384
|
+
If any portion of this section is held invalid or unenforceable under
|
385
|
+
any particular circumstance, the balance of the section is intended to
|
386
|
+
apply and the section as a whole is intended to apply in other
|
387
|
+
circumstances.
|
388
|
+
|
389
|
+
It is not the purpose of this section to induce you to infringe any
|
390
|
+
patents or other property right claims or to contest validity of any
|
391
|
+
such claims; this section has the sole purpose of protecting the
|
392
|
+
integrity of the free software distribution system, which is
|
393
|
+
implemented by public license practices. Many people have made
|
394
|
+
generous contributions to the wide range of software distributed
|
395
|
+
through that system in reliance on consistent application of that
|
396
|
+
system; it is up to the author/donor to decide if he or she is willing
|
397
|
+
to distribute software through any other system and a licensee cannot
|
398
|
+
impose that choice.
|
399
|
+
|
400
|
+
This section is intended to make thoroughly clear what is believed to
|
401
|
+
be a consequence of the rest of this License.
|
402
|
+
|
403
|
+
|
404
|
+
8. If the distribution and/or use of the Program is restricted in
|
405
|
+
certain countries either by patents or by copyrighted interfaces, the
|
406
|
+
original copyright holder who places the Program under this License
|
407
|
+
may add an explicit geographical distribution limitation excluding
|
408
|
+
those countries, so that distribution is permitted only in or among
|
409
|
+
countries not thus excluded. In such case, this License incorporates
|
410
|
+
the limitation as if written in the body of this License.
|
411
|
+
|
412
|
+
|
413
|
+
9. The Free Software Foundation may publish revised and/or new
|
414
|
+
versions of the General Public License from time to time. Such new
|
415
|
+
versions will be similar in spirit to the present version, but may
|
416
|
+
differ in detail to address new problems or concerns.
|
417
|
+
|
418
|
+
Each version is given a distinguishing version number. If the Program
|
419
|
+
specifies a version number of this License which applies to it and
|
420
|
+
"any later version", you have the option of following the terms and
|
421
|
+
conditions either of that version or of any later version published by
|
422
|
+
the Free Software Foundation. If the Program does not specify a
|
423
|
+
version number of this License, you may choose any version ever
|
424
|
+
published by the Free Software Foundation.
|
425
|
+
|
426
|
+
10. If you wish to incorporate parts of the Program into other free
|
427
|
+
programs whose distribution conditions are different, write to the
|
428
|
+
author to ask for permission. For software which is copyrighted by the
|
429
|
+
Free Software Foundation, write to the Free Software Foundation; we
|
430
|
+
sometimes make exceptions for this. Our decision will be guided by the
|
431
|
+
two goals of preserving the free status of all derivatives of our free
|
432
|
+
software and of promoting the sharing and reuse of software generally.
|
433
|
+
|
434
|
+
NO WARRANTY
|
435
|
+
|
436
|
+
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
|
437
|
+
WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
438
|
+
|
439
|
+
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
440
|
+
OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
|
441
|
+
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
442
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
443
|
+
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
|
444
|
+
WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
445
|
+
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
446
|
+
|
447
|
+
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
448
|
+
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
449
|
+
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU
|
450
|
+
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
451
|
+
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
452
|
+
PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
453
|
+
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
454
|
+
FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
|
455
|
+
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
456
|
+
DAMAGES.
|
457
|
+
|
458
|
+
END OF TERMS AND CONDITIONS
|
459
|
+
|
460
|
+
How to Apply These Terms to Your New Programs
|
461
|
+
|
462
|
+
If you develop a new program, and you want it to be of the greatest
|
463
|
+
possible use to the public, the best way to achieve this is to make it
|
464
|
+
free software which everyone can redistribute and change under these
|
465
|
+
terms.
|
466
|
+
|
467
|
+
To do so, attach the following notices to the program. It is safest
|
468
|
+
to attach them to the start of each source file to most effectively
|
469
|
+
convey the exclusion of warranty; and each file should have at least
|
470
|
+
the "copyright" line and a pointer to where the full notice is found.
|
471
|
+
|
472
|
+
<one line to give the program's name and a brief idea of what it
|
473
|
+
does.>
|
474
|
+
Copyright (C) <year> <name of author>
|
475
|
+
|
476
|
+
This program is free software; you can redistribute it and/or
|
477
|
+
modify it under the terms of the GNU General Public License as
|
478
|
+
published by the Free Software Foundation; either version
|
479
|
+
2 of the License, or (at your option) any later version.
|
480
|
+
|
481
|
+
This program is distributed in the hope that it will be useful,
|
482
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
483
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
484
|
+
GNU General Public License for more details.
|
485
|
+
|
486
|
+
You should have received a copy of the GNU General Public License
|
487
|
+
along with this program; if not, write to the Free Software
|
488
|
+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
489
|
+
02110-1301 USA.
|
490
|
+
|
491
|
+
Also add information on how to contact you by electronic and paper mail.
|
492
|
+
|
493
|
+
If the program is interactive, make it output a short notice like this
|
494
|
+
when it starts in an interactive mode:
|
495
|
+
|
496
|
+
Gnomovision version 69, Copyright (C) year name of author
|
497
|
+
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
|
498
|
+
type 'show w'. This is free software, and you are welcome
|
499
|
+
to redistribute it under certain conditions; type 'show c'
|
500
|
+
for details.
|
501
|
+
|
502
|
+
The hypothetical commands 'show w' and 'show c' should show the
|
503
|
+
appropriate parts of the General Public License. Of course, the
|
504
|
+
commands you use may be called something other than 'show w' and
|
505
|
+
'show c'; they could even be mouse-clicks or menu items--whatever
|
506
|
+
suits your program.
|
507
|
+
|
508
|
+
You should also get your employer (if you work as a programmer) or your
|
509
|
+
school, if any, to sign a "copyright disclaimer" for the program, if
|
510
|
+
necessary. Here is a sample; alter the names:
|
511
|
+
|
512
|
+
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
513
|
+
program 'Gnomovision' (which makes passes at compilers) written
|
514
|
+
by James Hacker.
|
515
|
+
|
516
|
+
<signature of Ty Coon>, 1 April 1989
|
517
|
+
Ty Coon, President of Vice
|
518
|
+
|
519
|
+
This General Public License does not permit incorporating your program
|
520
|
+
into proprietary programs. If your program is a subroutine library,
|
521
|
+
you may consider it more useful to permit linking proprietary
|
522
|
+
applications with the library. If this is what you want to do, use
|
523
|
+
the GNU Lesser General Public License instead of this License.
|
524
|
+
|
525
|
+
|
526
|
+
A.4. md5 (Message-Digest Algorithm 5) License
|
527
|
+
----------------------------------------------------------------
|
528
|
+
The following software may be included in this product:
|
529
|
+
|
530
|
+
md5 (Message-Digest Algorithm 5)
|
531
|
+
|
532
|
+
This code implements the MD5 message-digest algorithm.
|
533
|
+
The algorithm is due to Ron Rivest. This code was
|
534
|
+
written by Colin Plumb in 1993, no copyright is claimed.
|
535
|
+
This code is in the public domain; do with it what you wish.
|
536
|
+
|
537
|
+
Equivalent code is available from RSA Data Security, Inc.
|
538
|
+
This code has been tested against that, and is equivalent,
|
539
|
+
except that you don't need to include two pages of legalese
|
540
|
+
with every copy.
|
541
|
+
|
542
|
+
The code has been modified by Mikael Ronstroem to handle
|
543
|
+
calculating a hash value of a key that is always a multiple
|
544
|
+
of 4 bytes long. Word 0 of the calculated 4-word hash value
|
545
|
+
is returned as the hash value.
|
546
|
+
|
547
|
+
|
548
|
+
A.5. RegEX-Spencer Library License
|
549
|
+
----------------------------------------------------------------
|
550
|
+
|
551
|
+
The following software may be included in this product:
|
552
|
+
|
553
|
+
Henry Spencer's Regular-Expression Library (RegEX-Spencer)
|
554
|
+
|
555
|
+
Copyright 1992, 1993, 1994 Henry Spencer. All rights reserved.
|
556
|
+
This software is not subject to any license of the American Telephone
|
557
|
+
and Telegraph Company or of the Regents of the University of California.
|
558
|
+
|
559
|
+
Permission is granted to anyone to use this software for any purposeon
|
560
|
+
any computer system, and to alter it and redistribute it, subject
|
561
|
+
to the following restrictions:
|
562
|
+
|
563
|
+
1. The author is not responsible for the consequences of use of this
|
564
|
+
software, no matter how awful, even if they arise from flaws in it.
|
565
|
+
|
566
|
+
2. The origin of this software must not be misrepresented, either by
|
567
|
+
explicit claim or by omission. Since few users ever read sources,
|
568
|
+
credits must appear in the documentation.
|
569
|
+
|
570
|
+
3. Altered versions must be plainly marked as such, and must not be
|
571
|
+
misrepresented as being the original software. Since few users
|
572
|
+
ever read sources, credits must appear in the documentation.
|
573
|
+
|
574
|
+
4. This notice may not be removed or altered.
|
575
|
+
|
576
|
+
|
577
|
+
A.6. Richard A. O'Keefe String Library License
|
578
|
+
----------------------------------------------------------------
|
579
|
+
|
580
|
+
The following software may be included in this product:
|
581
|
+
|
582
|
+
Richard A. O'Keefe String Library
|
583
|
+
|
584
|
+
The Richard O'Keefe String Library is subject to the following notice:
|
585
|
+
|
586
|
+
These files are in the public domain. This includes getopt.c, which
|
587
|
+
is the work of Henry Spencer, University of Toronto Zoology, who
|
588
|
+
says of it "None of this software is derived from Bell software. I
|
589
|
+
had no access to the source for Bell's versions at the time I wrote
|
590
|
+
it. This software is hereby explicitly placed in the public domain.
|
591
|
+
It may be used for any purpose on any machine by anyone." I would
|
592
|
+
greatly prefer it if *my* material received no military use.
|
593
|
+
|
594
|
+
The t_ctype.h file is subject to the following notice:
|
595
|
+
|
596
|
+
Copyright (C) 1998, 1999 by Pruet Boonma, all rights reserved.
|
597
|
+
Copyright (C) 1998 by Theppitak Karoonboonyanan, all rights reserved.
|
598
|
+
|
599
|
+
Permission to use, copy, modify, distribute and sell this software
|
600
|
+
and its documentation for any purpose is hereby granted without fee,
|
601
|
+
provided that the above copyright notice appear in all copies.
|
602
|
+
|
603
|
+
Smaphan Raruenrom and Pruet Boonma makes no representations about
|
604
|
+
the suitability of this software for any purpose. It is provided
|
605
|
+
"as is" without express or implied warranty.
|
606
|
+
|
607
|
+
|
608
|
+
A.7. SHA-1 in C License
|
609
|
+
----------------------------------------------------------------
|
610
|
+
The following software may be included in this product:
|
611
|
+
|
612
|
+
SHA-1 in C
|
613
|
+
|
614
|
+
By Steve Reid <steve@edmweb.com>
|
615
|
+
100% Public Domain
|
616
|
+
|
617
|
+
|
618
|
+
A.8. zlib License
|
619
|
+
----------------------------------------------------------------
|
620
|
+
The following software may be included in this product:
|
621
|
+
|
622
|
+
zlib
|
623
|
+
|
624
|
+
Oracle gratefully acknowledges the contributions of Jean-loup Gailly
|
625
|
+
and Mark Adler in creating the zlib general purpose compression library
|
626
|
+
which is used in this product.
|
627
|
+
|
628
|
+
zlib.h -- interface of the 'zlib' general purpose compression library
|
629
|
+
Copyright (C) 1995-2004 Jean-loup Gailly and Mark Adler
|
630
|
+
|
631
|
+
zlib.h -- interface of the 'zlib' general purpose compression library
|
632
|
+
version 1.2.3, July 18th, 2005
|
633
|
+
Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler
|
634
|
+
|
635
|
+
zlib.h -- interface of the 'zlib' general purpose compression library
|
636
|
+
version 1.2.5, April 19th, 2010
|
637
|
+
Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
|
638
|
+
|
639
|
+
This software is provided 'as-is', without any express or implied warranty.
|
640
|
+
In no event will the authors be held liable for any damages arising from the
|
641
|
+
use of this software. Permission is granted to anyone to use this software
|
642
|
+
for any purpose,including commercial applications, and to alter it and
|
643
|
+
redistribute it freely, subject to the following restrictions:
|
644
|
+
|
645
|
+
1. The origin of this software must not be misrepresented; you must not
|
646
|
+
claim that you wrote the original software. If you use this software
|
647
|
+
in a product, an acknowledgment in the product documentation would
|
648
|
+
be appreciated but is not required.
|
649
|
+
2. Altered source versions must be plainly marked as such, and must not
|
650
|
+
be misrepresented as being the original software.
|
651
|
+
3. This notice may not be removed or altered from any source distribution.
|
652
|
+
|
653
|
+
Jean-loup Gailly jloup@gzip.org
|
654
|
+
Mark Adler madler@alumni.caltech.edu
|