Commit message (Collapse)AuthorAgeFilesLines
* [make] Fix installed permissionsHEADmasterNathan Straz2015-07-101-14/+14
| | | | | | systemd doesn't like the service and socket files being executable. Fix the permissions on the man pages while we're at it. Perserve time stamps of all files too.
* Bump version for new releaseNathan Straz2014-09-161-1/+6
* [qarsh] Add recv_packet with selects and hbeatNathan Straz2014-09-051-1/+67
| | | | | | | | There was an issue when we rebooted a node via qarsh. The packet size would make it back from qarshd, but none of the data so we would get stuck in a read(). We needed to avoid a blocking read() and check for a heart beat while we wait for the rest of the packet.
* [qarsh] Mark the node alive after we get a packetNathan Straz2014-09-051-6/+5
* [qarsh] Remove extra ':' from error messageNathan Straz2014-09-051-1/+1
* Bump version for another new release todayNathan Straz2014-08-201-1/+4
* Fix old changelog entryNathan Straz2014-08-201-1/+1
* [sockutil] Handle EINTR in send/recv_packetNathan Straz2014-08-201-0/+4
| | | | | | | When we caused system calls not to be restarted on SIGCHLD for select() in qarshd, we also allowed all system calls to be interrupted, including read() and write() in recv/send_packet(). Go back through the loop when we are interrupted.
* Bump version for new releaseNathan Straz2014-08-201-1/+4
* [sockutil] Rewrite send_packet() so it retriesNathan Straz2014-08-201-11/+24
| | | | | | If the writev() returned less than expected, we would never check it. In order to make retrying the write simpler, I modelled the new send_packet() after recv_packet().
* Bump version for new releaseNathan Straz2014-07-221-1/+7
* [qarshd] Fix timeout when child exitsNathan Straz2014-07-221-2/+8
| | | | | | | | | We ran into an issue where qarsh would wait for 3 seconds after a command ran. This was traced back to the select() in handle_qarsh() being restarted when SIGCHLD was received. I moved the waitpid() to just before the select() and turned off the signal restart. This closes those timing windows and allows qarshd to quickly finish after the child exits.
* Include host name in reboot and host down messagesNathan Straz2014-02-252-7/+5
| | | | | | | After a long running command or when multiple qarsh processes are running in parallel, it's hard to know which host is having trouble when a "Remote host rebooted" message shows up. Include the host name in these message to make them more informative.
* Add -T option as a no-opNathan Straz2014-02-251-1/+3
| | | | | | This is an option from ssh which disables pseudo-tty allocation. Since we don't allocate them in the first place, we're compatible with it.
* Don't check childfds after we've closed one.Nathan Straz2013-12-191-3/+3
| | | | This was hitting easily on RHEL5 systems
* Bump version for new releaseNathan Straz2013-12-091-1/+4
* Need to remove optional policy from the rule tooNathan Straz2013-11-221-1/+5
* Remove child signal handlingNathan Straz2013-10-041-19/+5
| | | | | Instead of moving the setup for SIGCHLD handling, I'm removing it. waitpid() isn't that expensive and we know the pid we are waiting for.
* Make dynamic domtrans optionalNathan Straz2013-10-031-1/+1
| | | | | The example from our SELinux devs used this construct so we're going to follow suit.
* Bump version for qacp changesNathan Straz2013-10-021-1/+5
* Prevent copying multiple files over one remote fileNathan Straz2013-10-021-40/+15
| | | | | Also drop the rstat of the parent directory, just let the remote side send us an error.
* Handle errors better in qacpNathan Straz2013-10-022-44/+65
| | | | | | | Pass errors up from the transfer functions so we can keep track of errors and continue trying to transfer all files. Make output more consistent and all on stderr.
* Clean up command line options and usageNathan Straz2013-10-021-19/+9
| | | | We never did support recursive copy and probably never will.
* Handle short writes during qacp receiveNathan Straz2013-10-021-15/+17
* Add a warning in qarsh about btimedNathan Straz2013-10-021-0/+3
| | | | | | If we don't get a heart beat when qarsh starts, print a warning to check on the btimed service. Commands could be stopped early if it doesn't produce any output and qarsh thinks the host is down.
* Remove unused variablesNathan Straz2013-10-021-5/+0
* Remove stat cache which isn't used anymoreNathan Straz2013-10-021-13/+0
* Remove offset from data packetNathan Straz2013-10-025-73/+11
| | | | | We really don't need this field since we always copy data sequentially.
* Rewrite qacp receive file to handle all packetsNathan Straz2013-10-022-52/+106
* Rewrite send file to handle all packetsNathan Straz2013-10-022-52/+81
| | | | | | | | | This change breaks the qacp protocol! Before there was a chance we would exit before receiving and checking all packets from qarshd. Now we look at all packets and check them. Use data allow packets and larger buffers. Handle errors on the write end.
* Don't let systemd block SIGPIPE on usNathan Straz2013-09-231-0/+1
| | | | | | | We do ignore SIGPIPE inside qarshd so we can handle the error and continue. We do want commands we run to receive SIGPIPE by default so they may die if they don't handle SIGPIPE.
* Bump version for new featuresNathan Straz2013-09-231-1/+5
* Change ack type to uint8 like it is in the packet headerNathan Straz2013-09-201-2/+2
* Only print an error if we didn't hit a broken pipeNathan Straz2013-09-191-3/+6
* Handle stdin pipe closing on usNathan Straz2013-09-193-3/+15
| | | | | | | If xiogen is flooding requests across qarsh and xdoio decides to stop, we need to handle that gracefully. Also, making the pipe non-blocking was not a good idea, xdoio gets the read error EAGAIN and stops there.
* Fix typoNathan Straz2013-09-191-1/+1
* Add reasonable log prioritiesNathan Straz2013-09-192-27/+28
* Reduce size of some fields sent on the wireNathan Straz2013-09-191-6/+28
| | | | | We don't need 32bits for packet type or remote fd. Keeping the field small also helps with reading traces.
* Close qacp_fd in the function that openned it.Nathan Straz2013-09-191-2/+1
| | | | | We are already closing it in recvfiles because we could create multiple connections. This caused us to close the fd twice.
* Creat a thin logging layerNathan Straz2013-09-195-29/+70
| | | | | | | When qarshd is run via xinetd, stderr still goes out the socket and messages from sockutil.c or qarsh_packet.c can interfere with the protocol. Create a thin wrapper which qacp and qarsh can send to stderr and qarshd can send to syslog.
* Clean up compiler warning on psbufNathan Straz2013-09-191-2/+2
* Check all returns from send_packet in qarshNathan Straz2013-09-171-8/+41
* Add a loop around getting the packet sizeNathan Straz2013-09-171-10/+11
| | | | Believe it or not, we can get short reads here.
* Don't block writing to child's stdinNathan Straz2013-09-171-2/+2
* Don't free basename pointer, it wasn't malloc'dNathan Straz2013-09-171-1/+0
* Say something if we can't write to stdoutNathan Straz2013-09-171-0/+2
* Remove host from hbeat structNathan Straz2013-09-171-2/+0
| | | | | Since we keep a socket open we don't need this anymore and freeing it causes problems.
* Remove unused utility functionsNathan Straz2013-09-172-104/+0
* Increase buffer and packet sizesNathan Straz2013-09-164-7/+7
| | | | | | | | | This coordinates the buffer sizes with the max packet size. qarshd and qarsh will probably break if this value does not match between client and server builds. Also increase the value to reduce overhead. A max packet size of 16k only yields 40MB/s. Increase that to 128k and we can do 500MB/s.
* Only check if stdin is a tty onceNathan Straz2013-09-161-1/+2