Commit Graph
91 Commits
Author SHA1 Message Date
Jon Trulson fdcbdbe0d0 re-enable building of dtmail, except on OpenBSD 2012-08-11 19:26:04 -06:00
Jon Trulson f5a8836bff historical: mv some old files that we want to preserve out of the top level
Some of these older files just clutter up things and do not contribute
much information that is not historical in nature, so preserve them
in an out of the way location.
2012-08-10 07:17:27 -06:00
Jon Trulson 8b67d1ccba New top level README from Christopher Turkel <turkelchris@aol.com> 2012-08-10 06:09:53 -06:00
Jon Trulson b9ae3ae76e OpenBSD.cf, from Pascal Stumpf 2012-08-10 05:37:12 -06:00
Jon Trulson f8e046ee33 Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2012-08-09 12:56:25 -06:00
Jon Trulson 1f332de27b Use socklen_t where available.
Patch from <Pascal.Stumpf@cubes.de>

This should use socklen_t where available, really ...
2012-08-09 12:27:58 -06:00
Jon Trulson 686bcfadc7 Use SIGCHLD rather than SIGCLD.
Patch from Pascal Stumpf <Pascal.Stumpf@cubes.de>

The official POSIX name for this signal is SIGCHLD.  Linux probably
has SIGCLD only for SysV compatibility, but BSD does not.
2012-08-09 12:24:56 -06:00
Jon Trulson 0d2f7866ac At least on OpenBSD/amd64, this macro returns a bogus value if its argument is NULL.
Patch from Pascal Stumpf <Pascal.Stumpf@cubes.de>

So check for this first like the other macros in this file do, and
don't cast an istring to int.
2012-08-09 12:21:43 -06:00
Jon Trulson 491ff2228f Deal with the fact that modern compilers assume different scoping rules
Patch from Pascal Stumpf <Pascal.Stumpf@cubes.de>:

So here are all the patches that deal with the fact that modern
compilers assume different scoping rules for variables declared in for
loops.  On Linux, -fpermissive has been added as a compiler flag to
compensate for this old C code, but I think it is the wrong approach.

Sorry, couldn't help sneaking in a || defined(CSRG_BASED) and some casts
needed for other reasons ...
2012-08-09 12:18:30 -06:00
Jon Trulson 1bb40f1f0b This adds the basic config bits needed for OpenBSD.
Patch from Pascal Stumpf <Pascal.Stumpf@cubes.de>

Most is just copied from the existing imake installation in
/usr/X11R6.  Additionally:

* Allow overriding CDESharedRev, X11ProjectRoot and ProjectRoot
* Add a new define to be able to override MINCLUDESRC too

(this allows me to build CDE without symlinking any include directories)
2012-08-09 12:11:13 -06:00
Jon Trulson 70e1c5a55a dtaction: Fix unsafe use of sprintf
Patch from Robert Tomsick <robert+cde@tomsick.net>:

I believe this fixes vulnerability #3 from CERT CA-1999-11.[1]  The other
uses of sprintf in DtAction seem to be safe.

[1] https://www.cert.org/advisories/CA-1999-11.html
2012-08-08 20:17:17 -06:00
Jon Trulson 4ac42dd84f dtterm - minor warning fixes
Patch by Robert Tomsick <robert+cde@tomsick.net>
2012-08-08 20:09:40 -06:00
Jon Trulson facb50dfde DtSvc: Fixes a segfault on Debian squeeze 64 bit and most probably other systems, too.
Patch from Marc Balmer <marc@msys.ch>:

Use strlen, not sizeof, here.  Fixes a segfault on Debian squeeze 64 bit
and most probably other systems, too.
2012-08-08 12:45:40 -06:00
Jon Trulson 0f313d1cb8 libtt: "%wc" is Microsoft extension, not supported in every Std C Library.
Patch from Douglas Mencken <dougmencken@gmail.com>:

"%wc" is Microsoft extension, not supported in every Std C Library. So
if we don't want to print "%wc%wc%wc%wc%..." instead of real chars, we
shall not use it.

Before:

%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]:
_Tt_s_session::s_init(): 1051 (TT_ERR_INTERNAL)!
%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]: waitpid():
No child processes
%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wc%wcession[28326]: child
ttsession exited with status 1

After:

/usr/dt/bin/ttsession[12397]: _Tt_s_session::s_init(): 1051 (TT_ERR_INTERNAL)!
/usr/dt/bin/ttsession[12397]: waitpid(): No child processes
/usr/dt/bin/ttsession[12397]: child ttsession exited with status 1
2012-08-08 12:35:49 -06:00
Jon Trulson f9c2b3184e DtSvc/dtwm: Fix some implicit declarations of functions by adding appropriate
Patch from Frederic Koehler <f.koehler427@gmail.com>:

These implicit definitions cause segfaults on x64 because
the implicit return type is a 32-bit signed int, rather than a pointer
type.
2012-08-08 11:47:18 -06:00
Jon Trulson a26b73a1a6 dtwm: Define a final fallback for loading default window manager font
Patch from Frederic Koehler <f.koehler427@gmail.com>:

Define a final fallback for loading default window manager font;
before exiting, forcefully try to load "fixed" font. This is sufficient
to allow systems where fontList is set to an empty list to startup dtwm,
for now.
2012-08-08 11:39:29 -06:00
Jon Trulson b49872206b libtt: Avoid an infinite loop in ttsession (tooltalk daemon) when /etc/mtab is a symlink, using lstat instead of stat.
Patch from Frederic Koehler <f.koehler427@gmail.com>
2012-08-08 11:36:03 -06:00
Jon Trulson a7562a8009 dtlogin: don't try to use /dev/mem to get random data on linux/bsd
dtlogin's genauth routines were trying to open and read /dev/mem on
linux and (presumably) bsd systems in order to obtain random data used
in creating an auth key.

This is bad for a variety of reasons.  Newer linux kernels (at least
on 3.2) issue the following warning to the kernel logs:

"Program dtlogin tried to access /dev/mem between 100000->102000."

Now on linux we will use /dev/urandom, and on CSRG_BASED (bsd) systems
we will use /dev/random to obtain some entropy.
2012-08-07 23:22:44 -06:00
Jon Trulson 91011085a4 dtdbcache: remove incorrect comment block and tmpnam_buf var (not used)
With Aaron's fixes to dtdbcache fixing a potential coredump, the
comment block in the write_db() function regarding tmpnam() no longer
applies, and the tmpnam_buf variable is no longer used.

So, remove them :)
2012-08-07 17:43:32 -06:00
Jon Trulson 80f456e3b5 dtdbcache: Remove old code in comments
Patch from Aaron W. Hsu <arcfide@sacrideo.us>
2012-08-07 16:56:11 -06:00
Jon Trulson 04b366b09c dtdbcache: Use mkstemp() instead of tmpnam() to avoid bad interactions
Patch from Aaron W. Hsu <arcfide@sacrideo.us>
2012-08-07 16:52:26 -06:00
Jon Trulson f42fa885be Fix SIGSEGV while compiling dthelp on 64 bit systems.
Patch from Ulrich Wilkens <mail@uwilkens.de>

I have a little patch for a problem that I found when I tried to
compile dthelp on 64bit FreeBSD. It could also be a problem on other
64bit systems.  The problem is that the program context compiles but
fails running with segmentation fault.

context uses the function m_malloc() which is missing a correct
prototype sometimes. Then it's treated to return int instead of void *
. On 64bit systems this cuts off the higher 32 bits because void * is
64bit whereas int is only 32bit.
2012-08-06 22:42:34 -06:00
Jon Trulson e47bffb106 Imake.cf/linux.cf: Add arm support.
Patch from IRC user wschaub.
2012-08-06 22:38:54 -06:00
Jon Trulson 606df517f0 dtprintinfo: Fix SIGSEGV in dtprintinfo (passing NULL as first argument to catgets).
Patch from Douglas Mencken <dougmencken@gmail.com>:

The issue is that MESSAGE tries to invoke catgets with NULL first
parameter, which is dereferenced inside catgets (Std C Library
function) without checking, from catgets.c source:

if (catalog->name_ptr[idx + 0] == (u_int32_t) set
          && catalog->name_ptr[idx + 1] == (u_int32_t) message)

On the other hand, there's a special value: -1 (cast to nl_catd),
which must be used instead of 0 (NULL) in the case when we are unable
to provide real catalog_desc, from catgets.c source:

  /* Be generous if catalog which failed to be open is used.  */
  if (catalog_desc == (nl_catd) -1 || ++set <= 0 || message < 0)
    return (char *) string;
2012-08-06 17:12:38 -06:00
Jon Trulson 1a03c25947 Enable PowerPC to be recognized by build.
Patch from Douglas Mencken.
2012-08-06 17:09:01 -06:00
Jon Trulson 4c82b51daf programs/Imakefile: don't try to build dtksh or dtinfo under linux. 2012-08-03 23:10:12 -06:00
Jon Trulson 4553d912b0 dtlogin: Fix up Options->Language menu
In dtlogin, you can select the language to switch to by selecting it
via Options->Language.  Unfortunately this was also including '.' and
'..', since this list is built dynamically by scanning a directory.

Now we screen out '.' and '..'.
2012-08-03 17:38:06 -06:00
Jon Trulson 94c826e1f4 gitignore: add rest of generated files. git status is much cleaner now :) 2012-08-03 15:57:06 -06:00
Jon Trulson cf410afbdb dtbuilder: fixup TOG copyrights issue in generated files.
The TOG copyrights were being removed after a rebuild, leaving behind
the scary "RESTRICTED" copyright text that was originally there.

The issue was that the TOG copyrights were not properly embedded
within a 'DTB_USER_CODE_START' code block.

dtcodegen does not preserve any code outside DT_USER_CODE START and
END blocks.

Additionally, these objects are built with -merge by dtcodgen, so the
existing 'RESTRICTED' header within the codeblocks was being retained.
2012-08-03 15:06:56 -06:00
Jon Trulson 6e4c5a5cde lnxLib.tmpl: remove bogus '#define NoMessageCatalog'
It is amazing what mayhem can be caused by a bad define :)

The reason most of the CDE programs were not actually using their
localized catalogs was because their use was being disabled by this
line.

Certain programs like dtwm and dthelp/libDtHelp did their own
localization handling and did not use the results of this define.
This is why they worked properly, and most everything else did not :)
2012-08-02 19:16:04 -06:00
Jon Trulson 344998b405 linux.cf: do not bother using X_LOCALE at all. We do not need it on linux. 2012-08-02 19:15:20 -06:00
Jon Trulson 5e6b400c3c libtt: client init(): use fcntl F_SETFD correctly. 2012-07-27 19:17:14 -06:00
Jon Trulson 80559fcfdd dtwm: add missing workspace 'Occupy" commands to the C, de, es, fr, and it locales.
The dtwm DefaultWindowMenu did not list any of the workspace enabled
Occupy commands, which makes it a bit difficult to move windows into a
workspace, or to occupy multiple workspaces.

This was rectified by copying the relevant lines from the
SampleWindowMenu sections containing them that already existed in the
localized files.  Tested on C and DE (German).
2012-07-24 21:21:27 -06:00
Jon Trulson f3be236767 Dtwm.defs.src: set proper mail file path for linux 2012-07-24 20:48:43 -06:00
Jon Trulson 427c1035d3 copy CONTRIBUTORS file into /usr/dt/ during install 2012-07-24 18:49:11 -06:00
Jon Trulson e59c21b8ff Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2012-07-24 18:46:29 -06:00
Jon Trulson 56d6a7a2c9 CDE-MIN: copy the 'COPYING' file to /usr/dt/ on install 2012-07-24 18:15:09 -06:00
Jon Trulson ff0dc919ed localized/templates: remove remaining attempts at building dtinfo related catalogs and other files
Attempts were still being made to build dtinfo.cat and other related
dtinfo files.  This could cause build failures in
programs/localized/...
2012-07-24 17:53:57 -06:00
Jon Trulson 3edce2a0c0 sys.resources.src: make HIGH_COLOR the default 2012-07-24 17:51:29 -06:00
Jon Trulson 978aff3dc9 Commit the template changes for the locales including the missing msg files. 2012-07-16 19:52:36 -06:00
Jon Trulson d3eba56a0c Add missing Mrm, Xm, and Uil .msg files for the various locales from the motif src.
Re-enable building them in the Imakefiles.
2012-07-16 19:49:28 -06:00
Jon Trulson bc9c6af8c6 Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2012-07-16 14:26:53 -06:00
Jon Trulson 7604468ca1 instant: change warning message to fatal message, since it is. 2012-07-13 22:26:02 -06:00
Jon Trulson a933d4b600 instant: partially revert commit bc96e6f1ff. remove 'HACK' :)
instant should fail if the locale xlation db cannot be opened.

The reason this was failing was because the locale translation DB for
linux did not exist (Linux.lcx).  I didn't add it until weeks/months
later :)

There needs to be one for each platform called "$(uname -s).lcx".
FreeBSD will need one too.
2012-07-13 22:15:58 -06:00
Jon Trulson bf51c110e5 dtmail: IO.C: just compare against \r on all systems 2012-07-13 21:45:46 -06:00
Jon Trulson 860aa64942 Fix some minor issues and re-enable building of DE, ES, FR, and IT locale data (help and message cats)
Note, there are still some issues with certain programs appearing not
to use their localized message catalogs properly, while others work
fine.

Also, in order to build these now, you need to make sure you have
installed the DE, ES, FR, and IT locales before building or you will
get failures.  On [k]ubuntu, at least, you can install these with the
following commands:

sudo locale-gen de_DE
sudo locale-gen es_ES
sudo locale-gen fr_FR
sudo locale-gen it_IT
2012-07-13 17:42:12 -06:00
Jon Trulson 75f2f96793 libDtHelp: fix up some warnigs and potential overruns 2012-07-12 18:03:54 -06:00
Jon Trulson aeaec445ee DtSvc/DtUtil1/Saver.c - fix the screen savers.
I have no idea how their putenv code can work.  Anyway, use code that
works on linux now. :)
2012-07-12 15:14:51 -06:00
Jon Trulson 1c733e5b16 dtsession: implement screen lock/unlock for linux
In order for this to work, dtsession must be setuid root.  If
dtsession is not setuid root, then locking will be disabled, and a
message will be written to ~/.dt/errorlog with the message: "Unable to
lock display due to security restrictions".
2012-07-12 14:22:59 -06:00
Jon Trulson 9c92d5a4ee dtsession: SmUI.c: fix ancient typo 2012-07-12 13:31:54 -06:00
Jon Trulson f46a9c62b9 dtsession: also block HUP and PIPE when preparing to shutdown 2012-07-12 13:13:21 -06:00
Jon Trulson dc5d68afba dtsession: don't exit while processing your own session exit event.
Setup a global that protects against accidentally exiting
while doing session exit related housekeeping.
2012-07-12 13:09:22 -06:00
Jon Trulson 669f064819 Converted postscript documentation to pdf, moved to a better place.
The new PDF's are located in doc/C/pdf, and the original postscript
files in doc/postscript have been removed.
2012-06-27 12:21:52 -06:00
Jon Trulson 8f6700b0d9 fontaliases: add more robust font.aliases file.
Note, this requires that the xfonts-100dpi and
xfonts-100dpi-transcode[d] packages be installed.  Kubuntu 11.10 calls
the transcoded package 'xfonts-100dpi-transcoded' while 12.04 calls it
'xfonts-100dpi-transcode'

You can also use the 75dpi variants if you wish, though they will look
crappy on larger monitors (>1024x768).
2012-06-21 18:30:40 -06:00
Jon Trulson 191e1849a6 dtlogin|Xsession/config: setup some env variables and fontpath for linux (and CSRG) systems.
What we really need are more fonts installed, like all of the xf 75dpi
and 100dpi fonts.  100dpi looks much better than 75/72 dpi, especially
on any display larger than 1024x768.  Of course, in the far future, we
should use the anti-aliased TT fonts everyone else uses these days
anyway.
2012-06-21 18:05:24 -06:00
Jon Trulson 4b80191943 fonts.alias: use Peters version in the CDE wiki for now. 2012-06-21 17:30:56 -06:00
Jon Trulson ba54c6271b Add fontaliases/linux/ dir, and appropriate entries in the CDE-FONT.udb database.
Note, these still aren't quie working yet.  Notably, font.dir needs to
be generated properly and re-committed so they will be used.
mkfontdir is used to do this, but currently it fails on these
font.alias files (does not recognize them).
2012-06-21 17:07:21 -06:00
Jon Trulson 52360a2cb6 Xsession.src: setup proper cpp_* defines for linux 2012-06-21 17:05:37 -06:00
Jon Trulson 89b98f4ef6 dtfile: add freetype includes to Imakfile
While removing the CCLINK options, accidentally removed freetype
includes, causing dtfile to fail to build.
2012-06-20 14:25:41 -06:00
Jon Trulson f8b5b2fd2a Fix dtsession_res so certain config/xrdb options will work properly. 2012-06-20 01:37:05 -06:00
Jon Trulson 1b74fb9ba7 instant: fix infinite loop seen in non-C locales 2012-06-19 20:02:56 -06:00
Jon Trulson 5f48454d8e Add older CDE documentation in .ps format until newer documentation can be generated with dtinfo. 2012-06-19 19:37:36 -06:00
Jon Trulson f7e87eb7f3 Remove dtinfo launcher and icons from the default front panel.
Use the help system instead.  Someday, if dtinfo can be made to work,
this can be undone easily.  Note, you may have to clear out your ~/.dt
dir to see the change.
2012-06-19 19:22:08 -06:00
Jon Trulson 4f5c5a65a7 dbtoman: use ksh rather than sh. With working nsgmls, now we can build man pages.
Under ubuntu at least, /bin/sh is really /bin/dash.  For some reason,
dash cannot detect an executable (-x) file if it resides on nfs.  bash
and ksh do not have this problem.  Since ksh is already required to
build and install major portions of CDE, might as well use it here too.
2012-06-19 18:22:38 -06:00
Jon Trulson 157f2e2bf7 nsgmls: Imakefile fixes so it will build 2012-06-19 18:04:53 -06:00
Jon Trulson 84e3c43b90 agent.c: oops - include poll.h, not sys/poll.h 2012-06-19 17:31:28 -06:00
Jon Trulson 8e0523ff02 Remove OS deps from tclPosixStr.c (EOPNOTSUPP/ENOTSUP errnos) 2012-06-19 17:18:00 -06:00
Jon Trulson d5deec6e72 csa/agent.c: use select rather than poll 2012-06-19 16:51:25 -06:00
Jon Trulson cdf8003f7c Remove hardcoded CCLINK's in Imakefiles when linking with C++ built libs (DtSvc).
Added proper SharedDtSvcReqs in lnxLib.tmpl and CplusplusLibC in
linux.cf.  This allows the libstdc++ dependancy to be properly
declared for libDtSvc so that it is not neccessary to hardcode 'CCLINK
= g++' in the Imakefiles of programs linking angainst libDtSvc.
2012-06-19 16:27:20 -06:00
Jon Trulson fff18bf2b7 doc/help localization changes
- by default, do not build any other locale than C for now
- do not try to build the guides.  These require functioning
  dtinfo/docbook
- add a Linux.lcx locale translation db.  Not used yet.
- fix some overflows in dtdocbook/instant
2012-06-18 22:01:02 -06:00
Jon Trulson 81b0818361 imake/config changes to support more processors, including AMD64 (x86_64)
- also some rework of linux.cf
  - only allow ELF systems
  - use -pipe
  - add some more defines
  - get rid of some of the ancient (libc5/linux 1) support.  Really,
    don't expect CDE to build right on such old systems.
2012-06-18 19:50:44 -06:00
Jon Trulson 4e041a3135 .gitignore: add some more db related exclusions 2012-06-18 19:50:30 -06:00
Jon Trulson 9344e314df databases/installCDE - fixup a variety of issues.
- databases need linux specific entries for CDE-SHLIBS
- database Imakefile should undef the platform define (linux)
- installCDE fixes
  - use $LOGFILE.  There are still cases where tmp files are created
    in /tmp.
  - detect and set proper PLATFORM
  - Check to see if a db exists before trying to use it
  - don't print usage if you aren't root.
2012-06-18 18:24:07 -06:00
Jon Trulson 143576e81e linux.cf: remove ServerOSDefines and ServerExtraDefines 2012-06-18 18:23:39 -06:00
Jon Trulson dc80c1a2ec gitignore: add some entries for admin/IntegTools and Makefiles 2012-06-18 18:22:42 -06:00
Jon Trulson 784c7dff56 Add -fpermissive to linux standard c++ option define in linux.cf
Remove from individual Imakefiles.

Also, remove '#if 0' block in linux.cf, and remove empty
LinuxMachineDefines. This should be working correctly.  If not, let me
know.
2012-06-18 16:27:25 -06:00
Jon Trulson 91f7988cf3 dtterm: fixes so job control will work. 2012-06-18 16:01:17 -06:00
Jon Trulson 62b669a6af dtterm: disable svr4 streams semantics on linux 2012-06-18 15:32:02 -06:00
Jon Trulson 262171d25f disable building of dtappbuilder until building right 2012-05-26 21:06:06 -06:00
Jon Trulson 9526740ddd dtsession: fix VU#497553 2012-05-26 19:29:50 -06:00
Jon Trulson b4f3efb692 DtSvc/dtspcd: fixes for VU#172583 2012-05-26 19:09:33 -06:00
Jon Trulson a2959aa768 dtspcd: fix symlink vulnerability, a couple warnings 2012-05-26 18:57:11 -06:00
Jon Trulson 70128313e9 tt_isam_record.C/tt_isam_record.C: fix CERT VU#387387 part 3 2012-05-26 18:39:51 -06:00
Jon Trulson 95e6fd42cc tt_isam_record.C: fix CERT VU#387387 part 2 2012-05-26 18:29:26 -06:00
Jon Trulson e820f21540 tt_isam_record.C: fix CERT VU#387387 2012-05-26 18:28:02 -06:00
Jon Trulson 3231696f03 dm_server.C: fix CERT VU#975403/VU#299816 2012-05-26 18:24:31 -06:00
Jon Trulson 8e4e53f4b9 FileUtils.c: fix CERT VU#575804 2012-05-26 18:14:58 -06:00
Jon Trulson c0f9270dd3 linux has supported shadow passwords forever... 2012-05-26 17:57:11 -06:00
Jon Trulson 0961da28b9 Several adjustments to installCDE.src:
Do not require the user to be root

 Use -e in echo statments so that embedded \t's etc will display.

 Do not save install log in /tmp with a known name, especially since
 it is supposed to be run as root.  This is a Bad Thing To Do (tm).
 Instead just save the log in the current dir.
2012-05-26 17:30:53 -06:00
Jon Trulson 9a74b54870 Remove dtinfo and dtksh from the build for now 2012-05-26 17:23:03 -06:00
Jon Trulson 6d78c23be9 Remove -k option from WORLDOPTS 2012-05-26 17:21:45 -06:00