File: change.log

package info (click to toggle)
libecap 0.2.0-3~bpo70+1
  • links: PTS
  • area: main
  • in suites: wheezy-backports
  • size: 1,688 kB
  • sloc: sh: 10,180; cpp: 746; makefile: 88
file content (161 lines) | stat: -rw-r--r-- 5,682 bytes parent folder | download | duplicates (2)
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
v0.2.0
2011/02/18

	Added libtool library version info and set current library API
	version to 2:0:0, due to the following API changes:

	- Replaced Config API with a more general Options API. Options
	  can be queried individually by name, which is often much
	  faster than iteration through all options using the
	  visitEachOption() method. (On the other hand, it is not yet
	  clear whether any decent host or adapter can afford to ignore
	  unknown options so we will remove by-name access in the future
	  unless we see it being used for something worth supporting;
	  feedback welcomed!).

	  Existing adapter::Xaction::configure()/reconfigure()
	  implementations and callers will need to be adjusted to use
	  the new Options argument.
	
	- Adapter and host transactions now provide Options API, which
	  allows them to exchange meta-information with each other. The
	  purpose of this addition is to enable exchanges similar to
	  ICAP headers (not to be confused with encapsulated HTTP
	  headers!).

	  For example, an anti-virus adapter may report the detected
	  virus information to the host application for logging or block
	  page generation, without requiring eCAP and the host
	  application to know anything about viruses.

	  Existing Xaction implementations will need to provide
	  options() and visitEachOption() methods, implementing the
	  Options class API. The simplest implementation is to do
	  nothing.

	- Added safe conversion of Area to bool. It is commonly used for
	  testing the results of methods that return Area and treat
	  empty area specially.

	  Existing code that defined custom Area comparison operators
	  may need to be adjusted.

	- Added commonly used meta-information names such as
	  X-Subscriber-ID and X-Virus-ID, based on popular ICAP
	  extensions.


	Other changes:

	- Fix out-of-source-tree build.

	- Add a pkg-config file for building external software easily.

	  Adapters and host applications should consider using
	  pkg-config to verify that they are being built with the right
	  libecap version and to generate the right build flags.


v0.1.0
2010/12/17

	Major API changes:

	- Added fresh message creation API to support "request
	  satisfaction" and other cases where cloning a virgin message
	  is not possible or is awkward because the adapted message is
	  not an adjusted version of the virgin one.
	  
	  It is not clear whether host::Host or host::Xaction should be
	  responsible for creation of fresh messages. The former
	  (host::Host) option is more flexible and might allow for some
	  optimizations where some "constant" message is created once
	  and then reused via cloning or even pointer sharing. The
	  latter (host::Xaction) option may be required if host
	  application must tie messages to transactions. We implemented
	  the host::Host option, assuming there are not such
	  applications, for now.


	- Added API to "visit" name:value collections such as
	  configuration or headers.
	  
	  This API currently allows adapters to read host-provided
	  "inlined" service configuration parameters as well as iterate
	  all available virgin HTTP header fields. See
	  adapter::Service::configure() and Header::visitEach().
	  
	  The API does not dictate any specific storage implementation
	  for the visited collections. The users do not get access to
	  the collection as a whole, just the individual items, one
	  item at a time.
	  
	  Eventually, the same API can be used by hosts/adapters to
	  supply transaction meta-information to adapters/hosts. The
	  purpose of such exchanges is similar to what ICAP
	  request/response headers are being used for now (true ICAP
	  headers, not HTTP headers embedded in ICAP message bodies).


	- Added host::Xaction::blockVirgin() to allow host-administered
	  message blocking.
	  
	  All HTTP proxies and modular ICAP servers we know about have
	  some kind of built-in message blocking functionality. Yet,
	  adapters often duplicate that with their own block messages.
	  In many cases, adapter block messages are less powerful than
	  host block messages (e.g., lack customizable configs or
	  runtime language negotiation features).
	  
	  The new blockVirgin() interface allows the adapter to focus
	  on the adaptation (including blocking) logic and leave the
	  blocking message configuration, generation, and serving to
	  the host application.
	  
	  In REQMOD, the request is blocked without getting to the
	  origin server.  In RESPMOD, it is too late to block the
	  request, but the client will not get access to the origin
	  server response. In either case, the user receives a
	  host-generated error message, such as HTTP 403 (Forbidden).


	BUG fixes:

	- Fixed flApplication logging constant value. The wrong value
	  was outside the FrequencyLevel mask (0xF0) and, hence, was
	  ignored by host applications.


	Other:

	- Added Transfer-Encoding header name.
	  Many adapters will need that to determine expected message
	  body size.

	- Added efficient std::ostream writing operator for Area.

	- Added file:lineno to TextException image.


v0.0.3
2010/12/05

	- Fixed lp bug #327417: INT_MIN was not declared in this scope.

	- Fixed lp bug #408091: libecap::adapter::Service::start() assertion.

	- Fixed lp bug #672927: libcommon.a: No such file or directory 

	- Updated sources to use newer autotools.

	- Removed hopefully obsolete and unused C++ ./configure checks.

	- Fixed GCC v4.1.2 warning: 'class libecap::Callable' has virtual
	  functions but non-virtual destructor. The warning is gone in more
	  recent GCC versions, but the fix should not break anything.


v0.0.2
2008/09/30

	- First public release.