-
Notifications
You must be signed in to change notification settings - Fork 29
/
Changes
634 lines (556 loc) · 30.2 KB
/
Changes
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
Revision history for Perl extension Net::Server.
2.014 Mar 14 2023
- Apply patch to Fork for UDP
- Fix tests on perls without threads
2.013 Dec 03 2022
- Update MANIFEST for missing file
2.012 Dec 02 2022
- More code/documentation typo fixes
- Add /simple routes to HTTP and PSGI echo handlers for doing static request samples.
- Fix PSGI header handling that was broken in 2.011
2.011 Dec 01 2022
- Default to IO::Socket::IP with continued fallback to IO::Socket::INET6
- Add double_reverse_lookups configuration and code
- Cleanup hostname lookup under both IO::Socket::IP and IO::Socket::INET6
- Change SSL to use IO::Socket::SSL SSL_startHandshake
- Fix semaphore release
- Update various POD issues
- Finally add register_child method called if a child process is started.
- Bugfix Net::Server::PSGI
- Allow groups to be separated by ,
- Allow . in usernames and groups
- Allow space in config file values
- Retro-actively acknowlege that 2.008 changed default Net::Server::HTTP type to PreFork (and update docs)
- Fix Location bounce with other status set
- Return status 400 under request_denied_hook in Net::Server::HTTP
2.010 Mar 22 2021
- Add SSL_verify_callback
- Fix SSLEAY connect spinloop
- Various pod typos
- Allow for logging to STDOUT for HTTP
- Add PATCH verb to HTTP
2.009 Aug 09 2017
- Several long awaited fixes
- Log when a child exits abnormally. RT #86815
- Added delete-child hook
- Add cleanup_dead_child_hook to PreFork server
- Removed stray warn
- Use File::Temp instead of POSIX::tmpnam
- UNIX read_until to allow for SSL under unix sockets
2.008 May 12 2014
- Long awaited patch for the IO::Socket::SSL default verify mode bug
- Add Time::HiRes as a dep
- Update to new github hosted repository with all legacy code imported
- Beginnings of change to dzil based releases
- There are several dozen outstanding bugs that will be addressed in the next release
2.007 Jan 09 2013
- Update run_dequeue to clear out signals after fork.
- Add serialize none for PreFork and PreForkSimple servers that at not multi-port.
- Allow for auto-assigned port to be the same when hostname resolves to multiple ips/ipvs (RT #78024)
- Fix bug in header parsing (RT #82125)
- Fix warning bug (RT #78828)
- Fix wrong wantarray context in Proto::TCP (RT #31437)
- Simplify _get_commandline to just use $0 - no fishing in proc (RT #80260)
- Fix uninitialized begin (RT #78830)
- Fix misplaced +2 (RT #78827)
- Fix various spelling errors and pod nits (RT #77994)
- Allow for log calls from the MUX object (RT #78514)
- Give an error at begin time of SSLEAY if the need Fcntl function is not available on this platform (RT #82542)
- Make all of the tests self cancel much earlier if there is an error handling the request.
- Add a stronger timeout to PreFork tests - ideally we'd like to find a real way to test these one windows (RT #811411, #81993) - still broken - but shouldn't hang
- Superficial changes to help packagers not list Log4perl as dependency (it is optional)
2.006 Jun 20 2012
- Allow for case where host is *, and IO::Socket::INET6 is installed, but IPv6 doesn't really work.
- Add missing child_init_hook in Fork server (so Fork can be more parallel with PreFork in some respects)
- Change BOUND_SOCKETS passing to use ; as a separator rather than a \n
2.005 Jun 12 2012
NOTE: ipv now defaults to *
- Change the default of ipv from 4 to *. This means if a host of * (default), or a named host is used, any available IPv4 OR IPv6 address will be used.
- Allow for explicit close_client_stdout call
- Add dispatch methods and app setup to HTTP
- Allow for exec_fork_hook in HTTP
- Make sure errors in HTTP use correct logging mechanisms (and do not die un-needed)
- Fix 500 call in PSGI
- Fix send_header
2.004 Jun 08 2012
NOTE: Version 2.005 will change the default ipv value to * meaning it will attempt to bind IPv4 and IPv6 if they are available if you pass a hostname
- Add Net::Server::Proto->get_addr_info which can more reliably resolve domain information.
- Use that information to figure out an appropriate host to bind to for tests
- Make get_addr_info less reliant on magic values of sysctl net.ipv6.bindv6only
- Allow all tests to function in IPv6 only environments
- Fix broken number of tests in test suite
- Add warnings about changes to the default value of ipv coming in 2.005
2.003 Jun 06 2012
- Make the logging system pluggable
- Added net-server server executor for writing easier one line servers
- Sys::Syslog and Log::Log4perl are now moved out to their own module subsystems
- Added full apache style HTTP log formatting for the HTTP server
- Allow for ipv to be specified as part of host, or proto, or passed via $ENV{'IPV'}
- Add apache style access logging (access_log_file and access_log_format) to HTTP
- Allow HTTP header parsing to not untaint the headers (thanks Miko O'Sullivan)
- Fix missing legacy NS_unix_path call (missing since 2.000)
- Fix a bug in MultiType that prevented calling server_type HTTP
2.002 May 31 2012
- Make HTTP output header parsing more consistent - and catch more errors
- Add exec_cgi and exec_trusted_perl methods to HTTP
- Add bugfix for ipv=>"*" combined with UNIX sockets. (Mark Martinec)
- Fix the SSL_test.t to use exit rather than quit so the parent departs
2.001 May 30 2012
- Bug fix wrong usage of File::Temp::tempfile.
- Fix HTTP_COOKIES to be HTTP_COOKIE
- Handle multiple header values better in HTTP
- Add Log::Log4perl logging courtesy of TONVOON@cpan
2.000 May 30 2012
- Sorry for the amazingly long delay. This release represents change to much of the code base. Future patch submissions should be more promptly handled
- Bring Net::Server::Proto::SSL back. It is now fully functional under all scenarios, including IPv4 and IPv6
- Change Proto interface to allow passing more information. This represents an internal API change.
- Updates to the HUP mechanisms to make sure we rebind all types of ports correctly.
- Add IPv6 integration via ::1 style addresses as well as the ipv configuration parameter (Mark Martinec)
- Added graceful shutdown (Tatsuhiko Miyagawa)
- Added hot deploy via TTIN and TTOU (Tatsuhiko Miyagawa)
- Internal code retidying
- Finish out support for connecting to ports by service name
- Don't loose track of fork and prefork children on a hup - make sure to actively wait them off
- Correct accept to take a classname, and optionally be called in array context
- Cleanup numerous configuration issues.
- Added sig_passthrough option to Fork, PreFork, and PreForkSimple servers allowing for arbitrary signals to propagate to children
- Add syswrite/sysread support to SSLEAY (Sergey Zasenko).
- Add PSGI module.
- Many small accumulated bugfixes.
0.99 Jul 13 2010
- Add customizable check_for_spawn and min_child_ttl settings in PreFork (Graham Barr)
- Add other_child_died_hook (Daniel Kahn Gillmor)
- Make Multiplex do $mux->add($sock) for UDP sockets (Kristoffer Møllerhøj)
- Change Net::Server::Daemonize to use kill 0 rather than the unportable `ps`
- Fix calling conventions of MultiType
- Avoid select in SSLEAY that was allowing for infinite spin loop
- Fix tie_stdout mode to not warn about unopen handles.
- Added Net::Server::HTTP base class for basic HTTP daemon handling.
- Change examples/httpd to use Net::Server::HTTP
0.98 May 05 2010
- Add SSLeay proto - finally a workable SSL solution.
- Add minimal Net::Server::TiedHandle to allow for STDIN and STDOUT to work with SSLEAY
- Net::Server::TiedHandle also support tied_stdin_callback and tied_stdout_callback
Feb 08 2008
- Allow for port => 0 which lets the OS auto assign a port on some OSes (Blackie Hlasek)
- Add idle_loop_hook to PreForkSimple and PreFork (David Zuhn)
- Add consistent formatting capabilities to the log method (whethere Syslog is used or not) (David Zuhn)
- Warn when default listen value is used - try to make it a sensible default (Mark Martinec)
- Allow for non-zero exit value - particularly when called from fatal (David Schweikert)
0.97 Jul 25 2007
- Allow for better handling of setlogsock depending upon the version of Sys::Syslog installed (David Schweikert)
- Update examples with minimal pod and working synopses
- Added post_client_connection_hook (Mihail Nasedkin)
0.96 Mar 23 2007
- Allow for conf_file to be specified in the default_values.
- Add perldoc for why we use a template in options.
- Fix syslog log options regex again (Carlos Velasco)
- Fix ->autoflush (needs FileHandle) (Paul Miller)
- Add handle_syslog_error to allow catching errors during syslog writes (Patrik Wallstrom)
- Add open_syslog to slightly abstract opening of syslog.
- Add numerous patches from Rob Mueller to cleanup child accounting in PreFork server.
0.95 Feb 02 2007
- Warn clean on the chld hanlder in PreFork. (Michael Virnstein)
- Allow lock_file for lock serialization to only be opened once (Rob Mueller)
- Add additional log messages during failure in accept (Mark Martinec)
- Fix double decrement bug in PreFork.pm (Bill Nesbitt, Carlos Velasco) (rt #21271)
- Fix precedence bug with non-parened open (John W. Krahn)
- Check setuid better after POSIX setuid (Ricardo Signes) (rt #21262)
- Update Syslog options parsing (Carlos Velasco) (rt #21265)
- Allow no_client_stdout to work with Multiplex (Steven Lembark)
- Allow Sys::SysLog keyworks be passed through the ->log method (Peter Beckman)
- Allow more characters through in syslog_ident (Peter Beckman)
- Fix Fork server bug which had post_accept_hook called twice (Curtis Wilbar)
- Added pre_fork_hook to Fork server to handle removed duplicate post_accept_hook call.
- Reopen STDIN/STDOUT to /dev/null at end of child connection to avoid spurious warnings (Rob Mueller)
- Don't process STDIN/STDOUT in post_accept if udp_true (Rob Mueller)
- Cleanup child processing code in PreFork server (Rob Mueller)
- Try and let tests fail gracefully if localhost is not setup properly (Peter Beckman)
- Add numerous tests for configuration passing.
- Add perldoc about adding your own custom options.
0.94 Jul 08 2006
- Add nofatal to Sys::Syslog::openlog if Sys::Syslog
version >= 0.15 (thanks to DSCHWEI on cpan)
- Added the leave_children_open_on_hup flag which leaves
open connections open when the server
is hupped. It is false by default.
- Make sure new and run can both take a hash or a hashref of values.
- More fixes to HUP under taint (thanks to LUPE on cpan)
- Allow for port, host, and proto to be passed as arrayrefs to run and new.
- Fix bug in a check for dead child processes algorithm in
PreFork server (thanks to Michael Virnstein).
0.93 Mar 23 2006
- Allow for get sock info routines to use $peer->{client} rather than STDIN
which may not be set if the "no_client_stdout" flag is set. (thanks to
Mark Martinec for pointing this out)
0.92 Mar 13 2006
- Allow for duplicated STDIN and STDOUT to properly close.
Previously they closed because they were simple symbol globs.
Now they need an explicit close be cause they are opened to
the client socket's file descriptors.
- Add flag to disable all of the binding of client to STDIN and STDOUT
0.91 Mar 08 2006
- Abstract shutdown_sockets method that is called at the end
of server_close (to allow for calling in other places).
- Make sure close_children unsets the overridden signals in
the forked and preforked servers.
- Better handling of STDIN and STDOUT as provided by tye on
perlmonks in response to Ben Cohen's question (in node
http://www.perlmonks.org/?node_id=534791)
- Finally added a new method.
- Added much missing perldoc.
- Pass parameters to ->run the second time it is called. This
allows for multitype to handle more parameters - but needs
to be tested for all use cases (it could result in array fields
getting multiple entries which should be fine in most cases).
Thanks to Aron Ujvari for pointing this out.
- Add default_values method (suggested by Malte S. Stretz).
- Fix udp_broadcast issue (fix by Rob Mueller)
0.90 Dec 05 2005
- Make HUP work correctly on Multiplex server.
- Allow socket files to cleanup correctly.
- Allow Net::Server::Daemonize to function properly in Taint
mode again (broken in .88).
- Add ->commandline method to allow for getting and setting
the commandline for use during a HUP. This is to allow for
untainting as necessary.
- Add ->can_read_hook (see the documentation) to allow for
processing of arbitrary handles in accept_multi_port.
0.89 Nov 22 2005
- Added SSL_passwd_cb to Proto/SSL.pm (Irving A. Bermudez S.)
- Fix rt #13450 which is caused by broken POSIX::setuid on
perl 5.8.0 on RedHat 9.0.
- Allow for graceful skipping if a port is configured twice in
the configuration file.
- Allow tests that can pass to pass on Win32 (skip those that cannot)
- Allow "-" in user names. (Carl Lewis)
- Add Reuse = 1 to Proto::UDP. (Slaven Rezic)
- Allow for udp_broadcast setting in Proto::UDP. (Tim Watt)
- Add bug note to Proto::SSL (Christopher A Bongaarts)
- setsid property is now boolean rather than checking definedness.
- Command line parameters override conf file parameters.
- Store command line a little better in preparation for HUP.
- Allow for cleaner HUP and better error if process already running.
0.88 Jun 21 2005
- Change maintainer back to [email protected] (Paul Seamons)
- Add run_n_children_hook to prefork servers (At suggestion of
James Fitzgibbon and Paul B. Henson)
- Make delete child only delete children it knows about.
Fixes ancient bug http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=168784
filed by Christian Mock and worked on by Lucas Filipozzi.
- Store $ENV{PWD} as part of script name for HUP'ing (Russel Pettway)
- Allow PreFork and PreForkSimple to have child mark
explicitly as done the same as other server types via
the ->done(1) call. (Idea from Marc Martinec)
- After numerous requests, the CHLD SIGNAL is now
set to DEFAULT in the child process of PreFork and
PreForkSimple servers. This should allow grand child processes to
run without affecting the child process (or parent).
- Fix parent/child communication channel buffering issue (Matt Sergeant)
- Check for child's sock before closing with
child_communication enabled (Alexander Hlawenka)
- Documentation fix (Mark Morgan)
- Allow 'stream' option for syslog_logsock property (Daniel Matuschek)
- Fix syslog format vulnerability. (Carlos Velasco) This has
potential to break some log implementations that were
planning on ->log passing all of @_ to syslog. Now only the
first item from @_ is passed as the message.
- Allow for '-' in group names. (Corey Minyard)
- Prevent locking caused by interupt of flock (Dietmar Maurer [cpan #11693])
- Finally fix UID/GID bugs during daemonization. This is the
biggest bug winner. The new model Calls POSIX::setuid and
setgid and tests for success by checking the values of $<
and $( and not by checking the response of the setuid/setgid functions.
- Add CIDR style lookups for allow/deny using cidr_allow and
cidr_deny (Carsten Wolff)
- Allow for port configured in perl to not have to be arrayref.
0.87 Feb 14 2004
- Patch by [email protected] (Enrik Berkhan)
that fixes RT Bug #3671
- Patch by [email protected] (Chris Reinhardt)
Integrate pre_accept_hook and post_accept_hook
into Net::Server::Fork
0.86 Nov 06 2003
- Changed maintainer to [email protected] (Rob Brown).
- Patch to fix Net::Server::Daemonize setuid bug:
http://www.ijs.si/software/amavisd/net-server.patch
- Add a fix in the argument handling of configure
to account for some alpha systems (James Vasak)
- For RedHat 8.0 perl.req, avoid demanding that
perl(IO::Muliplex) and perl(IO::Socket::SSL)
rpms are installed just to use Net::Server.
0.85 Mar 06 18:00 2003
- Lower timeouts during tests (Anil Madhavapeddy)
- Add configure_hook to MultiType (Michael Alan Dorman)
- More graceful exit of children in PreForkSimple (Helge Kraenz)
- Correct test for POSIX::setuid(0) success (Peter Chen)
- Allow DOS filenames for conf files (Mark M. Adkins)
- Allow for ndelay on Sys::Syslog::openlog (Doug Perham)
- Add documentation about run_dequeue.
- Add run_dequeue feature to Multiplex personality.
0.84 May 22 08:00 2002
- Safer peername check in get_client_info to
avoid crashing under certain conditions.
- Create noarch RPM since Net::Server is pure perl.
- Always chown log and pid files when started as root
but running as non-root.
- More graceful exit of children in PreFork
- Kill children with a kill 15 rather than kill 2 -
Fixes on Tru64 UNIX (Marco Sbodio)
- Allow for SOCK_STREAM and SOCK_DGRAM to be passed
as strings to proto (ie "/tmp/path/|SOCK_STREAM|unix") (Andrzej Filip)
- Backward compatibility fix for IO::Socket usage (Matt Sergeant)
- Avoid reopening STDIN and STDOUT in INET mode. (Bernard Quatermass)
0.83 Mar 26 15:33 2002
- Prevent race condition warning between accept on socket
and assigning client to STDIN
- Fix bug in Net::Server::Proto::UNIX which affected
older perls (<= 5.005)
- Allow failed attempt to change user to continue with
warning if not root.
- Add parent/child communication code to PreFork.pm based off
code submitted by Vadim. Allows children to speak to parent.
- Improved accounting of child processes in PreFork.
- Add spec file for rpm.
0.82 Jan 29 16:20 2002
- Add changes pointed out by Vadim to make sure
that SSL client handle is blessed into correct class.
0.81 Nov 19 12:39 2001
- Fix Net::Server::Fork - Bug in forking server
once parent has reached max_servers caused.
slow infinite loop and no processing of connections.
- Some perldoc cleanups
- Don't require IO::Multiplex for base test.
0.80 Nov 14 09:30 2001
- Fix Net::Server::Multiplex::MUX::mux_eof
to pass a ref to the remaining data.
0.79 Oct 23 12:00 2001
- Added Net::Server::Multiplex
- NOTE: IO::Multiplex >= 1.01 is required
to use this personality.
0.78 Sep 28 9:13
- Added post_child_cleanup_hook to server_close
- Moved pre_server_close_hook inside server_close
- Various small cleanups
- Added no_close_by_child flag (see perldoc)
0.77 Aug 27 10:00
- Added dequeuing ability to Fork mode server.
- All Fork and PreFork modes now have dequeue ability.
0.76 Aug 24 11:16
- Added Net::Server::PreForkSimple
- Simpler PreFork server that only attempts to
maintain a constant number of child servers.
- Changed Net::Server::PreFork to subclass
off of Net::Server::PreForkSimple. No
functional changes.
- Fixed a bug in Net::Server::Daemonize::set_user.
- Fixed syntax bug on 5.005_03 in Proto's
0.75 Aug 23 10:49
- Both Net::Server::Fork and Net::Server::PreFork are
using safe signals via Net::Server::SIG.
- Net::Server::PreFork has new child managment model.
NOTE: spare_servers is no longer used. It
has been replaced by min_spare_servers and
max_spare_servers. This is a major change.
The server will die if these parameters are
not properly set.
- operates better under high loads
- provides better clean up of waiting servers.
- more configurable.
- Read the perldoc for updates.
- Net::Server::Fork and Net::Server::PreFork HUP
properly again.
- t/Server_PreFork.t and t/Server_Fork.t execute
properly.
- Fix in Multiport accept with signals.
- Updated perldocs
0.73 Aug 21 17:06
- Net::Server::PreFork is on safe signals.
0.72 Aug 21 16:22 2001
- Beginning work on Safe signals
- Net::Server::Fork is on safe signals.
- Added Net::Server::SIG
- Added examples/sigtest.pl
0.71 Aug 17 15:51 2001
- Die on failed change to another user or group.
WARNING: No longer defaults to nobody.nobody.
Defaults to currently running user and group.
- Various cleanups with file removal.
- All files to be removed are now chowned.
0.70 Aug 17 10:34 2001
- Added support for different protocols to Net::Server.
This implemented via Net::Server::Proto and its classes.
Included Net::Server::Proto::TCP,
Net::Server::Proto::UDP,
Net::Server::Proto::UNIX,
and experimental Net::Server::Proto::SSL.
TCP, UDP, and UNIX are fully tested.
- Added Net::Server::Daemonize.
- Allows for modular daemonization/forking routines.
- Allowed for configure to be called multiple times.
Configure method can be called at later times during
server startup. Arguments are cached. This allows
new protocols to add arguments without modification
to Net::Server base class.
- Updated perldocs.
No more protocol specific information in central perldoc.
More information on new protocol layout.
- Added t/UNIX_test.t
- Added examples/connection_test.pl
- UNIX, UDP, and TCP types are fully operational.
Server can bind to all three types.
Properties are determined according to type.
Server can HUP on all three types.
- SSL type added, but experimental (read "extremely alpha")
0.65 Jul 05 22:01 2001
- Modified test suite to no longer depend upon
hard coded ports. Improves test reliability
on systems where reuse on a socket is not
reliable itself.
0.64 Jul 03 21:21 2001
- Allow fall back to main run method at server close
- Clean up signal processing in PreFork server
- Clean up child management in PreFork server
- Added run_dequeue and dequeue methods to the
PreFork server (intended to allow for
management of items such as mail queues)
0.63 May 07 22:39 2001
- Updated UDP parameter names. Names are now
udp_recv_len (previously udp_packet_size)
and udp_recv_flags (previously udp_packet_offset).
- Updated udp_server.pl to use new names.
0.62 May 01 00:44 2001
- Updated to use getsockopt (determine proto on the fly)
- Updated perldoc.
- Added udp_server.pl example.
- Added UDP_test.t for "make test".
- Allow customization of udp recv parameters.
0.61 Apr 30 06:32 2001
- Sig HUP with UDP now works.
- Peer info is correctly accessed under UDP
- Net::Server::INET will not allow one server
to do both tcp and udp without special
parameters being passed to the server.
- Need to make test program for UDP.
0.60 Apr 28 01:56 2001
- Added support for UDP. Can now simultaneously accept
TCP and UDP.
Still to do:
- allow for SIG HUP under UDP
- better determination of peerinfo under UDP
- clean up inetd mode.
- Added restart_close_hook.
- Added restart_open_hook.
- Added more documentation (socket access, restarting,
protocols)
0.59 Apr 24 07:40 2001
- Forced STDIN,STDOUT,and STDERR to reopen to /dev/null
if setsid or log_file is set.
This allows for true daemonization (so
no output ends up at the terminal).
- Made appropriate changes in MultiType as well.
0.58 Apr 06 12:29 2001
- SIG HUP is complete. Fixed bug in SIG HUP'ing
PreFork mode. Now effectively restarts.
- Various clean ups in code.
- More unification of code.
0.57 Mar 29 01:36 2001
- SIG HUP is now functional on multiport mode under
Single and Fork Mode. No functionality is
lost under PreFork, but HUP'ing results in
seg fault.
- Various bug fixes.
0.56 Mar 20 12:34 2001
- Catch SIG pipes
- Clean up of existing signal handling.
- Trim memory in PreFork
0.55 Mar 19 10:44 2001
- Allow overwrite of pid file - safe as other user.
- More unified Signal handling, removal of duplicate code.
- Allow Fork Server to shutdown the socket immediately
after client accept to allow parent to HUP more
easily.
- Check to see if parent process is still around in PreFork
Server. (Don't keep running if parent was
"kill 9"ed.)
- Save commandline parameters in preparation for HUP
0.54 Mar 16 12:47 2001
- Better handling of sigs in prefork
- Improved logic on child coordination routine
- Added parent_read_hook
- Added httpd example
- Added LoadTester.pl example
0.53 Mar 14 01:13 2001
- Allow host to be set to '*'
Allows for the server to bind to port whatever
on all addresses at that box.
- Make passing of host and proto on command line
taint clean.
- Added setsid functionality.
- Added syslog_facility option - default is daemon.
- Changed Fork and PreFork to handle $SIG{CHLD} in
a more reliable fashion.
- Added parent_read_hook
0.52 Mar 13 01:16 2001
- Added syslog ability.
This allows for logging to syslog instead
of STDERR or a log file. Logging still
takes place via $self->log() but is configurable
at startup.
- Standardized existing log numbers to match syslog levels.
0.51 Mar 10 16:35 2001
- Added piped serialization option.
This allows for serialization to be done on
a wider range of machines. Flock is more
bulletproof, but pipe is more portable.
See the Net::Server::PreFork manpage.
0.50 Mar 10 10:06 2001
- Added serialize option to PreFork.
This allows for serialization to be turned on
even on non_multi port process - this is
done to get around some OS's which don't
allow children to accept on the same socket
at the same time.
- Added semaphore type to the serialize option
This type uses IPC::Semaphore instead of flock
to serialize the child accept sequence.
Thanks to Bennett Todd for sample code.
0.48 Mar 08 23:57 2001
- Catch $SIG{INT}, $SIG{TERM} and $SIG{QUIT} in PreFork and Fork.
This allows parent to shutdown children properly.
- Catch $SIG{HUP} (currently shuts down server, needs to
be able to restart server re-reading conf file)
- Changed pid_file creation to after chroot, change of group
and change of user - making sure the server has
permission to write out the pid file.
- Remove use of "use subs" in PreFork.
0.47 Mar 08 07:03 2001
- Fix reverse lookup bug - thanks to Jonathan J. Miner for
pointing out the missing pieces.
- Cleaned up pod examples
- Clarified some of the pod
0.46 Mar 05 07:37 2001
- secure removal of pid_file - only happens on success -
possibly should only happen after process has become
another user
- secure removal of lock_file - only happens if we generated it
- added child_init_hook and child_finish_hook to PreFork
- changed pre_configure_hook to configure_hook
- added simple httpd example script
0.45 Mar 02 00:44 2001
- clean up make process.
- change version to hard coded number.
- improve testing scripts
0.44 Mar 01 00:55 2001
- partitioned properties in single hashref value.
- changed versioning system to use cvs revision.
- general clean up and add documentation.
0.43 Feb 28 01:08 2001
- this revision and last add bulk of documentation.
-various clean ups
0.4.1 Feb 26 17:48 2001
- first build. Up to this point many revisions, bug fixes
and optimizations had been made.
0.1.0 Feb 08 06:28 2001
- first cvs check in. Up to this point, much thought and
research had gone into the server.