chiark / gitweb /
preload-hacks: Some patches to make it work.
[termux-packages] / packages / libadns / getprotoent.patch
1 diff -ru src.orig/src/event.c src/src/event.c
2 --- src.orig/src/event.c        2014-10-20 00:07:03.000000000 +0100
3 +++ src/src/event.c     2018-05-06 11:38:04.649495279 +0100
4 @@ -97,7 +97,6 @@
5  void adns__tcp_tryconnect(adns_state ads, struct timeval now) {
6    int r, fd, tries;
7    adns_rr_addr *addr;
8 -  struct protoent *proto;
9  
10    for (tries=0; tries<ads->nservers; tries++) {
11      switch (ads->tcpstate) {
12 @@ -115,13 +114,8 @@
13      assert(!ads->tcprecv.used);
14      assert(!ads->tcprecv_skip);
15  
16 -    proto= getprotobyname("tcp");
17 -    if (!proto) {
18 -      adns__diag(ads,-1,0,"unable to find protocol no. for TCP !");
19 -      return;
20 -    }
21      addr = &ads->servers[ads->tcpserver];
22 -    fd= socket(addr->addr.sa.sa_family, SOCK_STREAM, proto->p_proto);
23 +    fd= socket(addr->addr.sa.sa_family, SOCK_STREAM, IPPROTO_TCP);
24      if (fd<0) {
25        adns__diag(ads,-1,0,"cannot create TCP socket: %s",strerror(errno));
26        return;
27 Only in src/src: event.c~
28 diff -ru src.orig/src/setup.c src/src/setup.c
29 --- src.orig/src/setup.c        2014-10-26 12:03:40.000000000 +0000
30 +++ src/src/setup.c     2018-05-06 11:37:06.194241291 +0100
31 @@ -644,7 +644,6 @@
32  
33  static int init_finish(adns_state ads) {
34    struct sockaddr_in sin;
35 -  struct protoent *proto;
36    struct udpsocket *udp;
37    int i;
38    int r;
39 @@ -659,7 +658,6 @@
40      addserver(ads,(struct sockaddr *)&sin, sizeof(sin));
41    }
42  
43 -  proto= getprotobyname("udp"); if (!proto) { r= ENOPROTOOPT; goto x_free; }
44    ads->nudpsockets= 0;
45    for (i=0; i<ads->nservers; i++) {
46      if (adns__udpsocket_by_af(ads, ads->servers[i].addr.sa.sa_family))
47 @@ -667,7 +665,7 @@
48      assert(ads->nudpsockets < MAXUDP);
49      udp= &ads->udpsockets[ads->nudpsockets];
50      udp->af= ads->servers[i].addr.sa.sa_family;
51 -    udp->fd= socket(udp->af,SOCK_DGRAM,proto->p_proto);
52 +    udp->fd= socket(udp->af,SOCK_DGRAM,IPPROTO_UDP);
53      if (udp->fd < 0) { r= errno; goto x_free; }
54      ads->nudpsockets++;
55      r= adns__setnonblock(ads,udp->fd);
56 Only in src/src: setup.c~