From c20dccb5614c5714f4155dda01bcdebf97cfae7e Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Tue, 2 Aug 2016 09:44:25 +1000 Subject: Strip trailing whitespace. Mechanically strip trailing whitespace on files not synced with OpenBSD (or in the case of bsd-snprint.c, rsync). --- openbsd-compat/Makefile.in | 2 +- openbsd-compat/base64.h | 2 +- openbsd-compat/bsd-asprintf.c | 2 +- openbsd-compat/bsd-cray.c | 22 +++++++++++----------- openbsd-compat/bsd-cray.h | 2 +- openbsd-compat/bsd-cygwin_util.c | 4 ++-- openbsd-compat/bsd-misc.c | 12 ++++++------ openbsd-compat/bsd-misc.h | 2 +- openbsd-compat/bsd-nextstep.c | 2 +- openbsd-compat/bsd-openpty.c | 4 ++-- openbsd-compat/bsd-waitpid.c | 6 +++--- openbsd-compat/fake-rfc2553.c | 36 ++++++++++++++++++------------------ openbsd-compat/fake-rfc2553.h | 10 +++++----- openbsd-compat/openbsd-compat.h | 14 +++++++------- openbsd-compat/openssl-compat.c | 2 +- openbsd-compat/port-aix.c | 6 +++--- openbsd-compat/port-tun.c | 2 +- openbsd-compat/setproctitle.c | 10 +++++----- openbsd-compat/xcrypt.c | 4 ++-- openbsd-compat/xmmap.c | 2 +- 20 files changed, 73 insertions(+), 73 deletions(-) diff --git a/openbsd-compat/Makefile.in b/openbsd-compat/Makefile.in index aca9eba7..7f7368aa 100644 --- a/openbsd-compat/Makefile.in +++ b/openbsd-compat/Makefile.in @@ -36,7 +36,7 @@ libopenbsd-compat.a: $(COMPAT) $(OPENBSD) $(PORTS) $(RANLIB) $@ clean: - rm -f *.o *.a core + rm -f *.o *.a core distclean: clean rm -f Makefile *~ diff --git a/openbsd-compat/base64.h b/openbsd-compat/base64.h index 732c6b3f..0774ce2a 100644 --- a/openbsd-compat/base64.h +++ b/openbsd-compat/base64.h @@ -49,7 +49,7 @@ #ifndef HAVE___B64_NTOP # ifndef HAVE_B64_NTOP -int b64_ntop(u_char const *src, size_t srclength, char *target, +int b64_ntop(u_char const *src, size_t srclength, char *target, size_t targsize); # endif /* !HAVE_B64_NTOP */ # define __b64_ntop(a,b,c,d) b64_ntop(a,b,c,d) diff --git a/openbsd-compat/bsd-asprintf.c b/openbsd-compat/bsd-asprintf.c index 7b83448c..82236715 100644 --- a/openbsd-compat/bsd-asprintf.c +++ b/openbsd-compat/bsd-asprintf.c @@ -78,7 +78,7 @@ int asprintf(char **str, const char *fmt, ...) { va_list ap; int ret; - + *str = NULL; va_start(ap, fmt); ret = vasprintf(str, fmt, ap); diff --git a/openbsd-compat/bsd-cray.c b/openbsd-compat/bsd-cray.c index f1bbd7de..1528ab6e 100644 --- a/openbsd-compat/bsd-cray.c +++ b/openbsd-compat/bsd-cray.c @@ -1,10 +1,10 @@ -/* +/* * $Id: bsd-cray.c,v 1.17 2007/08/15 09:17:43 dtucker Exp $ * * bsd-cray.c * * Copyright (c) 2002, Cray Inc. (Wendy Palm ) - * Significant portions provided by + * Significant portions provided by * Wayne Schroeder, SDSC * William Jones, UTexas * @@ -268,7 +268,7 @@ cray_setup (uid_t uid, char *username, const char *command) usent.uname = username; usent.host = hostname; usent.ttyn = ttyn; - usent.caller = IA_SSHD; + usent.caller = IA_SSHD; usent.pswdlist = &pwdacm; usent.ueptr = &ue; usent.flags = IA_INTERACTIVE | IA_FFLAG; @@ -352,7 +352,7 @@ cray_setup (uid_t uid, char *username, const char *command) /* * These are failed return codes from ia_user() */ - switch (ia_rcode) + switch (ia_rcode) { case IA_BADAUTH: printf("Bad authorization, access denied.\n"); @@ -407,7 +407,7 @@ cray_setup (uid_t uid, char *username, const char *command) */ ia_failure(&fsent, &fret); - exit(1); + exit(1); } ia_mlsrcode = IA_NORMAL; @@ -441,7 +441,7 @@ cray_setup (uid_t uid, char *username, const char *command) * There is no return because ia_failure exits. */ ia_failure(&fsent,&fret); - exit(1); + exit(1); } /* Provide login status information */ @@ -526,7 +526,7 @@ cray_setup (uid_t uid, char *username, const char *command) break; default: valid_acct = nam2acid(acct_name); - if (valid_acct == -1) + if (valid_acct == -1) printf( "Account id not found for" " account name \"%s\"\n\n", @@ -576,9 +576,9 @@ cray_setup (uid_t uid, char *username, const char *command) exit(1); } - /* - * Now set shares, quotas, limits, including CPU time for the - * (interactive) job and process, and set up permissions + /* + * Now set shares, quotas, limits, including CPU time for the + * (interactive) job and process, and set up permissions * (for chown etc), etc. */ if (setshares(ue.ue_uid, valid_acct, printf, 0, 0)) { @@ -656,7 +656,7 @@ drop_cray_privs() usrv.sv_minlvl = sysv.sy_minlvl; usrv.sv_actlvl = sysv.sy_minlvl; usrv.sv_maxlvl = sysv.sy_maxlvl; - } + } usrv.sv_actcmp = 0; usrv.sv_valcmp = sysv.sy_valcmp; diff --git a/openbsd-compat/bsd-cray.h b/openbsd-compat/bsd-cray.h index 774eceb5..bc2e2213 100644 --- a/openbsd-compat/bsd-cray.h +++ b/openbsd-compat/bsd-cray.h @@ -2,7 +2,7 @@ /* * Copyright (c) 2002, Cray Inc. (Wendy Palm ) - * Significant portions provided by + * Significant portions provided by * Wayne Schroeder, SDSC * William Jones, UTexas * diff --git a/openbsd-compat/bsd-cygwin_util.c b/openbsd-compat/bsd-cygwin_util.c index 8672ccf7..398a5f61 100644 --- a/openbsd-compat/bsd-cygwin_util.c +++ b/openbsd-compat/bsd-cygwin_util.c @@ -39,12 +39,12 @@ #include "xmalloc.h" -int +int binary_open(const char *filename, int flags, ...) { va_list ap; mode_t mode; - + va_start(ap, flags); mode = va_arg(ap, mode_t); va_end(ap); diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c index 18bf62dd..f1173163 100644 --- a/openbsd-compat/bsd-misc.c +++ b/openbsd-compat/bsd-misc.c @@ -70,7 +70,7 @@ int setlogin(const char *name) #endif /* !HAVE_SETLOGIN */ #ifndef HAVE_INNETGR -int innetgr(const char *netgroup, const char *host, +int innetgr(const char *netgroup, const char *host, const char *user, const char *domain) { return (0); @@ -96,7 +96,7 @@ const char *strerror(int e) { extern int sys_nerr; extern char *sys_errlist[]; - + if ((e >= 0) && (e < sys_nerr)) return (sys_errlist[e]); @@ -111,10 +111,10 @@ int utimes(char *filename, struct timeval *tvp) ub.actime = tvp[0].tv_sec; ub.modtime = tvp[1].tv_sec; - + return (utime(filename, &ub)); } -#endif +#endif #ifndef HAVE_TRUNCATE int truncate(const char *path, off_t length) @@ -149,9 +149,9 @@ int nanosleep(const struct timespec *req, struct timespec *rem) saverrno = errno; (void) gettimeofday (&tstop, NULL); errno = saverrno; - tremain.tv_sec = time2wait.tv_sec - + tremain.tv_sec = time2wait.tv_sec - (tstop.tv_sec - tstart.tv_sec); - tremain.tv_usec = time2wait.tv_usec - + tremain.tv_usec = time2wait.tv_usec - (tstop.tv_usec - tstart.tv_usec); tremain.tv_sec += tremain.tv_usec / 1000000L; tremain.tv_usec %= 1000000L; diff --git a/openbsd-compat/bsd-misc.h b/openbsd-compat/bsd-misc.h index 27abb2e9..6084de8d 100644 --- a/openbsd-compat/bsd-misc.h +++ b/openbsd-compat/bsd-misc.h @@ -49,7 +49,7 @@ int setegid(uid_t); #if !defined(HAVE_STRERROR) && defined(HAVE_SYS_ERRLIST) && defined(HAVE_SYS_NERR) const char *strerror(int); -#endif +#endif #if !defined(HAVE_SETLINEBUF) #define setlinebuf(a) (setvbuf((a), NULL, _IOLBF, 0)) diff --git a/openbsd-compat/bsd-nextstep.c b/openbsd-compat/bsd-nextstep.c index 8195af88..d52443f6 100644 --- a/openbsd-compat/bsd-nextstep.c +++ b/openbsd-compat/bsd-nextstep.c @@ -29,7 +29,7 @@ #include #include "bsd-nextstep.h" -pid_t +pid_t posix_wait(int *status) { union wait statusp; diff --git a/openbsd-compat/bsd-openpty.c b/openbsd-compat/bsd-openpty.c index 9777eb55..b2823586 100644 --- a/openbsd-compat/bsd-openpty.c +++ b/openbsd-compat/bsd-openpty.c @@ -122,7 +122,7 @@ openpty(int *amaster, int *aslave, char *name, struct termios *termp, } /* - * Try to push the appropriate streams modules, as described + * Try to push the appropriate streams modules, as described * in Solaris pts(7). */ ioctl(*aslave, I_PUSH, "ptem"); @@ -184,7 +184,7 @@ openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct termios tio; for (i = 0; i < num_ptys; i++) { - snprintf(ptbuf, sizeof(ptbuf), "/dev/pty%c%c", + snprintf(ptbuf, sizeof(ptbuf), "/dev/pty%c%c", ptymajors[i / num_minors], ptyminors[i % num_minors]); snprintf(ttbuf, sizeof(ttbuf), "/dev/tty%c%c", ptymajors[i / num_minors], ptyminors[i % num_minors]); diff --git a/openbsd-compat/bsd-waitpid.c b/openbsd-compat/bsd-waitpid.c index 40e6ffaa..c21fbe91 100644 --- a/openbsd-compat/bsd-waitpid.c +++ b/openbsd-compat/bsd-waitpid.c @@ -24,7 +24,7 @@ #include "includes.h" -#ifndef HAVE_WAITPID +#ifndef HAVE_WAITPID #include #include #include "bsd-waitpid.h" @@ -45,9 +45,9 @@ waitpid(int pid, int *stat_loc, int options) } wait_pid = wait4(pid, &statusp, options, NULL); if (stat_loc) - *stat_loc = (int) statusp.w_status; + *stat_loc = (int) statusp.w_status; - return (wait_pid); + return (wait_pid); } #endif /* !HAVE_WAITPID */ diff --git a/openbsd-compat/fake-rfc2553.c b/openbsd-compat/fake-rfc2553.c index 096d9e09..55c95625 100644 --- a/openbsd-compat/fake-rfc2553.c +++ b/openbsd-compat/fake-rfc2553.c @@ -1,7 +1,7 @@ /* * Copyright (C) 2000-2003 Damien Miller. All rights reserved. * Copyright (C) 1999 WIDE Project. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,7 +13,7 @@ * 3. Neither the name of the project nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -44,7 +44,7 @@ #include #ifndef HAVE_GETNAMEINFO -int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, +int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags) { struct sockaddr_in *sin = (struct sockaddr_in *)sa; @@ -67,11 +67,11 @@ int getnameinfo(const struct sockaddr *sa, size_t salen, char *host, else return (0); } else { - hp = gethostbyaddr((char *)&sin->sin_addr, + hp = gethostbyaddr((char *)&sin->sin_addr, sizeof(struct in_addr), AF_INET); if (hp == NULL) return (EAI_NODATA); - + if (strlcpy(host, hp->h_name, hostlen) >= hostlen) return (EAI_MEMORY); else @@ -102,7 +102,7 @@ gai_strerror(int err) default: return ("unknown/invalid error."); } -} +} #endif /* !HAVE_GAI_STRERROR */ #ifndef HAVE_FREEADDRINFO @@ -128,9 +128,9 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints) ai = malloc(sizeof(*ai) + sizeof(struct sockaddr_in)); if (ai == NULL) return (NULL); - + memset(ai, '\0', sizeof(*ai) + sizeof(struct sockaddr_in)); - + ai->ai_addr = (struct sockaddr *)(ai + 1); /* XXX -- ssh doesn't use sa_len */ ai->ai_addrlen = sizeof(struct sockaddr_in); @@ -138,7 +138,7 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints) ((struct sockaddr_in *)(ai)->ai_addr)->sin_port = port; ((struct sockaddr_in *)(ai)->ai_addr)->sin_addr.s_addr = addr; - + /* XXX: the following is not generally correct, but does what we want */ if (hints->ai_socktype) ai->ai_socktype = hints->ai_socktype; @@ -152,7 +152,7 @@ addrinfo *malloc_ai(int port, u_long addr, const struct addrinfo *hints) } int -getaddrinfo(const char *hostname, const char *servname, +getaddrinfo(const char *hostname, const char *servname, const struct addrinfo *hints, struct addrinfo **res) { struct hostent *hp; @@ -183,29 +183,29 @@ getaddrinfo(const char *hostname, const char *servname, if (hostname && inet_aton(hostname, &in) != 0) addr = in.s_addr; *res = malloc_ai(port, addr, hints); - if (*res == NULL) + if (*res == NULL) return (EAI_MEMORY); return (0); } - + if (!hostname) { *res = malloc_ai(port, htonl(0x7f000001), hints); - if (*res == NULL) + if (*res == NULL) return (EAI_MEMORY); return (0); } - + if (inet_aton(hostname, &in)) { *res = malloc_ai(port, in.s_addr, hints); - if (*res == NULL) + if (*res == NULL) return (EAI_MEMORY); return (0); } - + /* Don't try DNS if AI_NUMERICHOST is set */ if (hints && hints->ai_flags & AI_NUMERICHOST) return (EAI_NONAME); - + hp = gethostbyname(hostname); if (hp && hp->h_name && hp->h_name[0] && hp->h_addr_list[0]) { struct addrinfo *cur, *prev; @@ -229,7 +229,7 @@ getaddrinfo(const char *hostname, const char *servname, } return (0); } - + return (EAI_NODATA); } #endif /* !HAVE_GETADDRINFO */ diff --git a/openbsd-compat/fake-rfc2553.h b/openbsd-compat/fake-rfc2553.h index 6426f7bf..bd520d4b 100644 --- a/openbsd-compat/fake-rfc2553.h +++ b/openbsd-compat/fake-rfc2553.h @@ -3,7 +3,7 @@ /* * Copyright (C) 2000-2003 Damien Miller. All rights reserved. * Copyright (C) 1999 WIDE Project. All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -15,7 +15,7 @@ * 3. Neither the name of the project nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -47,7 +47,7 @@ #endif /* - * First, socket and INET6 related definitions + * First, socket and INET6 related definitions */ #ifndef HAVE_STRUCT_SOCKADDR_STORAGE # define _SS_MAXSIZE 128 /* Implementation specific max size */ @@ -154,7 +154,7 @@ struct addrinfo { # undef getaddrinfo #endif #define getaddrinfo(a,b,c,d) (ssh_getaddrinfo(a,b,c,d)) -int getaddrinfo(const char *, const char *, +int getaddrinfo(const char *, const char *, const struct addrinfo *, struct addrinfo **); #endif /* !HAVE_GETADDRINFO */ @@ -170,7 +170,7 @@ void freeaddrinfo(struct addrinfo *); #ifndef HAVE_GETNAMEINFO #define getnameinfo(a,b,c,d,e,f,g) (ssh_getnameinfo(a,b,c,d,e,f,g)) -int getnameinfo(const struct sockaddr *, size_t, char *, size_t, +int getnameinfo(const struct sockaddr *, size_t, char *, size_t, char *, size_t, int); #endif /* !HAVE_GETNAMEINFO */ diff --git a/openbsd-compat/openbsd-compat.h b/openbsd-compat/openbsd-compat.h index 37d2064c..4e7629a9 100644 --- a/openbsd-compat/openbsd-compat.h +++ b/openbsd-compat/openbsd-compat.h @@ -64,7 +64,7 @@ void closefrom(int); #ifndef HAVE_GETCWD char *getcwd(char *pt, size_t size); -#endif +#endif #ifndef HAVE_REALLOCARRAY void *reallocarray(void *, size_t, size_t); @@ -94,7 +94,7 @@ size_t strlcpy(char *dst, const char *src, size_t siz); #ifndef HAVE_STRLCAT /* #include XXX Still needed? */ size_t strlcat(char *dst, const char *src, size_t siz); -#endif +#endif #ifndef HAVE_SETENV int setenv(register const char *name, register const char *value, int rewrite); @@ -113,11 +113,11 @@ char *strptime(const char *buf, const char *fmt, struct tm *tm); int mkstemps(char *path, int slen); int mkstemp(char *path); char *mkdtemp(char *path); -#endif +#endif #ifndef HAVE_DAEMON int daemon(int nochdir, int noclose); -#endif +#endif #ifndef HAVE_DIRNAME char *dirname(const char *path); @@ -142,7 +142,7 @@ const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); #ifndef HAVE_INET_ATON int inet_aton(const char *cp, struct in_addr *addr); -#endif +#endif #ifndef HAVE_STRSEP char *strsep(char **stringp, const char *delim); @@ -199,7 +199,7 @@ u_int32_t arc4random_uniform(u_int32_t); #ifndef HAVE_ASPRINTF int asprintf(char **, const char *, ...); -#endif +#endif #ifndef HAVE_OPENPTY # include /* for struct winsize */ @@ -210,7 +210,7 @@ int openpty(int *, int *, char *, struct termios *, struct winsize *); #ifndef HAVE_SNPRINTF int snprintf(char *, size_t, SNPRINTF_CONST char *, ...); -#endif +#endif #ifndef HAVE_STRTOLL long long strtoll(const char *, char **, int); diff --git a/openbsd-compat/openssl-compat.c b/openbsd-compat/openssl-compat.c index 63a660c7..8c6b116f 100644 --- a/openbsd-compat/openssl-compat.c +++ b/openbsd-compat/openssl-compat.c @@ -55,7 +55,7 @@ ssh_compatible_openssl(long headerver, long libver) mask = 0xfffff00fL; /* major,minor,fix,status */ return (headerver & mask) == (libver & mask); } - + /* * For versions >= 1.0.0, major,minor,status must match and library * fix version must be equal to or newer than the header. diff --git a/openbsd-compat/port-aix.c b/openbsd-compat/port-aix.c index 8da367d4..c2970c4d 100644 --- a/openbsd-compat/port-aix.c +++ b/openbsd-compat/port-aix.c @@ -179,7 +179,7 @@ sys_auth_passwd(Authctxt *ctxt, const char *password) do { result = authenticate((char *)name, (char *)password, &reenter, &authmsg); - aix_remove_embedded_newlines(authmsg); + aix_remove_embedded_newlines(authmsg); debug3("AIX/authenticate result %d, authmsg %.100s", result, authmsg); } while (reenter); @@ -337,11 +337,11 @@ aix_setauthdb(const char *user) debug3("%s: Could not open userdb to read", __func__); return; } - + if (getuserattr((char *)user, S_REGISTRY, ®istry, SEC_CHAR) == 0) { if (setauthdb(registry, old_registry) == 0) debug3("AIX/setauthdb set registry '%s'", registry); - else + else debug3("AIX/setauthdb set registry '%s' failed: %s", registry, strerror(errno)); } else diff --git a/openbsd-compat/port-tun.c b/openbsd-compat/port-tun.c index 49e7b4d9..a444adf1 100644 --- a/openbsd-compat/port-tun.c +++ b/openbsd-compat/port-tun.c @@ -68,7 +68,7 @@ sys_tun_open(int tun, int mode) return (-1); } - bzero(&ifr, sizeof(ifr)); + bzero(&ifr, sizeof(ifr)); if (mode == SSH_TUNMODE_ETHERNET) { ifr.ifr_flags = IFF_TAP; diff --git a/openbsd-compat/setproctitle.c b/openbsd-compat/setproctitle.c index 9f7ca14c..2b15c6e0 100644 --- a/openbsd-compat/setproctitle.c +++ b/openbsd-compat/setproctitle.c @@ -76,7 +76,7 @@ compat_init_setproctitle(int argc, char *argv[]) /* * NB: This assumes that argv has already been copied out of the - * way. This is true for sshd, but may not be true for other + * way. This is true for sshd, but may not be true for other * programs. Beware. */ @@ -92,7 +92,7 @@ compat_init_setproctitle(int argc, char *argv[]) } /* - * Find the last argv string or environment variable within + * Find the last argv string or environment variable within * our process memory area. */ for (i = 0; i < argc; i++) { @@ -108,8 +108,8 @@ compat_init_setproctitle(int argc, char *argv[]) argv_start = argv[0]; argv_env_len = lastargv - argv[0] - 1; - /* - * Copy environment + /* + * Copy environment * XXX - will truncate env on strdup fail */ for (i = 0; envp[i] != NULL; i++) @@ -156,7 +156,7 @@ setproctitle(const char *fmt, ...) pst.pst_command = ptitle; pstat(PSTAT_SETCMD, pst, strlen(ptitle), 0, 0); #elif SPT_TYPE == SPT_REUSEARGV -/* debug("setproctitle: copy \"%s\" into len %d", +/* debug("setproctitle: copy \"%s\" into len %d", buf, argv_env_len); */ len = strlcpy(argv_start, ptitle, argv_env_len); for(; len < argv_env_len; len++) diff --git a/openbsd-compat/xcrypt.c b/openbsd-compat/xcrypt.c index cf6a9b99..532154f7 100644 --- a/openbsd-compat/xcrypt.c +++ b/openbsd-compat/xcrypt.c @@ -42,7 +42,7 @@ # include # include # include -# endif +# endif # if defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW) # include @@ -121,7 +121,7 @@ xcrypt(const char *password, const char *salt) crypted = bigcrypt(password, salt); # else crypted = crypt(password, salt); -# endif +# endif return crypted; } diff --git a/openbsd-compat/xmmap.c b/openbsd-compat/xmmap.c index 04c6babc..fee676e4 100644 --- a/openbsd-compat/xmmap.c +++ b/openbsd-compat/xmmap.c @@ -1,7 +1,7 @@ /* * Copyright (c) 2002 Tim Rice. All rights reserved. * MAP_FAILED code by Solar Designer. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: -- cgit v1.2.3