summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorJohn Terpstra <jht@samba.org>2001-04-16 18:20:10 +0000
committerJohn Terpstra <jht@samba.org>2001-04-16 18:20:10 +0000
commit9e92c291520099add6d84893c6d5c25a2317d574 (patch)
tree5bafcdc7374f58bdb68e8286cf046c8b40cc22a2 /examples
parentb0facfe5b718369bdd43da54d5df0f3824daa7c0 (diff)
downloadsamba-9e92c291520099add6d84893c6d5c25a2317d574.tar.gz
samba-9e92c291520099add6d84893c6d5c25a2317d574.tar.xz
samba-9e92c291520099add6d84893c6d5c25a2317d574.zip
Added slightly modified smbprint to show that the forward slash CAN be used
with smbclient. Yes, this one has been a point of contention! Argh!
Diffstat (limited to 'examples')
-rwxr-xr-xexamples/printing/smbprint.newer95
1 files changed, 95 insertions, 0 deletions
diff --git a/examples/printing/smbprint.newer b/examples/printing/smbprint.newer
new file mode 100755
index 00000000000..a741fd7078d
--- /dev/null
+++ b/examples/printing/smbprint.newer
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+# This script is an input filter for printcap printing on a unix machine. It
+# uses the smbclient program to print the file to the specified smb-based
+# server and service.
+# For example you could have a printcap entry like this
+#
+# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint
+#
+# which would create a unix printer called "smb" that will print via this
+# script. You will need to create the spool directory /usr/spool/smb with
+# appropriate permissions and ownerships for your system.
+
+# Set these to the server and service you wish to print to
+# In this example I have a WfWg PC called "lapland" that has a printer
+# exported called "printer" with no password.
+
+#
+# Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton)
+# so that the server, service, and password can be read from
+# a /usr/var/spool/lpd/PRINTNAME/.config file.
+#
+# Script further modified by Richard Sharpe to fix some things.
+# Get rid of the -x on the first line, and add parameters
+#
+# -t now causes translate to be used when sending files
+#
+# In order for this to work the /etc/printcap entry must include an
+# accounting file (af=...):
+#
+# cdcolour:\
+# :cm=CD IBM Colorjet on 6th:\
+# :sd=/var/spool/lpd/cdcolour:\
+# :af=/var/spool/lpd/cdcolour/acct:\
+# :if=/usr/local/etc/smbprint:\
+# :mx=0:\
+# :lp=/dev/null:
+#
+# The /usr/var/spool/lpd/PRINTNAME/.config file should contain:
+# server=PC_SERVER
+# service=PR_SHARENAME
+# password="password"
+#
+# E.g.
+# server=PAULS_PC
+# service=CJET_371
+# password=""
+
+#
+# Debugging log file, change to /dev/null if you like.
+#
+logfile=/tmp/smb-print.log
+# logfile=/dev/null
+
+
+#
+# The last parameter to the filter is the accounting file name.
+# Extract the directory name from the file name.
+# Concat this with /.config to get the config file.
+#
+TRANS=0
+eval acct_file=\${$#}
+spool_dir=`dirname $acct_file`
+config_file=$spool_dir/.config
+
+# Should read the following variables set in the config file:
+# server
+# service
+# password
+eval `cat $config_file`
+
+while getopts t c; do
+ case $c in
+ t)
+ TRANS=1
+ ;;
+
+ '?') # Bad parameters, ignore it ...
+ ;;
+ esac
+done
+#
+# Some debugging help, change the >> to > if you want to same space.
+#
+echo "server $server, service $service" >> $logfile
+
+(
+# NOTE You may wish to add the line `echo translate' if you want automatic
+# CR/LF translation when printing.
+ if [ $TRANS -eq 1 ]; then
+ echo translate
+ fi
+ echo "print -"
+ cat
+) | /usr/local/samba/bin/smbclient "//$server/$service" $password -U $server -N -P >> $logfile