Commit Graph
100 Commits
Author SHA1 Message Date
Jon Trulson 39d3a67701 Create a toplevel delete-later dir and put databases/ and admin/ into it 2021-07-03 19:30:22 -06:00
Jon Trulson 7961d9e2da Rename admin dir to admin-delete-later so it is clear this will also be removed eventually 2021-07-03 19:28:31 -06:00
Jon Trulson 51646fb06a programs/: remove Imakefiles for completed modules 2021-07-03 19:12:43 -06:00
Jon Trulson 7aa24b086a programs/localized: delete Imakefiles and imake templates 2021-07-03 19:01:28 -06:00
Jon Trulson df0392fc25 dthelp/parser.ccdf: delete never used module 2021-07-03 18:34:31 -06: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 727baab329 Bump version to 2.4.0a for upcoming merge 2021-07-03 17:24:22 -06:00
Jon Trulson 5a03b6a5e8 Merge branch 'master' into autotools-conversion 2021-07-03 16:56:54 -06:00
Jon Trulson 8e4de15495 Bump version to 2.4.0 for release 2021-07-03 13:35:15 -06:00
Jon Trulson 512dabe2ad CONTRIBUTORS: update with git log 2021-07-03 13:34:24 -06:00
Jon Trulson 785bc4a512 HISTORY: update for 2.4.0 release 2021-07-03 13:22:02 -06:00
Jon Trulson 3b9d5b95ae README: fix clone instructions to no longer require --recursive 2021-07-03 13:01:53 -06:00
Jon Trulson ae70af254e dthelp: disable parallel builds in parser/canon1 too 2021-07-02 20:44:15 -06:00
Jon Trulson 4338ac2e2a Merge branch 'master' into autotools-conversion 2021-06-26 15:06:38 -06:00
Jon Trulson 0270f93a68 Removed .gitmodules 2021-06-26 14:53:02 -06:00
Jon Trulson 9c3002a06f Merge commit 'c9b86876044cdce95730ea2c6a2af65e06a86125' as 'cde/programs/dtksh/ksh93' 2021-06-26 14:53:01 -06:00
Jon Trulson 2e1f8ae435 Removed cde/programs/dtksh/ksh93 submodule at commit 66e1d446429543be0f9d47d9364e472932dc53f1 2021-06-26 14:53:01 -06:00
Jon Trulson c9b8687604 Squashed 'cde/programs/dtksh/ksh93/' content from commit 66e1d4464
git-subtree-dir: cde/programs/dtksh/ksh93
git-subtree-split: 66e1d446429543be0f9d47d9364e472932dc53f1
2021-06-26 14:53:01 -06:00
Jon Trulson 94691f462e Removed .gitmodules 2021-06-26 13:39:32 -06:00
Jon Trulson cd6da32f7f Merge commit '12bbb66931feaac778ef4e47b67375ec9b58e839' as 'cde/programs/dtksh/ksh93' 2021-06-26 13:39:31 -06:00
Jon Trulson 12bbb66931 Squashed 'cde/programs/dtksh/ksh93/' content from commit 66e1d4464
git-subtree-dir: cde/programs/dtksh/ksh93
git-subtree-split: 66e1d446429543be0f9d47d9364e472932dc53f1
2021-06-26 13:39:31 -06:00
Jon Trulson 456abe8415 Removed cde/programs/dtksh/ksh93 submodule at commit 66e1d446429543be0f9d47d9364e472932dc53f1 2021-06-26 13:39:26 -06:00
Jon Trulson c489af6b3b utils/merge: re-fix include issue 2021-06-02 20:43:06 -06:00
Jon Trulson f294ee03b8 bilP.h: re-fix include issue with bil_parser.h 2021-06-02 20:24:14 -06:00
Jon Trulson 2a3e91383b autotools: get the PAM support from master working on linux and freebsd 2021-06-02 19:57:23 -06:00
Jon Trulson a277fcb340 configure.ac: add AM_CONDITIONALS() for riscv and aarch64 2021-06-02 19:57:23 -06:00
Jon Trulson afbf39af01 dthelp/parser/pass2: disable parallel builds for this module 2021-06-02 19:57:23 -06:00
Jon Trulson 6f0d93678a dtpdmd: fixup for autotools and new MsgCat.c 2021-06-02 19:57:23 -06:00
Jon Trulson 75bf61c584 localized/util: fixup for autotools and new MsgCat.c 2021-06-02 19:57:23 -06:00
Jon Trulson ffa8c98d32 dtsr: fixup for autotools and new MsgCat.c 2021-06-02 19:57:23 -06:00
Jon Trulson 0bfa26f14f dtdspmsg: fixup for autotools and new MsgCat.c 2021-06-02 19:57:23 -06:00
Jon Trulson b5cc42e029 Apply a patch from Roger Brown for risc-v and other minor fixes
Summary:

cde/config/cf/DtInfo.tmpl - add RISCVArchitecture as little endian
cde/config/cf/Imake.cf    - add AArch64Architecture for NetBSD
cde/config/cf/Imake.cf    - add RISCVArchitecture for Linux
cde/config/cf/linux.cf    - add RISCVArchitecture bit order
cde/lib/DtHelp/Imakefile  - add -ljpeg for OpenBSD
2021-06-02 19:57:23 -06:00
Jon Trulson c7c054496b .gitignore: update for PAM changes 2021-06-02 19:57:23 -06:00
Jon Trulson 44307f85da debin/control: add libpam and libutempter 2021-06-02 19:56:30 -06:00
Jon Trulson 49adbfb25d Bump devel version to 2.3.2c 2021-06-02 19:56:30 -06:00
Jon Trulson 35c35d2b3c FreeBSD.cf,DragonFly.cf: disable PAM support by default
These system can support PAM, but it requires a port of the NetBSD
module to do so.  As a result, this support is disabled by default.

See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253073 for a
patch to add this support to the OS.  Then you can set HasPamLibrary
to YES in the respective .cf files, rebuild CDE, and try it out.
2021-06-02 19:56:29 -06:00
Jon Trulson 1f35dd82e6 NetBSD.cf: add a link comment to list package needed for PAM support 2021-06-02 19:56:29 -06:00
Jon Trulson 297918bb56 dtprintinfo: try to mitigate some stupid in ParseJob.C for sun
Marco Ivaldi pointed me to some unsafe code in ParseJob.c.  I do not
have a sun machine (well, not currently operational anyway), so the
code is not tested.  But seriously, this is some horrible code.  This
local parser for sun needs to be rewritten!
2021-06-02 19:56:28 -06:00
Jon Trulson 14eb374e0a .gitignore: Add some MsgCat.c generated files 2021-06-02 19:56:26 -06:00
Jon Trulson 7b79d810eb dthelp/parser: disable parallel building 2021-06-01 18:23:46 -06:00
Jon Trulson 9f5021a81f pm_randon.h: fix conversion warning (int to float) 2021-06-01 18:23:46 -06:00
Jon Trulson e8345c9241 autotools: specify tirpc lib to link the tooltalk binaries
Newer ubuntu's do not seem to honor the implied library dependency of
libtt->libtirpc, so we must explicitly specify libtirpc when linking
them.
2021-06-01 18:23:46 -06:00
Jon Trulson 248c75515e libDtTerm: fixes to build in autotools branch for freebsd 2021-06-01 18:23:46 -06:00
Jon Trulson 487305f7cf dtappbuilder: fixes to build in autotools branch for freebsd 2021-06-01 18:23:37 -06:00
Jon Trulson a5da0c39db Apply a patch from Roger Brown for risc-v and other minor fixes
Summary:

cde/config/cf/DtInfo.tmpl - add RISCVArchitecture as little endian
cde/config/cf/Imake.cf    - add AArch64Architecture for NetBSD
cde/config/cf/Imake.cf    - add RISCVArchitecture for Linux
cde/config/cf/linux.cf    - add RISCVArchitecture bit order
cde/lib/DtHelp/Imakefile  - add -ljpeg for OpenBSD
2021-05-30 16:24:51 -06:00
Jon Trulson 072d289a5e .gitignore: update for PAM changes 2021-05-30 16:16:44 -06:00
Jon Trulson b70be7b188 debin/control: add libpam and libutempter 2021-05-30 15:54:11 -06:00
Jon Trulson 616dd16c70 Bump devel version to 2.3.2c 2021-05-30 14:54:23 -06:00
Jon Trulson 0ffd6762d7 FreeBSD.cf,DragonFly.cf: disable PAM support by default
These system can support PAM, but it requires a port of the NetBSD
module to do so.  As a result, this support is disabled by default.

See https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253073 for a
patch to add this support to the OS.  Then you can set HasPamLibrary
to YES in the respective .cf files, rebuild CDE, and try it out.
2021-05-22 12:50:25 -06:00
Jon Trulson 2634630dd6 NetBSD.cf: add a link comment to list package needed for PAM support 2021-05-22 12:49:36 -06:00
Jon Trulson 512269a330 dtprintinfo: try to mitigate some stupid in ParseJob.C for sun
Marco Ivaldi pointed me to some unsafe code in ParseJob.c.  I do not
have a sun machine (well, not currently operational anyway), so the
code is not tested.  But seriously, this is some horrible code.  This
local parser for sun needs to be rewritten!
2021-03-14 14:51:54 -06:00
Jon Trulson cdffbc9b69 videoTypes.dt: remove duplicate LABEL field 2021-02-28 21:03:18 -07:00
Jon Trulson fc1befe8d9 .gitignore: Add some MsgCat.c generated files 2021-01-31 18:31:06 -07:00
Jon Trulson d2945db4cc ksh93: update to 66e1d446 from autotools branch 2021-01-31 16:15:25 -07:00
Jon Trulson 37eba21c97 dtksh: disable parallel builds
This module will crash on multicore builds, so disable that for dtksh
until we can investigate and fix, if possible.
2021-01-31 13:43:28 -07:00
Jon Trulson d9a8325c8d Disable Japanese locale support since we do not currently support it
make distclean ignores the language definitions, as it should.

However, we had options that suggested that the Japanese locale was
supported.  Distclean would decend into that locale directory and
fail, since of course we do not actually support that locale and it is
not currently buildable.
2021-01-31 13:11:41 -07:00
Jon Trulson 1fad87f7bd ksh93: re-add the ksh submodule at 47468f 2021-01-30 19:12:43 -07:00
Jon Trulson 1941713a36 Remove no longer needed Makefile.am for ksh 2021-01-30 19:09:26 -07:00
Jon Trulson ece5c0ea14 Merge branch 'master' into autotools-conversion
Lost the ksh93 submodule so will re-add in a later commit.
2021-01-30 19:04:10 -07:00
Jon Trulson 6245f4fe7a README: update clone instructions 2021-01-30 17:12:10 -07:00
Jon Trulson eb381022a5 Change version to 2.3.2b for the new ksh93 submodule merge 2021-01-30 16:32:41 -07:00
Jon Trulson 6539c8c71a ksh93: re-add the ksh submodule at 47468f 2021-01-23 18:40:40 -07:00
Jon Trulson 047cefcf32 Merge branch 'master' into master-ksh93-upgrade 2021-01-23 18:31:28 -07:00
Jon Trulson 007b6fa023 udbParseLib.awk: comment out some uneeded commands that cause warnings now 2021-01-15 19:06:38 -07:00
Jon Trulson e18e2480dc dthelp parser htag1: add new global.c from master 2020-11-24 17:03:14 -07:00
Jon Trulson 90e61dda5f Merge branch 'master' into autotools-conversion 2020-11-24 16:53:24 -07:00
Jon Trulson b21968f26a fix broken dev version number: 2.3.1a -> 2.3.2a 2020-11-23 17:01:37 -07:00
Jon Trulson 2b338e4241 dtdocbook/xlate_locale: add proper include for strcmp 2020-09-08 08:44:19 -06:00
Jon Trulson ebc283a2a7 Merge branch 'master' into autotools-conversion 2020-09-07 18:20:13 -06:00
Jon Trulson 29ddc05827 dthelp/parser/pass1: disable parallel builds due to occasional failures 2020-09-07 17:50:40 -06:00
Jon Trulson cc12058502 dtdocbook: make it build under autotools
Remove a pile of old SGML stuff we no longer need in dtdocbook since
we use NSGMLS.

Use some TCL macros from m4/tcl.m4 to loacate and use information in
the tclConfig.sh script installed with TCL.  I had to modify it to
export TCL_INCLUDE_SPEC, which was present but not imported.
2020-09-07 17:43:01 -06:00
Jon Trulson 43bda68f69 configure.ac: Add TCL detection 2020-09-07 14:31:00 -06:00
Jon Trulson e5914dd108 dtappbuilder/src/ab: disable parallel builds
Due to the way dtcodegen works, we can't use parallel builds (-j) in
this directory without corrupting things and generating build errors.
2020-09-05 16:20:13 -06:00
Jon Trulson c7907f4f19 .gitignore: add dthelp parser/pass1 files 2020-05-25 12:31:20 -06:00
Jon Trulson 6da55905ec dthelp/parser/pass1: get it to build
So this is going to be tricky/painful getting this parser fully
operational.  It's pretty hairy with various interdependencies and
generated code.

It's rather complicated how each sub dir depends on the previous one.
Also, the parser subdir has dependencies on the helptag subdir, and
vice-versa, so some hackery was needed to get that to work.

Due to the wierd interdepencencies between helptag and parser,
we disable parallel builds there.

This is some really horrible code and design - not surprising since it
dates to 1989.

I think it should just be removed -- who can maintain or refactor this
code?

Also, dthelp_htag1 is now built in pass1/parser/, not in
pass1/helptag/ as it used to be.
2020-04-21 15:40:05 -06:00
Jon Trulson 349802ddd3 dthelpprint: make it build. 2020-04-13 16:21:27 -06:00
Jon Trulson b64d91d5a9 app-defaults, config, types: re-enable parallel builds
With a fixed merge utility, we can run these builds in parallel now
without random corruption of the message files.
2020-03-24 18:44:40 -06:00
Jon Trulson 3d217c6ed1 merge: fix to use per-proc filenames rather than hardcoding them
The localized/utils/merge utility used hardcoded temporary filenames
to do its thing.  This prevented any Makefiles that called merge from
enabling parallel builds in order avoid the file collisions that would
result.

Now we:

- use filenames that embed the PID in them, making them unique
  per-process
- place them in /tmp, rather than the current directory

As a result, we can now re-enable parallel builds for localized
app-defaults, config, and types.
2020-03-24 18:43:11 -06:00
Jon Trulson f5c3c5d7a2 .gitignore: add config numbered session files 2020-03-24 18:43:03 -06:00
Jon Trulson 255b399760 appmanager action files: create and populate them
The appmanager action files (/usr/dt/appconfig/appmanager/*) are now
created properly for the main 4 languages supported.  As usual, the
en_US.UTF-8 locale is a symlink to C.

These files were previously created via the UDB database files via
imake.  Obviously we aren't going to be using those in autotools.

So, each language now has an appmanager/ dir in
programs/localized/$LANG/ that will create them properly on a make and
make install.  It uses a new appmgr.am template in localized/templates
to do this.

This also means all of these languages now can use the new actions
added by Antonis, even though they are not translated, they are at
least usable in those languages now.
2020-03-24 18:41:55 -06:00
Jon Trulson 316ab9c9db tt: fix link order for tt_type_comp and dbck
These caused link errors on Gentoo, maybe other systems.

Patch by Peter G.
2020-03-24 11:34:51 -06:00
Jon Trulson 137bbf383e dthelp: get parts of it building.
This was a patch from Peter G, though modified a bit regarding the
LDADDs the way we do them now.
2020-03-23 13:51:01 -06:00
Jon Trulson dcda29d67a dthelpdemo: remove old Makefile.SUN, .IBM, and .HP 2020-03-23 13:44:34 -06:00
Jon Trulson 11b9c30ace Build nsgmls
Patch from Peter G.

Note, this is temporary - eventually we will want to use the system
nsgmls/onsgmls to handle this and remove our ancient copy of nsgmls.
2020-03-23 13:31:34 -06:00
Jon Trulson b649ef98b1 configure: enable building of nsgmls and parts of dthelp
Patch by Peter G.
2020-03-23 13:27:06 -06:00
Jon Trulson 5852c4742f Fix erroneous uses of ${prefix} rather than $(CDE_INSTALLATION_TOP)
Some Makefiles use prefix when they should be using
CDE_INSTALLATION_TOP.

Patch by Peter G.
2020-03-23 13:10:07 -06:00
Jon Trulson a6e78364d0 Use bindir in install hooks rather than CDE_INSTALLATION_TOP
Patch supplied by Peter G.
2020-03-23 13:00:54 -06:00
Jon Trulson 11af2add7e Merge branch 'master' into autotools-conversion 2020-03-23 12:55:32 -06:00
Jon Trulson 15a2032626 Convert uses of XKeycodeToKeysym (deprecated) to XkbKeycodeToKeysym
patch supplied from Peter G.
2020-03-23 12:51:18 -06:00
Jon Trulson 8f2fe85639 Merge branch 'master' into autotools-conversion 2020-03-22 19:09:58 -06:00
Jon Trulson 6f1a110e1d dtksh: fix 32b/64b issues with XmTextGetString and XmTextFieldGetString
Some of these functions were returning pointers cast as integers,
which of course is bad on a 64b LP64 systems.

This code should probably just be refactored at some point.  There may
be other hidden issues, and all the casting just sucks.
2020-03-09 15:37:59 -06:00
Jon Trulson 83ef13af18 desktopentry/README: Clarify that the login manager is responsible for setting language 2020-02-08 16:16:13 -07:00
Jon Trulson 2a2c412e2e Revert "Add a new contrib/desktopentry-setlang/ mechanism"
This reverts commit 08b6281f60.

The Login manager is reponsible for setting the correct language
(LANG, etc) information before starting a CDE session.
2020-02-08 16:12:31 -07:00
Jon Trulson 04b2d175aa SrvPalette.c: missed a merge conflict in SrvPalette.c 2020-01-26 12:22:09 -07:00
Jon Trulson 313b4a8e0b Merge branch 'master' into autotools-conversion 2020-01-26 12:17:44 -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