[OPEN-ILS-DEV] transport_session.c: use of $HOSTNAME
Mike Rylander
mrylander at gmail.com
Sun Mar 9 18:44:17 EDT 2008
On Sun, Mar 9, 2008 at 5:10 PM, Bill Erickson <erickson at esilibrary.com> wrote:
>
> Scott McKellar wrote:
> > Similar questions apply to two other cases where we look for $HOSTNAME:
> >
> > 1. osrfChatMkAuthKey(), in osrf_chat.c
> >
> > 2. osrfSystemBootstrapClientResc(), in osrf_system.c
> >
> > Scott McKellar
> > http://home.swbell.net/mck9/ct/
> >
> > --- Scott McKellar <mck9 at swbell.net> wrote:
> >
> >
> >> In session_connect() we have have the following fragment:
> >>
> >> /* the first Jabber connect stanza */
> >> char* our_hostname = getenv("HOSTNAME");
> >> size1 = 150 + strlen( server );
> >> char stanza1[ size1 ];
> >> snprintf( stanza1, sizeof(stanza1),
> >> "<long message abbreviated here> %s %s",
> >> username, our_hostname );
> >>
> >> My first observation is that in calculating size1 we presumably
> >> should
> >> have used strlen(our_hostname), not strlen(server), since server is
> >> not included in the formatted stanza that we build.
> >>
> >> I could fix that myself. But what I'm writing about is the use of
> >> the environmental variable $HOSTNAME.
> >>
> >> Is there a reason why we don't get the host name by calling
> >> gethostname()?
> >>
> >> Normally the two methods will yield the same result. The difference
> >> is that the user can change the value of $HOSTNAME to anything he
> >> likes, or even unset it entirely. The resulting stanza that we
> >> build here will then be different accordingly. But gethostname() is
> >> not affected by changes in $HOSTNAME, as I confirmed by a little
> >> experimentation.
> >>
> >> Unless we want the user to be able to change the contents of this
> >> stanza, I suggest that we use gethostname(). Give me the go-ahead
> >> and I'll prepare a patch to do so
>
> Hi Scott,
>
> In each of these cases, the hostname is used for informational purpose
> or to seed a random string. gethostname() matches the original intent
> and, to me, looks cleaner. I say go for it for all of the mentioned
> instances.
Is there a need for these to match over time? If so, the environment
may be safer, since the result of gethostname() may change from one
call to the next, no?
--
Mike Rylander
| VP, Research and Design
| Equinox Software, Inc. / The Evergreen Experts
| phone: 1-877-OPEN-ILS (673-6457)
| email: miker at esilibrary.com
| web: http://www.esilibrary.com
More information about the Open-ils-dev
mailing list