forked from monkey/monkey
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
16665 lines (10934 loc) · 508 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
commit 2b0f84634272a3b695587dfb9b21a2ba792b98eb
Author: Eduardo Silva <eduardo@monkey.io>
Date: Sun May 25 17:12:28 2014 -0600
Debian: drop dependency of old packages
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 9bf5eaf420f80bd130bc47168926d5bb48f0acee
Author: Eduardo Silva <eduardo@monkey.io>
Date: Sun May 25 15:31:32 2014 -0600
Configure: new argument to set PidFile in default monkey.conf
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 1bd7c17e0ec88b9bd20c29f68759952f5cf02446
Author: Eduardo Silva <eduardo@monkey.io>
Date: Sat May 24 21:48:19 2014 -0600
Configure: bypass OpenEmbedded/Yocto arguments
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit b3f21be68bca3f91857a49ceba4ed03245103462
Author: Eduardo Silva <eduardo@monkey.io>
Date: Sat May 24 21:09:52 2014 -0600
HTML: set release date
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit a479b9cb852ee686d3ef2ecae8fe1d6d9a9f2fba
Author: Eduardo Silva <eduardo@monkey.io>
Date: Sat May 24 16:39:49 2014 -0600
HTML: codename 'Emperor Tamarin'
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit c9314b429091cec6b25c726cb209b9554d02a8a3
Author: Eduardo Silva <eduardo@monkey.io>
Date: Sat May 24 15:58:38 2014 -0600
Proxy Reverse: do not remove FD from event pool on hangup
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 5aed3d31417d5b0efdd190570720647a679fcd85
Author: Eduardo Silva <eduardo@monkey.io>
Date: Thu May 22 11:59:57 2014 -0600
HTML: prepare home page for next version
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 5f2c9addc7a3e3e9bf40a78b6558eaf7ea950ce4
Author: Eduardo Silva <eduardo@monkey.io>
Date: Thu May 22 11:40:57 2014 -0600
FastCGI: do not remove the FD event on hangup (Monkey already did)
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 96b03a487b6731331f0092a98704f2c686b02241
Author: Eduardo Silva <eduardo@monkey.io>
Date: Thu May 22 11:28:50 2014 -0600
Connection: on close, remove FD from Scheduler first
when a hangup or connection close event is raised, the core
was invoking plugins callback directly and at the end the Scheduler
for removal procedure.
This behavior ended up in a problem as the core is not aware about
what a plugin is doing after a callback, the plugin may "open" a
new connection (new FD) and the Kernel "may" assign the previous FD
closed number again, ending in a new close from the caller, e.g:
- Plugin request to hangup a connection.
- Core receive the event and invoke callbacks for closing stuff.
- Plugin after cleanup decides to create a new FD.
- The Kernel assign the same FD number than the recently closed.
- Core retakes the control and let the Scheduler close everything
related to the original FD.
- The Core is closing "the NEW FD" messing up everything.
After this patch the behavior is:
- Plugin request to hangup a connection.
- Core receive the close event, invoke the Scheduler.
- The Scheduler cleanup all references for this FD, also it make
sure to remove event notifications from the epoll(7) loop.
- The Core invoke callbacks for closing stuff.
- Everything gets clean properly.
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 5ab55cb77e27a0159a8323822897dc3910959cc8
Author: Eduardo Silva <eduardo@monkey.io>
Date: Wed May 21 21:59:11 2014 -0600
Plugin: do not re-set event list
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 83bf013de38df051bbdf20de6cfc604cca20411d
Author: Eduardo Silva <eduardo@monkey.io>
Date: Wed May 21 21:15:54 2014 -0600
Utils: fix return value check on libc_error() stuff
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 15f72c1ee5e0afad20232bdf0fcecab8d62a5d89
Author: Eduardo Silva <eduardo@monkey.io>
Date: Tue May 20 11:22:19 2014 -0600
Mandril: check decoded URI (fix #92)
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit f929f3e6dca9a0ff2e08dcd286346ef7e436c139
Author: Eduardo Silva <eduardo@monkey.io>
Date: Mon May 19 11:00:16 2014 -0600
Doc: update Contributing file (lines length)
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 1c9538ed901643a03af601115f88c37f98bbf066
Author: Eduardo Silva <eduardo@monkey.io>
Date: Mon May 19 10:55:50 2014 -0600
Debian: structure changes
From now all plugins that do not depends on external dependencies are
distributed from the principal Monkey package. The only plugin that remains
as a separate package is monkey-polarssl.
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 5f998e189e293ab854e892012bd91b7710591734
Author: Savita TS <savita.seetaraman5@gmail.com>
Date: Tue May 13 18:58:25 2014 +0530
Signals: Removed unused variable 'old' in mk_signal_thread_sigpipe_safe()
Removed the variable 'sigset_t old' in line 71 from function, 'void mk_signal_thread_sigpipe_safe()'. This patch removes the following warning caused during 'make':
------------------ WARNING ---------------------
mk_signals.c: In function ‘mk_signal_thread_sigpipe_safe’:
mk_signals.c:71:19: warning: unused variable ‘old’ [-Wunused-variable]
------------------ WARNING ---------------------
Signed-off-by: Savita TS <savita.seetaraman5@gmail.com>
commit 58fe3faf2fb919a5a2ac7fd68b3770a3c781b149
Author: Eduardo Silva <eduardo@monkey.io>
Date: Mon May 12 00:17:43 2014 -0600
Virtual Host: add Redirect support (Fix #132).
This patch implements a basic HTTP redirect functionality at
Virtual Host level, when the Redirect key is set on the Virtual
Host configuration file, for every incoming request the server
will perform a HTTP redirect. e.g:
[SERVER]
Redirect http://monkey-project.com
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 868d751d2cdfa2a00ad386b0085efd69f498c87c
Author: Eduardo Silva <eduardo@monkey.io>
Date: Mon May 12 00:17:43 2014 -0600
Virtual Host: add Redirect support (Fix #132).
This patch implements a basic HTTP redirect functionality at
Virtual Host level, when the Redirect key is set on the Virtual
Host configuration file, for every incoming request the server
will perform a HTTP redirect. e.g:
[SERVER]
Redirect http://monkey-project.com
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 3df0f7ebc6fce3976edd7fc6fbabb8f7619748c7
Author: Savita TS <savita.seetaraman5@gmail.com>
Date: Tue May 13 19:05:17 2014 +0530
Socket: Added a variable to accept return value of read() in 'mk_socket_tcp_autocorking()'
Added a variable to accept the return value of read() in line 266 in function 'mk_socket_tcp_autocorking()'. This patch removes the following warning that arises during 'make' :
--------------- WARNING --------------------
mk_socket.c: In function ‘mk_socket_tcp_autocorking’:
mk_socket.c:265:9: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
--------------- WARNING --------------------
Signed-off-by: Savita TS <savita.seetaraman5@gmail.com>
commit b08cdddb2e4383ac96689a4a3739713c570e3bb2
Author: Savita TS <savita.seetaraman5@gmail.com>
Date: Tue May 13 18:58:25 2014 +0530
Signals: Removed unused variable 'old' in mk_signal_thread_sigpipe_safe()
Removed the variable 'sigset_t old' in line 71 from function, 'void mk_signal_thread_sigpipe_safe()'. This patch removes the following warning caused during 'make':
------------------ WARNING ---------------------
mk_signals.c: In function ‘mk_signal_thread_sigpipe_safe’:
mk_signals.c:71:19: warning: unused variable ‘old’ [-Wunused-variable]
------------------ WARNING ---------------------
Signed-off-by: Savita TS <savita.seetaraman5@gmail.com>
commit 38f823e329a6a757a255f981a073edda7bad53c8
Author: Eduardo Silva <eduardo@monkey.io>
Date: Mon May 12 00:17:43 2014 -0600
Virtual Host: add Redirect support (Fix #132).
This patch implements a basic HTTP redirect functionality at
Virtual Host level, when the Redirect key is set on the Virtual
Host configuration file, for every incoming request the server
will perform a HTTP redirect. e.g:
[SERVER]
Redirect http://monkey-project.com
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 133c62d5635bd3c4181b3cf1fa8fc11640d3f684
Author: Eduardo Silva <eduardo@monkey.io>
Date: Fri May 9 14:50:54 2014 -0600
Doc: update INSTALL
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 84fa79eb42617d57207bba784157f5b48ce6c25d
Author: Eduardo Silva <eduardo@monkey.io>
Date: Fri May 9 10:40:49 2014 -0600
License: core and plugins are now under the Apache License v2.0
Signed-off-by: Eduardo Silva <eduardo@monkey.io>
commit 50d34fca7dc3ff6af4e2de492ab06c5e6d136b83
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sun May 4 19:58:35 2014 -0600
CGI: make sure the Interpreter can be used, otherwise use status 500
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit d63286e36abce81f1e6aca261e1534d4e96edeb7
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat May 3 17:18:33 2014 -0600
CI: enable IRC notifications
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 0698068328e660270fc3d419bb8fc0142f398893
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat May 3 17:00:41 2014 -0600
CI: disable PolarSSL due to test box problem
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 7882a48badc0fd22fc425d84deb673cfcda5744a
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat May 3 16:54:43 2014 -0600
CI: add PolarSSL dependency and compile SSL Plugin
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 60296a159ab9f805d25daf8736b880b790503428
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat May 3 16:43:54 2014 -0600
CI: add Travis integration
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit df6f67ceff090c5202107060aba87212ff99ce0e
Author: Eduardo Silva <edsiper@gmail.com>
Date: Fri May 2 21:29:31 2014 -0600
Auth: move mk_passwd code into tools/ for clean build
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit a4225df6ff7e065ce9ee1a76846fef939106eb8b
Author: Eduardo Silva <edsiper@gmail.com>
Date: Fri May 2 14:33:17 2014 -0600
Auth: make mk_passwd work without Monkey internals.
This patch adds a few workarounds to make mk_passwd avoid Monkey
internals about memory allocations and string lines dependencies.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 4a4ae564079574fcf7ed81ac07808d9025f33c7b
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Apr 30 22:18:59 2014 -0600
Request: optimize initialization of session_request
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 2371f385c9b89208a8724821d8988142599c1a79
Author: Eduardo Silva <edsiper@gmail.com>
Date: Tue Apr 29 16:42:12 2014 -0600
Lib: fix parameters for mk_socket_server() call
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit f1876018eb32cf3c1cf7cdf77e34fea203fdbad0
Author: Eduardo Silva <edsiper@gmail.com>
Date: Tue Apr 29 16:35:30 2014 -0600
Debian: minor updates
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 409c5fb0e9636052acd4a41013694372739a1ba0
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Apr 28 21:12:28 2014 -0600
Doc: CONTRIBUTING.md: specify number of chars per line
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 8b97b01ef591186929b6d59dffef2988b4808526
Author: Vladimir Cernov <gg.kaspersky@gmail.com>
Date: Tue Apr 29 00:00:36 2014 +0300
Auth: Rewrite mk_passwd in C (close #131).
This patch drops the mk_passwd python script from auth plugin, by adding an
equivalent C implementation.
The C implementation makes use of Monkey functions, whenever possible, so it
links with Monkey objects.
In order to make the linking possible, some minor modifications had to be made
to the configure script, monkey.c and mk_config.c source files.
Signed-off-by: Vladimir Cernov <gg.kaspersky@gmail.com>
commit 9e8444445daa2a2ad12d774250ec1bbe924e8362
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Apr 28 10:12:43 2014 -0600
Socket: fix array index.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit b4ef860e3f2edd1de6d0626c19a56730e7104428
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Apr 28 10:05:48 2014 -0600
PolarSSL: Enable REUSEPORT feature
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit e2ede773d0341f65e7be99887c699f8af206d6ee
Author: Sonny Karlsson <ksonny@lotrax.org>
Date: Fri Apr 25 04:29:44 2014 +0200
PolarSSL: Enable session cache.
Sets session cache on ssl context.
Moves pk_context to local thread context to allow use of polarssl
compiled without threading support.
Signed-off-by: Sonny Karlsson <ksonny@lotrax.org>
commit c51124d1ab2e1900b4eee4a9ef8adab58c59295b
Author: Sonny Karlsson <ksonny@lotrax.org>
Date: Fri Apr 25 04:28:26 2014 +0200
PolarSSL: Fixes error where connection isn't terminated on error.
Signed-off-by: Sonny Karlsson <ksonny@lotrax.org>
commit 3b22521b6fed4d1f13a62f898a8b379168bde97e
Author: Sonny Karlsson <ksonny@lotrax.org>
Date: Fri Apr 25 04:00:40 2014 +0200
PolarSSL: Drops polarssl v1.1 support.
Signed-off-by: Sonny Karlsson <ksonny@lotrax.org>
commit c8dba9b191784af72c82e4884520e4919b706661
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 23:21:52 2014 -0600
Scheduler: enable TCP_DEFER_ACCEPT on REUSEPORT mode
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 0da162a6cae7c7c5616afda06b18973c9fcb643d
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 23:06:54 2014 -0600
Cheetah: on status command, print new Kernel features
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit a94fa2e04f8b4508e62f4c92950c951986c1b430
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 23:05:09 2014 -0600
Plugin API: export mk_kernel_features_print
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 9a6ad8a67a09e72d96ca7b2d740569f39a1494dd
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 22:40:37 2014 -0600
HTTP/Server: use new server_cork_flag() interface
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 7aed9dd5f4685a5481209e898a905918e1fb7759
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 22:36:11 2014 -0600
Config: check kernel_features flag for REUSEPORT
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit de083846ecece14949b66575851b66b411efd54f
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 22:31:49 2014 -0600
Kernel: remove unused variable
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 9d7a8cda6b967abd24e34b0369dfcae1ded7885a
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 22:24:05 2014 -0600
Kernel: new features interfaces and core flags
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit fcfba4903f61b33e01124bbc8a60ea47f4d94b0a
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Apr 26 10:19:11 2014 -0600
Scheduler: Little improvements over REUSEPORT implementation.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit d1da249a0b5e8f5765ea8031919fb32e93c57cb8
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Apr 24 22:57:43 2014 -0600
Scheduler: new REUSEPORT balancing method/architecture.
Starting from Linux Kernel 3.9, there is a new TCP/UDP socket option which allows
to bind same port and address from multiples threads (or any instance under the
same process context).
This patch implements the SO_REUSEPORT TCP Flag if the running Kernel is >= 3.9,
so on that mode each working thread create it own socket that bind the same address,
with this implementation we reduce the number of system calls involved when a new
connection arrives, avoid lookup the lowest loaded thread and also we allow the
Kernel to perform a better Scheduling on SMP systems that requires to scale.
If the detected Kernel is lower than 3.9, it will use the old Fair Balancing
mechanism.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 27878547891bdac7456fbae2c60942434d40e065
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Apr 24 19:51:57 2014 -0600
Config: fix typo in mk_kernel_runver
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 17df1070b417cca6d13ee3e863c3680830d27960
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Apr 24 09:24:44 2014 -0600
Socket: TCP Auto Corking only on Linux >= 3.14.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 697341887751ac74f0e477754b18229e7c05d952
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Apr 23 23:51:30 2014 -0600
Socket: enable TCP_FASTOPEN only on Kernel >= 3.7.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 2c38ddb3178aefbe9122702309d2bfa183a11ac4
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Apr 23 23:36:22 2014 -0600
Kernel: new interface to query Linux Kernel version.
This patch implements two things:
1. Macro MK_KERNEL_VERSION() to return an unique representative integer
of the Linux Kernel version given the 3 common values.
2. Function mk_kernel_version() that returns the Kernel version from
the running system.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 30c050b50f9940d9743c7b711fd10310764e3d04
Author: Savita TS <savita.seetaraman5@gmail.com>
Date: Tue Apr 15 17:21:56 2014 +0530
Reporting when event EPOLLRDHUP occurs in a file descriptor registered in an epoll instance
commit d253f454ef2e0f313ebbcdd40bd45b36b6253516
Author: Savita TS <savita.seetaraman5@gmail.com>
Date: Tue Apr 8 17:54:38 2014 +0530
Removing unnecessary conditionals from src/mk_http.c
commit 635c1304dd803e611e673521f6b3f389de6438e9
Author: TamerTas <tamertas@outlook.com>
Date: Sun Apr 6 14:25:29 2014 +0300
HTTP: Fix comments' grammar and punctuation in mk_http.c
commit ba0fb3326560c2d8ba0af7fabfe6bcdf4c0d60ca
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Apr 2 23:31:17 2014 -0600
Socket: handle new Kernel 3.14 tcp_autocorking feature.
the server use the TCP_CORK feature to instruct the Kernel to
wait for some data before dispatch it on the socket buffer. This
is a common approach when sending HTTP response headers and then
a content body (file data).
The Linux Kernel 3.14 introduce a new feature called 'tcp autocorking',
it basically do TCP_CORK by default based on specific conditions of
each socket status. This is a good approach to let the Kernel to decide
when it can be used and also it avoid user space to invoke two system
calls to enable/disable the TCP_CORK.
This patch makes the Server to validate if the new feature exists on the
running Kernel and if is enabled, it will disable all manual corking done,
for more details about how it works at Kernel level refer to the following
patch:
http://goo.gl/AMFIuI
Note: on an older Kernel it will continue working as usual.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 7ddf7f99126487a94064e559edfd570c7e92b745
Author: Vladimir Cernov <gg.kaspersky@gmail.com>
Date: Mon Mar 31 23:40:46 2014 +0300
Systemd: add unit file monkey.service
This patch adds a unit file for systemd init system, as described in issue #39.
The installation of the unit file is triggered by the "--systemddir" passed to configure script, in the following way:
$ ./configure # no systemd unit file deployed
$ ./configure --systemddir # Unit file systemd.service is created with default installation path "/lib/systemd/system"
$ ./configure --systemddir=CUSTOM_PATH # Unit file systemd.service is created with installation path "CUSTOM_PATH"
The unit file is deployed is deployed using "make install" command, so you should also specify "--prefix" option for configure.
I tested the patch on archlinux and fedora (systemd init system) deploying the unit file in different system paths. The following commands were successful:
$ service monkey start
$ systemctl start monkey.service
I also tested on ubuntu (upstart init system), ensuring nothing is broken.
Signed-off-by: Vladimir Cernov <gg.kaspersky@gmail.com>
commit e74ff9f8f96726a4ef4db63032680fb2ca3cbf90
Author: Savita TS <savita.seetaraman5@gmail.com>
Date: Tue Apr 1 21:53:47 2014 +0530
Scheduler: Moving and renaming function mk_sched_worker_info() to mk_plugin_sched_get_thread_conf
commit adc4ccc42780ff96e03257cb625d7441f556d7b0
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Mar 31 11:00:58 2014 -0600
Memory: upgrade Jemalloc to 3.6.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit c253b3675fe90361fef91139127db7c76f55f32d
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Mar 29 11:22:53 2014 -0600
Epoll: when adding a new FD, return status value
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 3400e110bc3c5f6e24fce0ef1f3c0e77cd9d745f
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Mar 27 22:28:36 2014 -0600
Vhost: skip files ending in '~' (editor backups)
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 0f511308bd443f72b5bc7b451870a4e363ac8029
Author: Savita TS <savita.seetaraman5@gmail.com>
Date: Fri Mar 28 04:33:51 2014 +0530
IOV: store buffer type changed to void in function '_mk_iov_set_free'
commit f5ce9bfcb83e53ee6d043b52c918bc33272d00b9
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Mar 24 22:38:35 2014 -0600
IOV: store buffer using void data type instead of char
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 3946861b5b5b4e0755b47c39d0f1fbcc87995542
Author: Vladimir Cernov <gg.kaspersky@gmail.com>
Date: Wed Mar 19 23:50:27 2014 +0200
Monkey configuration: add program options for configuration paths
This patch solves the issue #36.
4 additional program arguments were added for specifying different
configuration files and directories:
-m, --mimes-conf-file # path to monkey.mime
-P, --plugins-conf-dir # path to plugins configuration directory
-l, --plugin-load-conf-file # path to plugins.load file
-S, --sites-conf-dir # path to sites directory
Each option has a default value.
Monkey will try to interpret the options by prepending their values
to default configuration directory. If the obtained path does not
exist, the options will be treated as absolute paths.
I tested using ./configure --prefix=path --plugdir=--path2 and
default build. I was able to load different configuration files
from custom locations with custom names, overriding the default
names which were hardcoded in Monkey.
The patch also contains an unrelated fix to:
bin/monkey --confdir # was not working, while provided by --help
Signed-off-by: Vladimir Cernov <gg.kaspersky@gmail.com>
commit 2d5e48d7697dd6b1ea3aaed48406d74e5d3ab097
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Mar 17 23:13:14 2014 -0600
Epoll: Fix not catched peer close after events modifications (EPOLLRDHUP)
If a socket created on the event loop did some events modifications and
the peer closed the connection, the core did not trap this event. This
patch re-enable the EPOLLRDHUP flag.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 102b45e247b4b46d7499f34d8e160f2a22d33eee
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sat Mar 15 15:51:55 2014 -0600
Configure: fix broken plugins path on previous contributor patch
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 42a3a8e95d02c14e5f2396e0932ec6b51e634b05
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Mar 10 13:22:05 2014 -0600
Doc: update CONTRIBUTING with 'Commit Changes' info
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 545809698864309c9c49dc4874f7cdae4596082a
Author: Vladimir Cernov <gg.kaspersky@gmail.com>
Date: Mon Mar 10 20:08:50 2014 +0200
Libmonkey: fix build and add test for mimetype
commit f0e78d7f1e8e482035ded9e3199f2d575791c2f3
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sun Mar 9 21:31:48 2014 -0600
Doc: Add CONTRIBUTING.md file
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 2eb580ce3ba890540461d9afc25e28204e5588f2
Author: matematik7 <domen.ipavec@z-v.si>
Date: Sat Mar 8 22:29:35 2014 +0100
Linux Trace: Fix compile issue
commit b11236bedd56672b56fc3aa235428455e6041071
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Mar 5 13:34:59 2014 -0600
Debian: bump to v1.5.o (development)
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit fab1e41130f6ca76add03df8ed3f51b1325fcd24
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Mar 5 11:46:26 2014 -0600
Lib: upgrade test lib version
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit a3a99b141d0508ef33593e10e4df52a3abdcf04d
Author: Eduardo Silva <edsiper@gmail.com>
Date: Sun Mar 2 23:22:07 2014 -0600
Epoll: testing new MK_EPOLL_HANGUP mode
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit a123d949d03906cfc9f27a5489dc3baa96b5338d
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Feb 6 11:31:41 2014 -0600
Plugins: use new mk_ptr_t data type
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit b79465eeaf8ed06727b01fc8359edd9850a5b115
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Feb 6 11:30:01 2014 -0600
Core: use new mk_ptr_t data type
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit b353825456fb522bf335ac831570e543e9e2dcf6
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Feb 6 11:26:49 2014 -0600
Memory: rename datatype mk_pointer to mk_ptr_t
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit d77504ab34a4e8633bf643497c75cab2ae7c5843
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Feb 6 11:24:20 2014 -0600
Development of v1.5 begins :)
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 726b3e8bcb7b14b2adc9ea6e3b2e67c7de25c032
Author: Eduardo Silva <edsiper@gmail.com>
Date: Tue Feb 4 08:04:22 2014 -0600
Update ChangeLog for v1.4.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit f3638d9d6b7f781d0ad5dd87e04ee03c84271d90
Author: Eduardo Silva <edsiper@gmail.com>
Date: Tue Feb 4 08:04:22 2014 -0600
Monkey v1.4.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 90e358af00312cce155c0bd5039522fc9739a1e4
Author: Eduardo Silva <edsiper@gmail.com>
Date: Tue Feb 4 08:04:16 2014 -0600
HTML: update home page
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit f35e15c8b7e153fe71db51f29643a0016c427984
Author: Eduardo Silva <edsiper@gmail.com>
Date: Tue Feb 4 08:02:04 2014 -0600
Proxy Reverse: fix config file
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 35b00ab23b081b363c840b4457b3eee3a34373e0
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Feb 3 22:51:57 2014 -0600
Debian: update rules for v1.4.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit a31d354f0bc22f4801a7927953c393ae2eb93bf5
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Jan 29 08:03:12 2014 -0600
Lib: fix missing vhost header and API usage (#99)
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit dc4bc593202d008ec6e7531005be167211fc8ff0
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Jan 29 01:18:51 2014 -0600
Jemalloc: upgrade commit to fix compiler warnings
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 9b43aa61e36a465409317f1759816695a00f019c
Author: Eduardo Silva <edsiper@gmail.com>
Date: Tue Jan 28 10:49:22 2014 -0600
HTML: update index page for v1.4, codename Spider Monkey
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 930410506d352377017b3465a75af62e503ae382
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Jan 27 20:45:31 2014 -0600
Macro: rename MAX_PATH to MK_MAX_PATH
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 4c5ad82cd04cbc9bfdcdd97bbdc491ab1ca8a61c
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Jan 27 15:30:03 2014 -0600
Doc: Update kernel requirements
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 7268167c2a022495d0395108480802adb33ece74
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Jan 27 15:26:13 2014 -0600
Configure: update copyright
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 2522c5fd50f387ea83b79e0a35f69b74d9daf63a
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Jan 27 12:50:04 2014 -0600
Conf: make FDT configurable
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit a365d457d3fe6026b25aeb0524d8a34852994bd0
Author: Eduardo Silva <edsiper@gmail.com>
Date: Mon Jan 27 11:10:12 2014 -0600
Jemalloc: back to original 3.5.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 80942638c24e837c33e43dffde28364d910ed2f2
Author: Eduardo Silva <edsiper@gmail.com>
Date: Fri Jan 24 10:10:30 2014 -0600
Scheduler: optimize access to thread specific data with __thread
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit aeb004b31b5b710561acd5782372d805aeba84c0
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Jan 23 22:32:20 2014 -0600
Virtual Host: reduce hashed string on FDT.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 4efbc11bafeb56fbe2b4f0f6925671630ce84125
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Jan 23 21:53:37 2014 -0600
Virtual Host: File Descriptor Table (FDT).
The File Descriptor Table (FDT) aims to provide a mechanism to share
open file descriptors at Virtual Host level with the goal of to reduce the
number of open file descriptors and reduce the calls to open(2) and close(2).
The FDT is implemented in the following way:
- For each worker thread, maintain a list matching the global Virtual Host
list and for each entry create a Hash Table (HT) of 64 entries, and each
HT entry maintain a sub-array of 8 chains.
- When a request for a static file arrives, use the new Virtual Host open/close
wrappers, from the given parsed and processed URI generate a hash value and
try to see if it exists in the HT, if it don't exist, just open the file
directly and register the data into the chain for a possible future reuse.
If the hash exists in some HT/Chain, obtain the opened file descriptor and
increment the readers counter.
- When the Monkey core do not longer needs the file descriptor, instruct the
Virtual Host 'close' wrapper to perform the cleanup. If the resource/hash
exists in the HT/Chain, decrement the readers counter, if counter reach
zero, just perform an explicit close(2) as nobody is using it, if readers
is greater than zero just return as the file descriptor is in use.
If the resource do not exists in the HT, do a direct close(2).
The good thing of this implementation is that exists at worker level, so there
is no race conditions and is lock-free. Also collisions are reduced to zero
using HashTable Chaining. The hashing algorithm in use MurmurHash 2.
This implementation reduce the overhead under high concurrency sharing the file
descriptor resources and making it more scalable.
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 6d666da1a8c1d91a67348c935a657080731fdc18
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Jan 23 00:22:52 2014 -0600
Core: fix compiler warnings
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 3d70f08ee3c7c2a34207512a88d67c568f136635
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Jan 23 00:11:34 2014 -0600
Deps: update Jemalloc commit
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 732226720b26b4b534dec8db466f44523760d51a
Author: Eduardo Silva <edsiper@gmail.com>
Date: Thu Jan 23 00:05:11 2014 -0600
Memory: upgrade Jemalloc to 3.5.0
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 10ce73fb71e0b711b87234498af0f363c706374c
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Jan 22 14:09:36 2014 -0600
Core: move vhost structs to new mk_vhost.h
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit af0b80de1568bf2977f971827756c29296dcbf63
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Jan 22 14:04:09 2014 -0600
Core: separate virtual host logic from config: new mk_vhost.c
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit 4564a587c5c00c9259567d043d74cde1226c6e95
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Jan 22 11:18:31 2014 -0600
Core: deprecate perror(), use mk_libc_xxx() wrappers
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit e47643e347714e14a08babc667db92df7505e052
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Jan 22 11:13:13 2014 -0600
Error Handling: add caller name
Signed-off-by: Eduardo Silva <edsiper@gmail.com>
commit b2aacccc4fcb8ea465543c4a16ffd1ab22f49069
Author: Eduardo Silva <edsiper@gmail.com>
Date: Wed Jan 22 11:04:11 2014 -0600
Error Handling: new macros mk_libc_error() and mk_libc_warning()
This patch adds two new functions and proper macros to handle common