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