diff options
104 files changed, 3427 insertions, 1888 deletions
diff --git a/doc/boot_config_vars b/doc/boot_config_vars index 07866031..1ea182d4 100644 --- a/doc/boot_config_vars +++ b/doc/boot_config_vars @@ -52,8 +52,20 @@ remote logging: SLX_REMOTE_LOG URL where to post log to, eg. 'http://server/log.php' POST variables: type, description, longdesc -partitioner & setp partitions: - +user-specific shares (the 'n' in the variable name is a numerical (!) identifier for the share): +SLX_SHARE_n_PATH Network path to the share, e.g. //cifs.server/sharename +SLX_SHARE_n_AUTH_TYPE Type of authentication. Type 'guest' means no authentication + is required for mounting the share. Type 'pam' means to use the same credentials as the + user logging in. Type 'user' means the credentials defined by SLX_SHARE_n_AUTH_USER and +SLX_SHARE_n_AUTH_PASS will be used. This option is mandatory. +SLX_SHARE_n_AUTH_USER Only required if SLX_SHARE_n_AUTH_TYPE is 'user'. Defines the + username to use for authenticating the mount of the share. +SLX_SHARE_n_AUTH_PASS Only required if SLX_SHARE_n_AUTH_TYPE is 'user'. Defines the + password to use for authenticating the mount of the share. +SLX_SHARE_n_PERM Permissions for the share. Supports 'rw' and 'ro'. Defaults to 'ro'. + + +partitioner & setup partitions: SLX_PARTITION_TYPE='GPT|msdos' #Choose partition table type, if variable is not set partitioner #will ask user or in silent mode use 'msdos' as default @@ -82,4 +94,3 @@ SLX_PARTITION_TABLE=' 44,10G,/tmp 45,10G,/var/scratch 82,4G' - @@ -124,7 +124,7 @@ check_devtools() { ;; # FIXME: Don't know how precise this filter works so we might want to have a better matching ... opensuse) - pinfo "zypper install gcc gcc-c++ make m4 binutils git module-init-tools patch squashfs pkg-config" + pinfo "zypper install gcc gcc-c++ make m4 binutils git module-init-tools patch squashfs pkg-config cmake" pinfo "to install missing development tools." ;; fedora | scientific | centos) diff --git a/remote/modules/alsa/module.conf.opensuse b/remote/modules/alsa/module.conf.opensuse index 17651c29..a9ba1d50 100644 --- a/remote/modules/alsa/module.conf.opensuse +++ b/remote/modules/alsa/module.conf.opensuse @@ -3,3 +3,8 @@ REQUIRED_CONTENT_PACKAGES=" alsa libasound2 " +REQUIRED_INSTALLED_PACKAGES=" + alsa-utils + alsa + libasound2 +" diff --git a/remote/modules/beamergui/module.build b/remote/modules/beamergui/module.build index 2ff35bfc..1afde34e 100644 --- a/remote/modules/beamergui/module.build +++ b/remote/modules/beamergui/module.build @@ -6,6 +6,11 @@ fetch_source() { build() { local SRCDIR="${MODULE_DIR}/src/" + if [[ "$SYS_DISTRIBUTION" == "opensuse" && "$SYS_VERSION" == "13.2" ]]; then + QMAKE="/usr/$LIB64/qt4/bin/qmake" + else + QMAKE="$(which qmake-qt4)" + fi # first activate qt 4 activate_qt 4 @@ -13,7 +18,7 @@ build() { mkdir -p "$MODULE_BUILD_DIR/opt/openslx/bin" cd "${MODULE_BUILD_DIR}/opt/openslx/bin" || perror "Could not cd!" pinfo "Running qmake" - qmake-qt4 "$SRCDIR/src/beamergui.pro" -r -spec linux-g++ || perror "'qmake-qt4' failed (e.g. not installed)." + "$QMAKE" "$SRCDIR/src/beamergui.pro" -r -spec linux-g++ || perror "'qmake-qt4' failed (e.g. not installed)." pinfo "Running make" make || perror "'make' failed." } diff --git a/remote/modules/beamergui/module.conf.opensuse b/remote/modules/beamergui/module.conf.opensuse new file mode 100644 index 00000000..01586fe3 --- /dev/null +++ b/remote/modules/beamergui/module.conf.opensuse @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" +libqt4-devel +libxrandr-devel +" +REQUIRED_CONTENT_PACKAGES=" +libqt4-devel +libXrandr-devel +" diff --git a/remote/modules/cups/module.conf.opensuse.13.2 b/remote/modules/cups/module.conf.opensuse.13.2 new file mode 100644 index 00000000..ebe832dd --- /dev/null +++ b/remote/modules/cups/module.conf.opensuse.13.2 @@ -0,0 +1,12 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-libs + cups-filters-foomatic-rip + ghostscript +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-libs + cups-filters-foomatic-rip + ghostscript +" diff --git a/remote/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script b/remote/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script index f034553c..ad74def0 100755 --- a/remote/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script +++ b/remote/modules/idleaction/data/opt/openslx/scripts/idleaction-cron_script @@ -11,7 +11,7 @@ NOW=$(date +%s) # # 1) Check for idle timeout # -if [ -n "${SLX_LOGOUT_TIMEOUT}" ]; then +if [ -n "${SLX_LOGOUT_TIMEOUT}" ] && [ "${SLX_LOGOUT_TIMEOUT}" -gt 0 ]; then # Logout timeout is set, see which users we should kick IS_IDLE=yes # get all sessions @@ -84,7 +84,7 @@ fi # # 2) Check for no-session-shutdown timeout # -if [ -n "$SLX_SHUTDOWN_TIMEOUT" ] && [ -e "$IDLEHINT" ]; then +if [ -n "${SLX_SHUTDOWN_TIMEOUT}" ] && [ "${SLX_SHUTDOWN_TIMEOUT}" -gt 0 ] && [ -e "$IDLEHINT" ]; then IDLE=$(cat "$IDLEHINT") [ "$IDLE" -gt "$NOW" ] && IDLE="$NOW" IDLE=$(( $NOW - $IDLE )) diff --git a/remote/modules/ncp/module.build b/remote/modules/ncp/module.build new file mode 100644 index 00000000..d8250512 --- /dev/null +++ b/remote/modules/ncp/module.build @@ -0,0 +1,26 @@ +#!/bin/bash + +fetch_source() { + + # Distribution switch: Ubuntu 14.04 dropped packages ncpfs and libncp: + if [[ "$SYS_DISTRIBUTION" == "ubuntu" && "$SYS_VERSION" == "14.04" ]]; then + for file in $REQUIRED_DOWNLOAD_URLS; do + local package="$(basename $file)" + pinfo "Downloading and installing package $package ..." + download_if_empty "$file" "src/$package" + dpkg -i "src/$package" || perror "Could not install package $package." + done + fi +} + +build() { + local COPYLIST="$MODULE_BUILD_DIR/list_packet_files" + # TODO: Hack for SUSE: Ignore file (/var/lib/nfs/state) that does not exist :( + list_packet_files | grep -v '/var/lib/nfs/state' | sort -u > "$COPYLIST" + tarcopy "$(cat "$COPYLIST")" "${MODULE_BUILD_DIR}" + +} + +post_copy() { + : +} diff --git a/remote/modules/ncp/module.conf b/remote/modules/ncp/module.conf new file mode 100644 index 00000000..4ed03cdc --- /dev/null +++ b/remote/modules/ncp/module.conf @@ -0,0 +1,8 @@ +REQUIRED_BINARIES=" +" +REQUIRED_LIBRARIES=" +" +REQUIRED_DIRECTORIES=" +" +REQUIRED_SYSTEM_FILES=" +" diff --git a/remote/modules/ncp/module.conf.debian b/remote/modules/ncp/module.conf.debian new file mode 100644 index 00000000..fad69af5 --- /dev/null +++ b/remote/modules/ncp/module.conf.debian @@ -0,0 +1,26 @@ +REQUIRED_INSTALLED_PACKAGES=" + ncpfs + libncp +" +REQUIRED_CONTENT_PACKAGES=" + ncpfs + libncp +" +REQUIRED_BINARIES+=" + nwmsg + ncpmount + ncpumount + mount.ncp + mount.ncpfs +" +REQUIRED_DIRECTORIES+=" + /usr +" + +# For Debian 8: Both packages were dropped from official repos. Do not change the +# order, as these packages will be installed via dpkg and depend on each other. +REQUIRED_DOWNLOAD_URLS=" + ftp.acc.umu.se/mirror/cdimage/snapshot/Debian/pool/main/n/ncpfs/libpam-ncp_2.2.6-9_amd64.deb + ftp.acc.umu.se/mirror/cdimage/snapshot/Debian/pool/main/n/ncpfs/libncp_2.2.6-9_amd64.deb + ftp.acc.umu.se/mirror/cdimage/snapshot/Debian/pool/main/n/ncpfs/ncpfs_2.2.6-9_amd64.deb +" diff --git a/remote/modules/ncp/module.conf.ubuntu b/remote/modules/ncp/module.conf.ubuntu new file mode 100644 index 00000000..c1914103 --- /dev/null +++ b/remote/modules/ncp/module.conf.ubuntu @@ -0,0 +1,17 @@ +REQUIRED_INSTALLED_PACKAGES=" + ncpfs +" +REQUIRED_CONTENT_PACKAGES=" + libncp + ncpfs +" +REQUIRED_BINARIES+=" + nwmsg + ncpmount + ncpumount + mount.ncp + mount.ncpfs +" +REQUIRED_DIRECTORIES+=" + /usr +" diff --git a/remote/modules/ncp/module.conf.ubuntu.14 b/remote/modules/ncp/module.conf.ubuntu.14 new file mode 100644 index 00000000..acb2f629 --- /dev/null +++ b/remote/modules/ncp/module.conf.ubuntu.14 @@ -0,0 +1,24 @@ +REQUIRED_INSTALLED_PACKAGES=" +" +REQUIRED_CONTENT_PACKAGES=" + libncp + ncpfs +" +REQUIRED_BINARIES+=" + nwmsg + ncpmount + ncpumount + mount.ncp + mount.ncpfs +" +REQUIRED_DIRECTORIES+=" + /usr +" + +# For Ubuntu 14.04: Both packages were dropped from official repos. Do not change the +# order, as these packages will be installed via dpkg and depend on each other. +REQUIRED_DOWNLOAD_URLS=" + de.archive.ubuntu.com/ubuntu/pool/universe/n/ncpfs/libncp_2.2.6-9ubuntu1_amd64.deb + de.archive.ubuntu.com/ubuntu/pool/universe/n/ncpfs/libpam-ncp_2.2.6-9ubuntu1_amd64.deb + de.archive.ubuntu.com/ubuntu/pool/universe/n/ncpfs/ncpfs_2.2.6-9ubuntu1_amd64.deb +" diff --git a/remote/modules/netpoint-lightdm/data/etc/lightdm/lightdm.conf b/remote/modules/netpoint-lightdm/data/etc/lightdm/lightdm.conf new file mode 100644 index 00000000..3e78eb50 --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/etc/lightdm/lightdm.conf @@ -0,0 +1,164 @@ +# +# General configuration +# +# start-default-seat = True to always start one seat if none are defined in the configuration +# greeter-user = User to run greeter as +# minimum-display-number = Minimum display number to use for X servers +# minimum-vt = First VT to run displays on +# lock-memory = True to prevent memory from being paged to disk +# user-authority-in-system-dir = True if session authority should be in the system location +# guest-account-script = Script to be run to setup guest account +# logind-check-graphical = True to on start seats that are marked as graphical by logind +# log-directory = Directory to log information to +# run-directory = Directory to put running state in +# cache-directory = Directory to cache to +# sessions-directory = Directory to find sessions +# remote-sessions-directory = Directory to find remote sessions +# greeters-directory = Directory to find greeters +# +[LightDM] +#start-default-seat=true +#greeter-user=lightdm +#minimum-display-number=0 +minimum-vt=1 +#lock-memory=true +#user-authority-in-system-dir=false +guest-account-script=/usr/local/bin/guest-account +#logind-check-graphical=false +#log-directory=/var/log/lightdm +run-directory=/run/lightdm +#cache-directory=/var/cache/lightdm +#sessions-directory=/usr/share/lightdm/sessions:/usr/share/xsessions +#remote-sessions-directory=/usr/share/lightdm/remote-sessions + +greeters-directory=/usr/local/share/xgreeters:/usr/share/lightdm/greeters:/usr/share/xgreeters + +# +# Seat defaults +# +# type = Seat type (xlocal, xremote) +# pam-service = PAM service to use for login +# pam-autologin-service = PAM service to use for autologin +# pam-greeter-service = PAM service to use for greeters +# xserver-command = X server command to run (can also contain arguments e.g. X -special-option) +# xserver-layout = Layout to pass to X server +# xserver-config = Config file to pass to X server +# xserver-allow-tcp = True if TCP/IP connections are allowed to this X server +# xserver-share = True if the X server is shared for both greeter and session +# xserver-hostname = Hostname of X server (only for type=xremote) +# xserver-display-number = Display number of X server (only for type=xremote) +# xdmcp-manager = XDMCP manager to connect to (implies xserver-allow-tcp=true) +# xdmcp-port = XDMCP UDP/IP port to communicate on +# xdmcp-key = Authentication key to use for XDM-AUTHENTICATION-1 (stored in keys.conf) +# unity-compositor-command = Unity compositor command to run (can also contain arguments e.g. unity-system-compositor -special-option) +# unity-compositor-timeout = Number of seconds to wait for compositor to start +# greeter-session = example-greeter +# greeter-hide-users = True to hide the user list +# greeter-allow-guest = True if the greeter should show a guest login option +# greeter-show-manual-login = True if the greeter should offer a manual login option +# greeter-show-remote-login = True if the greeter should offer a remote login option +# user-session = Session to load for users +# allow-user-switching = True if allowed to switch users +# allow-guest = True if guest login is allowed +# guest-session = Session to load for guests (overrides user-session) +# session-wrapper = Wrapper script to run session with +# greeter-wrapper = Wrapper script to run greeter with +# guest-wrapper = Wrapper script to run guest sessions with +# display-setup-script = Script to run when starting a greeter session (runs as root) +# display-stopped-script = Script to run after stopping the display server (runs as root) +# greeter-setup-script = Script to run when starting a greeter (runs as root) +# session-setup-script = Script to run when starting a user session (runs as root) +# session-cleanup-script = Script to run when quitting a user session (runs as root) +# autologin-guest = True to log in as guest by default +# autologin-user = User to log in with by default (overrides autologin-guest) +# autologin-user-timeout = Number of seconds to wait before loading default user +# autologin-session = Session to load for automatic login (overrides user-session) +# autologin-in-background = True if autologin session should not be immediately activated +# exit-on-failure = True if the daemon should exit if this seat fails +# +[SeatDefaults] +#type=xlocal +#pam-service=lightdm +#pam-autologin-service=lightdm-autologin +#pam-greeter-service=lightdm-greeter +#xserver-command=X +#xserver-layout= +#xserver-config= +#xserver-allow-tcp=false +#xserver-share=true +#xserver-hostname= +#xserver-display-number= +#xdmcp-manager= +#xdmcp-port=177 +#xdmcp-key= +#unity-compositor-command=unity-system-compositor +#unity-compositor-timeout=60 + +greeter-session=netpoint + +greeter-hide-users=false +greeter-allow-guest=true +#greeter-show-manual-login=false +#greeter-show-remote-login=true +#user-session=default +#allow-user-switching=true +allow-guest=true + +guest-session=/usr/bin/icewm + +# Keine Ahnung session-wrapper=/etc/lightdm/Xsession + +#greeter-wrapper= +guest-wrapper=/usr/local/bin/guest-session +#display-setup-script= +#display-stopped-script= +#greeter-setup-script= +session-setup-script=/usr/local/bin/guest-setup +session-cleanup-script=/usr/local/bin/guest-cleanup +#autologin-guest=true +#autologin-user= +#autologin-user-timeout=0 +#autologin-in-background=false +#autologin-session=UNIMPLEMENTED +#exit-on-failure=false + +# +# Seat configuration +# +# Each seat must start with "Seat:". +# Uses settings from [SeatDefaults], any of these can be overriden by setting them in this section. +# +#[Seat:0] + +# +# XDMCP Server configuration +# +# enabled = True if XDMCP connections should be allowed +# port = UDP/IP port to listen for connections on +# key = Authentication key to use for XDM-AUTHENTICATION-1 or blank to not use authentication (stored in keys.conf) +# +# The authentication key is a 56 bit DES key specified in hex as 0xnnnnnnnnnnnnnn. Alternatively +# it can be a word and the first 7 characters are used as the key. +# +[XDMCPServer] +#enabled=false +#port=177 +#key= + +# +# VNC Server configuration +# +# enabled = True if VNC connections should be allowed +# command = Command to run Xvnc server with +# port = TCP/IP port to listen for connections on +# width = Width of display to use +# height = Height of display to use +# depth = Color depth of display to use +# +[VNCServer] +#enabled=false +#command=Xvnc +#port=5900 +#width=1024 +#height=768 +#depth=8 diff --git a/remote/modules/netpoint-lightdm/data/etc/sysconfig/displaymanager b/remote/modules/netpoint-lightdm/data/etc/sysconfig/displaymanager new file mode 100644 index 00000000..9a64a124 --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/etc/sysconfig/displaymanager @@ -0,0 +1,113 @@ +## Path: Desktop/Display manager +## Type: string(Xorg) +## Default: "Xorg" +# +DISPLAYMANAGER_XSERVER="Xorg" +## Path: Desktop/Display manager +## Description: settings to generate a proper displaymanager config + +## Type: string(kdm,xdm,gdm,wdm,entrance,console,lightdm,sddm) +## Default: "" +# +# Here you can set the default Display manager (kdm/xdm/gdm/wdm/entrance/console). +# all changes in this file require a restart of the displaymanager +# +# DISPLAYMANAGER="kdm" +DISPLAYMANAGER="lightdm" + +## Type: yesno +## Default: no +# +# Allow remote access (XDMCP) to your display manager (xdm/kdm/gdm). Please note +# that a modified kdm or xdm configuration, e.g. by KDE control center +# will not be changed. For gdm, values will be updated after change. +# XDMCP service should run only on trusted networks and you have to disable +# firewall for interfaces, where you want to provide this service. +# +DISPLAYMANAGER_REMOTE_ACCESS="no" + +## Type: yesno +## Default: no +# +# Allow remote access of the user root to your display manager. Note +# that root can never login if DISPLAYMANAGER_SHUTDOWN is "auto" and +# System/Security/Permissions/PERMISSION_SECURITY is "paranoid" +# +DISPLAYMANAGER_ROOT_LOGIN_REMOTE="no" + +## Type: yesno +## Default: yes +# +# Let the displaymanager start a local Xserver. +# Set to "no" for remote-access only. +# Set to "no" on architectures without any Xserver (e.g. s390/s390x). +# +DISPLAYMANAGER_STARTS_XSERVER="yes" + +## Type: yesno +## Default: no +# +# TCP port 6000 of Xserver. When set to "no" (default) Xserver is +# started with "-nolisten tcp". Only set this to "yes" if you really +# need to. Remote X service should run only on trusted networks and +# you have to disable firewall for interfaces, where you want to +# provide this service. Use ssh X11 port forwarding whenever possible. +# +DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="no" + +## Type: string +## Default: +# +# Define the user whom should get logged in without request. If string +# is empty, display standard login dialog. +# +DISPLAYMANAGER_AUTOLOGIN="" + +## Type: yesno +## Default: no +# +# Allow all users to login without password, but ask for the user, if +# DISPLAYMANAGER_AUTOLOGIN is empty. +# +DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no" + +## Type: yesno +## Default: no +# +# Display a combobox for Active Directory domains. +# +DISPLAYMANAGER_AD_INTEGRATION="no" + +## Type: list(root,all,none,auto) +## Default: auto +# +# Determine who will be able to shutdown or reboot the system in kdm. Valid +# values are: "root" (only root can shutdown), "all" (everybody can shutdown), +# "none" (nobody can shutdown from displaymanager), "auto" (follow +# System/Security/Permissions/PERMISSION_SECURITY to decide: "easy local" is +# equal to "all", everything else is equal to "root"). gdm respects the +# PolicyKit settings for ConsoleKit. Shutdown configuration can be done via +# the polkit-default-privs mechanism. +# +DISPLAYMANAGER_SHUTDOWN="auto" +## Path: Desktop/Display manager +## Description: settings to generate a proper displaymanager config +## Config: kdm + +## Type: string +## Default: +# +# Defines extra Server Arguments given to the kdm display manager when +# starting a local display. Useful to override e.g. the -dpi setting. +# +DISPLAYMANAGER_KDM_LOCALARGS="" + +## Type: yesno +## Default: yes +# +# Allow local access of the user root to your display manager. Note +# that root can never login if DISPLAYMANAGER_SHUTDOWN is "auto" and +# System/Security/Permissions/PERMISSION_SECURITY is "paranoid". +# This settings currently works only with KDM. +# +DISPLAYMANAGER_ROOT_LOGIN_LOCAL="yes" diff --git a/remote/modules/netpoint-lightdm/data/etc/sysconfig/windowmanager b/remote/modules/netpoint-lightdm/data/etc/sysconfig/windowmanager new file mode 100644 index 00000000..12120320 --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/etc/sysconfig/windowmanager @@ -0,0 +1,51 @@ +## Type: string +## Default: +## Path: Desktop +## Description: default mouse cursor theme +# +# Name of mouse cursor theme for X11. Possible themes can be found +# in /usr/share/icons/ +# +X_MOUSE_CURSOR="DMZ" +## Path: Desktop/Window manager +## Description: +## Type: string(gnome,kde4,kde,lxde,xfce,twm,icewm) +## Default: kde4 +## Config: profiles,kde,susewm +# +# Here you can set the default window manager (kde, fvwm, ...) +# changes here require at least a re-login +# DEFAULT_WM="kde-plasma" +DEFAULT_WM="xfce" + +## Type: yesno +## Default: yes +# +# install the SuSE extension for new users +# (theme and additional functions) +# +INSTALL_DESKTOP_EXTENSIONS="yes" +## Path: Desktop +## Description: prepare global sycoca database for faster first startup +## Type: list(yes,initial,no) +## Default: initial +# +# building a global sycoca database, which can be used at first user +# login in KDE +# +KDE_BUILD_GLOBAL_SYCOCA="initial" + +## Type: yesno +## Default: yes +# +# To disable IPv6 support within KDE. It might solve large timeouts due to +# broken servers which claim to have IPv6 support, but do not respond. +# +KDE_USE_IPV6="yes" + +## Type: yesno +## Default: yes +# +# IDN support can get disabled to avoid DNS phishing for example. +# +KDE_USE_IDN="yes" diff --git a/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-account b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-account new file mode 100644 index 00000000..3eed0efc --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-account @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "demo" diff --git a/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-cleanup b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-cleanup new file mode 100755 index 00000000..32179cec --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-cleanup @@ -0,0 +1,8 @@ +#!/bin/sh + +IPTABLES=$(/usr/bin/which iptables) + +"$IPTABLES" -F +"$IPTABLES" -P INPUT ACCEPT +"$IPTABLES" -P FORWARD ACCEPT +"$IPTABLES" -P OUTPUT ACCEPT diff --git a/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-session b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-session new file mode 100755 index 00000000..2c22a68c --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-session @@ -0,0 +1,4 @@ +#!/bin/sh + +exec /usr/bin/icewm & +# exec /usr/bin/firefox diff --git a/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-setup b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-setup new file mode 100755 index 00000000..cb6791fc --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/bin/guest-setup @@ -0,0 +1,25 @@ +#!/bin/sh + +IPTABLES=$(/usr/bin/which iptables) + +# reset +"$IPTABLES" -F INPUT +"$IPTABLES" -F FORWARD +"$IPTABLES" -F OUTPUT + +if [ "x${USER}" = "xdemo" ]; then + # filter out the internetz + "$IPTABLES" -P INPUT DROP + "$IPTABLES" -P FORWARD DROP + "$IPTABLES" -P OUTPUT DROP + + # block internetz + "$IPTABLES" -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + "$IPTABLES" -A OUTPUT -d 132.230.0.0/16 -j ACCEPT + "$IPTABLES" -A OUTPUT -d 10.0.0.0/8 -j ACCEPT +else + "$IPTABLES" -P INPUT ACCEPT + "$IPTABLES" -P FORWARD ACCEPT + "$IPTABLES" -P OUTPUT ACCEPT + +fi diff --git a/remote/modules/netpoint-lightdm/data/usr/local/bin/netpoint.py b/remote/modules/netpoint-lightdm/data/usr/local/bin/netpoint.py new file mode 100755 index 00000000..635fb03f --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/bin/netpoint.py @@ -0,0 +1,215 @@ +#!/usr/bin/python +# +# Author: Matt Fischer <matthew.fischer@canonical.com> +# Copyright (C) 2012 Canonical, Ltd +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation, either version 3 of the License, or (at your option) any later +# version. See http://www.gnu.org/copyleft/gpl.html the full text of the +# license. +# +# This code is based on the LightDM GTK Greeter which was written by: +# Robert Ancell <robert.ancell@canonical.com> + +# required packages: +# liblightdm-gobject-1-0 +# gir1.2-lightdm-1 +# python-gobject +# gir1.2-glib-2.0 +# gir1.2-gtk-3.0 + +from gi.repository import GObject +from gi.repository import GLib +from gi.repository import Gtk +from gi.repository import Gdk +from gi.repository import GdkPixbuf +from gi.repository.GdkPixbuf import InterpType +from gi.repository import LightDM +import sys + +greeter = None + +main = None +split = None + +guest_box = None +guest_text = None +guest_button = None +guest_image = None + +login_box = None +login_text = None +user_box = None +user_text = None +user_username = None +pass_box = None +pass_text = None +pass_password = None + +prompt_box = None +prompt_label = None +prompt_entry = None +message_label = None + +# This Gtk signal is called when the user hits enter after entering a +# username/password or clicks the login button. Since we re-purposed +# the text entry box, we have 3 possible cases to handle here. +# 1) the user is already authenticated, if for example, they don't have +# a password set. +# 2) The username has been passed into LightDM and now we need to pass +# the password +# 3) The username has been entered, but not passed in. We pass it in +# and start the authentication process. +def login_cb(widget): + print >> sys.stderr, "login_cb" + if greeter.get_is_authenticated(): + print >> sys.stderr, "user is already authenticated, starting session" + #start_session() + elif greeter.get_in_authentication(): + print >> sys.stderr, "username was passed in already, send password to LightDM" + print >> sys.stderr, greeter.get_authentication_user() + greeter.respond(pass_password.get_text()) + else: + print >> sys.stderr, "Initial entry of username, send it to LightDM" + greeter.authenticate(user_username.get_text()) + +def guest_cb(widget): + print >> sys.stderr, "guest_cb" + if greeter.get_has_guest_account_hint(): + print >> sys.stderr, "Guest accounts supported" + greeter.authenticate_as_guest() + else: + print >> sys.stderr, "Guest accounts not supported" + + +# Gtk Signal Handlers +handlers = { + "login_cb": login_cb, + "guest_cb": guest_cb +} + +# The show_prompt callback is oddly named, but when you get this +# callback you are supposed to send the password to LightDM next. In +# our example, we re-purpose the prompt and ask the user for the +# password which is then sent the next time the user hits the Login +# button or presses enter. +def show_prompt_cb(greeter, text, promptType): + print >> sys.stderr, "Prompt type: " + str(promptType) + print >> sys.stderr, "Text: " + str(text) + # if this is a password prompt, we want to hide the characters + if promptType == LightDM.PromptType.SECRET: + pass_password.set_visibility(False) + else: + pass_password.set_visibility(True) + greeter.respond(pass_password.get_text()) + + +# If LightDM sends a message back to the greeter, for example, "Login +# failed" or "invalid password" we display it in our message box. +def show_message_cb(text, message_type): + print >> sys.stderr, "In show_message" + print >> sys.stderr, text + message_label.set_text(text) + message_label.show() + +# Callback for after we send LightDM the password, this method +# has to handle a successful login, in which case we start the session +# or a failed login, in which case we tell the user +def authentication_complete_cb(greeter): + if greeter.get_is_authenticated(): + # For our simple example we always start Unity-2d. The LightDM + # API has ways to query available sessions, please see the docs. + if not greeter.start_session_sync("xfce"): + print >> sys.stderr, "Failed to start session" + else: + print >> sys.stderr, "Login failed" + message_label.set_text("LOGIN FAILED") + message_label.show() + +if __name__ == '__main__': + print >> sys.stderr, "Starting up..." + main_loop = GObject.MainLoop () + builder = Gtk.Builder() + greeter = LightDM.Greeter() + styler = Gtk.CssProvider() + css = open('/usr/local/share/lightdm/netpoint.css', 'r') + + css_data = css.read() + css.close() + styler.load_from_data(css_data) + Gtk.StyleContext.add_provider_for_screen( + Gdk.Screen.get_default(), + styler, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION + ) + + # connect signal handlers to LightDM + greeter.connect ("authentication-complete", authentication_complete_cb) + greeter.connect ("show-message", show_message_cb) + greeter.connect ("show-prompt", show_prompt_cb) + + # connect builder and widgets + # you probably really want to put your .UI file somewhere else + builder.add_from_file("/usr/local/share/lightdm/netpoint.glade") + + main = builder.get_object("main") + split = builder.get_object("split") + sep = builder.get_object("sep") + message_label = builder.get_object("message_label") + print >> sys.stderr, message_label + guest_box = builder.get_object("guest_box") + + guest_outer_box = builder.get_object("guest_outer_box") + guest_internal_box = builder.get_object("guest_internal_box") + guest_text = builder.get_object("guest_text") + guest_button = builder.get_object("guest_button") + guest_image = builder.get_object("guest_image") + login_image = builder.get_object("login_image") + #pixbuf = guest_image.get_pixbuf() + #pixbuf = pixbuf.scale_simple(pixbuf.get_width() * 0.7, pixbuf.get_height() * 0.7, InterpType.HYPER) + #guest_image.set_from_pixbuf(pixbuf) + #pixbuf = login_image.get_pixbuf() + #pixbuf = pixbuf.scale_simple(pixbuf.get_width() * 0.7, pixbuf.get_height() * 0.7, InterpType.HYPER) + #login_image.set_from_pixbuf(pixbuf) + + login_box = builder.get_object("login_box") + login_text = builder.get_object("login_text") + + user_box = builder.get_object("user_box") + user_text = builder.get_object("user_text") + user_username = builder.get_object("user_username") + + pass_box = builder.get_object("pass_box") + pass_text = builder.get_object("pass_text") + pass_password = builder.get_object("pass_password") + + # connect signals to Gtk UI + builder.connect_signals(handlers) + + # connect to greeter + greeter.connect_sync() + + message_label.hide() + + # setup the GUI + main.set_decorated(True) + main.get_root_window().set_cursor(Gdk.Cursor.new(Gdk.CursorType.ARROW)) + main.show() + guest_text.show() + guest_button.show() + login_text.show() + user_text.show() + user_username.grab_focus() + user_username.show() + pass_text.show() + pass_password.set_sensitive(True) + pass_password.set_visibility(False) + pass_password.show() + + # fullscreen it + main.resize(Gdk.Screen.width(), Gdk.Screen.height()) + + #print >> sys.stderr, guest_box.get_height() + #print >> sys.stderr, guest_box.get_width() + main_loop.run () diff --git a/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-google-smaller.png b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-google-smaller.png Binary files differnew file mode 100644 index 00000000..f3b81c32 --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-google-smaller.png diff --git a/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-rz-smaller.png b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-rz-smaller.png Binary files differnew file mode 100644 index 00000000..f6e4703d --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/ff-rz-smaller.png diff --git a/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.css b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.css new file mode 100644 index 00000000..7f1f80af --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.css @@ -0,0 +1,16 @@ +#main { + background-color: white; +} +#sep { + -GtkWidget-wide-separators: 1; + -GtkWidget-separator-width: 5; + border-style: solid; + border-width: 2px; + color: grey; +} +#title { + border-top-style: solid; + border-bottom-style: double; + border-width: 3px; + border-color: grey; +} diff --git a/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.glade b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.glade new file mode 100644 index 00000000..e2e47416 --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/share/lightdm/netpoint.glade @@ -0,0 +1,365 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Generated with glade 3.18.3 --> +<interface> + <requires lib="gtk+" version="3.12"/> + <object class="GtkWindow" id="main"> + <property name="name">main</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="window_position">center-always</property> + <property name="default_width">800</property> + <property name="default_height">600</property> + <property name="decorated">False</property> + <property name="gravity">center</property> + <child> + <object class="GtkBox" id="box2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="label1"> + <property name="name">title</property> + <property name="height_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" translatable="yes">Netpoint 0.1</property> + <attributes> + <attribute name="font-desc" value="Sans Bold 18"/> + </attributes> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">False</property> + <property name="vexpand">True</property> + <child> + <object class="GtkSeparator" id="separator1"> + <property name="name">sep</property> + <property name="width_request">10</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid2"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">False</property> + <property name="row_homogeneous">True</property> + <child> + <object class="GtkBox" id="guest_box"> + <property name="name">guestbox</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">False</property> + <property name="vexpand">False</property> + <property name="orientation">vertical</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkBox" id="box4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="guest_text"> + <property name="height_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Uni-interner Browser</property> + <property name="justify">center</property> + <attributes> + <attribute name="font-desc" value="Sans Bold 14"/> + </attributes> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">center</property> + <property name="hexpand">False</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Im Gastmodus können Sie nur auf universitätsinterne Webseiten zugreifen.</property> + <property name="justify">center</property> + <property name="wrap">True</property> + <property name="width_chars">0</property> + <property name="max_width_chars">0</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="guest_button"> + <property name="label" translatable="yes">Surfen als Gast</property> + <property name="use_action_appearance">False</property> + <property name="related_action"/> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="receives_default">True</property> + <property name="halign">center</property> + <property name="valign">center</property> + <signal name="clicked" handler="guest_cb" swapped="no"/> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkImage" id="guest_image"> + <property name="name">guest_image</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">10</property> + <property name="margin_right">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="pixbuf">ff-rz-smaller.png</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkGrid" id="grid4"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="row_homogeneous">True</property> + <child> + <object class="GtkBox" id="box3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="orientation">vertical</property> + <property name="homogeneous">True</property> + <child> + <object class="GtkBox" id="box5"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkLabel" id="login_text"> + <property name="height_request">100</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Internet Browser</property> + <property name="justify">center</property> + <attributes> + <attribute name="font-desc" value="Sans Bold 14"/> + </attributes> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="login_info"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">start</property> + <property name="vexpand">False</property> + <property name="label" translatable="yes">Melden Sie sich mit Ihrem RZ-Konto, um auch im Internet zu surfen.</property> + <property name="justify">center</property> + <property name="wrap">True</property> + <property name="width_chars">0</property> + <property name="max_width_chars">30</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkBox" id="box1"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="valign">center</property> + <property name="orientation">vertical</property> + <child> + <object class="GtkGrid" id="grid3"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">center</property> + <property name="valign">center</property> + <property name="row_spacing">3</property> + <property name="column_spacing">3</property> + <child> + <object class="GtkEntry" id="pass_password"> + <property name="visible">True</property> + <property name="sensitive">False</property> + <property name="can_focus">True</property> + <property name="progress_pulse_step">0</property> + <signal name="activate" handler="login_cb" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="pass_text"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Passwort:</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="user_text"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Username:</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkEntry" id="user_username"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <signal name="activate" handler="login_cb" swapped="no"/> + </object> + <packing> + <property name="left_attach">1</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="message_label"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="label" comments="This is a placeholder string and will be replaced with a message from PAM">[message]</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">0</property> + </packing> + </child> + <child> + <object class="GtkImage" id="login_image"> + <property name="name">login_image</property> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="margin_left">10</property> + <property name="margin_right">10</property> + <property name="margin_top">10</property> + <property name="margin_bottom">10</property> + <property name="hexpand">True</property> + <property name="vexpand">True</property> + <property name="pixbuf">ff-google-smaller.png</property> + </object> + <packing> + <property name="left_attach">0</property> + <property name="top_attach">1</property> + </packing> + </child> + </object> + <packing> + <property name="left_attach">2</property> + <property name="top_attach">0</property> + </packing> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> +</interface> diff --git a/remote/modules/netpoint-lightdm/data/usr/local/share/xgreeters/netpoint.desktop b/remote/modules/netpoint-lightdm/data/usr/local/share/xgreeters/netpoint.desktop new file mode 100644 index 00000000..f03cf498 --- /dev/null +++ b/remote/modules/netpoint-lightdm/data/usr/local/share/xgreeters/netpoint.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Name=Netpoint Grita +Comment=Netpoint Grita +Exec=/usr/local/bin/netpoint.py +Type=Application diff --git a/remote/modules/netpoint-lightdm/module.build b/remote/modules/netpoint-lightdm/module.build new file mode 100644 index 00000000..0c891489 --- /dev/null +++ b/remote/modules/netpoint-lightdm/module.build @@ -0,0 +1,15 @@ +fetch_source() { + : +} + +build() { + COPYLIST="list_dpkg_output" + [ -e "$COPYLIST" ] && rm "$COPYLIST" + + list_packet_files >> "$COPYLIST" + tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" +} + +post_copy() { + : +} diff --git a/remote/modules/netpoint-lightdm/module.conf b/remote/modules/netpoint-lightdm/module.conf new file mode 100644 index 00000000..0cd03752 --- /dev/null +++ b/remote/modules/netpoint-lightdm/module.conf @@ -0,0 +1,3 @@ +REQUIRED_BINARIES="" +REQUIRED_LIBRARIES="" +REQUIRED_DIRECTORIES="" diff --git a/remote/modules/netpoint-lightdm/module.conf.opensuse.13.2 b/remote/modules/netpoint-lightdm/module.conf.opensuse.13.2 new file mode 100644 index 00000000..d62f9063 --- /dev/null +++ b/remote/modules/netpoint-lightdm/module.conf.opensuse.13.2 @@ -0,0 +1,36 @@ +REQUIRED_INSTALLED_PACKAGES=" + lightdm + lightdm-gtk-greeter + lightdm-gobject-devel + typelib-1_0-LightDM-1 + liblightdm-gobject-1-0 + python-gobject + icewm-lite + icewm-default + python-base + python-gobject2 +" + +REQUIRED_CONTENT_PACKAGES=" + lightdm + lightdm-gtk-greeter + lightdm-gobject-devel + typelib-1_0-LightDM-1 + liblightdm-gobject-1-0 + python-gobject + icewm-lite + icewm-default + python-base + python-gobject2 +" + +REQUIRED_BINARIES+=" + icewm + lightdm + python + lightdm-gtk-greeter +" + +REQUIRED_DIRECTORIES+=" + /usr/lib64/python2.7 +" diff --git a/remote/modules/nscd/data/etc/nscd.conf b/remote/modules/nscd/data/etc/nscd.conf index c4e23686..8eac1354 100644 --- a/remote/modules/nscd/data/etc/nscd.conf +++ b/remote/modules/nscd/data/etc/nscd.conf @@ -40,7 +40,7 @@ paranoia no # restart-interval 3600 - enable-cache passwd yes + enable-cache passwd no positive-time-to-live passwd 600 negative-time-to-live passwd 20 suggested-size passwd 211 @@ -50,7 +50,7 @@ max-db-size passwd 33554432 auto-propagate passwd yes - enable-cache group yes + enable-cache group no positive-time-to-live group 3600 negative-time-to-live group 60 suggested-size group 211 @@ -69,7 +69,7 @@ shared hosts yes max-db-size hosts 33554432 - enable-cache services yes + enable-cache services no positive-time-to-live services 28800 negative-time-to-live services 20 suggested-size services 211 diff --git a/remote/modules/nslcd/module.build b/remote/modules/nslcd/module.build new file mode 100644 index 00000000..aa1b3915 --- /dev/null +++ b/remote/modules/nslcd/module.build @@ -0,0 +1,42 @@ +#!/bin/bash + +fetch_source() { + if [ -n "$REQUIRED_NSS_LDAPD_URL" ]; then + pinfo "Downloading $REQUIRED_NSS_LDAPD_URL ..." + download_untar "$REQUIRED_NSS_LDAPD_URL" "src/" + fi +} + +build() { + + COPYLIST="list_dpkg_output" + [ -e "$COPYLIST" ] && rm "$COPYLIST" + + list_packet_files >> "$COPYLIST" + tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" + + # OpenSuSE 13.1 has no 'nss-pam-ldapd'. Let's compile + if [ -n "$REQUIRED_NSS_LDAPD_URL" ]; then + cd "${MODULE_DIR}/src/$REQUIRED_NSS_LDAPD_VERSION" + pinfo "compiling pam-nss-ldapd for openSuse 13.1 ..." + ./configure || perror "openSuse 13.1 - pam-nss-ldapd: ./configure failed." + make DESTDIR="${MODULE_BUILD_DIR}" install || perror "openSuse 13.1 - pam-nss-ldapd: make install to ${MODULE_BUILD_DIR} failed." + cd "$MODULE_BUILD_DIR" + local NSLCD_PATH=$(find . -executable -name "nslcd") # Not in path, so we 'find' below MODULE_BUILD_DIR + else + cd "$MODULE_BUILD_DIR" + local NSLCD_PATH=$(which nslcd) + fi + [[ $REQUIRED_BINARIES = *nslcd* ]] && [ -z "$NSLCD_PATH" ] && perror "Could not 'which nslcd'" + + + # Build nslcd service file + mkdir -p "${MODULE_BUILD_DIR}/etc/systemd/system" + sed "s,%PATH%,${NSLCD_PATH},g" "${MODULE_DIR}/templates/nslcd-systemd.service" > "${MODULE_BUILD_DIR}/etc/systemd/system/nslcd.service" || perror "Could not fill nslcd.service template" + + return 0 +} + +post_copy() { + : +} diff --git a/remote/modules/nslcd/module.conf b/remote/modules/nslcd/module.conf new file mode 100644 index 00000000..7dae2ba1 --- /dev/null +++ b/remote/modules/nslcd/module.conf @@ -0,0 +1,6 @@ +REQUIRED_BINARIES=" + nslcd +" +REQUIRED_FILES=" + /etc/systemd/system/nslcd.service +" diff --git a/remote/modules/nslcd/module.conf.debian b/remote/modules/nslcd/module.conf.debian new file mode 100644 index 00000000..3d83fc81 --- /dev/null +++ b/remote/modules/nslcd/module.conf.debian @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + nslcd +" +REQUIRED_CONTENT_PACKAGES=" + nslcd +" diff --git a/remote/modules/nslcd/module.conf.ubuntu b/remote/modules/nslcd/module.conf.ubuntu new file mode 100644 index 00000000..3d83fc81 --- /dev/null +++ b/remote/modules/nslcd/module.conf.ubuntu @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + nslcd +" +REQUIRED_CONTENT_PACKAGES=" + nslcd +" diff --git a/remote/modules/pam/templates/nslcd-systemd.service b/remote/modules/nslcd/templates/nslcd-systemd.service index 540e67cd..540e67cd 100644 --- a/remote/modules/pam/templates/nslcd-systemd.service +++ b/remote/modules/nslcd/templates/nslcd-systemd.service diff --git a/remote/modules/pam-common-share/data/opt/openslx/scripts/pam_script_mount_common_share b/remote/modules/pam-common-share/data/opt/openslx/scripts/pam_script_mount_common_share index 85a3fcc0..670943f4 100644 --- a/remote/modules/pam-common-share/data/opt/openslx/scripts/pam_script_mount_common_share +++ b/remote/modules/pam-common-share/data/opt/openslx/scripts/pam_script_mount_common_share @@ -1,36 +1,41 @@ ################################################################### # -# This script is a part of the pam_script_auth script -# and is not stand-alone! +# This script is a part of the pam_script_auth script +# and is not stand-alone! # -# It will try to mount the common shares specified in the -# variables of the global slx config '/opt/openslx/config'. -# A primary and a secondary share may be given. Every share -# require following bundle of variables: +# It will try to mount the common shares specified in the +# variables of the global slx config '/opt/openslx/config'. +# An arbitrary number of shares may be given. Every share +# requires following bundle of variables: # # -# SLX_SHARE_[0-9]_AUTH_TYPE [guest|user|pam] -# SLX_SHARE_[0-9]_AUTH_USER <username> -# SLX_SHARE_[0-9]_AUTH_PASS <password> -# SLX_SHARE_[0-9]_PERM [ro|rw] -# SLX_SHARE_[0-9]_PATH <path_to_share> +# SLX_SHARE_<id>_AUTH_TYPE [guest|user|pam] +# SLX_SHARE_<id>_AUTH_USER <username> +# SLX_SHARE_<id>_AUTH_PASS <password> +# SLX_SHARE_<id>_PERM [ro|rw] +# SLX_SHARE_<id>_PATH <path_to_share> # -# Example: -# SLX_SHARE_0_PATH='//windows.server/sharename' -# SLX_SHARE_0_AUTH_TYPE='user' -# SLX_SHARE_0_AUTH_USER='shareuser' -# SLX_SHARE_0_AUTH_PASS='sharepass' -# SLX_SHARE_0_PERM='rw' +# Note: <id> is the identifier of the share. # -# Note: When AUTH_TYPE is set to 'pam' or 'guest', -# no need to specify AUTH_USER or AUTH_PASS. +# Example: +# SLX_SHARE_0_PATH='//windows.server/sharename' +# SLX_SHARE_0_AUTH_TYPE='user' +# SLX_SHARE_0_AUTH_USER='shareuser' +# SLX_SHARE_0_AUTH_PASS='sharepass' +# SLX_SHARE_0_PERM='rw' # +# Note: If AUTH_TYPE is set to 'pam' or 'guest', then +# there is no need to specify AUTH_USER or AUTH_PASS +# as it is obviously not needed. # -# usage: mount_share <auth_type> <auth_user> <auth_password> <permissions> <path> <share> +################################################################### +# +# Internal helper function to mount a share +# usage: mount_share <auth_type> <auth_user> <auth_password> <permissions> <path> <share_number> mount_share() { - # only want two arguments + # since we are (hopefully) the only one using this function, we know we need excatly 6 args [ $# -ne 6 ] && { slxlog "pam-share-args" "Wrong number of arguments given! Need 6, $# given."; return; } - + # lets check if we have our variables local SHARE_AUTH_TYPE="$1" local SHARE_AUTH_USER="$2" @@ -43,17 +48,12 @@ mount_share() { [ "x${SHARE_PERM}" != "xrw" ] && SHARE_PERM='ro' # all good: now we can mount depending on the type - # supports: cifs?/nfs? + # supports: cifs?/nfs? if [ "${SHARE_PATH:0:2}" = "//" ]; then # '//' prefixed, assume windows share # prepare common mount options for either authentication type MOUNT_OPTS="-t cifs -o nounix,uid=${USER_UID},gid=${USER_GID},forceuid,forcegid,nobrl,noacl,$SHARE_PERM" - # flag for failure - SIGNAL=$(mktemp) - rm -f -- "${SIGNAL}" - # output of command - MOUNT_OUTPUT=$(mktemp) # now construct the mount options depending on the type of the share. if [ "${SHARE_AUTH_TYPE}" = "guest" ]; then MOUNT_OPTS="${MOUNT_OPTS},guest,file_mode=0777,dir_mode=0777" @@ -73,40 +73,68 @@ mount_share() { slxlog "pam-share-auth" "Share${SHARE_NUM}: Auth type '${SHARE_AUTH_TYPE}' not supported." return; fi + else + # for now assume NFS-Share, start build options string with default options for all shares + MOUNT_OPTS="-t nfs -o async,nolock" + + # TODO: here we will have to evaluate options of NFS-shares - # we just mount it to the directory with the same name as the - # last directory in the path name of the share - # e.g. //windows.net/lehrpool -> ${COMMON_SHARE_MOUNT_POINT}/lehrpool - local TARGET_DIR="${COMMON_SHARE_MOUNT_POINT}/$(basename ${SHARE_PATH})" - # it exists, so let's create ${COMMON_SHARE_MOUNT_POINT}/lehrpool_${SHARE_NUM} - [ -d "${TARGET_DIR}" ] && TARGET_DIR="${TARGET_DIR}_${SHARE_NUM}" + # unless specified otherwise, mount the share read-only + [ "x${SHARE_PERM}" != "xrw" ] && SHARE_PERM='ro' + MOUNT_OPTS="${MOUNT_OPTS},${SHARE_PERM}" + fi - # at this point is TARGET_DIR pointing to the right directory. - mkdir -p "${TARGET_DIR}" || \ - { slxlog "pam-share-mkdirfail" "Share${SHARE_NUM}: Could not create directory '${TARGET_DIR}'. Skipping share."; return; } - # now try to mount it - ( mount ${MOUNT_OPTS} "${SHARE_PATH}" "${TARGET_DIR}" > "${MOUNT_OUTPUT}" 2>&1 || touch "${SIGNAL}" ) & - MOUNT_PID=$! - for COUNTER in 1 1 2 4; do - kill -0 "${MOUNT_PID}" 2>/dev/null || break - sleep "${COUNTER}" - done + ############################################################################ + # + # Following code is independent of the type of share. + # The variable MOUNT_OPTS should have been set correctly + # up to this point. + # + ############################################################################ - # check for failures - if [ -e "${SIGNAL}" ]; then - slxlog "pam-share-mount" "Mount of '${SHARE_PATH}' to '${TARGET_DIR}' failed. (Args: ${MOUNT_OPTS}" "${MOUNT_OUTPUT}" - rm -f -- "${SIGNAL}" - elif kill -9 "${MOUNT_PID}" 2>/dev/null; then - slxlog "pam-share-mount" "Mount of '${SHARE_PATH}' to '${TARGET_DIR}' timed out. (Args: ${MOUNT_OPTS}" "${MOUNT_OUTPUT}" - fi - ( sleep 2; rm -f -- "${MOUNT_OUTPUT}" ) & + # we just mount it to the directory with the same name as the + # last directory in the path name of the share + # e.g. //windows.net/lehrpool -> ${COMMON_SHARE_MOUNT_POINT}/lehrpool + local TARGET_DIR="${COMMON_SHARE_MOUNT_POINT}/$(basename ${SHARE_PATH})" + # it exists, so let's create ${COMMON_SHARE_MOUNT_POINT}/lehrpool_${SHARE_NUM} + [ -d "${TARGET_DIR}" ] && TARGET_DIR="${TARGET_DIR}_${SHARE_NUM}" + + # at this point is TARGET_DIR pointing to the right directory. + mkdir -p "${TARGET_DIR}" || \ + { slxlog "pam-share-mkdirfail" "Share${SHARE_NUM}: Could not create directory '${TARGET_DIR}'. Skipping share."; return; } - # always unset credentials - unset USER - unset PASSWD + # flag for failure + SIGNAL=$(mktemp) + rm -f -- "${SIGNAL}" + # output of command + MOUNT_OUTPUT=$(mktemp) + # now try to mount it + ( mount ${MOUNT_OPTS} "${SHARE_PATH}" "${TARGET_DIR}" > "${MOUNT_OUTPUT}" 2>&1 || touch "${SIGNAL}" ) & + MOUNT_PID=$! + for COUNTER in 1 1 2 4; do + kill -0 "${MOUNT_PID}" 2>/dev/null || break + sleep "${COUNTER}" + done + + # check for failures + if [ -e "${SIGNAL}" ]; then + slxlog "pam-share-mount" "Mount of '${SHARE_PATH}' to '${TARGET_DIR}' failed. (Args: ${MOUNT_OPTS}" "${MOUNT_OUTPUT}" + rm -f -- "${SIGNAL}" + elif kill -9 "${MOUNT_PID}" 2>/dev/null; then + slxlog "pam-share-mount" "Mount of '${SHARE_PATH}' to '${TARGET_DIR}' timed out. (Args: ${MOUNT_OPTS}" "${MOUNT_OUTPUT}" fi + ( sleep 2; rm -f -- "${MOUNT_OUTPUT}" ) & + + # always unset credentials + unset USER + unset PASSWD } +############################################################################ +# +# MAIN LOGIC OVER ALL SHARES +# +############################################################################ # at this point we need the slx config to do anything [ -e "/opt/openslx/config" ] || \ { slxlog "pam-share-noconfig" "File '/opt/openslx/config' not found."; return; } @@ -115,28 +143,40 @@ mount_share() { . /opt/openslx/config || \ { slxlog "pam-share-sourceconfig" "Could not source '/opt/openslx/config'."; return; } +# +# +# # Since many shares can be specified, we need to identify how many we have first. -# We just go over all SLX_SHARE_* variables and check for those ending in _PATH +# We just go over all SLX_SHARE_* variables and check for those ending in _PATH. +# So e.g. for SLX_SHARE_0_PATH=<path> the SHARE variable would be equal to 'SLX_SHARE_0_PATH' # For each of those, a share was specified and we will try to mount it. -for SHARE in ${!SLX_SHARE_*}; do - # skip if the variable doesn't end in _PATH - [[ "$SHARE" =~ .*_PATH$ ]] || continue - # first let's check if we have already mounted it, since we don't have to - # do anything is it already is. - if mount | grep -q "${SHARE}"; then - # already mounted, just skip. +for SHARE in $(grep -E '^SLX_SHARE_[0-9]+_PATH=.*$' /opt/openslx/config); do + # first let's check if we have already mounted it and skip if it is + # TODO: this should be good enough? stronger checks? + if mount | grep -q "$(echo ${SHARE} | awk -F '=' '{print $2}' | tr -d \'\")"; then + # already mounted, just skip + # this should not happen anyway, since the pam_script_auth script also exits + # if the temporary home user directory is already mounted... continue fi - # ok so we have a path in $SHARE, let's extract the number of the share + # ok so we have the full declaration command in $SHARE, + # let's extract the number of the share. # i.e. SLX_SHARE_0_PATH -> share number 0 - # first strip the leading SLX_SHARE_ - SHARE=${SHARE#SLX_SHARE_} + # first just cut everything after '=' + SHARE_ID="$(echo $SHARE | awk -F '=' '{print $1}')" + # now strip the leading SLX_SHARE_ + SHARE_ID=${SHARE_ID#SLX_SHARE_} # now remove the trailing _PATH - SHARE=${SHARE%_PATH} + SHARE_ID=${SHARE_ID%_PATH} # now it should be a number, TODO accept more than numbers? Doesn't really matter... # this check is mostly to be sure that the variable splitting worked as it should - [[ "$SHARE" =~ ^[0-9]+$ ]] || continue - eval mount_share \""\$SLX_SHARE_${SHARE}_AUTH_TYPE"\" \""\$SLX_SHARE_${SHARE}_AUTH_USER"\" \""\$SLX_SHARE_${SHARE}_AUTH_PASS"\" \""\$SLX_SHARE_${SHARE}_PERM"\" \""\$SLX_SHARE_${SHARE}_PATH"\" \""$SHARE"\" + # ugly cause we need to be ash compatible ... + if ! echo "${SHARE_ID}" | grep -q -E '^[0-9]+$'; then + continue + fi + + # now do try to mount the share using the helper function defined on the top of this script + eval mount_share \""\$SLX_SHARE_${SHARE_ID}_AUTH_TYPE"\" \""\$SLX_SHARE_${SHARE_ID}_AUTH_USER"\" \""\$SLX_SHARE_${SHARE_ID}_AUTH_PASS"\" \""\$SLX_SHARE_${SHARE_ID}_PERM"\" \""\$SLX_SHARE_${SHARE_ID}_PATH"\" \""$SHARE_ID"\" ## unset USER and PASSWD just in case mount_share returned due to an error. unset USER unset PASSWD diff --git a/remote/modules/pam/data/etc/pam.d/common-session-noninteractive b/remote/modules/pam/data/etc/pam.d/common-session-noninteractive index d9bf071c..5e0fe3f8 100644 --- a/remote/modules/pam/data/etc/pam.d/common-session-noninteractive +++ b/remote/modules/pam/data/etc/pam.d/common-session-noninteractive @@ -26,5 +26,6 @@ session required pam_permit.so # See "man pam_umask". session optional pam_umask.so # and here are more per-package modules (the "Additional" block) +session [success=1 default=ignore] pam_succeed_if.so service in sudo quiet use_uid session required pam_unix.so # end of pam-auth-update config diff --git a/remote/modules/pam/data/opt/openslx/scripts/pam_script_auth b/remote/modules/pam/data/opt/openslx/scripts/pam_script_auth index 3b8bf676..f9636ced 100755 --- a/remote/modules/pam/data/opt/openslx/scripts/pam_script_auth +++ b/remote/modules/pam/data/opt/openslx/scripts/pam_script_auth @@ -105,7 +105,7 @@ chown "${PAM_USER}:${USER_GID}" "${COMMON_SHARE_MOUNT_POINT}" || \ [ ! -e "${COMMON_SHARE_MOUNT_SCRIPT}" ] && exit 0 # we do! -COMMON_SHARE_MOUNT_POINT="${COMMON_SHARE_MOUNT_POINT}" PAM_USER="${PAM_USER}" PAM_AUTHTOK="${PAM_AUTHTOK}" USER_UID="${USER_UID}" USER_GID="${USER_GID}" /bin/bash "${COMMON_SHARE_MOUNT_SCRIPT}" || \ +COMMON_SHARE_MOUNT_POINT="${COMMON_SHARE_MOUNT_POINT}" PAM_USER="${PAM_USER}" PAM_AUTHTOK="${PAM_AUTHTOK}" USER_UID="${USER_UID}" USER_GID="${USER_GID}" /bin/ash "${COMMON_SHARE_MOUNT_SCRIPT}" || \ { slxlog "pam-global-sourceshare" "Could not source '${COMMON_SHARE_MOUNT_SCRIPT}'."; exit 1; } # Just try to delete the common share dir. If the mount was successful, it will not work diff --git a/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close b/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close index 4fc2ce6a..9332e0a6 100755 --- a/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close +++ b/remote/modules/pam/data/opt/openslx/scripts/pam_script_ses_close @@ -26,7 +26,7 @@ if [ -d "/opt/openslx/scripts/pam_script_ses_close.d" ]; then done fi -OPENSESSION=$(loginctl show-user "$PAM_USER" | grep "Sessions=" | cut -c 10-) +OPENSESSION=$(loginctl show-user "$PAM_USER" 2>/dev/null| grep "Sessions=" | cut -c 10-) SESSIONCOUNT=$(echo "$OPENSESSION" | wc -w) # When using su/sudo there is no session created, so count up by one if [ "x$PAM_SERVICE" = "xsu" -o "x$PAM_SERVICE" = "xsudo" ]; then @@ -55,7 +55,7 @@ if [ "$SESSIONCOUNT" -le "1" ]; then done # just to be sure we check if there's no other open session in the meantime - OPEN2=$(loginctl show-user "$PAM_USER" | grep "Sessions=" | cut -c 10-) + OPEN2=$(loginctl show-user "$PAM_USER" 2>/dev/null | grep "Sessions=" | cut -c 10-) if [ -z "$OPEN2" -o "x$OPENSESSION" = "x$OPEN2" ]; then diff --git a/remote/modules/pam/module.build b/remote/modules/pam/module.build index b678fdd6..5c3dc8db 100644 --- a/remote/modules/pam/module.build +++ b/remote/modules/pam/module.build @@ -33,24 +33,6 @@ build() { cd "${MODULE_DIR}/src/pam-script-${REQUIRED_PAM_SCRIPT_VERSION}" || perror "Could not cd to ${MODULE_DIR}/src/pam-script-${REQUIRED_PAM_SCRIPT_VERSION}." ./configure --prefix=/ --sysconfdir=/etc/pam-script --libdir="$SYS_PAM_MODULES_PATH" || perror "pam-script: ./configure failed." make DESTDIR="${MODULE_BUILD_DIR}" install || perror "pam-script: make install to ${MODULE_BUILD_DIR} failed." - - - # openSuse 13.1 has no package nss-pam-ldapd. So, we compile it. - if [ -n "$REQUIRED_NSS_LDAPD_URL" ]; then - cd "${MODULE_DIR}/src/$REQUIRED_NSS_LDAPD_VERSION" - pinfo "compiling pam-nss-ldapd for openSuse 13.1 ..." - ./configure || perror "openSuse 13.1 - pam-nss-ldapd: ./configure failed." - make DESTDIR="${MODULE_BUILD_DIR}" install || perror "openSuse 13.1 - pam-nss-ldapd: make install to ${MODULE_BUILD_DIR} failed." - cd "$MODULE_BUILD_DIR" - local NSLCD_PATH=$(find . -executable -name "nslcd") # Not in path, so we 'find' below MODULE_BUILD_DIR - else - cd "$MODULE_BUILD_DIR" - local NSLCD_PATH=$(which nslcd) - fi - [[ $REQUIRED_BINARIES = *nslcd* ]] && [ -z "$NSLCD_PATH" ] && perror "Could not 'which nslcd'" - # Build nslcd service file - mkdir -p "etc/systemd/system" - sed "s,%PATH%,$NSLCD_PATH,g" "$MODULE_DIR/templates/nslcd-systemd.service" > "etc/systemd/system/nslcd.service" || perror "Could not fill nslcd.service template" } post_copy() { diff --git a/remote/modules/pam/module.conf b/remote/modules/pam/module.conf index c0a21a79..4e2e01a1 100644 --- a/remote/modules/pam/module.conf +++ b/remote/modules/pam/module.conf @@ -1,6 +1,5 @@ REQUIRED_BINARIES=" ldapsearch - nslcd rpc.gssd rpc.idmapd sslconnect @@ -15,9 +14,6 @@ REQUIRED_LIBRARIES=" REQUIRED_DIRECTORIES=" /etc/security " -REQUIRED_FILES=" - /etc/systemd/system/nslcd.service -" REQUIRED_SYSTEM_FILES=" /etc/login.defs /etc/securetty diff --git a/remote/modules/pam/module.conf.debian b/remote/modules/pam/module.conf.debian index be237be2..e6661476 100644 --- a/remote/modules/pam/module.conf.debian +++ b/remote/modules/pam/module.conf.debian @@ -1,7 +1,6 @@ REQUIRED_INSTALLED_PACKAGES=" libpam-ldap libnss-ldapd - nslcd libpam-ck-connector libpam-cap krb5-user @@ -22,7 +21,6 @@ REQUIRED_CONTENT_PACKAGES=" libldap-2.4-2 libpam-ldapd libnss-ldapd - nslcd krb5-user krb5-config libpam-krb5 diff --git a/remote/modules/pam/module.conf.opensuse.13.2 b/remote/modules/pam/module.conf.opensuse.13.2 new file mode 100644 index 00000000..d4435999 --- /dev/null +++ b/remote/modules/pam/module.conf.opensuse.13.2 @@ -0,0 +1,48 @@ +REQUIRED_NSS_LDAPD_VERSION="nss-pam-ldapd-0.8.13" +REQUIRED_NSS_LDAPD_URL="http://arthurdejong.org/nss-pam-ldapd/$REQUIRED_NSS_LDAPD_VERSION.tar.gz" + +REQUIRED_BINARIES+=" + mkhomedir_helper +" + +REQUIRED_INSTALLED_PACKAGES=" + pam + pam_krb5 + pam-devel + pam-modules + nss-mdns + libopenssl-devel + openldap2-client + nfsidmap + nfs-client + glibc + pam-devel + openldap2-devel + krb5-devel +" +REQUIRED_CONTENT_PACKAGES=" + pam + pam_krb5 + pam-devel + pam-modules + nss-mdns + openldap2-client + nfsidmap + nfs-client + glibc +" +REQUIRED_LIBRARIES+=" + libnss_compat + libnss_db + libnss_dns + libnss_files + libnss_nis +" +REQUIRED_DIRECTORIES+=" + /$LIB64 + /usr/$LIB64 +" +REQUIRED_SYSTEM_FILES+=" + /$LIB64/security +" + diff --git a/remote/modules/pam/module.conf.ubuntu b/remote/modules/pam/module.conf.ubuntu index 4a3635fc..d675116c 100644 --- a/remote/modules/pam/module.conf.ubuntu +++ b/remote/modules/pam/module.conf.ubuntu @@ -1,7 +1,6 @@ REQUIRED_INSTALLED_PACKAGES=" libpam-ldap libnss-ldapd - nslcd krb5-user krb5-config libpam-krb5 @@ -20,7 +19,6 @@ REQUIRED_CONTENT_PACKAGES=" libldap-2.4-2 libpam-ldap libnss-ldapd - nslcd krb5-user krb5-config libpam-krb5 diff --git a/remote/modules/pam/module.conf.ubuntu.14 b/remote/modules/pam/module.conf.ubuntu.14 index 26307d84..64ead96a 100644 --- a/remote/modules/pam/module.conf.ubuntu.14 +++ b/remote/modules/pam/module.conf.ubuntu.14 @@ -2,7 +2,6 @@ REQUIRED_INSTALLED_PACKAGES=" libpam-ldap libnss-ldapd - nslcd krb5-user krb5-config libpam-krb5 @@ -20,7 +19,6 @@ REQUIRED_CONTENT_PACKAGES=" libldap-2.4-2 libpam-ldap libnss-ldapd - nslcd krb5-user krb5-config libpam-krb5 @@ -28,14 +26,8 @@ REQUIRED_CONTENT_PACKAGES=" libnfsidmap2 nfs-common cifs-utils - ncpfs " REQUIRED_BINARIES+=" - nwmsg - ncpmount - ncpumount - mount.ncp - mount.ncpfs mount.cifs " REQUIRED_DIRECTORIES+=" @@ -47,11 +39,3 @@ REQUIRED_SYSTEM_FILES+=" /etc/pam.conf /etc/default/locale " - -# For Ubuntu 14.04: Both packages were dropped from official repos. Do not change the -# order, as these packages will be installed via dpkg and depend on each other. -REQUIRED_DOWNLOAD_URLS=" - de.archive.ubuntu.com/ubuntu/pool/universe/n/ncpfs/libncp_2.2.6-9ubuntu1_amd64.deb - de.archive.ubuntu.com/ubuntu/pool/universe/n/ncpfs/libpam-ncp_2.2.6-9ubuntu1_amd64.deb - de.archive.ubuntu.com/ubuntu/pool/universe/n/ncpfs/ncpfs_2.2.6-9ubuntu1_amd64.deb -" diff --git a/remote/modules/pvs2/module.conf.opensuse b/remote/modules/pvs2/module.conf.opensuse new file mode 100644 index 00000000..aedc0d96 --- /dev/null +++ b/remote/modules/pvs2/module.conf.opensuse @@ -0,0 +1,14 @@ +REQUIRED_INSTALLED_PACKAGES=" + libqt4-devel + LibVNCServer-devel +" + +REQUIRED_CONTENT_PACKAGES=" + libqt4 +" + +REQUIRED_DIRECTORIES=" + /usr/$LIB64/ +" + +# libqt4-svg diff --git a/remote/modules/rsyslogd/module.conf.opensuse.13.2 b/remote/modules/rsyslogd/module.conf.opensuse.13.2 new file mode 100644 index 00000000..b1d7fd03 --- /dev/null +++ b/remote/modules/rsyslogd/module.conf.opensuse.13.2 @@ -0,0 +1,9 @@ +REQUIRED_CONTENT_PACKAGES=" + rsyslog +" +REQUIRED_INSTALLED_PACKAGES=" + rsyslog +" +REQUIRED_BINARIES+=" + rsyslog-service-prepare +" diff --git a/remote/modules/ssh-auth-keys/data/etc/systemd/system/basic.target.wants/ssh-auth-keys.service b/remote/modules/ssh-auth-keys/data/etc/systemd/system/basic.target.wants/ssh-auth-keys.service new file mode 120000 index 00000000..2bddb0ca --- /dev/null +++ b/remote/modules/ssh-auth-keys/data/etc/systemd/system/basic.target.wants/ssh-auth-keys.service @@ -0,0 +1 @@ +../ssh-auth-keys.service
\ No newline at end of file diff --git a/remote/modules/ssh-auth-keys/data/etc/systemd/system/ssh-auth-keys.service b/remote/modules/ssh-auth-keys/data/etc/systemd/system/ssh-auth-keys.service new file mode 100644 index 00000000..20a7b8f9 --- /dev/null +++ b/remote/modules/ssh-auth-keys/data/etc/systemd/system/ssh-auth-keys.service @@ -0,0 +1,7 @@ +[Unit] +Description=Enable SSH keys in authorized_keys.d/ folder + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/opt/openslx/scripts/systemd-ssh_auth_keys diff --git a/remote/modules/ssh-auth-keys/data/opt/openslx/scripts/systemd-ssh_auth_keys b/remote/modules/ssh-auth-keys/data/opt/openslx/scripts/systemd-ssh_auth_keys new file mode 100755 index 00000000..08ad7d2c --- /dev/null +++ b/remote/modules/ssh-auth-keys/data/opt/openslx/scripts/systemd-ssh_auth_keys @@ -0,0 +1,18 @@ +#!/bin/ash + +AUTH_KEYS_DIR="/root/.ssh/authorized_keys.d/" +AUTH_KEYS_FILE="/root/.ssh/authorized_keys" + +# do we even have the directory? +[ ! -d "$AUTH_KEYS_DIR" ] && echo "No such directory: $AUTH_KEYS_DIR" && exit 1 + +# ok, lets cat them in the real file +for KEY in "$AUTH_KEYS_DIR"/* ; do + if ! cat $KEY >> "$AUTH_KEYS_FILE" ; then + echo "Could not add '$KEY' to '$AUTH_KEYS_FILE'" + exit 1 + fi +done + +# all done, all good +exit 0 diff --git a/remote/modules/ssh-auth-keys/module.build b/remote/modules/ssh-auth-keys/module.build new file mode 100644 index 00000000..97e93235 --- /dev/null +++ b/remote/modules/ssh-auth-keys/module.build @@ -0,0 +1,11 @@ +fetch_source() { + : +} + +build() { + : +} + +post_copy() { + : +} diff --git a/remote/modules/ssh-auth-keys/module.conf b/remote/modules/ssh-auth-keys/module.conf new file mode 100644 index 00000000..0cd03752 --- /dev/null +++ b/remote/modules/ssh-auth-keys/module.conf @@ -0,0 +1,3 @@ +REQUIRED_BINARIES="" +REQUIRED_LIBRARIES="" +REQUIRED_DIRECTORIES="" diff --git a/remote/modules/sssd/module.build b/remote/modules/sssd/module.build new file mode 100644 index 00000000..041fd5bd --- /dev/null +++ b/remote/modules/sssd/module.build @@ -0,0 +1,33 @@ +fetch_source() { + : +} + +build() { + COPYLIST="list_dpkg_output" + [ -e "$COPYLIST" ] && rm "$COPYLIST" + + list_packet_files >> "$COPYLIST" + tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" + + local SSSD_PATH="$(which sssd)" + [ -z "$SSSD_PATH" ] && perror "'sssd' not found on this system. Should have been installed! Something is wrong..." + + # Build nslcd service file + mkdir -p "${MODULE_BUILD_DIR}/etc/systemd/system" + sed "s,%PATH%,${SSSD_PATH},g" "${MODULE_DIR}/templates/sssd-systemd.service" > "${MODULE_BUILD_DIR}/etc/systemd/system/sssd.service" || perror "Could not fill sssd.service template" + + # openSuse sssd does not start when /etc/sssd/sssd.conf is not root:root 600! + if [ "$SYS_DISTRIBUTION" == "opensuse" -a "$SYS_VERSION" == "13.2" ]; then + sed -i 's#ExecStart#ExecStartPre=/opt/openslx/bin/chmod 600 /etc/sssd/sssd.conf\nExecStart#g' \ + "${MODULE_BUILD_DIR}/etc/systemd/system/sssd.service" + fi + + return 0 +} + +post_copy() { + mkdir -p "${TARGET_BUILD_DIR}/var/log/sssd" + for DIR in mc pubconf/krb5.include.d db pipes/private; do + mkdir -p "${TARGET_BUILD_DIR}/var/lib/sss/$DIR" + done +} diff --git a/remote/modules/sssd/module.conf b/remote/modules/sssd/module.conf new file mode 100644 index 00000000..6e4df94e --- /dev/null +++ b/remote/modules/sssd/module.conf @@ -0,0 +1,18 @@ +REQUIRED_BINARIES=" + sssd +" +REQUIRED_FILES=" + /etc/default/sssd + /etc/systemd/system/sssd.service +" +# lib/ is needed to fetch lib/x86..../security/pam_sss.so module +# could do it using the SYS_PAM_MODULE_PATH, but using that in the +# module.conf seems hacky... +# +# usr/lib is needed to get the ldb modules, e.g.: +# usr/lib/x86_64-linux-gnu/ldb/modules/ldb/ldap.so +# +REQUIRED_DIRECTORIES=" + /lib + /usr/lib +" diff --git a/remote/modules/sssd/module.conf.opensuse.13.2 b/remote/modules/sssd/module.conf.opensuse.13.2 new file mode 100644 index 00000000..6fafc652 --- /dev/null +++ b/remote/modules/sssd/module.conf.opensuse.13.2 @@ -0,0 +1,23 @@ +REQUIRED_FILES=" + /etc/sssd + /etc/systemd/system/sssd.service +" + +REQUIRED_DIRECTORIES=" + /$LIB64 + /usr/lib + /usr/lib64 +" + +REQUIRED_INSTALLED_PACKAGES=" + sssd + sssd-ldap + libldb1 + libsss_nss_idmap0 +" +REQUIRED_CONTENT_PACKAGES=" + sssd + sssd-ldap + libldb1 + libsss_nss_idmap0 +" diff --git a/remote/modules/sssd/module.conf.ubuntu b/remote/modules/sssd/module.conf.ubuntu new file mode 100644 index 00000000..5a8e4fa4 --- /dev/null +++ b/remote/modules/sssd/module.conf.ubuntu @@ -0,0 +1,14 @@ +REQUIRED_INSTALLED_PACKAGES=" + sssd-common + sssd-ldap + libldb1 + libnss-sss + libpam-sss +" +REQUIRED_CONTENT_PACKAGES=" + sssd-common + sssd-ldap + libldb1 + libnss-sss + libpam-sss +" diff --git a/remote/modules/sssd/templates/sssd-systemd.service b/remote/modules/sssd/templates/sssd-systemd.service new file mode 100644 index 00000000..8cfd1a2e --- /dev/null +++ b/remote/modules/sssd/templates/sssd-systemd.service @@ -0,0 +1,15 @@ +[Unit] +Description=System Security Services Daemon +# SSSD will not be started until syslog is +After=syslog.target + +[Service] +EnvironmentFile=-/etc/sysconfig/sssd +ExecStart=%PATH% -D -f +# These two should be used with traditional UNIX forking daemons +# consult systemd.service(5) for more details +Type=forking +PIDFile=/var/run/sssd.pid + +[Install] +WantedBy=multi-user.target diff --git a/remote/modules/systemd/data/usr/lib/systemd/system/getty@.service b/remote/modules/systemd/data/usr/lib/systemd/system/getty@.service index 2d2940e1..772566d6 100644 --- a/remote/modules/systemd/data/usr/lib/systemd/system/getty@.service +++ b/remote/modules/systemd/data/usr/lib/systemd/system/getty@.service @@ -26,8 +26,9 @@ ConditionPathExists=/dev/tty0 [Service] ExecStartPre=-/opt/openslx/bin/killall fbsplash +ExecStartPre=-/bin/bash -c "echo -e '\033c' > /dev/%i" # the VT is cleared by TTYVTDisallocate -ExecStart=-/sbin/agetty --noclear %I 38400 linux +ExecStart=-/sbin/agetty %I 38400 linux Type=idle Restart=always RestartSec=0 diff --git a/remote/modules/systemd/module.build b/remote/modules/systemd/module.build index 6e1cf4c1..67e019af 100644 --- a/remote/modules/systemd/module.build +++ b/remote/modules/systemd/module.build @@ -99,5 +99,9 @@ post_copy() { if [ "x$(dpkg -s util-linux | grep Version: | cut -d' ' -f2)" == "x2.19.1-2ubuntu3" ]; then sed -i "s/ExecStart=-\/sbin\/agetty --noclear %I 38400 linux/ExecStart=-\/sbin\/agetty %I 38400 linux/g" "${TARGET_BUILD_DIR}/usr/lib/systemd/system/getty@.service" fi + # eg. systemd expects /bin/less: + if [ "$SYS_DISTRIBUTION" == "opensuse" -a "$SYS_VERSION" == "13.2" ]; then + ln -s /usr/bin/less "$TARGET_BUILD_DIR/bin/less" + fi } diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt index 726c2340..d41bf564 100755 --- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt +++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt @@ -445,24 +445,26 @@ fi if true; then # detecting which card is to be used echo "Detecting which sound card to use ..." - PROC="/proc/asound/cards" + PROC="/proc/asound/cards" if [ ! -r "$PROC" ]; then echo "'${PROC}' not found or not readable." SOUND_CARD_INDEX=0 + SOUND_CARD_COUNT=1 else # Try to filter HDMI cards first - SOUND_CARD_INDEX=$(grep -v -i 'HDMI' "${PROC}" | grep -E -o '^[[:space:]]*[0-9]+[[:space:]]+' | head -n 1) + SOUND_CARD_INDEX=$(grep -v -i 'HDMI' "${PROC}" | grep -E -o '^[[:space:]]{0,2}[0-9]+[[:space:]]+' | head -n 1) # If empty, try again with all - [ -z "${SOUND_CARD_INDEX}" ] && SOUND_CARD_INDEX=$(cat "${PROC}" | grep -E -o '^[[:space:]]*[0-9]+[[:space:]]+' | head -n 1) - + [ -z "${SOUND_CARD_INDEX}" ] && SOUND_CARD_INDEX=$(cat "${PROC}" | grep -E -o '^[[:space:]]{0,2}[0-9]+[[:space:]]+' | head -n 1) if [ -z "${SOUND_CARD_INDEX}" ]; then echo "No sound card found." SOUND_CARD_INDEX=0 fi + SOUND_CARD_COUNT=$(grep -E '^[[:space:]]{0,2}[0-9]+[[:space:]]+' "${PROC}" | wc -l) fi SOUND_CARD_INDEX="$(grep -E -o '[0-9]+' <<<$SOUND_CARD_INDEX)" echo "Detected sound card index is: $SOUND_CARD_INDEX" + echo "Sound card count: $SOUND_CARD_COUNT" # Adjust sound volume (playback)... Random mixer names we have encountered during testing echo "Setting up volume..." diff --git a/remote/modules/vmchooser2/data/opt/openslx/scripts/vmchooser-run_virt b/remote/modules/vmchooser2/data/opt/openslx/scripts/vmchooser-run_virt index 726c2340..d41bf564 100755 --- a/remote/modules/vmchooser2/data/opt/openslx/scripts/vmchooser-run_virt +++ b/remote/modules/vmchooser2/data/opt/openslx/scripts/vmchooser-run_virt @@ -445,24 +445,26 @@ fi if true; then # detecting which card is to be used echo "Detecting which sound card to use ..." - PROC="/proc/asound/cards" + PROC="/proc/asound/cards" if [ ! -r "$PROC" ]; then echo "'${PROC}' not found or not readable." SOUND_CARD_INDEX=0 + SOUND_CARD_COUNT=1 else # Try to filter HDMI cards first - SOUND_CARD_INDEX=$(grep -v -i 'HDMI' "${PROC}" | grep -E -o '^[[:space:]]*[0-9]+[[:space:]]+' | head -n 1) + SOUND_CARD_INDEX=$(grep -v -i 'HDMI' "${PROC}" | grep -E -o '^[[:space:]]{0,2}[0-9]+[[:space:]]+' | head -n 1) # If empty, try again with all - [ -z "${SOUND_CARD_INDEX}" ] && SOUND_CARD_INDEX=$(cat "${PROC}" | grep -E -o '^[[:space:]]*[0-9]+[[:space:]]+' | head -n 1) - + [ -z "${SOUND_CARD_INDEX}" ] && SOUND_CARD_INDEX=$(cat "${PROC}" | grep -E -o '^[[:space:]]{0,2}[0-9]+[[:space:]]+' | head -n 1) if [ -z "${SOUND_CARD_INDEX}" ]; then echo "No sound card found." SOUND_CARD_INDEX=0 fi + SOUND_CARD_COUNT=$(grep -E '^[[:space:]]{0,2}[0-9]+[[:space:]]+' "${PROC}" | wc -l) fi SOUND_CARD_INDEX="$(grep -E -o '[0-9]+' <<<$SOUND_CARD_INDEX)" echo "Detected sound card index is: $SOUND_CARD_INDEX" + echo "Sound card count: $SOUND_CARD_COUNT" # Adjust sound volume (playback)... Random mixer names we have encountered during testing echo "Setting up volume..." diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include index 016ebdc6..471a207c 100644 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include +++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include @@ -258,16 +258,15 @@ runvmwareconfheader () ethernet0.present = "TRUE" ethernet0.addressType = "static" $network_virtualDev - ethernet0.connectionType = "hostonly" - #ethernet1.connectionType = "custom" + #ethernet0.connectionType = "hostonly" + ethernet0.connectionType = "custom" ethernet0.vnet = "$hostdev" ethernet0.address = "00:50:56:$macaddrsuffix" ethernet0.wakeOnPcktRcv = "FALSE" # sound sound.present = "TRUE" - sound.fileName = "sysdefault:CARD=$SOUND_CARD_INDEX" - sound.autodetect = "FALSE" + $sound_fileName sound.virtualdev = "$sound" pciSound.enableVolumeControl = "FALSE" sound.enableVolumeControl = "FALSE" @@ -469,6 +468,15 @@ esac # set standard sound card, overwrite depending on OS (options sb16, es1371, hdaudio) sound="es1371" +# set sound card explicitly if there is more than one card in the host system +if [ -n "$SOUND_CARD_INDEX" -a -n "$SOUND_CARD_COUNT" ] && [ "$SOUND_CARD_COUNT" -gt 1 ]; then + sound_fileName="sound.fileName = \"sysdefault:CARD=${SOUND_CARD_INDEX}\" +sound.autodetect = \"FALSE\"" +else + sound_fileName='sound.fileName = "-1" +sound.autodetect = "TRUE"' +fi + # check for 3D configuration setting case "$enable3d" in true|yes) diff --git a/remote/modules/x11vnc/module.conf.opensuse b/remote/modules/x11vnc/module.conf.opensuse new file mode 100644 index 00000000..b6b60c93 --- /dev/null +++ b/remote/modules/x11vnc/module.conf.opensuse @@ -0,0 +1,6 @@ +REQUIRED_INSTALLED_PACKAGES=" + x11vnc +" +REQUIRED_CONTENT_PACKAGES=" + x11vnc +" diff --git a/remote/modules/xorg/module.conf.opensuse.13.2 b/remote/modules/xorg/module.conf.opensuse.13.2 new file mode 100644 index 00000000..363ce3aa --- /dev/null +++ b/remote/modules/xorg/module.conf.opensuse.13.2 @@ -0,0 +1,92 @@ +# xkbutils, xkbprint, setxkbmap, xkbevd for 64-bit openSuse +REQUIRED_INSTALLED_PACKAGES=" + xorg-x11 + xorg-x11-server + xorg-x11-driver-input + xorg-x11-driver-video + xf86-video-nouveau + xf86-video-vmware + xf86-video-ati + xf86-video-nv + xf86-video-intel + xf86-video-i128 + xf86-video-geode + xf86-video-vesa + xf86-video-fbdev + xf86-video-modesetting + xf86-input-vmmouse + xf86-input-wacom + xf86-input-evdev + xf86-input-joystick + xf86-input-keyboard + xf86-input-mouse + xf86-input-synaptics + xf86-input-void + xkeyboard-config + xkbcomp + dejavu-fonts + kdm-branding-openSUSE + Mesa + xkbutils + xkbprint + setxkbmap + xkbevd + libpixman-1-0 + xrandr + vaapi-intel-driver +" +REQUIRED_CONTENT_PACKAGES=" + xorg-x11 + xorg-x11-server + xorg-x11-driver-input + xorg-x11-driver-video + xf86-video-nouveau + xf86-video-vmware + xf86-video-ati + xf86-video-nv + xf86-video-intel + xf86-video-i128 + xf86-video-geode + xf86-video-vesa + xf86-video-fbdev + xf86-video-modesetting + xf86-input-vmmouse + xf86-input-wacom + xf86-input-evdev + xf86-input-joystick + xf86-input-keyboard + xf86-input-mouse + xf86-input-synaptics + xf86-input-void + xkeyboard-config + xkbcomp + dejavu-fonts + libxcb-glx0 + kdm-branding-openSUSE + Mesa + xkbutils + xkbprint + setxkbmap + xkbevd + libpixman-1-0 + xrandr + vaapi-intel-driver +" +REQUIRED_LIBRARIES=" + libxcb-glx + libIntelXvMC + i965_dri + vmwgfx_dri + i915_dri + i965_drv_video + libpixman-1 +" +REQUIRED_DIRECTORIES+=" + /usr/bin + /usr/lib/udev + /usr/$LIB64/xorg + /usr/share/fonts +" +REQUIRED_FILES=" + /var/adm/fillup-templates/sysconfig.displaymanager-kdm +" diff --git a/remote/rootfs/rootfs-stage32/module.conf.opensuse.13.2 b/remote/rootfs/rootfs-stage32/module.conf.opensuse.13.2 new file mode 100644 index 00000000..aa7f8afb --- /dev/null +++ b/remote/rootfs/rootfs-stage32/module.conf.opensuse.13.2 @@ -0,0 +1,20 @@ +REQUIRED_INSTALLED_PACKAGES=" + nfs-client + xfsprogs + squashfs + timezone + libcap2 + jfsutils + curl + xvidtune +" +REQUIRED_CONTENT_PACKAGES=" + timezone + libcap2 +" +REQUIRED_DIRECTORIES=" + /usr/$LIB64/xtables +" +REQUIRED_FILES+=" + /usr/share/X11/app-defaults/Xvidtune +" diff --git a/server/configs/freiburg/auth-freiburg b/server/configs/freiburg/auth-freiburg new file mode 120000 index 00000000..2100ff61 --- /dev/null +++ b/server/configs/freiburg/auth-freiburg @@ -0,0 +1 @@ +../../modules/auth-freiburg
\ No newline at end of file diff --git a/server/configs/freiburg/pam-freiburg b/server/configs/freiburg/pam-freiburg deleted file mode 120000 index 4e851a8d..00000000 --- a/server/configs/freiburg/pam-freiburg +++ /dev/null @@ -1 +0,0 @@ -../../modules/pam-freiburg
\ No newline at end of file diff --git a/server/export_target b/server/export_target index d930b8ee..33e06ad2 100755 --- a/server/export_target +++ b/server/export_target @@ -102,7 +102,7 @@ generate_config() { for FILE in $(find . -type f | cut -c 3-); do # check for all the archives we find in TARGET_CONFIG_BUILD_DIR for ARCHIV in $(ls "${TARGET_CONFIG_BUILD_DIR}/"*.tar 2>/dev/null); do - if [ "x$(tar tvf "${ARCHIV}" | grep "$FILE")" != "x" ]; then + if [ "x$(tar tvf "${ARCHIV}" | grep -E "${FILE}$")" != "x" ]; then # name of the module in conflict local CONFLICTING_MODULE="$(basename ${ARCHIV%.tar})" # file is present in archiv diff --git a/server/modules/pam-freiburg/etc/gssapi_mech.conf b/server/modules/auth-freiburg/etc/gssapi_mech.conf index ac41f5fd..ac41f5fd 100644 --- a/server/modules/pam-freiburg/etc/gssapi_mech.conf +++ b/server/modules/auth-freiburg/etc/gssapi_mech.conf diff --git a/server/modules/pam-freiburg/etc/idmapd.conf b/server/modules/auth-freiburg/etc/idmapd.conf index 2253cf0d..2253cf0d 100644 --- a/server/modules/pam-freiburg/etc/idmapd.conf +++ b/server/modules/auth-freiburg/etc/idmapd.conf diff --git a/server/modules/pam-freiburg/etc/krb5.conf b/server/modules/auth-freiburg/etc/krb5.conf index 6fd49243..6fd49243 100644 --- a/server/modules/pam-freiburg/etc/krb5.conf +++ b/server/modules/auth-freiburg/etc/krb5.conf diff --git a/server/modules/pam-freiburg/etc/ldap.conf b/server/modules/auth-freiburg/etc/ldap/ldap.conf index 483595d2..3e7dad17 100644 --- a/server/modules/pam-freiburg/etc/ldap.conf +++ b/server/modules/auth-freiburg/etc/ldap/ldap.conf @@ -1,4 +1,4 @@ -URI ldaps://bv1.ruf.uni-freiburg.de ldaps://bv2.ruf.uni-freiburg.de ldaps://bv3.ruf.uni-freiburg.de +URI ldaps://ldap.ruf.uni-freiburg.de ldaps://bv1.ruf.uni-freiburg.de ldaps://bv2.ruf.uni-freiburg.de ldaps://bv3.ruf.uni-freiburg.de BASE ou=people,dc=uni-freiburg,dc=de BIND_TIMELIMIT 5 TIMELIMIT 10 diff --git a/server/modules/pam-freiburg/etc/nsswitch.conf b/server/modules/auth-freiburg/etc/nsswitch.conf index 85c1719a..94e5c180 100644 --- a/server/modules/pam-freiburg/etc/nsswitch.conf +++ b/server/modules/auth-freiburg/etc/nsswitch.conf @@ -4,8 +4,8 @@ # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. -passwd: cache compat ldap -group: cache compat ldap +passwd: cache compat sss +group: cache compat sss shadow: compat hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 diff --git a/server/modules/auth-freiburg/etc/pam.d/common-account b/server/modules/auth-freiburg/etc/pam.d/common-account new file mode 100644 index 00000000..179158f7 --- /dev/null +++ b/server/modules/auth-freiburg/etc/pam.d/common-account @@ -0,0 +1,26 @@ +# +# /etc/pam.d/common-account - authorization settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authorization modules that define +# the central access policy for use on the system. The default is to +# only deny service to users whose accounts are expired in /etc/shadow. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. +# + +# here are the per-package modules (the "Primary" block) +account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so +account [success=1 new_authtok_reqd=done default=ignore] pam_sss.so use_first_pass +# here's the fallback if no module succeeds +account requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +account required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/server/modules/auth-freiburg/etc/pam.d/common-auth b/server/modules/auth-freiburg/etc/pam.d/common-auth new file mode 100644 index 00000000..e04c5c74 --- /dev/null +++ b/server/modules/auth-freiburg/etc/pam.d/common-auth @@ -0,0 +1,28 @@ +# +# /etc/pam.d/common-auth - authentication settings common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of the authentication modules that define +# the central authentication scheme for use on the system +# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the +# traditional Unix authentication mechanisms. +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +auth [success=ok default=ignore] pam_krb5.so minimum_uid=1000 +auth [success=2 default=ignore] pam_unix.so try_first_pass +auth [success=1 default=ignore] pam_sss.so use_first_pass +# here's the fallback if no module succeeds +auth requisite pam_deny.so +auth optional pam_script.so expose=1 +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +auth required pam_permit.so +# and here are more per-package modules (the "Additional" block) +# end of pam-auth-update config diff --git a/server/modules/pam-freiburg/etc/pam.d/common-password b/server/modules/auth-freiburg/etc/pam.d/common-password index cb8c7b71..cb8c7b71 100644 --- a/server/modules/pam-freiburg/etc/pam.d/common-password +++ b/server/modules/auth-freiburg/etc/pam.d/common-password diff --git a/server/modules/auth-freiburg/etc/pam.d/common-session b/server/modules/auth-freiburg/etc/pam.d/common-session new file mode 100644 index 00000000..be55be0d --- /dev/null +++ b/server/modules/auth-freiburg/etc/pam.d/common-session @@ -0,0 +1,37 @@ +# +# /etc/pam.d/common-session - session-related modules common to all services +# +# This file is included from other service-specific PAM config files, +# and should contain a list of modules that define tasks to be performed +# at the start and end of sessions of *any* kind (both interactive and +# non-interactive). +# +# As of pam 1.0.1-6, this file is managed by pam-auth-update by default. +# To take advantage of this, it is recommended that you configure any +# local modules either before or after the default block, and use +# pam-auth-update to manage selection of other modules. See +# pam-auth-update(8) for details. + +# here are the per-package modules (the "Primary" block) +session [default=1] pam_permit.so +# here's the fallback if no module succeeds +session requisite pam_deny.so +# prime the stack with a positive return value if there isn't one already; +# this avoids us returning an error just because nothing sets a success code +# since the modules above will each just jump around +session required pam_permit.so +# The pam_umask module will set the umask according to the system default in +# /etc/login.defs and user settings, solving the problem of different +# umask settings with different shells, display managers, remote sessions etc. +# See "man pam_umask". +session optional pam_umask.so +# and here are more per-package modules (the "Additional" block) +session required pam_systemd.so +session optional pam_env.so readenv=1 +session optional pam_env.so readenv=1 envfile=/etc/default/locale +session optional pam_krb5.so minimum_uid=1000 +session [success=1] pam_unix.so +session [success=ok] pam_sss.so +session sufficient pam_script.so +session optional pam_mkhomedir.so skel=/etc/skel umask=0022 +# end of pam-auth-update config diff --git a/server/modules/pam-freiburg/etc/pam.d/common-session-noninteractive b/server/modules/auth-freiburg/etc/pam.d/common-session-noninteractive index 1fee2c4f..1fee2c4f 100644 --- a/server/modules/pam-freiburg/etc/pam.d/common-session-noninteractive +++ b/server/modules/auth-freiburg/etc/pam.d/common-session-noninteractive diff --git a/server/modules/pam-freiburg/etc/pam.d/kdm b/server/modules/auth-freiburg/etc/pam.d/kdm index e6a4ec9b..e6a4ec9b 100644 --- a/server/modules/pam-freiburg/etc/pam.d/kdm +++ b/server/modules/auth-freiburg/etc/pam.d/kdm diff --git a/server/modules/pam-freiburg/etc/pam.d/kdm-np b/server/modules/auth-freiburg/etc/pam.d/kdm-np index dc10e5b5..dc10e5b5 100644 --- a/server/modules/pam-freiburg/etc/pam.d/kdm-np +++ b/server/modules/auth-freiburg/etc/pam.d/kdm-np diff --git a/server/modules/pam-freiburg/etc/pam.d/login b/server/modules/auth-freiburg/etc/pam.d/login index 1065f351..1065f351 100644 --- a/server/modules/pam-freiburg/etc/pam.d/login +++ b/server/modules/auth-freiburg/etc/pam.d/login diff --git a/server/modules/pam-freiburg/etc/pam.d/other b/server/modules/auth-freiburg/etc/pam.d/other index 840eb77f..840eb77f 100644 --- a/server/modules/pam-freiburg/etc/pam.d/other +++ b/server/modules/auth-freiburg/etc/pam.d/other diff --git a/server/modules/pam-freiburg/etc/pam.d/passwd b/server/modules/auth-freiburg/etc/pam.d/passwd index 32eaa3c6..32eaa3c6 100644 --- a/server/modules/pam-freiburg/etc/pam.d/passwd +++ b/server/modules/auth-freiburg/etc/pam.d/passwd diff --git a/server/modules/pam-freiburg/etc/pam.d/sshd b/server/modules/auth-freiburg/etc/pam.d/sshd index 8954d639..8954d639 100644 --- a/server/modules/pam-freiburg/etc/pam.d/sshd +++ b/server/modules/auth-freiburg/etc/pam.d/sshd diff --git a/server/modules/pam-freiburg/etc/pam.d/vmware-authd b/server/modules/auth-freiburg/etc/pam.d/vmware-authd index 1f9b60f9..1f9b60f9 100644 --- a/server/modules/pam-freiburg/etc/pam.d/vmware-authd +++ b/server/modules/auth-freiburg/etc/pam.d/vmware-authd diff --git a/server/modules/pam-freiburg/etc/pam.d/xdm b/server/modules/auth-freiburg/etc/pam.d/xdm index d21651db..d21651db 100644 --- a/server/modules/pam-freiburg/etc/pam.d/xdm +++ b/server/modules/auth-freiburg/etc/pam.d/xdm diff --git a/server/modules/pam-freiburg/etc/profile.d/00-autostart.sh b/server/modules/auth-freiburg/etc/profile.d/00-autostart.sh index 642aa002..642aa002 100755 --- a/server/modules/pam-freiburg/etc/profile.d/00-autostart.sh +++ b/server/modules/auth-freiburg/etc/profile.d/00-autostart.sh diff --git a/server/modules/auth-freiburg/etc/sssd/sssd.conf b/server/modules/auth-freiburg/etc/sssd/sssd.conf new file mode 100644 index 00000000..c5c63953 --- /dev/null +++ b/server/modules/auth-freiburg/etc/sssd/sssd.conf @@ -0,0 +1,60 @@ +[sssd] +config_file_version = 2 +services = nss, pam +#debug_level = 0xffff +# SSSD will not start if you do not configure any domains. +# Add new domain configurations as [domain/<NAME>] sections, and +# then add the list of domains (in the order you want them to be +# queried) to the "domains" attribute below and uncomment it. +domains = LDAP + +[nss] +filter_users = root,ldap,named,avahi,haldaemon,dbus,radiusd,news,nscd,demo + +[pam] + +# Example LDAP domain +[domain/LDAP] +id_provider = ldap +auth_provider = ldap +ldap_tls_reqcert = never +# ldap_schema can be set to "rfc2307", which stores group member names in the +# "memberuid" attribute, or to "rfc2307bis", which stores group member DNs in +# the "member" attribute. If you do not know this value, ask your LDAP +# administrator. +ldap_schema = rfc2307bis +ldap_uri = ldaps://ldap.ruf.uni-freiburg.de +ldap_backup_uri = ldaps://bv1.ruf.uni-freiburg.de,ldaps://bv2.ruf.uni-freiburg.de,ldaps://bv3.ruf.uni-freiburg.de +ldap_group_search_base = ou=group,dc=uni-freiburg,dc=de +ldap_user_search_base = ou=people,dc=uni-freiburg,dc=de +ldap_user_home_directory = rufClientHome +ldap_search_base = ou=people,dc=uni-freiburg,dc=de +# Note that enabling enumeration will have a moderate performance impact. +# Consequently, the default value for enumeration is FALSE. +# Refer to the sssd.conf man page for full details. +; enumerate = false +# Allow offline logins by locally storing password hashes (default: false). +cache_credentials = true + +# An example Active Directory domain. Please note that this configuration +# works for AD 2003R2 and AD 2008, because they use pretty much RFC2307bis +# compliant attribute names. To support UNIX clients with AD 2003 or older, +# you must install Microsoft Services For Unix and map LDAP attributes onto +# msSFU30* attribute names. +;[domain/AD] +;id_provider = ldap +;auth_provider = krb5 +;chpass_provider = krb5 + +;ldap_uri = ldaps://bv1.ruf.uni-freiburg.de ldaps://bv2.ruf.uni-freiburg.de ldaps://bv3.ruf.uni-freiburg.de +;ldap_search_base = ou=people,dc=uni-freiburg,dc=de +;ldap_schema = rfc2307bis +;ldap_sasl_mech = GSSAPI +;ldap_user_object_class = user +;ldap_group_object_class = group +;ldap_user_principal = userPrincipalName +;ldap_account_expire_policy = ad +;ldap_force_upper_case_realm = true +; +; krb5_server = your.ad.example.com +; krb5_realm = EXAMPLE.COM diff --git a/server/modules/pam-freiburg/etc/systemd/system/getty.target.wants/rpc-gssd.service b/server/modules/auth-freiburg/etc/systemd/system/getty.target.wants/rpc-gssd.service index 194aba77..194aba77 120000 --- a/server/modules/pam-freiburg/etc/systemd/system/getty.target.wants/rpc-gssd.service +++ b/server/modules/auth-freiburg/etc/systemd/system/getty.target.wants/rpc-gssd.service diff --git a/server/modules/pam-freiburg/etc/systemd/system/getty.target.wants/rpc-idmapd.service b/server/modules/auth-freiburg/etc/systemd/system/getty.target.wants/rpc-idmapd.service index 66a28252..66a28252 120000 --- a/server/modules/pam-freiburg/etc/systemd/system/getty.target.wants/rpc-idmapd.service +++ b/server/modules/auth-freiburg/etc/systemd/system/getty.target.wants/rpc-idmapd.service diff --git a/server/modules/pam-freiburg/etc/systemd/system/rpc-gssd.service b/server/modules/auth-freiburg/etc/systemd/system/rpc-gssd.service index 79ffce8d..79ffce8d 100644 --- a/server/modules/pam-freiburg/etc/systemd/system/rpc-gssd.service +++ b/server/modules/auth-freiburg/etc/systemd/system/rpc-gssd.service diff --git a/server/modules/pam-freiburg/etc/systemd/system/rpc-idmapd.service b/server/modules/auth-freiburg/etc/systemd/system/rpc-idmapd.service index c4da93e7..c4da93e7 100644 --- a/server/modules/pam-freiburg/etc/systemd/system/rpc-idmapd.service +++ b/server/modules/auth-freiburg/etc/systemd/system/rpc-idmapd.service diff --git a/server/modules/pam-freiburg/etc/systemd/system/run-rpc_pipefs.mount b/server/modules/auth-freiburg/etc/systemd/system/run-rpc_pipefs.mount index 692adce8..692adce8 100644 --- a/server/modules/pam-freiburg/etc/systemd/system/run-rpc_pipefs.mount +++ b/server/modules/auth-freiburg/etc/systemd/system/run-rpc_pipefs.mount diff --git a/server/modules/pam-freiburg/opt/openslx/scripts/pam_script_mount_persistent b/server/modules/auth-freiburg/opt/openslx/scripts/pam_script_mount_persistent index dbe6ef01..dbe6ef01 100644 --- a/server/modules/pam-freiburg/opt/openslx/scripts/pam_script_mount_persistent +++ b/server/modules/auth-freiburg/opt/openslx/scripts/pam_script_mount_persistent diff --git a/server/modules/cups-freiburg/etc/cups/ppd/RZMONO.ppd b/server/modules/cups-freiburg/etc/cups/ppd/RZMONO.ppd index e85aa614..53ed4aa9 100644 --- a/server/modules/cups-freiburg/etc/cups/ppd/RZMONO.ppd +++ b/server/modules/cups-freiburg/etc/cups/ppd/RZMONO.ppd @@ -1,1378 +1,1532 @@ -*PPD-Adobe: "4.3" -*% Xerox Corporation (R) Printer Description File -*% Copyright Xerox Corporation -*% Copyright Adobe Systems, Inc. -*% All Rights Reserved. -*% Date: 12/08/09 -*% OPB Build Number: 3.0.3 -*% PPD for Mac OS X, English -*FormatVersion: "4.3" -*FileVersion: "1.0" -*LanguageEncoding: ISOLatin1 -*LanguageVersion: English -*Product: "(Phaser 4600)" -*Product: "(.1.3.6.1.4.1.253.8.62.1.19.1.24.1)" -*PSVersion: "(3010) 0" -*Manufacturer: "Xerox" -*ModelName: "Xerox Phaser 4600" -*ShortNickName: "Xerox Phaser 4600" -*NickName: "Xerox Phaser 4600" -*PCFileName: "XRX4600.PPD" -*XRXHasPS: True -*XRXHasBooklet: True - -*% JCL Begin/End & JCL features (banner) - -*Protocols: BCP PJL TBCP -*Emulators: hplj -*StartEmulator_hplj: "" -*StopEmulator_hplj:"" -*JCLBegin:"<1B>%-12345X@PJL JOB<0A>@PJL<0A>@PJL COMMENT XRXbegin<0A>" - -*% Banner Sheet - -*JCLOpenUI *JCLBanner/Banner Sheet: Boolean -*OrderDependency: 10.0 JCLSetup *JCLBanner -*DefaultJCLBanner: True -*JCLBanner False/Off: "@PJL COMMENT OID_ATT_START_SHEET OID_VAL_JOB_SHEET_NONE<0A>" -*JCLBanner True/On: "@PJL COMMENT OID_ATT_START_SHEET OID_VAL_JOB_SHEET_FULL<0A>" -*JCLCloseUI: *JCLBanner -*% Banner Sheet - -*JCLOpenUI *JCLBanner/Banner Sheet: Boolean -*OrderDependency: 10.0 JCLSetup *JCLBanner -*DefaultJCLBanner: True -*JCLBanner False/Off: "@PJL COMMENT OID_ATT_START_SHEET OID_VAL_JOB_SHEET_NONE<0A>" -*JCLBanner True/On: "@PJL COMMENT OID_ATT_START_SHEET OID_VAL_JOB_SHEET_FULL<0A>" -*JCLCloseUI: *JCLBanner - -*% - - -*OpenGroup: InstallableOptions - -*OpenUI *XRXOptionTrays/Paper Trays: PickOne -*OrderDependency: 69.2 AnySetup *XRXOptionTrays -*DefaultXRXOptionTrays: TwoExtraTrays -*XRXOptionTrays TwoExtraTrays/2 Trays: "" -*XRXOptionTrays ThreeExtraTrays/3 Trays: "" -*XRXOptionTrays ThreeExtraTrayHC/3 Trays (High Capacity): "" -*XRXOptionTrays FourTrays/4 Trays: "" -*XRXOptionTrays FourTraysHC/4 Trays (High Capacity): "" -*XRXOptionTrays FiveTrays/5 Trays: "" -*XRXOptionTrays FiveTraysHC/5 Trays (High Capacity): "" -*XRXOptionTrays SixTrays/6 Trays: "" - -*?XRXOptionTrays: " - currentpagedevice /InputAttributes get /Priority get length 3 sub dup 0 lt { - pop (None) - }{ - dup 2 ge { - pop (Unknown) - }{ - [ - (OneExtraTray) - (TwoExtraTrays) - ] exch get - } ifelse - } ifelse - = flush -" -*End -*CloseUI: *XRXOptionTrays - -*OpenUI *XRFinisher/Output Tray: PickOne -*OrderDependency: 10 AnySetup *XRFinisher -*DefaultXRFinisher: CT -*XRFinisher CT/Main Tray: "" -*XRFinisher Finisher: "" -*XRFinisher Mailbox: "" -*CloseUI: *XRFinisher - -*OpenUI *XRXOptionHD/Optional Hard Drive: Boolean -*OrderDependency: 69.2 AnySetup *XRXOptionHD -*DefaultXRXOptionHD: False -*XRXOptionHD True/Installed: "" -*XRXOptionHD False/Not Installed: "" -*?XRXOptionHD: " - (%disk0%) /IODevice resourcestatus - {(True)}{(False)} ifelse - = flush -" -*End -*OIDXRXOptionHD True: "6" -*OIDXRXOptionHD False: "" -*?OIDXRXOptionHD: ".1.3.6.1.2.1.25.3.2.1.1.6" -*CloseUI: *XRXOptionHD - -*CloseGroup: InstallableOptions - - - -*% Tray Constraints - - -*% Manual Feed Constraints - - -*% Hard Drive Constraints - -*UIConstraints: *XRXOptionHD False *XRXJobType PersonalPrint -*UIConstraints: *XRXJobType PersonalPrint *XRXOptionHD False -*UIConstraints: *XRXOptionHD False *XRXJobType PersonalSavedPrint -*UIConstraints: *XRXJobType PersonalSavedPrint *XRXOptionHD False -*UIConstraints: *XRXOptionHD False *XRXJobType SecurePrint -*UIConstraints: *XRXJobType SecurePrint *XRXOptionHD False -*UIConstraints: *XRXOptionHD False *XRXJobType ProofPrint -*UIConstraints: *XRXJobType ProofPrint *XRXOptionHD False -*UIConstraints: *XRXOptionHD False *XRXJobType SavedPrint -*UIConstraints: *XRXJobType SavedPrint *XRXOptionHD False -*UIConstraints: *XRXOptionHD False *XRXJobType PrintWith -*UIConstraints: *XRXJobType PrintWith *XRXOptionHD False - -*% Duplexer Constraints - -*% Stacker Constraints - -*UIConstraints: *XRFinisher CT *OutputBin TopTray -*UIConstraints: *OutputBin TopTray *XRFinisher CT -*UIConstraints: *XRFinisher CT *OutputBin MainTray -*UIConstraints: *OutputBin MainTray *XRFinisher CT -*UIConstraints: *XRFinisher CT *OutputBin Bin1 -*UIConstraints: *OutputBin Bin1 *XRFinisher CT -*UIConstraints: *XRFinisher CT *OutputBin Bin2 -*UIConstraints: *OutputBin Bin2 *XRFinisher CT -*UIConstraints: *XRFinisher CT *OutputBin Bin3 -*UIConstraints: *OutputBin Bin3 *XRFinisher CT -*UIConstraints: *XRFinisher CT *OutputBin Bin4 -*UIConstraints: *OutputBin Bin4 *XRFinisher CT -*UIConstraints: *XRFinisher Finisher *OutputBin MainTray -*UIConstraints: *OutputBin MainTray *XRFinisher Finisher -*UIConstraints: *XRFinisher Finisher *OutputBin Bin1 -*UIConstraints: *OutputBin Bin1 *XRFinisher Finisher -*UIConstraints: *XRFinisher Finisher *OutputBin Bin2 -*UIConstraints: *OutputBin Bin2 *XRFinisher Finisher -*UIConstraints: *XRFinisher Finisher *OutputBin Bin3 -*UIConstraints: *OutputBin Bin3 *XRFinisher Finisher -*UIConstraints: *XRFinisher Finisher *OutputBin Bin4 -*UIConstraints: *OutputBin Bin4 *XRFinisher Finisher -*UIConstraints: *XRFinisher Mailbox *OutputBin TopTray -*UIConstraints: *OutputBin TopTray *XRFinisher Mailbox -*UIConstraints: *XRFinisher Mailbox *OutputBin MainTray - - -*% === Basic Device Capabilities ============ - -*FreeVM: "9993472" -*VMOption 128Meg/128 MB Total RAM: "9993472" -*VMOption 256Meg/256 MB Total RAM: "20061440" -*VMOption 384Meg/384 MB Total RAM: "25992448" -*VMOption 512Meg/512 MB Total RAM: "29744256" - -*FCacheSize 128Meg: 2097152 -*FCacheSize 256Meg: 4194304 -*FCacheSize 384Meg: 4194304 -*FCacheSize 512Meg: 4194304 - - -*LanguageLevel: "3" -*Protocols: BCP TBCP - -*SuggestedJobTimeout: "0" -*SuggestedWaitTimeout: "120" - -*Throughput: "52" -*DefaultOutputOrder: Normal - -*DefaultResolution: 600dpi -*SetResolution 600dpi: "" - -*ColorDevice: False -*DefaultColorSpace: Gray -*AccurateScreensSupport: True -*DefaultGuaranteedMaxSeparations: 1 -*ColorModel Gray/Gray: "" -*DefaultColorModel: Gray - -*% === Halftone Information ======== -*DefaultHalftoneType: 9 -*ScreenFreq: "60.0" -*ScreenAngle: "45.0" -*DefaultScreenProc: Dot -*ScreenProc Dot: "{180 mul cos exch 180 mul cos add 2 div} bind" -*DefaultTransfer: Null -*Transfer Null: "{ }" -*Transfer Null.Inverse: "{1 exch sub} bind" - -*DefaultColorSep: ProcessBlack.60lpi.600dpi/60 lpi / 600 dpi - -*% === For 60 lpi / 600 dpi =============================== - -*ColorSepScreenAngle ProcessBlack.60lpi.600dpi/60 lpi / 600 dpi: "45.0" -*ColorSepScreenAngle CustomColor.60lpi.600dpi/60 lpi / 600 dpi: "45.0" -*ColorSepScreenAngle ProcessCyan.60lpi.600dpi/60 lpi / 600 dpi: "45.0" -*ColorSepScreenAngle ProcessMagenta.60lpi.600dpi/60 lpi / 600 dpi: "45.0" -*ColorSepScreenAngle ProcessYellow.60lpi.600dpi/60 lpi / 600 dpi: "45.0" - -*ColorSepScreenFreq ProcessBlack.60lpi.600dpi/60 lpi / 600 dpi: "60.0" -*ColorSepScreenFreq CustomColor.60lpi.600dpi/60 lpi / 600 dpi: "60.0" -*ColorSepScreenFreq ProcessCyan.60lpi.600dpi/60 lpi / 600 dpi: "60.0" -*ColorSepScreenFreq ProcessMagenta.60lpi.600dpi/60 lpi / 600 dpi: "60.0" -*ColorSepScreenFreq ProcessYellow.60lpi.600dpi/60 lpi / 600 dpi: "60.0" - -*1284Modes Parallel: Compat Nibble ECP -*1284DeviceID: " -MFG:Xerox; -CMD:Adobe PostScript 3, PCL; -MDL:Phaser 4600; -CLS:Printer; -DES:Xerox Phaser 4600, Printer, PostScript 3, Letter/A4 Size -" -*End - -*TTRasterizer: Type42 -*?TTRasterizer: " - 42 /FontType resourcestatus - {pop pop (Type42)} {(None)} ifelse = flush" -*End - -*FileSystem: True -*?FileSystem: " - statusdict /diskstatus get exec add 0 gt - {(True)}{(False)} ifelse = flush" -*End - -*Password: "0" -*ExitServer: " - count 0 eq - { false } { true exch startjob } ifelse - not - { (WARNING: Cannot modify initial VM.) = - (Missing or invalid password.) = - (Please contact the author of this software.) = flush quit - } if" -*End -*Reset: " - count 0 eq - { false } { true exch startjob } ifelse - not - { (WARNING: Cannot reset printer.) = - (Missing or invalid password.) = - (Please contact the author of this software.) = flush quit - } if - systemdict /quit get exec - (WARNING : Printer Reset Failed.) = flush" -*End - - - - -*JobPatchFile 1: " -% Default Definitions - (Phaser 4600 3.0.3) pop - userdict /xerox$pagedevice << - /MediaClass null - /MediaPosition null - /PageSize [612 792] - /TraySwitch true - /ImagingBBox null - /ProcessColorModel /DeviceGray - /PostRenderingEnhance false - /Install { - xerox$old_install xerox$flip { - currentpagedevice /PageSize get aload pop translate 180 rotate - } if - } - >> put - - userdict /xerox$set_job_type true put - userdict /xerox$normal_job_type false put - userdict /xerox$booklet_job false put - userdict /xerox$booklet_pagesize_is_standard false put - userdict /xerox$jobname (unnamed) put - userdict /xerox$jobpassword () put - userdict /xerox$jog 3 put - userdict /xerox$smoothingDone false put - userdict /xerox$pageSizeDone false put - userdict /xerox$force_env false put - userdict /xerox$env_was_forced false put - userdict /xerox$customPageSize false put - userdict /xerox$printWithJobType false put - userdict /xerox$jobs [0] put - userdict /xerox$old_install known not { - userdict /xerox$old_install currentpagedevice /Install get put - } if - userdict /xerox$flip false put - - userdict /xerox$env { - userdict /xerox$force_env true put - userdict /xerox$flip xerox$flip not put - } put - - userdict /xerox$media_mismatch_code { - } put - - userdict /xerox$setpagedevice { - /RRCustomProcs /ProcSet findresource dup /getrbinumcopiescomment known { - /getrbinumcopiescomment get exec - dup length 0 ne { - cvi userdict exch /xerox$num_copies exch put - dup /NumCopies xerox$num_copies put - }{ - pop - } ifelse - }{ - pop - } ifelse - xerox$force_env { - dup /MediaClass get null eq { - dup /MediaClass (Envelope) put - userdict /xerox$env_was_forced true put - } if - userdict /xerox$force_env false put - }{ - xerox$env_was_forced { - dup /MediaClass get (Envelope) eq { - dup /MediaClass null put - } if - userdict /xerox$env_was_forced false put - } if - } ifelse - xerox$media_mismatch_code - xerox$booklet_pagesize_is_standard { - userdict /xerox$customPageSize false put - } if - /RRCustomProcs /ProcSet findresource dup /setcustomflag known { - /setcustomflag get xerox$customPageSize exch exec - }{ - pop - } ifelse - xerox$booklet_job { - userdict /xerox$booklet_pagesize known { - dup /PageSize xerox$booklet_pagesize put - } if - } if - setpagedevice - xerox$printWithJobType { - xerox$jobs {/RRCustomProcs /ProcSet findresource /printwith get exec} forall - } if - } put - - userdict /xerox$validate_jobname { - { - xerox$jobname length 0 eq {exit} if - xerox$jobname 0 get 32 eq { - userdict /xerox$jobname - xerox$jobname 1 xerox$jobname length 1 sub getinterval - put - }{ - exit - } ifelse - } loop - xerox$jobname length 0 eq { - userdict /xerox$jobname (unnamed) put - } if - } put - - userdict /xerox$pm_job - userdict /xerox$str (P00PS) put - false 99 -1 40 { - xerox$str exch 1 exch 2 string cvs putinterval - userdict xerox$str cvn known or - dup {exit} if - } for - put - - - - userdict /dscInfo known not - { - userdict begin - /bstr? - { - true mark ( ) << /9 null /10 null /12 null /13 null /32 null >> 4 index - { - 2 index cvs cvn 1 index exch - known not { cleartomark pop false mark exit } if - } forall - cleartomark - } bind def - - /dscInfo - << - /Title mark - { - /RRCustomProcs /ProcSet findresource /gettitlecomment get exec - } stopped - { - cleartomark mark () - } if - bstr? - { - pop (Unknown) - } if - exch pop - /For mark - { - /RRCustomProcs /ProcSet findresource /getforcomment get exec - } stopped - { - cleartomark mark () - } if - bstr? - { - pop (Unknown) - } if - exch pop - >> def - currentdict /bstr? undef - end - } if - mark { - dscInfo /For get /RRCustomProcs /ProcSet findresource /logusername get exec - dscInfo /Title get /RRCustomProcs /ProcSet findresource /logfilename get exec - dscInfo /Title get /RRCustomProcs /ProcSet findresource /logjobname get exec - /RRCustomProcs /ProcSet findresource /logjobinfo get exec - } stopped cleartomark - -" -*End - - - -*% === Paper Handling ========= - -*% Use these entries to set paper size most of the time, unless there is -*% specific reason to use PageRegion. -*OpenUI *PageSize/Media Size: PickOne -*OrderDependency: 10 AnySetup *PageSize -*DefaultPageSize: A4 -*PageSize Letter/Letter (8.5 x 11"): "<< /PageSize [ 612 792 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize Legal/Legal (8.5 x 14"): "<< /PageSize [ 612 1008 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize Statement/Statement (5.5 x 8.5"): "<< /PageSize [ 396 612 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize Executive/Executive (7.25 x 10.5"): "<< /PageSize [ 522 756 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize FanFoldGermanLegal/8.5 x 13": "<< /PageSize [ 612 936 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize A4/A4 (210 x 297 mm): "<< /PageSize [ 595 842 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize A5/A5 (148 x 210 mm): "<< /PageSize [ 425 595 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize A6/A6 (105 x 148 mm): "<< /PageSize [ 297 420 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize IndexCard/Index Card Stock: "<< /PageSize [ 216 360 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize B5/JIS B5 (182 x 257 mm): "<< /PageSize [ 516 729 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize Oficio/Oficio (216 x 343 mm): "<< /PageSize [ 612 972 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize PostCard4x6/Postcard(4 x 6"): "<< /PageSize [ 289 432 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize Postcard/Postcard (100 x 148 mm): "<< /PageSize [ 284 419 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize ISOB5/Envelope B5 (176 x 250 mm): "<< /PageSize [ 499 709 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize EnvC5/Envelope C5 (162 x 229 mm): "<< /PageSize [ 459 649 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize EnvC6/Envelope C6 (114 x 162 mm): "<< /PageSize [ 323 459 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize EnvDL/Envelope DL (110 x 220 mm): "<< /PageSize [ 312 624 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize EnvMonarch/Envelope Monarch(3.875 x 7.5"): "<< /PageSize [ 279 540 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageSize Env10/Envelope No. 10 (4.1 x 9.5"): "<< /PageSize [ 297 684 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*CloseUI: *PageSize -*OpenUI *PageRegion/Media Size: PickOne -*OrderDependency: 10 AnySetup *PageRegion -*DefaultPageRegion: A4 -*PageRegion Letter/Letter (8.5 x 11"): "<< /PageSize [ 612 792 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion Legal/Legal (8.5 x 14"): "<< /PageSize [ 612 1008 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion Statement/Statement (5.5 x 8.5"): "<< /PageSize [ 396 612 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion Executive/Executive (7.25 x 10.5"): "<< /PageSize [ 522 756 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion FanFoldGermanLegal/8.5 x 13": "<< /PageSize [ 612 936 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion A4/A4 (210 x 297 mm): "<< /PageSize [ 595 842 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion A5/A5 (148 x 210 mm): "<< /PageSize [ 425 595 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion A6/A6 (105 x 148 mm): "<< /PageSize [ 297 420 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion IndexCard/Index Card Stock: "<< /PageSize [ 216 360 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion B5/JIS B5 (182 x 257 mm): "<< /PageSize [ 516 729 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion Oficio/Oficio (216 x 343 mm): "<< /PageSize [ 612 972 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion PostCard4x6/Postcard(4 x 6"): "<< /PageSize [ 289 432 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion Postcard/Postcard (100 x 148 mm): "<< /PageSize [ 284 419 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion ISOB5/Envelope B5 (176 x 250 mm): "<< /PageSize [ 499 709 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion EnvC5/Envelope C5 (162 x 229 mm): "<< /PageSize [ 459 649 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion EnvC6/Envelope C6 (114 x 162 mm): "<< /PageSize [ 323 459 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion EnvDL/Envelope DL (110 x 220 mm): "<< /PageSize [ 312 624 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion EnvMonarch/Envelope Monarch(3.875 x 7.5"): "<< /PageSize [ 279 540 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*PageRegion Env10/Envelope No. 10 (4.1 x 9.5"): "<< /PageSize [ 297 684 ] /ImagingBBox null >> xerox$pagedevice copy pop" -*CloseUI: *PageRegion -*DefaultImageableArea: A4 -*ImageableArea Letter/Letter (8.5 x 11"): "11.340000152588 11.340000152588 600.659973144531 780.659973144531" -*ImageableArea Legal/Legal (8.5 x 14"): "11.340000152588 11.340000152588 600.659973144531 996.659973144531" -*ImageableArea Statement/Statement (5.5 x 8.5"): "11.340000152588 11.340000152588 384.660003662109 600.659973144531" -*ImageableArea Executive/Executive (7.25 x 10.5"): "11.340000152588 11.340000152588 510.660003662109 744.659973144531" -*ImageableArea FanFoldGermanLegal/8.5 x 13": "11.340000152588 11.340000152588 600.659973144531 924.659973144531" -*ImageableArea A4/A4 (210 x 297 mm): "11.340000152588 11.340000152588 583.659973144531 830.659973144531" -*ImageableArea A5/A5 (148 x 210 mm): "11.340000152588 11.340000152588 413.660003662109 583.659973144531" -*ImageableArea A6/A6 (105 x 148 mm): "11.340000152588 11.340000152588 285.660003662109 408.660003662109" -*ImageableArea IndexCard/Index Card Stock: "11.340000152588 11.340000152588 204.660003662109 348.660003662109" -*ImageableArea B5/JIS B5 (182 x 257 mm): "11.340000152588 11.340000152588 504.660003662109 717.659973144531" -*ImageableArea Oficio/Oficio (216 x 343 mm): "11.340000152588 11.340000152588 600.659973144531 960.659973144531" -*ImageableArea PostCard4x6/Postcard(4 x 6"): "11.340000152588 11.340000152588 277.660003662109 420.660003662109" -*ImageableArea Postcard/Postcard (100 x 148 mm): "11.340000152588 11.340000152588 272.660003662109 407.660003662109" -*ImageableArea ISOB5/Envelope B5 (176 x 250 mm): "11.340000152588 11.340000152588 487.660003662109 697.659973144531" -*ImageableArea EnvC5/Envelope C5 (162 x 229 mm): "11.340000152588 11.340000152588 447.660003662109 637.659973144531" -*ImageableArea EnvC6/Envelope C6 (114 x 162 mm): "11.340000152588 11.340000152588 311.660003662109 447.660003662109" -*ImageableArea EnvDL/Envelope DL (110 x 220 mm): "11.340000152588 11.340000152588 300.660003662109 612.659973144531" -*ImageableArea EnvMonarch/Envelope Monarch(3.875 x 7.5"): "14.199999809265 42.599998474121 264.799987792969 497.399993896484" -*ImageableArea Env10/Envelope No. 10 (4.1 x 9.5"): "11.340000152588 11.340000152588 285.660003662109 672.659973144531" -*DefaultPaperDimension: A4 -*PaperDimension Letter/Letter (8.5 x 11"): "612 792" -*PaperDimension Legal/Legal (8.5 x 14"): "612 1008" -*PaperDimension Statement/Statement (5.5 x 8.5"): "396 612" -*PaperDimension Executive/Executive (7.25 x 10.5"): "522 756" -*PaperDimension FanFoldGermanLegal/8.5 x 13": "612 936" -*PaperDimension A4/A4 (210 x 297 mm): "595 842" -*PaperDimension A5/A5 (148 x 210 mm): "425 595" -*PaperDimension A6/A6 (105 x 148 mm): "297 420" -*PaperDimension IndexCard/Index Card Stock: "216 360" -*PaperDimension B5/JIS B5 (182 x 257 mm): "516 729" -*PaperDimension Oficio/Oficio (216 x 343 mm): "612 972" -*PaperDimension PostCard4x6/Postcard(4 x 6"): "289 432" -*PaperDimension Postcard/Postcard (100 x 148 mm): "284 419" -*PaperDimension ISOB5/Envelope B5 (176 x 250 mm): "499 709" -*PaperDimension EnvC5/Envelope C5 (162 x 229 mm): "459 649" -*PaperDimension EnvC6/Envelope C6 (114 x 162 mm): "323 459" -*PaperDimension EnvDL/Envelope DL (110 x 220 mm): "312 624" -*PaperDimension EnvMonarch/Envelope Monarch(3.875 x 7.5"): "279 540" -*PaperDimension Env10/Envelope No. 10 (4.1 x 9.5"): "297 684" -*OpenUI *SetPageDevice/SetPageDevice: PickOne -*OrderDependency: 100 AnySetup *SetPageDevice -*DefaultSetPageDevice: SetPageDevice -*SetPageDevice SetPageDevice: "xerox$pagedevice setpagedevice" -*CloseUI: *SetPageDevice - -*RequiresPageRegion All: True - - -*NonUIOrderDependency: 69.9 AnySetup *CustomPageSize -*VariablePaperSize: True -*CustomPageSize True: " - userdict /xerox$NT known { - 0 eq {pop pop exch}{pop pop} ifelse - }{ - pop pop pop - } ifelse - dup 0 eq { % for QuarkXPress - pop pop - }{ - << - /PageSize [ 5 -2 roll ] - >> xerox$pagedevice copy - userdict /xerox$customPageSize true put - xerox$pm_job { - xerox$setpagedevice - }{ - xerox$smoothingDone {xerox$setpagedevice}{pop} ifelse - } ifelse - userdict /xerox$pageSizeDone true put - } ifelse -" -*End - -*DefaultLeadingEdge: Short -*LeadingEdge Short: "" - - -*ParamCustomPageSize Width: 1 points 216.00 612.00 -*ParamCustomPageSize Height: 2 points 360.00 1008.00 -*ParamCustomPageSize WidthOffset: 3 points 0 0 -*ParamCustomPageSize HeightOffset: 4 points 0 0 -*ParamCustomPageSize Orientation: 5 int 0 0 -*MaxMediaWidth: "612.00" -*MaxMediaHeight: "1008.00" -*?CurrentMediaWidth: "currentpagedevice /PageSize get 0 get = flush" -*?CurrentMediaHeight: "currentpagedevice /PageSize get 1 get = flush" - - -*% === Tray Selection ================ -*OpenUI *InputSlot: PickOne -*OrderDependency: 43.0 AnySetup *InputSlot -*DefaultInputSlot: Tray2 -*InputSlot Tray1/Tray 1: " - xerox$pagedevice /MediaPosition 0 put - xerox$pagedevice /TraySwitch false put -" -*End -*InputSlot Tray2/Tray 2: " - xerox$pagedevice /MediaPosition 1 put - xerox$pagedevice /TraySwitch false put -" -*End -*InputSlot Tray3/Tray 3: " - xerox$pagedevice /MediaPosition 2 put - xerox$pagedevice /TraySwitch false put -" -*End -*InputSlot Tray4/Tray 4: " - xerox$pagedevice /MediaPosition 3 put - xerox$pagedevice /TraySwitch false put -" -*End -*InputSlot Tray5/Tray 5: " - xerox$pagedevice /MediaPosition 4 put - xerox$pagedevice /TraySwitch false put -" -*End -*InputSlot Tray6/Tray 6: " - xerox$pagedevice /MediaPosition 5 put - xerox$pagedevice /TraySwitch false put -" -*End -*CloseUI: *InputSlot - - - -*OpenUI *Duplex/2-Sided Printing: PickOne -*OrderDependency: 45.0 AnySetup *Duplex -*DefaultDuplex: DuplexNoTumble -*Duplex None/Off: " - <</Duplex false /Tumble false>> xerox$pagedevice copy pop -" -*End -*Duplex DuplexNoTumble/Long-Edge Binding: " - <</Duplex true /Tumble false>> xerox$pagedevice copy pop -" -*End -*Duplex DuplexTumble/Short-Edge Binding: " - <</Duplex true /Tumble true>> xerox$pagedevice copy pop -" -*End -*CloseUI: *Duplex - - -*OpenGroup: PrintQuality/Print Quality/Color - - -*OpenUI *OutputMode/Print Quality: PickOne -*OrderDependency: 46.0 AnySetup *OutputMode -*DefaultOutputMode: 600x600 -*OutputMode 600x600/600x600 256 shades of gray: "(<<) cvx exec /DeviceRenderingInfo (<<) cvx exec /Type 4 /ValuesPerColorComponent 2(>>) cvx exec /HWResolution [600 600] (>>) cvx exec setpagedevice" -*OutputMode 1200x1200/1200x1200 256 shades of gray: "(<<) cvx exec /DeviceRenderingInfo (<<) cvx exec /Type 4 /ValuesPerColorComponent 2(>>) cvx exec /HWResolution [1200 1200] (>>) cvx exec setpagedevice" -*CloseUI: *OutputMode - -*CloseGroup: PrintQuality - -*OpenGroup: AdvancedMedia/Advanced Media - - - -*OpenUI *OutputBin/Paper Destination: PickOne -*OrderDependency: 40.0 AnySetup *OutputBin -*DefaultOutputBin: Unspecified -*OutputBin Unspecified/Automatically Select: "" -*OutputBin TopTray/Top Tray: "(<<) cvx exec /OutputType (TopTray) (>>) cvx exec setpagedevice" -*OutputBin MainTray/Main Tray: "(<<) cvx exec /OutputType (Stacker) (>>) cvx exec setpagedevice" -*OutputBin Bin1/Bin 1: "" -*OutputBin Bin2/Bin 2: "" -*OutputBin Bin3/Bin 3: "" -*OutputBin Bin4/Bin 4: "" -*CloseUI: *OutputBin - -*OpenUI *MediaType/Paper Types: PickOne -*OrderDependency: 10 AnySetup *MediaType -*DefaultMediaType: Unspecified -*MediaType Unspecified/Automatically Select Type: "<< /MediaType (Unspecified) >> xerox$pagedevice copy pop" -*MediaType SystemDefault/Printer Default Type: "<< /MediaType (System-Default) >> xerox$pagedevice copy pop" -*MediaType Plain/Plain: "<< /MediaType (Standard) >> xerox$pagedevice copy pop" -*MediaType PrepunchedPlain/Hole Punched: "<< /MediaType (Drilled) >> xerox$pagedevice copy pop" -*MediaType Transparency/Transparency: "<< /MediaType (Transparency) >> xerox$pagedevice copy pop" -*MediaType LetterheadPlain/Letterhead: "<< /MediaType (Letterhead) >> xerox$pagedevice copy pop" -*MediaType Card/Heavyweight: "<< /MediaType (CardStock) >> xerox$pagedevice copy pop" -*MediaType Recycled/Recycled: "<< /MediaType (Recycled) >> xerox$pagedevice copy pop" -*MediaType Bond/Bond: "<< /MediaType (Bond) >> xerox$pagedevice copy pop" -*MediaType Archive/Archival: "<< /MediaType (Archive) >> xerox$pagedevice copy pop" -*MediaType Labels/Labels: "<< /MediaType (Labels) >> xerox$pagedevice copy pop" -*MediaType Lightweight/Lightweight: "<< /MediaType (Lightweight) >> xerox$pagedevice copy pop" -*MediaType Cardstock/Cardstock: "<< /MediaType (Cardstock) >> xerox$pagedevice copy pop" -*MediaType PreprintedPlain/Pre-Printed: "<< /MediaType (Preprinted) >> xerox$pagedevice copy pop" -*MediaType Envelope/Envelope: "<< /MediaType (Envelope) >> xerox$pagedevice copy pop" -*MediaType CustomType1/Custom Type 1: "<< /MediaType (custom1) >> xerox$pagedevice copy pop" -*MediaType CustomType2/Custom Type 2: "<< /MediaType (custom2) >> xerox$pagedevice copy pop" -*MediaType CustomType3/Custom Type 3: "<< /MediaType (custom3) >> xerox$pagedevice copy pop" -*MediaType CustomType4/Custom Type 4: "<< /MediaType (custom4) >> xerox$pagedevice copy pop" -*MediaType CustomType5/Custom Type 5: "<< /MediaType (custom5) >> xerox$pagedevice copy pop" -*MediaType CustomType6/Custom Type 6: "<< /MediaType (custom6) >> xerox$pagedevice copy pop" -*MediaType CustomType7/Custom Type 7: "<< /MediaType (custom7) >> xerox$pagedevice copy pop" -*MediaType Other/Other: "<< /MediaType (other) >> xerox$pagedevice copy pop" -*CloseUI: *MediaType - -*OpenUI *MediaColor/Paper Colors: PickOne -*OrderDependency: 10 AnySetup *MediaColor -*DefaultMediaColor: Unspecified -*MediaColor Unspecified/Automatically Select Color: "<< /MediaColor (Unspecified) >> xerox$pagedevice copy pop" -*MediaColor Yellow/Yellow: "<< /MediaColor (Yellow) >> xerox$pagedevice copy pop" -*MediaColor Green/Green: "<< /MediaColor (Green) >> xerox$pagedevice copy pop" -*MediaColor Buff/Buff: "<< /MediaColor (Buff) >> xerox$pagedevice copy pop" -*MediaColor White/White: "<< /MediaColor (White) >> xerox$pagedevice copy pop" -*MediaColor Red/Red: "<< /MediaColor (Red) >> xerox$pagedevice copy pop" -*MediaColor Ivory/Ivory: "<< /MediaColor (Ivory) >> xerox$pagedevice copy pop" -*MediaColor Gray/Gray: "<< /MediaColor (Gray) >> xerox$pagedevice copy pop" -*MediaColor Clear/Clear: "<< /MediaColor (Clear) >> xerox$pagedevice copy pop" -*MediaColor Pink/Pink: "<< /MediaColor (Pink) >> xerox$pagedevice copy pop" -*MediaColor Goldenrod/Goldenrod: "<< /MediaColor (Goldenrod) >> xerox$pagedevice copy pop" -*MediaColor Orange/Orange: "<< /MediaColor (Orange) >> xerox$pagedevice copy pop" -*MediaColor Blue/Blue: "<< /MediaColor (Blue) >> xerox$pagedevice copy pop" -*MediaColor CustomColor1/Custom Color 1: "<< /MediaColor (Custom1) >> xerox$pagedevice copy pop" -*MediaColor CustomColor2/Custom Color 2: "<< /MediaColor (Custom2) >> xerox$pagedevice copy pop" -*MediaColor CustomColor3/Custom Color 3: "<< /MediaColor (Custom3) >> xerox$pagedevice copy pop" -*MediaColor CustomColor4/Custom Color 4: "<< /MediaColor (Custom4) >> xerox$pagedevice copy pop" -*MediaColor CustomColor5/Custom Color 5: "<< /MediaColor (Custom5) >> xerox$pagedevice copy pop" -*MediaColor CustomColor6/Custom Color 6: "<< /MediaColor (Custom6) >> xerox$pagedevice copy pop" -*MediaColor CustomColor7/Custom Color 7: "<< /MediaColor (Custom7) >> xerox$pagedevice copy pop" -*MediaColor Other/Other Color: "<< /MediaColor (Other) >> xerox$pagedevice copy pop" -*CloseUI: *MediaColor - - -*% === Offset Collated Sets ====================== -*OpenUI *XRXJog/Offset Collated Sets: Boolean -*OrderDependency: 55.0 AnySetup *XRXJog -*DefaultXRXJog: False -*XRXJog False/Off: " - userdict /xerox$jog currentpagedevice /Jog get put -" -*End -*XRXJog True/On: " - userdict /xerox$jog 3 put -" -*End -*CloseUI: *XRXJog - - - -*% === Collation ===================== -*OpenUI *Collate/Quick Collate: Boolean -*OrderDependency: 56.0 AnySetup *Collate -*DefaultCollate: True -*Collate False/Off: " - xerox$pagedevice /Collate false put -" -*End -*Collate True/On: " - xerox$pagedevice /Collate true put - currentpagedevice /Jog known {xerox$pagedevice /Jog xerox$jog put} if -" -*End -*CloseUI: *Collate - -*OpenUI *StapleLocation/Stapling: PickOne -*OrderDependency: 55.0 AnySetup *StapleLocation -*DefaultStapleLocation: None -*StapleLocation None/No Staple: " - (<<) cvx exec /Staple 0 (>>) cvx exec setpagedevice" -*End -*StapleLocation SinglePortrait/1 Staple: " - (<<) cvx exec /Collate true (>>) cvx exec setpagedevice - (<<) cvx exec /Staple 3 (>>) cvx exec setpagedevice - (<<) cvx exec /StapleDetails (<<) cvx exec /Type 1 /StapleLocation (SinglePortrait) (>>) cvx exec (>>) cvx exec setpagedevice" -*End - -*CloseUI: *StapleLocation - -*% === Edge-to-Edge Printing ====================== -*OpenUI *XRXEdgeToEdge/Edge-to-Edge Printing: Boolean -*OrderDependency: 57.0 DocumentSetup *XRXEdgeToEdge -*DefaultXRXEdgeToEdge: False -*XRXEdgeToEdge False/Off: " - userdict /xerox$edgetoedgedone known not { - false /RRCustomProcs /ProcSet findresource /edgetoedge get exec - userdict /xerox$edgetoedgedone true put - } if -" -*End -*XRXEdgeToEdge True/On: " - userdict /xerox$edgetoedgedone known not { - true /RRCustomProcs /ProcSet findresource /edgetoedge get exec - userdict /xerox$edgetoedgedone true put - } if -" -*End -*CloseUI: *XRXEdgeToEdge - - - -*% === Media Mismatch Policy ===================== -*OpenUI *XRXMismatch/Media Mismatch Policy: PickOne -*OrderDependency: 59.0 AnySetup *XRXMismatch -*DefaultXRXMismatch: PromptTypeMismatch -*XRXMismatch PromptTypeMismatch/If paper type mismatch, prompt me at the printer: " -" -*End -*XRXMismatch Scale/Scale document to fit currently loaded paper size: " - userdict /xerox$media_mismatch_code { - true /RRCustomProcs /ProcSet findresource /setautofit get exec - xerox$pagedevice /TraySwitch get not - { - xerox$pagedevice /MediaClass null put - } if - } put -" -*End -*XRXMismatch Clip/Crop document to fit currently loaded paper size: " - userdict /xerox$media_mismatch_code { - false /RRCustomProcs /ProcSet findresource /setautofit get exec - xerox$pagedevice /TraySwitch get not - { - xerox$pagedevice /MediaClass null put - } if - } put -" -*End -*CloseUI: *XRXMismatch - - - -*% === Separation Page Source =========== -*OpenUI *XRXSlipSheetSource/Separation Page Source: PickOne -*OrderDependency: 62.0 AnySetup *XRXSlipSheetSource -*DefaultXRXSlipSheetSource: Tray1 -*XRXSlipSheetSource Tray1/Tray 1: " - 0 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec -" -*End -*XRXSlipSheetSource Tray2/Tray 2: " - 1 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec -" -*End -*XRXSlipSheetSource Tray3/Tray 3: " - 2 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec -" -*End -*XRXSlipSheetSource Tray4/Tray 4: " - 3 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec -" -*XRXSlipSheetSource Tray5/Tray 5: " - 4 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec -" -*XRXSlipSheetSource Tray6/Tray 6: " - 5 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec -" -*End -*CloseUI: *XRXSlipSheetSource - - -*% === Separation Page ============== -*OpenUI *Slipsheet/Separation Page: PickOne -*OrderDependency: 62.1 AnySetup *Slipsheet -*DefaultSlipsheet: None -*Slipsheet None/None: " - xerox$pagedevice /SlipSheet 0 put -" -*End -*Slipsheet EndOfJob/End Of Job: " - xerox$pagedevice /SlipSheet 2 put -" -*End -*Slipsheet EndOfSet/End Of Set: " - xerox$pagedevice /SlipSheet 3 put -" -*End -*Slipsheet EndOfPage/End Of Page: " - xerox$booklet_job { - xerox$pagedevice /SlipSheet 0 put - }{ - xerox$pagedevice /SlipSheet 4 put - } ifelse -" -*End -*CloseUI: *Slipsheet - - - - -*% === Last Page Paper Source =========== -*OpenUI *XRXLastPageSource/Last Page Paper Source: PickOne -*OrderDependency: 63.0 AnySetup *XRXLastPageSource -*DefaultXRXLastPageSource: Same -*XRXLastPageSource Same/Same as previous pages: "" -*XRXLastPageSource Tray1/Tray 1: " - 2 0 /RRCustomProcs /ProcSet findresource /setcoverpages get exec -" -*End -*XRXLastPageSource Tray2/Tray 2: " - 2 1 /RRCustomProcs /ProcSet findresource /setcoverpages get exec -" -*End -*XRXLastPageSource Tray3/Tray 3: " - 2 2 /RRCustomProcs /ProcSet findresource /setcoverpages get exec -" -*End -*XRXLastPageSource Tray4/Tray 4: " - 2 3 /RRCustomProcs /ProcSet findresource /setcoverpages get exec -" -*End -*XRXLastPageSource Tray5/Tray 5: " - 2 4 /RRCustomProcs /ProcSet findresource /setcoverpages get exec -" -*End -*XRXLastPageSource Tray6/Tray 6: " - 2 5 /RRCustomProcs /ProcSet findresource /setcoverpages get exec -" -*End -*CloseUI: *XRXLastPageSource - - - - - -*% === Draft Mode ===================== -*OpenUI *XRXDraft/Draft Mode: Boolean -*OrderDependency: 47.0 AnySetup *XRXDraft -*DefaultXRXDraft: False -*XRXDraft False/Off: "" -*XRXDraft True/On: " - << - /HWResolution [600 600] - /PostRenderingEnhance true - >> xerox$pagedevice copy pop -" -*End -*CloseUI: *XRXDraft - - -*CloseGroup: AdvancedMedia - - -*OpenGroup: JobType/Job Type - -*OpenUI *XRXJobType/Job Type: PickOne -*OrderDependency: 41.99 AnySetup *XRXJobType -*DefaultXRXJobType: Normal -*XRXJobType Normal/Normal: " - userdict /xerox$normal_job_type true put -" -*End -*XRXJobType PersonalPrint/Personal Print: " - xerox$pagedevice /DeferredMediaSelection true put - { - xerox$jobname (unnamed) eq { - dscInfo /Title get dup (Unknown) ne exch () ne and { - userdict /xerox$jobname dscInfo /Title get put - } if - } if - userdict /xerox$pdejobname known { - userdict /xerox$jobname xerox$pdejobname put - mark { - dscInfo /Title get - /RRCustomProcs /ProcSet findresource /logjobname get exec - /RRCustomProcs /ProcSet findresource /logjobinfo get exec - } stopped cleartomark - } if - xerox$set_job_type { - xerox$validate_jobname - xerox$jobname 6 /RRCustomProcs /ProcSet findresource /setjobtype get exec - userdict /xerox$set_job_type false put - } if - } stopped - { - /xerox$buffer 4096 string def - {currentfile xerox$buffer readstring exch pop not {exit} if} loop - } if -" -*End -*XRXJobType PersonalSavedPrint/Personal Saved Print: " - xerox$pagedevice /DeferredMediaSelection true put - { - xerox$set_job_type { - dscInfo /Title get dup (Unknown) ne exch () ne and { - userdict /xerox$jobname dscInfo /Title get put - } if - userdict /xerox$pdejobname known { - userdict /xerox$jobname xerox$pdejobname put - mark { - dscInfo /Title get - /RRCustomProcs /ProcSet findresource /logjobname get exec - /RRCustomProcs /ProcSet findresource /logjobinfo get exec - } stopped cleartomark - } if - userdict /xerox$pdejobpassword known { - userdict /xerox$jobpassword xerox$pdejobpassword put - } if - xerox$validate_jobname - xerox$jobname length 4 add string - dup 0 (0000) putinterval - dup xerox$jobpassword dup length 4 sub neg exch putinterval - dup 4 xerox$jobname putinterval - 11 /RRCustomProcs /ProcSet findresource /setjobtype get exec - userdict /xerox$set_job_type false put - } if - } stopped - { - /xerox$buffer 4096 string def - {currentfile xerox$buffer readstring exch pop not {exit} if} loop - } if -" -*End -*XRXJobType SecurePrint/Secure Print: " - xerox$pagedevice /DeferredMediaSelection true put - { - xerox$set_job_type { - dscInfo /Title get dup (Unknown) ne exch () ne and { - userdict /xerox$jobname dscInfo /Title get put - } if - userdict /xerox$pdejobname known { - userdict /xerox$jobname xerox$pdejobname put - mark { - dscInfo /Title get - /RRCustomProcs /ProcSet findresource /logjobname get exec - /RRCustomProcs /ProcSet findresource /logjobinfo get exec - } stopped cleartomark - } if - userdict /xerox$pdejobpassword known { - userdict /xerox$jobpassword xerox$pdejobpassword put - } if - xerox$validate_jobname - xerox$jobname length 4 add string - dup 0 (0000) putinterval - dup xerox$jobpassword dup length 4 sub neg exch putinterval - dup 4 xerox$jobname putinterval - 3 /RRCustomProcs /ProcSet findresource /setjobtype get exec - userdict /xerox$set_job_type false put - } if - } stopped - { - /xerox$buffer 4096 string def - {currentfile xerox$buffer readstring exch pop not {exit} if} loop - } if -" -*End -*XRXJobType ProofPrint/Sample Set: " - xerox$pagedevice /DeferredMediaSelection false put - mark { - xerox$jobname (unnamed) eq { - dscInfo /Title get dup (Unknown) ne exch () ne and { - userdict /xerox$jobname dscInfo /Title get put - } if - } if - userdict /xerox$pdejobname known { - userdict /xerox$jobname xerox$pdejobname put - mark { - dscInfo /Title get - /RRCustomProcs /ProcSet findresource /logjobname get exec - /RRCustomProcs /ProcSet findresource /logjobinfo get exec - } stopped cleartomark - } if - xerox$set_job_type { - xerox$validate_jobname - xerox$jobname 1 /RRCustomProcs /ProcSet findresource /setjobtype get exec - userdict /xerox$set_job_type false put - } if - } stopped cleartomark -" -*End -*XRXJobType SavedPrint/Saved Print: " - xerox$pagedevice /DeferredMediaSelection true put - mark { - xerox$jobname (unnamed) eq { - dscInfo /Title get dup (Unknown) ne exch () ne and { - userdict /xerox$jobname dscInfo /Title get put - } if - } if - userdict /xerox$pdejobname known { - userdict /xerox$jobname xerox$pdejobname put - mark { - dscInfo /Title get - /RRCustomProcs /ProcSet findresource /logjobname get exec - /RRCustomProcs /ProcSet findresource /logjobinfo get exec - } stopped cleartomark - } if - xerox$set_job_type { - xerox$validate_jobname - xerox$jobname 2 /RRCustomProcs /ProcSet findresource /setjobtype get exec - userdict /xerox$set_job_type false put - } if - } stopped cleartomark -" -*End -*XRXJobType PrintWith/Print With: " - xerox$pagedevice /DeferredMediaSelection true put - { - xerox$set_job_type { - dscInfo /Title get dup (Unknown) ne exch () ne and { - userdict /xerox$jobname dscInfo /Title get put - } if - userdict /xerox$pdejobname known { - userdict /xerox$jobname xerox$pdejobname put - mark { - dscInfo /Title get - /RRCustomProcs /ProcSet findresource /logjobname get exec - /RRCustomProcs /ProcSet findresource /logjobinfo get exec - } stopped cleartomark - } if - userdict /xerox$pdejobpassword known { - userdict /xerox$jobpassword xerox$pdejobpassword put - } if - xerox$validate_jobname - xerox$jobname length 4 add string - dup 0 (0000) putinterval - dup xerox$jobpassword dup length 4 sub neg exch putinterval - dup 4 xerox$jobname putinterval - 12 /RRCustomProcs /ProcSet findresource /setjobtype get exec - userdict /xerox$printWithJobType true put - userdict /xerox$set_job_type false put - } if - } stopped - { - /xerox$buffer 4096 string def - {currentfile xerox$buffer readstring exch pop not {exit} if} loop - } if -" -*End -*CloseUI: *XRXJobType - -*OpenUI *XRXPasswordX000/Job Identifier x___: PickOne -*OrderDependency: 40.0 AnySetup *XRXPasswordX000 -*DefaultXRXPasswordX000: 0nnn -*XRXPasswordX000 0nnn/0___: " userdict /xerox$id1 0000 put" -*XRXPasswordX000 1nnn/1___: " userdict /xerox$id1 1000 put" -*XRXPasswordX000 2nnn/2___: " userdict /xerox$id1 2000 put" -*XRXPasswordX000 3nnn/3___: " userdict /xerox$id1 3000 put" -*XRXPasswordX000 4nnn/4___: " userdict /xerox$id1 4000 put" -*XRXPasswordX000 5nnn/5___: " userdict /xerox$id1 5000 put" -*XRXPasswordX000 6nnn/6___: " userdict /xerox$id1 6000 put" -*XRXPasswordX000 7nnn/7___: " userdict /xerox$id1 7000 put" -*XRXPasswordX000 8nnn/8___: " userdict /xerox$id1 8000 put" -*XRXPasswordX000 9nnn/9___: " userdict /xerox$id1 9000 put" -*CloseUI: *XRXPasswordX000 - -*OpenUI *XRXPassword0X00/Job Identifier _x__: PickOne -*OrderDependency: 40.1 AnySetup *XRXPassword0X00 -*DefaultXRXPassword0X00: n0nn -*XRXPassword0X00 n0nn/_0__: " userdict /xerox$id2 0000 put" -*XRXPassword0X00 n1nn/_1__: " userdict /xerox$id2 0100 put" -*XRXPassword0X00 n2nn/_2__: " userdict /xerox$id2 0200 put" -*XRXPassword0X00 n3nn/_3__: " userdict /xerox$id2 0300 put" -*XRXPassword0X00 n4nn/_4__: " userdict /xerox$id2 0400 put" -*XRXPassword0X00 n5nn/_5__: " userdict /xerox$id2 0500 put" -*XRXPassword0X00 n6nn/_6__: " userdict /xerox$id2 0600 put" -*XRXPassword0X00 n7nn/_7__: " userdict /xerox$id2 0700 put" -*XRXPassword0X00 n8nn/_8__: " userdict /xerox$id2 0800 put" -*XRXPassword0X00 n9nn/_9__: " userdict /xerox$id2 0900 put" -*CloseUI: *XRXPassword0X00 - -*OpenUI *XRXPassword00X0/Job Identifier __x_: PickOne -*OrderDependency: 40.2 AnySetup *XRXPassword00X0 -*DefaultXRXPassword00X0: nn0n -*XRXPassword00X0 nn0n/__0_: " userdict /xerox$id3 0000 put" -*XRXPassword00X0 nn1n/__1_: " userdict /xerox$id3 0010 put" -*XRXPassword00X0 nn2n/__2_: " userdict /xerox$id3 0020 put" -*XRXPassword00X0 nn3n/__3_: " userdict /xerox$id3 0030 put" -*XRXPassword00X0 nn4n/__4_: " userdict /xerox$id3 0040 put" -*XRXPassword00X0 nn5n/__5_: " userdict /xerox$id3 0050 put" -*XRXPassword00X0 nn6n/__6_: " userdict /xerox$id3 0060 put" -*XRXPassword00X0 nn7n/__7_: " userdict /xerox$id3 0070 put" -*XRXPassword00X0 nn8n/__8_: " userdict /xerox$id3 0080 put" -*XRXPassword00X0 nn9n/__9_: " userdict /xerox$id3 0090 put" -*CloseUI: *XRXPassword00X0 - -*OpenUI *XRXPassword000X/Job Identifier ___x: PickOne -*OrderDependency: 40.3 AnySetup *XRXPassword000X -*DefaultXRXPassword000X: nnn0 -*XRXPassword000X nnn0/___0: " - xerox$id1 xerox$id2 xerox$id3 0000 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn1/___1: " - xerox$id1 xerox$id2 xerox$id3 0001 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn2/___2: " - xerox$id1 xerox$id2 xerox$id3 0002 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn3/___3: " - xerox$id1 xerox$id2 xerox$id3 0003 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn4/___4: " - xerox$id1 xerox$id2 xerox$id3 0004 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn5/___5: " - xerox$id1 xerox$id2 xerox$id3 0005 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn6/___6: " - xerox$id1 xerox$id2 xerox$id3 0006 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn7/___7: " - xerox$id1 xerox$id2 xerox$id3 0007 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn8/___8: " - xerox$id1 xerox$id2 xerox$id3 0008 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*XRXPassword000X nnn9/___9: " - xerox$id1 xerox$id2 xerox$id3 0009 add add add 4 string cvs - userdict exch /xerox$jobpassword exch put -" -*End -*CloseUI: *XRXPassword000X - -*XRXJobName Title/Job Name: "" - -*XRXJobPassword Title/Numeric Password: "" - -*CloseGroup: JobType - - -*% === Font Information ===================== -*DefaultFont: Courier -*Font AlbertusMT-Italic: Standard "(001.001)" Standard ROM -*Font AlbertusMT-Light: Standard "(001.001)" Standard ROM -*Font AlbertusMT: Standard "(001.001)" Standard ROM -*Font AntiqueOlive-Bold: Standard "(001.002)" Standard ROM -*Font AntiqueOlive-Compact: Standard "(001.002)" Standard ROM -*Font AntiqueOlive-Italic: Standard "(001.002)" Standard ROM -*Font AntiqueOlive-Roman: Standard "(001.002)" Standard ROM -*Font Apple-Chancery: Standard "(001.002)" ExtendedRoman ROM -*Font Arial-BoldItalicMT: Standard "(001.003)" Standard ROM -*Font Arial-BoldMT: Standard "(001.003)" Standard ROM -*Font Arial-ItalicMT: Standard "(001.003)" Standard ROM -*Font ArialMT: Standard "(001.003)" Standard ROM -*Font ArialNarrowCyrMT: Standard "(001.003)" Standard ROM -*Font ArialNarrowCyrMT-Bold: Standard "(001.003)" Standard ROM -*Font AvantGarde-Book: Standard "(003.000)" Standard ROM -*Font AvantGarde-BookOblique: Standard "(003.000)" Standard ROM -*Font AvantGarde-Demi: Standard "(003.000)" Standard ROM -*Font AvantGarde-DemiOblique: Standard "(003.000)" Standard ROM -*Font Bodoni-Bold: Standard "(001.003)" Standard ROM -*Font Bodoni-BoldItalic: Standard "(001.003)" Standard ROM -*Font Bodoni-Italic: Standard "(001.003)" Standard ROM -*Font Bodoni-Poster: Standard "(001.003)" Standard ROM -*Font Bodoni-PosterCompressed: Standard "(001.002)" Standard ROM -*Font Bodoni: Standard "(001.003)" Standard ROM -*Font Bookman-Demi: Standard "(003.000)" Standard ROM -*Font Bookman-DemiItalic: Standard "(003.000)" Standard ROM -*Font Bookman-Light: Standard "(003.000)" Standard ROM -*Font Bookman-LightItalic: Standard "(003.000)" Standard ROM -*Font Carta: Special "(001.001)" Special ROM -*Font Chicago: Standard "(001.000)" ExtendedRoman ROM -*Font Clarendon-Bold: Standard "(001.002)" Standard ROM -*Font Clarendon-Light: Standard "(001.002)" Standard ROM -*Font Clarendon: Standard "(001.002)" Standard ROM -*Font CooperBlack-Italic: Standard "(001.004)" Standard ROM -*Font CooperBlack: Standard "(001.004)" Standard ROM -*Font Copperplate-ThirtyThreeBC: Standard "(001.003)" Standard ROM -*Font Copperplate-ThirtyTwoBC: Standard "(001.003)" Standard ROM -*Font Coronet-Regular: Standard "(001.002)" Standard ROM -*Font Courier-Bold: Standard "(004.000)" Standard ROM -*Font Courier-BoldOblique: Standard "(004.000)" Standard ROM -*Font Courier-Oblique: Standard "(004.000)" Standard ROM -*Font Courier: Standard "(004.000)" Standard ROM -*Font Eurostile-Bold: Standard "(001.002)" Standard ROM -*Font Eurostile-BoldExtendedTwo: Standard "(001.003)" Standard ROM -*Font Eurostile-ExtendedTwo: Standard "(001.003)" Standard ROM -*Font Eurostile: Standard "(001.003)" Standard ROM -*Font Geneva: Standard "(001.000)" ExtendedRoman ROM -*Font GillSans-Bold: Standard "(001.002)" Standard ROM -*Font GillSans-BoldCondensed: Standard "(001.002)" Standard ROM -*Font GillSans-BoldItalic: Standard "(001.003)" Standard ROM -*Font GillSans-Condensed: Standard "(001.002)" Standard ROM -*Font GillSans-ExtraBold: Standard "(001.002)" Standard ROM -*Font GillSans-Italic: Standard "(001.003)" Standard ROM -*Font GillSans-Light: Standard "(001.002)" Standard ROM -*Font GillSans-LightItalic: Standard "(001.003)" Standard ROM -*Font GillSans: Standard "(001.003)" Standard ROM -*Font Goudy-Bold: Standard "(001.003)" Standard ROM -*Font Goudy-BoldItalic: Standard "(001.003)" Standard ROM -*Font Goudy-ExtraBold: Standard "(001.002)" Standard ROM -*Font Goudy-Italic: Standard "(001.003)" Standard ROM -*Font Goudy: Standard "(001.004)" Standard ROM -*Font Helvetica-Bold: Standard "(003.000)" Standard ROM -*Font Helvetica-BoldOblique: Standard "(003.000)" Standard ROM -*Font Helvetica-Condensed-Bold: Standard "(003.000)" Standard ROM -*Font Helvetica-Condensed-BoldObl: Standard "(003.000)" Standard ROM -*Font Helvetica-Condensed-Oblique: Standard "(003.000)" Standard ROM -*Font Helvetica-Condensed: Standard "(003.000)" Standard ROM -*Font Helvetica-Narrow-Bold: Standard "(003.000)" Standard ROM -*Font Helvetica-Narrow-BoldOblique: Standard "(003.000)" Standard ROM -*Font Helvetica-Narrow-Oblique: Standard "(003.000)" Standard ROM -*Font Helvetica-Narrow: Standard "(003.000)" Standard ROM -*Font Helvetica-Oblique: Standard "(003.000)" Standard ROM -*Font Helvetica: Standard "(003.000)" Standard ROM -*Font HoeflerText-Black: Standard "(001.000)" ExtendedRoman ROM -*Font HoeflerText-BlackItalic: Standard "(001.000)" ExtendedRoman ROM -*Font HoeflerText-Italic: Standard "(001.000)" ExtendedRoman ROM -*Font HoeflerText-Ornaments: Special "(001.001)" Special ROM -*Font HoeflerText-Regular: Standard "(001.000)" ExtendedRoman ROM -*Font JoannaMT-Bold: Standard "(001.001)" Standard ROM -*Font JoannaMT-BoldItalic: Standard "(001.001)" Standard ROM -*Font JoannaMT-Italic: Standard "(001.001)" Standard ROM -*Font JoannaMT: Standard "(001.001)" Standard ROM -*Font LetterGothic-Bold: Standard "(001.007)" Standard ROM -*Font LetterGothic-BoldSlanted: Standard "(001.006)" Standard ROM -*Font LetterGothic-Slanted: Standard "(001.005)" Standard ROM -*Font LetterGothic: Standard "(001.005)" Standard ROM -*Font LubalinGraph-Book: Standard "(001.004)" Standard ROM -*Font LubalinGraph-BookOblique: Standard "(001.004)" Standard ROM -*Font LubalinGraph-Demi: Standard "(001.004)" Standard ROM -*Font LubalinGraph-DemiOblique: Standard "(001.004)" Standard ROM -*Font Marigold: Standard "(001.001)" Standard ROM -*Font MonaLisa-Recut: Standard "(001.001)" Standard ROM -*Font Monaco: Standard "(001.001)" ExtendedRoman ROM -*Font NewCenturySchlbk-Bold: Standard "(003.000)" Standard ROM -*Font NewCenturySchlbk-BoldItalic: Standard "(003.000)" Standard ROM -*Font NewCenturySchlbk-Italic: Standard "(003.000)" Standard ROM -*Font NewCenturySchlbk-Roman: Standard "(003.000)" Standard ROM -*Font NewYork: Standard "(001.000)" ExtendedRoman ROM -*Font Optima-Bold: Standard "(001.007)" Standard ROM -*Font Optima-BoldItalic: Standard "(001.001)" Standard ROM -*Font Optima-Italic: Standard "(001.001)" Standard ROM -*Font Optima: Standard "(001.006)" Standard ROM -*Font Oxford: Standard "(001.001)" Standard ROM -*Font Palatino-Bold: Standard "(003.000)" Standard ROM -*Font Palatino-BoldItalic: Standard "(003.000)" Standard ROM -*Font Palatino-Italic: Standard "(003.000)" Standard ROM -*Font Palatino-Roman: Standard "(003.000)" Standard ROM -*Font StempelGaramond-Bold: Standard "(001.003)" Standard ROM -*Font StempelGaramond-BoldItalic: Standard "(001.003)" Standard ROM -*Font StempelGaramond-Italic: Standard "(001.003)" Standard ROM -*Font StempelGaramond-Roman: Standard "(001.003)" Standard ROM -*Font Symbol: Special "(001.008)" Special ROM -*Font Tekton: Standard "(001.002)" Standard ROM -*Font Times-Bold: Standard "(003.000)" Standard ROM -*Font Times-BoldItalic: Standard "(003.000)" Standard ROM -*Font Times-Italic: Standard "(003.000)" Standard ROM -*Font Times-Roman: Standard "(003.000)" Standard ROM -*Font TimesNewRomanPS-BoldItalicMT: Standard "(001.003)" Standard ROM -*Font TimesNewRomanPS-BoldMT: Standard "(001.004)" Standard ROM -*Font TimesNewRomanPS-ItalicMT: Standard "(001.003)" Standard ROM -*Font TimesNewRomanPSMT: Standard "(001.003)" Standard ROM -*Font Univers-Bold: Standard "(001.004)" Standard ROM -*Font Univers-BoldExt: Standard "(001.001)" Standard ROM -*Font Univers-BoldExtObl: Standard "(001.001)" Standard ROM -*Font Univers-BoldOblique: Standard "(001.004)" Standard ROM -*Font Univers-Condensed: Standard "(001.003)" Standard ROM -*Font Univers-CondensedBold: Standard "(001.002)" Standard ROM -*Font Univers-CondensedBoldOblique: Standard "(001.002)" Standard ROM -*Font Univers-CondensedOblique: Standard "(001.003)" Standard ROM -*Font Univers-Extended: Standard "(001.001)" Standard ROM -*Font Univers-ExtendedObl: Standard "(001.001)" Standard ROM -*Font Univers-Light: Standard "(001.004)" Standard ROM -*Font Univers-LightOblique: Standard "(001.004)" Standard ROM -*Font Univers-Oblique: Standard "(001.004)" Standard ROM -*Font Univers: Standard "(001.004)" Standard ROM -*Font Wingdings-Regular: Special "(001.001)" Special ROM -*Font Wingdings: Unknown "(001.001)" Unknown ROM -*Font ZapfChancery-MediumItalic: Standard "(003.000)" Standard ROM -*Font ZapfDingbats: Special "(002.000)" Special ROM - -*?FontQuery: " - { count 1 gt - { exch dup 127 string cvs (/) print print (:) print - /Font resourcestatus {pop pop (Yes)} {(No)} ifelse = - } { exit } ifelse - } bind loop - (*) = flush" -*End - -*?FontList: "(*) {cvn ==} 128 string /Font resourceforall (*) = flush" - - -*% end of PPD file for Xerox Phaser 4600 +*PPD-Adobe: "4.3"
+*% Xerox Corporation (R) Printer Description File
+*% Copyright Xerox Corporation
+*% Copyright Adobe Systems, Inc.
+*% All Rights Reserved.
+*% Date: 08/20/04
+*% OPB Build Number: 1.3.0
+*% PPD for Windows, English
+*FormatVersion: "4.3"
+*FileVersion: "1.0"
+*LanguageEncoding: ISOLatin1
+*LanguageVersion: English
+*Product: "(Phaser 5500N)"
+*PSVersion: "(3015.102) 6"
+*Manufacturer: "Xerox"
+*ModelName: "Xerox Phaser 5500N"
+*ShortNickName: "Xerox Phaser 5500N"
+*NickName: "Xerox Phaser 5500N"
+*PCFileName: "XRX5500N.PPD"
+
+*OpenGroup: InstallableOptions/Options Installed
+
+
+*OpenUI *InstalledMemory/Memory Configuration: PickOne
+*OrderDependency: 69.0 AnySetup *InstalledMemory
+*DefaultInstalledMemory: 128Meg
+*InstalledMemory 128Meg/128 MB Total RAM: ""
+*InstalledMemory 160Meg/160 MB Total RAM: ""
+*InstalledMemory 192Meg/192 MB Total RAM: ""
+*InstalledMemory 256Meg/256 MB Total RAM: ""
+*InstalledMemory 288Meg/288 MB Total RAM: ""
+*InstalledMemory 320Meg/320 MB Total RAM: ""
+*InstalledMemory 384Meg/384 MB Total RAM: ""
+*InstalledMemory 512Meg/512 MB Total RAM: ""
+*?InstalledMemory: "% InstalledMemory
+ currentsystemparams /InstalledRam get
+ 16#100000 div round cvi
+ 4 string cvs print (Meg)
+ = flush
+"
+*End
+*CloseUI: *InstalledMemory
+
+
+*OpenUI *XRXOptionFeatureSet/Feature Set: PickOne
+*OrderDependency: 69.2 AnySetup *XRXOptionFeatureSet
+*DefaultXRXOptionFeatureSet: N
+*XRXOptionFeatureSet B/B: ""
+*XRXOptionFeatureSet N/N: ""
+*XRXOptionFeatureSet DN/DN: ""
+*XRXOptionFeatureSet DT/DT: ""
+*XRXOptionFeatureSet DX/DX: ""
+*?XRXOptionFeatureSet: "
+ product (Phaser 5500) search {pop pop}{pop (Unknown)} ifelse
+ = flush
+"
+*End
+*CloseUI: *XRXOptionFeatureSet
+
+*OpenUI *XRXOptionTrays/Optional Lower Trays: PickOne
+*OrderDependency: 69.2 AnySetup *XRXOptionTrays
+*DefaultXRXOptionTrays: None
+*XRXOptionTrays None/No Extra Trays: ""
+*XRXOptionTrays TwoExtraTrays/Two Extra Trays: ""
+*XRXOptionTrays ThreeExtraTrays/Three Extra Trays: ""
+*?XRXOptionTrays: "
+ currentpagedevice /InputAttributes get /Priority get length 4 sub dup 0 lt {
+ pop (None)
+ }{
+ dup 3 ge {
+ pop (Unknown)
+ }{
+ [
+ (OneExtraTray)
+ (TwoExtraTrays)
+ (ThreeExtraTrays)
+ ] exch get
+ } ifelse
+ } ifelse
+ = flush
+"
+*End
+*CloseUI: *XRXOptionTrays
+
+
+*OpenUI *XRXOptionHD/Optional Hard Drive: Boolean
+*OrderDependency: 69.2 AnySetup *XRXOptionHD
+*DefaultXRXOptionHD: False
+*XRXOptionHD True/Installed: ""
+*XRXOptionHD False/Not Installed: ""
+*?XRXOptionHD: "
+ (%disk0%) /IODevice resourcestatus
+ {(True)}{(False)} ifelse
+ = flush
+"
+*End
+*CloseUI: *XRXOptionHD
+
+
+*OpenUI *XRXOptionDuplex/Optional Duplex Unit: Boolean
+*OrderDependency: 69.2 AnySetup *XRXOptionDuplex
+*DefaultXRXOptionDuplex: False
+*XRXOptionDuplex True/Installed: ""
+*XRXOptionDuplex False/Not Installed: ""
+*?XRXOptionDuplex: "
+ /RRCustomProcs /ProcSet findresource dup /duplexavailable known {
+ /duplexavailable get exec {(True)} {(False)} ifelse
+ }{
+ pop (False)
+ } ifelse
+ = flush
+"
+*End
+*CloseUI: *XRXOptionDuplex
+
+
+*OpenUI *XRXOptionFinisher/Optional Finisher: Boolean
+*OrderDependency: 69.2 AnySetup *XRXOptionFinisher
+*DefaultXRXOptionFinisher: False
+*XRXOptionFinisher True/Installed: ""
+*XRXOptionFinisher False/Not Installed: ""
+*?XRXOptionFinisher: "
+ /RRCustomProcs /ProcSet findresource /havefinisher get exec
+ {(True)} {(False)} ifelse
+ = flush
+"
+*End
+*CloseUI: *XRXOptionFinisher
+
+
+*OpenUI *XRXOptionStapler/Optional Stapler: Boolean
+*OrderDependency: 69.2 AnySetup *XRXOptionStapler
+*DefaultXRXOptionStapler: False
+*XRXOptionStapler True/Installed: ""
+*XRXOptionStapler False/Not Installed: ""
+*?XRXOptionStapler: "
+ /RRCustomProcs /ProcSet findresource /havestapler get exec
+ {(True)} {(False)} ifelse
+ = flush
+"
+*End
+*CloseUI: *XRXOptionStapler
+
+
+*OpenUI *XRXOptionPunch/Optional Hole Punch: PickOne
+*OrderDependency: 69.2 AnySetup *XRXOptionPunch
+*DefaultXRXOptionPunch: None
+*XRXOptionPunch None/Not Installed: ""
+*XRXOptionPunch US_Punch/Non-Metric Hole Punch: ""
+*XRXOptionPunch Metric_Punch/Metric Hole Punch: ""
+*?XRXOptionPunch: "
+ /RRCustomProcs /ProcSet findresource /havepunch get exec
+ dup 3 eq {
+ pop (US_Punch)
+ }{
+ 4 eq {
+ (Metric_Punch)
+ }{
+ (None)
+ } ifelse
+ } ifelse
+ = flush
+"
+*End
+*CloseUI: *XRXOptionPunch
+
+
+
+*CloseGroup: InstallableOptions
+
+
+
+*% Tray Constraints
+
+*UIConstraints: *XRXOptionTrays None *InputSlot Tray4
+*UIConstraints: *InputSlot Tray4 *XRXOptionTrays None
+*UIConstraints: *XRXOptionTrays None *InputSlot Tray5
+*UIConstraints: *InputSlot Tray5 *XRXOptionTrays None
+*UIConstraints: *XRXOptionTrays None *InputSlot Tray6
+*UIConstraints: *InputSlot Tray6 *XRXOptionTrays None
+
+*UIConstraints: *XRXOptionTrays TwoExtraTrays *InputSlot Tray6
+*UIConstraints: *InputSlot Tray6 *XRXOptionTrays TwoExtraTrays
+
+
+*UIConstraints: *XRXOptionTrays None *XRXSlipSheetSource Tray4
+*UIConstraints: *XRXSlipSheetSource Tray4 *XRXOptionTrays None
+*UIConstraints: *XRXOptionTrays None *XRXSlipSheetSource Tray5
+*UIConstraints: *XRXSlipSheetSource Tray5 *XRXOptionTrays None
+*UIConstraints: *XRXOptionTrays None *XRXSlipSheetSource Tray6
+*UIConstraints: *XRXSlipSheetSource Tray6 *XRXOptionTrays None
+
+*UIConstraints: *XRXOptionTrays TwoExtraTrays *XRXSlipSheetSource Tray6
+*UIConstraints: *XRXSlipSheetSource Tray6 *XRXOptionTrays TwoExtraTrays
+
+
+*UIConstraints: *XRXOptionTrays None *XRXCoverPageSource Tray4
+*UIConstraints: *XRXCoverPageSource Tray4 *XRXOptionTrays None
+*UIConstraints: *XRXOptionTrays None *XRXCoverPageSource Tray5
+*UIConstraints: *XRXCoverPageSource Tray5 *XRXOptionTrays None
+*UIConstraints: *XRXOptionTrays None *XRXCoverPageSource Tray6
+*UIConstraints: *XRXCoverPageSource Tray6 *XRXOptionTrays None
+
+*UIConstraints: *XRXOptionTrays TwoExtraTrays *XRXCoverPageSource Tray6
+*UIConstraints: *XRXCoverPageSource Tray6 *XRXOptionTrays TwoExtraTrays
+
+*% Hard Drive Constraints
+
+*UIConstraints: *XRXOptionHD False *XRXJobType ProofPrint
+*UIConstraints: *XRXJobType ProofPrint *XRXOptionHD False
+*UIConstraints: *XRXOptionHD False *XRXJobType SavedPrint
+*UIConstraints: *XRXJobType SavedPrint *XRXOptionHD False
+*UIConstraints: *XRXOptionHD False *XRXJobType SecurePrint
+*UIConstraints: *XRXJobType SecurePrint *XRXOptionHD False
+*UIConstraints: *XRXOptionHD False *XRXJobType PersonalPrint
+*UIConstraints: *XRXJobType PersonalPrint *XRXOptionHD False
+
+*% Duplexer Constraints
+
+*UIConstraints: *XRXOptionDuplex False *Duplex DuplexTumble
+*UIConstraints: *Duplex DuplexTumble *XRXOptionDuplex False
+*UIConstraints: *XRXOptionDuplex False *Duplex DuplexNoTumble
+*UIConstraints: *Duplex DuplexNoTumble *XRXOptionDuplex False
+
+*% Finisher Constraints
+
+
+*UIConstraints: *XRXOptionFinisher False *XRXOptionPunch US_Punch
+*UIConstraints: *XRXOptionPunch US_Punch *XRXOptionFinisher False
+*UIConstraints: *XRXOptionFinisher False *XRXOptionPunch Metric_Punch
+*UIConstraints: *XRXOptionPunch Metric_Punch *XRXOptionFinisher False
+
+*UIConstraints: *XRXOptionFinisher False *XRXOptionStapler True
+*UIConstraints: *XRXOptionStapler True *XRXOptionFinisher False
+
+*UIConstraints: *XRXOptionFinisher False *XRXStapling Front
+*UIConstraints: *XRXStapling Front *XRXOptionFinisher False
+*UIConstraints: *XRXOptionFinisher False *XRXStapling Rear
+*UIConstraints: *XRXStapling Rear *XRXOptionFinisher False
+*UIConstraints: *XRXOptionFinisher False *XRXStapling Dual
+*UIConstraints: *XRXStapling Dual *XRXOptionFinisher False
+*UIConstraints: *XRXOptionFinisher False *XRXStapling FrontFlip
+*UIConstraints: *XRXStapling FrontFlip *XRXOptionFinisher False
+*UIConstraints: *XRXOptionFinisher False *XRXStapling RearFlip
+*UIConstraints: *XRXStapling RearFlip *XRXOptionFinisher False
+*UIConstraints: *XRXOptionFinisher False *XRXStapling DualFlip
+*UIConstraints: *XRXStapling DualFlip *XRXOptionFinisher False
+
+*UIConstraints: *XRXOptionFinisher False *OutputBin FinisherTopBin
+*UIConstraints: *OutputBin FinisherTopBin *XRXOptionFinisher False
+*UIConstraints: *XRXOptionFinisher False *OutputBin Stacker
+*UIConstraints: *OutputBin Stacker *XRXOptionFinisher False
+
+*% Stapler Constraints
+
+
+*UIConstraints: *XRXOptionStapler False *XRXStapling Front
+*UIConstraints: *XRXStapling Front *XRXOptionStapler False
+*UIConstraints: *XRXOptionStapler False *XRXStapling Rear
+*UIConstraints: *XRXStapling Rear *XRXOptionStapler False
+*UIConstraints: *XRXOptionStapler False *XRXStapling Dual
+*UIConstraints: *XRXStapling Dual *XRXOptionStapler False
+*UIConstraints: *XRXOptionStapler False *XRXStapling FrontFlip
+*UIConstraints: *XRXStapling FrontFlip *XRXOptionStapler False
+*UIConstraints: *XRXOptionStapler False *XRXStapling RearFlip
+*UIConstraints: *XRXStapling RearFlip *XRXOptionStapler False
+*UIConstraints: *XRXOptionStapler False *XRXStapling DualFlip
+*UIConstraints: *XRXStapling DualFlip *XRXOptionStapler False
+
+*% Hole Punch Constraints
+
+
+*UIConstraints: *XRXOptionPunch None *XRXPunching 2_Holes
+*UIConstraints: *XRXPunching 2_Holes *XRXOptionPunch None
+*UIConstraints: *XRXOptionPunch None *XRXPunching 3_Holes
+*UIConstraints: *XRXPunching 3_Holes *XRXOptionPunch None
+*UIConstraints: *XRXOptionPunch None *XRXPunching 4_Holes
+*UIConstraints: *XRXPunching 4_Holes *XRXOptionPunch None
+
+*UIConstraints: *XRXOptionPunch Metric_Punch *XRXPunching 3_Holes
+*UIConstraints: *XRXPunching 3_Holes *XRXOptionPunch Metric_Punch
+
+*UIConstraints: *XRXOptionPunch US_Punch *XRXPunching 2_Holes
+*UIConstraints: *XRXPunching 2_Holes *XRXOptionPunch US_Punch
+*UIConstraints: *XRXOptionPunch US_Punch *XRXPunching 4_Holes
+*UIConstraints: *XRXPunching 4_Holes *XRXOptionPunch US_Punch
+
+
+*% === Basic Device Capabilities ============
+
+*FreeVM: "12058624"
+*VMOption 128Meg/128 MB Total RAM: "12058624"
+*VMOption 160Meg/160 MB Total RAM: "12058624"
+*VMOption 192Meg/192 MB Total RAM: "14155776"
+*VMOption 256Meg/256 MB Total RAM: "30932992"
+*VMOption 288Meg/288 MB Total RAM: "30932992"
+*VMOption 320Meg/320 MB Total RAM: "63963136"
+*VMOption 384Meg/384 MB Total RAM: "96468992"
+*VMOption 512Meg/512 MB Total RAM: "163577856"
+
+*FCacheSize 128Meg: 2097152
+*FCacheSize 160Meg: 4194304
+*FCacheSize 192Meg: 4194304
+*FCacheSize 256Meg: 4194304
+*FCacheSize 288Meg: 4194304
+*FCacheSize 320Meg: 4194304
+*FCacheSize 384Meg: 4194304
+*FCacheSize 512Meg: 4194304
+
+
+*LanguageLevel: "3"
+*Protocols: BCP TBCP
+
+*SuggestedJobTimeout: "0"
+*SuggestedWaitTimeout: "120"
+
+*Throughput: "50"
+*DefaultOutputOrder: Normal
+
+*DefaultResolution: 600dpi
+*SetResolution 600dpi: ""
+
+*ColorDevice: False
+*DefaultColorSpace: Gray
+*AccurateScreensSupport: True
+*DefaultGuaranteedMaxSeparations: 1
+
+*% === Halftone Information ========
+*DefaultHalftoneType: 9
+*ScreenFreq: "60.0"
+*ScreenAngle: "45.0"
+*DefaultScreenProc: Dot
+*ScreenProc Dot: "{180 mul cos exch 180 mul cos add 2 div} bind"
+*DefaultTransfer: Null
+*Transfer Null: "{ }"
+*Transfer Null.Inverse: "{1 exch sub} bind"
+
+*DefaultColorSep: ProcessBlack.60lpi.600dpi/60 lpi / 600 dpi
+
+*% === For 60 lpi / 600 dpi ===============================
+
+*ColorSepScreenAngle ProcessBlack.60lpi.600dpi/60 lpi / 600 dpi: "45.0"
+*ColorSepScreenAngle CustomColor.60lpi.600dpi/60 lpi / 600 dpi: "45.0"
+*ColorSepScreenAngle ProcessCyan.60lpi.600dpi/60 lpi / 600 dpi: "45.0"
+*ColorSepScreenAngle ProcessMagenta.60lpi.600dpi/60 lpi / 600 dpi: "45.0"
+*ColorSepScreenAngle ProcessYellow.60lpi.600dpi/60 lpi / 600 dpi: "45.0"
+
+*ColorSepScreenFreq ProcessBlack.60lpi.600dpi/60 lpi / 600 dpi: "60.0"
+*ColorSepScreenFreq CustomColor.60lpi.600dpi/60 lpi / 600 dpi: "60.0"
+*ColorSepScreenFreq ProcessCyan.60lpi.600dpi/60 lpi / 600 dpi: "60.0"
+*ColorSepScreenFreq ProcessMagenta.60lpi.600dpi/60 lpi / 600 dpi: "60.0"
+*ColorSepScreenFreq ProcessYellow.60lpi.600dpi/60 lpi / 600 dpi: "60.0"
+
+*1284Modes Parallel: Compat Nibble ECP
+*1284DeviceID: "
+MFG:Xerox;
+CMD:Adobe PostScript 3, PCL;
+MDL:Phaser 5500N;
+CLS:Printer;
+DES:Xerox Phaser 5500 Laser Printer, PostScript 3, Letter/A4/Tabloid/A3 Size
+"
+*End
+
+*TTRasterizer: Type42
+*?TTRasterizer: "
+ 42 /FontType resourcestatus
+ { pop pop (Type42)} {pop pop (None)} ifelse = flush"
+*End
+
+*FileSystem: True
+*?FileSystem: "
+ statusdict /diskstatus get exec add 0 gt
+ {(True)}{(False)} ifelse = flush"
+*End
+
+*Password: "0"
+*ExitServer: "
+ count 0 eq
+ { false } { true exch startjob } ifelse
+ not
+ { (WARNING: Cannot modify initial VM.) =
+ (Missing or invalid password.) =
+ (Please contact the author of this software.) = flush quit
+ } if"
+*End
+*Reset: "
+ count 0 eq
+ { false } { true exch startjob } ifelse
+ not
+ { (WARNING: Cannot reset printer.) =
+ (Missing or invalid password.) =
+ (Please contact the author of this software.) = flush quit
+ } if
+ systemdict /quit get exec
+ (WARNING : Printer Reset Failed.) = flush"
+*End
+
+
+
+*JobPatchFile 1: "
+% Default Definitions
+ userdict /xerox$pagedevice <<
+ /MediaClass null
+ /MediaPosition null
+ /PageSize [612 792]
+ /TraySwitch true
+ /ManualFeed false
+ /ImagingBBox null
+ /ProcessColorModel /DeviceGray
+ /DeviceRenderingInfo currentpagedevice 1 index get 1 dict copy
+ /PostRenderingEnhance false
+ /Install {
+ xerox$old_install xerox$flip {
+ currentpagedevice /PageSize get aload pop translate 180 rotate
+ } if
+ }
+ >> put
+
+ userdict /xerox$set_job_type true put
+ userdict /xerox$jobname (unnamed) put
+ userdict /xerox$jobpassword () put
+ userdict /xerox$jog 3 put
+ userdict /xerox$smoothingDone false put
+ userdict /xerox$pageSizeDone false put
+ userdict /xerox$force_env false put
+ userdict /xerox$env_was_forced false put
+ userdict /xerox$old_install known not {
+ userdict /xerox$old_install currentpagedevice /Install get put
+ } if
+ userdict /xerox$flip false put
+
+ userdict /xerox$env {
+ userdict /xerox$force_env true put
+ } put
+
+ userdict /xerox$media_mismatch_code {
+ } put
+
+ userdict /xerox$setpagedevice {
+ xerox$force_env {
+ dup /MediaClass get null eq {
+ dup /MediaClass (Envelope) put
+ userdict /xerox$env_was_forced true put
+ } if
+ userdict /xerox$force_env false put
+ }{
+ xerox$env_was_forced {
+ dup /MediaClass get (Envelope) eq {
+ dup /MediaClass null put
+ } if
+ userdict /xerox$env_was_forced false put
+ } if
+ } ifelse
+ xerox$media_mismatch_code
+ setpagedevice
+ } put
+
+ userdict /xerox$validate_jobname {
+ {
+ xerox$jobname length 0 eq {exit} if
+ xerox$jobname 0 get 32 eq {
+ userdict /xerox$jobname
+ xerox$jobname 1 xerox$jobname length 1 sub getinterval
+ put
+ }{
+ exit
+ } ifelse
+ } loop
+ xerox$jobname length 0 eq {
+ userdict /xerox$jobname (unnamed) put
+ } if
+ } put
+
+ userdict /xerox$pm_job
+ false 99 -1 40 {
+ userdict /xerox$str 5 string put
+ xerox$str 0 (P) putinterval
+ xerox$str exch 1 exch 2 string cvs putinterval
+ xerox$str 3 (PS) putinterval
+ userdict xerox$str cvn known or
+ dup {exit} if
+ } for
+ put
+
+
+
+"
+*End
+
+
+
+*% === Paper Handling =========
+
+*% Use these entries to set paper size most of the time, unless there is
+*% specific reason to use PageRegion.
+*OpenUI *PageSize: PickOne
+*OrderDependency: 69.9 AnySetup *PageSize
+*DefaultPageSize: Letter
+*PageSize Letter/Letter: "
+ <<
+ /PageSize [612 792]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize Legal/Legal: "
+ <<
+ /PageSize [612 1008]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize Tabloid/Tabloid: "
+ <<
+ /PageSize [792 1224]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize Executive/Executive: "
+ <<
+ /PageSize [522 756]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize Statement/Statement: "
+ <<
+ /PageSize [396 612]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize FanFoldGermanLegal/US Folio: "
+ <<
+ /PageSize [612 936]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize SmallPostcard/Small US Postcard: "
+ <<
+ /PageSize [252 396]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize LargePostcard/Large US Postcard: "
+ <<
+ /PageSize [288 432]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize Env10/#10 Envelope: "
+ <<
+ /PageSize [297 684]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize EnvMonarch/Monarch Envelope: "
+ <<
+ /PageSize [279 540]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize A3/A3: "
+ <<
+ /PageSize [842 1191]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize A4/A4: "
+ <<
+ /PageSize [595 842]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize A5/A5: "
+ <<
+ /PageSize [420 595]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize A6/A6: "
+ <<
+ /PageSize [297 420]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize B4/B4 JIS: "
+ <<
+ /PageSize [729 1032]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize B5/B5 JIS: "
+ <<
+ /PageSize [516 729]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize B6/B6 JIS: "
+ <<
+ /PageSize [363 516]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize EnvDL/DL Envelope: "
+ <<
+ /PageSize [312 624]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize EnvC4/C4 Envelope: "
+ <<
+ /PageSize [649 918]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageSize EnvC5/C5 Envelope: "
+ <<
+ /PageSize [459 649]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*?PageSize: "
+ currentpagedevice /PageSize get aload pop
+ 2 copy gt {exch} if (Unknown)
+ <<
+ [612 792] (Letter)
+ [612 1008] (Legal)
+ [792 1224] (Tabloid)
+ [522 756] (Executive)
+ [396 612] (Statement)
+ [612 936] (FanFoldGermanLegal)
+ [252 396] (SmallPostcard)
+ [288 432] (LargePostcard)
+ [297 684] (Env10)
+ [279 540] (EnvMonarch)
+ [842 1191] (A3)
+ [595 842] (A4)
+ [420 595] (A5)
+ [297 420] (A6)
+ [729 1032] (B4)
+ [516 729] (B5)
+ [363 516] (B6)
+ [312 624] (EnvDL)
+ [649 918] (EnvC4)
+ [459 649] (EnvC5)
+ >>
+ { exch aload pop 4 index sub abs 5 le exch 5 index sub abs 5 le and
+ { exch pop exit } { pop } ifelse
+ } bind forall = flush pop pop"
+*End
+*CloseUI: *PageSize
+
+*% These entries will set up the frame buffer. Usually used with manual feed.
+*OpenUI *PageRegion: PickOne
+*OrderDependency: 69.9 AnySetup *PageRegion
+*DefaultPageRegion: Letter
+*PageRegion Letter/Letter: "
+ <<
+ /PageSize [612 792]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion Legal/Legal: "
+ <<
+ /PageSize [612 1008]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion Tabloid/Tabloid: "
+ <<
+ /PageSize [792 1224]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion Executive/Executive: "
+ <<
+ /PageSize [522 756]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion Statement/Statement: "
+ <<
+ /PageSize [396 612]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion FanFoldGermanLegal/US Folio: "
+ <<
+ /PageSize [612 936]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion SmallPostcard/Small US Postcard: "
+ <<
+ /PageSize [252 396]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion LargePostcard/Large US Postcard: "
+ <<
+ /PageSize [288 432]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion Env10/#10 Envelope: "
+ <<
+ /PageSize [297 684]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion EnvMonarch/Monarch Envelope: "
+ <<
+ /PageSize [279 540]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion A3/A3: "
+ <<
+ /PageSize [842 1191]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion A4/A4: "
+ <<
+ /PageSize [595 842]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion A5/A5: "
+ <<
+ /PageSize [420 595]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion A6/A6: "
+ <<
+ /PageSize [297 420]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion B4/B4 JIS: "
+ <<
+ /PageSize [729 1032]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion B5/B5 JIS: "
+ <<
+ /PageSize [516 729]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion B6/B6 JIS: "
+ <<
+ /PageSize [363 516]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion EnvDL/DL Envelope: "
+ <<
+ /PageSize [312 624]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion EnvC4/C4 Envelope: "
+ <<
+ /PageSize [649 918]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*PageRegion EnvC5/C5 Envelope: "
+ <<
+ /PageSize [459 649]
+ >> xerox$pagedevice copy xerox$setpagedevice
+"
+*End
+*CloseUI: *PageRegion
+
+*% The following entries provide information about specific paper keywords.
+*DefaultImageableArea: Letter
+*ImageableArea Letter/Letter: "14.22 14.4 597.9 778.08"
+*ImageableArea Legal/Legal: "14.16 14.22 597.84 993.9"
+*ImageableArea Tabloid/Tabloid: "14.4 14.22 778.08 1209.42"
+*ImageableArea Executive/Executive: "14.22 15.12 507.9 742.8"
+*ImageableArea Statement/Statement: "14.64 14.22 382.32 597.9"
+*ImageableArea FanFoldGermanLegal/US Folio: "14.16 14.22 597.84 921.9"
+*ImageableArea SmallPostcard/Small US Postcard: "14.22 14.64 236.94 382.32"
+*ImageableArea LargePostcard/Large US Postcard: "14.22 14.16 273.42 417.36"
+*ImageableArea Env10/#10 Envelope: "14.22 14.64 282.9 670.32"
+*ImageableArea EnvMonarch/Monarch Envelope: "14.22 14.16 264.78 524.88"
+*ImageableArea A3/A3: "14.16 14.22 828.24 1176.78"
+*ImageableArea A4/A4: "14.22 14.16 578.7 828.24"
+*ImageableArea A5/A5: "14.16 14.22 405.84 580.86"
+*ImageableArea A6/A6: "14.22 14.16 282.9 405.84"
+*ImageableArea B4/B4 JIS: "15.12 14.22 715.8 1017.9"
+*ImageableArea B5/B5 JIS: "14.22 15.12 501.9 715.8"
+*ImageableArea B6/B6 JIS: "14.22 14.16 348.3 501.84"
+*ImageableArea EnvDL/DL Envelope: "14.22 14.16 297.42 609.36"
+*ImageableArea EnvC4/C4 Envelope: "14.16 14.22 632.4 903.18"
+*ImageableArea EnvC5/C5 Envelope: "14.22 14.88 444.9 635.52"
+*?ImageableArea: "
+ currentpagedevice pop
+ clippath pathbbox
+ /cvp {16 string cvs print ( ) print} def
+ 4 3 roll 100 mul ceiling 100 div cvp
+ 3 2 roll 100 mul ceiling 100 div cvp
+ exch 100 mul floor 100 div cvp
+ 100 mul floor 100 div = flush
+ userdict /cvp undef"
+*End
+
+*% These provide the physical dimensions of the paper (by keyword)
+*DefaultPaperDimension: Letter
+*PaperDimension Letter/Letter: "612 792"
+*PaperDimension Legal/Legal: "612 1008"
+*PaperDimension Tabloid/Tabloid: "792 1224"
+*PaperDimension Executive/Executive: "522 756"
+*PaperDimension Statement/Statement: "396 612"
+*PaperDimension FanFoldGermanLegal/US Folio: "612 936"
+*PaperDimension SmallPostcard/Small US Postcard: "252 396"
+*PaperDimension LargePostcard/Large US Postcard: "288 432"
+*PaperDimension Env10/#10 Envelope: "297 684"
+*PaperDimension EnvMonarch/Monarch Envelope: "279 540"
+*PaperDimension A3/A3: "842 1191"
+*PaperDimension A4/A4: "595 842"
+*PaperDimension A5/A5: "420 595"
+*PaperDimension A6/A6: "297 420"
+*PaperDimension B4/B4 JIS: "729 1032"
+*PaperDimension B5/B5 JIS: "516 729"
+*PaperDimension B6/B6 JIS: "363 516"
+*PaperDimension EnvDL/DL Envelope: "312 624"
+*PaperDimension EnvC4/C4 Envelope: "649 918"
+*PaperDimension EnvC5/C5 Envelope: "459 649"
+
+*RequiresPageRegion All: True
+
+
+*NonUIOrderDependency: 69.9 AnySetup *CustomPageSize
+*VariablePaperSize: True
+*CustomPageSize True: "
+ userdict /xerox$NT known {
+ 0 eq {pop pop exch}{pop pop} ifelse
+ }{
+ pop pop pop
+ } ifelse
+ dup 0 eq { % for QuarkXPress
+ pop pop
+ }{
+ <<
+ /PageSize [ 5 -2 roll ]
+ >> xerox$pagedevice copy
+ xerox$pm_job {
+ xerox$setpagedevice
+ }{
+ xerox$smoothingDone {xerox$setpagedevice}{pop} ifelse
+ } ifelse
+ userdict /xerox$pageSizeDone true put
+ } ifelse
+"
+*End
+
+*DefaultLeadingEdge: Short
+*LeadingEdge Short: ""
+
+
+*ParamCustomPageSize Width: 1 points 251.5 842.9
+*ParamCustomPageSize Height: 2 points 277.3 1225.1
+*ParamCustomPageSize WidthOffset: 3 points 0 0
+*ParamCustomPageSize HeightOffset: 4 points 0 0
+*ParamCustomPageSize Orientation: 5 int 0 1
+*MaxMediaWidth: "842.9"
+*MaxMediaHeight: "1225.1"
+*?CurrentMediaWidth: "currentpagedevice /PageSize get 0 get = flush"
+*?CurrentMediaHeight: "currentpagedevice /PageSize get 1 get = flush"
+
+*HWMargins: 14.17 14.17 14.17 14.17
+
+
+
+*% === Tray Selection ================
+*OpenUI *InputSlot: PickOne
+*OrderDependency: 40.0 AnySetup *InputSlot
+*DefaultInputSlot: Tray2
+*InputSlot Tray1/Tray 1 (MPT): "
+ xerox$pagedevice /MediaPosition 0 put
+ xerox$pagedevice /TraySwitch false put
+"
+*End
+*InputSlot Tray2/Tray 2: "
+ xerox$pagedevice /MediaPosition 1 put
+ xerox$pagedevice /TraySwitch false put
+"
+*End
+*InputSlot Tray3/Tray 3: "
+ xerox$pagedevice /MediaPosition 2 put
+ xerox$pagedevice /TraySwitch false put
+"
+*End
+*InputSlot Tray4/Tray 4: "
+ xerox$pagedevice /MediaPosition 3 put
+ xerox$pagedevice /TraySwitch false put
+"
+*End
+*InputSlot Tray5/Tray 5: "
+ xerox$pagedevice /MediaPosition 4 put
+ xerox$pagedevice /TraySwitch false put
+"
+*End
+*InputSlot Tray6/Tray 6: "
+ xerox$pagedevice /MediaPosition 5 put
+ xerox$pagedevice /TraySwitch false put
+"
+*End
+*InputSlot MF/Manual Feed: "
+ xerox$pagedevice /MediaPosition 0 put
+ xerox$pagedevice /TraySwitch false put
+ xerox$pagedevice /ManualFeed true put
+"
+*End
+*CloseUI: *InputSlot
+
+
+
+*OpenUI *Duplex/2-Sided Printing: PickOne
+*OrderDependency: 45.0 AnySetup *Duplex
+*DefaultDuplex: None
+*Duplex None/Off: "
+ <</Duplex false /Tumble false>> xerox$pagedevice copy pop
+"
+*End
+*Duplex DuplexNoTumble/Long-Edge Binding: "
+ <</Duplex true /Tumble false>> xerox$pagedevice copy pop
+"
+*End
+*Duplex DuplexTumble/Short-Edge Binding: "
+ <</Duplex true /Tumble true>> xerox$pagedevice copy pop
+"
+*End
+*CloseUI: *Duplex
+
+
+*OpenGroup: PrintQuality/Print Quality/Color
+
+
+*OpenUI *OutputMode/Print Quality: PickOne
+*OrderDependency: 46.0 AnySetup *OutputMode
+*DefaultOutputMode: 600x600dpi
+*OutputMode 600x600dpi/600x600 dpi: "
+ <<
+ /HWResolution [600 600]
+ >> xerox$pagedevice copy pop
+"
+*End
+*OutputMode 1200x1200dpi/True 1200x1200 dpi: "
+ <<
+ /HWResolution [1200 1200]
+ >> xerox$pagedevice copy pop
+"
+*End
+*CloseUI: *OutputMode
+
+
+
+
+*CloseGroup: PrintQuality
+
+
+*OpenGroup: AdvancedMedia/Advanced Options
+
+
+
+*OpenUI *OutputBin/Paper Destination: PickOne
+*OrderDependency: 40.0 AnySetup *OutputBin
+*DefaultOutputBin: StdOutputBin
+*OutputBin StdOutputBin/Standard Output Tray: "
+ <<
+ /OutputType (Top Bin)
+ >> xerox$pagedevice copy pop
+"
+*End
+*OutputBin FinisherTopBin/Stacker Upper Tray: "
+ <<
+ /OutputType (Finisher Bin)
+ >> xerox$pagedevice copy pop
+"
+*End
+*OutputBin Stacker/Stacker Lower Tray: "
+ <<
+ /OutputType (Stacker)
+ >> xerox$pagedevice copy pop
+"
+*End
+*CloseUI: *OutputBin
+
+
+
+*OpenUI *MediaType/Paper Types: PickOne
+*OrderDependency: 41.0 AnySetup *MediaType
+*DefaultMediaType: AutoSelect
+*MediaType AutoSelect/Auto Select: "
+"
+*End
+*MediaType Paper/Plain Paper: "
+ xerox$pagedevice /MediaClass (Paper) put
+"
+*End
+*MediaType Letterhead/Letterhead: "
+ xerox$pagedevice /MediaClass (Letterhead) put
+"
+*End
+*MediaType Transparency/Transparency: "
+ xerox$pagedevice /MediaClass (Transparency) put
+"
+*End
+*MediaType Label/Labels: "
+ xerox$pagedevice /MediaClass (Label) put
+"
+*End
+*MediaType ColoredPaper/Colored Paper: "
+ xerox$pagedevice /MediaClass (ColoredPaper) put
+"
+*End
+*MediaType CardStock/Card Stock: "
+ xerox$pagedevice /MediaClass (CardStock) put
+"
+*End
+*MediaType Envelope/Envelope: "
+ xerox$pagedevice /MediaClass (Envelope) put
+"
+*End
+*MediaType Prepunched/Prepunched: "
+ xerox$pagedevice /MediaClass (Prepunched) put
+"
+*End
+*MediaType Special/Special: "
+ xerox$pagedevice /MediaClass (Special) put
+"
+*End
+*CloseUI: *MediaType
+
+
+
+*% === Offset Collated Sets ======================
+*OpenUI *XRXJog/Offset Collated Sets: Boolean
+*OrderDependency: 55.0 AnySetup *XRXJog
+*DefaultXRXJog: False
+*XRXJog False/Off: "
+ userdict /xerox$jog currentpagedevice /Jog get put
+"
+*End
+*XRXJog True/On: "
+ userdict /xerox$jog 3 put
+"
+*End
+*CloseUI: *XRXJog
+
+
+
+*% === Collation =====================
+*OpenUI *Collate/Quick Collate: Boolean
+*OrderDependency: 56.0 AnySetup *Collate
+*DefaultCollate: True
+*Collate False/Off: "
+ xerox$pagedevice /Collate false put
+"
+*End
+*Collate True/On: "
+ xerox$pagedevice /Collate true put
+ currentpagedevice /Jog known {xerox$pagedevice /Jog xerox$jog put} if
+"
+*End
+*CloseUI: *Collate
+
+
+
+*% === Edge-to-Edge Printing ======================
+*OpenUI *XRXEdgeToEdge/Edge-to-Edge Printing: Boolean
+*OrderDependency: 57.0 DocumentSetup *XRXEdgeToEdge
+*DefaultXRXEdgeToEdge: False
+*XRXEdgeToEdge False/Off: "
+ userdict /xerox$edgetoedgedone known not {
+ false /RRCustomProcs /ProcSet findresource /edgetoedge get exec
+ userdict /xerox$edgetoedgedone true put
+ } if
+"
+*End
+*XRXEdgeToEdge True/On: "
+ userdict /xerox$edgetoedgedone known not {
+ true /RRCustomProcs /ProcSet findresource /edgetoedge get exec
+ userdict /xerox$edgetoedgedone true put
+ } if
+"
+*End
+*CloseUI: *XRXEdgeToEdge
+
+
+
+*% === Image Smoothing =====================
+*OpenUI *XRXImageSmoothing/Image Smoothing: Boolean
+*OrderDependency: 68.99 AnySetup *XRXImageSmoothing
+*DefaultXRXImageSmoothing: False
+*XRXImageSmoothing False/Off: "
+ false /RRCustomProcs /ProcSet findresource /setforceinterpolate get exec
+ xerox$pageSizeDone {xerox$pagedevice xerox$setpagedevice} if
+ userdict /xerox$smoothingDone true put
+"
+*End
+*XRXImageSmoothing True/On: "
+ true /RRCustomProcs /ProcSet findresource /setforceinterpolate get exec
+ xerox$pageSizeDone {xerox$pagedevice xerox$setpagedevice} if
+ userdict /xerox$smoothingDone true put
+"
+*End
+*CloseUI: *XRXImageSmoothing
+
+
+
+*% === Media Mismatch Policy =====================
+*OpenUI *XRXMismatch/Media Mismatch Policy: PickOne
+*OrderDependency: 59.0 AnySetup *XRXMismatch
+*DefaultXRXMismatch: PromptTypeMismatch
+*XRXMismatch PromptTypeMismatch/If paper type mismatch, prompt me at the printer: "
+"
+*End
+*XRXMismatch Force/I already loaded my paper at the printer: "
+ userdict /xerox$media_mismatch_code {
+ xerox$pagedevice begin MediaPosition MediaClass PageSize end
+ /RRCustomProcs /ProcSet findresource /setuptray get exec
+ } put
+"
+*End
+*XRXMismatch Scale/Scale document to fit currently loaded paper size: "
+ userdict /xerox$media_mismatch_code {
+ true /RRCustomProcs /ProcSet findresource /setautofit get exec
+ xerox$pagedevice /TraySwitch get not {
+ xerox$pagedevice /MediaClass null put
+ } if
+ } put
+"
+*End
+*XRXMismatch Clip/Crop document to fit currently loaded paper size: "
+ userdict /xerox$media_mismatch_code {
+ false /RRCustomProcs /ProcSet findresource /setautofit get exec
+ xerox$pagedevice /TraySwitch get not {
+ xerox$pagedevice /MediaClass null put
+ } if
+ } put
+"
+*End
+*CloseUI: *XRXMismatch
+
+
+
+*OpenUI *XRXStapling/Stapling: PickOne
+*OrderDependency: 42.0 AnySetup *XRXStapling
+*DefaultXRXStapling: None
+*XRXStapling None/None: "
+ <<
+ /Staple 0
+ >> xerox$pagedevice copy pop
+"
+*End
+*XRXStapling Front/Front: "
+ <<
+ /Staple 3
+ /OutputType (Stacker)
+ /StapleDetails <</Type 6 /StapleMode 0>>
+ >> xerox$pagedevice copy pop
+"
+*End
+*XRXStapling Rear/Rear: "
+ <<
+ /Staple 3
+ /OutputType (Stacker)
+ /StapleDetails <</Type 6 /StapleMode 1>>
+ >> xerox$pagedevice copy pop
+"
+*End
+*XRXStapling Dual/Dual: "
+ <<
+ /Staple 3
+ /OutputType (Stacker)
+ /StapleDetails <</Type 6 /StapleMode 2>>
+ >> xerox$pagedevice copy pop
+"
+*End
+*XRXStapling FrontFlip/Front, flipped: "
+ <<
+ /Staple 3
+ /OutputType (Stacker)
+ /StapleDetails <</Type 6 /StapleMode 0>>
+ >> xerox$pagedevice copy pop
+ userdict /xerox$flip true put
+"
+*End
+*XRXStapling RearFlip/Rear, flipped: "
+ <<
+ /Staple 3
+ /OutputType (Stacker)
+ /StapleDetails <</Type 6 /StapleMode 1>>
+ >> xerox$pagedevice copy pop
+ userdict /xerox$flip true put
+"
+*End
+*XRXStapling DualFlip/Dual, flipped: "
+ <<
+ /Staple 3
+ /OutputType (Stacker)
+ /StapleDetails <</Type 6 /StapleMode 2>>
+ >> xerox$pagedevice copy pop
+ userdict /xerox$flip true put
+"
+*End
+*CloseUI: *XRXStapling
+
+
+
+*OpenUI *XRXPunching/Hole Punching: PickOne
+*OrderDependency: 42.0 AnySetup *XRXPunching
+*DefaultXRXPunching: None
+*XRXPunching None/None: "
+ <<
+ /Punch false
+ >> xerox$pagedevice copy pop
+"
+*End
+*XRXPunching 2_Holes/2 Holes: "
+ <<
+ /Punch true
+ /PunchDetails <</Type 1 /PunchHoles 2>>
+ xerox$pagedevice /OutputType known {
+ xerox$pagedevice /OutputType get (Top Bin) eq {
+ /OutputType (Stacker)
+ } if
+ }{
+ /OutputType (Stacker)
+ } ifelse
+ >> xerox$pagedevice copy pop
+"
+*End
+*XRXPunching 3_Holes/3 Holes: "
+ <<
+ /Punch true
+ /PunchDetails <</Type 1 /PunchHoles 3>>
+ xerox$pagedevice /OutputType known {
+ xerox$pagedevice /OutputType get (Top Bin) eq {
+ /OutputType (Stacker)
+ } if
+ }{
+ /OutputType (Stacker)
+ } ifelse
+ >> xerox$pagedevice copy pop
+"
+*End
+*XRXPunching 4_Holes/4 Holes: "
+ <<
+ /Punch true
+ /PunchDetails <</Type 1 /PunchHoles 4>>
+ xerox$pagedevice /OutputType known {
+ xerox$pagedevice /OutputType get (Top Bin) eq {
+ /OutputType (Stacker)
+ } if
+ }{
+ /OutputType (Stacker)
+ } ifelse
+ >> xerox$pagedevice copy pop
+"
+*End
+*CloseUI: *XRXPunching
+
+
+
+*% === Separation Page Source ===========
+*OpenUI *XRXSlipSheetSource/Separation Page Source: PickOne
+*OrderDependency: 62.0 AnySetup *XRXSlipSheetSource
+*DefaultXRXSlipSheetSource: Tray1
+*XRXSlipSheetSource Tray1/Tray 1 (MPT): "
+ 0 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec
+"
+*End
+*XRXSlipSheetSource Tray2/Tray 2: "
+ 1 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec
+"
+*End
+*XRXSlipSheetSource Tray3/Tray 3: "
+ 2 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec
+"
+*End
+*XRXSlipSheetSource Tray4/Tray 4: "
+ 3 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec
+"
+*End
+*XRXSlipSheetSource Tray5/Tray 5: "
+ 4 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec
+"
+*End
+*XRXSlipSheetSource Tray6/Tray 6: "
+ 5 /RRCustomProcs /ProcSet findresource /setslipsheetsource get exec
+"
+*End
+*CloseUI: *XRXSlipSheetSource
+
+
+*% === Separation Page ==============
+*OpenUI *Slipsheet/Separation Page: PickOne
+*OrderDependency: 62.1 AnySetup *Slipsheet
+*DefaultSlipsheet: None
+*Slipsheet None/None: "
+ xerox$pagedevice /SlipSheet 0 put
+"
+*End
+*Slipsheet EndOfJob/End Of Job: "
+ xerox$pagedevice /SlipSheet 2 put
+"
+*End
+*Slipsheet EndOfSet/End Of Set: "
+ xerox$pagedevice /SlipSheet 3 put
+"
+*End
+*Slipsheet EndOfPage/End Of Page: "
+ xerox$pagedevice /SlipSheet 4 put
+"
+*End
+*CloseUI: *Slipsheet
+
+
+*% === Cover Page Source ===========
+*OpenUI *XRXCoverPageSource/Cover Page Source: PickOne
+*OrderDependency: 63.0 AnySetup *XRXCoverPageSource
+*DefaultXRXCoverPageSource: Tray1
+*XRXCoverPageSource Tray1/Tray 1 (MPT): "
+ userdict /xerox$CoverPageSource 0 put
+"
+*End
+*XRXCoverPageSource Tray2/Tray 2: "
+ userdict /xerox$CoverPageSource 1 put
+"
+*End
+*XRXCoverPageSource Tray3/Tray 3: "
+ userdict /xerox$CoverPageSource 2 put
+"
+*End
+*XRXCoverPageSource Tray4/Tray 4: "
+ userdict /xerox$CoverPageSource 3 put
+"
+*End
+*XRXCoverPageSource Tray5/Tray 5: "
+ userdict /xerox$CoverPageSource 4 put
+"
+*End
+*XRXCoverPageSource Tray6/Tray 6: "
+ userdict /xerox$CoverPageSource 5 put
+"
+*End
+*CloseUI: *XRXCoverPageSource
+
+*% === Cover Page ===========
+*OpenUI *XRXCoverPage/Cover Page: PickOne
+*OrderDependency: 63.1 AnySetup *XRXCoverPage
+*DefaultXRXCoverPage: None
+*XRXCoverPage None/None: ""
+*XRXCoverPage First/First: "
+ 1 xerox$CoverPageSource
+ /RRCustomProcs /ProcSet findresource /setcoverpages get exec
+"
+*End
+*XRXCoverPage FirstLast/First & Last: "
+ 3 xerox$CoverPageSource
+ /RRCustomProcs /ProcSet findresource /setcoverpages get exec
+"
+*End
+*CloseUI: *XRXCoverPage
+
+
+
+
+*% === Draft Mode =====================
+*OpenUI *XRXDraft/Draft Mode: Boolean
+*OrderDependency: 47.0 AnySetup *XRXDraft
+*DefaultXRXDraft: False
+*XRXDraft False/Off: ""
+*XRXDraft True/On: "
+ <<
+ /HWResolution [600 600]
+ /PostRenderingEnhance true
+ >> xerox$pagedevice copy pop
+"
+*End
+*CloseUI: *XRXDraft
+
+
+*CloseGroup: AdvancedMedia
+
+
+*OpenGroup: JobType/Job Type
+
+*OpenUI *XRXJobType/Job Type: PickOne
+*OrderDependency: 66.99 AnySetup *XRXJobType
+*DefaultXRXJobType: Normal
+*XRXJobType Normal/Normal: "
+"
+*End
+*XRXJobType SecurePrint/Secure Print: "
+ xerox$pagedevice /DeferredMediaSelection true put
+ {
+ xerox$set_job_type {
+ xerox$validate_jobname
+ xerox$jobname length 4 add string
+ dup 0 (0000) putinterval
+ dup xerox$jobpassword dup length 4 sub neg exch putinterval
+ dup 4 xerox$jobname putinterval
+ 3 /RRCustomProcs /ProcSet findresource /setjobtype get exec
+ userdict /xerox$set_job_type false put
+ } if
+ } stopped
+ {
+ /xerox$buffer 4096 string def
+ {currentfile xerox$buffer readstring exch pop not {exit} if} loop
+ } if
+"
+*End
+*XRXJobType PersonalPrint/Personal Print: "
+ xerox$pagedevice /DeferredMediaSelection true put
+ {
+ xerox$set_job_type {
+ xerox$validate_jobname
+ xerox$jobname 6 /RRCustomProcs /ProcSet findresource /setjobtype get exec
+ userdict /xerox$set_job_type false put
+ } if
+ } stopped
+ {
+ /xerox$buffer 4096 string def
+ {currentfile xerox$buffer readstring exch pop not {exit} if} loop
+ } if
+"
+*End
+*XRXJobType ProofPrint/Proof Print: "
+ xerox$pagedevice /DeferredMediaSelection false put
+ mark {
+ xerox$set_job_type {
+ xerox$validate_jobname
+ xerox$jobname 1 /RRCustomProcs /ProcSet findresource /setjobtype get exec
+ userdict /xerox$set_job_type false put
+ } if
+ } stopped cleartomark
+"
+*End
+*XRXJobType SavedPrint/Saved Print: "
+ xerox$pagedevice /DeferredMediaSelection true put
+ mark {
+ xerox$set_job_type {
+ xerox$validate_jobname
+ xerox$jobname 2 /RRCustomProcs /ProcSet findresource /setjobtype get exec
+ userdict /xerox$set_job_type false put
+ } if
+ } stopped cleartomark
+"
+*End
+*CloseUI: *XRXJobType
+
+
+*OpenUI *XRXJobName/Job Name: PickOne
+*OrderDependency: 65.0 AnySetup *XRXJobName
+*DefaultXRXJobName: Set
+*XRXJobName None/None: ""
+*XRXJobName Set/Default Job Name: ""
+*CloseUI: *XRXJobName
+
+
+*OpenUI *XRXJobPassword/Numeric Password: PickOne
+*OrderDependency: 65.0 AnySetup *XRXJobPassword
+*DefaultXRXJobPassword: Set
+*XRXJobPassword None/None: ""
+*XRXJobPassword Set/Default Numeric Password: ""
+*CloseUI: *XRXJobPassword
+
+
+*CloseGroup: JobType
+
+
+*% === Font Information =====================
+*DefaultFont: Courier
+*Font AvantGarde-Book: Standard "(003.000)" Standard ROM
+*Font AvantGarde-BookOblique: Standard "(003.000)" Standard ROM
+*Font AvantGarde-Demi: Standard "(003.000)" Standard ROM
+*Font AvantGarde-DemiOblique: Standard "(003.000)" Standard ROM
+*Font Bookman-Demi: Standard "(003.000)" Standard ROM
+*Font Bookman-DemiItalic: Standard "(003.000)" Standard ROM
+*Font Bookman-Light: Standard "(003.000)" Standard ROM
+*Font Bookman-LightItalic: Standard "(003.000)" Standard ROM
+*Font Courier-Bold: Standard "(004.000)" Standard ROM
+*Font Courier-BoldOblique: Standard "(004.000)" Standard ROM
+*Font Courier-Oblique: Standard "(004.000)" Standard ROM
+*Font Courier: Standard "(004.000)" Standard ROM
+*Font Helvetica-Bold: Standard "(003.000)" Standard ROM
+*Font Helvetica-BoldOblique: Standard "(003.000)" Standard ROM
+*Font Helvetica-Condensed-Bold: Standard "(003.000)" Standard ROM
+*Font Helvetica-Condensed-BoldObl: Standard "(003.000)" Standard ROM
+*Font Helvetica-Condensed-Oblique: Standard "(003.000)" Standard ROM
+*Font Helvetica-Condensed: Standard "(003.000)" Standard ROM
+*Font Helvetica-Narrow-Bold: Standard "(003.000)" Standard ROM
+*Font Helvetica-Narrow-BoldOblique: Standard "(003.000)" Standard ROM
+*Font Helvetica-Narrow-Oblique: Standard "(003.000)" Standard ROM
+*Font Helvetica-Narrow: Standard "(003.000)" Standard ROM
+*Font Helvetica-Oblique: Standard "(003.000)" Standard ROM
+*Font Helvetica: Standard "(003.000)" Standard ROM
+*Font NewCenturySchlbk-Bold: Standard "(003.000)" Standard ROM
+*Font NewCenturySchlbk-BoldItalic: Standard "(003.000)" Standard ROM
+*Font NewCenturySchlbk-Italic: Standard "(003.000)" Standard ROM
+*Font NewCenturySchlbk-Roman: Standard "(003.000)" Standard ROM
+*Font Palatino-Bold: Standard "(003.000)" Standard ROM
+*Font Palatino-BoldItalic: Standard "(003.000)" Standard ROM
+*Font Palatino-Italic: Standard "(003.000)" Standard ROM
+*Font Palatino-Roman: Standard "(003.000)" Standard ROM
+*Font Symbol: Special "(001.008)" Special ROM
+*Font Times-Bold: Standard "(003.000)" Standard ROM
+*Font Times-BoldItalic: Standard "(003.000)" Standard ROM
+*Font Times-Italic: Standard "(003.000)" Standard ROM
+*Font Times-Roman: Standard "(003.000)" Standard ROM
+*Font ZapfChancery-MediumItalic: Standard "(003.000)" Standard ROM
+*Font ZapfDingbats: Special "(002.000)" Special ROM
+
+*?FontQuery: "
+ { count 1 gt
+ { exch dup 127 string cvs (/) print print (:) print
+ /Font resourcestatus {pop pop (Yes)} {(No)} ifelse =
+ } { exit } ifelse
+ } bind loop
+ (*) = flush"
+*End
+
+*?FontList: "(*) {cvn ==} 128 string /Font resourceforall (*) = flush"
+
+
+*% end of PPD file for Xerox Phaser 5500N
diff --git a/server/modules/cups-freiburg/etc/cups/ppd/ZRZ_DELL.ppd b/server/modules/cups-freiburg/etc/cups/ppd/ZRZ_DELL.ppd deleted file mode 100644 index c66e36d1..00000000 --- a/server/modules/cups-freiburg/etc/cups/ppd/ZRZ_DELL.ppd +++ /dev/null @@ -1,340 +0,0 @@ -*PPD-Adobe: "4.3" -*% -*% For information on using this, and to obtain the required backend -*% script, consult http://www.openprinting.org/ -*% -*% This file is published under the GNU General Public License -*% -*% PPD-O-MATIC (4.0.0 or newer) generated this PPD file. It is for use with -*% all programs and environments which use PPD files for dealing with -*% printer capability information. The printer must be configured with the -*% "foomatic-rip" backend filter script of Foomatic 4.0.0 or newer. This -*% file and "foomatic-rip" work together to support PPD-controlled printer -*% driver option access with all supported printer drivers and printing -*% spoolers. -*% -*% To save this file on your disk, wait until the download has completed -*% (the animation of the browser logo must stop) and then use the -*% "Save as..." command in the "File" menu of your browser or in the -*% pop-up manu when you click on this document with the right mouse button. -*% DO NOT cut and paste this file into an editor with your mouse. This can -*% introduce additional line breaks which lead to unexpected results. -*% -*% You may save this file as 'Dell-3100cn-pxlcolor.ppd' -*% -*% -*FormatVersion: "4.3" -*FileVersion: "1.1" -*LanguageVersion: English -*LanguageEncoding: ISOLatin1 -*PCFileName: "PXLCOLOR.PPD" -*Manufacturer: "Dell" -*Product: "(Laser Printer 3100cn)" -*cupsVersion: 1.0 -*cupsManualCopies: True -*cupsModelNumber: 2 -*cupsFilter: "application/vnd.cups-postscript 100 foomatic-rip" -*cupsFilter: "application/vnd.cups-pdf 0 foomatic-rip" -*%pprRIP: foomatic-rip other -*ModelName: "Dell 3100cn" -*ShortNickName: "Dell 3100cn pxlcolor" -*NickName: "Dell 3100cn Foomatic/pxlcolor (recommended)" -*PSVersion: "(3010.000) 550" -*PSVersion: "(3010.000) 651" -*PSVersion: "(3010.000) 652" -*PSVersion: "(3010.000) 653" -*PSVersion: "(3010.000) 704" -*PSVersion: "(3010.000) 705" -*PSVersion: "(3010.000) 800" -*PSVersion: "(3010.000) 815" -*PSVersion: "(3010.000) 850" -*PSVersion: "(3010.000) 860" -*PSVersion: "(3010.000) 861" -*PSVersion: "(3010.000) 862" -*PSVersion: "(3010.000) 863" -*PSVersion: "(3010.000) 864" -*PSVersion: "(3010.000) 870" -*LanguageLevel: "3" -*ColorDevice: True -*DefaultColorSpace: RGB -*FileSystem: False -*Throughput: "1" -*LandscapeOrientation: Plus90 -*TTRasterizer: Type42 -*1284DeviceID: "MFG:Dell;MDL:Laser Printer 3100cn;CMD:PJL,RASTER,DOWNLOAD,PCLXL,PCL,POSTSCRIPT;DES:Dell Laser Printer 3100cn;DRV:Dpxlcolor,R1,M0,TG;" - -*driverName pxlcolor: "" -*driverType G/Ghostscript built-in: "" -*driverUrl: "http://www.ghostscript.com/" -*driverObsolete: False -*driverManufacturerSupplied: False - -*DefaultResolution: 1200dpi - - - -*HWMargins: 18 36 18 36 -*VariablePaperSize: True -*MaxMediaWidth: 100000 -*MaxMediaHeight: 100000 -*NonUIOrderDependency: 100 AnySetup *CustomPageSize -*CustomPageSize True: "pop pop pop pop pop -%% FoomaticRIPOptionSetting: PageSize=Custom" -*End -*FoomaticRIPOptionSetting PageSize=Custom: " -dDEVICEWIDTHPOINTS=0 -dD&& -EVICEHEIGHTPOINTS=0" -*End -*ParamCustomPageSize Width: 1 points 36 100000 -*ParamCustomPageSize Height: 2 points 36 100000 -*ParamCustomPageSize Orientation: 3 int 0 0 -*ParamCustomPageSize WidthOffset: 4 points 0 0 -*ParamCustomPageSize HeightOffset: 5 points 0 0 - -*FoomaticIDs: Dell-3100cn pxlcolor -*FoomaticRIPCommandLine: "gs -q -dBATCH -dPARANOIDSAFER -dNOPAUSE -dNO&& -INTERPOLATE%B%A%Z -sOutputFile=- -" -*End - -*OpenGroup: General/General - -*OpenUI *PrintoutMode/Print Quality: PickOne -*FoomaticRIPOption PrintoutMode: enum Composite A -*OrderDependency: 10 AnySetup *PrintoutMode -*DefaultPrintoutMode: Normal -*PrintoutMode Draft/Draft: "%% FoomaticRIPOptionSetting: PrintoutMode=Draft" -*FoomaticRIPOptionSetting PrintoutMode=Draft: "PrinterResolution=600x6&& -00dpi ColorModel=Color" -*End -*PrintoutMode Draft.Gray/Draft Grayscale: "%% FoomaticRIPOptionSetting: PrintoutMode=Draft.Gray" -*FoomaticRIPOptionSetting PrintoutMode=Draft.Gray: "PrinterResolution=&& -600x600dpi ColorModel=Grayscale" -*End -*PrintoutMode Normal/Normal: "%% FoomaticRIPOptionSetting: PrintoutMode=Normal" -*FoomaticRIPOptionSetting PrintoutMode=Normal: "PrinterResolution=600x&& -600dpi ColorModel=Color" -*End -*PrintoutMode Normal.Gray/Normal Grayscale: "%% FoomaticRIPOptionSetting: PrintoutMode=Normal.Gray" -*FoomaticRIPOptionSetting PrintoutMode=Normal.Gray: "PrinterResolution&& -=600x600dpi ColorModel=Grayscale" -*End -*PrintoutMode High/High Quality: "%% FoomaticRIPOptionSetting: PrintoutMode=High" -*FoomaticRIPOptionSetting PrintoutMode=High: "PrinterResolution=1200x1&& -200dpi ColorModel=Color" -*End -*PrintoutMode High.Gray/High Quality Grayscale: "%% FoomaticRIPOptionSetting: PrintoutMode=High.Gray" -*FoomaticRIPOptionSetting PrintoutMode=High.Gray: "PrinterResolution=1&& -200x1200dpi ColorModel=Grayscale" -*End -*CloseUI: *PrintoutMode - -*OpenUI *PageSize/Page Size: PickOne -*FoomaticRIPOption PageSize: enum CmdLine A -*OrderDependency: 100 AnySetup *PageSize -*DefaultPageSize: A4 -*PageSize Letter/US Letter: "%% FoomaticRIPOptionSetting: PageSize=Letter" -*FoomaticRIPOptionSetting PageSize=Letter: " -dDEVICEWIDTHPOINTS=612 -&& -dDEVICEHEIGHTPOINTS=792" -*End -*PageSize A4/A4: "%% FoomaticRIPOptionSetting: PageSize=A4" -*FoomaticRIPOptionSetting PageSize=A4: " -dDEVICEWIDTHPOINTS=595 -dDEV&& -ICEHEIGHTPOINTS=842" -*End -*PageSize 11x17/11x17: "%% FoomaticRIPOptionSetting: PageSize=11x17" -*FoomaticRIPOptionSetting PageSize=11x17: " -dDEVICEWIDTHPOINTS=792 -d&& -DEVICEHEIGHTPOINTS=1224" -*End -*PageSize A3/A3: "%% FoomaticRIPOptionSetting: PageSize=A3" -*FoomaticRIPOptionSetting PageSize=A3: " -dDEVICEWIDTHPOINTS=842 -dDEV&& -ICEHEIGHTPOINTS=1191" -*End -*PageSize A5/A5: "%% FoomaticRIPOptionSetting: PageSize=A5" -*FoomaticRIPOptionSetting PageSize=A5: " -dDEVICEWIDTHPOINTS=421 -dDEV&& -ICEHEIGHTPOINTS=595" -*End -*PageSize B5/B5 (JIS): "%% FoomaticRIPOptionSetting: PageSize=B5" -*FoomaticRIPOptionSetting PageSize=B5: " -dDEVICEWIDTHPOINTS=516 -dDEV&& -ICEHEIGHTPOINTS=729" -*End -*PageSize Env10/Envelope #10: "%% FoomaticRIPOptionSetting: PageSize=Env10" -*FoomaticRIPOptionSetting PageSize=Env10: " -dDEVICEWIDTHPOINTS=297 -d&& -DEVICEHEIGHTPOINTS=684" -*End -*PageSize EnvC5/Envelope C5: "%% FoomaticRIPOptionSetting: PageSize=EnvC5" -*FoomaticRIPOptionSetting PageSize=EnvC5: " -dDEVICEWIDTHPOINTS=459 -d&& -DEVICEHEIGHTPOINTS=649" -*End -*PageSize EnvDL/Envelope DL: "%% FoomaticRIPOptionSetting: PageSize=EnvDL" -*FoomaticRIPOptionSetting PageSize=EnvDL: " -dDEVICEWIDTHPOINTS=312 -d&& -DEVICEHEIGHTPOINTS=624" -*End -*PageSize EnvISOB5/Envelope B5: "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" -*FoomaticRIPOptionSetting PageSize=EnvISOB5: " -dDEVICEWIDTHPOINTS=499&& - -dDEVICEHEIGHTPOINTS=709" -*End -*PageSize EnvMonarch/Envelope Monarch: "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" -*FoomaticRIPOptionSetting PageSize=EnvMonarch: " -dDEVICEWIDTHPOINTS=2&& -79 -dDEVICEHEIGHTPOINTS=540" -*End -*PageSize Executive/Executive: "%% FoomaticRIPOptionSetting: PageSize=Executive" -*FoomaticRIPOptionSetting PageSize=Executive: " -dDEVICEWIDTHPOINTS=52&& -2 -dDEVICEHEIGHTPOINTS=756" -*End -*PageSize Legal/US Legal: "%% FoomaticRIPOptionSetting: PageSize=Legal" -*FoomaticRIPOptionSetting PageSize=Legal: " -dDEVICEWIDTHPOINTS=612 -d&& -DEVICEHEIGHTPOINTS=1008" -*End -*CloseUI: *PageSize - -*OpenUI *PageRegion: PickOne -*OrderDependency: 100 AnySetup *PageRegion -*DefaultPageRegion: A4 -*PageRegion Letter/US Letter: "%% FoomaticRIPOptionSetting: PageSize=Letter" -*PageRegion A4/A4: "%% FoomaticRIPOptionSetting: PageSize=A4" -*PageRegion 11x17/11x17: "%% FoomaticRIPOptionSetting: PageSize=11x17" -*PageRegion A3/A3: "%% FoomaticRIPOptionSetting: PageSize=A3" -*PageRegion A5/A5: "%% FoomaticRIPOptionSetting: PageSize=A5" -*PageRegion B5/B5 (JIS): "%% FoomaticRIPOptionSetting: PageSize=B5" -*PageRegion Env10/Envelope #10: "%% FoomaticRIPOptionSetting: PageSize=Env10" -*PageRegion EnvC5/Envelope C5: "%% FoomaticRIPOptionSetting: PageSize=EnvC5" -*PageRegion EnvDL/Envelope DL: "%% FoomaticRIPOptionSetting: PageSize=EnvDL" -*PageRegion EnvISOB5/Envelope B5: "%% FoomaticRIPOptionSetting: PageSize=EnvISOB5" -*PageRegion EnvMonarch/Envelope Monarch: "%% FoomaticRIPOptionSetting: PageSize=EnvMonarch" -*PageRegion Executive/Executive: "%% FoomaticRIPOptionSetting: PageSize=Executive" -*PageRegion Legal/US Legal: "%% FoomaticRIPOptionSetting: PageSize=Legal" -*CloseUI: *PageRegion - -*DefaultImageableArea: A4 -*ImageableArea Letter/US Letter: "18 36 594 756" -*ImageableArea A4/A4: "18 36 577 806" -*ImageableArea 11x17/11x17: "18 36 774 1188" -*ImageableArea A3/A3: "18 36 824 1155" -*ImageableArea A5/A5: "18 36 403 559" -*ImageableArea B5/B5 (JIS): "18 36 498 693" -*ImageableArea Env10/Envelope #10: "18 36 279 648" -*ImageableArea EnvC5/Envelope C5: "18 36 441 613" -*ImageableArea EnvDL/Envelope DL: "18 36 294 588" -*ImageableArea EnvISOB5/Envelope B5: "18 36 481 673" -*ImageableArea EnvMonarch/Envelope Monarch: "18 36 261 504" -*ImageableArea Executive/Executive: "18 36 504 720" -*ImageableArea Legal/US Legal: "18 36 594 972" - -*DefaultPaperDimension: A4 -*PaperDimension Letter/US Letter: "612 792" -*PaperDimension A4/A4: "595 842" -*PaperDimension 11x17/11x17: "792 1224" -*PaperDimension A3/A3: "842 1191" -*PaperDimension A5/A5: "421 595" -*PaperDimension B5/B5 (JIS): "516 729" -*PaperDimension Env10/Envelope #10: "297 684" -*PaperDimension EnvC5/Envelope C5: "459 649" -*PaperDimension EnvDL/Envelope DL: "312 624" -*PaperDimension EnvISOB5/Envelope B5: "499 709" -*PaperDimension EnvMonarch/Envelope Monarch: "279 540" -*PaperDimension Executive/Executive: "522 756" -*PaperDimension Legal/US Legal: "612 1008" - -*OpenUI *InputSlot/Media Source: PickOne -*FoomaticRIPOption InputSlot: enum CmdLine A -*OrderDependency: 100 AnySetup *InputSlot -*DefaultInputSlot: Default -*InputSlot Default/Printer Default: "%% FoomaticRIPOptionSetting: InputSlot=Default" -*FoomaticRIPOptionSetting InputSlot=Default: " -dMediaPosition=0" -*InputSlot Upper/Upper Tray: "%% FoomaticRIPOptionSetting: InputSlot=Upper" -*FoomaticRIPOptionSetting InputSlot=Upper: " -dMediaPosition=4" -*InputSlot Middle/Middle Tray: "%% FoomaticRIPOptionSetting: InputSlot=Middle" -*FoomaticRIPOptionSetting InputSlot=Middle: " -dMediaPosition=5" -*InputSlot Lower/Lower Tray: "%% FoomaticRIPOptionSetting: InputSlot=Lower" -*FoomaticRIPOptionSetting InputSlot=Lower: " -dMediaPosition=6" -*InputSlot Multipurpose/Multipurpose Tray: "%% FoomaticRIPOptionSetting: InputSlot=Multipurpose" -*FoomaticRIPOptionSetting InputSlot=Multipurpose: " -dMediaPosition=3" -*InputSlot Automatic/Automatic: "%% FoomaticRIPOptionSetting: InputSlot=Automatic" -*FoomaticRIPOptionSetting InputSlot=Automatic: " -dMediaPosition=1" -*InputSlot Manual/Manual Feeder: "%% FoomaticRIPOptionSetting: InputSlot=Manual" -*FoomaticRIPOptionSetting InputSlot=Manual: " -dMediaPosition=2" -*CloseUI: *InputSlot - -*OpenUI *Duplex/Double-Sided Printing: PickOne -*FoomaticRIPOption Duplex: enum CmdLine A -*OrderDependency: 100 AnySetup *Duplex -*DefaultDuplex: None -*Duplex DuplexNoTumble/On (Flip on Long Edge): "%% FoomaticRIPOptionSetting: Duplex=DuplexNoTumble" -*FoomaticRIPOptionSetting Duplex=DuplexNoTumble: " -dDuplex" -*Duplex DuplexTumble/On (Flip on Short Edge): "%% FoomaticRIPOptionSetting: Duplex=DuplexTumble" -*FoomaticRIPOptionSetting Duplex=DuplexTumble: " -dDuplex -dTumble" -*Duplex None/Off: "%% FoomaticRIPOptionSetting: Duplex=None" -*FoomaticRIPOptionSetting Duplex=None: "" -*CloseUI: *Duplex - -*CloseGroup: General - -*OpenGroup: PrintoutMode/Printout Mode - -*OpenUI *ColorModel/Color Mode: PickOne -*FoomaticRIPOption ColorModel: enum CmdLine B -*OrderDependency: 100 AnySetup *ColorModel -*DefaultColorModel: FromPrintoutMode -*ColorModel FromPrintoutMode/Controlled by 'Print Quality': "%% FoomaticRIPOptionSetting: ColorModel=@PrintoutMode" -*ColorModel Color/Color: "%% FoomaticRIPOptionSetting: ColorModel=Color" -*FoomaticRIPOptionSetting ColorModel=Color: " -sDEVICE=pxlcolor" -*ColorModel Grayscale/Monochrome: "%% FoomaticRIPOptionSetting: ColorModel=Grayscale" -*FoomaticRIPOptionSetting ColorModel=Grayscale: " -sDEVICE=pxlmono" -*CloseUI: *ColorModel - -*OpenUI *PrinterResolution/Resolution: PickOne -*FoomaticRIPOption PrinterResolution: enum CmdLine A -*OrderDependency: 100 AnySetup *PrinterResolution -*DefaultPrinterResolution: FromPrintoutMode -*PrinterResolution FromPrintoutMode/Controlled by 'Print Quality': "%% FoomaticRIPOptionSetting: PrinterResolution=@PrintoutMode" -*PrinterResolution 300x300dpi/300x300 DPI: "%% FoomaticRIPOptionSetting: PrinterResolution=300x300dpi" -*FoomaticRIPOptionSetting PrinterResolution=300x300dpi: " -r300x300" -*PrinterResolution 600x600dpi/600x600 DPI: "%% FoomaticRIPOptionSetting: PrinterResolution=600x600dpi" -*FoomaticRIPOptionSetting PrinterResolution=600x600dpi: " -r600x600" -*PrinterResolution 1200x1200dpi/1200x1200 DPI: "%% FoomaticRIPOptionSetting: PrinterResolution=1200x1200dpi" -*FoomaticRIPOptionSetting PrinterResolution=1200x1200dpi: " -r1200x120&& -0" -*End -*CloseUI: *PrinterResolution - -*CloseGroup: PrintoutMode - - -*% Generic boilerplate PPD stuff as standard PostScript fonts and so on - -*DefaultFont: Courier -*Font AvantGarde-Book: Standard "(001.006S)" Standard ROM -*Font AvantGarde-BookOblique: Standard "(001.006S)" Standard ROM -*Font AvantGarde-Demi: Standard "(001.007S)" Standard ROM -*Font AvantGarde-DemiOblique: Standard "(001.007S)" Standard ROM -*Font Bookman-Demi: Standard "(001.004S)" Standard ROM -*Font Bookman-DemiItalic: Standard "(001.004S)" Standard ROM -*Font Bookman-Light: Standard "(001.004S)" Standard ROM -*Font Bookman-LightItalic: Standard "(001.004S)" Standard ROM -*Font Courier: Standard "(002.004S)" Standard ROM -*Font Courier-Bold: Standard "(002.004S)" Standard ROM -*Font Courier-BoldOblique: Standard "(002.004S)" Standard ROM -*Font Courier-Oblique: Standard "(002.004S)" Standard ROM -*Font Helvetica: Standard "(001.006S)" Standard ROM -*Font Helvetica-Bold: Standard "(001.007S)" Standard ROM -*Font Helvetica-BoldOblique: Standard "(001.007S)" Standard ROM -*Font Helvetica-Narrow: Standard "(001.006S)" Standard ROM -*Font Helvetica-Narrow-Bold: Standard "(001.007S)" Standard ROM -*Font Helvetica-Narrow-BoldOblique: Standard "(001.007S)" Standard ROM -*Font Helvetica-Narrow-Oblique: Standard "(001.006S)" Standard ROM -*Font Helvetica-Oblique: Standard "(001.006S)" Standard ROM -*Font NewCenturySchlbk-Bold: Standard "(001.009S)" Standard ROM -*Font NewCenturySchlbk-BoldItalic: Standard "(001.007S)" Standard ROM -*Font NewCenturySchlbk-Italic: Standard "(001.006S)" Standard ROM -*Font NewCenturySchlbk-Roman: Standard "(001.007S)" Standard ROM -*Font Palatino-Bold: Standard "(001.005S)" Standard ROM -*Font Palatino-BoldItalic: Standard "(001.005S)" Standard ROM -*Font Palatino-Italic: Standard "(001.005S)" Standard ROM -*Font Palatino-Roman: Standard "(001.005S)" Standard ROM -*Font Symbol: Special "(001.007S)" Special ROM -*Font Times-Bold: Standard "(001.007S)" Standard ROM -*Font Times-BoldItalic: Standard "(001.009S)" Standard ROM -*Font Times-Italic: Standard "(001.007S)" Standard ROM -*Font Times-Roman: Standard "(001.007S)" Standard ROM -*Font ZapfChancery-MediumItalic: Standard "(001.007S)" Standard ROM -*Font ZapfDingbats: Special "(001.004S)" Standard ROM - - diff --git a/server/modules/cups-freiburg/etc/cups/printers.conf b/server/modules/cups-freiburg/etc/cups/printers.conf index b487522d..cfc4c782 100644 --- a/server/modules/cups-freiburg/etc/cups/printers.conf +++ b/server/modules/cups-freiburg/etc/cups/printers.conf @@ -1,4 +1,4 @@ -# Printer configuration file for CUPS v1.5.3 +# Printer configuration file for CUPS v1.7.2 # Written by cupsd # DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING <Printer RZBLACK> @@ -8,11 +8,13 @@ Info Xerox WorkCentre 7545 Location RZ/UG/-104 MakeModel Xerox WorkCentre 7545 DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/RZBLACK +PPDTimeStamp * State Idle StateTime 1385139198 Type 8433916 Accepting Yes Shared No +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -27,6 +29,7 @@ Info Xerox WorkCentre 7545 Location RZ/UG/-104 MakeModel Xerox WorkCentre 7545 DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/RZFARBE +PPDTimeStamp * State Idle StateTime 1380589204 Reason cups-ipp-conformance-failure-report @@ -34,6 +37,7 @@ Reason cups-ipp-missing-job-history Type 8433916 Accepting Yes Shared No +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -42,16 +46,19 @@ OpPolicy default ErrorPolicy abort-job </Printer> <Printer RZMONO> -UUID urn:uuid:552cc616-4ebe-3477-7833-eab4f7289796 -Info Xerox Phaser 4600 +UUID urn:uuid:ff7c28f2-81f1-3cfc-78d4-dd29cbc25fb3 +AuthInfoRequired none +Info Xerox Phase 5500 DT Location RZ/UG/-104 -MakeModel Xerox Phaser 4600 +MakeModel Xerox Phaser 5500N DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/RZMONO +PPDTimeStamp * State Idle -StateTime 1381327838 -Type 8425716 +StateTime 1421843444 +Type 8433860 Accepting Yes -Shared No +Shared Yes +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -65,11 +72,13 @@ Info Xerox Phaser 4600 Location RZ/UG/-104 MakeModel Xerox Phaser 4600 DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/RZMONO2 +PPDTimeStamp * State Idle StateTime 1381328096 Type 8425716 Accepting Yes Shared No +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -83,11 +92,13 @@ Info UB1 Lernzentrum Farbe Location UB1/Stadthalle MakeModel HP LaserJet P4010 Series Postscript (recommended) DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/UB1COLOR +PPDTimeStamp * State Idle StateTime 1385542523 Type 8425684 Accepting Yes Shared No +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -101,11 +112,13 @@ Info UB1 Lernzentrum S/W Location UB1/Stadthalle MakeModel HP LaserJet P4010 Series Postscript (recommended) DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/UB1MONO +PPDTimeStamp * State Idle StateTime 1385138991 Type 8425684 Accepting Yes Shared No +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -119,11 +132,13 @@ Info UB2 Pooldrucker S/W Location UB2/EG/A021 MakeModel Xerox WorkCentre 7545 DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/UB2BLACK +PPDTimeStamp * State Idle StateTime 1385130126 Type 8433916 Accepting Yes Shared No +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -137,11 +152,13 @@ Info UB2 Pooldrucker Farbe Location UB2/EG/A021 MakeModel Xerox WorkCentre 7545 DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/UB2FARBE +PPDTimeStamp * State Idle StateTime 1385130066 Type 8433916 Accepting Yes Shared No +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 @@ -156,30 +173,13 @@ Info UB2 Pooldrucker S/W Location UB2/EG/A021 MakeModel Xerox Phaser 4600 DeviceURI http://vm-pri.ruf.uni-freiburg.de:631/UB2MONO +PPDTimeStamp * State Idle StateTime 1385139838 Type 8425716 Accepting Yes Shared No -JobSheets none none -QuotaPeriod 0 -PageLimit 0 -KLimit 0 -OpPolicy default -ErrorPolicy abort-job -</Printer> -<Printer ZRZ_DELL> -UUID urn:uuid:5409dd74-e2fe-354e-5f95-a1c9187cbc5e -AuthInfoRequired none -Info interner Drucker - nicht oeffentlich! -Location RZ/OG/117 -MakeModel Dell 3100cn Foomatic/Postscript -DeviceURI ipp://vm-pri.ruf.uni-freiburg.de:631/RZKCOLOR -State Idle -StateTime 1390844591 -Type 8400924 -Accepting Yes -Shared Yes +ColorManaged Yes JobSheets none none QuotaPeriod 0 PageLimit 0 diff --git a/server/modules/pam-freiburg/etc/nslcd.conf b/server/modules/nslcd-freiburg/etc/nslcd.conf index 4d16af05..4d16af05 100644 --- a/server/modules/pam-freiburg/etc/nslcd.conf +++ b/server/modules/nslcd-freiburg/etc/nslcd.conf diff --git a/server/modules/pam-freiburg/etc/systemd/system/getty.target.wants/nslcd.service b/server/modules/nslcd-freiburg/etc/systemd/system/getty.target.wants/nslcd.service index 17c13d96..17c13d96 120000 --- a/server/modules/pam-freiburg/etc/systemd/system/getty.target.wants/nslcd.service +++ b/server/modules/nslcd-freiburg/etc/systemd/system/getty.target.wants/nslcd.service diff --git a/server/modules/pam-freiburg/etc/ldap/ldap.conf b/server/modules/pam-freiburg/etc/ldap/ldap.conf deleted file mode 120000 index 6050948a..00000000 --- a/server/modules/pam-freiburg/etc/ldap/ldap.conf +++ /dev/null @@ -1 +0,0 @@ -../ldap.conf
\ No newline at end of file diff --git a/server/modules/pam-freiburg/etc/openldap/ldap.conf b/server/modules/pam-freiburg/etc/openldap/ldap.conf deleted file mode 120000 index c0aaf459..00000000 --- a/server/modules/pam-freiburg/etc/openldap/ldap.conf +++ /dev/null @@ -1 +0,0 @@ -/etc/ldap.conf
\ No newline at end of file diff --git a/server/modules/pam-freiburg/etc/pam.d/common-account b/server/modules/pam-ldap-freiburg/etc/pam.d/common-account index 3a5d5a14..3a5d5a14 100644 --- a/server/modules/pam-freiburg/etc/pam.d/common-account +++ b/server/modules/pam-ldap-freiburg/etc/pam.d/common-account diff --git a/server/modules/pam-freiburg/etc/pam.d/common-auth b/server/modules/pam-ldap-freiburg/etc/pam.d/common-auth index 0c864049..0c864049 100644 --- a/server/modules/pam-freiburg/etc/pam.d/common-auth +++ b/server/modules/pam-ldap-freiburg/etc/pam.d/common-auth diff --git a/server/modules/pam-freiburg/etc/pam.d/common-session b/server/modules/pam-ldap-freiburg/etc/pam.d/common-session index 8b0f5dfc..8b0f5dfc 100644 --- a/server/modules/pam-freiburg/etc/pam.d/common-session +++ b/server/modules/pam-ldap-freiburg/etc/pam.d/common-session diff --git a/server/modules/sshd-freiburg/opt/openslx/iptables/rules.d/10-sshd b/server/modules/sshd-freiburg/opt/openslx/iptables/rules.d/10-sshd new file mode 100755 index 00000000..11dce812 --- /dev/null +++ b/server/modules/sshd-freiburg/opt/openslx/iptables/rules.d/10-sshd @@ -0,0 +1,3 @@ +#!/bin/ash + +iptables -w -I ipt-helper-INPUT 1 -i br0 -p tcp \! -s 132.230.0.0/16 --dport 22 -j DROP |