X-Git-Url: https://git.decadent.org.uk/gitweb/?p=ap-utils.git;a=blobdiff_plain;f=lib%2Ffile.c;h=415cfcc64f3f84ed0c7b06fef996d1cbdd8b3ca1;hp=fa2746fc8d0c97bf1e88144c2180bd9a7c55c399;hb=17cd5711411f45df26b33c51288780627b7377e2;hpb=63444196dd1edb154f81d9418b3d0bc2367163e5 diff --git a/lib/file.c b/lib/file.c index fa2746f..415cfcc 100644 --- a/lib/file.c +++ b/lib/file.c @@ -32,6 +32,7 @@ extern char *ap_types[], *ap_vendorexts[][3]; extern short ap_type, ap_vendorext; extern struct in_addr ap_ip; extern int atmel410_filter; + #define MAX_LINES LINES-6 struct APList { @@ -140,20 +141,13 @@ int get_opts() { extern char *community; extern struct in_addr ap_ip; - extern int sockfd; - + char *home_dir, buf[1024], mess[64]; char message[50]; int c, fd, rval = 0, pos; signed int j, i, begin, end, record_num = 0; struct APList *first = NULL, *curr = NULL, *pmac; - struct sockaddr_in client; - - memset(&client, 0, sizeof client); - client.sin_family = AF_INET; - client.sin_port = INADDR_ANY; - client.sin_addr.s_addr = INADDR_ANY; if ((home_dir = getenv("HOME")) == NULL) return 0; @@ -246,14 +240,9 @@ int get_opts() strncpy(community, curr->passwd, i); ap_type = curr->type; ap_vendorext = curr->vendorext; - rval = 1; - if (sockfd) - close(sockfd); - - if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) - rval = 0; - if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1) + rval = 1; + if (reopen_sockfd() == -1) rval = 0; print_bottom(inet_ntoa(ap_ip)); @@ -282,14 +271,9 @@ int get_opts() strncpy(community, curr->passwd, i); ap_type = curr->type; ap_vendorext = curr->vendorext; - rval = 1; - if (sockfd) - close(sockfd); - if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) == -1) - rval = 0; - - if (bind(sockfd, (struct sockaddr *) &client, SIZE) == -1) + rval = 1; + if (reopen_sockfd() == -1) rval = 0; print_bottom(inet_ntoa(ap_ip));