|
Lines 422-427
parse_token(const char *cp, const char *
Link Here
|
| 422 |
return sBadOption; |
422 |
return sBadOption; |
| 423 |
} |
423 |
} |
| 424 |
|
424 |
|
|
|
425 |
char * |
| 426 |
derelativise_path(const char *path) |
| 427 |
{ |
| 428 |
char *expanded, *ret, *cwd; |
| 429 |
|
| 430 |
debug3("XXX: %s", path); |
| 431 |
expanded = tilde_expand_filename(path, getuid()); |
| 432 |
if (*expanded == '/') |
| 433 |
return expanded; |
| 434 |
if ((cwd = getcwd(NULL, 0)) == NULL) |
| 435 |
fatal("%s: getcwd: %s", __func__, strerror(errno)); |
| 436 |
xasprintf(&ret, "%s/%s", cwd, expanded); |
| 437 |
xfree(cwd); |
| 438 |
xfree(expanded); |
| 439 |
debug3("XXX: %s", ret); |
| 440 |
return ret; |
| 441 |
} |
| 442 |
|
| 425 |
static void |
443 |
static void |
| 426 |
add_listen_addr(ServerOptions *options, char *addr, int port) |
444 |
add_listen_addr(ServerOptions *options, char *addr, int port) |
| 427 |
{ |
445 |
{ |
|
Lines 750-756
process_server_config_line(ServerOptions
Link Here
|
| 750 |
fatal("%s line %d: missing file name.", |
768 |
fatal("%s line %d: missing file name.", |
| 751 |
filename, linenum); |
769 |
filename, linenum); |
| 752 |
if (*activep && *charptr == NULL) { |
770 |
if (*activep && *charptr == NULL) { |
| 753 |
*charptr = tilde_expand_filename(arg, getuid()); |
771 |
*charptr = derelativise_path(arg); |
| 754 |
/* increase optional counter */ |
772 |
/* increase optional counter */ |
| 755 |
if (intptr != NULL) |
773 |
if (intptr != NULL) |
| 756 |
*intptr = *intptr + 1; |
774 |
*intptr = *intptr + 1; |