summaryrefslogtreecommitdiffstats
path: root/usr.bin/cvs/server.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Replace <sys/param.h> with <limits.h> and other less dirty headers wherederaadt2015-01-161-20/+20
| | | | | | | | | possible. Annotate <sys/param.h> lines with their current reasons. Switch to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where sensible to avoid pulling in the pollution. These are the files confirmed through binary verification. ok guenther, millert, doug (helped with the verification protocol)
* An internal function called xrealloc() is actually a fail-hardderaadt2014-12-011-3/+3
| | | | reallocarray()... so rename it.
* Reduce variable/function name and whitespace differences betweenray2010-07-231-6/+6
| | | | | | cvs/rcs. OK xsa zinovik
* bleh, do not force the client to support certain responses.joris2009-04-181-6/+8
| | | | | | | | this fixes annotate on our cvsweb. the cvsweb script does very funky things in order to get the job done, but hey we should support it. i'm shocked nobody noticed annotate wasnt working, djees. found by jacekm@
* with the recent module-expand changes, we need to usejoris2009-04-101-13/+3
| | | | | | | | the correct repository path in Set-sticky and Clear-sticky otherwise we'll end up with stuff like src/bin/ls/src/bin/ls in CVS/Repository which pretty much breaks. noticed & ok sthen@
* don't try to free stuff we shouldnt free, really.joris2009-04-041-6/+1
|
* properly expand modules if requested by the client,joris2009-04-041-1/+26
| | | | | | | | | | | | | this option is needed so gnu cvs clients can play along properly when running checkout <module> in a remote setup. if we do not support this, gnu cvs refuses to send us any existing files already on disk and opencvs will consider everything as NEEDS_CHECKOUT, instead of running an update on existing stuff. problem noticed by fgsch@ commited with opencvs, but please everybody else do not use opencvs to commit yet.
* kill unused varsjoris2009-03-191-3/+1
|
* properly register Questionable files using CVS/Entries server-sidejoris2009-03-191-1/+15
| | | | in order for them to show up as "? foobar" when opencvs is in server mode.
* correct Set-sticky and Clear-sticky responses tojoris2009-02-211-9/+11
| | | | | | | include the right repository path. we messed up some cvs implementations by doing this incorrectly.
* make these compile cleanlyjoris2008-07-081-2/+2
|
* don't always re-open the same CVS/Entries file, instead keep thejoris2008-06-141-4/+1
| | | | | | | | | | | | last opened CVS/Entries around to operate on and close it whenever we switch directory. gives us a small performance boost, obviously. while doing this, switch the way we write revisions to disk by using fwrite(3) so stuff can get written to disk in chunks instead of writing everything line by line, another win. with help from otto@ ok tobias@
* completely kill the need for TMP_DIR when running checkout,joris2008-06-121-2/+12
| | | | | | | | | | | | | | which gives us better performance among other things. this is however disabled in a few cases: 1) whenever you run checkout over an existing tree (which acts as update) 2) whenever you specify -d or a module alias we're planning on enabling this behaviour for case 2 in the future. anoncvs sysadmins now love us even more. ok tobias@
* We have a cvs_buf_puts implementation now, also use cvs_buf_putc insteadtobias2008-06-101-4/+3
| | | | | | of cvs_buf_append where appropiate. ok joris
* Don't limit ourselfs when it comes to arguments on command line ortobias2008-05-281-6/+7
| | | | | | arguments sent by client. ok joris
* We have to check if server_argc is 1 instead of lesser than 0 to see iftobias2008-05-061-2/+2
| | | | | | an Argumentx directive has been sent to server without prior Argument. ok joris, xsa
* Use a fixed string in case of vasprintf() error instead of relying ontobias2008-04-241-2/+2
| | | | | | | strerror(). Although our vasprintf() sets errno, we cannot rely on it on other systems. ok ray (who spotted this issue), xsa
* Properly check memory allocation in client code. While at it, unifiedtobias2008-04-181-3/+5
| | | | | | | | vasprintf() check across OpenCVS code base. Based on a diff by Jacek Masiulaniec. ok (and unification requested by) xsa
* Cleanup buf implementation:tobias2008-02-111-2/+2
| | | | | | | | | | | | * Don't check for NULL on buffer creation, because it calls fatal() when something's wrong. * All buffers are supposed to expand if there is no space left in them, so zap flags as well. * Remove code that is now dead. OK joris@ > Inspired by a diff from Igor Zinovik about unchecked return value.
* Introduce cvs_ent_line_str() - formats CVS/Entries lines.xsa2008-02-091-4/+7
| | | | OK tobias@.
* Added rdiff support. In order to do this, some output and option fixestobias2008-02-031-1/+13
| | | | | | had to be done for diff, too. OK joris@
* better CVSROOT/module support, includes remote support and modulesjoris2008-02-031-5/+16
| | | | | | that are not aliases (-a); OK tobias@
* Added rannotate supporttobias2008-02-011-1/+13
| | | | OK xsa@
* Zap trailing whitespaces.xsa2008-01-311-2/+2
|
* Replaced the unused cvs_command variable cmd_req with cmd_flags, which statestobias2008-01-311-2/+20
| | | | | | | | | | | if the current command is supposed to use a working directory or if it is a repository-only command (as of now checkout -p, rtag, rlog). Makes the code simpler, easier to read and automagically fixes some issues we encountered with these commands (for example if a working directory exists, or "." operations are performed). OK joris@, niallo@
* Fixed function name in fatal calls. While at it, adjusted style.tobias2008-01-291-5/+7
| | | | > Diff from Igor Zinovik
* Fixed export to be fully functional and compliant to GNU cvs in local andtobias2008-01-211-1/+11
| | | | | | remote setups. OK xsa@
* Added support for rtag in local and remote setups (with interoperabilitytobias2008-01-101-1/+12
| | | | | | with GNU cvs). Basically we already had rtag in place as tag is supposed to work with revisions in working directory, but our implementation was wrong. Fixed that on the fly as well.
* Got cvs_server_rlog back into shape.tobias2008-01-101-10/+2
|
* Parse CVSROOT/config and set umask on server-side, too.tobias2007-11-091-1/+5
|
* better branching/sticky tag support, no branch commits yet though.joris2007-09-221-5/+3
|
* we no longer create a 0 sized file in our /tmp/cvs-serv<pid> serverjoris2007-09-221-15/+12
| | | | | | | directory when a client sends us info about a file that is up to date. instead, remember the file is up to date in our CVS/Entries. Saves us a lot of headaches on very big trees like src/
* Do not use global option -V (GNU cvs doesn't understand it), be verytobias2007-09-071-4/+7
| | | | | | verbose per default on server-side instead. OK joris@
* OpenCVS server init-support with OpenCVS and GNU cvs clients.tobias2007-09-021-3/+9
| | | | OK joris@
* Stick at GNU cvs behaviour with Root directive handling: it does not needtobias2007-09-021-2/+21
| | | | | | | to be sent first, can occure multiple times (although this is ignored) but should be supplied before Directory. OK joris@
* more typos in error messages; from Igor Zinovik.xsa2007-08-281-3/+3
|
* support ArgumentX - unbreaks more gnu cvs client things.joris2007-08-231-1/+13
|
* Rework the way opencvs works in relation to files in the Attic/:joris2007-07-031-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, files in the 'Attic/' were linked into our filelist as being 'Attic/filename,v' this caused unneeded stress on certain functions like cvs_file_classify() who had to do pointer voodoo to split out the 'Attic/' part and do other very weird stuff to normalize the pathname of these files. Instead, we handle these files early in the start when we build the fileslist in cvs_repository_getdir(). When encountering the 'Attic/' directory, we recurse in it if required but instead of using the 'Attic/' directory component as our base directory we stick with the directory name where 'Attic/' resides in, resulting in the correct filename while maintaining the correct RCSpath for the file. This made the following things a lot easier: (and in most cases actually fixed the below points) - status with files in Attic/. - checking out HEAD repositories with files in Attic/. - checking out repositories with -rTAG. - updating with -rTAG. and as an added bonus the following now also works: - correctly creating CVS/Tag in both local and remote mode thus allowing update/status/and more to work correctly with the tagged tree. (thanks to the correct handling of -rTAG cases). - resetting tags with opencvs -A properly works too now. This is a major step forward into the usability of OpenCVS when it comes to maintaining multiple tagged trees, the next logical step would be to fix commiting to branches. enjoy you -stable cowards. tested by myself, xsa, niallo and ckuethe thanks guys!
* Server-side bits for release command.xsa2007-06-291-1/+12
|
* have the server be more strict about the requests the clientjoris2007-06-271-1/+5
| | | | | | | | | sends that need a 'Directory' request first, so we do not end up with very weird and possibly insecure behaviour. more soon! ok niallo@ ray@ xsa@
* add support for cvs rlog.niallo2007-06-261-1/+20
| | | | | | from Mickey. ok joris@ ray@
* Don't double xstrdup.ray2007-06-061-3/+2
| | | | | | From mickey. ``i made a booboo'' joris, OK niallo and xsa.
* Fix off-by-one, from Tobias Stoeckmann.ray2007-05-271-3/+2
| | | | OK niallo@
* It is not the job of cvs_server_send_response() to do error checking.ray2007-05-261-16/+2
| | | | | | Also remove unused variable. OK niallo@
* Remove redundant xsnprintf calls.ray2007-05-261-8/+5
| | | | OK niallo@
* Call fatal() if we are missing an argument. From Tobias Stoeckmann.ray2007-05-251-2/+25
| | | | OK niallo@.
* Check vasprintf for failure.ray2007-05-251-2/+3
| | | | OK niallo@.
* general includes cleanup sweep. ok joris@ niallo@otto2007-02-221-4/+9
|
* cvs_path_cat() removal since we can now easily handle thatxsa2007-02-171-13/+7
| | | | | functionality w/ xsnprintf(); Initial diff started by thib@. OK thib@ joris@.
* snprintf() -> xsnprintf()xsa2007-01-311-13/+4
|