Commit Graph

1216 Commits

Author SHA1 Message Date
Pascal Stumpf 29f2ad7dd7 dtlogin: correct path to getty. 2013-07-25 18:36:34 -06:00
Pascal Stumpf 1b319ff67d include unistd.h for read(2) prototype. Fixes dtdocbook on PowerPC.
There are a lot more warnings here, but this one was an actual bug.  Full
treatment pending ...
2013-07-23 19:01:13 -06:00
Pascal Stumpf 79486301d1 Make dtksh build on OpenBSD/powerpc. 2013-07-23 18:47:54 -06:00
Pascal Stumpf 20081d15c9 ttsnoop: deal with iostream.h and missing sentinels.
Replacing strstream may be possible, but requires more work and a better
understanding of the code.
2013-07-23 18:44:56 -06:00
Pascal Stumpf 380232cb93 Kill iostream.h deprecation warnings on *BSD. 2013-07-23 18:43:05 -06:00
Pascal Stumpf f9a70b5165 SECURITY fix for dtappintegrate: Use mktemp(1) to generate a template.
Using a fixed filename in /tmp is just begging for a symlink attack ...
2013-07-22 17:26:19 -06:00
Pascal Stumpf 6c42732461 error.ds.src: don't hardcode /usr/dt 2013-07-22 17:25:00 -06:00
Pascal Stumpf aa470d2e3a Adapt dtlogin/config/_common.ksh.src for OpenBSD:
* ps(1) is totally different on BSD and Linux.  The OSF commandline works fine.
* fontpath is in /usr/X11R6 on OpenBSD.
2013-07-22 17:24:13 -06:00
Pascal Stumpf 2e6347984b Simplify programs/Imakefile a bit. dtksh, dtlogin and dtcm build everywhere. 2013-07-22 17:23:24 -06:00
Pascal Stumpf 57cfd2162d s,/usr/dt,CDE_INSTALLATION_TOP,g in dtlogin/config 2013-07-22 17:22:23 -06:00
Pascal Stumpf 5153c43c50 Xreset.src: Do not hardcode /usr/dt. 2013-07-22 17:21:20 -06:00
Pascal Stumpf 9bd98b70f2 Do not hardcode /usr/dt in print.dt. 2013-07-22 17:20:25 -06:00
Pascal Stumpf c48771be2b Do not use -fpermissive in programs/nsgmls. It's not needed. 2013-07-22 17:13:11 -06:00
Pascal Stumpf dc0e8ea74d Kill most warnings in lib/DtTerm.
Mostly missing headers, explicit parentheses and new prototypes.

Some Caveats:
* I haven't compile-tested the SVR4 getpty file, it might need another tweak
* There were operator precedence bugs in TermPrimCursor.c and TermPrimRender.c
  (^ vs. !=).  This might change behaviour, but at least I haven't experienced
  any crashes ...
* This adds a little more dependencies for include ordering, but unless we
  want to play the "headers that include headers that include headers..." game,
  this is unavoidable.
2013-07-22 17:12:07 -06:00
alx 0d7568e843 dticon: fixed "rubber string" drawing on high/true color displays 2013-06-26 11:20:52 -06:00
Ulrich Wilkens 6f56ab0e42 Fix screen locking for BSDs 2013-05-29 20:00:43 -06:00
alx 006dbc0e33 Enable X11 screen saver extension on Linux 2013-05-26 21:10:48 -06:00
Jon Trulson fae50f7b98 Merge branch 'master' into multi-monitor 2013-05-26 17:50:12 -06:00
Peter Howkins 3bd9b4c4da dtstyle: Sort color palette names into alphabetical order for displaying. 2013-05-20 15:53:44 +01:00
Jon Trulson a71ee09728 dtksh: fix a build issue with Kubuntu x86_64.
Remove an apparently unnecessary 'mac' definition for feature/fs and
an unnecessary struct stat forward declaration.
2013-05-18 02:34:06 -06:00
Jon Trulson fbe451187f Merge branch 'master' into multi-monitor 2013-05-17 23:55:51 -06:00
Jon Trulson fe0e5904c3 dtksh: fix a build issue with Kubuntu x86_64.
Remove an apparently 'mac' definition for feature/fs and an
unnecessary struct stat forward declaration.
2013-05-17 23:22:33 -06:00
alx 86e5dc1f10 Fixed dtpad server crash when closing editor window associated with primary document 2013-04-15 17:54:25 -06:00
Ulrich Wilkens e8cb780125 Build dtksh on more OSs 2013-03-30 17:33:07 -06:00
Jon Trulson af7ba55f78 Add basic Xinerama support via new lib/DtXinerama
This adds a basic library and support to dtsession and dtlogin to
support Xinerama/Twinview, where multimple monitors are used to make
up an X11 screen.

The main goal here is to draw dialogs and such centered on a monitor,
rather than spread out over multiple monitors.

Might need to add sorting - as on my test system, what I would
consider monitor 0, appears to actually be monitor 1.  So a sort might
need to be added to sort the screens according to increasing x and y
offsets so it make sense to a user.

Also, this library is built statically and not documented.  Maybe it
could be 'filled' out and refactored/redesigned in the futre if need
be and suppoerted.

It is enabled via a define, CDE_USEXINERAMA in site.def.  It's a very
simple lib, so I do not expect any issues with the BSD's - it should
build and work fine, assuming your X server has the XINERAMA
extension, which I think pretty much all of them do at this point.
2013-03-26 19:49:50 -06:00
Jon Trulson 208c1e4999 Add initial Greek UTF-8 translations.
Supplied by Antonis Tsolomitis <antonis.tsolomitis@gmail.com>
2013-03-12 15:03:43 -06:00
Karsten Pedersen 69997241c5 Fixed building on FreeBSD 8.x 2013-02-26 17:28:17 -07:00
Karsten Pedersen cc076d7756 Fixed colored border around workspace buttons 2013-02-26 17:28:10 -07:00
Pascal Stumpf 943aaadf86 Introduce DTKORNSHELL, analogous to KORNSHELL.
DTKORNSHELL is used to specify the install location of dtksh on your system,
preventing hardcoding of /usr/dt/bin/dtksh in Shebang lines and such.
2012-11-24 19:25:27 -07:00
Pascal Stumpf b49a4ffc94 Keep track of the length of the string in ExpandVariables().
On OpenBSD, the 'S' option to malloc(3) enables guard pages (among other
things).  This loop could have triggered this trap when reading beyond the
buffer.  Also, the whole "while(*ip)" construct was based on the assumption that
the memory after the string is always zero-filled.
2012-11-24 19:25:19 -07:00
Pascal Stumpf c64ac1985b Set NATIVEXBINDIR on OpenBSD. 2012-11-20 17:17:37 -07:00
Pascal Stumpf c57d2191e8 Respect CDE_CONFIGURATION_TOP and CDE_INSTALLATION_TOP.
Do not hardcode /etc/dt and /usr/dt.
2012-11-20 17:17:33 -07:00
Pascal Stumpf 76c874b068 dtgreet: Do not crash if LANG is not set in the environment.
In that case, catopen() will have never been called, and we'd feed 0 as the
first argument to catgets().  This crashes, at least on OpenBSD.
2012-11-20 17:17:29 -07:00
Pascal Stumpf 0e5560cee4 Correct paths to xterm as failsafe client on the BSDs. 2012-11-20 17:17:25 -07:00
Pascal Stumpf d821557ca4 Use same SIGCHLD handling for OpenBSD as for OSF. 2012-11-20 17:17:18 -07:00
Peter Howkins e51d581782 dtaction: Resolve 8 warnings caused by -Wall 2012-11-20 16:22:04 +00:00
Peter Howkins ea96eb624d dtcalc: Resolve 82 warnings causing by enabling -Wall 2012-11-20 14:49:40 +00:00
Pascal Stumpf b64f79b1b8 On OpenBSD, use FILE_MAP_OPTIMIZED.
This has the effect of not performing a tt call each time in
ResolveLocalPathName() if we're on the local host anyway.  Drastically reduces
dtfile startup time.
2012-11-19 19:44:32 -07:00
Pascal Stumpf 5b9d3fc5ec Use /usr/sbin/sendmail as default mailer on OpenBSD. 2012-11-19 19:44:29 -07:00
Peter Howkins e56e3f74e6 dtcalc: Further remove K&R function prototypes and replace with ANSI. 2012-11-19 14:28:52 +00:00
Peter Howkins f4339cd58e dtcalc: Convert functions from K&R to ansi declarations. 2012-11-16 17:03:10 +00:00
Peter Howkins b556633eca dtscreen: Resolve (all) 11 warnigns caused by -Wall 2012-11-16 15:57:36 +00:00
Peter Howkins a67b65198d dtscreen: Resolve a -Wformat-security warning. 2012-11-16 15:29:50 +00:00
Peter Howkins a0da2db479 dtcalc: Resolve 43 warnings that would be introduced with -Wunused-variable or -Wall
Basically 43 local variables declared in functions and then never used.
2012-11-05 16:44:29 +00:00
Ulrich Wilkens 8fd8a8a4db Fix dtappbuilder on Linux 2012-10-16 21:04:57 -06:00
Ulrich Wilkens f17d779dab dtinfo subtree clients 2012-10-15 17:59:11 -06:00
Ulrich Wilkens 5cdb889f7b dtinfo subtree tools 2012-10-15 17:59:00 -06:00
Ulrich Wilkens 07e886ba7c dtinfo subtree dtinfogen 2012-10-15 17:58:44 -06:00
Ulrich Wilkens 51b8929ebd dtinfo subtree dtinfo 2012-10-15 17:57:49 -06:00
Ulrich Wilkens 8275485b4a dtinfo subtree mmdb 2012-10-15 17:57:35 -06:00
Ulrich Wilkens 8c8363f4a5 dtinfo subtree DtMmdb 2012-10-15 17:57:14 -06:00
Marcin Cieslak b92cf08899 Adobe Helvetica as -dt-interface system-
Use Adobe Helvetica as the sans serif user
interface font (among others, dtlogin, front
panel buttons, menu titles) instead of Lucida.

While there, move X Consortium comment back
to the top.

This change applies only to FreeBSD.
2012-10-08 19:31:24 +01:00
Jelle Hermsen b8862cab32 Changed a couple of ifdefs for __FreeBSD__ to CSRG_BASED. These are all clearcut cases. I left the ones I had doubts about, or where I wasn't sure about the OpenBSD side of things to look at later. 2012-10-03 17:06:57 -06:00
Marcin Cieslak aacfe3e5de dtfile: Fix crash when trying to open filter dialog
On 64-bit machine dtfile crashes when opening
list of file types to filter in Encaps.c:

   _DtShowDialog (parent=0x805c80900, map_parent=0x0, top_rec=0x805ce3600,
     dialog_data=0x805db25e0, change_proc=0x4489f0 <FilterChange+16>,
     change_data=0x805ce3600, close_proc=0x4489c0 <FilterClose+16>,
     close_data=0x805ce3600, workspaces=0x0, iconify_state=0 '\0',
     ignoreCache=0 '\0', title=0x0, classHints=0x0) at Encaps.c:531

531	        ResetFlag(NULL,fr->close);
2012-10-02 18:57:12 -06:00
Marcin Cieslak 48b76f8623 dtcreate: Don't crash when clicking "Find Set..."
dtcreate crashed on 64-bit system when clicking
"Find Set.." button.

Crash happens in libXm:

    new_w=0x805db4300, args=0x7fffffffb430, num_args=0x7fffffffb3dc)
    at Form.c:1955

$1 = {att = {{type = 4 '\004', w = 0x805db3700, percent = 0, offset = 0,
      value = 0, tempValue = 0}, {type = 1 '\001', w = 0x0, percent = 0,
      offset = 10, value = 0, tempValue = 0}, {type = 3 '\003',
      w = 0x805db3700, percent = 0, offset = 0, value = 0, tempValue = 0}, {
      type = 3 '\003', w = 0x800000000, percent = 0, offset = 10, value = 0,
      tempValue = 0}}, next_sibling = 0x0, sorted = 0 '\0',
  resizable = 1 '\001', preferred_width = 0, preferred_height = 0}

(...)

    at icon_selection_dialog.c:1768
1767            /* Creation of icon_scrolled_win */
1768            icon_scrolled_win = XtVaCreateManagedWidget( "icon_scrolled_win",
1769                            xmScrolledWindowWidgetClass,
1770                            icon_selection_dialog,
1771                            XmNscrollingPolicy, XmAUTOMATIC,
1772    /*                      XmNnavigationType, XmTAB_GROUP, */
1773                            XmNx, 282,
1774                            XmNy, 84,
1775                            XmNscrollBarDisplayPolicy, XmAS_NEEDED,
1776                            XmNrightOffset, 10,
1777                            XmNrightAttachment, XmATTACH_FORM,
1778                            XmNtopOffset, 0,
1779                            XmNtopWidget, icon_container_label,
1780                            XmNtopAttachment, XmATTACH_WIDGET,
1781                            XmNleftOffset, 0,
1782                            XmNleftWidget, icon_container_label,
1783                            XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET,
1784                            XmNbottomOffset, 10,
1785                            XmNbottomWidget, XmATTACH_NONE,
1786                            XmNbottomAttachment, XmATTACH_WIDGET,
1787                            NULL );

What happens here is that ConstraintInitialize receives
four constraints, the last one is this:

    { type = 3 '\003', /* XmATTACH_WIDGET */
      w = 0x800000000, /* malformed XmATTACH_NONE ???
      percent = 0,
      offset = 10, /* specified as XmNbottomOffset */
      value = 0,
      tempValue = 0}

XmATTACH_* values are defined in <Xm/Xm.h> as follows:

   505  enum{   XmATTACH_NONE,                  XmATTACH_FORM,
   506          XmATTACH_OPPOSITE_FORM,         XmATTACH_WIDGET,
   507          XmATTACH_OPPOSITE_WIDGET,       XmATTACH_POSITION,
   508          XmATTACH_SELF
   509          } ;

What is not clear to why XmATTACH_NONE - which should be (int)0 -
becomes 0x800000000 - looks like a 64 bit bug somewhere.

Providing a long value on None (0L) as in this change fixes the
problem.

I understand is that it possible to use such an "empty" widget
is to create additional space at the bottom of the newly created
"icon_scrolled_win".

What needs to be clarified - shouldn't be such an (int) value be
automatically promoted to (long) (or XtArgVal, XtPointer, ...)
and preserve the value 0? Lots of parameters seem to be
passed as ints (for example dimensions) and they do not
appear to cause any trouble.
2012-09-30 11:11:21 -06:00
Marcin Cieslak 27bc7d6bec dtcreate: Add missing prototypes and more (64-bit)
- Fix missing prototypes
- Fix some 64-bit related problems (XtVaGetValues)
- Fix crash on dtcreate startup in create_applicationShell1()
- Add XmeFlushIconFileCache() prototype from <Xm/IconFileP.h>
2012-09-29 20:28:45 -06:00
Frederic Koehler 71962e580d dtcreate: Avoid trying to reuse closed help window
This fixes a segfault when trying to go to help a second
time, after closing the first window.
2012-09-29 19:29:02 -06:00
Marcin Cieslak 7948362829 dtfile: fix crash in RecheckFlag (64bit) 2012-09-28 19:13:29 -06:00
James Woodcock 0ea703ed1e Use the system strcasestr() on Linux. 2012-09-27 18:01:24 -06:00
James Woodcock 407bb371f2 Remove unnecessary extern modifier from struct declaration. 2012-09-27 18:01:09 -06:00
Marcin Cieslak 5f8b6ba739 dticon: fix typo in the last commit 2012-09-27 17:54:09 -06:00
Marcin Cieslak 481e46a7b2 Update vendor logo for FreeBSD
- Improved font rendering and anti-aliasing
  by hand
- Let dticon recognize .bm file as X bitmap
2012-09-26 19:43:55 -06:00
Marcin Cieslak 0f6300008d dticon: make XVaGetValues() call 64-bit compliant 2012-09-26 19:43:00 -06:00
Marcin Cieslak e1f9b57844 dtstyle: XVaGetValues() calls 2012-09-26 19:42:57 -06:00
Marcin Cieslak e7ad6b776e Dtlogin logo for FreeBSD
Install black and white and 128-color custom logos for FreeBSD.

The FreeBSD logo based on the artwork provided by The FreeBSD Foundation:
  http://www.freebsd.org/logo/logo-basic.png

  The mark FreeBSD is a registered trademark of The FreeBSD Foundation
  is are used by Common Desktop Enviroment (CDE) with
  the permission of The FreeBSD Foundation.

  The FreeBSD Logo is a trademark of The FreeBSD Foundation and is used
  by Common Desktop Environment (CDE) with the permission of
  The FreeBSD Foundation.

Use of logo subject to Trademark Usage Terms and Conditions:
    http://www.freebsdfoundation.org/documents/Guidelines.shtml
2012-09-25 11:35:29 -06:00
Marcin Cieslak c697b943d4 Don't make /var group writable
* Use 0755 permissions for /var (not 0775)
  - this makes sendmail unhappy
* Don't change permissions on /var on dtlogin startup
2012-09-25 11:33:11 -06:00
Anthony Perkins e7cb79e9b2 Corrected font aliases for "-b&h-lucidasans" on FreeBSD.
The following patch gets the Lucida Sans font working on my FreeBSD system. Before applying this, title bars and menu bars are displayed in the "-misc-fixed" font. This is on FreeBSD 9.0-RELEASE-p3.
2012-09-25 11:32:02 -06:00
Marcin Cieslak a8c2232e48 dtpdm: XtVaGetValues, XtPointer, XtArgVal, ...
Make XtVaGetValues return variables safe for 64-bit
2012-09-24 18:31:25 -06:00
Marcin Cieslak 917f7da191 157 warnings: remove -DXK_MISCELLANY from Makefiles
Fixes the following warning:

In file included from ../../../imports/x11/include/X11/Xutil.h:54,
                 from ../../../imports/x11/include/X11/Intrinsic.h:54,
                 from Action.c:64:
../../../imports/x11/include/X11/keysym.h:49:1: warning: "XK_MISCELLANY" redefined
<command-line>: warning: this is the location of the previous definition

<keysym.h> which includes all key symbols and loads <keysymdef.h>
is automaticlly included by the X Toolkit.

This patch removes #include <keysymdef.h> whenever not needed,
and adds #define XK_MISCALLANY in the source code where required.
2012-09-24 18:30:21 -06:00
Marcin Cieslak c70978e986 dtmail: fix warning: comparison is always false
This warning was caused by a typo:

warning: comparison is always false due to limited range of data type
2012-09-24 18:27:45 -06:00
Marcin Cieslak 22a0f8f497 dtmail: fix warning: NULL used in arithmetic
NULL != NULL makes no sense, really...
2012-09-24 18:27:18 -06:00
Marcin Cieslak e3564643ad dtmail: warning: 'DtMailBoolean' is promoted to (int)
Fix this warning:

RFCTransport.C: In function 'long unsigned int writeToFileDesc(const char*, int,
 __va_list_tag*)':
RFCTransport.C:91: warning: 'DtMailBoolean' is promoted to 'int' when passed thr
ough '...'
RFCTransport.C:91: warning: (so you should pass 'int' not 'DtMailBoolean' to 'va
_arg')
RFCTransport.C:91: note: if this code is reached, the program will abort
2012-09-24 18:26:27 -06:00
Marcin Cieslak 91bfe1e4dc dtmail: Fix XtVaGetValues() return value storage
At least one crash was caused by this
on the 64-bit system
2012-09-24 18:26:11 -06:00
Marcin Cieslak 3a246dfb9b Get rid of unpleasant cast, it causes SIGSEGV
Having a difficult choice between unplasant
cast to get a void * into an enumeration type
and "Something's wrong here" double cast
I decided for the latter.

At least it does not crash when the legal
value of zero is passed as the argument.
2012-09-24 18:25:28 -06:00
Marcin Cieslak 86cb67de90 dtpad: kill one warning 2012-09-23 19:46:21 -06:00
Marcin Cieslak e077181a46 dtpad: Use XtArgVal for int conversion
Avoid overwrite of local variables when using
short (int, etc.) types with XtVaGetValues().

Cast XtPointer using (XtArgVal) without
the need to use C99 <stdint.h> and friends.
2012-09-23 19:45:56 -06:00
Marcin Cieslak d089ff7599 dtpad: Fix 64-bit crash on file open/save
Fix SIGSEGV because of implicit declaration
of _XmStringUngenerate.

The error message reported to the user was:

TT_ERR_PROCID The process id passed is not valid.
2012-09-23 19:45:22 -06:00
Marcin Cieslak c1b4c13398 dtprintinfo: sym2num needs ksh 2012-09-23 19:43:43 -06:00
Marcin Cieslak df1da3432e dtprintinfo: Use 64-bit values for XtVaGetValues() pointers
XtArgVal should be a type that encompasses XtPointer
and long integer types. In the X.org implementation
it is currently defined as (long).

Don't use (unsigned int *) instead of (Window *).
2012-09-23 19:43:11 -06:00
Marcin Cieslak fc0f1ff697 dtprintinfo: Use CUPS lpq for FreeBSD
Use /usr/local/bin/lpq from CUPS for FreeBSD
for now; this prevents immediate dtprintinfo
crash.

In the future we should handle both built-in
/usr/bin/lpq as well as CUPS /usr/local/bin/lpq
output in separate functions.

Code to support CUPS should probably shared between
other operating systems.
2012-09-23 19:41:32 -06:00
Marcin Cieslak 6ea7855841 Fix logic in dtprintinfo
Fix values for true/false and boolean type
2012-09-23 19:38:43 -06:00
Marcin Cieslak 18a78bbff5 dtfile: fix pointer to integer conversion
Use XtArgVal (usually (long)) to convert
(XtPointer) to (int) and back.

This provides safe way to convert and
avoids compiler warning.
2012-09-23 19:38:40 -06:00
Marcin Cieslak 6b1d497984 dttypes should not crash on 64-bit system
Casting (int) to (char **) will not
prevent crash on a 64-bit system.

A proper ANSI prototype has been added.
2012-09-22 19:04:27 -06:00
Marcin Cieslak 1041e08003 Fix dtfile crash on 64 bit
When asking for data using XtVaGetValue()
make sure that there is enough place for
the return value (which is sometimes XtPointer).
Providing pointer to (int) is not enough.

Cast XtPointer into requested int types
directly, which unfortunately introduces
compilation warning:

cast from pointer to integer of different size
2012-09-22 19:04:21 -06:00
Jon Trulson 3a9bac86e3 Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2012-09-18 10:07:11 -06:00
Marcin Cieslak 1079b56422 dtfile: Add missing prototypes
Add missing prototypes and header files to the dtfile
code in order to move closer towards 64-bit compatibility.

Extract the following functions from Motif internal headers:

_XmGetWidgetExtData
_XmRecordEvent
_XmStringUngenerate
_XmTextFieldSetDestination
_XmGetActiveTopLevelMenu

Extract manually prototypes of the obsolete Motif interface:
_XmHighlightBorder
_XmUnhighlightBorder

Remove XmPrivate.h if extractprototype.awk fails

Make the following header files available via -I:
	codelibs/boolean.h
	codelibs/pathutils.h
	codelibs/shellutils.h
and remove shellutils.h from dtwm directory.
2012-09-18 09:59:11 -06:00
Peter Howkins 5e14a88e2c dtudcexch/dtudcfonted: Resolve 78 compiler warnings. 2012-09-18 12:00:05 +01:00
Peter Howkins e2432556b8 Merge branch 'master' of ssh://localhost:3333/p/cdesktopenv/code 2012-09-18 11:59:42 +01:00
Jon Trulson 735bdff392 Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2012-09-17 18:23:31 -06:00
Marcin Cieslak 464bc5b3f6 Improve MANPATH control
* Revert changes to programs/dtsearchpath/libCliSrv/UnixEnv.C
  introduced by c3cb5b8aa6
  that could have produced disappearing Application Manager
  icons on FreeBSD
* Introduce SearchPath:useSystemPath() virtual method to tell
  dtsearchpath to leave some environment variables alone.

  It is currently overriden for FreeBSD only if the MANPATH
  is empty (system default). Other operating systems
  might want to override it if they prefer to have distribution
  specific control of a search path in effect.

* Symlink /usr/dt/share/man to /usr/dt/man for FreeBSD
  This allows dtsearchpath to actually include /usr/dt/man
  in the MANPATH when MANPATH override is in effect.
2012-09-17 18:23:14 -06:00
Peter Howkins f3d2d238ed dtterm: Resolve 4 compiler warnings 2012-09-17 16:28:55 +01:00
Peter Howkins dcdd21df34 dtstyle: Resolve 28 compiler warnings. 2012-09-17 14:56:06 +01:00
Marcin Cieslak 071da0d223 BSD: Add /usr/local/bin to the default PATH on login 2012-09-10 12:08:36 -06:00
Marcin Cieslak c3cb5b8aa6 FreeBSD: Don't set MANPATH, use OS configuration
- make installer to set up man(1) paths using /usr/local/etc/man.d/*
- don't override empty/unset MANPATH with compiled in default
2012-09-10 12:08:34 -06:00
Mike Stroyan f0a60e47b1 Don't use fstat for readable pipe chars in dtexec.
The dtexec code assumes that fstat reports pipe's readable chars.
Linux always reports 0 for st_size of a pipe.
Instead read one character when select reports readable.
Note EOF when select says readable but read returns 0.
2012-09-09 18:23:45 -06:00
Marcin Cieslak bd70163b09 FreeBSD: Fix dtlogin failsafe session
We need to have /usr/local as the proper
X11 prefix to start mwm and xterm
2012-09-07 17:32:52 -06:00
Jon Trulson 096f96be24 dtlogin: enable building on FreeBSD 2012-09-06 12:36:14 -06:00
Marcin Cieslak 421b5061a6 Allow building on FreeBSD
- build shared libraries with major number only (libtt.so.2)
- don't build dtlogin and dtinfo

FreeBSD support for the installer:
- work around awk issue
- create post_install FreeBSD scripts
- install only cmsd on /etc/inetd.conf
  skip dtspc and ttdbserver for now

Note to users: please check
if you are affected by awk bug
in udbParseLib.awk if you can.
2012-09-06 11:17:43 -06:00
Ulrich Wilkens 9a34624e25 Fix for __va_copy on FreeBSD i386. 2012-09-05 19:28:31 -06:00
Ulrich Wilkens 33da5fa944 Fixes for dtlogin and dtcm on FreeBSD. 2012-09-05 19:27:45 -06:00
Jon Trulson a29fc20957 message catalogs: fix comment lines, also remove linux hack in merge.c
According to the spec, blank lines in message catalogs or lines
beginning with '$ ' are valid comments.

However, there were many cases where lines in the message catalogs
contained just a single '$', without the required space after it.

Under linux, this caused 126766 error lines (in my builds) of the
form:

... unknown directive `': line ignored

This also causes gencat to exit with a non-0 exit code.  Even though
gencat says it ignores the line, it really doesn't.

An early porting change to programs/localized/util/merge.c was made to
ignore this return value on linux.  This hack has now been removed.

Build logs are a lot smaller and cleaner now.
2012-09-03 15:12:57 -06:00
Peter Howkins a1bec3d0e1 dtpdmd: Resolving warnings. 2012-09-01 20:37:02 +01:00
Peter Howkins 971e3280d7 dtpdm: Resolve 4 compiler warnings 2012-08-31 21:41:32 +01:00
Jon Trulson 6dd2d8a325 dthelp: fix build failure introduced by commit 71f8af6943
Tsk Tsk Peter :)
2012-08-30 20:22:04 -06:00
Jon Trulson 4620bdb0db dtcm: fix typo introduced by commit ca9da25d44 2012-08-30 20:19:23 -06:00
Marcin Cieslak 6e37640f11 Fix warnings in dtwm
- Improve pointer/int compatibility
- Include unpublished Dt headers in Dt
- Use <Xm/XmPrivate.h> for unpublished Motif functions

There are still warnings left generated because
ElementValue.parsed_value should really be a union.

There are also some warnings left because of XtPointer
casting and some unused variables and functions.
2012-08-30 19:43:47 -06:00
Peter Howkins 237fa4a599 dtpad: Resolve 6 compiler warnings. 2012-08-30 22:40:55 +01:00
Peter Howkins 2a9b4ec67c dtlogin: Resolve 7 compiler warnings. 2012-08-30 22:30:36 +01:00
Peter Howkins 89e76b2e9b dtlogin: Resolve all -Wformat-security warnings 2012-08-30 22:19:49 +01:00
Peter Howkins 97a9c8cbd1 dtimsstart: Resolve 3 compiler warnings. 2012-08-30 22:15:13 +01:00
Peter Howkins b14833740b Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2012-08-30 21:38:11 +01:00
Peter Howkins 71f8af6943 dthelp: Resolve 106 compiler warnings. 2012-08-30 21:37:25 +01:00
Jon Trulson a06126dd4c Merge branch 'master' of ssh://git.code.sf.net/p/cdesktopenv/code 2012-08-30 13:53:37 -06:00
Peter Howkins f6bfbcb521 dthello: Resolve 5 compiler warnings. 2012-08-30 19:57:56 +01:00
Peter Howkins 764a0c7e72 dtfile: Remove 97 compiler warnings 2012-08-30 19:54:01 +01:00
Jon Trulson d0b5ebebd9 dthelp/text.c: use snprintf 2012-08-30 12:44:50 -06:00
Peter Howkins ef67cebea5 dtfile: Resolve implicit imcompatible declaration warnings. 2012-08-30 18:25:49 +01:00
Peter Howkins 7546d1a71a dtexec: On Linux use the variation of signal handlers that takes an int arg
Warning Prevention.
2012-08-30 18:18:20 +01:00
Peter Howkins 6315770583 dtdspmsg: Warning prevention 2012-08-30 18:14:15 +01:00
Peter Howkins ce7f5d0862 dtcreate: warning prevention. 2012-08-30 18:07:16 +01:00
Peter Howkins 231b359685 dsdm: Include ansi C headers to prevent implicit incompatible declaration warnings. 2012-08-30 17:59:34 +01:00
Peter Howkins e091b824c1 dtaction: main() returns an int and -Wformat-security fixes 2012-08-30 17:55:43 +01:00
Peter Howkins 55539b71c1 dticon: Fix some warnings related to mixing NULL, 0 and '\0' randomly. 2012-08-30 17:48:26 +01:00
Peter Howkins f737b30289 dtcalc: Fix some warnings related to mixing NULL, 0 and '\0' randomly. 2012-08-30 16:45:52 +01:00
Ulrich Wilkens 5c68d52ce4 Two fixes for dtmail 2012-08-29 20:40:23 -06:00
Ulrich Wilkens 3a28782409 Correction of paths for BSDs 2012-08-29 20:39:02 -06:00
Peter Howkins ca9da25d44 dtcm: Resolve all -Wformat-security warnings. 2012-08-29 20:16:01 +01:00
Peter Howkins 70552cb18d dtsr: include stdlib.h to resolve 20 incompaible implicit declaration warnings. 2012-08-29 18:25:32 +01:00
Peter Howkins fd3a620a68 dtsr: Resolve all -Wformat-security warnings. 2012-08-29 18:21:05 +01:00
Peter Howkins b14d6d0b68 util/dttypes: Resolve -Wformat-security warnings 2012-08-29 18:02:22 +01:00
Peter Howkins ba88e3abe1 dtterm: Resolve -Wformat-security warnings 2012-08-29 16:13:22 +01:00
Marcin Cieslak 17a33f0430 Use KORNSHELL variable instead of /bin/ksh
This patch removes instances of hardcoded
invocation of /bin/ksh and allows to
replace it with, for, example,
/usr/local/bin/ksh93

Also "ksh93" is accepted whenever "ksh" is.

Tested using the following /bin/ksh:

----8<----
WHAT=`ps -o command= -p $PPID`
msg="Something tried to call /bin/ksh: $PPID: $WHAT"
print -u2 "$msg"
logger user.warn "$msg"
exit 99
----8<----
(Warning: first two lines are FreeBSD specific)

Scripts from Makefiles should now be executed either
with

$(KORNSHELL) korn-shell-script

or

$(SHELL) bourne-shell-script

therefore #!/bin/ksh has not been changed everywhere.

/usr/dt/bin/ scripts have been converted (e.g. Xsession)

Whenever possible Imake and CPP facilities have been used.

For C and C++ programs KORNSHELL needs to be defined to
"/path/to/your/ksh" (with quotes) so that it can make
a valid C constant.

Therefore, when adding KORNSHELL to Imakefile for C files,
you have to add

CXXEXTRA_DEFINES = -DKORNSHELL=\"$(KORNSHELL)\"

or similar (for example, see programs/dtprintinfo)

But for simple shell script substitution we usually change

 LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
                     -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_LOGFILES_TOP=$(CDE_LOGFILES_TOP)

to:

 LOCAL_CPP_DEFINES = -DCDE_CONFIGURATION_TOP=$(CDE_CONFIGURATION_TOP) \
                     -DCDE_INSTALLATION_TOP=$(CDE_INSTALLATION_TOP) \
                     -DCDE_LOGFILES_TOP=$(CDE_LOGFILES_TOP) \
                     -DKORNSHELL=$(KORNSHELL) \
                     -DXPROJECTROOT=X11ProjectRoot

since we don't want quotes for shell scripts.
2012-08-23 20:00:43 -06:00
Marcin Cieslak 98b17d3551 64bit: Fix crash in dtexec
No ANSI prototype for malloc() caused
the returned pointer to be truncated
to 32 bits.
2012-08-23 19:56:43 -06:00
Marcin Cieslak d31fc60fbf FreeBSD: scan /usr/local/lib/X11/fonts/ for fontpath 2012-08-23 19:56:34 -06:00
Marcin Cieslak c3cd844df6 Use FreeBSD-specific invocation of /bin/ps 2012-08-23 19:56:31 -06:00
Peter Howkins 20c107bce2 dtcalc: Resolve "format not a string literal and no format arguments [-Wformat-security]" warnings.
Fix warnings related to secruity concerns on varargs functions. By specifying
"%s" on single string calls to sprintf() (and related) it's not possible to
have a % in the input string causing random data to be read off the stack.
2012-08-22 11:28:36 +01:00
Peter Howkins 7d50721685 dtcalc: Resolve "missing sentinel in function call [-Wformat]" warnings
Caused by XtVaGetValues() and XtVaSetValues() variable arguments lists
needing to be terminated by NULL not 0.
2012-08-22 10:44:33 +01:00
David Cantrell f98d6f41d3 Simple compiler warning fixes in programs/dthelp. 2012-08-21 21:53:33 -04:00
Pascal Stumpf 7ee2f3e80d Fix localized build on OpenBSD.
Use the same set of langs as on Linux and FreeBSD (no Japanese), don't
redefine a needed macro as no-op, and unset LC_CTYPE in the environment
when building cat files.
2012-08-20 19:56:15 -06:00
Pascal Stumpf 3629a61f7c Build dtksh on OpenBSD.
This needs ksh93 to bootstrap, available in the openbsd-wip for now as a port,
due to be committed some time soon ...
2012-08-19 18:14:37 -06:00
Pascal Stumpf b578dca486 OpenBSD still uses GNU iconv, so the second argument to iconv(3) is not const. 2012-08-19 18:13:35 -06:00
Ulrich Wilkens 232a93319b Fix dttypes for BSD systems 2012-08-19 18:12:28 -06:00
Ulrich Wilkens 3bbcda35b9 Find correct system includes and libs on FreeBSD. 2012-08-19 18:08:31 -06:00
Jon Trulson 006a00ed4a Add mkcatdefs program and make the imake changes so it can be used. 2012-08-17 20:11:11 -06:00
Marcin Cieslak 3e2f89956f Build missing Xm.cat Mrm.cat Uil.cat for LANG=C
We need to use mkcatdefs to build those.

mkcatdefs needs to be built from the open motif
source tree (localized/util/mkcatdefs.c)
and installed as:

cde/imports/motif/localized/util/mkcatdefs
2012-08-17 19:50:44 -06:00
Frederic Koehler f5ac4cf8f9 dtcreate: Replace broken GetBaseName with basename
GetBaseName causes segfaults, because when the pathname
ends in a "/" it returns NULL. This happens when trying
to give a valid filename to dtcreate for an icon.
2012-08-17 19:04:13 -06:00
Frederic Koehler 7d2fee2769 dtcreate: Fix some memory management issues
ProcessExecString thought it was returning an array of size 3; however
in C arrays are second-class and there is no direct way to return an
array like this; GCC warning triggered because it was actually
just returning a pointer to local storage. Fixed using malloc.

Also fix some obviously wrong usages of sizeof, although they were
relatively harmless. A little other warning quieting using 0 instead of
NULL.
2012-08-17 19:03:01 -06:00
Frederic Koehler c8a5b9671f dtcreate: Fix another buffer overflow issue 2012-08-17 19:02:55 -06:00
Frederic Koehler 466191d669 dtcreate: Fix major buffer overflow
This code always buffer overflowed, because exactly 2 bytes
less than were used were allocated. This led to dtcreate
crashing when hitting "Find Set..."
2012-08-16 19:25:22 -06:00
William Schaub 727b47894c dtdocbook: on some systems SIGLOST = SIGPWR and they should not be in the same case statement. 2012-08-16 16:19:40 -06:00
Marcin Cieslak 0fccc33b17 Provide basic font aliases for FreeBSD
The following font families
(or their aliases) will be used:

-adobe-courier-bold-o-normal--*-
-adobe-courier-bold-r-normal--*-
-adobe-courier-medium-o-normal--*-
-adobe-courier-medium-r-normal--*-
-adobe-helvetica-bold-o-normal--*-
-adobe-helvetica-bold-r-normal--*-
-adobe-helvetica-medium-o-normal--*-
-adobe-helvetica-medium-r-normal--*-
-adobe-symbol-medium-r-normal--*-
-adobe-times-bold-i-normal--*-
-adobe-times-bold-r-normal--*-
-adobe-times-medium-i-normal--*-
-adobe-times-medium-r-normal--*-
-b&h-lucidasans-medium-r-normal-sans-*-
-b&h-lucidatypewriter-bold-r-normal-sans-*-
-b&h-lucidatypewriter-medium-r-normal-sans-*-

The files will be installed in

/usr/dt/config/xfonts/C

This directory should be added to the
X server font path:

   xset fp+ /usr/dt/config/xfonts/C

and/or via

   FontPath         "/usr/dt/config/xfonts/C"

in the "Files" section of the xorg.conf file.
2012-08-16 16:15:52 -06:00
Marcin Cieslak d8db13985c Fix compiler warnings in dtsession 2012-08-16 16:15:49 -06:00
Marcin Cieslak ce4004f86b Modern BSDs don't need union wait
We have

pid_t
wait3(int *status, int options, struct rusage *rusage);

on FreeBSD and we don't need (union wait) handling.

Another good candidate for one #ifdef from imake templates.
We have already OPT_BSD_WAIT in ToolTalk's tt_options.h
2012-08-15 15:58:48 -06:00
Marcin Cieslak a35975a334 FreeBSD does not need extern char *sys_errlist[]
Add preprocessor directives not to try
to redefine sys_errlist[] or sys_nerr

There are already definitions:

 extern __const char *__const sys_errlist[];
 extern __const int sys_nerr;

in <stdio.h>

Actually we should have something like
NeedSysErrlist in imake definitions
to get rid of those #ifdefs.
2012-08-15 15:58:46 -06:00
Ulrich Wilkens 7bdb847210 Process sgml and man files in doc directory for FreeBSD. 2012-08-15 15:56:03 -06:00
Marcin Cieslak 71ddf025fa FreeBSD updates for dtspcd, dtfile and others
* Add libraries where necesary
* Point to Freetype2 includes for dtfile
* Define default manpath
2012-08-15 12:41:31 -06:00
Marcin Cieslak 65218337ef Use $(KORNSHELL) for dtksh as well
This commit updates master at de82eebdd5
to include bits from

   Message-Id: <1344951117-33716-3-git-send-email-saper@saper.info>
   http://thread.gmane.org/gmane.comp.desktop.cde.devel/283/focus=301

not included in the

   Message-Id: <1344951117-33716-1-git-send-email-saper@saper.info>
   http://thread.gmane.org/gmane.comp.desktop.cde.devel/283/focus=299

that was commited as d3206f4514

Also remove two generated files from the repository:
	programs/dtksh/ksh93/man/man1/sh.1
	programs/dtksh/ksh93/man/man3/nval.3

Conflicts:

	cde/programs/dtksh/ksh93/Imakefile
2012-08-14 20:37:07 -06:00
Marcin Cieslak 2562c2cbeb Deal with *.tmp.msg after mkcatdefs failure
BSD make interrupts shell pipeline after
if it cannot run the command:

rm -f Mrm.msg
ln -s ../../../../imports/motif/localized/de_DE.ISO8859-1/msg/Mrm.msg Mrm.msg
Running mkcatdefs for Mrm.cat with LANG set to de_DE.ISO8859-1
(  rm -f Mrm.cat Mrm.tmp.msg;  LANG=de_DE.ISO8859-1;  export LANG;  ../../../../imports/motif/localized/util/mkcatdefs Mrm Mrm.msg -h > Mrm.tmp.msg;  gencat  Mrm.cat Mrm.tmp.msg;  rm -f Mrm.tmp.msg  )
../../../../imports/motif/localized/util/mkcatdefs: not found
*** Error code 127

After this, an empty Mrm.tmp.msg is left.
2012-08-14 20:37:03 -06:00
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
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 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 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
Peter Howkins 47637b0c37 Re-enable dtappbuilder on linux builds. 2012-08-03 17:10:36 +01: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 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 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 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 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 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 157f2e2bf7 nsgmls: Imakefile fixes so it will build 2012-06-19 18:04:53 -06:00
Jon Trulson 8e0523ff02 Remove OS deps from tclPosixStr.c (EOPNOTSUPP/ENOTSUP errnos) 2012-06-19 17:18:00 -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 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
Peter Howkins a34f78b798 convert all Imakefile LinuxDistribution to LinuxArchitecture.
(programs part 2)
2012-05-31 13:47:41 +01:00
Peter Howkins 1d555edb6c Convert all Imakefile LinuxDistribution switches to LinuxArchitecture.
(programs part1)
2012-05-31 13:40:38 +01: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 a2959aa768 dtspcd: fix symlink vulnerability, a couple warnings 2012-05-26 18:57:11 -06:00
Jon Trulson 9a74b54870 Remove dtinfo and dtksh from the build for now 2012-05-26 17:23:03 -06:00
Peter Howkins de621b906b On the gneeric authenticator use shadow password API if under linux,
allows login on dtlogin.
2012-04-19 17:16:50 +01:00
Peter Howkins bc96e6f1ff HACK, instant should not stop on non fatal fatals, this allows building
of 'C' locale help files.
2012-04-14 23:18:17 +01:00
Peter Howkins aa605c16f3 Linux compilation of ttsnoop (Matthew Howkins)
This may contain prexisting 64-bit issues, caused by hammering pointers
into ints.
2012-04-12 19:08:52 +01:00
Peter Howkins 0859109ba0 Linux compilation of dtbuilder (Matthew Howkins) 2012-04-12 17:36:54 +01:00
Peter Howkins 1d97f19166 Linux compilation fixes for dthelp (Matthew Howkins) 2012-04-12 16:21:14 +01:00
Peter Howkins e60d58be07 Linux compilation of nsgmls (Matthew Howkins) 2012-04-11 18:03:23 +01:00
Peter Howkins cc1d109aa9 Linux compilation of dtcm (Calendar), (Matthew Howkins) 2012-04-11 17:33:26 +01:00
Peter Howkins 09f0b16cf3 Fix segfault on file not copyright file not found. Only fclose() a file
handle that has been successfully fopen()ed.
2012-04-11 15:37:12 +01:00
Peter Howkins 7e9a7df246 Add a MainWindow.h include to prevent missing references. 2012-04-02 15:18:51 +01:00
Peter Howkins 24d74bceee Don't declare 'Chunk' as both public and private, that's just daft. 2012-04-02 15:17:50 +01:00
Peter Howkins 145ffe54dd Don't redeclare forceUpdate() with the wrong prototype. 2012-04-02 15:16:58 +01:00
Peter Howkins 7416482cc3 Add -fpermissive to allow compilation of old C++ on modern GCC 2012-04-02 15:16:05 +01:00
Peter Howkins 7795c597af Use a particulaly unpleasant cast to get a void * into an enumeration type. 2012-04-02 15:15:04 +01:00
Peter Howkins dcbef994e0 C++ needs variables to have a type, use int as a default. 2012-04-02 15:14:09 +01:00
Peter Howkins 8f43a96122 On linux use \r instead of ^M as the character for a carridge return. 2012-04-02 15:13:13 +01:00
Peter Howkins 5c6f7d5317 -fpermissive to allow GCC to compile old C++ 2012-04-02 14:56:05 +01:00
Peter Howkins e7de343555 C++ doesn't allow variables to be declared without a type, use 'int' as
a default.
2012-04-02 14:47:47 +01:00
Peter Howkins d929f4cf5f Link with C++ linker 2012-03-23 13:49:49 +00:00
Peter Howkins d2f85af5e5 Don't try to define abs() on linux, stdlib will handle it. 2012-03-23 13:49:24 +00:00
Peter Howkins cc949fccd2 Exceptionally hacky linux fix. gnu gencat is returning != 0 even when it's
succeeding.
2012-03-22 17:05:45 +00:00
Peter Howkins 87eee2f1e5 Link with C++ linker 2012-03-14 13:53:28 +00:00
Peter Howkins 939fc535d1 Prototype static function setRealDelArea() before it is used. 2012-03-14 13:52:14 +00:00
Peter Howkins 32e8c91d44 On linux do not include X11/Xlocale.h but locale.h, this prevents
Xlocale.h redefining setlocate() into _Xsetlocale() that it then can't
find and link against.
2012-03-14 13:50:42 +00:00
Peter Howkins 7294970c18 Namespace ostream and endl into std::
Use <iostream> without the .h
2012-03-13 17:54:48 +00:00
Peter Howkins 167fd854e1 namespace ostream into std::ostream for modern C++ 2012-03-13 17:45:34 +00:00
Peter Howkins 4e71617973 Add in -fpermissive for compiling old C++ on gcc 2012-03-13 17:43:43 +00:00
Peter Howkins 585674c817 Include <iostream> without the .h on modern C++ 2012-03-13 17:41:48 +00:00
Peter Howkins 5d76061f5d On linux ostream and endl need prefixing into the std namespace. 2012-03-13 17:40:21 +00:00
Peter Howkins adf14ccd77 Include <iostream> without the .h on modern C++ 2012-03-13 17:31:56 +00:00
Peter Howkins 3984d5a45b On linux use the system provided libXau rather than one from the imports
directory (that would have linked to the X11 tree).
2012-03-13 17:18:35 +00:00
Peter Howkins d1f3e24eac Use C++ linker
Add in freetype headers

Use system provided -lXdmcp and -Xau instead of trying to compile them
from the imports directory.
2012-03-13 16:15:22 +00:00
Peter Howkins 7d770cff75 These days include standard C++ header files without the .h on the end 2012-03-12 16:43:22 +00:00
Peter Howkins ca8ede6c1f Use C++ linker 2012-03-12 16:27:41 +00:00
Peter Howkins fb174a8ec3 Undo previous method and use __va_copy instead. 2012-03-12 16:27:08 +00:00
Peter Howkins 0456158e41 On linux use the va_copy() func for variable arugment copying 2012-03-12 16:24:24 +00:00
Peter Howkins 63f6536c72 Initialise varargs list in the same way as OSF 2012-03-12 16:19:32 +00:00
Peter Howkins 71e364de5c Do not bother trying to redefine the putenv() function 2012-03-12 16:16:16 +00:00
Peter Howkins 53f42b5113 CLK_TCK is considered obsolete in GCC, use CLOCKS_PER_SEC instead 2012-03-12 16:05:21 +00:00
Peter Howkins 5949e1c410 Do not redefine strdup() on Linux 2012-03-12 16:03:06 +00:00
Peter Howkins 88cc514fbd Use C++ linker 2012-03-12 15:41:09 +00:00
Peter Howkins 5a09544b16 Linux doesn't allow open() with O_CREAT without permission flags anymore. 2012-03-12 15:39:22 +00:00
Peter Howkins baf772785b -fpermissive to allow gcc to compile old C++ 2012-03-12 15:19:36 +00:00
Peter Howkins 77ed6f7ee3 -fpermissive to allow GCC to compile old C++ 2012-03-12 15:18:09 +00:00
Peter Howkins dd2ff6b448 Set untyped variable to int 2012-03-12 15:15:38 +00:00
Peter Howkins e315d4ba3e Setting const variable with no type to 'int' (likely the default the
old compilers would have used)
2012-03-12 15:14:12 +00:00
Peter Howkins cbffec168a Use C++ linker 2012-03-12 14:48:23 +00:00
Peter Howkins a26bc89ad5 Use C++ linker 2012-03-12 14:42:58 +00:00
Peter Howkins c03c12449d use C++ linker 2012-03-12 14:40:34 +00:00
Peter Howkins b368679e95 Use C++ linker 2012-03-12 14:37:47 +00:00
Peter Howkins 72d9ef5875 Add linux to list of platforms that use that form of memset() 2012-03-12 14:35:03 +00:00
Peter Howkins 8631b4f7c0 Link with C++ linker 2012-03-12 12:14:03 +00:00
Peter Howkins eeb7e285f5 On linux use __fds_bits instead of fds_bits 2012-03-12 12:12:41 +00:00
Peter Howkins a5b6e62764 Link with C++ linker 2012-03-12 12:07:09 +00:00
Peter Howkins fd23228803 -fpermissive to allow old C++ to compile on gcc 2012-03-12 12:04:55 +00:00
Peter Howkins 7ed2353605 On Linux no access to pre iso C varargs.h 2012-03-12 11:56:11 +00:00
Peter Howkins ef1755be43 Link with C++ linker 2012-03-12 11:45:18 +00:00
Peter Howkins 44baf5431b Link with C++ linker 2012-03-12 11:33:49 +00:00
Peter Howkins 68027a6aa0 Link with C++ linker 2012-03-12 11:27:37 +00:00
Peter Howkins b069127485 Linux has the same value for ENOTSUP as another var, therefore protect one
to prevent a duplicate case issue in the switch().
2012-03-12 11:26:01 +00:00
Peter Howkins 12598a4780 Link with C++ linker 2012-03-12 11:19:46 +00:00
Peter Howkins 4d9bb3d348 Link with C++ linker 2012-03-12 11:19:04 +00:00
Peter Howkins 9ad5e31edd Link with C++ linker 2012-03-12 11:17:27 +00:00
Peter Howkins 7d5fcc4400 Link with C++ linker 2012-03-12 11:16:41 +00:00
Peter Howkins ce390d1290 Link with C++ linker 2012-03-12 11:11:10 +00:00
Peter Howkins bd368b24a2 Link with C++ linker 2012-03-12 11:01:17 +00:00
Peter Howkins 0e302b6bba Add in freetype directory to inlude path 2012-03-12 10:41:53 +00:00
Peter Howkins f972ee1646 On Linux when linking against a C++ library the whole program must be linked
with the C++ linker.
2012-03-12 10:38:42 +00:00
Peter Howkins c35c337aa1 When linking against libtt (a C++ lib) the link stage should use the C++
linker
2012-03-12 00:48:04 +00:00
Peter Howkins c884521619 Add GNU LGPL headers to all .c .C and .h files 2012-03-10 18:58:32 +00:00
Peter Howkins 83b6996daa Initial import of the CDE 2.1.30 sources from the Open Group. 2012-03-10 18:21:40 +00:00