1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-13 19:52:20 +00:00
Commit graph

2041 commits

Author SHA1 Message Date
Chase
b46cfa7876 Remove redundant hourglass functions 2020-01-26 12:09:12 -07:00
Jon Trulson
08b6281f60 Add a new contrib/desktopentry-setlang/ mechanism
This was supplied by Antonis Tsolomitis
<antonis.tsolomitis@gmail.com>, and allows you to hardcode a LANG
setting before starting up CDE, if your login manager does not do that
for you.
2020-01-26 11:54:38 -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
ab023dfaed DtSvc: always use vsnprintf
There was code (_DtSimpleError() and _DtSimpleErrornoError()) that
only used snprintf when USE_SNPRINTF was defined, which it never was
of course.  We just remove the 2 checks and always use [v]snprintf.
2020-01-12 17:25:56 -07:00
Jon Trulson
1aaf63f2a0 dtterm, dtsession, dtappgather, dtmail: set correct perms on make install 2020-01-05 20:53:03 -07:00
Jon Trulson
7f4889f348 freetype: redo the way we detect and use
We (configure) relies on freetype-config existing and telling us what
the proper includes and libs are.
2020-01-05 18:11:52 -07:00
Jon Trulson
4d12673147 configure: detect and use jpeg library 2020-01-05 16:27:17 -07:00
Jon Trulson
00dcd9c63d FreeBSD 12: get CDE to build and run
With this patch, CDE (autotools) builds and runs on fbsd 12 now.
fbsd11 should work too, but not yet tested.

You must use gmake - ie:

./configure MAKE=gmake
gmake

Seems all of the BSD's will need to use gmake for now.
2020-01-04 16:26:46 -07:00
Jon Trulson
2f8a2ec066 FreeBSD 12/libDtHelp: fix link errors with missing libjpeg 2020-01-04 14:36:06 -07:00
Jon Trulson
da6f570381 configure: get the language enable options working 2020-01-02 22:14:23 -07:00
Jon Trulson
f246e25e55 configure: fix some bsd issues
1. On OpenBSD, and check is made for only bison or byacc.  yacc is
present, but not usable apparently.  So - need to install bison on the
BSD's.

2. the libjpeg.h check fails as it is located in a non-standard
location (/usr/local) on BSD systems.  Just remove the check for now
until we have a better way to check that stuff (like X11 and Xm
headers too).
2020-01-02 19:20:53 -07:00
Jon Trulson
3b1a54ca81 configure: add some more error checking/reporting for required programs
A list of major things like ksh, cpp, etc are saved in a list if they
are not found.  If this list is non-empty when configure is nearly
done, an error message is displayed listing the missing programs.
This is less annoying than stopping after every missing programs.

Also, removed the X11/Xm header checks for now.  Those need to take
into account X_CFLAGS in some way since these files are located in
dirfferent areas on different OS's (obsd puts them in
/usr/X11R6/include for example).
2020-01-02 18:35:36 -07:00
Jon Trulson
f634c682df configure: make sure X_EXTRA_LIBS and X_PRE_LIBS are accounted for 2020-01-02 18:35:36 -07:00
Peter Howkins
8ae6933a15 Add a few configure checks to make sure various programs and headers
needed for build are available.
2020-01-02 23:59:53 +00:00
Jon Trulson
005c72b917 Merge branch 'master' into autotools-conversion 2019-12-15 15:18:41 -07:00
Chase
008512c777 extra.h: remove unused prototypes 2019-12-15 14:07:52 -07:00
Chase
f28abfe8dd dtksh: remove needless OS defines 2019-12-15 14:07:52 -07:00
Chase
cc73d03e49 dtkcmds.c: avoid c99 collision 2019-12-15 14:07:52 -07:00
Chase
3152b0bc4e dtksh: remove unused files and functions 2019-12-15 14:07:52 -07:00
Jon Trulson
6c0c619df3 configure: set a compiler search option
... and move the PROG_CC and PROG_CXX checks toward the beginning.
Without the move the compiler search arguments are ignored.  We search
for 'cc gcc clang' and 'c++ g++ clang++', in that order for CC and CXX
respectively.

This means there should be no need to override the CC
and CXX variables on the configure command line for BSD systems.

On OpenBSD for example, cc links to clang.  On Linux, cc links to
gcc.  You can still override these if you like with CC=... and
CXX=... on the configure command line.

gmake (MAKE=gmake) still needs to be used on the BSD's though.

With these and previous changes, CDE builds, installs, and runs
correctly on OpenBSD 6.5 now.
2019-12-15 12:47:57 -07:00
Jon Trulson
dd729a7be9 _common.dt.tmsg: remove unportable quote hackery 2019-12-15 12:34:00 -07:00
Jon Trulson
e4e8b323c7 localized: use proper mkcatdefs for the Motif catalogs 2019-12-15 11:20:36 -07:00
Jon Trulson
9b2534efab dtsession: do not hardcode -lcrypt on link 2019-12-14 19:14:52 -07:00
Jon Trulson
617865da94 gencat: get rid of -o option, not needed and not supported on some systems 2019-12-14 19:05:35 -07:00
Jon Trulson
c0a6f6c6e3 configure: fix another bsd related typo 2019-12-14 19:04:22 -07:00
Jon Trulson
c1078e464a dtlogin: build on openbsd 2019-12-14 18:22:49 -07:00
Jon Trulson
d0ce42db9e dtopen/Makefile.am: fix typo in link for pdf handler 2019-12-14 14:21:41 -07:00
Jon Trulson
c0da389d46 configure: first stab at a BSD (openbsd 6.5) build 2019-12-14 14:17:07 -07:00
Jon Trulson
b19aa1b21f dtopen: install symlinked helpers
With this commit, CDE can install and run now.  There are still some
programs/ that are not yet built:

dthelp dtksh dtappbuilder dtdocbook dtinfo nsgmls ttsnoop

and of course documentation (doc/).  But this is a great start.  For
the first time, things build, install, AND run correctly :)
2019-12-04 18:26:32 -07:00
Jon Trulson
973ebf9ed0 library versioning: use proper format and specify for ALL libraries 2019-12-04 18:09:22 -07:00
Jon Trulson
7c81d9d19d programs/Makefile.am: add missing palettes/ dir 2019-12-04 16:36:09 -07:00
Jon Trulson
1b5d18f604 fontaliases: redo the way these are built, and actually install them
Use a common make include file to do most of the work and set the
appropriate LANG from localized/templates/ .  This should simplify it
quite a bit and reduce duplication.

Also we were not even installing them, so now we are.
2019-12-04 15:47:28 -07:00
Jon Trulson
25035724af cpp revisited: look for a cpp binary in various locations for use at runtime
Certain programs like dtlogin and tt_type_comp need access to the
system's cpp command to process certain files at runtime.  tradcpp is
not installed on most systems, and is intended for use as a imake-cpp
replacement which is all we are using it for.  We still need an
honest cpp for the CDE components to use.

Now, we look in various places for a 'cpp' command and set CPP_COMMAND
to it's value.  This way tt_type_comp and other CDE programs can do
required processing at runtime.
2019-12-04 14:28:44 -07:00
Jon Trulson
65ce14c419 dtwm: don't install Dtwm.defs - that is processed/handled by localization 2019-12-04 13:43:18 -07:00
Jon Trulson
7364f62ce8 icons: install in proper C/ subdir 2019-12-04 13:22:11 -07:00
Jon Trulson
21cf53c0d0 Fix palette and backdrops installation in dt/shared with proper symlinks 2019-12-04 13:21:31 -07:00
Jon Trulson
ec8f4b7464 tradcpp: upgrade to 0.5.3 2019-12-03 18:13:27 -07:00
Jon Trulson
15dfdf231a dtsession/SrvPalette.c: delete trailing whitespace 2019-12-03 17:14:32 -07:00
Jon Trulson
eb986d8018 dtsession/SrvPalette.c: fix bogus error handling when selection is lost 2019-12-03 17:10:35 -07:00
Jon Trulson
48dd0a54f3 dtlogin/dtsession: fix up some script perms, add proper OS defines 2019-12-03 14:06:18 -07:00
Jon Trulson
005c328779 dtlogin: set correct OS defines for Xsession, fix linux maildir 2019-12-03 13:07:19 -07:00
Jon Trulson
0d69a14ab3 videoTypes.dt: remove duplicate LABEL in Print action 2019-12-03 13:06:21 -07:00
Jon Trulson
8c19b67032 dtsession: add missing dtsession_res script 2019-12-02 23:02:08 -07:00
Jon Trulson
6f27da77d9 dtwm: fix installation 2019-12-02 23:01:08 -07:00
Jon Trulson
751e85d877 dtlogin: fixup some of the options 2019-12-02 23:00:16 -07:00
Jon Trulson
ce02cc49d6 dtlogin: install Xsession properly 2019-12-02 22:13:39 -07:00
Jon Trulson
cdc9eae583 Get tttypes installed correctly.
There is a problem with CPP_PROGRAM - using $CPP or $GENCPP (tradcpp)
always fails in tt_type_comp with the error:

"nclude ", line 8: syntax error

If I define it to /lib/cpp (previous hardcoded value) then it seems to
work fine.  Only the dtinfo and dtinfo_start ptypes use #include, and
therefore show this error.  Needs investigation.
2019-12-02 19:59:44 -07:00
Jon Trulson
0cc0766cbd Get the dt types installed properly on make install 2019-12-02 19:31:02 -07:00
Jon Trulson
c6b31ebd5f Get the palettes installed properly on make install 2019-12-02 19:20:36 -07:00
Jon Trulson
e479b2082b Get the message catalogs installed properly on make install 2019-12-02 19:06:31 -07:00