Commit Graph

158 Commits

Author SHA1 Message Date
Marcin Cieslak d6b6353f95 Use $(SHELL) and $(KORNSHELL) for shell scripts
Introduce KORNSHELL make variable to point
to the implementation of the Korn Shell.

Use $(SHELL) or $(KORNSHELL) explicitly for
make programs that do not automatically call
shell scripts from the current directory.
2012-08-14 12:34:41 -06:00
Marcin Cieslak d3206f4514 Compile dtksh on FreeBSD
dtksh can be now compiled on FreeBSD. Work in progress.

Needs a real Korn shell to bootstrap as $(KSHELL).
KSHELL is set by default to /usr/local/bin/ksh93
(generic POSIX shell may not work)

Tested on:

  FreeBSD 9.0-BETA1 #0 r224912M amd64

Known issues:

xvmstat:
* sleep does not work well (SIGSTOP is delivered)
xpong:
* xpong: line 220:  ball1x = max_x * 2.2 / 3 : arithmetic syntax error
* dtksh is rebuilt uncondtionally every time make is invoked
2012-08-14 12:18:38 -06:00
Marcin Cieslak 31aaa48344 FreeBSD port: dtsearch, dtterm, dtwidget, dthelp
FreeBSD portability of dtsearch, dtterm, dtwidget, dthelp

Work in progress for dtlogin and dtmail
2012-08-13 19:53:10 -06:00
Jon Trulson ee03634a10 dtbuilder: manually fix up istr.h (from Pascal) since the broken patch had already been reverted. 2012-08-13 19:48:57 -06:00
Pascal Stumpf 1177e21080 WIP to make dtbuilder work on 64bit.
Fixes many, though not all 64bit-warnings.  In lots of places, pointers are
cast to ints to be then used as array subscripts.  The only way to deal with
this is to change them to long.  Additionally, use calloc() to allocate the
int_array in istr.c and drop the (wrong) macro patch to istr.h.  Should make
dtbuilder work on 32bit again.
2012-08-13 19:42:44 -06:00
Jon Trulson 3b06b6a6b7 Revert "At least on OpenBSD/amd64, this macro returns a bogus value if its argument is NULL."
This reverts commit 0d2f7866ac.

This causes great mayhem in building/generating dtbuilder .msg files
(corrupting them, and inserting '(nil)' all over the place).

These would cause dtbuilder, and any other program built by dtcodegen
to have screwed up colors, missing callbacks and other mayhem.

This was confirmed by others on the list - reverting this made those
issues go away.

It may be that the int -> long is correct, but the NULL check
certainly does not seem to do what was intended.  I'll leave it up to
Pascal to investigate :)
2012-08-13 18:18:52 -06:00
Marcin Cieslak 8e80886661 Skip building m-guides and dtksh for FreeBSD 2012-08-12 20:57:48 -06:00
William Schaub 7153a0e3e2 dtcreate: check for TT_ERR_PTYPE the correct way 2012-08-12 14:34:49 -06:00
Pascal Stumpf 72c954e5b3 sym2num: add path to cpp on OpenBSD. 2012-08-12 14:20:58 -06:00
Pascal Stumpf 0bbd4ff9aa Get rid of malloc.h.
This is a non-POSIX/ISO-C header.  It is ok to include this on Linux, but it
is obsolete on BSD; FreeBSD even throws an error if you include it with
__STDC__ defined.  Every system should nowadays have malloc() defined in
stdlib.h.

Diff is largely mechanical, replacing malloc.h with stdlib.h where it is not
yet included anyway.
2012-08-12 14:20:58 -06:00
Pascal Stumpf 5a8d2bb16f dtmail actually does work now on OpenBSD due to other changes. 2012-08-12 14:20:36 -06:00
Pascal Stumpf 71f3ed16f8 Patches for dtscreen, dtsearchpath, dtsession on OBSD.
Do not redefine round(3), and provide a manpath for OpenBSD.
(this is one of the few things that need to be adjusted for other BSDs)
2012-08-11 20:06:44 -06:00
Pascal Stumpf 43bae997c8 OpenBSD patches for ttsnoop.
Mostly adding std:: for strstream interfaces.
2012-08-11 20:06:44 -06:00
Pascal Stumpf 76984653b4 OpenBSD patches for dtpdmd and dtprintinfo.
Casts, #ifdefs, SIGCLD ...
2012-08-11 20:06:44 -06:00
Pascal Stumpf d418376944 OpenBSD #ifdefs for imake templates for localisations. 2012-08-11 20:06:44 -06:00
Pascal Stumpf 205e26b3ef Make nsgmls compile on OpenBSD.
As far as I can tell, the duplicate instantiations from entmgr_inst.m4 are
unnecessary and only cause compile failures without -fpermissive.
2012-08-11 20:06:43 -06:00
Pascal Stumpf e3ad7e24e3 Current state of my dtmail work.
Mostly #ifdefs and casts; also, do not redefine strcasestr().  This will
probably be needed for Linux too when compiling without -fpermissive.
2012-08-11 19:53:02 -06:00
Pascal Stumpf 7c3a972d32 Make dtlogin compile on OpenBSD.
Most importantly, we *cannot* do the utmp stuff this code is attempting.
It is SysV-specific.
2012-08-11 19:51:35 -06:00
Pascal Stumpf a8d5c1f0ba Make dtinfo work on OpenBSD.
strstream.h is now called "strstream" and is obsolete, but use it anyway until
all code is converted over.  This also needs std:: added, at least for GCC
4.2.1.  Lastly, when hardcoding the path to perl, /usr/bin/perl should be used
rather than anything else.
2012-08-11 19:48:18 -06:00
Pascal Stumpf 3e4517dc2a OpenBSD patches for dtcalc, dtdocbook, dthelp and dtimsstart. 2012-08-11 19:43:41 -06:00
William Schaub b17e52a269 dtcreate: Fix double free inside ProcessExecString() 2012-08-11 19:33:22 -06:00
William Schaub 562da5af1b dtcreate: fix exit with TT_ERR_PTYPE and fix several sprintf related segfaults. 2012-08-11 19:32:48 -06:00
Jon Trulson fdcbdbe0d0 re-enable building of dtmail, except on OpenBSD 2012-08-11 19:26:04 -06:00
Pascal Stumpf 131c7a9e04 Imakefile diffs for OpenBSD. 2012-08-11 19:23:43 -06:00
Pascal Stumpf eaec696ad6 Fixes for dtfile on OpenBSD, plus missing prototypes. Use statfs() on BSD to find out if a file system is NFS. 2012-08-10 14:13:45 -06:00
Pascal Stumpf 57463ec10e OpenBSD fixes for dtcm. There are no global "timezone" and "tzname" symbols on BSD. Apart from that, mainly #ifdefs. 2012-08-10 14:11:54 -06:00
Pascal Stumpf 3718075b7c OpenBSD fixes for DtWidget, dtaction, dtappbuilder. 2012-08-10 14:10:52 -06:00
Pascal Stumpf 8bbf5a7a1b Allow dtterm to at least allocate a pty on OpenBSD. Display is still mangled, however, and it frequently crashes (64bit issue). 2012-08-10 14:08:48 -06:00
Frederic Koehler 44dfebe9d2 dtwm: Cleanup some implicit definitions
Mostly this is adding appropriate #includes and declarations,
but for WmImage.c we also change from using the proper name
for XmeGetMask, rather than the identical but renamed
version _DtGetMask which is not exported in any header.
2012-08-10 05:54:52 -06:00
Pascal Stumpf 78053ff2a4 SIGPWR is not present everywhere. 2012-08-10 05:44:49 -06:00
Jon Trulson b9ae3ae76e OpenBSD.cf, from Pascal Stumpf 2012-08-10 05:37:12 -06:00
James Woodcock f646b8b1a1 Remove unnecessary extern modifier on struct declarations. 2012-08-09 13:55:54 -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 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
Marc Balmer bb21797684 Use a more robust idiom When converting sprintf() to snprintf()
don't use the idiom

char foo[BUFSIZ];
snprintf(foo, BUFSIZ, ....);

but

char foo[BUFSIZ];
snprintf(foo, sizeo foo, ....);

because this will automatically catch situations where the size of foo
is later changed, e.g. like  foo[BUFSIZ + 8];

Fix another use of sprintf.
2012-08-09 11:52:17 -06:00
Robert Tomsick 5787b85d52 dtscreen: include stdlib to avoid exit redeclaration
Signed-off-by: Robert Tomsick <robert@tomsick.net>
2012-08-09 11:33:25 -06:00
Robert Tomsick ab926254fd dtscreen: include stdlib where appropriate
Signed-off-by: Robert Tomsick <robert@tomsick.net>
2012-08-09 11:33:25 -06:00
Robert Tomsick c12927e208 dthelpview: Util.c include stdlib to avoid redeclaring exit()
Signed-off-by: Robert Tomsick <robert@tomsick.net>
2012-08-09 11:33:25 -06:00
Robert Tomsick 974053aab1 dthelpview: Main.c - Cleanup variable init
Signed-off-by: Robert Tomsick <robert@tomsick.net>
2012-08-09 11:33:25 -06:00
Peter Howkins d2e1f3158b dtcalc: warning prevention, add <stdlib.h> include for prototype of free() 2012-08-09 12:08:46 +01:00
Peter Howkins 697c1522fb dtcalc: warning prevention, do not use NULL when you mean 0. 2012-08-09 12:07:53 +01: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 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 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 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