Exemple #1
0
static int
get_file_name (char *buf, int len, int qtype, unsigned char *s) {
    char str[1024];
    int fd = -1;
     if (qtype < 1 || qtype > 41)
	return 1;
    s = (unsigned char *) try_reverse_in_arpa ((char *) s);
    sprintf(str, "%s/%s/%s/%s", "/", hex_hash (s), s, qtype_name[qtype]);
    if (*s) {
	if ( (fd = open(str, O_RDONLY)) != -1 ) {
		snprintf (buf, len, "/%s/%s/%s", hex_hash (s), s, qtype_name[qtype]);
		close(fd);
  	} else {
		snprintf (buf, len, "/default/%s", qtype_name[qtype]);
  	}
     } else {
	snprintf (buf, len, "/%s", qtype_name[qtype]);
    };
    free (s);
    return 0; }
Exemple #2
0
int
main (int argc, char **argv) {
    if (argc > 1) {
	char buf[1024];
	int l;
	unsigned char *s;
	s = (unsigned char *) hex_hash ((unsigned char *) argv[1]);
	snprintf (buf, sizeof (buf), SHEERDNS_DIR "/%s/%s", s, argv[1]);
	mkdir (buf, 0700);
	l = strlen ((char *) s);
	write (1, s, l);
	write (1, "\n", 1); }
    return 0; }