1e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET/***************************************************************************
2e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                                  _   _ ____  _
3e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *  Project                     ___| | | |  _ \| |
4e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                             / __| | | | |_) | |
5e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                            | (__| |_| |  _ <| |___
6e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *                             \___|\___/|_| \_\_____|
7e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
8e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * Copyright (C) 1998 - 2012, Daniel Stenberg, <daniel@haxx.se>, et al.
9e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
10e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * This software is licensed as described in the file COPYING, which
11e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * you should have received as part of this distribution. The terms
12e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * are also available at http://curl.haxx.se/docs/copyright.html.
13e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
14e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * copies of the Software, and permit persons to whom the Software is
16e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * furnished to do so, under the terms of the COPYING file.
17e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
18e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET * KIND, either express or implied.
20e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET *
21e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET ***************************************************************************/
22e6cd738ed3716c02557fb3a47515244e949ade39Bertrand SIMONNET#include "curl_setup.h"
239bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
249bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#include "curl_gethostname.h"
259bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
269bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels#define HOSTNAME_MAX 1024
279bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
289bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckelsint main(int argc, char *argv[])
299bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels{
309bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  char buff[HOSTNAME_MAX];
319bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  if (argc != 2) {
329bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    printf("Usage: %s EXPECTED_HOSTNAME\n", argv[0]);
339bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    return 1;
349bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  }
359bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
369bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  if (Curl_gethostname(buff, HOSTNAME_MAX)) {
379bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    printf("Curl_gethostname() failed\n");
389bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    return 1;
399bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  }
409bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels
419bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  /* compare the name returned by Curl_gethostname() with the expected one */
429bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  if(strncmp(buff, argv[1], HOSTNAME_MAX)) {
439bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    printf("got unexpected host name back, LD_PRELOAD failed\n");
449bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels    return 1;
459bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  }
469bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels  return 0;
479bd90e6e25f1e55f50201c87a1b5837de7e5b64aLucas Eckels}
48