]> source.dussan.org Git - tigervnc.git/log
tigervnc.git
9 years agoEnable and document syslog logger in Xvnc.
Michal Srb [Fri, 10 Apr 2015 13:56:54 +0000 (16:56 +0300)]
Enable and document syslog logger in Xvnc.

9 years agoAdd syslog logger.
Michal Srb [Fri, 10 Apr 2015 13:56:34 +0000 (16:56 +0300)]
Add syslog logger.

9 years agoExpose log levels from LogWriter.
Michal Srb [Fri, 10 Apr 2015 13:52:26 +0000 (16:52 +0300)]
Expose log levels from LogWriter.

9 years agoUpdate build requirements in el6 spec file
Brian P. Hinz [Wed, 18 Mar 2015 23:13:57 +0000 (19:13 -0400)]
Update build requirements in el6 spec file

Make the dependency on g++ explicit.

Now that the native version of cmake in el6 has been bumped to
v2.8 we can remove the dependency on EPEL's cmake28 package.

9 years agoUpdated the swedish translation.
Peter Åstrand (astrand) [Wed, 18 Mar 2015 10:13:46 +0000 (11:13 +0100)]
Updated the swedish translation.

9 years agoCommit changes after running "make translations_update".
Peter Åstrand (astrand) [Wed, 18 Mar 2015 09:47:20 +0000 (10:47 +0100)]
Commit changes after running "make translations_update".

9 years agoRemoved extra newline in Listening on port printout.
Peter Åstrand (astrand) [Wed, 18 Mar 2015 09:31:01 +0000 (10:31 +0100)]
Removed extra newline in Listening on port printout.

9 years agoMerge branch 'multisocket-win32' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Tue, 17 Mar 2015 16:23:33 +0000 (17:23 +0100)]
Merge branch 'multisocket-win32' of https://github.com/CendioOssman/tigervnc

9 years agoRequire getaddrinfo() on all systems 154/head
Pierre Ossman [Tue, 17 Mar 2015 13:02:11 +0000 (14:02 +0100)]
Require getaddrinfo() on all systems

Every reasonably current system support getaddrinfo() so get rid
of the legacy fallbacks.

9 years agoRemove debug log noise from Windows dialog class
Pierre Ossman [Tue, 17 Mar 2015 16:11:32 +0000 (17:11 +0100)]
Remove debug log noise from Windows dialog class

9 years agoDo not look at errno for getaddrinfo() errors
Pierre Ossman [Tue, 17 Mar 2015 16:10:56 +0000 (17:10 +0100)]
Do not look at errno for getaddrinfo() errors

9 years agoReplacement for dup() on Windows
Pierre Ossman [Tue, 17 Mar 2015 16:06:22 +0000 (17:06 +0100)]
Replacement for dup() on Windows

It doesn't work on sockets, which require a bit more care.

9 years agoRemove HAVE_INET_ATON as nothing uses it
Pierre Ossman [Tue, 17 Mar 2015 12:51:55 +0000 (13:51 +0100)]
Remove HAVE_INET_ATON as nothing uses it

9 years agoConvert WinVNC to the new TcpListener API
Pierre Ossman [Tue, 17 Mar 2015 12:45:27 +0000 (13:45 +0100)]
Convert WinVNC to the new TcpListener API

9 years agowinsock2.h must always be included before windows.h
Pierre Ossman [Tue, 17 Mar 2015 12:44:34 +0000 (13:44 +0100)]
winsock2.h must always be included before windows.h

9 years agoLocal address change events are not socket specific
Pierre Ossman [Tue, 17 Mar 2015 12:44:00 +0000 (13:44 +0100)]
Local address change events are not socket specific

9 years agoNothing uses inet_ntop()/inet_pton() so remove the CMake define
Pierre Ossman [Tue, 17 Mar 2015 12:42:44 +0000 (13:42 +0100)]
Nothing uses inet_ntop()/inet_pton() so remove the CMake define

9 years agoFix proper socket headers for Win32
Pierre Ossman [Tue, 17 Mar 2015 12:42:06 +0000 (13:42 +0100)]
Fix proper socket headers for Win32

9 years agoResurrect TcpListener::getMyAddresses()
Pierre Ossman [Tue, 17 Mar 2015 12:39:39 +0000 (13:39 +0100)]
Resurrect TcpListener::getMyAddresses()

It is needed by WinVNC, but got removed in 892d10a70. Also fix
a couple of issues:

 - Use getnameinfo() in order to be compatible with Windows XP
 - Make it static since it doesn't use a specific socket
 - Respect UseIPv4 and UseIPv6
 - Flags for getaddrinfo() that match binding code
 - Dummy service value for Windows compatibility

9 years agoMake sure Win32 sockets are available in new listening API
Pierre Ossman [Tue, 17 Mar 2015 16:10:10 +0000 (17:10 +0100)]
Make sure Win32 sockets are available in new listening API

9 years agoAI_NUMERICSERV is not available on some systems
Pierre Ossman [Tue, 17 Mar 2015 12:38:59 +0000 (13:38 +0100)]
AI_NUMERICSERV is not available on some systems

9 years agoMake sure socket errno defines are available for Win32
Pierre Ossman [Tue, 17 Mar 2015 12:38:21 +0000 (13:38 +0100)]
Make sure socket errno defines are available for Win32

9 years agoLook in libsocket for socket functions on Solaris
Pierre Ossman [Tue, 17 Mar 2015 12:37:36 +0000 (13:37 +0100)]
Look in libsocket for socket functions on Solaris

9 years agostop using check_function_exists() for Windows socket functions
Pierre Ossman [Tue, 17 Mar 2015 12:36:43 +0000 (13:36 +0100)]
stop using check_function_exists() for Windows socket functions

It fails to find stdcall functions, so we need to just hard code
things based on our minimum Windows requirements.

9 years agostop setting CMAKE_EXTRA_INCLUDE_FILES for check_function_exists()
Pierre Ossman [Tue, 17 Mar 2015 12:35:33 +0000 (13:35 +0100)]
stop setting CMAKE_EXTRA_INCLUDE_FILES for check_function_exists()

It ignores it anyway.

9 years agoBump Windows requirement to XP SP2
Pierre Ossman [Tue, 17 Mar 2015 12:32:52 +0000 (13:32 +0100)]
Bump Windows requirement to XP SP2

That's even more generous than Microsoft themselves, and we need
such a new version for basic IPv6 support.

9 years agofamily variable can be unset when matching any address
Pierre Ossman [Tue, 17 Mar 2015 11:56:31 +0000 (12:56 +0100)]
family variable can be unset when matching any address

9 years agoMerge branch 'multisocket-rebased' of https://github.com/twaugh/tigervnc
Pierre Ossman [Tue, 17 Mar 2015 11:51:31 +0000 (12:51 +0100)]
Merge branch 'multisocket-rebased' of https://github.com/twaugh/tigervnc

9 years agoRemove unnecessary dependency on openmotif
Brian P. Hinz [Sun, 15 Mar 2015 19:37:10 +0000 (15:37 -0400)]
Remove unnecessary dependency on openmotif

Requirement was an artifact of older version of mesa, and is no longer necessary.

9 years agoUpdate package builds to meet new minimum requirements.
Brian P. Hinz [Sat, 14 Mar 2015 22:06:14 +0000 (18:06 -0400)]
Update package builds to meet new minimum requirements.

el5 and el6 need newer versions of gnutls (and it's prereqs) than are available natively.

9 years agoIPv6 support for TcpFilter. 150/head
Tim Waugh [Fri, 13 Mar 2015 16:07:29 +0000 (16:07 +0000)]
IPv6 support for TcpFilter.

9 years agoFixed IPv6 support.
Tim Waugh [Wed, 11 Mar 2015 13:12:07 +0000 (13:12 +0000)]
Fixed IPv6 support.

The TcpListener constructor now takes a 'struct sockaddr*' instead of
a string, and the createTcpListeners function creates TcpListener
instances for an address based on the results from getaddrinfo().

The XserverDesktop class now takes a list of TcpListener instances for
each of the RFB and HTTP sockets.

The TcpListener::closeFd member variable is not used and has been
removed.

9 years agoMerge branch 'upreqs' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Thu, 12 Mar 2015 10:15:32 +0000 (11:15 +0100)]
Merge branch 'upreqs' of https://github.com/CendioOssman/tigervnc

Conflicts:
contrib/packages/rpm/el5/SPECS/tigervnc.spec
vncviewer/Viewport.cxx

9 years agoWhitespace changes only.
Tim Waugh [Wed, 11 Mar 2015 13:07:48 +0000 (13:07 +0000)]
Whitespace changes only.

9 years agoDon't disable xinerama (#147)
Brian P. Hinz [Sun, 8 Mar 2015 03:05:04 +0000 (22:05 -0500)]
Don't disable xinerama (#147)

Xinerama was disabled in the redhat spec file that ours was adapted from.  Unsure why it was disabled in the first place.

9 years agoMerge branch 'mac_menu' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Wed, 4 Mar 2015 09:25:49 +0000 (10:25 +0100)]
Merge branch 'mac_menu' of https://github.com/CendioOssman/tigervnc

9 years agoAdd a OS X system menu so that new viewer windows can be started 144/head
Pierre Ossman [Wed, 4 Mar 2015 08:57:06 +0000 (09:57 +0100)]
Add a OS X system menu so that new viewer windows can be started

9 years agoHide OS X specific callback when not needed
Pierre Ossman [Wed, 4 Mar 2015 08:54:27 +0000 (09:54 +0100)]
Hide OS X specific callback when not needed

9 years agoFix bad long line detection logic in config file parser
Pierre Ossman [Wed, 4 Mar 2015 08:53:16 +0000 (09:53 +0100)]
Fix bad long line detection logic in config file parser

9 years agoChange type to fix bad signed/unsigned comparison
Pierre Ossman [Wed, 4 Mar 2015 08:52:48 +0000 (09:52 +0100)]
Change type to fix bad signed/unsigned comparison

9 years agoMerge branch 'warnings' of https://github.com/CendioOssman/tigervnc
Pierre Ossman [Tue, 3 Mar 2015 15:59:51 +0000 (16:59 +0100)]
Merge branch 'warnings' of https://github.com/CendioOssman/tigervnc

9 years agoMake warnings into errors when doing debug builds 143/head
Pierre Ossman [Tue, 3 Mar 2015 15:50:47 +0000 (16:50 +0100)]
Make warnings into errors when doing debug builds

Assume debug builds means it's a developer working on TigerVNC
rather than a user just compiling it. At that point we should not
accept any new warnings in the code.

9 years agoMake sure defaultServerName is initialised even on errors
Pierre Ossman [Tue, 3 Mar 2015 15:50:15 +0000 (16:50 +0100)]
Make sure defaultServerName is initialised even on errors

9 years agoMove about text constant so the compiler can analyse it
Pierre Ossman [Tue, 3 Mar 2015 15:49:50 +0000 (16:49 +0100)]
Move about text constant so the compiler can analyse it

9 years agoFix unsafe format strings to the logging functions
Pierre Ossman [Tue, 3 Mar 2015 15:48:58 +0000 (16:48 +0100)]
Fix unsafe format strings to the logging functions

9 years agoDon't shove a pointer into a 32-bit variable
Pierre Ossman [Tue, 3 Mar 2015 15:48:36 +0000 (16:48 +0100)]
Don't shove a pointer into a 32-bit variable

9 years agoFix bad initialiser lists
Pierre Ossman [Tue, 3 Mar 2015 15:48:01 +0000 (16:48 +0100)]
Fix bad initialiser lists

9 years agoCompiler doesn't like us not checking return values here
Pierre Ossman [Tue, 3 Mar 2015 15:47:24 +0000 (16:47 +0100)]
Compiler doesn't like us not checking return values here

9 years agoCompiler doesn't like referencing unset variables
Pierre Ossman [Tue, 3 Mar 2015 15:47:01 +0000 (16:47 +0100)]
Compiler doesn't like referencing unset variables

9 years agoLPARAM and WPARAM have different types on Win32 and Win64
Pierre Ossman [Tue, 3 Mar 2015 15:46:19 +0000 (16:46 +0100)]
LPARAM and WPARAM have different types on Win32 and Win64

Solve it by casting to the larger of the two, i.e. 64-bit.

9 years agoWIN64 should come from the compiler or SDK, not us
Pierre Ossman [Tue, 3 Mar 2015 15:45:55 +0000 (16:45 +0100)]
WIN64 should come from the compiler or SDK, not us

9 years agoHandler still needs to return something even with XDamage
Pierre Ossman [Tue, 3 Mar 2015 15:45:18 +0000 (16:45 +0100)]
Handler still needs to return something even with XDamage

9 years agoNo need to force modifiable strings here
Pierre Ossman [Tue, 3 Mar 2015 15:45:02 +0000 (16:45 +0100)]
No need to force modifiable strings here

9 years agoPointer truncation/expansion needs to be very explicit
Pierre Ossman [Tue, 3 Mar 2015 15:44:30 +0000 (16:44 +0100)]
Pointer truncation/expansion needs to be very explicit

9 years agoWrong array index in CPU usage calculation on Windows
Pierre Ossman [Tue, 3 Mar 2015 15:43:20 +0000 (16:43 +0100)]
Wrong array index in CPU usage calculation on Windows

9 years agoWindows doesn't have %lld
Pierre Ossman [Tue, 3 Mar 2015 15:43:05 +0000 (16:43 +0100)]
Windows doesn't have %lld

9 years agooverrun() needs to return the available space
Pierre Ossman [Tue, 3 Mar 2015 15:42:45 +0000 (16:42 +0100)]
overrun() needs to return the available space

9 years agoMove things around slightly so the compiler can track cc
Pierre Ossman [Tue, 3 Mar 2015 15:42:15 +0000 (16:42 +0100)]
Move things around slightly so the compiler can track cc

9 years agoGive CharArray a printf style method to ease automatic allocation
Pierre Ossman [Tue, 3 Mar 2015 15:41:29 +0000 (16:41 +0100)]
Give CharArray a printf style method to ease automatic allocation

9 years agoThe PAM callback is slightly different on Solaris
Pierre Ossman [Tue, 3 Mar 2015 15:40:36 +0000 (16:40 +0100)]
The PAM callback is slightly different on Solaris

9 years agoAdd extra parentheses to avoid and/or priority ambiguity
Pierre Ossman [Tue, 3 Mar 2015 15:39:37 +0000 (16:39 +0100)]
Add extra parentheses to avoid and/or priority ambiguity

9 years agoReorder class initialiser list to match what actually happens
Pierre Ossman [Tue, 3 Mar 2015 15:37:43 +0000 (16:37 +0100)]
Reorder class initialiser list to match what actually happens

9 years agoMake Rect::area() signed, just like Rect::width()/height()
Pierre Ossman [Tue, 3 Mar 2015 15:35:28 +0000 (16:35 +0100)]
Make Rect::area() signed, just like Rect::width()/height()

Makes it more sane what type to use when interacting with this class.

9 years agoFix mismatches between format string and arguments
Pierre Ossman [Tue, 3 Mar 2015 15:34:56 +0000 (16:34 +0100)]
Fix mismatches between format string and arguments

9 years agoShorten stats from EncodeManager using SI/IEC prefixes
Pierre Ossman [Tue, 3 Mar 2015 15:30:13 +0000 (16:30 +0100)]
Shorten stats from EncodeManager using SI/IEC prefixes

Also avoids %lld which isn't supported on Windows.

9 years agoA switch() needs to handle every value in an enum
Pierre Ossman [Tue, 3 Mar 2015 15:28:54 +0000 (16:28 +0100)]
A switch() needs to handle every value in an enum

9 years agoSwitch to unsigned parameters for ExtendedDesktopSize handler
Pierre Ossman [Tue, 3 Mar 2015 15:27:44 +0000 (16:27 +0100)]
Switch to unsigned parameters for ExtendedDesktopSize handler

The constants used here are unsigned so it makes more sense that
the parameters are as well.

9 years agoFix bad signed/unsigned comparisons
Pierre Ossman [Tue, 3 Mar 2015 15:26:03 +0000 (16:26 +0100)]
Fix bad signed/unsigned comparisons

Either by casting, or switching to a more appropriate type
for the variable.

9 years agoMake sure Exceptions do not use unsafe format strings
Pierre Ossman [Tue, 3 Mar 2015 15:17:51 +0000 (16:17 +0100)]
Make sure Exceptions do not use unsafe format strings

9 years agoTag the Exception constructor as a printf function
Pierre Ossman [Tue, 3 Mar 2015 15:11:26 +0000 (16:11 +0100)]
Tag the Exception constructor as a printf function

This allows the compiler to analyse the format strings and
arguments for correctness.

9 years agoRemove unused variables
Pierre Ossman [Tue, 3 Mar 2015 15:10:53 +0000 (16:10 +0100)]
Remove unused variables

9 years agoHandle no useful address types from getaddrinfo()
Pierre Ossman [Tue, 3 Mar 2015 15:03:32 +0000 (16:03 +0100)]
Handle no useful address types from getaddrinfo()

9 years agoThe compiler cannot figure out if this is assigned properly
Pierre Ossman [Tue, 3 Mar 2015 15:02:42 +0000 (16:02 +0100)]
The compiler cannot figure out if this is assigned properly

The logic is a bit complex so we're going to have to silence the
warning with this explicit assignment.

9 years agoTurn on more warnings to catch potential bugs
Pierre Ossman [Tue, 3 Mar 2015 15:02:03 +0000 (16:02 +0100)]
Turn on more warnings to catch potential bugs

9 years agoDecode serverCutText to ISO-8859-1
Brian P. Hinz [Tue, 3 Mar 2015 01:03:42 +0000 (20:03 -0500)]
Decode serverCutText to ISO-8859-1

Java viewer was incorrectly attempting to decode incoming clipboard updates to UTF-8 instead of Latin-1.

9 years agoMerge pull request #142 from bphinz/master
Brian Hinz [Mon, 2 Mar 2015 03:02:04 +0000 (22:02 -0500)]
Merge pull request #142 from bphinz/master

Updates to package builds

9 years agoBuild local static libpng on el5 142/head
Brian P. Hinz [Mon, 2 Mar 2015 02:55:43 +0000 (21:55 -0500)]
Build local static libpng on el5

The system libpng is too old for fltk 1.3.3, resulting in undefined reference errors when trying to link vncviewer.

9 years agoRemove obsolete distro patches
Brian P. Hinz [Mon, 2 Mar 2015 02:54:42 +0000 (21:54 -0500)]
Remove obsolete distro patches

Commit f0fffd4d7f0907e91dfcee02cd7fbe4f4cbe2342 makes ldnow patch unnecessary.
Commit 0dc36a501ee5e69ce1a201935a4a4a903d06cbe1 makes format-security patch unnecessary.

9 years agoUse autotools to build fltk-1.3.3 on el5 instead of cmake
Brian P. Hinz [Mon, 2 Mar 2015 02:52:39 +0000 (21:52 -0500)]
Use autotools to build fltk-1.3.3 on el5 instead of cmake

Static libraries are too hard to get linked correctly with cmake.

9 years agoBump version of fltk to 1.3.3 for el5, el6, & ubuntu packages
Brian P. Hinz [Mon, 2 Mar 2015 02:51:49 +0000 (21:51 -0500)]
Bump version of fltk to 1.3.3 for el5, el6, & ubuntu packages

9 years agoMerge pull request #141 from bphinz/java
Brian Hinz [Sun, 1 Mar 2015 19:41:15 +0000 (14:41 -0500)]
Merge pull request #141 from bphinz/java

Don't violate RFB spec by sending UTF-8

9 years agoDon't violate RFB spec by sending UTF-8 141/head
Brian P. Hinz [Sun, 1 Mar 2015 19:40:03 +0000 (14:40 -0500)]
Don't violate RFB spec by sending UTF-8

Java viewer was violating the RFB specification by sending UTF-8 encoded clipboard text rather than ISO-8859-1.

9 years agoMerge branch 'perf' of https://github.com/dcommander/tigervnc
Pierre Ossman [Fri, 27 Feb 2015 08:28:06 +0000 (09:28 +0100)]
Merge branch 'perf' of https://github.com/dcommander/tigervnc

9 years agoMerge branches 'format-security' and 'module-ldnow-master' of https://github.com...
Pierre Ossman [Fri, 27 Feb 2015 08:26:26 +0000 (09:26 +0100)]
Merge branches 'format-security' and 'module-ldnow-master' of https://github.com/twaugh/tigervnc

9 years agoencperf, decperf: catch fopen() errors 139/head
DRC [Thu, 26 Feb 2015 18:24:03 +0000 (12:24 -0600)]
encperf, decperf: catch fopen() errors
This prevents unhandled exceptions if the file isn't found.

9 years agoLink libvnc.so with '-z now' to make symbol resolution failures obvious. 138/head
Tim Waugh [Tue, 24 Feb 2015 15:59:03 +0000 (15:59 +0000)]
Link libvnc.so with '-z now' to make symbol resolution failures obvious.

9 years agoMerge branch 'cmdline-crash' of https://github.com/twaugh/tigervnc
Pierre Ossman [Thu, 26 Feb 2015 13:18:49 +0000 (14:18 +0100)]
Merge branch 'cmdline-crash' of https://github.com/twaugh/tigervnc

9 years agoMerge branch 'xserver117-master' of https://github.com/twaugh/tigervnc
Pierre Ossman [Thu, 26 Feb 2015 13:14:21 +0000 (14:14 +0100)]
Merge branch 'xserver117-master' of https://github.com/twaugh/tigervnc

9 years agoMerge branch 'perf' of https://github.com/dcommander/tigervnc
Pierre Ossman [Thu, 26 Feb 2015 11:53:37 +0000 (12:53 +0100)]
Merge branch 'perf' of https://github.com/dcommander/tigervnc

9 years agoencperf: Optionally disable pixel translation 124/head
DRC [Wed, 25 Feb 2015 20:18:07 +0000 (14:18 -0600)]
encperf: Optionally disable pixel translation
For 16-bit and 8-bit datasets, you can now run encperf with an argument of
-translate=0 to benchmark just the encoder without converting the datasets to
24-bit.  This allows the output of encperf to be directly compared with that
of the TurboVNC Benchmark Tools.

9 years agoencperf: change % to %% in printf format
DRC [Wed, 25 Feb 2015 20:08:34 +0000 (14:08 -0600)]
encperf: change % to %% in printf format
GCC lets this slide, but other compilers (clang) complain about using % rather
than %% to print a literal % character.

9 years agoencperf: add compression level to encoding list
DRC [Sat, 21 Feb 2015 18:01:47 +0000 (12:01 -0600)]
encperf: add compression level to encoding list
Explicitly add the compression level to the list of encodings so it's obvious
how to override it.

9 years agoencperf: allow # of iterations to be specified
DRC [Sat, 21 Feb 2015 17:57:27 +0000 (11:57 -0600)]
encperf: allow # of iterations to be specified

9 years agoencperf: report encoded & raw-equivalent bytes
DRC [Sat, 21 Feb 2015 17:44:26 +0000 (11:44 -0600)]
encperf: report encoded & raw-equivalent bytes
Report encoded and raw-equivalent bytes as well as compression ratio (I like
to have these statistics so I can compute overall compression ratios for
groups of datasets in a spreadsheet.)

9 years agoencperf: Code formatting tweaks
DRC [Sat, 21 Feb 2015 17:28:37 +0000 (11:28 -0600)]
encperf: Code formatting tweaks
Code formatting tweaks to improve readability & make the code consistent with
the rest of TigerVNC

9 years agoCheck for out-of-memory when installing color map. 134/head
Tim Waugh [Wed, 25 Feb 2015 12:25:33 +0000 (12:25 +0000)]
Check for out-of-memory when installing color map.

Also remove Xalloc/Xfree definitions, using malloc/free directly
instead. Note that vfbAllocateFramebufferMemory() does not need to
check for failed allocations as it is the caller's responsibility to
do so (and they do).

9 years agoThe legacy OS X keyboard API is only 32-bit
Pierre Ossman [Wed, 25 Feb 2015 13:43:42 +0000 (14:43 +0100)]
The legacy OS X keyboard API is only 32-bit

9 years agoDon't need to log local port when handling -via (#126). 126/head
Tim Waugh [Wed, 25 Feb 2015 13:40:45 +0000 (13:40 +0000)]
Don't need to log local port when handling -via (#126).

9 years agoUpdated to build against xorg-x11-server 1.17.x.
Tim Waugh [Tue, 24 Feb 2015 16:20:41 +0000 (16:20 +0000)]
Updated to build against xorg-x11-server 1.17.x.

9 years agoDon't return without value here. 121/head
Tim Waugh [Wed, 25 Feb 2015 11:27:19 +0000 (11:27 +0000)]
Don't return without value here.

In particular, return 0 as this is a failure.