diff options
author | Joris Vink <joris@cvs.openbsd.org> | 2007-09-10 14:06:15 +0000 |
---|---|---|
committer | Joris Vink <joris@cvs.openbsd.org> | 2007-09-10 14:06:15 +0000 |
commit | e617d3130f4ee9ff3df5781cfc30d5a8c8d9a52c (patch) | |
tree | dca8c3c27957b2046770d407d5398e5ddbcaeca3 | |
parent | b14b87d182b30166aaaee000506e869c4d1ebe8a (diff) |
Allow port specification in our CVSROOT which is used for our
ssh connection to our server.
Example: joris@somehost.com:2222:/cvs
OK tobias@
-rw-r--r-- | usr.bin/cvs/client.c | 7 | ||||
-rw-r--r-- | usr.bin/cvs/cvs.h | 4 | ||||
-rw-r--r-- | usr.bin/cvs/root.c | 6 |
3 files changed, 12 insertions, 5 deletions
diff --git a/usr.bin/cvs/client.c b/usr.bin/cvs/client.c index c93d95bbadc..0902ef60bc0 100644 --- a/usr.bin/cvs/client.c +++ b/usr.bin/cvs/client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: client.c,v 1.77 2007/09/07 19:36:05 tobias Exp $ */ +/* $OpenBSD: client.c,v 1.78 2007/09/10 14:06:14 joris Exp $ */ /* * Copyright (c) 2006 Joris Vink <joris@openbsd.org> * @@ -234,6 +234,11 @@ cvs_client_connect_to_server(void) argv[argc++] = current_cvsroot->cr_user; } + if (current_cvsroot->cr_port != NULL) { + argv[argc++] = "-p"; + argv[argc++] = current_cvsroot->cr_port; + } + argv[argc++] = current_cvsroot->cr_host; argv[argc++] = cmd; argv[argc++] = "server"; diff --git a/usr.bin/cvs/cvs.h b/usr.bin/cvs/cvs.h index 8c6d7d6742f..693ace54f6a 100644 --- a/usr.bin/cvs/cvs.h +++ b/usr.bin/cvs/cvs.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cvs.h,v 1.143 2007/09/04 19:07:03 tobias Exp $ */ +/* $OpenBSD: cvs.h,v 1.144 2007/09/10 14:06:14 joris Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -208,7 +208,7 @@ struct cvsroot { char *cr_pass; char *cr_host; char *cr_dir; - u_int cr_port; + char *cr_port; /* connection data */ u_int cr_flags; diff --git a/usr.bin/cvs/root.c b/usr.bin/cvs/root.c index b7e49870709..9ca716e0596 100644 --- a/usr.bin/cvs/root.c +++ b/usr.bin/cvs/root.c @@ -1,4 +1,4 @@ -/* $OpenBSD: root.c,v 1.41 2007/09/02 12:13:00 tobias Exp $ */ +/* $OpenBSD: root.c,v 1.42 2007/09/10 14:06:14 joris Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau <jfb@openbsd.org> * All rights reserved. @@ -133,10 +133,12 @@ cvsroot_parse(const char *str) pp = strchr(sp, ':'); if (pp != NULL) { *(pp++) = '\0'; - root->cr_port = strtonum(pp, 1, 65535, &errstr); + + i = strtonum(pp, 1, 65535, &errstr); if (errstr != NULL) fatal("port specification in CVSROOT is %s", errstr); + root->cr_port = pp; } root->cr_host = sp; |