Mercurial
>
hg
>
webserver
/ graph
Search:
summary
shortlog
changelog
graph
tags
bookmarks
branches
files
help
graph
The revision graph only works with JavaScript-enabled browsers.
remove basic_mempool.h usage
Mon, 10 Jul 2023 18:51:01 +0200
, by Olaf Wintermann
update ucx
Mon, 10 Jul 2023 18:39:24 +0200
, by Olaf Wintermann
fix webdav mkcol error status codes
Sun, 09 Jul 2023 15:14:26 +0200
, by Olaf Wintermann
fix non-blocking CGI handler and non-blocking SSL-IO
Sun, 11 Jun 2023 15:53:55 +0200
, by Olaf Wintermann
fix cgi-send inactive write event blocking request termination
Sat, 10 Jun 2023 18:12:04 +0200
, by Olaf Wintermann
fix uninitialized memory in http stream, when chunked transfer encoding is used
Wed, 07 Jun 2023 15:59:00 +0200
, by Olaf Wintermann
fix cgi event handling, pipes were not always closed
Mon, 05 Jun 2023 19:03:23 +0200
, by Olaf Wintermann
fix net_http_write when used with chunked transfer encoding and non-blocking IO
Sun, 04 Jun 2023 20:09:18 +0200
, by Olaf Wintermann
fix cgi response could send an uninitialized buffer
Wed, 31 May 2023 19:39:10 +0200
, by Olaf Wintermann
add http range debug logging
Wed, 31 May 2023 13:08:49 +0200
, by Olaf Wintermann
don't add empty query to rq->reqpb
Wed, 31 May 2023 12:49:44 +0200
, by Olaf Wintermann
fix missing connection ssl_error initialization
Wed, 31 May 2023 12:43:30 +0200
, by Olaf Wintermann
fix net_sendfile not counting number of written bytes
Tue, 23 May 2023 18:19:12 +0200
, by Olaf Wintermann
fix ssl settings not stored in the listener
Mon, 22 May 2023 10:22:15 +0200
, by Olaf Wintermann
update ucx
Sun, 07 May 2023 11:53:27 +0200
, by Olaf Wintermann
update ucx
Fri, 05 May 2023 18:02:11 +0200
, by Olaf Wintermann
fix PUT could potentially return a wrong status code
Sat, 25 Mar 2023 17:18:51 +0100
, by Olaf Wintermann
fix wstool ldflags, missing ../lib rpath
Fri, 24 Mar 2023 21:02:25 +0100
, by Olaf Wintermann
webdav_propfind logs less errors for http 4xx errors
Wed, 22 Mar 2023 18:18:51 +0100
, by Olaf Wintermann
fix uninitialized memory usage in sys_vfs_open, resulting in unwanted fchown calls
Wed, 22 Mar 2023 18:18:22 +0100
, by Olaf Wintermann
fix configure script: escape $$ORIGIN
Sun, 19 Mar 2023 16:53:49 +0100
, by Olaf Wintermann
implement webdav xattr namespace lists
Sun, 19 Mar 2023 16:48:19 +0100
, by Olaf Wintermann
add error handling to webdav_xattr_serialze_map()
Sun, 19 Mar 2023 14:02:39 +0100
, by Olaf Wintermann
implement propfind for webdav xattr backend
Sun, 19 Mar 2023 11:14:10 +0100
, by Olaf Wintermann
implement proppatch of the xattr webdav backend
Sat, 18 Mar 2023 19:33:06 +0100
, by Olaf Wintermann
add libxattr
Sat, 18 Mar 2023 15:52:35 +0100
, by Olaf Wintermann
add new xattr based webdav backend (unimplemented)
Sat, 18 Mar 2023 14:16:05 +0100
, by Olaf Wintermann
prevent crash in default_propfind_do triggered by bad webdav config
Sat, 18 Mar 2023 12:06:18 +0100
, by Olaf Wintermann
fix nsapi_error_request() could send empty error messages with http status 200, if the request status code wasn't set
Sat, 18 Mar 2023 11:44:37 +0100
, by Olaf Wintermann
fix default webdav backend initialization
Sat, 18 Mar 2023 11:34:48 +0100
, by Olaf Wintermann
set _GNU_SOURCE in ldap_resource.c
Sat, 18 Mar 2023 11:07:12 +0100
, by Olaf Wintermann
fix broken log_ereport call
Sat, 18 Mar 2023 11:05:40 +0100
, by Olaf Wintermann
implicitly create a resource pools for ldap authdbs, if no resource is specified
Thu, 16 Mar 2023 19:59:11 +0100
, by Olaf Wintermann
implement userNameIsDN and enableGroups for ldap auth
Thu, 16 Mar 2023 19:38:18 +0100
, by Olaf Wintermann
minimal support for ldap groups
Wed, 15 Mar 2023 19:46:02 +0100
, by Olaf Wintermann
refactor ldap user authentication, use new filter config
Mon, 13 Mar 2023 22:39:51 +0100
, by Olaf Wintermann
load additional ldap authdb config
Mon, 13 Mar 2023 20:53:46 +0100
, by Olaf Wintermann
make ldap auth minimally working again and disable auth caching, because it is currently broken
Sun, 12 Mar 2023 20:27:29 +0100
, by Olaf Wintermann
refactore ldap_auth to use resource pools
Sun, 12 Mar 2023 20:02:04 +0100
, by Olaf Wintermann
add force-type SAF
Sun, 12 Mar 2023 11:42:17 +0100
, by Olaf Wintermann
rename ldap-query to ldap-search, rename query parameter to filter
Sun, 12 Mar 2023 11:29:02 +0100
, by Olaf Wintermann
add ldap-query saf
Sat, 11 Mar 2023 17:14:51 +0100
, by Olaf Wintermann
add option to automatically bind new ldap sessions
Sat, 11 Mar 2023 13:57:30 +0100
, by Olaf Wintermann
add bind parameters to ldap resource pool
Sat, 11 Mar 2023 12:37:48 +0100
, by Olaf Wintermann
add ldap resource pool type implementation
Sat, 11 Mar 2023 11:56:55 +0100
, by Olaf Wintermann
resourcepool_free should remove the resource from the request resource cache
Fri, 10 Mar 2023 23:00:02 +0100
, by Olaf Wintermann
log error in get_next_token()
Fri, 10 Mar 2023 22:45:58 +0100
, by Olaf Wintermann
fix openssl dependency resolution on bsd
Sat, 25 Feb 2023 21:12:51 +0100
, by Olaf Wintermann
update ldflags
Sat, 25 Feb 2023 11:38:33 +0100
, by Olaf Wintermann
update obj.conf install template to new syntax
Fri, 24 Feb 2023 09:19:19 +0100
, by Olaf Wintermann
fix double free in case parsing a config file fails
Fri, 24 Feb 2023 09:18:47 +0100
, by Olaf Wintermann
fix build on linux
Thu, 23 Feb 2023 21:15:16 +0100
, by Olaf Wintermann
fix build on macos
Thu, 23 Feb 2023 21:09:33 +0100
, by Olaf Wintermann
implement most nsapi expression operators
Sun, 04 Dec 2022 13:01:00 +0100
, by Olaf Wintermann
fix cgi stderr logger + reuse stderr tmp buffer
Sun, 04 Dec 2022 10:20:21 +0100
, by Olaf Wintermann
fix cgi pipes not closed in some error case + minor improvements
Sun, 04 Dec 2022 09:09:55 +0100
, by Olaf Wintermann
improve http listener migration / shutdown of old listener
Sat, 03 Dec 2022 18:00:35 +0100
, by Olaf Wintermann
use separate buffer for chunked transfer encoding, not inbuf
Sat, 03 Dec 2022 16:31:08 +0100
, by Olaf Wintermann
add missing init_logging declaration
Sat, 03 Dec 2022 13:54:53 +0100
, by Olaf Wintermann
implement acceptor thread shutdown
Sat, 03 Dec 2022 13:26:56 +0100
, by Olaf Wintermann
improve acceptor error handling
Sat, 03 Dec 2022 12:27:00 +0100
, by Olaf Wintermann
fix configuration referencing
Sun, 27 Nov 2022 15:58:37 +0100
, by Olaf Wintermann
improve daemon startup
Sun, 27 Nov 2022 13:33:30 +0100
, by Olaf Wintermann
fix stdout log message duplicates
Sun, 27 Nov 2022 10:20:10 +0100
, by Olaf Wintermann
fix listener ssl initialization
Sun, 27 Nov 2022 10:07:37 +0100
, by Olaf Wintermann
implement successor listener, fix webserver_reconfig
Sat, 26 Nov 2022 19:15:33 +0100
, by Olaf Wintermann
fix srvctrl thread stacksize
Sat, 26 Nov 2022 19:14:29 +0100
, by Olaf Wintermann
refactore http listener creation
Sat, 26 Nov 2022 17:07:08 +0100
, by Olaf Wintermann
replace linkedlist with arraylist in the expression parser
Sun, 20 Nov 2022 12:43:44 +0100
, by Olaf Wintermann
update ucx
Sun, 20 Nov 2022 12:19:09 +0100
, by Olaf Wintermann
expression parser: add support for functions
Sun, 20 Nov 2022 11:39:46 +0100
, by Olaf Wintermann
redirect stdout/stderr to log file
Wed, 16 Nov 2022 12:14:45 +0100
, by Olaf Wintermann
use non-blocking IO for pipes and socket in send_cgi
Sun, 13 Nov 2022 12:58:25 +0100
, by Olaf Wintermann
add http_send_response function that is usable for non-blocking IO
Sun, 13 Nov 2022 10:57:38 +0100
, by Olaf Wintermann
parse cgi stderr output for logging and use non-blocking pipes
Sun, 13 Nov 2022 09:41:07 +0100
, by Olaf Wintermann
refactor send_cgi into non-blocking SAF (wip)
Sat, 12 Nov 2022 20:50:45 +0100
, by Olaf Wintermann
fix prepare_service_file error handling
Sat, 12 Nov 2022 17:34:58 +0100
, by Olaf Wintermann
improve error handling in send_file if the file is a directory
Sat, 12 Nov 2022 17:28:32 +0100
, by Olaf Wintermann
add check if pidfile can be opened
Sat, 12 Nov 2022 17:00:16 +0100
, by Olaf Wintermann
run Init directives after setuid
Sat, 12 Nov 2022 16:52:32 +0100
, by Olaf Wintermann
make config parser delimiters configurable
Sat, 12 Nov 2022 12:09:37 +0100
, by Olaf Wintermann
allow '-' in tokens, add support for negative integers
Sat, 12 Nov 2022 11:52:47 +0100
, by Olaf Wintermann
add obj.conf expression parser
Sat, 12 Nov 2022 11:01:11 +0100
, by Olaf Wintermann
extend serverconfig tokenizer to create separate tokens for brackets
Wed, 09 Nov 2022 11:51:19 +0100
, by Olaf Wintermann
use realloc instead of malloc in object_add_directive
Wed, 09 Nov 2022 10:37:52 +0100
, by Olaf Wintermann
new recursive function to convert objconf (preparation for nsapi conditions)
Tue, 08 Nov 2022 22:35:18 +0100
, by Olaf Wintermann
new obj.conf parser based on serverconfig parser
Mon, 07 Nov 2022 22:30:12 +0100
, by Olaf Wintermann
use server.conf parser for init.conf as well
Mon, 07 Nov 2022 17:59:44 +0100
, by Olaf Wintermann
prepare serverconfig parser to be also used for obj.conf and init.conf
Sun, 06 Nov 2022 17:41:39 +0100
, by Olaf Wintermann
update ucx hash functions
Sun, 06 Nov 2022 16:59:39 +0100
, by Olaf Wintermann
switch from ucx 2 to 3
Sun, 06 Nov 2022 15:53:32 +0100
, by Olaf Wintermann
improve propfind error handling
Wed, 02 Nov 2022 19:19:01 +0100
, by Olaf Wintermann
implement ACL check for proppatch requests
Wed, 02 Nov 2022 19:10:10 +0100
, by Olaf Wintermann
improve error handling in webdav_proppatch
Wed, 02 Nov 2022 18:38:40 +0100
, by Olaf Wintermann
improve sessionhandler error handling
Wed, 02 Nov 2022 18:21:58 +0100
, by Olaf Wintermann
improve error handling in basic_run_session
Wed, 02 Nov 2022 18:08:06 +0100
, by Olaf Wintermann
abort config loading if an unknown webdav backend is specified
Wed, 02 Nov 2022 17:53:15 +0100
, by Olaf Wintermann
replace perror() messages with log_ereport in thrpool.c
Wed, 02 Nov 2022 17:47:39 +0100
, by Olaf Wintermann
close connection if content-length != number of bytes written
Tue, 01 Nov 2022 20:46:15 +0100
, by Olaf Wintermann
store number of written bytes in the HttpStream
Tue, 01 Nov 2022 20:39:41 +0100
, by Olaf Wintermann
add vfs support to dir_redirect
Tue, 01 Nov 2022 16:54:24 +0100
, by Olaf Wintermann
add vfs support to find_index
Tue, 01 Nov 2022 16:53:11 +0100
, by Olaf Wintermann
fix multistatus response creating namespace definitions twice in some cases
Tue, 01 Nov 2022 16:40:03 +0100
, by Olaf Wintermann
pg: fix proppatch not working for normal dead properties if extensions are enabled
Tue, 01 Nov 2022 15:59:28 +0100
, by Olaf Wintermann
fix invalid propfind pg queries created for allprop requests on collections
Tue, 01 Nov 2022 15:39:21 +0100
, by Olaf Wintermann
fix warning caused by an ucx update that changed UcxKey data to const
Tue, 01 Nov 2022 15:27:48 +0100
, by Olaf Wintermann
fix ucx include path in postgresql plugin
Sun, 23 Oct 2022 11:41:05 +0200
, by Olaf Wintermann
use IPV6_V6ONLY socket option on linux
Thu, 13 Oct 2022 19:26:15 +0200
, by Olaf Wintermann
convert ipv6 addr to string
Thu, 13 Oct 2022 18:46:00 +0200
, by Olaf Wintermann
add initial ipv6 support
Wed, 12 Oct 2022 23:34:20 +0200
, by Olaf Wintermann
fix mkcol not responding with correct status code in some cases
Sun, 25 Sep 2022 15:40:27 +0200
, by Olaf Wintermann
"write" permission includes "add_file" now
Sun, 25 Sep 2022 15:23:08 +0200
, by Olaf Wintermann
fix listener not initialiazed before changeuid
Sun, 25 Sep 2022 12:12:53 +0200
, by Olaf Wintermann
print error in case the log file config doesn't work
Sun, 25 Sep 2022 11:56:47 +0200
, by Olaf Wintermann
add verbose logging for setuid/setgid and abort startup if setuid fails
Sun, 25 Sep 2022 11:00:38 +0200
, by Olaf Wintermann
reduce log warnings in case pg_check_connection fails
Sun, 25 Sep 2022 10:51:47 +0200
, by Olaf Wintermann
fix double free in postgresql resourcepool if pg_check_connection fails
Sun, 25 Sep 2022 10:47:49 +0200
, by Olaf Wintermann
change uid before most of the config is loaded
Sun, 25 Sep 2022 10:36:28 +0200
, by Olaf Wintermann
fix build on non-freebsd systems
Sun, 25 Sep 2022 09:33:39 +0200
, by Olaf Wintermann
merge cpp-ports
Sat, 24 Sep 2022 17:11:57 +0200
, by Olaf Wintermann
merge branch webdav into default
Sat, 24 Sep 2022 16:26:10 +0200
, by Olaf Wintermann
remove debug code
webdav
Sat, 24 Sep 2022 16:19:24 +0200
, by Olaf Wintermann
fix net_printf not working with empty strings
webdav
Fri, 09 Sep 2022 20:17:23 +0200
, by Olaf Wintermann
disable pg large object IO functions for collections
webdav
Thu, 08 Sep 2022 17:34:16 +0200
, by Olaf Wintermann
fix resourcetype initialization
webdav
Sat, 27 Aug 2022 11:57:27 +0200
, by Olaf Wintermann
pg propfind stores resource_id in rq->vars
webdav
Thu, 18 Aug 2022 18:18:06 +0200
, by Olaf Wintermann
pg_vfs_open stores the resource_id in rq->vars
webdav
Thu, 18 Aug 2022 16:54:57 +0200
, by Olaf Wintermann
make original proppatch property list available to all backends
webdav
Thu, 18 Aug 2022 16:48:23 +0200
, by Olaf Wintermann
Add support for extended properties in pg proppatch
webdav
Mon, 15 Aug 2022 15:45:55 +0200
, by Olaf Wintermann
Add support for extended properties in pg propfind
webdav
Sun, 14 Aug 2022 16:46:52 +0200
, by Olaf Wintermann
build pg propfind query from components
webdav
Sun, 14 Aug 2022 12:43:14 +0200
, by Olaf Wintermann
use configured root node from PgRepository in pg vfs/webdav
webdav
Sun, 14 Aug 2022 11:40:54 +0200
, by Olaf Wintermann
add parser for extended postgresql webdav config
webdav
Sat, 13 Aug 2022 15:56:51 +0200
, by Olaf Wintermann
add config option for pg root node lookup
webdav
Thu, 11 Aug 2022 20:51:39 +0200
, by Olaf Wintermann
add global resource lookup function
webdav
Thu, 11 Aug 2022 20:21:13 +0200
, by Olaf Wintermann
adjust pg plugin to new dav initialization
webdav
Wed, 10 Aug 2022 21:01:54 +0200
, by Olaf Wintermann
add support for named dav repositories in nametrans safs
webdav
Wed, 10 Aug 2022 20:56:24 +0200
, by Olaf Wintermann
implement named dav repositories
webdav
Wed, 10 Aug 2022 20:32:49 +0200
, by Olaf Wintermann
add support for name/value config args
webdav
Tue, 09 Aug 2022 19:01:54 +0200
, by Olaf Wintermann
add new dav config element
webdav
Sun, 07 Aug 2022 13:46:43 +0200
, by Olaf Wintermann
revert optimization that does not harmonize with realloc()
cpp-ports
Wed, 08 Jun 2022 19:26:43 +0200
, by Mike Becker
fix code that is not standard C
cpp-ports
Wed, 08 Jun 2022 19:14:57 +0200
, by Mike Becker
port pblock.cpp to pblock.c
cpp-ports
Wed, 08 Jun 2022 18:55:59 +0200
, by Mike Becker
port uri.cpp to uri.c
cpp-ports
Sat, 04 Jun 2022 19:27:25 +0200
, by Mike Becker
make sure the http stream is finished if headers are sent
webdav
Sun, 15 May 2022 08:56:00 +0200
, by Olaf Wintermann
check if service SAFs sent a response, terminate connection in case no response was sent
webdav
Sat, 14 May 2022 15:22:37 +0200
, by Olaf Wintermann
check cgi exit code
webdav
Sat, 14 May 2022 15:21:59 +0200
, by Olaf Wintermann
start threadpool in threadpool_run() if no threads are created yet
webdav
Sat, 14 May 2022 12:51:05 +0200
, by Olaf Wintermann
add separate threadpool_start function for creating initial threadpool threads
webdav
Sat, 14 May 2022 12:45:59 +0200
, by Olaf Wintermann
escape child href in pg propfind
webdav
Sat, 14 May 2022 11:18:14 +0200
, by Olaf Wintermann
enable util_uri_escape and util_url_escape and add some tests
webdav
Sat, 14 May 2022 10:49:04 +0200
, by Olaf Wintermann
add missing HttpStream initializations
webdav
Fri, 13 May 2022 21:24:45 +0200
, by Olaf Wintermann
fix pg_vfs_dirio_readdir not initializing some VFS_ENTRY fields
webdav
Wed, 11 May 2022 20:41:39 +0200
, by Olaf Wintermann
fix webdav_delete response in case of errors
webdav
Wed, 11 May 2022 20:41:10 +0200
, by Olaf Wintermann
fix parse_request_line not detecting the uri correctly in some cases
webdav
Wed, 11 May 2022 20:31:26 +0200
, by Olaf Wintermann
fix that pg mkdir can create directories with trailing path separators in the nodename
webdav
Tue, 10 May 2022 19:13:01 +0200
, by Olaf Wintermann
xml escape href value in propfind response
webdav
Mon, 09 May 2022 20:56:44 +0200
, by Olaf Wintermann
implement etag in pg propfind
webdav
Mon, 09 May 2022 20:06:27 +0200
, by Olaf Wintermann
update etag when a postgresql file is updated
webdav
Sun, 08 May 2022 19:31:38 +0200
, by Olaf Wintermann
extend postgresql vfs to store an etag in the file
webdav
Sun, 08 May 2022 19:29:27 +0200
, by Olaf Wintermann
add optional getetag function to VFS API
webdav
Sun, 08 May 2022 18:55:36 +0200
, by Olaf Wintermann
fix webdav_mkcol response and add error handling
webdav
Sun, 08 May 2022 12:27:43 +0200
, by Olaf Wintermann
fix resource pool memory management
webdav
Sun, 08 May 2022 12:07:58 +0200
, by Olaf Wintermann
fix invalid memory access in event_bsd.c
webdav
Sun, 08 May 2022 11:52:52 +0200
, by Olaf Wintermann
add support for O_TRUNC in pg_vfs_open
webdav
Sun, 08 May 2022 10:46:56 +0200
, by Olaf Wintermann
add O_TRUNC to oflags in webdav_put
webdav
Sun, 08 May 2022 10:41:27 +0200
, by Olaf Wintermann
replace atoi with util_strtoint
webdav
Sun, 08 May 2022 10:33:41 +0200
, by Olaf Wintermann
add util_asprintf and util_vasprintf
webdav
Sat, 07 May 2022 15:07:01 +0200
, by Olaf Wintermann
remove redundant comments
webdav
Sat, 07 May 2022 14:14:20 +0200
, by Olaf Wintermann
store HttpStream buflen as pointer (referencing NSAPISession cursize)
webdav
Sat, 07 May 2022 14:13:08 +0200
, by Olaf Wintermann
code cleanup
webdav
Sat, 07 May 2022 14:08:46 +0200
, by Olaf Wintermann
fix and simplify chunked transfer encoding
webdav
Sat, 07 May 2022 12:54:19 +0200
, by Olaf Wintermann
first semi-functional implementation of chunked transfer encoding for request bodies
webdav
Fri, 06 May 2022 22:45:53 +0200
, by Olaf Wintermann
simplify request input buffer
webdav
Thu, 05 May 2022 21:46:10 +0200
, by Olaf Wintermann
implement allprop in default and postgresql webdav backends
webdav
Tue, 03 May 2022 21:41:00 +0200
, by Olaf Wintermann
fix netbuf_getbytes not detecting EOF in some cases
webdav
Mon, 02 May 2022 20:37:13 +0200
, by Olaf Wintermann
add content-length header to webdav_delete and webdav_put
webdav
Mon, 02 May 2022 20:26:54 +0200
, by Olaf Wintermann
send response in webdav_put
webdav
Mon, 02 May 2022 20:25:40 +0200
, by Olaf Wintermann
move http response code from webdav_vfs_op_do to webdav_delete
webdav
Mon, 02 May 2022 20:22:16 +0200
, by Olaf Wintermann
send response in webdav_delete
webdav
Mon, 02 May 2022 20:20:37 +0200
, by Olaf Wintermann
add davclass parameter to pfx2dir for setting the webdav backend
webdav
Mon, 02 May 2022 11:29:15 +0200
, by Olaf Wintermann
add support for xml properties in propfind/proppatch requests (pg)
webdav
Sun, 01 May 2022 12:33:48 +0200
, by Olaf Wintermann
fix TestVFSFile ctx initialization
webdav
Sun, 01 May 2022 11:14:47 +0200
, by Olaf Wintermann
fix uninitialized memory access in directory check
webdav
Sun, 01 May 2022 11:07:31 +0200
, by Olaf Wintermann
fix test request memory initialization
webdav
Sun, 01 May 2022 11:03:29 +0200
, by Olaf Wintermann
fix memory initialization for WebdavProperty in webdav tests
webdav
Sun, 01 May 2022 10:56:36 +0200
, by Olaf Wintermann
add WebdavNSList <-> string converting functions
webdav
Sun, 01 May 2022 10:48:20 +0200
, by Olaf Wintermann
add basic pg proppatch implementation
webdav
Sat, 30 Apr 2022 20:44:38 +0200
, by Olaf Wintermann
store property prefix in the database
webdav
Tue, 26 Apr 2022 18:21:25 +0200
, by Olaf Wintermann
add tests for propfind allprop
webdav
Tue, 26 Apr 2022 15:19:12 +0200
, by Olaf Wintermann
fix sql query for selecting specific properties
webdav
Tue, 26 Apr 2022 14:33:58 +0200
, by Olaf Wintermann
fix pg propfind for getlastmodified property
webdav
Mon, 25 Apr 2022 22:38:05 +0200
, by Olaf Wintermann
less
more
|
(0)
-192
tip