ToC DocOverview CGDoc RelNotes FAQ Index PermutedIndex
Allegro CL version 11.0

acl-socket variables


*dns-configured*

variable, acl-socket package

The value of this variable is true after the dns module has been manually configured or has automatically configured itself and as a result knows of at least one nameserver to contact. The variable is automatically set to nil after Lisp starts (or an image restarts) so that the dns module will configure itself for the current environment of the process. If you move a portable computer from one network to another or otherwise wish the dns module to autoconfigure itself the next time it is used, you can set this variable to nil.

See dns.html for information on the domain naming system utility in Allegro CL and see socket.html for general information on sockets in Allegro CL.


*dns-domain*

variable, acl-socket package

The value of this variable may be nil or a string naming the domain of the current machine (e.g. "franz.com"). Ideally this would be set by (configure-dns :auto t) but the information isn't always available. Thus a program shouldn't count on this being non-nil. A user program is permitted to set this variable.

See dns.html for information on the domain naming system utility in Allegro CL and see socket.html for general information on sockets in Allegro CL.


*dns-mode*

variable, acl-socket package

This variable can have the value :clib or :acldns or a list of one or both of those symbols. The initial value is the list (:acldns :clib).

The value of this variable controls whether the C library functions or Allegro CL DNS functionality are used for calls to lookup-hostname and ipaddr-to-hostname. Using Allegro CL DNS functionality means calls are made to dns-lookup-hostname and dns-ipaddr-to-hostname.

If the value of this variable is either :acldns or the list (:acldns) then lookup-hostname and ipaddr-to-hostname use Allegro CL DNS functionality.

If the value of this variable is either :clib or the list (:clib) then lookup-hostname and ipaddr-to-hostname use the C library functions to do the dns lookup.

If the value of this variable is a list containing both :clib and :acldns (in any order), then the Allegro CL DNS functionality is used first and then, if that fails, the C library functions are used.

Before calling an Allegro CL DNS function, a check is made to see if the Allegro CL DNS module has been configured. If it hasn't been, then (configure-dns :auto t) is done (see configure-dns). If this auto configuration fails to find any nameservers then *dns-mode* is set to :clib so that there will be no further attempts to use the Allegro CL DNS module.

See dns.html for information on the domain naming system utility in Allegro CL and see socket.html for general information on sockets in Allegro CL.


*domain-search-list*

variable, acl-socket package

The value of this variable is a list of domain names to append to a given host name by dns-lookup-hostname. Ideally this would be set by (configure-dns :auto t) but the information isn't always available. Thus a program shouldn't count on this being non-nil. A user program is permitted to set this variable.

See dns.html for information on the domain naming system utility in Allegro CL and see socket.html for general information on sockets in Allegro CL.


*ipv6*

variable, acl-socket package

This variable controls the default behavior of lookup-hostname and make-socket.

The valid values are:

See socket.html for general information on sockets in Allegro CL.


*nameservers*

variable, acl-socket package

This variable contains a list of nameserver objects (of class dns-nameserver), once for each nameserver that the package will use for lookups. User code should not set this variable. It is set by configure-dns.

See dns.html for information on the domain naming system utility in Allegro CL and see socket.html for general information on sockets in Allegro CL.


*print-hostname-in-stream*

variable, acl-socket package

This variable controls whether the socket printing code converts the ip address of a socket into a hostname. This is usually what you want, however this can be a slow process (taking up to a minute to accomplish) and may not be doable when a machine is not connected o the net. The default value for this variable is t, meaning the conversion is done.

The default method for printing socket stream object includes printing the source and destination hostnames of the socket. The hostnames are found from the IP address stored in the socket object by first looking in Allegro's hostname lookup cache and if that does not yield results, using the lookup method specified in the machine's network configuration. The typical lookup method is DNS (Domain Name System). A DNS lookup usually completes quickly but can take up to a minute to succeed or fail, if there is network congestion. Sometimes machines with no network configuration are misconfigured to use DNS even though that can't possibly work without a network connection.

To prevent Allegro from attempting hostname lookup you can set the value of this variable to nil by evaluating a form like:

(setq socket::*print-hostname-in-stream* nil)

See socket.html for general information on sockets in Allegro CL.


*socket-version*

variable, acl-socket package

The value of this variable is a string naming the version of the socket interface. Please provide the value of this variable when asking for technical support with sockets as it tells us whether you have the latest version.

See socket.html for general information on sockets in Allegro CL.


*ssl-features*

variable, acl-socket package

The value is a list of keyword symbols. In release 10.1, the list will contains the single keyword :sni, which indicates that the :ssl module supports SNI (Server Name Indication, see en.wikipedia.org/wiki/Server_Name_Indication for more information). SSL client streams are created with acl-socket:make-ssl-client-stream.

This variable (and the symbol which names it) do not exist in versions prior to 10.1. Programs that wish to take advantage of this feature and are intended to work in versions earlier than 10.1 need to check for the existence of the symbol and check the value to avoid undefined variable errors.


Copyright (c) 2023, Franz Inc. Lafayette, CA., USA. All rights reserved.

ToC DocOverview CGDoc RelNotes FAQ Index PermutedIndex
Allegro CL version 11.0