# dklibs 1.23.1

- Overview
- Download
- Installation
- Installation from source on Windows systems
- Usage
- FAQ
- Change log
- Other projects
- Tutorial
- Developer docu
- stc
- tracecc and trana
- tracecc GUI
- tracecc PDF man.
- API: sort and search
- API: Generic I/O
- Preferences
- File search
- Font configuration
- LaTeX encodings
- Security

## Security

- Overview
- Functions to avoid in SUID/SGID programs, networking daemons and services
- Functions to use with care in SUID/SGID programs, networking daemons and services

### Overview

Some of the functions in the dklibs library return built-in default values or values obtained from environment variables if they fail to obtain some information from system functions.
This is intended for application development, if an application is not fully configured it should do best possible recovery and attempt to run.

For SUID/SGID programs, daemons or services this might be dangerous, these programs should not guess configuration settings, they should print an error message to remind the user or administrator to complete the configuration and exit.

So there are functions you should not use at all in such programs.
For other functions you should check whether or not they can be used on the current system before processing information returned by these functions.

### Functions to avoid in SUID/SGID programs, networking daemons and services

- all functions from the dkapp module,
- dksf_get_uname(),
- dksf_get_euname(),
- dksf_get_home(),
- dksf_get_ehome(),
- dksf_get_hostname(),
- dksf_get_tempdir(),
- dksf_get_domainname() and
- dksf_get_executable()

### Functions to use with care in SUID/SGID programs, networking daemons and services

For

- dksf_getpid(),
- dksf_getppid(),
- dksf_getuid(),
- dksf_getgid(),
- dksf_geteuid(),
- dksf_getegid(),
- dksf_getpgrp() and
- dksf_getpgid()

you should use dksf_have_getpid() ... to check whether the functions return useful information.