-
Notifications
You must be signed in to change notification settings - Fork 4
/
CHANGELOG
198 lines (185 loc) · 6.75 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
1.42
fixed POST problem under Windows
added Windows installer
couple of minor fixes, sent by shttpd users
1.41
-threads option added: SHTTPD core goes multithreaded
UNICODE fix for the windows, protect_against_code_disclosure()
SSL functionality fixed
added tests for all build variations
1.40
Multithreaded API changed: added shttpd_create_ctlsock() and
shttpd_pass_socket().
Added Windows service support.
scalable.c example now builds on UNIX.
shttpd_listen() is gone.
1.39
Windows GUI is gone.
New command line options schema.
shttpd_set_option() could be used to set options at runtime.
shttpd_init() changed: now shttpd_init(int argc, char *argv[])
added administrative page.
added universal -protect option.
added ACL support, based on IP subnets.
1.36
API is modified (read: broken again!). shttpd_printf() is added.
Embedded POST handling have changed.
Fixed IE7 authorization bug.
Fixed connection timeout bug.
Reorganized CVS tree.
Added log window to Windows GUI.
1.35
PATH_INFO support is back. Thanks to James Marshall for contribution
and testing on his http://www.jmarshall.com/tools/cgiproxy/
CGI proxy script.
1.34
getcwd() fix for solaris, from Guido Cavezzali
Improved Win32 GUI, put file/directory browse buttons.
Proper file descriptor close, and FD_CLOEXEC, from Mirko Girotto
1.33 Bugfix. writeremote() timing bug fixed.
Refactoring: nread,nwritten in struct io renamed to head, tail.
CGI directory bug (introduced after 1.32) fixed, test added to test.sh
1.32
Windows CGI bug fix (SYSTEMROOT environment variable issue).
CGI interpreter and additional CGI variables can be configured,
patch from Gero Kuhlmann.
Windows build includes icon file as well.
editpass() Windows issue fixed, thanks to Peter Kuo and
Christopher Adams.
1.31
Refactored the code. Now SHTTPD instance is fully incapsulated
within the "context".
Windows CGI code refactored.
Removed shttpd_watch(), shttpd_setopt(), shttpd_register_mountpoint().
Modified shttpd_init()
Added shttpd_listen(), shttpd_add(), shttpd_active(), shttpd_accept(),
shttpd_get_header(), shttpd_get_env().
Added scalable.c, example on how to run SHTTPD in scalable manner.
1.30
Removed multithreading.
Reorganised examples, put everythting in one example file.
shttpd_merge_fds(), shttpd_printf(), shttpd_template(),
shttpd_push() are gone.
added shttpd_watch().
Fixed CGI under Windows.
Boolean command line parameters need argument now.
CGI code refactored.
1.29
added Windows GUI, -DNO_GUI parameter, -g command line switch
fixed race condition in connection handling, thanks to Mirko Girotto.
No conditional SSL build anymore. SSL functionality is loaded
by demand using dynamic linking mechanism.
1.28
fixed DoS hole in parseheaders (possible memory leak when the same
header in request specified more than once). Thanks to
Erwin van Doorn for pointing this out.
'-S' option is gone. Setting up '-s' option (or ssl_certificate in the
config file) automatically switches shttpd to SSL mode.
'-V' option added for realtime statistics monitoring.
By default, no logging is done (access log and error log)
Windows package is now just zip-ped *.exe and config file, no
installer.
Fixed bug with POST with no data in embedded configuration,
thanks for Peter Kuo for reporting.
Fixed PUT handling, thanks to Bright Xu
1.27
S_ISDIR patch, strict Linux compilation, thanks to Ying Zhang
a bug in embedded POST handling is fixed, thanks to Ying Zhang
endpwent() is gone, Linux does not like it.
added shttpd_setopt() and shttpd_register_mountpoint(),
thanks to Dave Fancella.
POST problems solved thanks to Bryan Hanks
1.26
Code refactoring.
Fixed environment preparation for CGI in spawncgi().
Support for resume download (Range header).
stderr from CGI programs was routed to the client, now it is not.
Also check for authentification timeout is gone.
1.25
Fixed index substitution bug, thanks to Chris.
PATH_INFO mechanism is gone also.
1.24
POST support for embedded. Config file support.
Changed default expiration time to request time +1 hour.
Fixed do_embedded: multiple user calls.
Thanks to Mcken Mak for pointing that out
1.23
Fixed bug with query_string
1.22
Processing of user-defined mimetype file had a bug, fixed.
Thanks to Oliver Bottcher for reporting that.
1.21
MSIE bug workaround for authorization. CGI senderr() bug fixed.
1.20
Added -A command line option for editing .htpasswd files,
to eliminate the need of `htdigest' utility.
Made wrapper function around snprintf().
1.19
Security holes are fixed. Thanks to Adam Zeldis for his
excellent code review and report.
1.18
Bug in mysocketpair(), fix suggested by David Weibel
1.17
ARM build did not like headers parisng sscanf() format string,
slightly reimplemented. Nicer directory listing, file sizes
in human-readable format, thanks to Rasmus Andersson.
1.16
Typo introduced when inetd support was added: shttpd_poll did
not set sockaddr length before accept(), fixed.
Added shttpd_template()
-DEMBEDDED build fixed.
1.15
Fixed PATH_TRANSLATED variable.
Implemented -I option (inetd mode), thanks to Toby Peterson
1.14
All HTTP headers are exported to CGI as HTTP_* variables.
DOCUMENT_ROOT, SERVER_NAME are exported.
CGIs to execute in their own directories. Thanks to Yair Lenga.
-u option now takes login name, not numeric UID.
If -u option is set, setgid() and setuid() are done.
Thanks to Ronald Reed.
Fixed authorization code to work with IE added shttpd_protect_url()
1.13
Refactoring.
Using standard FILENAME_MAX for paths.
Implemented EMBEDDED MT case.
1.12
Added embedded interface
1.11
Rewrite. Not using vectors for parsing.
Windows GUI code was thrown out.
1.10
Support for PUT and DELETE methods.
Put check for the method (function setmethod()).
Memory leak fixed in redirect().
1.9
Support for user-defined mime types file
1.8
Basic authentication is gone. Digest auth (MD5) is used instead.
1.7
Directory Listing support.
'Kernel' rewritten. there is no global select() anymore.
win32 GUI settings are stored in HKCU, thanks Ben Truscott
1.6
Fixed CGI headers output (newline was missed).
Thanks to Arno Schuring and Frash.
1.5
After start, change current dir to docroot.
Optimized environment build for CGI.
Added few more env variables (REMOTE_ADDR, USER_AGENT, PATH_INFO, etc).
Access log file opened once at start time, not on every request.
Added GUI for Windows
1.4
For regular files, added headers: Content-Length,
Date, Last-Modified, Etag.
Fixed win32 CGI: passing environment to spawaned script.
All replies are now set to HTTP 1.1 instead of HTTP 1.0
1.3
Better error reporting (404, 500).
Fixed CGI handling for win32,
when CGI file is a native executable, not a script
1.2
Redirecting errors to a file.
Fixed 'page contains no data' bug.
1.1
Multiple index files support