James Moger
2014-03-05 1626c6e7d590a238d02dd8b64fc18e6eea6afbee
src/main/java/com/gitblit/git/GitblitReceivePack.java
@@ -50,6 +50,7 @@
import com.gitblit.manager.IGitblit;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.tickets.BranchTicketService;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.ClientLogger;
import com.gitblit.utils.CommitCache;
@@ -236,6 +237,16 @@
            default:
               break;
            }
         } else if (ref.equals(BranchTicketService.BRANCH)) {
            // ensure pushing user is an administrator OR an owner
            // i.e. prevent ticket tampering
            boolean permitted = user.canAdmin() || repository.isOwner(user.username);
            if (!permitted) {
               sendRejection(cmd, "{0} is not permitted to push to {1}", user.username, ref);
            }
         } else if (ref.startsWith(Constants.R_FOR)) {
            // prevent accidental push to refs/for
            sendRejection(cmd, "{0} is not configured to receive patchsets", repository.name);
         }
      }
@@ -416,7 +427,9 @@
         text = MessageFormat.format(msg, objects);
         super.sendMessage(prefix + text);
      }
      LOGGER.info(text + " (" + user.username + ")");
      if (!StringUtils.isEmpty(msg)) {
         LOGGER.info(text + " (" + user.username + ")");
      }
   }
   protected void sendError(String msg, Object... objects) {
@@ -428,7 +441,9 @@
         text = MessageFormat.format(msg, objects);
         super.sendError(text);
      }
      LOGGER.error(text + " (" + user.username + ")");
      if (!StringUtils.isEmpty(msg)) {
         LOGGER.error(text + " (" + user.username + ")");
      }
   }
   /**