GDOMAP(8)
π¦ GDOMAP π¦
okay bestie, gather round, because this is the GNUstep Distributed Objects name server and it's honestly iconic. it lives in the GNUstep System Manual section 8, and yes we're doing the whole thing, no skimming, periodt π
β¨ SYNOPSIS β¨
gdomap [-C|-H] [-I pidfile] [-L name] [-M name] [-N] [-P number] [-R name] [-S] [-T type] [-U name] [-a file] [-c file] [-d] [-f] [-i seconds] [-j path] [-p]
πΈ DESCRIPTION πΈ
so gdomap β the daemon β is what GNUstep programs use to look up distributed objects of processes running across the network (and also between different user accounts on one single machine, yes even then π«Ά).
big caveat incoming: the daemon is NOT used for lookup when two processes belonging to the same user are using a host-local connection. like, not at all. noted? good.
this manual page explains how to actually use gdomap. but if you want the design and implementation tea (plus special notes for packagers π), go read the HTML documentation installed in $GNUSTEP_SYSTEM_DOC, under Command-line Tools.
usually the gdomap daemon gets started at system boot time and binds itself to port 538. see the GNUstep Build Guide for a sample startup script. slay.
by default, gdomap probes every machine on the local network to see if there's a copy of gdomap running on it π it really said "let me check everyone". this is done for class-C networks and subnets of class-C networks. if your host is on a class-B or class-A net, the default behaviour is to treat it as a class-C net and probe only the hosts that would be expected on a class-C network of the same number. lowkey wild.
if you're running on a class-A or class-B network, or your net has a large number of hosts that will not have gdomap on them β you may want to supply a configuration file listing the hosts to be probed explicitly, rather than making gdomap probe all hosts on the local net. much more chill.
you may also want to supply the configuration file so that hosts which are not actually on your local network can still be found when your code tries to connect to a host using @"*" as the host name. NB. this functionality does not exist in OpenStep. okay so keep that in mind π
a configuration file consists of a list of IP addresses to be probed. the IP addresses should be in standard 'dot' notation, one per line. empty lines are permitted in the configuration file. anything on a line after a hash (#) is ignored. you tell gdomap about the config file with the -c command line option. cute, right?
gdomap uses the SIOCGIFCONF ioctl to build a list of IP addresses and netmasks for the network interface cards on your machine. on some operating systems this facility is not available (or is broken π), so you must tell gdomap the addresses and masks of the interfaces using the -a command line option. the file named with -a should contain a series of lines with space separated pairs of addresses and masks in 'dot' notation.
You must NOT include loopback interfaces in this list. not me warning you twice, i'm just looking out π«Ά
if you want to support broadcasting of probe information on a network, you may supply the broadcast address as a third item on the line. and if your operating system has some other method of giving you a list of network interfaces and masks, please send me example code so that I can implement it in gdomap. bestie the author is literally asking for help, iconic behaviour.
π OPTIONS π
-Cβ help about configuration-Hβ general help-Iβ pid file to write pid-L nameβ perform lookup for name, then quit. in and out, no notes.-M nameβ machine name for-Land-N-Nβ list all names registered on host-P numberβ port number required for the-Roption.-R nameβ register name locally, then quit.-S-Sβ list the addresses of allgdomapservers known to host-T typeβ port type for the-L,-Rand-Uoptions βtcp_gdo,udp_gdo,tcp_foreign,udp_foreign.-U nameβ unregister name locally, then quit.-a fileβ use config file for interface list.-c fileβ use config file for probe.-dβ extra debug logging (normally via syslog).-fβ avoidfork()to make debugging easy-i secondsβ re-probe at this interval (roughly), min 60-j pathβ place the process in a chroot jail at this path rather than in/tmp-pβ disable probing for other servers
π FILES π
use the -c option to specify a configuration file for gdomap. see under DESCRIPTION for possible configurations. yes we're sending you back up there, it's all there i promise π
π DIAGNOSTICS π
kill with SIGUSR1 to obtain a dump of all known peers in /tmp/gdomap.dump π
gdomap -N lists all registered names on the local host.
π§ SEE ALSO π§
gdomap -C gives above instructions on how to set up gdomap.
the GNUstep Build Guide example rc script: <http://gnustep.made-it.com/BuildGuide/index.html#GNUSTEP.SERVICES>
β HISTORY β
work on gdomap started in October 1996. an elder. a legend. π₯
this manual page first appeared in gnustep-base 1.7.1 (June 2003).
π AUTHORS π
gdomap was written by Richard Frith-Macdonald <rfm@gnu.org>
this manual page was put together by Martin Brecher <martin@mb-itconsulting.com>.
and that's the whole page babes β straight from the GNUstep System Manual, dated August 2003, and it ate, no crumbs πβ¨π¦ go forth and probe responsibly, mwah π«Ά
π¦ where this page comes from
- arch rolling: gnustep-base 1.31.1-3 Β· GPL-2.0-only AND GPL-3.0-only AND LGPL-2.1-only
- debian bookworm: gnustep-base-runtime 1.28.1+really1.28.0-5 Β· LGPL-2.1-or-later
- debian trixie: gnustep-base-common 1.31.1-3 Β· LGPL-2.1-or-later
- epel 9: gnustep-base 1.28.0-3.el9 Β· GPLv3+ and LGPLv2+
- fedora 43: gnustep-base 1.31.0-7.fc43 Β· GPL-3.0-or-later AND LGPL-2.0-or-later
- fedora 44: gnustep-base 1.31.0-8.fc44 Β· GPL-3.0-or-later AND LGPL-2.0-or-later
- nixos 26.05: gnustep-base 1.29.0
- nixpkgs unstable: gnustep-base 1.29.0
- opensuse-leap 16.0: gnustep-base 1.31.1-160000.2.2 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: gnustep-base 1.31.1-160000.2.2 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: gnustep-base 1.31.1-160000.2.2 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: gnustep-base 1.31.1-160000.2.2 Β· GPL-3.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: gnustep-base-runtime 1.28.0-4build1 Β· LGPL-2.1-or-later
- ubuntu noble: gnustep-base-runtime 1.29.0-7ubuntu4 Β· LGPL-2.1-or-later
- ubuntu questing: gnustep-base-common 1.31.1-4ubuntu1
- ubuntu resolute: gnustep-base-common 1.31.1-4ubuntu2 Β· LGPL-2.1-or-later
- ubuntu stonking: gnustep-base-common 1.31.1-4ubuntu2 Β· LGPL-2.1-or-later
- Copyright (C) 2005 Free Software Foundation, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms