-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: urcd action: commit revision: path_from: revision_from: c61636fe2507c090c9c528027f63a54ea951404a: path_to: revision_to:
commit c61636fe2507c090c9c528027f63a54ea951404a Author: root <root@administrator.(none)> Date: Mon Mar 3 03:02:06 2014 +0000 [src/urc*.c] bugfix (struct sockaddr_un *) (thanks epoch) diff --git a/README b/README
--- a/README +++ b/README @@ -333,3 +333,4 @@ logging URC services: supervise /path/to/urcd-service/log 2>/dev/null & disown sleep 4 svstat /path/to/urcd-service/log + svc -t /path/to/urcd-service/ diff --git a/src/urchub.c b/src/urchub.c
--- a/src/urchub.c +++ b/src/urchub.c @@ -72,7 +72,7 @@ main(int argc, char **argv) if (userlen > UNIX_PATH_MAX) exit(5); memcpy(&sock.sun_path,user,userlen); unlink(sock.sun_path); - if (bind(sockfd,(struct sockaddr *)&sock,sizeof(sock))<0) exit(6); + if (bind(sockfd,(struct sockaddr_un *)&sock,sizeof(sock))<0) exit(6); int strlen_recvpath; struct sockaddr_un recvpath; @@ -88,7 +88,7 @@ main(int argc, char **argv) while (1) { bzero(recvpath.sun_path,UNIX_PATH_MAX); - n = recvfrom(sockfd,buffer,65536,0,(struct sockaddr *)&recvpath,&recvpath_len); + n = recvfrom(sockfd,buffer,65536,0,(struct sockaddr_un *)&recvpath,&recvpath_len); if (!n) continue; if (n<0) sock_close(7); if (n!=2+16+8+buffer[0]*256+buffer[1]) continue; @@ -108,7 +108,7 @@ main(int argc, char **argv) if ((sendpath_len == strlen_recvpath) && (!memcmp(sendpath->d_name,recvpath.sun_path,strlen_recvpath))) continue; bzero(sendpaths.sun_path,UNIX_PATH_MAX); memcpy(&sendpaths.sun_path,sendpath->d_name,sendpath_len); - sendto(sockfd,buffer,n,MSG_DONTWAIT,(struct sockaddr *)&sendpaths,sizeof(sendpaths)); + sendto(sockfd,buffer,n,MSG_DONTWAIT,(struct sockaddr_un *)&sendpaths,sizeof(sendpaths)); } closedir(root); } } diff --git a/src/urcrecv.c b/src/urcrecv.c
--- a/src/urcrecv.c +++ b/src/urcrecv.c @@ -85,7 +85,7 @@ main(int argc, char **argv) if (pathlen > UNIX_PATH_MAX) continue; bzero(paths.sun_path,UNIX_PATH_MAX); memcpy(&paths.sun_path,path->d_name,pathlen); - sendto(sockfd,buffer,n,0,(struct sockaddr *)&paths,sizeof(paths)); + sendto(sockfd,buffer,n,0,(struct sockaddr_un *)&paths,sizeof(paths)); } closedir(root); } diff --git a/src/urcsend.c b/src/urcsend.c
--- a/src/urcsend.c +++ b/src/urcsend.c @@ -57,7 +57,7 @@ main(int argc, char **argv) if (n > UNIX_PATH_MAX) exit(4); memcpy(&sock.sun_path,user,n); unlink(sock.sun_path); - if (bind(sockfd,(struct sockaddr *)&sock,sizeof(sock))<0) exit(5); + if (bind(sockfd,(struct sockaddr_un *)&sock,sizeof(sock))<0) exit(5); struct sockaddr_un path; path.sun_family = AF_UNIX; @@ -66,7 +66,7 @@ main(int argc, char **argv) while (1) { bzero(path.sun_path,UNIX_PATH_MAX); - n = recvfrom(sockfd,buffer,1024,0,(struct sockaddr *)&path,&path_len); + n = recvfrom(sockfd,buffer,1024,0,(struct sockaddr_un *)&path,&path_len); if (!n) continue; if (n<0) sock_close(6); if (!path_len) continue; diff --git a/src/urcstream.c b/src/urcstream.c
--- a/src/urcstream.c +++ b/src/urcstream.c @@ -71,7 +71,7 @@ main(int argc, char **argv) if (userlen > UNIX_PATH_MAX) exit(4); memcpy(&sock.sun_path,user,userlen); unlink(sock.sun_path); - if (bind(sockfd,(struct sockaddr *)&sock,sizeof(sock))<0) exit(5); + if (bind(sockfd,(struct sockaddr_un *)&sock,sizeof(sock))<0) exit(5); struct pollfd fds[2]; fds[0].fd = rd; fds[0].events = POLLIN | POLLPRI; @@ -108,7 +108,7 @@ main(int argc, char **argv) if ((pathlen == userlen) && (!memcmp(path->d_name,user,userlen))) continue; bzero(paths.sun_path,UNIX_PATH_MAX); memcpy(&paths.sun_path,path->d_name,pathlen); - sendto(sockfd,buffer,n,MSG_DONTWAIT,(struct sockaddr *)&paths,sizeof(paths)); + sendto(sockfd,buffer,n,MSG_DONTWAIT,(struct sockaddr_un *)&paths,sizeof(paths)); } closedir(root); } diff --git a/src/urcstream2hub.c b/src/urcstream2hub.c
--- a/src/urcstream2hub.c +++ b/src/urcstream2hub.c @@ -79,7 +79,7 @@ main(int argc, char **argv) if (userlen > UNIX_PATH_MAX) exit(7); memcpy(&sock.sun_path,user,userlen+1); unlink(sock.sun_path); - if (bind(sockfd,(struct sockaddr *)&sock,sizeof(sock.sun_family)+userlen)<0) exit(8); + if (bind(sockfd,(struct sockaddr_un *)&sock,sizeof(sock.sun_family)+userlen)<0) exit(8); struct pollfd fds[2]; fds[0].fd = urcstreamout[0]; fds[0].events = POLLIN | POLLPRI; @@ -109,7 +109,7 @@ main(int argc, char **argv) taia_now(buffer+2); taia_pack(buffer+2,buffer+2); if (read(devurandom,buffer+2+16,8)<8) sock_close(10); - if (sendto(sockfd,buffer,2+16+8+n,MSG_DONTWAIT,(struct sockaddr *)&hub,sizeof(hub))<0) usleep(250000); + if (sendto(sockfd,buffer,2+16+8+n,MSG_DONTWAIT,(struct sockaddr_un *)&hub,sizeof(hub))<0) usleep(250000); } urcwrite: while (poll(fds+1,1,0))
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 14:59:51 2024