# # # patch "src/administrator.cc" # from [dbdeeea9509a0dc87349d77d75b168e9d946f185] # to [73fc5c58b6837f79d97ec7c8421285aff4063e1b] # # patch "src/sock.cc" # from [4168bdc9aa2604bb125c62222345a67005f2f42f] # to [03b2e91be9c7c475fe1b87133368bf56f6fc1ca3] # # patch "src/usher.cc" # from [c35156c1e5bd129e2d920df6ccc24a14b94a2376] # to [4ab2b2748559ab38ce87f336a964e11eb1fdfa4a] # # patch "test/run-tests.sh" # from [0d7abfea70d63ced232512edd0f578c7a65fd960] # to [e729c2ca845fbe9f6c34fe20b14ea3a153ca10ba] # # patch "test/test1/script.txt" # from [d4354fe960c9683da2bd37f14c7ecc2e574649c6] # to [4a9bfacbd8cbb34c591ceef0d385290db2b4bac4] # # patch "test/test1/usher.conf" # from [e6a1128ffea536620f37b18dededc0c1487739de] # to [242f16c8a5b3d125705a775647984ce8dd7a1020] # # patch "test/usher.conf.head" # from [0e840f1cd9c3b9e0ac0937be7c10c955475f1506] # to [d479dcdec95e3c8b457cf26b0b53638bf592c8c5] # ============================================================ --- src/administrator.cc dbdeeea9509a0dc87349d77d75b168e9d946f185 +++ src/administrator.cc 73fc5c58b6837f79d97ec7c8421285aff4063e1b @@ -24,6 +24,7 @@ using boost::lexical_cast; #include #include #include +#include namespace defaults { @@ -273,8 +274,9 @@ administrator::process_selected(fd_set & struct sockaddr_in addr; unsigned int l = sizeof(addr); memset(&addr, 0, l); - sock nc = tosserr(accept4(port, (struct sockaddr *) - &addr, &l, SOCK_NONBLOCK), "accept()"); + sock nc = tosserr(accept(port, (struct sockaddr *) + &addr, &l), "accept()"); + tosserr(fcntl(nc, F_SETFL, O_NONBLOCK), "fcntl()"); conns.push_back(make_pair(cstate(), nc)); } catch(errstr & s) { cerr<<"During new admin connection: "< #include #include +#include using std::set; using std::string; @@ -143,7 +144,8 @@ start(string const & addr, int port) sock start(string const & addr, int port) { - sock s = tosserr(socket(AF_INET, SOCK_STREAM | SOCK_NONBLOCK, 0), "socket()"); + sock s = tosserr(socket(AF_INET, SOCK_STREAM, 0), "socket()"); + tosserr(fcntl(s, F_SETFL, O_NONBLOCK), "fcntl()"); int yes = 1; tosserr(setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(yes)), "setsockopt"); ============================================================ --- src/usher.cc c35156c1e5bd129e2d920df6ccc24a14b94a2376 +++ src/usher.cc 4ab2b2748559ab38ce87f336a964e11eb1fdfa4a @@ -22,6 +22,7 @@ #include #include #include +#include #include #include @@ -174,8 +175,9 @@ int main (int argc, char **argv) struct sockaddr_in client_address; unsigned int l = sizeof(client_address); memset(&client_address, 0, l); - sock cli = tosserr(accept4(admin.serverport, (struct sockaddr *) - &client_address, &l, SOCK_NONBLOCK), "accept()"); + sock cli = tosserr(accept(admin.serverport, (struct sockaddr *) + &client_address, &l), "accept()"); + tosserr(fcntl(cli, F_SETFL, O_NONBLOCK), "fcntl()"); if (manager.get_connections_allowed()) newchan = new channel(cli, manager); else { ============================================================ --- test/run-tests.sh 0d7abfea70d63ced232512edd0f578c7a65fd960 +++ test/run-tests.sh e729c2ca845fbe9f6c34fe20b14ea3a153ca10ba @@ -29,7 +29,7 @@ msg_usher() { msg_usher() { # see usher.conf.head for address - { echo "USERPASS user pass"; echo "$@"; } | socat tcp:127.0.4.2:12345 stdio + { echo "USERPASS user pass"; echo "$@"; } | socat tcp:127.0.0.1:23345 stdio } serve() { @@ -43,7 +43,7 @@ client() { local pattern="$3" [ -e $database.mtn ] || $mtn db init -d $database.mtn # see usher.conf.head for address - $mtn --root=. -d $database.mtn $what 127.0.3.1:8691 $pattern & + $mtn --root=. -d $database.mtn $what 127.0.0.1:8691 $pattern & CLIENTS="$CLIENTS $!" } ============================================================ --- test/test1/script.txt d4354fe960c9683da2bd37f14c7ecc2e574649c6 +++ test/test1/script.txt 4a9bfacbd8cbb34c591ceef0d385290db2b4bac4 @@ -1,4 +1,4 @@ -serve example 127.1.1.87:25436 +serve example 127.0.0.1:25436 multipull 3 net.prjek.separate multipull 3 net.prjek.{fnord,foobar} ============================================================ --- test/test1/usher.conf e6a1128ffea536620f37b18dededc0c1487739de +++ test/test1/usher.conf 242f16c8a5b3d125705a775647984ce8dd7a1020 @@ -11,5 +11,5 @@ pattern "org.example" server "example" host "example.org" pattern "org.example" -remote "127.1.1.87:25436" +remote "127.0.0.1:25436" ============================================================ --- test/usher.conf.head 0e840f1cd9c3b9e0ac0937be7c10c955475f1506 +++ test/usher.conf.head d479dcdec95e3c8b457cf26b0b53638bf592c8c5 @@ -1,6 +1,6 @@ userpass "user" "pass" userpass "user" "pass" -listenaddr "127.0.3.1:8691" -automateaddr "127.0.1.1:55662" -adminaddr "127.0.4.2:12345" +listenaddr "127.0.0.1:8691" +automateaddr "127.0.0.1:55662" +adminaddr "127.0.0.1:23345" monotone "mtn" logdir "server-logs"