Commit Graph

58 Commits

Author SHA1 Message Date
Jon Trulson
20cad57cd4 dtsession: fix screen saver/locking on linux
The POSIX __linux__ commit broke the special detection on linux used
to determine whether a secure system was in use or not.

This commit reworks the logic a little bit to avoid special casing
linux in main().

It also reworks the logic in CanReAuthenticate() to fix up some issues
"fixed" to correct converity warnings.  The logic in this case was
mostly ok, but still didn't account for the proper usage of this
function.  Error detection improved somewhat as a result.
2018-05-31 22:23:19 -06:00
chase
809c3d8bb6 Spelling fixes 2018-05-31 22:23:19 -06:00
Ulrich Wilkens
885b65a09a Fixes for OpenBSD 2018-05-31 21:48:07 -06:00
chase
4f5e7fe5e3 Use POSIX macros for linux 2018-05-24 18:22:55 -06:00
chase
164e695cd0 remove OSF1 support 2018-05-24 14:25:26 -06:00
chase
07900bd93b Remove Unixware and openserver support 2018-05-20 12:13:07 -06:00
chase
8a4f389634 Remove UXPDS support 2018-05-15 20:27:22 -06:00
Peter Howkins
f2c6a48d72 dtsession: A few extra snprintf's for buffer safety 2018-04-29 02:11:23 +01:00
chase
33d2749ea3 Last of the spelling fixed 2018-04-28 12:36:44 -06:00
chase
6d3a19d8f9 Even more spelling fixed 2018-04-28 12:36:33 -06:00
chase
1fe5a550b2 Fix typo in license headers 2018-04-28 12:30:20 -06:00
Jon Trulson
17101b6f4c Enable TIRPC support for Linux
This is enabled by default.  To disable, add:

in the config/cf/site.def or host.def file.

You will need to have the libtirpc-dev package installed.

The benefit is that you will no longer need to run rpcbind in insecure
mode (the -i option).  There are other benefits we may be able to take
advantage of in the future, like supporting IPV6 for ToolTalk.
2018-04-12 21:00:34 -06:00
Peter Howkins
637abd5d5c Resolve some coverity warnings 2018-03-08 23:03:21 +00:00
Peter Howkins
2ea057d511 Disable all code related to libXp
deprecated and mostly no longer included on current OSes
2016-04-20 20:17:22 +01:00
alx
ed2c149bfc dtsession: Enable X11 screensaver extension on FreeBSD 2016-04-18 19:16:47 -06:00
alx
cbd5abb33a dtsession: fixed errorlog rotation 2015-07-02 17:50:16 -06:00
Jon Trulson
4dae64c891 dtsession/SrvPalette: fix CID 89227 2014-12-27 20:09:09 -07:00
Jon Trulson
722cfc70eb dtsession/SrvFile_io: fix CID's 88299 and 89441 2014-12-27 20:06:53 -07:00
Jon Trulson
aa2daba4af dtsession/SmUI: fix tainted var (CID 88216) 2014-12-27 19:52:37 -07:00
Jon Trulson
db8280189d dtsession/SmSave: use absolute path to rm in system() 2014-12-27 19:42:21 -07:00
Jon Trulson
e02c703af7 dtsession/SmSave: get rid of use of tempnam (CID 89359) 2014-12-27 19:33:03 -07:00
Jon Trulson
7c702bff6e dtsession/SmRestore: redo defaultCwd detection in StartClient() to be safer 2014-12-27 19:01:30 -07:00
Jon Trulson
a657f302f7 dtsession/SmRestore: fixup 8 coverity issues. 2014-12-27 18:19:55 -07:00
Jon Trulson
65dcf12c82 dtsession/SmGlobals: re-add smGD.savePath to generated paths, was lost in mkstemp changes. 2014-12-27 17:50:28 -07:00
Jon Trulson
93783917ab dtsession/SmGlobals: unlink mkstemp generated files. 2014-12-27 17:24:04 -07:00
Jon Trulson
4b38955b01 dtsession/SmGlobals: use of tainted string (CID 89450) 2014-12-27 16:12:45 -07:00
Jon Trulson
1bde7d8c5c dtsession/SmLock: potential null deref (CID 87561, 87957, 88181) 2014-12-27 16:06:23 -07:00
Jon Trulson
f14df58edb dtsession/SmDB: error handling issues (CID 87778, 87926) 2014-12-27 15:54:55 -07:00
Jon Trulson
1148ae8794 dtsession/SmCommun: fix bogus check (CID 89326) 2014-12-27 15:50:29 -07:00
Jon Trulson
881b0e1ed0 dtsession/SmGlobals: fixup 17 coverity issues. 2014-12-27 15:42:04 -07:00
Jon Trulson
611dda1831 dtsession: Coverity (memory corruption, moderate) 2014-12-26 17:23:16 -07:00
Jon Trulson
07dc336b96 dtsession: Coverity (memory corruption) 2014-12-26 14:24:31 -07:00
Jon Trulson
b41a74b595 dtsession: Coverity (memory corruption) 2014-12-26 14:22:05 -07:00
Ulrich Wilkens
01d6c363fa OpenIndiana and Solaris port 2014-10-28 13:40:11 -06:00
Jon Trulson
5f99b8045b dtsession: screensaver don't pass random attributes to XScreenSaverSetAttributes()
This should fix the "tiny window appearing in the screensavers"
problem.
2014-04-05 18:09:01 -06:00
Eugene Doudine
cd82567977 Fixes the bug #17 dtsession can't validate passwords longer than 8 characters when the session is locked 2014-03-23 13:53:44 -06:00
Ulrich Wilkens
2712d5f787 NetBSD port 2014-02-22 19:12:19 -07:00
Ulrich Wilkens
2d08153289 correction of message files 2013-09-15 19:35:53 -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
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
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
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
d8db13985c Fix compiler warnings in dtsession 2012-08-16 16:15:49 -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
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
3edce2a0c0 sys.resources.src: make HIGH_COLOR the default 2012-07-24 17:51:29 -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