Commit Graph

70 Commits

Author SHA1 Message Date
Chase
edf4319548 Discontinue HPUX support 2022-07-23 17:49:33 -06:00
Peter Howkins
1f5ec7f034 Allow the window manager to handle centered, fit and fill backdrops 2022-07-06 17:00:49 -06:00
Liang Chang
c3b1d645a9 DtUtil1: fix a pointer casting issue. 2022-04-15 13:33:24 -04:00
Peter Howkins
b807066429 libdtsvc: Resolve Uninitialized warnings 2021-12-24 10:50:27 -07:00
Jon Trulson
dda11f0e38 Fix a bunch of -Wempty-body warnings reported by clang
Many of these were real bugs, like:

if (cond);
   do_something

etc...

Others were just cosmetic - like placing the ';' on a separate line to
make the intention clear.
2021-12-11 13:10:24 -07:00
OBATA Akio
16fe76ed65 Fix to include system header files for using functions 2021-10-08 14:40:56 +09:00
Jon Trulson
369b3e89d9 Begin removal of some Imakefiles, and other no longer useful cruft
This commit will not completely remove all Imake files, specifically
those for sections that have not been completed yet.

Also, the databases dir has been moved to databases-delete-later until
we have everything building and installed properly.
2021-07-03 18:23:40 -06:00
Jon Trulson
313b4a8e0b Merge branch 'master' into autotools-conversion 2020-01-26 12:17:44 -07:00
Jon Trulson
6b32246d06 dtsession, DtSvc: fix CVE-2020-2696/VU#308289
Marco Ivaldi <marco.ivaldi@mediaservice.net> has identified 3
vulnerabilities in CDE.

Two of them could affect our CDE (open-source version), while the 3rd
(sdtcm_convert) is Solaris specific.

The two vulnerabilities, both of which affect dtsession could allow a
local privilege escalation to root.  A POC exists for Solaris.  The
POC will not function on our CDE for two main reasons:

- the POC is Solaris specific
- The overflowed variables in question are allocated on the heap,
  whereas in Solaris these variables are located on the stack.

The first vulnerability allows an extra long palette name to be used
to cause a crash via insufficient validation in
SrvPalette.c:CheckMonitor().

The second, which has not yet been assigned a CERT CVE resides in
SmCreateDirs.c:_DtCreateDtDirs() in libDtSvc.  Due to insufficient
bounds checking, a crash or corruption can be achieved by using a very
long DISPLAY name.

This one is considered difficult to exploit, and no POC code is
available at this time.  CDE 2.x code-bases are also listed as not
vulnerable, however some work has been done anyway to do some proper
bounds checking in this function.

The following text portions are copied from the relevant advisories,
which have not been released as of this writing.

NOTE: Oracle CDE does NOT use CDE 2.3.0a or earlier as mentioned
below.  They are completely different code-bases):

Regarding CVE-2020-2692:

  A buffer overflow in the CheckMonitor() function in the Common
  Desktop Environment 2.3.0a and earlier, as distributed with Oracle
  Solaris 10 1/13 (Update 11) and earlier, allows local users to gain
  root privileges via a long palette name passed to dtsession in a
  malicious .Xdefaults file.

  Note that Oracle Solaris CDE is based on the original CDE 1.x train,
  which is different from the CDE 2.x codebase that was later open
  sourced. Most notably, the vulnerable buffer in the Oracle Solaris
  CDE is stack-based, while in the open source version it is
  heap-based.

Regarding the DtSvc bug, which does not currently have a CERT CVE:

  A difficult to exploit stack-based buffer overflow in the
  _DtCreateDtDirs() function in the Common Desktop Environment version
  distributed with Oracle Solaris 10 1/13 (Update 11) and earlier may
  allow local users to corrupt memory and potentially execute
  arbitrary code in order to escalate privileges via a long X11
  display name. The vulnerable function is located in the libDtSvc
  library and can be reached by executing the setuid program
  dtsession.

  The open source version of CDE (based on the CDE 2.x codebase) is
  not affected.
2020-01-13 19:13:23 -07:00
Jon Trulson
0d70d8b120 Set version to 2.3.1a (devel) for current master 2019-11-18 13:03:52 -07:00
Jon Trulson
5fe7ee5b67 Change CDE version info for 2.3.1 release 2019-11-15 18:04:01 -07:00
Jon Trulson
3ce0527e52 DtSvc: vastly simplify building this library
We take advantage of subdir-object and just build the subdir source
files directly as normal dependencies of libDtSvc in the top level
Makefile.am.

This means the intevening subdirectory Makefiles are no longer needed,
and no need to replicate flags and the like between the
subdirectory Makefile.am files.

Also, no need to build fake .a libs we can't really use.

configure: remove AC_OUTPUT_FILES related the the lib/DtSvc/*
subdirectories.  They are no longer needed.
2019-10-29 19:17:52 -06:00
Jon Trulson
dbce2e4337 DtSvc/DtUtil1: fix implicit function declarations 2019-10-28 14:30:36 -06:00
Jon Trulson
951ae0d327 DtSvc/DtUtil1: fix implicit function declarations 2019-10-28 13:22:09 -06:00
Jon Trulson
1079ffa240 configure: create some convenience AC_SUBST's for the global includes
Modify the various makefiles that were doing $(top_builddir)/include/Dt
to use them like @DT_INCDIR@, @TT_INCDIR@, etc...
2019-10-26 14:30:36 -06:00
Jon Trulson
0d78e17036 DtSvc,DtXinerama: More include fixes to deal with new order. 2019-10-25 18:06:54 -06:00
Jon Trulson
369308b737 The great includes migration of 2019 (autotools)
Ok - so one of the steps in building CDE is an early phase called the
includes phase (make includes).  At this point, all of the public
header files are exported to exports/include/Dt, DtI, ...

Then, the software is built using that include dir.

This of course does not work in autotools.  Much of the software does
things like #include <Dt/something.h>, so in order for the build to
succeed, this behavior must be represented/replicated in some way.

It seems the usual way of dealing with this is to place all public
headers (and in some projects, ALL headers) into a toplevel include
directory.

We now do this for all public headers - they have been moved from
wherever they were and placed in the appropriate spot in includes/

This will break the Imake 'make includes' phase unless the Imakefiles
are fixed (remove the HEADERS = stuff, and the incdir defines).  This
has not been done at this point since in reality, once autotools works
properly, there will be no need for the Imake stuff anymore, and I
intend to get rid of it.

This is just a warning for now - Imake builds in this tree will now
fail at the 'includes' stage.

This commit is only the migration.  In upcoming commits, libtt will be
fixed so that the hack being used before to get around this problem is
removed as there will no longer be any need.

And then the autotools work continues...
2019-10-25 17:01:34 -06:00
Jon Trulson
1d7ed3a17e autotools: many fixups, SUN->SOLARIS, typos, etc
This should allow an autoregen and ./confiure to work.  We only
generate Makefiles for lib/* and ./Makefile for now.  We'll ad more as
we go along.

Make still fails as we need to figure out TT - tirpc lib, rpcgen,
etc.  But it's a start!
2019-10-23 17:34:55 -06:00
Chase
b587eb7bf3 lib/DtSvc: add automake files 2019-10-23 15:34:19 -06:00
wmoxam
de81a5b518 Remove ancient HP VUE compatibility support 2019-10-15 20:32:05 -06:00
Jon Trulson
6a72e2cea8 Change version to 2.3.0a (devel) 2018-09-20 16:49:01 -06:00
chase
5e96644596 DtsMM.c: Remove null in string 2018-08-26 15:44:47 -06:00
Jon Trulson
3d8e76a69f Merge branch 'master' into cde-next
Need to resync before folding current cde-next into master.
2018-07-06 13:19:33 -06:00
Jon Trulson
cf86199b19 Stable release: 2.3.0 2018-07-06 12:05:20 -06:00
Jon Trulson
f446ca54e9 DtSvc/DtUtil1: remove register keyword 2018-06-27 21:58:04 -06:00
Peter Howkins
ba513278b9 libDtSvc: Change to ANSI function definitions 2018-06-28 03:58:49 +01:00
chase
6bf175ef2d Remove apollo support 2018-06-24 16:22:37 -06:00
Jon Trulson
0ec25848e9 cde: change version to 2.2.4a, for a development release 2018-06-08 13:03:39 -06:00
chase
809c3d8bb6 Spelling fixes 2018-05-31 22:23:19 -06:00
Ulrich Wilkens
297b6bd845 Fix warnings on FreeBSD 2018-05-31 22:04:08 -06:00
Ulrich Wilkens
07f272122d Fix Linux rpc problems with new glibc 2018-05-31 18:00:22 -06:00
chase
4f5e7fe5e3 Use POSIX macros for linux 2018-05-24 18:22:55 -06:00
chase
164e695cd0 remove OSF1 support 2018-05-24 14:25:26 -06:00
chase
07900bd93b Remove Unixware and openserver support 2018-05-20 12:13:07 -06:00
chase
8a4f389634 Remove UXPDS support 2018-05-15 20:27:22 -06:00
chase
33d2749ea3 Last of the spelling fixed 2018-04-28 12:36:44 -06:00
chase
6d3a19d8f9 Even more spelling fixed 2018-04-28 12:36:33 -06:00
chase
1fe5a550b2 Fix typo in license headers 2018-04-28 12:30:20 -06:00
Peter Howkins
691dffb076 lidtsvc: coverity fixes 2018-04-12 01:38:02 +01:00
Peter Howkins
acc3d8868a libdtsvc: Resolve coverity warnings related to 'dereference before null check' related to free() 2018-04-02 22:10:46 +01:00
Peter Howkins
b0c5941e3e libdtsvc: Compiler warning prevention 2018-04-02 21:31:50 +01:00
Jon Trulson
a173dd3b3b release: update version to 2.2.4, update HISTORY 2016-06-19 12:46:29 -06:00
Jon Trulson
14b9e2efa3 cde: change revision to 2.2.3 2015-05-09 16:58:46 -06:00
Ulrich Wilkens
8b38d9ea49 Fix broken build on OpenBSD 2015-05-09 16:21:32 -06:00
Peter Howkins
5c8f66a07d libDtSvc: Resolve 28 compiler warnings. 2015-01-14 14:10:55 +00:00
Jon Trulson
775008571d DtSvc/DtUtil1: Coverity (memory corruption, moderate) 2014-12-26 15:56:10 -07:00
Jon Trulson
fa0074904b DtSvc: Coverity (memory corruption) 2014-12-26 14:06:26 -07:00
Jon Trulson
2d89ad036a DtSvc: Coverity (memory corruption) 2014-12-26 14:03:17 -07:00
Ulrich Wilkens
01d6c363fa OpenIndiana and Solaris port 2014-10-28 13:40:11 -06:00
Jon Trulson
8d0551bfda Version change to 2.2.2 2014-07-23 16:16:57 -06:00