yaz-moved-to-github.git
10 years agoNew functions yaz_sort_spec_to_{cql,type7}
Adam Dickmeiss [Tue, 6 Sep 2011 11:11:30 +0000 (13:11 +0200)]
New functions yaz_sort_spec_to_{cql,type7}

These two new functions convert a Z39.50 SortKeySpecList to CQL
SORTBY and Type-1/RPN with type-7 sorting. Tests in test_sortspec.c.

10 years agorpn2solr supports Z39.58 truncation (104)
Adam Dickmeiss [Mon, 5 Sep 2011 08:34:14 +0000 (10:34 +0200)]
rpn2solr supports Z39.58 truncation (104)

Thus, CCL truncation mode t=z will make it possible to use both
single-character mask (#) and wildcard (?) in CCL . Throw diagnostic
for left truncation because that is not supported by SOLR.

10 years agoVersion 4.2.13 v4.2.13
Adam Dickmeiss [Thu, 1 Sep 2011 13:01:12 +0000 (15:01 +0200)]
Version 4.2.13

10 years agoNotes on changes
Adam Dickmeiss [Thu, 1 Sep 2011 12:59:40 +0000 (14:59 +0200)]
Notes on changes

10 years agoUpdate m4 for improved ICU check fixes
Adam Dickmeiss [Thu, 1 Sep 2011 12:47:46 +0000 (14:47 +0200)]
Update m4 for improved ICU check fixes

10 years agoyaz-client: allow scanpos of "none"
Adam Dickmeiss [Thu, 1 Sep 2011 12:46:58 +0000 (14:46 +0200)]
yaz-client: allow scanpos of "none"

For special value scanpos "none", yaz-client omits preferred position
in response for scan.

10 years agocql2pqf: refactor truncation handling and fix Z39.58 mode
Adam Dickmeiss [Tue, 30 Aug 2011 10:26:29 +0000 (12:26 +0200)]
cql2pqf: refactor truncation handling and fix Z39.58 mode

Refactor the CQL to PQF term code in cqltransform.c. Characters that
don't need escaping aren't and characters that do need escaping are.
For example CQL query a#a? must be handled as a Z39.58 mode query
because the trailing ? (single-character mask in CQL). But since the
generated term includes #, it must be escaped and survive the PQF parse,
thus the result is "\\#a#" (was "a#a# before). Also the CQL term a*3 now
produces "a?\\3" rather than "a?3" . This is becauase a?n has special
meaning in Z39.58. Characters that do need escaping are the PQF specials
" and \\. Rest are preseved and \-sequence in CQL are otherwise removed.

10 years agoCQL/CCL/PQF conversion fixes. CCL support for Z39.58 trunc
Adam Dickmeiss [Mon, 29 Aug 2011 13:57:05 +0000 (15:57 +0200)]
CQL/CCL/PQF conversion fixes. CCL support for Z39.58 trunc

Lots of fixes for the conversions from CQL to CCL; CCL to RPN;
RPN to CQL. yaz_encode_pqf_term's term parameter properly
escaped into PQF term. CCL truncation configuration t=z
enables Z39.58 truncation which is in fact CCL truncation, but there's
more to it than one might think anyway. The RPN to CCL conversion
handles Z39.58 truncation as well (5=104).

10 years agocql2ccl: term code for all/any sequences as well
Adam Dickmeiss [Mon, 29 Aug 2011 11:04:57 +0000 (13:04 +0200)]
cql2ccl: term code for all/any sequences as well

10 years agocql2ccl: fix handling of \\
Adam Dickmeiss [Mon, 29 Aug 2011 10:33:30 +0000 (12:33 +0200)]
cql2ccl: fix handling of \\

10 years agoAdd test of cql_to_ccl
Adam Dickmeiss [Mon, 29 Aug 2011 10:24:08 +0000 (12:24 +0200)]
Add test of cql_to_ccl

10 years agoTrunc 104 is Z39.58
Adam Dickmeiss [Mon, 29 Aug 2011 10:21:59 +0000 (12:21 +0200)]
Trunc 104 is Z39.58

10 years agocql2ccl: handle CQL \-sequences differently
Adam Dickmeiss [Mon, 29 Aug 2011 10:06:18 +0000 (12:06 +0200)]
cql2ccl: handle CQL \-sequences differently

For most CQL \-sequences do not produce \-sequence in resulting
CCL term. Only \" and \\ are special

10 years agobin-1 ref: mention Index Data's extensions
Adam Dickmeiss [Mon, 29 Aug 2011 08:29:22 +0000 (10:29 +0200)]
bin-1 ref: mention Index Data's extensions

10 years agoccl2rpn: more characters to escape (regexp-1).
Adam Dickmeiss [Sat, 27 Aug 2011 22:09:45 +0000 (00:09 +0200)]
ccl2rpn: more characters to escape (regexp-1).

10 years agorpn2cql: handle \\ sequence
Adam Dickmeiss [Sat, 27 Aug 2011 22:09:38 +0000 (00:09 +0200)]
rpn2cql: handle \\ sequence

10 years agoPQF parsing: handle \\\0 sequence
Adam Dickmeiss [Sat, 27 Aug 2011 22:07:48 +0000 (00:07 +0200)]
PQF parsing: handle \\\0 sequence

A truncated PQF term, backslash as last character, would resolve in
read one byte beyond end of string.

10 years agoVersion 4.2.12 v4.2.12
Adam Dickmeiss [Sat, 27 Aug 2011 14:03:18 +0000 (16:03 +0200)]
Version 4.2.12

10 years agocql2ccl: quote term characters, except operators
Adam Dickmeiss [Sat, 27 Aug 2011 13:38:59 +0000 (15:38 +0200)]
cql2ccl: quote term characters, except operators

Fixes #4584.

10 years agoVersion 4.2.11 v4.2.11
Adam Dickmeiss [Thu, 25 Aug 2011 12:40:02 +0000 (14:40 +0200)]
Version 4.2.11

10 years agoChanges
Adam Dickmeiss [Thu, 25 Aug 2011 12:36:14 +0000 (14:36 +0200)]
Changes

10 years agoccl2rpn: Conversion to regexp-1 terms (trunc=102).
Adam Dickmeiss [Thu, 25 Aug 2011 12:06:40 +0000 (14:06 +0200)]
ccl2rpn: Conversion to regexp-1 terms (trunc=102).

For mode t=x, the CCL parser will map both # and ? to their regular
expression equivalents (. and .*).

10 years agorpn2cql: deal with truncation=102 (regexp-1)
Adam Dickmeiss [Thu, 25 Aug 2011 12:05:41 +0000 (14:05 +0200)]
rpn2cql: deal with truncation=102 (regexp-1)

And ensure proper quoting of reserved CQL characters.

10 years agocql2ccl: deal with both * and ? in conversion
Adam Dickmeiss [Thu, 25 Aug 2011 11:56:20 +0000 (13:56 +0200)]
cql2ccl: deal with both * and ? in conversion

Also leave escaped ones as is, so that they are pass-through.

10 years agoCCL: retain ? for CCL terms
Adam Dickmeiss [Wed, 24 Aug 2011 19:45:53 +0000 (21:45 +0200)]
CCL: retain ? for CCL terms

10 years agoVersion 4.2.10 v4.2.10
Adam Dickmeiss [Wed, 24 Aug 2011 17:58:07 +0000 (17:58 +0000)]
Version 4.2.10

10 years agoMerge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz
Mike Taylor [Wed, 24 Aug 2011 14:03:17 +0000 (15:03 +0100)]
Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz

10 years agoDescribe recent changes.
Mike Taylor [Wed, 24 Aug 2011 14:02:59 +0000 (15:02 +0100)]
Describe recent changes.

10 years agorpn2cql_structure() supports proximity nodes (except that the Type-1
Mike Taylor [Wed, 24 Aug 2011 14:01:06 +0000 (15:01 +0100)]
rpn2cql_structure() supports proximity nodes (except that the Type-1
proximity node's "exclusion" binary is ignored, as there is no way to
express that in CQL).  Fixes bug #4564.

10 years agoIgnore generated script yaz-url
Mike Taylor [Wed, 24 Aug 2011 13:59:50 +0000 (14:59 +0100)]
Ignore generated script yaz-url

10 years agoPublic declaration for yaz_prox_unit_name()
Mike Taylor [Wed, 24 Aug 2011 13:49:47 +0000 (14:49 +0100)]
Public declaration for yaz_prox_unit_name()

10 years agoZOOM: HTTP prepare for reconnect if server don't say so
Adam Dickmeiss [Wed, 24 Aug 2011 13:35:00 +0000 (15:35 +0200)]
ZOOM: HTTP prepare for reconnect if server don't say so

In case the server HTTP/1.1 says Keep-Alive, we set the reconnect_ok
to 1, if it closes anyway. Fixes #4555.

10 years agostatic prox_unit_name() renamed to yaz_prox_unit_name(), made external.
Mike Taylor [Wed, 24 Aug 2011 13:34:51 +0000 (14:34 +0100)]
static prox_unit_name() renamed to yaz_prox_unit_name(), made external.

10 years agoGFS: mention -K in usage
Adam Dickmeiss [Wed, 24 Aug 2011 13:14:56 +0000 (15:14 +0200)]
GFS: mention -K in usage

10 years agoLint-clean: void out an unused return value.
Mike Taylor [Wed, 24 Aug 2011 11:44:53 +0000 (12:44 +0100)]
Lint-clean: void out an unused return value.

10 years agozoomtst3: setting option step=5
Adam Dickmeiss [Tue, 23 Aug 2011 16:27:41 +0000 (18:27 +0200)]
zoomtst3: setting option step=5

This is to illustrate the step option and to check that it actually
works.

10 years agoVersion 4.2.9 v4.2.9
Adam Dickmeiss [Thu, 18 Aug 2011 08:28:51 +0000 (10:28 +0200)]
Version 4.2.9

10 years agozoomsh: fix SEGV for set command wo value
Adam Dickmeiss [Wed, 17 Aug 2011 13:50:11 +0000 (15:50 +0200)]
zoomsh: fix SEGV for set command wo value

10 years agoMerge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz
Adam Dickmeiss [Tue, 16 Aug 2011 08:30:10 +0000 (10:30 +0200)]
Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz

10 years agoCheck for invalid COMSTACK addresses
Adam Dickmeiss [Tue, 16 Aug 2011 08:27:20 +0000 (10:27 +0200)]
Check for invalid COMSTACK addresses

Check return value of cs_parse_host in cs_create_host_proxy. For
example, yaz-url would SEGV if ssl/https was given and SSL was
not enabled in the built (as it happens on Windows).

10 years agonmake: build yaz_url
Adam Dickmeiss [Fri, 12 Aug 2011 07:57:14 +0000 (09:57 +0200)]
nmake: build yaz_url

10 years agoVersion 2.4.8 v4.2.8
Adam Dickmeiss [Thu, 11 Aug 2011 10:56:06 +0000 (12:56 +0200)]
Version 2.4.8

10 years agoyaz-url + man page installed and part of packages
Adam Dickmeiss [Thu, 11 Aug 2011 09:23:54 +0000 (11:23 +0200)]
yaz-url + man page installed and part of packages

10 years agoUpdate other version of tcpip_straddr for https too
Adam Dickmeiss [Thu, 11 Aug 2011 08:45:16 +0000 (10:45 +0200)]
Update other version of tcpip_straddr for https too

10 years agoyaz-url: Opt -O writes output to file instead of stdout
Adam Dickmeiss [Thu, 11 Aug 2011 08:43:06 +0000 (10:43 +0200)]
yaz-url: Opt -O writes output to file instead of stdout

10 years agotcpip_straddr: Use port 443 for https
Adam Dickmeiss [Thu, 11 Aug 2011 08:42:11 +0000 (10:42 +0200)]
tcpip_straddr: Use port 443 for https

10 years agoGFS: close connection immediately if EOF is received.
Adam Dickmeiss [Thu, 11 Aug 2011 08:33:38 +0000 (10:33 +0200)]
GFS: close connection immediately if EOF is received.

Previously the assocation was marked DEAD and that could lead to
a few seconds hang on SSL connections.

10 years agoSSL: Handle EOF case in ssl_get
Adam Dickmeiss [Thu, 11 Aug 2011 08:31:25 +0000 (10:31 +0200)]
SSL: Handle EOF case in ssl_get

If gnutls was in use and gnutls_record_recv returned 0 (EOF)
the ssl_get function would never terminate.

10 years agosockets: fix for whether poll is available
Adam Dickmeiss [Thu, 11 Aug 2011 08:26:48 +0000 (10:26 +0200)]
sockets: fix for whether poll is available

The select(2) wrapper was in use even though poll(2) was available.

10 years agoyaz-url: HTTP method may be given. Change header (-H) option.
Adam Dickmeiss [Thu, 11 Aug 2011 06:33:50 +0000 (08:33 +0200)]
yaz-url: HTTP method may be given. Change header (-H) option.

Argument for -H is now name:value rather than name=value - it just
seems more natural for Web hackers that way.

10 years agoyaz-url: display usage if no ULRs are given
Adam Dickmeiss [Thu, 11 Aug 2011 06:21:08 +0000 (08:21 +0200)]
yaz-url: display usage if no ULRs are given

10 years agoNew utility yaz_url: fetches HTTP content
Adam Dickmeiss [Wed, 10 Aug 2011 13:03:53 +0000 (15:03 +0200)]
New utility yaz_url: fetches HTTP content

This is a simple wrapper around COMSTACK and HTTP utilities; deals
with proxy'ing.

10 years agozoomsh: fix set command to use remaning args for value
Adam Dickmeiss [Wed, 10 Aug 2011 09:23:19 +0000 (11:23 +0200)]
zoomsh: fix set command to use remaning args for value

Before, only one token was taken as value for set (or one would have to
quote if a token contained space).

10 years agoyaz_pqf_parse_facet_list returns FAIL (0) for bad facet spec
Adam Dickmeiss [Wed, 10 Aug 2011 09:22:56 +0000 (11:22 +0200)]
yaz_pqf_parse_facet_list returns FAIL (0) for bad facet spec

10 years agoMerge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz
Adam Dickmeiss [Tue, 9 Aug 2011 16:42:49 +0000 (18:42 +0200)]
Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz

10 years agoyaz_pqf_parser_facet_list also reads term list
Adam Dickmeiss [Tue, 9 Aug 2011 16:41:27 +0000 (18:41 +0200)]
yaz_pqf_parser_facet_list also reads term list

Thus yaz_pqf_parser_facet_list might also be used to create a facet
response.

10 years agoNew utility: nmem_strsplit_escape
Adam Dickmeiss [Fri, 5 Aug 2011 14:24:08 +0000 (16:24 +0200)]
New utility: nmem_strsplit_escape

10 years agoTestin wrbuf_insert
Adam Dickmeiss [Fri, 5 Aug 2011 12:55:32 +0000 (14:55 +0200)]
Testin wrbuf_insert

10 years agoNew WRBUF utility: wrbuf_insert
Adam Dickmeiss [Fri, 5 Aug 2011 12:35:20 +0000 (14:35 +0200)]
New WRBUF utility: wrbuf_insert

10 years agoRemove unused code
Adam Dickmeiss [Thu, 4 Aug 2011 12:14:22 +0000 (14:14 +0200)]
Remove unused code

10 years agoBase64 utilities public
Adam Dickmeiss [Thu, 4 Aug 2011 11:32:15 +0000 (13:32 +0200)]
Base64 utilities public

10 years agoRemove variables and assignments with no effect
Adam Dickmeiss [Thu, 4 Aug 2011 11:00:25 +0000 (13:00 +0200)]
Remove variables and assignments with no effect

As warned by newer GCC.

10 years agozoomsh: remove unused code for cmd facets
Adam Dickmeiss [Thu, 4 Aug 2011 11:00:02 +0000 (13:00 +0200)]
zoomsh: remove unused code for cmd facets

10 years agovoid mixed stmt/var declare
Adam Dickmeiss [Thu, 4 Aug 2011 10:59:22 +0000 (12:59 +0200)]
void mixed stmt/var declare

10 years agoclient: proper recid passing
Adam Dickmeiss [Thu, 4 Aug 2011 10:58:40 +0000 (12:58 +0200)]
client: proper recid passing

10 years agoVersion 4.2.7 v4.2.7
Adam Dickmeiss [Wed, 3 Aug 2011 11:39:47 +0000 (13:39 +0200)]
Version 4.2.7

10 years agoZOOM: addinfo includes HTTP content when SRU decode fails
Adam Dickmeiss [Wed, 3 Aug 2011 09:40:33 +0000 (11:40 +0200)]
ZOOM: addinfo includes HTTP content when SRU decode fails

When ZOOM C sees an SRU responst that it cannot decode it
returns "meta" diagnostic ZOOM_ERROR_DECODE/10003 . The additional
info now contains the HTTP content.

10 years agoMake json_write_wrbuf available
Adam Dickmeiss [Tue, 2 Aug 2011 12:14:29 +0000 (14:14 +0200)]
Make json_write_wrbuf available

10 years agoMerge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz
Adam Dickmeiss [Fri, 29 Jul 2011 15:59:48 +0000 (17:59 +0200)]
Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz

10 years agoVersion 4.2.6 v4.2.6
Adam Dickmeiss [Thu, 28 Jul 2011 12:18:54 +0000 (14:18 +0200)]
Version 4.2.6

10 years agoAdd YAZ_EXPORT for wrbuf_vp_puts
Adam Dickmeiss [Thu, 28 Jul 2011 12:18:46 +0000 (14:18 +0200)]
Add YAZ_EXPORT for wrbuf_vp_puts

10 years agoZOOM: throw diagnostic for invalid sru value
Adam Dickmeiss [Thu, 28 Jul 2011 09:32:13 +0000 (11:32 +0200)]
ZOOM: throw diagnostic for invalid sru value

10 years agorpn2cql: check for proper truncation attributes
Adam Dickmeiss [Wed, 27 Jul 2011 14:20:06 +0000 (16:20 +0200)]
rpn2cql: check for proper truncation attributes

10 years agoReformat
Adam Dickmeiss [Wed, 27 Jul 2011 13:41:41 +0000 (15:41 +0200)]
Reformat

10 years agocql2xcql: option -s deals with CQL sortkeys
Adam Dickmeiss [Wed, 27 Jul 2011 13:07:05 +0000 (15:07 +0200)]
cql2xcql: option -s deals with CQL sortkeys

10 years agoAdding new utility wrbuf_vp_puts
Adam Dickmeiss [Wed, 27 Jul 2011 13:06:35 +0000 (15:06 +0200)]
Adding new utility wrbuf_vp_puts

10 years agoHeader updates
Adam Dickmeiss [Wed, 27 Jul 2011 13:04:31 +0000 (15:04 +0200)]
Header updates

10 years agoRemove assignment to variables not in use.
Adam Dickmeiss [Tue, 26 Jul 2011 07:38:07 +0000 (09:38 +0200)]
Remove assignment to variables not in use.

Fixes warnings produced by GCC 4.6.1.

10 years agoMerge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz
Adam Dickmeiss [Mon, 25 Jul 2011 19:05:00 +0000 (21:05 +0200)]
Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz

10 years agoAdd cclxmlconfig.obj
Adam Dickmeiss [Mon, 25 Jul 2011 11:50:34 +0000 (13:50 +0200)]
Add cclxmlconfig.obj

10 years agoyaz_is_abspath: drive letter test NOT using isalpha
Adam Dickmeiss [Mon, 25 Jul 2011 10:55:02 +0000 (12:55 +0200)]
yaz_is_abspath: drive letter test NOT using isalpha

isalpha is problematic for signed chars and we assume drive letters are
[a-zA-Z] only; also isalpha depends locale.

10 years agoReformat
Adam Dickmeiss [Mon, 25 Jul 2011 10:52:48 +0000 (12:52 +0200)]
Reformat

10 years agoChange yaz_filepath_resolve for path="" (empty)
Adam Dickmeiss [Mon, 25 Jul 2011 10:44:03 +0000 (12:44 +0200)]
Change yaz_filepath_resolve for path="" (empty)

Applying empty path is equivalent to not passing a path at all or
passing just the path ".".

10 years agoMerge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz
Adam Dickmeiss [Fri, 22 Jul 2011 10:53:35 +0000 (12:53 +0200)]
Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz

10 years agoVersion 4.2.5 v4.2.5
Adam Dickmeiss [Thu, 21 Jul 2011 08:16:21 +0000 (10:16 +0200)]
Version 4.2.5

10 years agoZOOM HTTP: refactor and simplify redirect/proxy code
Adam Dickmeiss [Wed, 20 Jul 2011 12:16:35 +0000 (14:16 +0200)]
ZOOM HTTP: refactor and simplify redirect/proxy code

10 years agoZOOM C: fix un-init var for cookie buffer
Adam Dickmeiss [Wed, 20 Jul 2011 09:02:13 +0000 (11:02 +0200)]
ZOOM C: fix un-init var for cookie buffer

10 years agoZOOM HTTP: proxy uses full URI in HTTP header
Adam Dickmeiss [Tue, 19 Jul 2011 14:04:39 +0000 (16:04 +0200)]
ZOOM HTTP: proxy uses full URI in HTTP header

Squid don't seem to like
 GET /?operation.. HTTP/1.1
but rather
 GET http://host/?operation HTTP/1.1
When HTTP proxy is in effect. When proxying the new function
cs_create_host_proxy is used to so comstack type is determined from
logical URL rather than proxy host. Proxy just needs host:port type of
spec. Note: this change might break HTTP redirect.

10 years agoAdd cs_create_host_proxy
Adam Dickmeiss [Tue, 19 Jul 2011 14:03:32 +0000 (16:03 +0200)]
Add cs_create_host_proxy

This is similar to cs_create_host but allows a proxy to be given.
Comstack type is still taken from vhost (logical host).

10 years agoMARC line decoding: be less picky about length given
Adam Dickmeiss [Tue, 19 Jul 2011 12:13:24 +0000 (14:13 +0200)]
MARC line decoding: be less picky about length given

Still, the MARC record must have 5 leading digits so we can
distinguish this from header and other lines.

10 years agocql_to_ccl deals with proximity , bug #4407
Adam Dickmeiss [Tue, 19 Jul 2011 11:02:29 +0000 (13:02 +0200)]
cql_to_ccl deals with proximity , bug #4407

The CQL proximity modifiers are supported: unordered (CCL %),
ordered (CCL !), distance with relation <= and < , unit with value
word. Anything but those throws an error.

10 years agoReformat
Adam Dickmeiss [Tue, 19 Jul 2011 09:12:05 +0000 (11:12 +0200)]
Reformat

10 years agoFix up SRU recordData with pseudo root
Adam Dickmeiss [Tue, 19 Jul 2011 09:06:00 +0000 (11:06 +0200)]
Fix up SRU recordData with pseudo root

This is to make recordData XML parseable (document) in case it is an
XML fragment. The inserted root is <yaz-record>. Fixes #4453.

10 years agoSpell fix
Adam Dickmeiss [Mon, 18 Jul 2011 11:27:59 +0000 (13:27 +0200)]
Spell fix

10 years agoMerge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz
Adam Dickmeiss [Fri, 15 Jul 2011 19:14:41 +0000 (21:14 +0200)]
Merge branch 'master' of ssh://git.indexdata.com/home/git/pub/yaz

10 years agoCreate constant for SRW max parameters
Dennis Schafroth [Fri, 15 Jul 2011 13:48:29 +0000 (15:48 +0200)]
Create constant for SRW max parameters

10 years agoEncode special characters in term
Dennis Schafroth [Fri, 15 Jul 2011 13:47:55 +0000 (15:47 +0200)]
Encode special characters in term

10 years agoAdd support for extra parameters
Dennis Schafroth [Fri, 15 Jul 2011 13:47:03 +0000 (15:47 +0200)]
Add support for extra parameters

10 years agoSpell fix in comment
Dennis Schafroth [Mon, 11 Jul 2011 11:37:57 +0000 (13:37 +0200)]
Spell fix in comment

10 years agoEscaping :
Dennis Schafroth [Mon, 11 Jul 2011 11:36:38 +0000 (13:36 +0200)]
Escaping :