</para>
<para>
-If you known any assembly language then do a <userinput>disass</userinput> of the routine
+If you know any assembly language then do a <userinput>disass</userinput> of the routine
where the problem occurred (if its in a library routine then
disassemble the routine that called it) and try to work out exactly
where the problem is by looking at the surrounding code. Even if you
The best sort of bug report is one that includes a fix! If you send us
patches please use <userinput>diff -u</userinput> format if your version of
diff supports it, otherwise use <userinput>diff -c4</userinput>. Make sure
-your do the diff against a clean version of the source and let me know
+you do the diff against a clean version of the source and let me know
exactly what version you used.
</para>
</sect1>
<sect1>
-<title>CUPS as a network PostScript RIP -- CUPS drivers working on server, Adobe
-PostScript driver with CUPS-PPDs downloaded to clients</title>
+<title>CUPS as a network PostScript RIP</title>
+<para>
+This is the configuration where CUPS drivers are working on server, and where the
+Adobe PostScript driver with CUPS-PPDs is downloaded to clients.
+</para>
<para>
CUPS is perfectly able to use PPD files (PostScript
<para><programlisting>
<prompt>root# </prompt> <command>cupsaddsmb -U root infotec_IS2027</command>
-Password for root required to access localhost via SAMBA: <userinput>[type in password 'secret']</userinput>
+Password for root required to access localhost via
+SAMBA: <userinput>[type in password 'secret']</userinput>
</programlisting></para>
<para>
<prompt>root# </prompt> cupsaddsmb -v -U root infotec_IS2027
Password for root required to access localhost via SAMBA:
Running command: smbclient //localhost/print\$ -N -U'root%secret' -c 'mkdir W32X86;put
- /var/spool/cups/tmp/3cd1cc66376c0 W32X86/infotec_IS2027.PPD;put /usr/share/cups/drivers/
+ /var/spool/cups/tmp/3cd1cc66376c0 W32X86/infotec_IS2027.PPD;put
+ /usr/share/cups/drivers/
ADOBEPS5.DLL W32X86/ADOBEPS5.DLL;put /usr/share/cups/drivers/ADOBEPSU.DLLr
W32X86/ADOBEPSU.DLL;put /usr/share/cups/drivers/ADOBEPSU.HLP W32X86/ADOBEPSU.HLP'
added interface ip=10.160.16.45 bcast=10.160.31.255 nmask=255.255.240.0
added interface ip=172.16.200.1 bcast=172.16.200.255 nmask=255.255.255.0
Domain=[TUX-NET] OS=[Unix] Server=[Samba 2.2.3a.200204262025cvs]
NT_STATUS_OBJECT_NAME_COLLISION making remote directory \W32X86
- putting file /var/spool/cups/tmp/3cd1cc66376c0 as \W32X86/infotec_IS2027.PPD (17394.6 kb/s)
- (average 17395.2 kb/s)
- putting file /usr/share/cups/drivers/ADOBEPS5.DLL as \W32X86/ADOBEPS5.DLL (10877.4 kb/s)
- (average 11343.0 kb/s)
- putting file /usr/share/cups/drivers/ADOBEPSU.DLL as \W32X86/ADOBEPSU.DLL (5095.2 kb/s)
- (average 9260.4 kb/s)
- putting file /usr/share/cups/drivers/ADOBEPSU.HLP as \W32X86/ADOBEPSU.HLP (8828.7 kb/s)
- (average 9247.1 kb/s)
+ putting file /var/spool/cups/tmp/3cd1cc66376c0 as
+ \W32X86/infotec_IS2027.PPD (17394.6 kb/s) (average 17395.2 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPS5.DLL as
+ \W32X86/ADOBEPS5.DLL (10877.4 kb/s) (average 11343.0 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPSU.DLL as
+ \W32X86/ADOBEPSU.DLL (5095.2 kb/s) (average 9260.4 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPSU.HLP as
+ \W32X86/ADOBEPSU.HLP (8828.7 kb/s) (average 9247.1 kb/s)
Running command: smbclient //localhost/print\$ -N -U'root%secret' -c 'mkdir WIN40;put
/var/spool/cups/tmp/3cd1cc66376c0 WIN40/infotec_IS2027.PPD;put
added interface ip=172.16.200.1 bcast=172.16.200.255 nmask=255.255.255.0
Domain=[TUX-NET] OS=[Unix] Server=[Samba 2.2.3a.200204262025cvs]
NT_STATUS_OBJECT_NAME_COLLISION making remote directory \WIN40
- putting file /var/spool/cups/tmp/3cd1cc66376c0 as \WIN40/infotec_IS2027.PPD (26091.5 kb/s)
- (average 26092.8 kb/s)
- putting file /usr/share/cups/drivers/ADFONTS.MFM as \WIN40/ADFONTS.MFM (11241.6 kb/s)
- (average 11812.9 kb/s)
- putting file /usr/share/cups/drivers/ADOBEPS4.DRV as \WIN40/ADOBEPS4.DRV (16640.6 kb/s)
- (average 14679.3 kb/s)
- putting file /usr/share/cups/drivers/ADOBEPS4.HLP as \WIN40/ADOBEPS4.HLP (11285.6 kb/s)
- (average 14281.5 kb/s)
- putting file /usr/share/cups/drivers/DEFPRTR2.PPD as \WIN40/DEFPRTR2.PPD (823.5 kb/s)
- (average 12944.0 kb/s)
- putting file /usr/share/cups/drivers/ICONLIB.DLL as \WIN40/ICONLIB.DLL (19226.2 kb/s)
- (average 13169.7 kb/s)
- putting file /usr/share/cups/drivers/PSMON.DLL as \WIN40/PSMON.DLL (18666.1 kb/s)
- (average 13266.7 kb/s)
-
- Running command: rpcclient localhost -N -U'root%secret' -c 'adddriver "Windows NT x86"
- "infotec_IS2027:ADOBEPS5.DLL:infotec_IS2027.PPD:ADOBEPSU.DLL:ADOBEPSU.HLP:NULL:RAW:NULL"'
- cmd = adddriver "Windows NT x86" "infotec_IS2027:ADOBEPS5.DLL:infotec_IS2027.PPD:ADOBEPSU.DLL:
+ putting file /var/spool/cups/tmp/3cd1cc66376c0 as
+ \WIN40/infotec_IS2027.PPD (26091.5 kb/s) (average 26092.8 kb/s)
+ putting file /usr/share/cups/drivers/ADFONTS.MFM as
+ \WIN40/ADFONTS.MFM (11241.6 kb/s) (average 11812.9 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPS4.DRV as
+ \WIN40/ADOBEPS4.DRV (16640.6 kb/s) (average 14679.3 kb/s)
+ putting file /usr/share/cups/drivers/ADOBEPS4.HLP as
+ \WIN40/ADOBEPS4.HLP (11285.6 kb/s) (average 14281.5 kb/s)
+ putting file /usr/share/cups/drivers/DEFPRTR2.PPD as
+ \WIN40/DEFPRTR2.PPD (823.5 kb/s) (average 12944.0 kb/s)
+ putting file /usr/share/cups/drivers/ICONLIB.DLL as
+ \WIN40/ICONLIB.DLL (19226.2 kb/s) (average 13169.7 kb/s)
+ putting file /usr/share/cups/drivers/PSMON.DLL as
+ \WIN40/PSMON.DLL (18666.1 kb/s) (average 13266.7 kb/s)
+
+ Running command: rpcclient localhost -N -U'root%secret'
+ -c 'adddriver "Windows NT x86"
+ "infotec_IS2027:ADOBEPS5.DLL:infotec_IS2027.PPD:ADOBEPSU.DLL:
+ ADOBEPSU.HLP:NULL:RAW:NULL"'
+ cmd = adddriver "Windows NT x86"
+ "infotec_IS2027:ADOBEPS5.DLL:infotec_IS2027.PPD:ADOBEPSU.DLL:
ADOBEPSU.HLP:NULL:RAW:NULL"
Printer Driver infotec_IS2027 successfully installed.
- Running command: rpcclient localhost -N -U'root%secret' -c 'adddriver "Windows 4.0"
- "infotec_IS2027:ADOBEPS4.DRV:infotec_IS2027.PPD:NULL:ADOBEPS4.HLP:PSMON.DLL:RAW:
- ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL"'
- cmd = adddriver "Windows 4.0" "infotec_IS2027:ADOBEPS4.DRV:infotec_IS2027.PPD:NULL:
- ADOBEPS4.HLP:PSMON.DLL:RAW:ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL"
+ Running command: rpcclient localhost -N -U'root%secret'
+ -c 'adddriver "Windows 4.0"
+ "infotec_IS2027:ADOBEPS4.DRV:infotec_IS2027.PPD:NULL:
+ ADOBEPS4.HLP:PSMON.DLL:RAW: ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL"'
+ cmd = adddriver "Windows 4.0" "infotec_IS2027:ADOBEPS4.DRV:
+ infotec_IS2027.PPD:NULL:ADOBEPS4.HLP:PSMON.DLL:RAW:
+ ADFONTS.MFM,DEFPRTR2.PPD,ICONLIB.DLL"
Printer Driver infotec_IS2027 successfully installed.
Running command: rpcclient localhost -N -U'root%secret'
<listitem><para>
the Adobe drivers (depending on the printer PPD associated with them)
often put a PJL header in front of the core PostScript part of the print
- file (thus the file starts with "<replaceable>1B</replaceable>%-12345X" or "<replaceable>escape</replaceable>%-12345X"
+ file (thus the file starts with "<replaceable>1B</replaceable>%-12345X"
+ or "<replaceable>escape</replaceable>%-12345X"
instead of "%!PS"). This leads to the CUPS daemon autotyping the
arriving file as a print-ready file, not requiring a pass thru the
"pstops" filter (to speak more technical, it is not regarded as the
<para>
You can also access the source code via a
-normal cvs client. This gives you much more control over you can
+normal cvs client. This gives you much more control over what you can
do with the repository and allows you to checkout whole source trees
and keep them up to date via normal cvs commands. This is the
preferred method of access if you are a developer and not
</para>
<para>
- CVS branches other HEAD can be obtained by using the <parameter>-r</parameter>
+ CVS branches other then HEAD can be obtained by using the <parameter>-r</parameter>
and defining a tag name. A list of branch tag names can be found on the
"Development" page of the samba web site. A common request is to obtain the
latest 2.2 release code. This could be done by using the following userinput.
Do NOT use the <command>bind interfaces only</command> parameter where you
may wish to
use the samba password change facility, or where &smbclient; may need to
-access local service for name resolution or for local resource
+access a local service for name resolution or for local resource
connections. (Note: the <command>bind interfaces only</command> parameter deficiency
where it will not allow connections to the loopback address will be
fixed soon).
<para>
If your PC and server aren't on the same subnet then you will need to
-use the <parameter>-B</parameter> option to set the broadcast address to the that of the PCs
+use the <parameter>-B</parameter> option to set the broadcast address to that of the PCs
subnet.
</para>
<title>Integrating MS Windows networks with Samba</title>
<para>
-This section deals with NetBIOS over TCP/IP name to IP address resolution. If you
+This section deals with NetBIOS over TCP/IP name to IP address resolution. If
your MS Windows clients are NOT configured to use NetBIOS over TCP/IP then this
section does not apply to your installation. If your installation involves use of
NetBIOS over TCP/IP then this section may help you to resolve networking problems.
file and the DNS records do not provide the NetBIOS name type information
that MS Windows clients depend on to locate the type of service that may
be needed. An example of this is what happens when an MS Windows client
-wants to locate a domain logon server. It find this service and the IP
+wants to locate a domain logon server. It finds this service and the IP
address of a server that provides it by performing a lookup (via a
NetBIOS broadcast) for enumeration of all machines that have
registered the name type *<1c>. A logon request is then sent to each
2000 in <filename>C:\WINNT\SYSTEM32\DRIVERS\ETC</filename> and contains
the IP Address and the machine name in matched pairs. The
<filename>LMHOSTS</filename> file performs NetBIOS name
-to IP address mapping oriented.
+to IP address mapping.
</para>
<para>
<para>
This capability is configured in the TCP/IP setup area in the network
configuration facility. If enabled an elaborate name resolution sequence
-is followed the precise nature of which isdependant on what the NetBIOS
+is followed the precise nature of which is dependant on what the NetBIOS
Node Type parameter is configured to. A Node Type of 0 means use
NetBIOS broadcast (over UDP broadcast) is first used if the name
that is the subject of a name lookup is not found in the NetBIOS name
<title>Samba-3 as the Trusting Domain</title>
<para>
-In order to set Samba PDC to be trusted party of the relationship first you need
+In order to set the Samba PDC to be the trusted party of the relationship first you need
to create special account for the domain that will be the trusting party. To do that,
you can use the 'smbpasswd' utility. Creating the trusted domain account is very
similiar to creating a trusted machine account. Suppose, your domain is
After issuing this command you'll be asked to enter the password for
the account. You can use any password you want, but be aware that Windows NT will
not change this password until 7 days following account creation.
-After the command returns successfully, you can look at the entry for new account
-(in the way depending on your configuration) and see that account's name is
+After the command returns successfully, you can look at the entry for the new account
+(in the stardard way depending on your configuration) and see that account's name is
really RUMBA$ and it has 'I' flag in the flags field. Now you're ready to confirm
the trust by establishing it from Windows NT Server.
</para>
</para>
<para>
-The password can be arbitrarily chosen. It is easy to change it the password
-from Samba server whenever you want. After confirming the password your account is
+The password can be arbitrarily chosen. It is easy to change the password
+from the Samba server whenever you want. After confirming the password your account is
ready for use. Now it's Samba's turn.
</para>
<para>
You will be prompted for the password you just typed on your Windows NT4 Server box.
-Don not worry if you see an error message that mentions a returned code of
+Do not worry if you see an error message that mentions a returned code of
<errorname>NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT</errorname>. It means the
password you gave is correct and the NT4 Server says the account is
ready for interdomain connection and not for ordinary
<para>Ability to implement a full single-signon architecture</para>
</listitem>
<listitem>
- <para>Ability to distribute authentication systems for absolute minimum wide are network bandwidth demand</para>
+ <para>Ability to distribute authentication systems for absolute minimum wide area network bandwidth demand</para>
</listitem>
</itemizedlist>
Watch out for Tattoo effect
User and Group Profiles
- Platform specific so use platform tool to change from a Local to a Roaming profile
- Can use new profiles tool to change SIDs (NTUser.DAT)
+ Platform specific so use platform tool to change from a Local
+ to a Roaming profile Can use new profiles tool to change SIDs
+ (NTUser.DAT)
Logon Scripts (Know how they work)
Use 'net groupmap' to connect NT4 groups to Unix groups
Use pdbedit to set/change user configuration
NOTE:
-If migrating to LDAP back end it may be easier to dump initial LDAP database to LDIF, then edit, then reload into LDAP
+If migrating to LDAP back end it may be easier to dump initial LDAP database
+to LDIF, then edit, then reload into LDAP
OS specific scripts / programs may be needed
Add / delete Users
Applied only to domain members (note up to 16 chars)
Add / delete Groups
Note OS limits on size and nature
- Linux limit is 16 char, no spaces and no upper case chars (groupadd)
+ Linux limit is 16 char,
+ no spaces and no upper case chars (groupadd)
Migration Tools
Domain Control (NT4 Style)
<title>Macintosh clients?</title>
<para>
-Yes. <ulink url="http://www.thursby.com/">Thursby</ulink> now have a CIFS Client / Server called DAVE - see
+Yes. <ulink url="http://www.thursby.com/">Thursby</ulink> now have a CIFS Client / Server called <ulink url="http://www.thursby.com/products/dave.html">DAVE</ulink>
</para>
<para>
If the PAM authentication module (loadable link library file) is located in the
default location then it is not necessary to specify the path. In the case of
Linux, the default location is <filename>/lib/security</filename>. If the module
- is located other than default then the path may be specified as:
+ is located outside the default then the path must be specified as:
<programlisting>
auth required /other_path/pam_strange_module.so
maintains an open connection, and therefore there will be an smbd
process running (assuming that you haven't set a really short smbd
idle timeout) So, in between pressing ctrl alt delete, and actually
-typing in your password, you can gdb attach and continue.
+typing in your password, you can attach gdb and continue.
</para>
<para>
Installing netmon on an NT workstation requires a couple
of steps. The following are for installing Netmon V4.00.349, which comes
with Microsoft Windows NT Server 4.0, on Microsoft Windows NT
-Workstation 4.0. The process should be similar for other version of
+Workstation 4.0. The process should be similar for other versions of
Windows NT / Netmon. You will need both the Microsoft Windows
NT Server 4.0 Install CD and the Workstation 4.0 Install CD.
</para>
</para>
<para>
-Not only that, but <userinput>net use/home</userinput> will also work, because of a feature in
+Not only that, but <userinput>net use /home</userinput> will also work, because of a feature in
Windows 9x / Me. It removes any directory stuff off the end of the home directory area
and only uses the server and share portion. That is, it looks like you
specified \\%L\%U for <command>logon home</command>.
Disable: Only Allow Local User Profiles
Disable: Prevent Roaming Profile Change from Propogating to the Server
- </programlisting><para>
+ </programlisting>
+ </para>
</listitem>
<listitem><para>
<para>
When a new user first logs onto MS Windows 200x/XP machine the default profile is obtained from
<filename>C:\Documents and Settings\Default User</filename>. The administrator can modify (or change
-the contents of this location and MS Windows 200x/XP will gladly user it. This is far from the optimum
+the contents of this location and MS Windows 200x/XP will gladly use it. This is far from the optimum
arrangement since it will involve copying a new default profile to every MS Windows 200x/XP client
workstation.
</para>
<note>
<para>
This path translates, in Samba parlance, to the smb.conf [NETLOGON] share. The directory
- should be created at the root of this share and msut be called <filename>Default Profile</filename>.
+ should be created at the root of this share and must be called <filename>Default Profile</filename>.
</para>
</note>
</para>
<para>
-Those wishing to modify the default behaviour can do so through up to three methods:
+Those wishing to modify the default behaviour can do so through three methods:
</para>
<itemizedlist>
<para>
It makes a huge difference to the speed of handling roaming user profiles if all the folders are
stored on a dedicated location on a network server. This means that it will NOT be necessary to
-write Outlook PST file over the network for every login and logout.
+write the Outlook PST file over the network for every login and logout.
</para>
<para>
<title>Share Settings</title>
<para>
-To affect a currenly configured share, simple click on the pull down button between the
+To affect a currenly configured share, simply click on the pull down button between the
<emphasis>Choose Share</emphasis> and the <emphasis>Delete Share</emphasis> buttons,
-select the share you wish to operation on, then to edit the settings click on the
+select the share you wish to operate on, then to edit the settings click on the
<emphasis>Choose Share</emphasis> button, to delete the share simply press the
<emphasis>Delete Share</emphasis> button.
</para>
<title>Printers Settings</title>
<para>
-To affect a currenly configured printer, simple click on the pull down button between the
+To affect a currenly configured printer, simply click on the pull down button between the
<emphasis>Choose Printer</emphasis> and the <emphasis>Delete Printer</emphasis> buttons,
-select the printer you wish to operation on, then to edit the settings click on the
+select the printer you wish to operate on, then to edit the settings click on the
<emphasis>Choose Printer</emphasis> button, to delete the share simply press the
<emphasis>Delete Printer</emphasis> button.
</para>
<title>The Password Change Page</title>
<para>
-The Password Change page is a popular tool. This tool allows to creation, deletion, deactivation
+The Password Change page is a popular tool. This tool allows the creation, deletion, deactivation
and reactivation of MS Windows networking users on the local machine. Alternatively, you can use
this tool to change a local password for a user account.
</para>
At startup the client and server negotiate a <command>maximum transmit</command> size,
which limits the size of nearly all SMB commands. You can set the
maximum size that Samba will negotiate using the <command>max xmit = </command> option
-in &smb.conf;. Note that this is the maximum size of SMB request that
+in &smb.conf;. Note that this is the maximum size of SMB requests that
Samba will accept, but not the maximum size that the *client* will accept.
The client maximum receive size is sent to Samba by the client and Samba
honours this limit.
<sect2>
<title>recycle</title>
<para>
-A recycle-bin like modules. When used any unlink call
+A recycle-bin like module. When used any unlink call
will be intercepted and files moved to the recycle
-directory instead of beeing deleted.
+directory instead of being deleted.
</para>
<para>Supported options:
<para>Advantages compared to the old netatalk module:
<simplelist>
-<member>it doesn't care about creating of .AppleDouble forks, just keeps ones in sync</member>
+<member>it doesn't care about creating of .AppleDouble forks, just keeps them in sync</member>
<member>if share in smb.conf doesn't contain .AppleDouble item in hide or veto list, it will be added automatically</member>
</simplelist>
</para>
<para>
This section contains a listing of various other VFS modules that
have been posted but don't currently reside in the Samba CVS
-tree for one reason ot another (e.g. it is easy for the maintainer
+tree for one reason or another (e.g. it is easy for the maintainer
to have his or her own CVS tree).
</para>
<para>
-No statemets about the stability or functionality any module
+No statemets about the stability or functionality of any module
should be implied due to its presence here.
</para>
identifier:username column - varchar(255) - unix username
identifier:domain column - varchar(255) - NT domain user is part of
identifier:nt username column - varchar(255) - NT username
-identifier:fullname column - varchar(255) - Full name of user
+identifier:fullname column - varchar(255) - Full name of user
identifier:home dir column - varchar(255) - Unix homedir path
-identifier:dir drive column - varchar(2) - Directory drive path (eg: 'H:')
-identifier:logon script column - varchar(255) - Batch file to run on client side when logging on
+identifier:dir drive column - varchar(2) - Directory drive path (eg: 'H:')
+identifier:logon script column - varchar(255)
+ - Batch file to run on client side when logging on
identifier:profile path column - varchar(255) - Path of profile
identifier:acct desc column - varchar(255) - Some ASCII NT user data
-identifier:workstations column - varchar(255) - Workstations user can logon to (or NULL for all)
+identifier:workstations column - varchar(255)
+ - Workstations user can logon to (or NULL for all)
identifier:unknown string column - varchar(255) - unknown string
identifier:munged dial column - varchar(255) - ?
identifier:uid column - int(9) - Unix user ID (uid)
</para>
<para>
-If you would like to use plaintext passwords, set 'identifier:lanman pass column' and 'identifier:nt pass column' to 'NULL' (without the quotes) and 'identifier:plain pass column' to the name of the column containing the plaintext passwords.
+If you would like to use plaintext passwords, set
+'identifier:lanman pass column' and 'identifier:nt pass column' to
+'NULL' (without the quotes) and 'identifier:plain pass column' to the
+name of the column containing the plaintext passwords.
</para>
<para>
-If you use encrypted passwords, set the 'identifier:plain pass column' to 'NULL' (without the quotes). This is the default.
+If you use encrypted passwords, set the 'identifier:plain pass
+column' to 'NULL' (without the quotes). This is the default.
</para>
</sect2>
<para>This module requires libxml2 to be installed.</para>
<para>The usage of pdb_xml is pretty straightforward. To export data, use:
+</para>
-<userinput>pdbedit -e xml:filename</userinput>
+<para>
+ <userinput>pdbedit -e xml:filename</userinput>
+</para>
+<para>
(where filename is the name of the file to put the data in)
</para>
<para>
To import data, use:
<userinput>pdbedit -i xml:filename -e current-pdb</userinput>
-
+</para>
+<para>
Where filename is the name to read the data from and current-pdb to put it in.
</para>
</sect1>
<para>
The above will only allow SMB connections from 'localhost' (your own
computer) and from the two private networks 192.168.2 and
-192.168.3. All other connections will be refused connections as soon
+192.168.3. All other connections will be refused as soon
as the client sends its first packet. The refusal will be marked as a
'not listening on called name' error.
</para>
your host over a PPP interface called 'ppp0' then they will get a TCP
connection refused reply. In that case no Samba code is run at all as
the operating system has been told not to pass connections from that
-interface to any process.
+interface to any samba process.
</para>
</sect1>
</para>
<para>
-A standardised multibyte charset is unicode, info available at
+A standardised multibyte charset is unicode, info is available at
<ulink url="http://www.unicode.org/">www.unicode.org</ulink>.
-Big advantage of using a multibyte charset is that you only need one; no
+A big advantage of using a multibyte charset is that you only need one; no
need to make sure two computers use the same charset when they are
communicating.
</para>